(57)【要約】【課題】ＩＰコア回路のソースコードからライセンス情報の削除及び改ざんを阻止し、もって、ＩＰコアの権利を保護する。【解決手段】メモリ及びコンパイラを有するコンピュータに用いられ、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で記述されたソースコードからなり、再利用可能なマクロセルとして記述されたＩＰコアのコードを含むプログラムであって、ＩＰコアのコードとしては、予めライセンス情報が埋め込まれている。このため、プログラムのソースコードからライセンス情報を削除又は改ざんすると、ＩＰコアに基づいて実装されるＩＰコア回路（４１）が動作しなくなるから、ライセンス情報を削除及び改ざんすることができない。従って、上記課題を解決できる。【選択図】      図５
2008117296.tif 000002
【特許請求の範囲】
【請求項１】
メモリ及びコンパイラを有するコンピュータに用いられ、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で記述されたソースコードからなり、再利用可能なマクロセルとして記述されたＩＰコアのコードを含むプログラムであって、
前記ＩＰコアのコードは、予めライセンス情報が埋め込まれており、
前記マクロセルは、前記ＩＰコアに基づいて実装されるＩＰコア回路の、図形を含む構成を記述した設計データであり、
前記プログラム本体は、
前記コンピュータによるコンピュータ支援設計の際に、当該コンピュータを、
前記メモリに記憶した前記ソースコードを前記コンパイラにより翻訳し、得られた結果に基づいて、前記ＩＰコア回路の図形を表示する手段、
として機能させるためのプログラム。
【請求項２】
請求項１に記載のプログラムにおいて、
前記ライセンス情報は、供給者ＩＤ情報、提供先ＩＤ情報及びＩＰコアＩＤ情報を含むことを特徴とするプログラム。
【請求項３】
請求項１又は請求項２に記載のプログラムにおいて、
前記ＩＰコアのコードは、前記ライセンス情報が分散して埋め込まれたことを特徴とするプログラム。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載のプログラムにおいて、
前記ＩＰコアのコードは、前記ライセンス情報毎に、互いに同一のアルゴリズム及び待ち時間を有しつつ回路構成が異なる等価回路として記述されたことを特徴とするプログラム。
【請求項５】
再利用可能なマクロセルとしてのＩＰコアに基づいて実装されたＩＰコア回路を備えた集積回路装置であって、
前記ＩＰコア回路は、予めライセンス情報に基づく値を保持するレジスタを備えたことを特徴とする集積回路装置。
【請求項６】
請求項５に記載の集積回路装置において、
前記ライセンス情報は、供給者ＩＤ情報、提供先ＩＤ情報及びＩＰコアＩＤ情報を含むことを特徴とする集積回路装置。
【請求項７】
請求項５又は請求項６に記載の集積回路装置において、
前記ＩＰコア回路は、前記ライセンス情報に基づく値を保持する複数のレジスタを備え、前記各レジスタは互いに分散して配置されたことを特徴とする集積回路装置。
【請求項８】
請求項５乃至請求項８のいずれか１項に記載の集積回路装置において、
前記ＩＰコア回路は、前記ライセンス情報毎に、互いに同一のアルゴリズム及び待ち時間を有しつつ回路構成が異なる等価回路として形成されたことを特徴とする集積回路装置。
【請求項９】
コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で予めライセンス情報が埋め込まれて記述されたＩＰコアのソースコードに関し、このソースコードに基づいて実装されたＩＰコア回路を含む集積回路装置から前記ライセンス情報を検出するライセンス情報検出方法であって、
前記ＩＰコア回路内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、前記ソースコードにスキャン設計を施す工程と、
前記スキャン設計の後、前記ＩＰコア回路を前記集積回路装置に実装する工程と、
前記実装されたＩＰコア回路に前記スキャンテストを実行する工程と、
前記スキャンテストの実行により、前記ライセンス情報に対応する出力テストパターン情報を電気的に検出する工程と
を備えたことを特徴とするライセンス情報検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、市場に流通している再利用可能なマクロセルとしてのＩＰ(Intellectual Property：知的財産）コアの権利を保護するためのプログラム、集積回路装置及びライセンス情報検出方法に係り、特に、レジスタトランスファレベル（Register Transfer Level：ＲＴＬ）のハードウェア記述言語（Hardware Description Language：ＨＤＬ）で記述されたＩＰコアの権利を保護するプログラム、集積回路装置及びライセンス情報検出方法に関する。
【背景技術】
【０００２】
近年、コンピュータ支援設計の普及に伴い、再利用可能なマクロセルとしてのＩＰコアが数多く市場に流通している。ここで、マクロセルとは、複数のセルを組み合わせた回路構成を記述した設計データである。マクロセルには、レイアウトデータ（マスクパターン）であるハードウェア的なマクロセル、およびハードウェア記述言語のライブラリデータやＣＡＤ(computer aided design)のシンボルデータであるソフトウェア的なマクロセルの両方を含む。ＩＰコアとは、知的財産となる回路設計データであり、具体的には、再利用を前提に設計された回路の構成を記述したソースコードからなる設計データである。この種のＩＰコアは、転売や無断使用といった不正からベンダの所有権を守る、あるいはユーザの使用権を守るための権利保護が必要である。
【０００３】
ＩＰコアに対する権利保護の考え方は、１９９０年代後半から米のＤＡＣ(Design Automation Conf.)などで論じられている。米のＥＤＡ(electronic design automation)ベンダは、半導体の物理設計の際に、レイアウトデータであるハードウェアＩＰコアにトポロジカルにライセンス情報（例、著作権情報など）を電子透かしとして埋め込む方式を提案している。この提案の背景には、ＩＣの破壊型攻撃による、いわゆるリバースエンジニアリングや、非契約の海賊版製造によるＩＰコアの盗用が横行していたことが挙げられる。しかしながら、レイアウトに埋め込む方式は、レイアウトから光学的にライセンス情報を検出する必要があるため、検証が困難な問題がある。
【０００４】
一方、半導体プロセス技術の進歩により、ＬＳＩ回路規模の増大と配線の多層化が進むと共に、１チップでシステムを構成するＳｏＣ(System on Chip)が主流になる。このため、リバースエンジニアリングは、１チップＬＳＩを破壊・分析するための専門装置と手間隙とがＬＳＩの規模に応じて割に合わないため、廃れてきている。
【０００５】
また、ＳｏＣにおいては、ＬＳＩ設計が複雑なため、ハードウェア記述言語ＨＤＬで記述されたソフトウェアとして、再利用可能なＩＰコアを用いた設計手法が主流となってきている。特に、暗号処理やエラー訂正符号といった比較的制御が単純で、データ・レートの高いデジタル信号処理アプリケーションでは、ハード・ワイヤード論理で実現するＲＴＬベースの再利用可能なＩＰコアを用いた設計が主流である。
【０００６】
すなわち、ＩＰコアに対する権利保護の考え方は、ハードウェアＩＰコアをリバースエンジニアリングから保護する考え方から、ソフトウェアＩＰコアのソースコードを保護する考え方に移行してきている。
【０００７】
ソースコードを保護する例として、２００３年にファン（Fan）らが提案した技術が挙げられる（非特許文献１参照）。非特許文献１に記載の技術は、図１１に示すように、ライセンス情報を表す数十ビットの電子透かし（Watermark）を生成する電子透かし生成回路１２をソフトウェアＩＰコア１０に設けている。このソフトウェアＩＰコア１０は、ＩＰコア機能回路１１、電子透かし生成回路１２、テスト回路１３、レジスタ１４、調停回路１５及びマルチプレクサ１６を備えている。
【０００８】
ＩＰコア機能回路１１は、通常モードで動作するＩＰコア本来の機能回路である。ＩＰコア機能回路１１以外の各回路１２〜１５は、テストモードで動作するテスト用回路である。マルチプレクサ１６は、テストモード信号がオフのとき（通常モードのとき）、ＩＰコア機能回路１１の出力を通過させ、テストモード信号がオンのとき（テストモードのとき）、電子透かし生成回路１２及び調停回路１５の出力を順次通過させる回路である。
【０００９】
ここで、電子透かし生成回路１２は、テストシーケンスの始めに、ライセンス情報を表す電子透かしのビットパターンを出力するので、ソフトウェアＩＰコア１０のソースコードが盗用された場合でも、ライセンス情報を電気信号として容易に検出可能となっている。また、電子透かし生成回路１２は、数十ビットのビットパターンの生成回路であるため、回路規模への影響が小さく、ソフトウェアＩＰコア１０に容易に実装可能である。
【非特許文献１】Y. C. Fan and H. W. Tsao; 'Watermarking for intellectual property protection' Electron. Lett., 2003, 39, pp1316-1318
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、以上のような非特許文献１に記載の技術では、通常は問題が無いが、本発明者の検討によれば、電子透かし生成回路１２がＩＰコア機能回路１１から独立していることから、利用者側で電子透かし生成回路１２をＩＰコアのソースコードから容易に削除、あるいは改ざん可能と考えられる。仮に、ライセンス情報が削除又は改ざんされた場合、ＩＰコアの権利が保護されなくなってしまう。
【００１１】
本発明は上記実情を考慮してなされたもので、ＩＰコア回路のソースコードからライセンス情報の削除及び改ざんを阻止でき、ＩＰコアの権利を保護し得るプログラム、集積回路装置及びライセンス情報検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、メモリ及びコンパイラを有するコンピュータに用いられ、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で記述されたソースコードからなり、再利用可能なマクロセルとして記述されたＩＰコアのコードを含むプログラムであって、前記ＩＰコアのコードとしては、予めライセンス情報が埋め込まれており、前記マクロセルとしては、前記ＩＰコアに基づいて実装されるＩＰコア回路の、図形を含む構成を記述した設計データであり、前記プログラム本体としては、前記コンピュータによるコンピュータ支援設計の際に、当該コンピュータを、前記メモリに記憶した前記ソースコードを前記コンパイラにより翻訳し、得られた結果に基づいて、前記ＩＰコア回路の図形を表示する手段、として機能させるためのプログラムである。
【００１３】
第２の発明は、再利用可能なマクロセルとしてのＩＰコアに基づいて実装されたＩＰコア回路を備えた集積回路装置であって、前記ＩＰコア回路としては、予めライセンス情報に基づく値を保持するレジスタを備えた集積回路装置である。
【００１４】
第３の発明は、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で予めライセンス情報が埋め込まれて記述されたＩＰコアのソースコードに関し、このソースコードに基づいて実装されたＩＰコア回路を含む集積回路装置から前記ライセンス情報を検出するライセンス情報検出方法であって、前記ＩＰコア回路内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、前記ソースコードにスキャン設計を施す工程と、前記スキャン設計の後、前記ＩＰコア回路を前記集積回路装置に実装する工程と、前記実装されたＩＰコア回路に前記スキャンテストを実行する工程と、前記スキャンテストの実行により、前記ライセンス情報に対応するテストパターン情報を電気的に検出する工程とを備えたライセンス情報検出方法である。
【００１５】
（作用）
従って、第１〜第３の各発明は、ＩＰコアのコードとしては、予めライセンス情報が埋め込まれているので、ＩＰコアのソースコードからライセンス情報の削除及び改ざんを阻止でき、ＩＰコアの権利を保護することができる。
【００１６】
これに加え、第３の発明は、予めＩＰコア回路のソースコードにスキャン設計を施したため、スキャンテストの実行により、ライセンス情報に対応するテストパターン情報を電気的に検出できるので、容易にライセンス情報を検出することができる。
【発明の効果】
【００１７】
以上説明したように本発明によれば、ＩＰコア機能回路のソースコードからライセンス情報の削除及び改ざんを阻止でき、ＩＰコアの権利を保護できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の各実施形態について図面を参照して説明する。  
（第１の実施形態）
図１は本発明の第１の実施形態に係るＩＰコア機能回路の保護システムの構成を示す模式図であり、保護システム内のベンダ装置の構成を具体的に示している。
【００１９】
この保護システムは、ベンダ（供給者）装置２０、ユーザ（提供者）装置５０及び別のユーザ装置５０’，…、が互いにネットワークＮＷを介して接続されている。なお、ユーザ装置５０及び別のユーザ装置５０’，…、は、互いに異なるライセンス情報が埋め込まれたプログラムｐ１を使用するユーザ装置であり、互いに同一のハードウェア構成を有する。このため、以下の説明はユーザ装置５０を代表例に挙げて述べる。また、ベンダ装置２０は、試験装置３０を介して集積回路装置４０内のＩＰコア機能回路（ＩＰコアに基づいて実装されたＩＰコア回路）４１からライセンス情報に対応するテストパターン情報を検出可能となっている。
【００２０】
ここで、ベンダ装置２０は、原プログラム記憶部２１、ライセンス情報記憶部２２、受付部２３、ライセンス管理部２４、ライセンス情報生成部２５、埋込部２６及び出力部２７を備えている。
【００２１】
原プログラム記憶部２１は、ライセンス管理部２７から読出可能な記憶装置であり、ライセンス情報ＩＤLが未だ埋め込まれていない原プログラムが記憶されている。ここで、原プログラムは、レジスタトランスファーレベルＲＴＬのハードウェア記述言語ＨＤＬで記述されたソースコードからなり、再利用可能なマクロセルとして記述されたＩＰコアのコードを含むプログラムであって、ライセンス情報ＩＤLの埋め込み前の状態である。ここで、マクロセルは、ＩＰコアに基づいて実装されるＩＰコア機能回路４１の、シンボル（回路図形）を含む構成を記述した設計データである。なお、一般的なマクロセルは、前述した通り、レイアウト（マスクパターン図形）データ、ライブラリデータおよびシンボルデータを含んでいる。但し、本実施形態では、マクロセルに記述された図形がシンボル（回路図形）である場合を代表例に挙げて説明している。
【００２２】
ライセンス情報記憶部２２は、ライセンス管理部２７から読出／書込可能な記憶装置であり、図２に示すように、ライセンス情報ＩＤL毎に、ベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ及びＩＰコア識別情報ＩＤipが互いに関連付けられて記憶されている。ここで、ライセンス情報ＩＤLは、各識別情報ＩＤｂ，ＩＤｕ，ＩＤipに基づいて生成される擬似乱数rnd（Ｓ）が用いられている。詳しくは、ライセンス情報ＩＤLは、各識別情報ＩＤｂ，ＩＤｕ，ＩＤipの和に一方向性ハッシュ関数ｈ（  ）を施し、得られたハッシュ値からなるシード情報Ｓ＝ｈ（ＩＤｂ＋ＩＤｕ＋ＩＤip）から乱数生成器（擬似乱数生成器）により生成された擬似乱数rnd（Ｓ）が用いられている。なお、Ｓの式中、加算“＋”を連接“‖”に代えてもよい。
【００２３】
但し、ライセンス情報ＩＤLは、各識別情報ＩＤｂ，ＩＤｕ，ＩＤipに個別に対応する情報であればよい。例えば、図３に示す変形例では、ライセンス情報ＩＤLは、各識別情報ＩＤｂ，ＩＤｕ，ＩＤipに基づいて生成される暗号化情報Ｅｎｃ（Ｋ，Ｍ）が用いられている。詳しくは、ライセンス情報ＩＤLは、ベンダ識別情報ＩＤｂに対応する鍵情報Ｋに従って、ユーザ識別情報ＩＤｕ及びＩＰコア識別情報ＩＤipに対応するメッセージダイジェスト情報Ｍを暗号化してなる暗号化情報Ｅｎｃ（Ｋ，Ｍ）が用いられている。ここで、鍵情報Ｋは、ベンダ識別情報ＩＤｂのハッシュ値からなる値Ｋ＝ｈ（ＩＤｂ）である。メッセージダイジェスト情報Ｍは、ユーザ識別情報ＩＤｕ及びＩＰコア識別情報ＩＤipのハッシュ値からなる値Ｍ＝ｈ（ＩＤｕ＋ＩＤip）である。なお、Ｍの式中、加算“＋”を連接“‖”に代えてもよい。
【００２４】
ライセンス情報ＩＤLの必要十分条件は、ベンダ（供給者）がユーザ（提供先）に提供したプログラムｐ１が表すＩＰコア機能回路（例、耐タンパＤＥＳ(Data Encryption Standard)回路４１）がユーザの集積回路装置４０に実装されていることが分かる情報であるということである。このＩＰコア機能回路が提供先以外の集積回路装置に実装されている場合、集積回路装置の製作者は攻撃者であることがわかる。ライセンス情報によってベンダはＩＰコアの販売権を、ユーザは自社の集積回路装置でＩＰコアの使用権を主張できる。
【００２５】
これに伴い、ベンダ識別情報ＩＤｂは、少なくともベンダを識別可能な情報である必要があり、他に関連情報を含んでいてもよい。同様に、ユーザ識別情報ＩＤｕは、少なくともユーザを識別可能な情報である必要があり、他に関連情報を含んでいてもよい。また、ＩＰコア識別情報ＩＤipは、少なくともＩＰコアを識別可能な情報であり、実装された回路からライセンス情報ＩＤLを検索可能とする観点から、ＩＰコア機能回路の詳細情報を含むことが好ましい。ＩＰコア機能回路の詳細情報としては、例えば、レジスタの初期値やマスク値などの数値情報、及び／又は等価回路の構成などの構成情報が使用可能となっており、ＩＰコアの一部と重複する情報でもよい。
【００２６】
受付部２３は、ユーザ装置５０からプログラムｐ１を指定したプログラム送信要求及びユーザ識別情報ＩＤｕを受け付けると、これらユーザ識別情報ＩＤｕ及びプログラム送信要求をライセンス管理部２４に送出する機能をもっている。
【００２７】
ライセンス管理部２４は、受付部２３からユーザ識別情報ＩＤｕ及びプログラム送信要求を受けると、指定されたプログラムｐ１の原プログラムを原プログラム記憶部２１から読み出す機能と、この原プログラムのＩＰコア識別情報ＩＤipを、ユーザ識別情報ＩＤｕ及び自己のベンダ識別情報ＩＤｂと共にライセンス情報生成部２４に送出する機能と、ライセンス情報生成部２４から受けたライセンス情報ＩＤLをベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ及びＩＰコア識別情報ＩＤipに関連付けてライセンス情報記憶部２２に書き込む機能と、ライセンス情報ＩＤL及び原プログラムを埋込部２５に送出する機能と、埋込部２５から受けたプログラムｐ１を出力部２６を介してユーザ装置５０に送信する機能と、ベンダの操作により、試験装置３０を介して集積回路装置４０内の耐タンパＤＥＳ回路４１からライセンス情報ＩＤLに対応する出力テストパターンを検出する機能とをもっている。
【００２８】
ライセンス情報生成部２５は、ライセンス管理部２４から受けたＩＰコア識別情報ＩＤip、ユーザ識別情報ＩＤｕ及び自己のベンダ識別情報ＩＤｂに基づいて、ライセンス情報ＩＤLを生成する機能と、得られたライセンス情報ＩＤLをライセンス管理部２４に送出する機能とをもっている。ライセンス情報ＩＤLを生成する機能は、ライセンス情報ＩＤLの生成に必要な演算機能・変換機能などであり、例えばライセンス情報ＩＤLが前述した擬似乱数rnd(S)の場合、ハッシュ値の演算機能及び擬似乱数の生成機能などから構成される。また、ライセンス情報ＩＤLが前述した暗号化情報Ｅｎｃ（Ｋ，Ｍ）の場合、ライセンス情報ＩＤLの生成機能は、ハッシュ値の演算機能及び暗号化処理機能などから構成される。
【００２９】
埋込部２６は、ライセンス管理部２４から受けたライセンス情報ＩＤL及び原プログラムに基づいて、ライセンス情報ＩＤLを原プログラムに埋め込む機能と、埋め込みにより得られたプログラムｐ１をライセンス管理部２４に送出する機能とをもっている。
【００３０】
ここで、プログラムｐ１は、レジスタトランスファーレベルＲＴＬのハードウェア記述言語ＨＤＬで記述されたソースコードからなり、再利用可能なマクロセルとしてのＩＰコアのコードを含むプログラムである。具体的にはプログラムｐ１は、ＩＰコアのコードに部分的に、予めライセンス情報が埋め込まれている。また、プログラムｐ１は、ユーザ装置５０によるコンピュータ支援設計の際に、ユーザ装置５０のコンピュータを、メモリに記憶したソースコードをコンパイラにより翻訳し、得られた結果に基づいて、ＩＰコア機能回路４１のシンボル（図形）を表示する手段、として機能させるためのプログラムである。
【００３１】
プログラムｐ１としては、ＩＰコアのコードとして耐タンパＤＥＳが記述された例を説明する。なお、耐タンパＤＥＳは、サイドチャネル攻撃の一つであるＤＰＡ（differential Power Analysis：電力差分解析）への対策としてよく知られており、マスク値が用いられている。耐タンパＤＥＳの詳細は、例えば文献（An Implementation of DES and AES, Secure against Some Attacks, M. Akkar, C. Giraud, CHES 2001, pp309-318）に記載されている。
【００３２】
具体的にはプログラムｐ１は、図４に示すように、ＩＰコア機能回路が耐タンパＤＥＳ（図５及び図６参照）の場合に、耐タンパＤＥＳの６４ビットのマスク値Ｘ，Ｘ１，Ｘ２にライセンス情報ＩＤLが分散して埋め込まれている。但し、プログラムｐ１には、ライセンス情報ＩＤLを含む旨は記述されない。
【００３３】
補足すると、図５及び図６中に斜線で表された部分がライセンス情報ＩＤLを埋め込むマスク値の場所である。マスク値Ｘ，Ｘ１，Ｘ２にライセンス情報ＩＤLをマップし、修正Ｓボックス（以下、ＭＳボックスという）を用いることによって、ユーザ毎に異なる回路構成のＤＥＳを提供可能となっている。
【００３４】
ここで、修正Ｓボックスは、図４に示したように、次式で表される。  
MS-box(A) ＝ S-box(A xor X2) xor P-1(X1_L xor X1_H)
但し、ＭＳ−ｂｏｘ：修正Ｓボックス、Ａ：修正ＳボックスＭＳ−ｂｏｘへの入力、Ｓ−ｂｏｘ：Ｓボックス、ｘｏｒ：排他的論理和、Ｐ-1：置換Ｐの逆変換処理、Ｘ１＿Ｈ：マスク値Ｘ１の上位３２ビット分、Ｘ１＿Ｌ：マスク値Ｘ１の下位３２ビット分。また、図４〜図６中の他の記号は以下の通りである。
【００３５】
ｍ：メッセージ情報（平文）、丸内に十字：排他的論理和（ｘｏｒ）、ＩＰ：初期置換処理、Ａ１：初期置換ＩＰの出力、ＥＰ：拡大置換処理、Ｋ：鍵情報、Ｐ：置換処理、ＩＰ-1：初期置換ＩＰの逆変換処理、Ｃ：暗号文。
【００３６】
このようなプログラムｐ１においては、マスク値Ｘ１，Ｘ２がラウンド関数の中に分散して存在しており、修正Ｓボックスがマスク値Ｘ１，Ｘ２に対応して改変されている。このため、マスク値Ｘ，Ｘ１，Ｘ２の中でも特に、マスク値Ｘ１，Ｘ２の単純な変更が困難となっている。
【００３７】
なお、プログラムｐ１内のＩＰコアのコードとしては、耐タンパＤＥＳに限らず、任意のＩＰコア機能回路を記述可能なことは言うまでもない。
【００３８】
図４に示したプログラムｐ１は、後述するユーザ装置５０にてコンピュータ支援設計（ＣＡＤ）に用いられ、図５及び図６に示した耐タンパＤＥＳ回路４１として集積回路装置４０内に実装される。
【００３９】
出力部２７は、ライセンス管理部２４から受けたプログラムｐ１をプログラム送信要求の送信元（ユーザ装置５０）に送信する機能をもっている。
【００４０】
試験装置３０は、ベンダ装置２０に制御され、ライセンス情報ＩＤLに対応するマスク値Ｘ，Ｘ１，Ｘ２を検出するための入力テストパターンを耐タンパＤＥＳ回路４１に入力する機能と、耐タンパＤＥＳ回路４１からマスク値Ｘ，Ｘ１，Ｘ２に対応する出力テストパターンを検出する機能と、出力テストパターンをベンダ装置２０に送出する機能とをもっている。
【００４１】
集積回路装置４０は、ＬＳＩ又はＩＣ等のハードウェア回路装置であり、ユーザ装置５０によるコンピュータ支援設計により設計され、プログラムｐ１に記述されたＩＰコア機能回路としての耐タンパＤＥＳ回路４１が実装されている。
【００４２】
耐タンパＤＥＳ回路４１は、プログラムｐ１内のＩＰコアのコードに基づいて実装された回路であり、ライセンス情報ＩＤLに基づくマスク値Ｘ，Ｘ１，Ｘ２を保持する複数のレジスタを備え、各レジスタが互いに分散して配置されている。なお、耐タンパＤＥＳについては、図４〜図６を用いて述べた通りである。
【００４３】
一方、ユーザ装置５０は、図７に示すように、通常のコンピュータ機能を有し、補助記憶装置５１、主記憶装置５２、入力Ｉ／Ｆ５３、ＣＰＵ５４、出力Ｉ／Ｆ５５及び通信Ｉ／Ｆ５６が互いにバスを介して接続されている。入力Ｉ／Ｆ５３には入力部５７が接続されている。出力Ｉ／Ｆ５５には出力部５８が接続されている。通信Ｉ／Ｆ５６はネットワークＮＷに接続されている。
【００４４】
補助記憶装置５１は、ＣＰＵ５４から読出／書込可能なハードディスク等の記憶装置であり、ＣＡＤ情報ファイルｆ、ＣＡＤプログラムｐcad及びプログラム（耐タンパＤＥＳ）ｐ１が記憶されている。
【００４５】
主記憶装置５２は、ＣＰＵ５４から読出／書込可能なＲＡＭ等の記憶装置であり、ＣＡＤプログラムｐcadの実行時に、各プログラムｐcad，ｐ１及びＣＡＤ情報ファイルｆ等が読出／書込される。
【００４６】
入力Ｉ／Ｆ５３は、入力部５７とユーザ装置５０内との間のインターフェイス機能をもっている。
【００４７】
ＣＰＵ５４は、ユーザの操作により、プログラムｐ１を指定したプログラム送信要求及びユーザ識別情報ＩＤｕを通信Ｉ／Ｆ５６及びネットワーク２０を介してベンダ装置２０に送信する機能と、ベンダ装置２０からネットワークＮＷ及び通信Ｉ／Ｆ５６を介して受けたプログラムｐ１を補助記憶装置５１に書き込む機能とをもっている。
【００４８】
また、ＣＰＵ５４は、補助記憶装置５１内のＣＡＤプログラムｐcadを実行可能なものであり、ＣＡＤプログラムｐcadの実行時には、記憶装置５１，５２内のＣＡＤ情報ファイルｆ及びプログラムｐ１を参照しつつ、集積回路装置４０の設計を実行する機能をもっている。
【００４９】
出力Ｉ／Ｆ５５は、ユーザ装置５０内と出力部５８との間のインターフェイス機能をもっている。
【００５０】
通信Ｉ／Ｆ５６は、ユーザ装置５０内とネットワークＮＷとの間のインターフェイス機能をもっている。
【００５１】
入力部５７は、ユーザに操作されるキーボード及びマウス等の入力デバイスであり、入力Ｉ／Ｆ５３に接続されている。
【００５２】
出力部５８は、出力Ｉ／Ｆ５７の出力データを表示出力する表示デバイスである。
【００５３】
次に、以上のように構成されたＩＰコア機能回路の保護システムの動作を説明する。  
始めに、ユーザ装置５０は、ユーザの操作により、プログラムｐ１を指定したプログラム送信要求及びユーザ識別情報ＩＤｕをネットワーク２０を介してベンダ装置２０に送信する。
【００５４】
ベンダ装置２０においては、受付部２３が、プログラム送信要求及びユーザ識別情報ＩＤｕを受け付けると、これらユーザ識別情報ＩＤｕ及びプログラム送信要求をライセンス管理部２４に送出する。
【００５５】
ライセンス管理部２４は、ユーザ識別情報ＩＤｕ及びプログラム送信要求を受けると、指定されたプログラムｐ１の原プログラムを原プログラム記憶部２１から読み出し、この原プログラムのＩＰコア識別情報ＩＤipを、ユーザ識別情報ＩＤｕ及び自己のベンダ識別情報ＩＤｂと共にライセンス情報生成部２４に送出する。
【００５６】
ライセンス情報生成部２５は、ＩＰコア識別情報ＩＤip、ユーザ識別情報ＩＤｕ及び自己のベンダ識別情報ＩＤｂに基づいて、次の式（１），（２）に基づいて、ライセンス情報ＩＤLを生成する。
【００５７】
Ｓ = ｈ（ＩＤｂ＋ＩＤｕ＋ＩＤip）      …（１）
ＩＤL = rnd（Ｓ）          （２）
また、ライセンス情報生成部２５は、式（１），（２）に代えて、次の式（３）〜（５）に基づいて、ライセンス情報ＩＤLを生成してもよい。
【００５８】
Ｋ = ｈ（ＩＤｂ）              …（３）
Ｍ = ｈ（ＩＤｕ＋ＩＤip）     …（４）
ＩＤL = Ｅｎｃ（Ｋ，Ｍ）      …（５）
いずれにしても、ライセンス情報生成部２５は、得られたライセンス情報ＩＤLをライセンス管理部２４に送出する。
【００５９】
ライセンス管理部２４は、ライセンス情報ＩＤLをベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ及びＩＰコア識別情報ＩＤipに関連付けてライセンス情報記憶部２２に書き込んだ後、ライセンス情報ＩＤL及び原プログラムを埋込部２５に送出する。
【００６０】
埋込部２６は、ライセンス情報ＩＤL及び原プログラムに基づいて、ライセンス情報ＩＤLを原プログラム内のＩＰコアのコードに埋め込んだ後、得られたプログラムｐ１をライセンス管理部２４に送出する。
【００６１】
ライセンス管理部２４は、プログラムｐ１を出力部２６を介して、プログラム送信要求の送信元（ユーザ装置５０）に送信する。
【００６２】
一方、ユーザ装置５０は、ベンダ装置２０から受けたプログラムｐ１を補助記憶装置５１に書き込む。
【００６３】
続いて、ユーザ装置５０は、ユーザの操作により、ＣＡＤプログラムｐcadを実行する。ＣＡＤプログラムｐcadの実行時には、記憶装置５１，５２内のＣＡＤ情報ファイルｆ及びプログラムｐ１を参照しつつ、集積回路装置４０の設計処理を実行する。
【００６４】
このとき、ユーザ装置５０は、ＣＡＤプログラムｐcadによるコンピュータ支援設計の際に、メモリに記憶したプログラムｐ１のソースコードをコンパイラにより翻訳し、得られた結果に基づいて、耐タンパＤＥＳを表すＩＰコア機能回路を画面表示する。
【００６５】
ユーザ装置５０は、ユーザの操作により、表示された耐タンパＤＥＳを集積回路装置の一部に配置し、集積回路装置の設計処理を実行する。
【００６６】
設計処理の後、得られた設計情報を実装した集積回路装置４０がユーザ（又は図示しない製造者）により製造される。この集積回路装置４０には、耐タンパＤＥＳ回路４１が実装されている。
【００６７】
この集積回路装置４０は、適宜、販売され、流通する。
【００６８】
次に、流通している集積回路装置４０のライセンス情報ＩＤLを確認したい場合について説明する。この確認は、ここではベンダが行う例を述べるが、これに限らず、同様の試験装置３０の使用により、ユーザ又は任意の第三者が行うこともできる。
【００６９】
ベンダ装置２０においては、ベンダの操作により、ライセンス管理部２４が試験装置３０を制御する。
【００７０】
試験装置３０は、ベンダ装置２０からの制御により、ライセンス情報ＩＤLに対応するマスク値Ｘ，Ｘ１，Ｘ２を検出するための入力テストパターンを耐タンパＤＥＳ回路４１に入力し、折り返し、耐タンパＤＥＳ回路４１からマスク値Ｘ，Ｘ１，Ｘ２に対応する出力テストパターンを検出する。この出力テストパターンは、試験装置３０からベンダ装置２０に送出される。
【００７１】
ベンダ装置２０は、ライセンス管理部２４により、この出力テストパターンに対応するライセンス情報ＩＤLに基づいて、ライセンス情報記憶部２２を検索し、該当するベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ、ＩＰコア識別情報ＩＤipを画面表示する。
【００７２】
画面表示されたベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ、ＩＰコア識別情報ＩＤipは、ベンダにより確認される。ユーザ以外又はユーザと提携する製造者以外の集積回路装置から、ユーザ識別情報ＩＤｕと一致するユーザ識別情報ＩＤｕ’が検出された場合は、盗難、あるいは再販などといった不正使用が行われていることがわかる。
【００７３】
上述したように本実施形態によれば、ＩＰコア回路としての耐タンパＤＥＳ回路４１には、予めライセンス情報ＩＤLがＩＰコアのコードに埋め込まれているので、ＩＰコア機能回路のソースコードからライセンス情報ＩＤLの削除及び改ざんを阻止でき、もって、ＩＰコアの権利を保護することができる。
【００７４】
例えば、ＩＰコア機能回路の設計時に、ＩＰコアの論理回路自体にライセンス情報を埋め込む構成により、ライセンス情報ＩＤLを削除又は改ざんすると、ＩＰコア回路が正常に動作しなくなるので、ライセンス情報ＩＤLを削除及び改ざんすることができない。
【００７５】
これに加え、次の第１の効果（i）から第４の効果（iv）までを得ることができる。  
（i）ライセンス情報を電気信号として検出できる。  
（ii）ライセンス情報の埋め込みに伴い、回路規模が大きく増加しない。  
（iii）ライセンス情報を検出するためにＩＰコアに特別な端子を設ける必要がない。  
（iv）設計の後工程の論理合成、配置配線に伴い、ライセンス情報が変形又は消去しない。
【００７６】
例えば、テスト時の集積回路装置４０からの出力データとして、ライセンス情報に対応する出力テストパターンを検出することにより、第１の効果（i）を得ることができる。
【００７７】
また、６４ビットのマスク値としてライセンス情報ＩＤLを埋め込むことから、埋め込みの前後でマスク値のビット数に変化が無いので、第２の効果（ii）を得ることができる。
【００７８】
また、ライセンス情報ＩＤLがＲＴＬに回路記述として記載される構成により、論理合成によりスタンダードセルの一部となり、配置配線により個々のトランジスタとなってシリコン上に実装されるため、論理合成、自動配置配線での耐性を持ち、第３及び第４の効果（iii），（iv）を得ることができる。
【００７９】
（第２の実施形態）
次に、本発明の第２の実施形態に係るＩＰコア機能回路の保護システムについて説明するが、その前に本実施形態の概要を述べる。本実施形態は、ライセンス情報ＩＤLがマスク値等の値に対応する第１の実施形態とは異なり、ライセンス情報ＩＤLが等価回路の構成に対応する形態である。
【００８０】
具体的には、ライセンス情報ＩＤLを、ＡＥＳ（Advanced Encryption Standard）のＳボックスにおける合成体の等価変換により得られる等価回路に対応させている。
【００８１】
例えば、ＡＥＳのＳボックスでは、図８（ａ）に示すように、式（６）の規約多項式ｍ（ｘ）によるガロア体ＧＦ（２8）上の乗法逆元演算とアフィン変換の組み合わせが用いられる。
【００８２】
ｍ（ｘ） ＝ ｘ8 ＋ ｘ4 ＋ ｘ3 ＋ ｘ ＋ １  …（６）
ＡＥＳのＳボックスをルックアップテーブルではなく、合成体で等価変換して積和論理形により設計して省ゲート化したり、他の暗号アルゴリズムと回路共有をする研究報告が知られている。このような研究報告としては、例えば、文献Ｄ１：“ＳＰＮ型ブロック暗号の実装について”清水，佐野，本山，大熊，信学技報、又は文献Ｄ２：“ＧＦ(((２2)2)2)上の演算を用いたＡＥＳのＳ−Ｂｏｘ構成法”森岡，佐藤，高野，宗藤，情報処理学会第63回（平成13年後期）全国大会予稿集3-513、がある。
【００８３】
文献Ｄ１によれば、ＧＦ（２4）上の規約多項式が３通り存在し、ＧＦ（２4）上の元を係数とする２次の規約多項式が１２０通り存在し、それぞれの規約多項式について８通りの同形写像が存在し、全部を掛け合わせると２８８０通りの組み合わせが存在する（図８（ｂ）参照）。
【００８４】
文献Ｄ２では、ＧＦ(((２2)2)2)の合成体を利用している（図８（ｃ）参照）。なお、図８（ｂ）と図８（ｃ）との間の矢印は、後述する組み合わせ回路を説明するためのものであり、文献Ｄ１，Ｄ２に記載及び示唆は無い。
【００８５】
すなわち、本実施形態は、文献Ｄ１に示す同形写像と、文献Ｄ２に示す合成体との組み合わせをライセンス情報ＩＤLとマップすることで、ユーザ（提供先）毎に同じ機能で、異なる組み合わせ回路を持つＩＰコア機能回路のプログラムを生成することができる。
【００８６】
具体的には例えば、ハードウェア記述言語ＨＤＬで記述される同形写像と合成体の組合せ（回路構成）を表すＩＰコア識別情報ＩＤipと、ライセンス情報ＩＤLとを互いに関連付けて記憶することにより、後日、同形写像と合成体の組合せが実装されてなる同形写像演算回路及び逆元演算回路に基づき、ライセンス情報ＩＤLを検出することができる。
【００８７】
本実施形態では、ライセンス情報ＩＤLがレジスタの初期値などのビット列としてではなく、同形写像の行列式や逆元演算を実行する論理・算術演算回路といった組み合わせ回路に配置されるため、より解析が困難である利点を持つ。また、等価変換の組み合わせにより回路規模にばらつきが生じるものの、前述した第２の効果（ii：回路規模が大きく増大しない効果）を得ることができる。
【００８８】
以上が第２の実施形態の概要である。続いて、本実施形態に係るＩＰコア機能回路の保護システムについて述べる。
【００８９】
本実施形態においては、ベンダ装置２０及びユーザ装置５０の構成は、第１の実施形態と同一である。但し、ライセンス情報ＩＤLに対応するマスク値が記述されたプログラムｐ１に代えて、ライセンス情報ＩＤLに対応する等価回路が記述されたプログラムｐ１’が使用されている。これに伴い、ライセンス情報記憶部２２内のＩＰコア識別情報ＩＤipは、等価回路の構成の記述を含む内容となっている。
【００９０】
補足すると、プログラムｐ１’に含まれるＩＰコアのコードは、ライセンス情報ＩＤL毎に、互いに同一のアルゴリズム及びレイテンシ（待ち時間）を有しつつ回路構成が異なる等価回路として記述されている。このため、プログラムｐ１’により実装されたＩＰコア機能回路は、ライセンス情報ＩＤL毎に、互いに同一のアルゴリズム及びレイテンシ（待ち時間）を有しつつ回路構成が異なる等価回路として形成される。
【００９１】
以上のような構成としても、前述同様に、試験装置３０によって集積回路装置４０内のＩＰコア機能回路からライセンス情報ＩＤLに対応する出力テストパターンを検出することにより、ＩＰコア機能回路のライセンス情報ＩＤLを確認できるため、第１の実施形態の効果を得ることができる。これに加え、第２の実施形態によれば、ライセンス情報ＩＤLが等価回路の構成に対応するため、より解析が困難であり、削除及び改ざんには別の等価回路を設計する必要があることから、削除及び改ざんを極めて困難とすることができる。
【００９２】
（第３の実施形態）
次に、本発明の第３の実施形態に係るＩＰコア機能回路の保護システムについて説明する。本実施形態は、第２の実施形態の具体例であり、ライセンス情報ＩＤLを検出する試験について具体的に述べた形態である。
【００９３】
ライセンス情報ＩＤLを検出する手法としては、電気信号として検出可能なように、一般的なＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）の設計テスト容易化手法であるスキャンテストを用いる。スキャンテストによれば、図９に示すように、シフト許可信号が通常状態からスキャンテスト状態へのシフトを許可したとき、ＩＰコア機能回路４２内の等価回路４３に接続された複数のレジスタ（Ｆ／Ｆ：フリップフロップ）４４を一つの巨大なシフトレジスタとして機能（スキャン連鎖）させ、ある入力状態における回路内の順序セルの状態をビット列で出力させて観測することが可能となる。換言すると、スキャンテストは、ＩＰコア機能回路４２の内部ロジック（論理回路としての構成）を観測可能な性質をもつ。本実施形態は、このようなスキャンテストの性質を用い、ＩＰコア機能回路４２である等価回路の構成を観測することにより、等価回路に対応するライセンス情報ＩＤLを検出する形態である。
【００９４】
これに伴い、ＩＰコア機能回路４２を表すプログラムｐ１’は、ＩＰコア機能回路４２内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、予めソースコードにスキャン設計が施されている。
【００９５】
また、ライセンス管理部２４及び試験装置３０は、それぞれスキャンテストの実行機能を備えている。
【００９６】
ＩＰコア機能回路４２は、例えばＡＥＳである場合、通常使用時には、ライセンス情報ＩＤLを露呈せずに、ＡＥＳ暗号化／復号ロジックとして機能する。また、ＩＰコア機能回路４２は、スキャンテスト時には、入力テストパターンに応じて、ライセンス情報ＩＤLに対応する出力テストパターンを試験装置３０に送出する。
【００９７】
次に、以上のように構成されたＩＰコア機能回路の保護システムの動作を図１０のフローチャートを参照しながら説明する。
【００９８】
始めに、ベンダ装置２０では、ベンダの操作により、ＩＰコア機能回路４２内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、プログラムｐ１’のソースコードにスキャン設計が施される（ＳＴ１）。
【００９９】
スキャン設計の後、プログラムｐ１’は、ベンダによる動作確認後に、ユーザに契約に基づいて販売される。正規の契約者（ユーザ）は、契約に基づいて購入したプログラムｐ１’を集積回路装置４０に実装する（ＳＴ２）。この集積回路装置４０は、適宜、販売され、流通する。
【０１００】
続いて、流通している集積回路装置４０のライセンス情報ＩＤLを確認するためのスキャンテストについて述べる。このスキャンテストは、前述同様にベンダが行う例を述べる。
【０１０１】
ベンダ装置２０においては、ベンダの操作により、ＩＰコア機能回路４２にスキャンテストを実行するように、ライセンス管理部２４が試験装置３０を制御する。
【０１０２】
試験装置３０は、ベンダ装置２０からの制御により、ライセンス情報ＩＤLに対応する回路情報を得るための入力テストパターンをＩＰコア機能回路（ＡＥＳ）４２に入力し、折り返し、ＩＰコア機能回路４２から回路情報に対応する出力テストパターンを検出する（ＳＴ３）。この出力テストパターンは、試験装置３０からベンダ装置２０に送出される。
【０１０３】
ベンダ装置２０は、ライセンス管理部２４により、出力テストパターンからＩＰ内部ロジックを再構築し、所望の回路情報（ＩＰコア識別情報ＩＤip）を得る（ＳＴ４）。ベンダ装置２０は、この回路情報に基づいて、ライセンス管理部２４により、ライセンス情報記憶部２２からライセンス情報ＩＤLを検索する（ＳＴ５）。
【０１０４】
ベンダ装置２０は、検索したライセンス情報ＩＤLに対し、確認用のライセンス情報ＩＤLと一致するか否かを判定し（ＳＴ６）、否のときには、全てのライセンス情報ＩＤLと比較したか否かを判定し（ＳＴ７）、否のときには、他のライセンス情報ＩＤLを確認用としてステップＳＴ６に戻る。なお、ステップＳＴ７の判定の結果、全てのライセンス情報ＩＤLと比較した場合には、処理を終了する。
【０１０５】
一方、ステップＳＴ６の判定の結果、検索したライセンス情報ＩＤLが確認用のライセンス情報ＩＤLと一致したとき、ベンダ装置２０は、確認用のライセンス情報ＩＤL及びそれに該当するベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ、ＩＰコア識別情報ＩＤipを画面表示する。
【０１０６】
画面表示されたベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ、ＩＰコア識別情報ＩＤipは、ベンダにより契約に合うか否かが確認される（ＳＴ９）。
【０１０７】
契約に合う場合（ＳＴ９；ＹＥＳ）としては、例えばユーザ識別情報ＩＤｕが正規のユーザを示す場合がある。この場合、ＩＰコア機能回路４２のプログラムｐ１が通常（正常）に使用されていることが分かる。
【０１０８】
一方、契約に合わない場合（ＳＴ９；ＮＯ）としては、例えば正規のユーザ以外（又は正規のユーザと提携する製造者以外）の集積回路装置から、ユーザ識別情報ＩＤｕと一致するユーザ識別情報ＩＤｕ’が検出された場合がある。この場合、盗難、あるいは再販などといった不正使用が行われていることがわかる。
【０１０９】
上述したように本実施形態によれば、第２の実施形態の効果に加え、予めＩＰコア機能回路４２のソースコードにスキャン設計を施したため、スキャンテストの実行により、ライセンス情報ＩＤLに対応するテストパターン情報を電気的に検出できるので、容易にライセンス情報ＩＤLを検出することができる。
【０１１０】
また、ベンダは、ライセンス情報ＩＤLに基づいて、ベンダ識別情報ＩＤｂ、ユーザ識別情報ＩＤｕ、ＩＰコア識別情報ＩＤipを検証することができる。なお、検証は、ベンダに限らず、ユーザが行うことも可能である。
【０１１１】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１１２】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１１３】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【０１１４】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１１５】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１１６】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１１７】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１１８】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【０１１９】
【図１】本発明の第１の実施形態に係るＩＰコア機能回路の保護システムの構成をベンダ装置に中心に示す模式図である。
【図２】同実施形態におけるライセンス情報記憶部の構成を示す模式図である。
【図３】同実施形態におけるライセンス情報記憶部の変形例を示す模式図である。
【図４】同実施形態におけるＩＰコア機能回路を表すプログラムを説明するための模式図である。
【図５】同実施形態における実装された耐タンパＤＥＳ回路の構成を示す模式図である。
【図６】同実施形態における実装された修正Ｓボックスの構成を示す模式図である。
【図７】同実施形態におけるＩＰコア機能回路の保護システムの構成をユーザ装置を中心に示す模式図である。
【図８】本発明の第２の実施形態に係るライセンス情報と等価回路との関係を説明するための模式図である。
【図９】本発明の第３の実施形態に係るＩＰコア機能回路に対するスキャンテストを説明するための模式図である。
【図１０】同実施形態における動作を説明するためのフローチャートである。
【図１１】従来のＩＰコアの保護方式を説明するための模式図である。
【符号の説明】
【０１２０】
２０…ベンダ装置、２１…原プログラム記憶部、２２…ライセンス情報記憶部、２３…受付部、２４…ライセンス管理部、２５…ライセンス情報生成部、２６…埋込部、２７…出力部、３０…試験装置、４０…集積回路装置、４１，４２…ＩＰコア機能回路、４３…等価回路、４４…レジスタ、５０…ユーザ装置、５１…補助記憶装置、５２…主記憶装置、５３…入力Ｉ／Ｆ、５４…ＣＰＵ、５５…出力Ｉ／Ｆ、５６…通信Ｉ／Ｆ、５７…入力Ｉ／Ｆ、５８…出力部、ＮＷ…ネットワーク、ｐ１…プログラム。
【図１】
2008117296.tif 000003
【図２】
2008117296.tif 000004
【図３】
2008117296.tif 000005
【図４】
2008117296.tif 000006
【図５】
2008117296.tif 000007
【図６】
2008117296.tif 000008
【図７】
2008117296.tif 000009
【図８】
2008117296.tif 000010
【図９】
2008117296.tif 000011
【図１０】
2008117296.tif 000012
【図１１】
2008117296.tif 000013