(57)【要約】【課題】プログラマブルデバイス、マイクロプロセッサ等の半導体集積回路装置において、技術の漏洩防止をすることができる技術を提供する。【解決手段】論理回路を構成する構築データの再書き込みが可能なＦＰＧＡ１００において、暗号解読鍵が保存される解読鍵保存メモリ１０１と、暗号化された構築データを受信するシリアル・インターフェイス（Ｉ／Ｆ）１０４と、解読鍵保存メモリ１０１に保存された暗号解読鍵に基づいて、シリアル・インターフェイス１０４からの暗号化された構築データを解読する解読変換部１０２と、解読変換部１０２で解読された構築データが書き込まれる構築データ書き込み領域１０３とを備えることにより、データの秘匿性が確保できる。【選択図】図２
2007193385.tif 000002
【特許請求の範囲】
【請求項１】
論理回路を構成する構築データの再書き込みが可能な半導体集積回路装置であって、
暗号解読鍵が保存される第１の記憶部と、
暗号化された前記構築データを受信する受信部と、
前記第１の記憶部に保存された前記暗号解読鍵に基づいて、前記受信部からの暗号化された前記構築データを解読する解読変換部と、
前記解読変換部で解読された前記構築データが書き込まれる第２の記憶部とを有することを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記解読変換部は、前記第１の記憶部に保存された前記暗号解読鍵とＩＤコードとに基づいて、前記受信部からの暗号化された前記構築データを解読するものであることを特徴とする半導体集積回路装置。
【請求項３】
請求項１又は２記載の半導体集積回路装置において、
前記解読変換部で解読された前記構築データを判定し、その判定結果が不適切な場合にエラー情報を出力する判定部を有することを特徴とする半導体集積回路装置。
【請求項４】
請求項１〜３のいずれか１項に記載の半導体集積回路装置において、
前記解読変換部は、前記第１の記憶部に保存された前記暗号解読鍵に基づいて、前記第２の記憶部内の解読された前記構築データを、暗号化された前記構築データに逆変換する機能を有することを特徴とする半導体集積回路装置。
【請求項５】
ＣＰＵを備え、前記ＣＰＵの動作を制御するプログラムの再書み込みが可能な半導体集積回路装置であって、
暗号解読鍵が保存される第１の記憶部と、
暗号化された前記プログラムを受信する受信部と、
前記第１の記憶部に保存された前記暗号解読鍵に基づいて、前記受信部からの暗号化された前記プログラムを解読する解読変換部と、
前記解読変換部で解読された前記プログラムが書き込まれる第２の記憶部とを有することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関し、特に、論理回路を構成する構築データの再書き込みが可能なプログラマブルデバイス、及びＣＰＵの動作を制御するプログラムの再書き込みが可能なマイクロプロセッサ等に適用して有効な技術に関する。
【背景技術】
【０００２】
本発明者が検討した技術として、例えば、プログラマブルデバイス等に関しては、以下のような技術が考えられる。
【０００３】
近年、マイクロプロセッサ組み込み電子機器においては、プログラム規模の増大や製品開発期間の短縮、機器仕様の改善、制御データの調整のため、開発から試作、生産立ち上げ、量産の各工程においてプログラムの書き換えや調整が容易なフィールドプログラマビリティが求められている。それに対応するために、ＣＰＵとフラッシュメモリをワンチップ化したマイクロプロセッサが開発されてきている。
【０００４】
一方、顧客においては、実際にシステムを構築する際、フラッシュメモリによるソフトの変更だけでは対応できない各信号の細かなチューニングやカスタム化などのために、顧客システム基板上にフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）やプログラマブル・ロジック・デバイス（ＰＬＤ）などを載せ、基板上でＬＳＩと接続して対応している。ＦＰＧＡやＰＬＤは、高位記述言語や論理回路図をもとにして、ユーザが極めて短時間にＬＳＩ上に論理回路を組むことができるデバイスであり、利便性が高い。
【０００５】
例えば、ＦＰＧＡにおいては、揮発性メモリに対して、毎回電源投入時に対象である論理回路の構築データを転送して機能を書き込むことが行われる。ＰＬＤにおいては、不揮発性メモリに書き込んでおいた構築データにて機能が保持される。また、事前プログラミング（データ書き込み）段階において、読み出し禁止指定機能を有するものも存在するが、いずれの場合も書き込み更新時の通信データには、書き込み対象であるファイル、オブジェクトデータそのものがやりとりされる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、前記のようなプログラマブルデバイス等の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００７】
例えば、ＦＰＧＡやＰＬＤの論理回路を構成する構築データの再書き込みの際、データ通信は、対象ＬＳＩの端子に対して外部からデータを供給するため、その通信データを解析することで容易にリバースエンジニアリング、複製が可能で有り、製品開発側技術の保護に関して不十分である。
【０００８】
そこで、本発明の目的は、プログラマブルデバイス、マイクロプロセッサ等のＬＳＩにおいて、技術の漏洩防止をすることができる半導体集積回路装置を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
すなわち、本発明による半導体集積回路装置は、論理回路を構成する構築データの再書き込みが可能なものであり、暗号解読鍵が保存される第１の記憶部と、暗号化された前記構築データを受信する受信部と、前記第１の記憶部に保存された前記暗号解読鍵に基づいて、前記受信部からの暗号化された前記構築データを解読する解読変換部と、前記解読変換部で解読された前記構築データが書き込まれる第２の記憶部とを備えたものである。
【００１２】
また、本発明による半導体集積回路装置は、ＣＰＵを備え、前記ＣＰＵの動作を制御するプログラムの再書み込みが可能なものであり、暗号解読鍵が保存される第１の記憶部と、暗号化された前記プログラムを受信する受信部と、前記第１の記憶部に保存された前記暗号解読鍵に基づいて、前記受信部からの暗号化された前記プログラムを解読する解読変換部と、前記解読変換部で解読された前記プログラムが書き込まれる第２の記憶部とを備えたものである。
【発明の効果】
【００１３】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００１４】
実現回路、方式、技術の漏洩防止、ならびに複製防止のための秘匿性を確保できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１６】
（実施の形態１）
図１は本発明の実施の形態１による半導体集積回路装置の概略構成を示すブロック図である。
【００１７】
まず、図１により、本実施の形態１による半導体集積回路装置の構成の一例を説明する。本実施の形態１の半導体集積回路装置は、例えば、暗号解読機能を持つＦＰＧＡ１００とされ、解読鍵保存メモリ（第１の記憶部）１０１、解読変換部１０２、構築データ書き込み領域（第２の記憶部）１０３などから構成されている。
【００１８】
ＦＰＧＡ１００は、論理回路を構成する構築データの再書き込みが可能な半導体集積回路装置である。
【００１９】
解読鍵保存メモリ１０１は、暗号解読に必要な暗号解読鍵が保存される不揮発性メモリである。例えば、解読鍵保存メモリ１０１への暗号解読鍵の書き込みは本ＬＳＩを利用したシステムの開発メーカまたはＬＳＩメーカ側で行う。解読鍵保存メモリ１０１は、特に制限されないが、例えば、ＥＥＰＲＯＭやフラッシュメモリ、もしくは１回限りのＥＰＲＯＭ等で構成することができる。解読鍵保存メモリ１０１は、読み出し禁止であることが望ましい。
【００２０】
解読変換部１０２は、解読鍵保存メモリ１０１に保存された暗号解読鍵に基づいて、暗号化された構築データを解読するものである。リコンフィグデータ（更新データ）読み込み時に、パーソナルコンピュータ等の書き込み用装置２００から送信された暗号化データを受信し、解読変換部１０２で暗号化データが解読（変換）される。
【００２１】
構築データ書き込み領域１０３は、論理回路を構成する構築データが保存されるフラッシュメモリやＲＡＭである。構築データ書き込み領域１０３には、解読変換部１０２で解読された構築データが書き込まれる。
【００２２】
図２に、本実施の形態１によるＦＰＧＡ１００の具体例を示す。図２は、暗号化方式として、解読鍵数値分減算するだけの暗号方式を適用した場合を示す。図２では、図１の構成以外に、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐの略）等のシリアル・インターフェイス（Ｉ／Ｆ）１０４とシリアル／パラレル変換回路１０５が示されている。
【００２３】
リコンフィグデータ読み込み時に、書き込み用装置２００から送信された暗号化された構築データを、シリアルＩ／Ｆ１０４で受信し、シリアル／パラレル変換回路１０５でシリアルデータからパラレルデータに変換し、解読変換部１０２に入力する。
【００２４】
解読変換部１０２は、例えば、解読回路として加算回路（Ｃ＝Ａ＋Ｂ）を用いる。シリアルＩ／Ｆ１０４とシリアル／パラレル変換回路１０５を通して受信した暗号化された構築データを、解読変換部１０２の入力Ｂに入力し、解読鍵保存メモリ１０１に保存された暗号解読鍵を入力Ａに入力し、加算演算（解読）を行い、出力Ｃから解読された構築データを出力する。ここでは、解読変換部１０２の解読回路の一例として、加算回路を示したが、減算回路や乗算回路などの他の回路を用いてもよい。
【００２５】
図３に、ＦＰＧＡ１００に書き込まれる暗号化データの生成例を示す。図３に示す流れ図は、鍵コードを指定した場合のデータ生成におけるコンパイル時の暗号化処理を表している。
【００２６】
図３に示すように、書き込みデータ作成時に、ソースファイル３０１に対して暗号鍵３０２（本例では、解読鍵と等しい）を与えてコンパイル処理３０３を行い、暗号化されたデータ（暗号化済みデータ３０４）を作成する。通常、開発ツール等により、コンパイルして書き込み用データを作成する。
【００２７】
本実施の形態１に示す例は、暗号鍵が解読鍵に等しい場合であるが、特に制限するものではなく、コンパイル時に解読鍵を生成し直すか、または毎回自動生成してもよい。コンパイル時に解読鍵を生成した場合には、書き込み用暗号化済みデータ３０４の他にアウトプットとして解読鍵も出力されることになる。
【００２８】
図３の手順で書き込み用データが生成された場合は、予め、図１の解読鍵保存メモリ１０１に解読鍵データを書き込んで製品化する。以降、暗号化済みデータをシステム起動時に読み込ませることで機能させることができる。同様にリコンフィグレーションを行う場合は、更新する暗号化済みファイルを読み込ませて起動することで対応可能となる。
【００２９】
コンパイル時に解読鍵も含め自動生成する場合は、コンパイル処理の結果、暗号化済みデータのほかに解読鍵データを別途出力することで同様に適用実現可能となる。
【００３０】
ここでは、特に、暗号化方式、解読方式を制限するものではなく、暗号化されたデータの利用手段として、事前に対象デバイスまたはシステムに解読鍵を書き込んでおくことで秘匿性を確保することが可能となる。
【００３１】
製品開発者側は、作成された暗号解読鍵データを予め対象デバイスの解読鍵保存メモリ１０１に書き込んでおいたものを使用して製品化する。
【００３２】
市場へのバージョンアップ等で公開するリコンフィグデータ（更新データ）は、コンパイル後の暗号化済みデータのみをネット公開等で利用できるようにする。
【００３３】
利用ユーザ側では、リコンフィグ（設定の更新）時の書き換えに上記暗号化済みデータのみを用い、書き込み更新時に、対象ＬＳＩ内部の出荷前に書き込まれていた解読鍵により、自動的にその利用が可能となる。
【００３４】
プログラマブルデバイス（ＦＰＧＡ１００）は、この時点で内部の解読鍵により特に手段は制限されないが変換ロジックにて逐次データ変換（デコード）を行いながら書き込みを進める。
【００３５】
本実施の形態１は、特に適用する暗号解読方式を制限するものではなく、任意であり、その暗号方式にあった解読回路に置き換えて実現適用してもよい。
【００３６】
したがって、本実施の形態１の半導体集積回路装置によれば、対象ＬＳＩ（ＦＰＧＡ１００）内部に事前に書き込まれた解読鍵によってのみ、暗号データを解読でき、リコンフィグデータ書き込み時には暗号化済みデータをもって通信するため、データの秘匿性が確保できる。すなわち、実現回路、方式、技術の漏洩防止、ならびに複製防止のための秘匿性を確保できる。
【００３７】
通常のリコンフィギャラブルなシステムは、一般にネット上からファイルをダウンロードしたものをＵＳＢ等のＩ／Ｆを介して転送してデータの授受を行う。本実施の形態１の方式により、その授受対象データは暗号化されたまま転送され、その解読はターゲットデバイスの内部において初めて実行される。そのため、信号経路の途中において電気的な信号観測によるデータの横取り、ネット上のストリーム解析によるデータの横取りを防ぐことができる。また、ネットワーク上からダウンロード等を実施して入手したファイルは暗号化されたデータであることから、内容解析は困難となり、秘匿性確保が可能となる。
【００３８】
また、事前に暗号解読鍵を書き込んでおくことから、出荷段階で同一の暗号鍵の書き込みを実施したデバイスでのみ利用限定が出来るため、暗号化されたファイルのまま、全体を模倣したシステムにも効果がある。
【００３９】
（実施の形態２）
図４は、本発明の実施の形態２による半導体集積回路装置の概略構成を示すブロック図である。
【００４０】
本実施の形態２の半導体集積回路装置は、前記実施の形態１で説明した図１のＦＰＧＡ１００に、ＩＤコード４０１と、鍵データ加工部４０２とを追加したものである。
【００４１】
本実施の形態２では、同一コア（ＣＰＵ部）を利用したマイクロプロセッサのファミリー展開品等においてその内容を識別可能な情報もしくはシリアル情報などを、ＩＤコード４０１としてチップ（ＦＰＧＡ１００）内部に持たせておく。
【００４２】
鍵データ加工部４０２に、解読鍵保存メモリ１０１の情報にＩＤコード４０１の情報をもとに鍵データを加工する論理を持たせておく。一例として、８ビットのＩＤコード４０１があった場合、上位４ビットを利用して、解読鍵保存メモリ１０１の数値をマスク（０ＡＮＤ固定）または演算（例えば、追加加算）等を行う。
【００４３】
鍵データ加工部４０２の処理が加わることで、対応したＩＤコード４０１を持つＬＳＩ上でのみ、後から書き込むデータを正しく利用出来なくすることが可能である。
【００４４】
したがって、本実施の形態２の半導体集積回路装置によれば、前記実施の形態１の効果が得られるとともに、開発メーカ側は、事前に持たせたユニークなＩＤコードの情報単位で利用制限をかけたり、分類したりすることが可能となり、誤った組み合わせのファイルを書き込むことで起こる誤動作を防げる。また、ＬＳＩが更新されるたびに、同一ファミリーの製品でも暗号情報が更新される結果となり、より秘匿性を向上させることが出来る。
【００４５】
（実施の形態３）
図５は、本発明の実施の形態３による半導体集積回路装置の概略構成を示すブロック図である。
【００４６】
本実施の形態３の半導体集積回路装置は、外部情報を解読鍵の一部に適用追加した例であり、図４のＦＰＧＡ１００をもとに外部入力可能なＩＯ５０１を追加したものである。
【００４７】
ＰＣ（パーソナルコンピュータ）等のＬＡＮモジュールで利用されているＭＡＣアドレス情報のような利用環境ごとに異なるデータを入力可能なＩＯ５０１の端子を追加し、かつ、そのデータをＩＤコード４０１の情報として利用させることにより、本実施の形態による半導体集積回路装置を適用したシステムの環境条件を含めた情報単位で暗号の管理が可能となる。ＩＤコードとして入力された後の処理は、前記図４の説明と同様の仕組みで管理されるものとする。
【００４８】
したがって、本実施の形態３の半導体集積回路装置によれば、前記実施の形態１及び２の効果が得られるとともに、さらに利用ユーザ単位または環境ごとの使用制限およびデータ保護が可能となる。そして、リバースエンジニアリングの対策として製造メーカ側の管理をより厳密に対応および保護を実現できる。
【００４９】
（実施の形態４）
図６は、本発明の実施の形態４による半導体集積回路装置の概略構成を示すブロック図である。
【００５０】
本実施の形態４の半導体集積回路装置は、エラー通知機能を追加した例であり、図４のＦＰＧＡ１００をもとに、適合比較判定部６０１を追加したものである。
【００５１】
本実施の形態４は、ＰＣ等の書き込み用装置２００から送られてくる書き込み対象ファイルのヘッダ情報を適合比較判定部６０１のＡ入力に、ＩＤコード４０１の情報を適合比較判定部６０１のＢ入力に接続してあり、ＡとＢの比較演算論理の結果内容が異なる場合は非適合ファイルとしてＥＲＲ（エラー）通知を送信するものである。
【００５２】
本実施の形態４により、誤った組み合わせの暗号データまたは誤った対応ファイルを書き込もうとした場合に、書き込みユーザ側へ知らせることが可能となる。
【００５３】
前記実施の形態１〜３において、通信のやりとりはあくまでも暗号化されたデータでのみ扱われることから、暗号の組み合わせまたは非適合ファイルを書き込もうとした場合、その判断が困難である。そのため、本実施の形態４では、対象ファイルミスであることを容易に把握できるようにすることを目的として、エラー情報の通知機能を追加実現したものである。
【００５４】
なお、通知情報は、図６では、比較結果の不一致のみで通知する方式として示したが、通知条件およびその内容を特に制限するものではなく、純粋に解読過程におけるノイズ等によるエラーなど様々な組み合わせで実施してもよい。
【００５５】
（実施の形態５）
図７は、本発明の実施の形態５による半導体集積回路装置の概略構成を示すブロック図である。
【００５６】
本実施の形態５の半導体集積回路装置は、暗号解読機能の逆変換手段を持つＦＰＧＡ１００であり、前記実施の形態１〜４のＦＰＧＡ１００において、暗号化のままベリファイを可能としたものである。
【００５７】
図７のＦＰＧＡ１００は、図１の解読変換部１０２がデータ読み出し時には書き込み時とは逆の動作（本例では減算論理にて機能する）も行えるようにしたものである。データの読み出し時と書き込み時の信号方向の違いにより、減算処理もしくは加算処理を切り替えてデータ伝送することにより実現できる。
【００５８】
暗号方式が加算／減算によることに限定されるものではなく、より複雑な論理または処理に置き換えることで暗号強度の強化が可能である。
【００５９】
読み出し結果は、もとの暗号化済みデータとして読み出せることにより、一般ユーザ利用時には、その内容を保護（秘匿性確保）したまま、リコンフィグレーションの完了結果として正しく書き込めたことの確認（ベリファイ）が行える。
【００６０】
（実施の形態６）
図８は、本発明の実施の形態６による半導体集積回路装置の概略構成を示すブロック図である。
【００６１】
本実施の形態６の半導体集積回路装置は、例えば、暗号解読機能を持つマイクロプロセッサ８００とされ、解読鍵保存メモリ（第１の記憶部）１０１、解読変換部１０２、シリアルＩ／Ｆ１０４、ＣＰＵ８０１、ＩＯ８０２、プログラム格納用メモリ（第２の記憶部）８０３、周辺機能等８０４、データバス８０５、アドレスバス８０６、暗号バス８０７などから構成されている。
【００６２】
本実施の形態６は、マイクロプロセッサのプログラム書き込みに本発明を適用して、マイクロプロセッサと外部との実行プログラムの受け渡しに応用した例である。
【００６３】
昨今のマイクロプロセッサは、プログラム開発メーカもしくはエンドユーザ側でプログラムの書き込み及び更新が可能なように、マイクロプロセッサ内部に不揮発性のフラッシュメモリを内蔵している。ここに、目的のプログラムを書き込んで使用する方式が主流である。
【００６４】
通常は、シリアルＩ／Ｆなどの通信用端子を介してＣＰＵ経由もしくは直接的にプログラム格納用メモリにターゲットプログラムを転送して書き込む。実行時には、プログラム格納用メモリに事前に書き込んでおいたプログラムをＣＰＵが順次読み出して動作させる。
【００６５】
図８では、解読鍵保存メモリ１０１、解読変換部１０２、および解読変換部１０２を仲介させるための暗号バス８０７を、通常のマイクロプロセッサ内に追加することで、本発明をマイクロプロセッサに適用させている。
【００６６】
利用手順は前記実施の形態１と同様に、製品開発メーカ側は、予めプログラム暗号化用の解読鍵を生成しておき、シリアルＩ／Ｆ１０４経由で解読鍵保存メモリ１０１に生成した解読鍵を書き込んでおく。
【００６７】
次に、ターゲットプログラム書き込み時には、シリアルＩ／Ｆ１０４から暗号バス８０７を介して解読変換部１０２を通すことで暗号化されたプログラムの解読処理を行い、解読されたデータがデータバス８０５へ渡される。以降は、通常のマイクロプロセッサの動作と同様に、ＣＰＵ８０１経由もしくは直接的にプログラム格納用メモリ８０３にターゲットプログラムを転送して書き込む。ＣＰＵ８０１がプログラムを実行するときには、上記解読済みのプログラムが格納されているプログラム格納用メモリ８０３に通常通りアクセスする。
【００６８】
また、前記実施の形態５も同様に本実施の形態６と組み合わせ可能である。この場合は、解読変換部１０２が双方向でかつ逆の動作をすることで、マイクロプロセッサ８００と外部との通信はつねに暗号化されたデータで授受される。
【００６９】
上記から判るようにマイクロプロセッサ８００内部のバスのみ暗号解読されたデータの授受を行うことで本発明の目的である秘匿性を確保実現できる。
【００７０】
なお、解読変換部１０２の配置場所はプログラム格納用メモリ８０３とＣＰＵ８０１との間に設けて同様に処理する方式にしても良い。この場合は、Ｉ／Ｏや周辺機能等とは異なるバスで接続すれば容易に実現できる。
【００７１】
また、解読変換部１０２を複数個持たせることで、プログラム格納用メモリ８０３、Ｉ／Ｏ８０２および周辺機能等８０４に対してそれぞれ専用の解読変換を行い、専用の処理を個別にさせても良い。
【００７２】
（実施の形態７）
図９は、本発明の実施の形態７による半導体集積回路装置の概略構成を示すブロック図である。
【００７３】
本実施の形態７の半導体集積回路装置は、前記実施の形態６のマイクロプロセッサ８００に対して、解読変換部１０２を更新可能とした例である。
【００７４】
図９のマイクロプロセッサ８００は、図８をもとに外部入力可能な解読変換部１０２とシリアルＩ／Ｆ１０４間に論理書き込み用パス９０１を設け、かつ、解読変換部１０２の論理を不揮発性の書き換え可能な論理ブロック（ＰＬＤ等で実現可能）に変更したものである。
【００７５】
上記構成により、予め解読鍵書き込み時に解読変換部１０２の論理も書き換え可能となり、メーカ側設定段階において対応する暗号の種類が変更可能となる。
【００７６】
本構成により、製品ごとに、暗号方式そのものも変更可能となり、さらに製品管理および情報保護が可能となる。また前記実施の形態１〜６の方式と併用することで、より複雑化による暗号強度を高めることが可能となる。
【００７７】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００７８】
本発明は、ＦＰＧＡ、ＰＬＤ、フラッシュメモリ内蔵マイクロプロセッサ等に利用可能である。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施の形態１による半導体集積回路装置の概略構成を示すブロック図である。
【図２】本発明の実施の形態１による半導体集積回路装置の具体的な構成を示すブロック図である。
【図３】本発明の実施の形態１による半導体集積回路装置に書き込まれる暗号化データの生成例を示す図である。
【図４】本発明の実施の形態２による半導体集積回路装置の概略構成を示すブロック図である。
【図５】本発明の実施の形態３による半導体集積回路装置の概略構成を示すブロック図である。
【図６】本発明の実施の形態４による半導体集積回路装置の概略構成を示すブロック図である。
【図７】本発明の実施の形態５による半導体集積回路装置の概略構成を示すブロック図である。
【図８】本発明の実施の形態６による半導体集積回路装置の概略構成を示すブロック図である。
【図９】本発明の実施の形態７による半導体集積回路装置の概略構成を示すブロック図である。
【符号の説明】
【００８０】
１００  ＦＰＧＡ
１０１  解読鍵保存メモリ（第１の記憶部）
１０２  解読変換部
１０３  構築データ書き込み領域（第２の記憶部）
１０４  シリアル・インターフェイス（Ｉ／Ｆ）
１０５  シリアル／パラレル変換回路
２００  書き込み用装置
３０１  ソースファイル
３０２  暗号鍵
３０３  コンパイル処理
３０４  暗号化済みデータ
４０１  ＩＤコード
４０２  鍵データ加工部
５０１，８０２  ＩＯ
６０１  適合比較判定部
８００  マイクロプロセッサ
８０１  ＣＰＵ
８０３  プログラム格納用メモリ（第２の記憶部）
８０４  周辺機能等
８０５  データバス
８０６  アドレスバス
８０７  暗号バス
９０１  論理書き込み用パス
【図１】
2007193385.tif 000003
【図２】
2007193385.tif 000004
【図３】
2007193385.tif 000005
【図４】
2007193385.tif 000006
【図５】
2007193385.tif 000007
【図６】
2007193385.tif 000008
【図７】
2007193385.tif 000009
【図８】
2007193385.tif 000010
【図９】
2007193385.tif 000011