JP2008117296A - Program, integrated circuit device and method for detecting license information - Google Patents
Program, integrated circuit device and method for detecting license information Download PDFInfo
- Publication number
- JP2008117296A JP2008117296A JP2006301859A JP2006301859A JP2008117296A JP 2008117296 A JP2008117296 A JP 2008117296A JP 2006301859 A JP2006301859 A JP 2006301859A JP 2006301859 A JP2006301859 A JP 2006301859A JP 2008117296 A JP2008117296 A JP 2008117296A
- Authority
- JP
- Japan
- Prior art keywords
- core
- license information
- information
- circuit
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、市場に流通している再利用可能なマクロセルとしてのIP(Intellectual Property:知的財産)コアの権利を保護するためのプログラム、集積回路装置及びライセンス情報検出方法に係り、特に、レジスタトランスファレベル(Register Transfer Level:RTL)のハードウェア記述言語(Hardware Description Language:HDL)で記述されたIPコアの権利を保護するプログラム、集積回路装置及びライセンス情報検出方法に関する。 The present invention relates to a program for protecting the right of an IP (Intellectual Property) core as a reusable macro cell distributed in the market, an integrated circuit device, and a license information detection method, and more particularly, a register. The present invention relates to a program, an integrated circuit device, and a license information detection method for protecting IP core rights described in a hardware description language (HDL) of a transfer level (Register Transfer Level: RTL).
近年、コンピュータ支援設計の普及に伴い、再利用可能なマクロセルとしてのIPコアが数多く市場に流通している。ここで、マクロセルとは、複数のセルを組み合わせた回路構成を記述した設計データである。マクロセルには、レイアウトデータ(マスクパターン)であるハードウェア的なマクロセル、およびハードウェア記述言語のライブラリデータやCAD(computer aided design)のシンボルデータであるソフトウェア的なマクロセルの両方を含む。IPコアとは、知的財産となる回路設計データであり、具体的には、再利用を前提に設計された回路の構成を記述したソースコードからなる設計データである。この種のIPコアは、転売や無断使用といった不正からベンダの所有権を守る、あるいはユーザの使用権を守るための権利保護が必要である。 In recent years, with the spread of computer-aided design, many IP cores as reusable macrocells are distributed in the market. Here, the macro cell is design data describing a circuit configuration in which a plurality of cells are combined. The macro cell includes both a hardware macro cell which is layout data (mask pattern) and a software macro cell which is hardware description language library data and CAD (computer aided design) symbol data. The IP core is circuit design data serving as intellectual property, and specifically, design data including source code describing a circuit configuration designed on the assumption of reuse. This type of IP core needs to protect the vendor's ownership from fraud such as resale or unauthorized use, or to protect the rights to protect the user's usage rights.
IPコアに対する権利保護の考え方は、1990年代後半から米のDAC(Design Automation Conf.)などで論じられている。米のEDA(electronic design automation)ベンダは、半導体の物理設計の際に、レイアウトデータであるハードウェアIPコアにトポロジカルにライセンス情報(例、著作権情報など)を電子透かしとして埋め込む方式を提案している。この提案の背景には、ICの破壊型攻撃による、いわゆるリバースエンジニアリングや、非契約の海賊版製造によるIPコアの盗用が横行していたことが挙げられる。しかしながら、レイアウトに埋め込む方式は、レイアウトから光学的にライセンス情報を検出する必要があるため、検証が困難な問題がある。 The idea of protecting the rights to IP cores has been discussed in the US from the late 1990s, such as DAC (Design Automation Conf.). An American EDA (electronic design automation) vendor has proposed a method of embedding license information (eg, copyright information) as a digital watermark topologically in a hardware IP core, which is layout data, in the physical design of a semiconductor. Yes. The background of this proposal is that so-called reverse engineering due to IC destructive attacks and IP core plagiarism due to non-contracted pirated manufacturing were rampant. However, the method of embedding in a layout has a problem that verification is difficult because it is necessary to optically detect license information from the layout.
一方、半導体プロセス技術の進歩により、LSI回路規模の増大と配線の多層化が進むと共に、1チップでシステムを構成するSoC(System on Chip)が主流になる。このため、リバースエンジニアリングは、1チップLSIを破壊・分析するための専門装置と手間隙とがLSIの規模に応じて割に合わないため、廃れてきている。 On the other hand, with the progress of semiconductor process technology, the LSI circuit scale increases and the number of wiring layers increases, and SoC (System on Chip) that constitutes a system with one chip becomes mainstream. For this reason, reverse engineering has been abolished because a specialized device for breaking and analyzing a one-chip LSI and a gap between hands are not appropriate depending on the scale of the LSI.
また、SoCにおいては、LSI設計が複雑なため、ハードウェア記述言語HDLで記述されたソフトウェアとして、再利用可能なIPコアを用いた設計手法が主流となってきている。特に、暗号処理やエラー訂正符号といった比較的制御が単純で、データ・レートの高いデジタル信号処理アプリケーションでは、ハード・ワイヤード論理で実現するRTLベースの再利用可能なIPコアを用いた設計が主流である。 In SoC, since LSI design is complicated, a design method using a reusable IP core is becoming mainstream as software described in the hardware description language HDL. In particular, for digital signal processing applications with relatively simple control such as encryption processing and error correction codes, and high data rates, designs using RTL-based reusable IP cores implemented with hard-wired logic are the mainstream. is there.
すなわち、IPコアに対する権利保護の考え方は、ハードウェアIPコアをリバースエンジニアリングから保護する考え方から、ソフトウェアIPコアのソースコードを保護する考え方に移行してきている。 In other words, the idea of protecting the rights to the IP core has shifted from the idea of protecting the hardware IP core from reverse engineering to the idea of protecting the source code of the software IP core.
ソースコードを保護する例として、2003年にファン(Fan)らが提案した技術が挙げられる(非特許文献1参照)。非特許文献1に記載の技術は、図11に示すように、ライセンス情報を表す数十ビットの電子透かし(Watermark)を生成する電子透かし生成回路12をソフトウェアIPコア10に設けている。このソフトウェアIPコア10は、IPコア機能回路11、電子透かし生成回路12、テスト回路13、レジスタ14、調停回路15及びマルチプレクサ16を備えている。
As an example of protecting the source code, there is a technology proposed by Fan et al. In 2003 (see Non-Patent Document 1). In the technique described in Non-Patent
IPコア機能回路11は、通常モードで動作するIPコア本来の機能回路である。IPコア機能回路11以外の各回路12〜15は、テストモードで動作するテスト用回路である。マルチプレクサ16は、テストモード信号がオフのとき(通常モードのとき)、IPコア機能回路11の出力を通過させ、テストモード信号がオンのとき(テストモードのとき)、電子透かし生成回路12及び調停回路15の出力を順次通過させる回路である。
The IP core
ここで、電子透かし生成回路12は、テストシーケンスの始めに、ライセンス情報を表す電子透かしのビットパターンを出力するので、ソフトウェアIPコア10のソースコードが盗用された場合でも、ライセンス情報を電気信号として容易に検出可能となっている。また、電子透かし生成回路12は、数十ビットのビットパターンの生成回路であるため、回路規模への影響が小さく、ソフトウェアIPコア10に容易に実装可能である。
しかしながら、以上のような非特許文献1に記載の技術では、通常は問題が無いが、本発明者の検討によれば、電子透かし生成回路12がIPコア機能回路11から独立していることから、利用者側で電子透かし生成回路12をIPコアのソースコードから容易に削除、あるいは改ざん可能と考えられる。仮に、ライセンス情報が削除又は改ざんされた場合、IPコアの権利が保護されなくなってしまう。
However, the technique described in Non-Patent
本発明は上記実情を考慮してなされたもので、IPコア回路のソースコードからライセンス情報の削除及び改ざんを阻止でき、IPコアの権利を保護し得るプログラム、集積回路装置及びライセンス情報検出方法を提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and a program, an integrated circuit device, and a license information detection method capable of preventing the deletion and alteration of license information from the source code of the IP core circuit and protecting the rights of the IP core. The purpose is to provide.
第1の発明は、メモリ及びコンパイラを有するコンピュータに用いられ、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で記述されたソースコードからなり、再利用可能なマクロセルとして記述されたIPコアのコードを含むプログラムであって、前記IPコアのコードとしては、予めライセンス情報が埋め込まれており、前記マクロセルとしては、前記IPコアに基づいて実装されるIPコア回路の、図形を含む構成を記述した設計データであり、前記プログラム本体としては、前記コンピュータによるコンピュータ支援設計の際に、当該コンピュータを、前記メモリに記憶した前記ソースコードを前記コンパイラにより翻訳し、得られた結果に基づいて、前記IPコア回路の図形を表示する手段、として機能させるためのプログラムである。 The first invention is a computer having a memory and a compiler, and is composed of source code written in a register transfer level hardware description language in computer-aided design, and an IP core code written as a reusable macro cell The license information is embedded in advance as the IP core code, and the macro cell describes the configuration including the figure of the IP core circuit implemented based on the IP core. Design data, and the program main body, when performing computer-aided design by the computer, the computer translates the source code stored in the memory by the compiler, and based on the obtained result, the IP Means for displaying a graphic of the core circuit; Is a program to function with.
第2の発明は、再利用可能なマクロセルとしてのIPコアに基づいて実装されたIPコア回路を備えた集積回路装置であって、前記IPコア回路としては、予めライセンス情報に基づく値を保持するレジスタを備えた集積回路装置である。 A second invention is an integrated circuit device including an IP core circuit implemented based on an IP core as a reusable macro cell, and the IP core circuit holds a value based on license information in advance. An integrated circuit device having a register.
第3の発明は、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で予めライセンス情報が埋め込まれて記述されたIPコアのソースコードに関し、このソースコードに基づいて実装されたIPコア回路を含む集積回路装置から前記ライセンス情報を検出するライセンス情報検出方法であって、前記IPコア回路内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、前記ソースコードにスキャン設計を施す工程と、前記スキャン設計の後、前記IPコア回路を前記集積回路装置に実装する工程と、前記実装されたIPコア回路に前記スキャンテストを実行する工程と、前記スキャンテストの実行により、前記ライセンス情報に対応するテストパターン情報を電気的に検出する工程とを備えたライセンス情報検出方法である。 A third invention relates to an IP core source code in which license information is embedded in advance in a register transfer level hardware description language in computer-aided design, and includes an IP core circuit implemented based on the source code. A license information detection method for detecting the license information from an integrated circuit device, wherein a scan design is applied to the source code so that a plurality of registers in the IP core circuit are connected in series to enable a scan test. A step of mounting the IP core circuit on the integrated circuit device after the scan design, executing the scan test on the mounted IP core circuit, and executing the scan test. Electrically detecting test pattern information corresponding to the information A license information detection method with.
(作用)
従って、第1〜第3の各発明は、IPコアのコードとしては、予めライセンス情報が埋め込まれているので、IPコアのソースコードからライセンス情報の削除及び改ざんを阻止でき、IPコアの権利を保護することができる。
(Function)
Therefore, in each of the first to third inventions, the license information is pre-embedded as the IP core code. Therefore, it is possible to prevent the license information from being deleted and falsified from the IP core source code, and to protect the IP core right. Can be protected.
これに加え、第3の発明は、予めIPコア回路のソースコードにスキャン設計を施したため、スキャンテストの実行により、ライセンス情報に対応するテストパターン情報を電気的に検出できるので、容易にライセンス情報を検出することができる。 In addition, since the third invention scans the source code of the IP core circuit in advance, the test pattern information corresponding to the license information can be electrically detected by executing the scan test. Can be detected.
以上説明したように本発明によれば、IPコア機能回路のソースコードからライセンス情報の削除及び改ざんを阻止でき、IPコアの権利を保護できる。 As described above, according to the present invention, it is possible to prevent the license information from being deleted and falsified from the source code of the IP core functional circuit, and to protect the IP core right.
以下、本発明の各実施形態について図面を参照して説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係るIPコア機能回路の保護システムの構成を示す模式図であり、保護システム内のベンダ装置の構成を具体的に示している。
Embodiments of the present invention will be described below with reference to the drawings.
(First embodiment)
FIG. 1 is a schematic diagram showing the configuration of a protection system for an IP core functional circuit according to the first embodiment of the present invention, and specifically shows the configuration of a vendor apparatus in the protection system.
この保護システムは、ベンダ(供給者)装置20、ユーザ(提供者)装置50及び別のユーザ装置50’,…、が互いにネットワークNWを介して接続されている。なお、ユーザ装置50及び別のユーザ装置50’,…、は、互いに異なるライセンス情報が埋め込まれたプログラムp1を使用するユーザ装置であり、互いに同一のハードウェア構成を有する。このため、以下の説明はユーザ装置50を代表例に挙げて述べる。また、ベンダ装置20は、試験装置30を介して集積回路装置40内のIPコア機能回路(IPコアに基づいて実装されたIPコア回路)41からライセンス情報に対応するテストパターン情報を検出可能となっている。
In this protection system, a vendor (supplier)
ここで、ベンダ装置20は、原プログラム記憶部21、ライセンス情報記憶部22、受付部23、ライセンス管理部24、ライセンス情報生成部25、埋込部26及び出力部27を備えている。
The
原プログラム記憶部21は、ライセンス管理部27から読出可能な記憶装置であり、ライセンス情報IDLが未だ埋め込まれていない原プログラムが記憶されている。ここで、原プログラムは、レジスタトランスファーレベルRTLのハードウェア記述言語HDLで記述されたソースコードからなり、再利用可能なマクロセルとして記述されたIPコアのコードを含むプログラムであって、ライセンス情報IDLの埋め込み前の状態である。ここで、マクロセルは、IPコアに基づいて実装されるIPコア機能回路41の、シンボル(回路図形)を含む構成を記述した設計データである。なお、一般的なマクロセルは、前述した通り、レイアウト(マスクパターン図形)データ、ライブラリデータおよびシンボルデータを含んでいる。但し、本実施形態では、マクロセルに記述された図形がシンボル(回路図形)である場合を代表例に挙げて説明している。
The original
ライセンス情報記憶部22は、ライセンス管理部27から読出/書込可能な記憶装置であり、図2に示すように、ライセンス情報IDL毎に、ベンダ識別情報IDb、ユーザ識別情報IDu及びIPコア識別情報IDipが互いに関連付けられて記憶されている。ここで、ライセンス情報IDLは、各識別情報IDb,IDu,IDipに基づいて生成される擬似乱数rnd(S)が用いられている。詳しくは、ライセンス情報IDLは、各識別情報IDb,IDu,IDipの和に一方向性ハッシュ関数h( )を施し、得られたハッシュ値からなるシード情報S=h(IDb+IDu+IDip)から乱数生成器(擬似乱数生成器)により生成された擬似乱数rnd(S)が用いられている。なお、Sの式中、加算“+”を連接“‖”に代えてもよい。
The license
但し、ライセンス情報IDLは、各識別情報IDb,IDu,IDipに個別に対応する情報であればよい。例えば、図3に示す変形例では、ライセンス情報IDLは、各識別情報IDb,IDu,IDipに基づいて生成される暗号化情報Enc(K,M)が用いられている。詳しくは、ライセンス情報IDLは、ベンダ識別情報IDbに対応する鍵情報Kに従って、ユーザ識別情報IDu及びIPコア識別情報IDipに対応するメッセージダイジェスト情報Mを暗号化してなる暗号化情報Enc(K,M)が用いられている。ここで、鍵情報Kは、ベンダ識別情報IDbのハッシュ値からなる値K=h(IDb)である。メッセージダイジェスト情報Mは、ユーザ識別情報IDu及びIPコア識別情報IDipのハッシュ値からなる値M=h(IDu+IDip)である。なお、Mの式中、加算“+”を連接“‖”に代えてもよい。 However, the license information IDL may be information corresponding to each identification information IDb, IDu, IDip. For example, in the modification shown in FIG. 3, the license information IDL uses encrypted information Enc (K, M) generated based on the identification information IDb, IDu, IDip. Specifically, the license information IDL is encrypted information Enc (K, M) obtained by encrypting the message digest information M corresponding to the user identification information IDu and the IP core identification information IDip according to the key information K corresponding to the vendor identification information IDb. ) Is used. Here, the key information K is a value K = h (IDb) consisting of a hash value of the vendor identification information IDb. The message digest information M is a value M = h (IDu + IDip) composed of hash values of the user identification information IDu and the IP core identification information IDip. In addition, in the formula of M, the addition “+” may be replaced with the concatenation “‖”.
ライセンス情報IDLの必要十分条件は、ベンダ(供給者)がユーザ(提供先)に提供したプログラムp1が表すIPコア機能回路(例、耐タンパDES(Data Encryption Standard)回路41)がユーザの集積回路装置40に実装されていることが分かる情報であるということである。このIPコア機能回路が提供先以外の集積回路装置に実装されている場合、集積回路装置の製作者は攻撃者であることがわかる。ライセンス情報によってベンダはIPコアの販売権を、ユーザは自社の集積回路装置でIPコアの使用権を主張できる。
The necessary and sufficient condition for the license information IDL is that the IP core function circuit (for example, the tamper resistant DES (Data Encryption Standard) circuit 41) represented by the program p1 provided by the vendor (supplier) to the user (provider) is the integrated circuit of the user. This means that the information is understood to be mounted on the
これに伴い、ベンダ識別情報IDbは、少なくともベンダを識別可能な情報である必要があり、他に関連情報を含んでいてもよい。同様に、ユーザ識別情報IDuは、少なくともユーザを識別可能な情報である必要があり、他に関連情報を含んでいてもよい。また、IPコア識別情報IDipは、少なくともIPコアを識別可能な情報であり、実装された回路からライセンス情報IDLを検索可能とする観点から、IPコア機能回路の詳細情報を含むことが好ましい。IPコア機能回路の詳細情報としては、例えば、レジスタの初期値やマスク値などの数値情報、及び/又は等価回路の構成などの構成情報が使用可能となっており、IPコアの一部と重複する情報でもよい。 Accordingly, the vendor identification information IDb needs to be information that can identify at least the vendor, and may include other related information. Similarly, the user identification information IDu needs to be information that can identify at least a user, and may include other related information. The IP core identification information IDip is information that can identify at least the IP core, and preferably includes detailed information of the IP core functional circuit from the viewpoint of enabling the license information IDL to be retrieved from the mounted circuit. As detailed information of the IP core functional circuit, for example, numerical information such as initial values and mask values of registers and / or configuration information such as the configuration of an equivalent circuit can be used, which overlaps with a part of the IP core. It may be information.
受付部23は、ユーザ装置50からプログラムp1を指定したプログラム送信要求及びユーザ識別情報IDuを受け付けると、これらユーザ識別情報IDu及びプログラム送信要求をライセンス管理部24に送出する機能をもっている。
The accepting
ライセンス管理部24は、受付部23からユーザ識別情報IDu及びプログラム送信要求を受けると、指定されたプログラムp1の原プログラムを原プログラム記憶部21から読み出す機能と、この原プログラムのIPコア識別情報IDipを、ユーザ識別情報IDu及び自己のベンダ識別情報IDbと共にライセンス情報生成部24に送出する機能と、ライセンス情報生成部24から受けたライセンス情報IDLをベンダ識別情報IDb、ユーザ識別情報IDu及びIPコア識別情報IDipに関連付けてライセンス情報記憶部22に書き込む機能と、ライセンス情報IDL及び原プログラムを埋込部25に送出する機能と、埋込部25から受けたプログラムp1を出力部26を介してユーザ装置50に送信する機能と、ベンダの操作により、試験装置30を介して集積回路装置40内の耐タンパDES回路41からライセンス情報IDLに対応する出力テストパターンを検出する機能とをもっている。
Upon receiving the user identification information IDu and the program transmission request from the
ライセンス情報生成部25は、ライセンス管理部24から受けたIPコア識別情報IDip、ユーザ識別情報IDu及び自己のベンダ識別情報IDbに基づいて、ライセンス情報IDLを生成する機能と、得られたライセンス情報IDLをライセンス管理部24に送出する機能とをもっている。ライセンス情報IDLを生成する機能は、ライセンス情報IDLの生成に必要な演算機能・変換機能などであり、例えばライセンス情報IDLが前述した擬似乱数rnd(S)の場合、ハッシュ値の演算機能及び擬似乱数の生成機能などから構成される。また、ライセンス情報IDLが前述した暗号化情報Enc(K,M)の場合、ライセンス情報IDLの生成機能は、ハッシュ値の演算機能及び暗号化処理機能などから構成される。
The license
埋込部26は、ライセンス管理部24から受けたライセンス情報IDL及び原プログラムに基づいて、ライセンス情報IDLを原プログラムに埋め込む機能と、埋め込みにより得られたプログラムp1をライセンス管理部24に送出する機能とをもっている。
The embedding
ここで、プログラムp1は、レジスタトランスファーレベルRTLのハードウェア記述言語HDLで記述されたソースコードからなり、再利用可能なマクロセルとしてのIPコアのコードを含むプログラムである。具体的にはプログラムp1は、IPコアのコードに部分的に、予めライセンス情報が埋め込まれている。また、プログラムp1は、ユーザ装置50によるコンピュータ支援設計の際に、ユーザ装置50のコンピュータを、メモリに記憶したソースコードをコンパイラにより翻訳し、得られた結果に基づいて、IPコア機能回路41のシンボル(図形)を表示する手段、として機能させるためのプログラムである。
Here, the program p1 is a program that includes source code described in the hardware description language HDL of the register transfer level RTL, and includes IP core code as a reusable macro cell. Specifically, in the program p1, license information is partially embedded in the IP core code in advance. In addition, the program p1 is a computer-aided design by the
プログラムp1としては、IPコアのコードとして耐タンパDESが記述された例を説明する。なお、耐タンパDESは、サイドチャネル攻撃の一つであるDPA(differential Power Analysis:電力差分解析)への対策としてよく知られており、マスク値が用いられている。耐タンパDESの詳細は、例えば文献(An Implementation of DES and AES, Secure against Some Attacks, M. Akkar, C. Giraud, CHES 2001, pp309-318)に記載されている。 As the program p1, an example in which tamper resistant DES is described as an IP core code will be described. Note that tamper resistant DES is well known as a countermeasure against DPA (differential power analysis), which is one of side channel attacks, and a mask value is used. Details of tamper resistant DES are described in, for example, literature (An Implementation of DES and AES, Secure against Some Attacks, M. Akkar, C. Giraud, CHES 2001, pp309-318).
具体的にはプログラムp1は、図4に示すように、IPコア機能回路が耐タンパDES(図5及び図6参照)の場合に、耐タンパDESの64ビットのマスク値X,X1,X2にライセンス情報IDLが分散して埋め込まれている。但し、プログラムp1には、ライセンス情報IDLを含む旨は記述されない。 Specifically, as shown in FIG. 4, when the IP core functional circuit is tamper resistant DES (see FIGS. 5 and 6), the program p1 sets the tamper resistant DES 64-bit mask values X, X1, and X2. License information IDL is distributed and embedded. However, the fact that the license information IDL is included is not described in the program p1.
補足すると、図5及び図6中に斜線で表された部分がライセンス情報IDLを埋め込むマスク値の場所である。マスク値X,X1,X2にライセンス情報IDLをマップし、修正Sボックス(以下、MSボックスという)を用いることによって、ユーザ毎に異なる回路構成のDESを提供可能となっている。 Supplementally, the hatched portion in FIGS. 5 and 6 is the location of the mask value in which the license information IDL is embedded. By mapping the license information IDL to the mask values X, X1, and X2 and using a modified S box (hereinafter referred to as an MS box), it is possible to provide a DES having a different circuit configuration for each user.
ここで、修正Sボックスは、図4に示したように、次式で表される。
MS-box(A) = S-box(A xor X2) xor P-1(X1_L xor X1_H)
但し、MS−box:修正Sボックス、A:修正SボックスMS−boxへの入力、S−box:Sボックス、xor:排他的論理和、P-1:置換Pの逆変換処理、X1_H:マスク値X1の上位32ビット分、X1_L:マスク値X1の下位32ビット分。また、図4〜図6中の他の記号は以下の通りである。
Here, the corrected S box is represented by the following equation as shown in FIG.
MS-box (A) = S-box (A xor X2) xor P -1 (X1_L xor X1_H)
However, MS-box: modified S box, A: input to modified S box MS-box, S-box: S box, xor: exclusive OR, P -1 : inverse transformation process of substitution P, X1_H: mask Upper 32 bits of value X1, X1_L: Lower 32 bits of mask value X1. The other symbols in FIGS. 4 to 6 are as follows.
m:メッセージ情報(平文)、丸内に十字:排他的論理和(xor)、IP:初期置換処理、A1:初期置換IPの出力、EP:拡大置換処理、K:鍵情報、P:置換処理、IP-1:初期置換IPの逆変換処理、C:暗号文。 m: message information (plain text), cross in circle: exclusive OR (xor), IP: initial replacement processing, A1: output of initial replacement IP, EP: expansion replacement processing, K: key information, P: replacement processing , IP −1 : reverse conversion process of initial replacement IP, C: ciphertext.
このようなプログラムp1においては、マスク値X1,X2がラウンド関数の中に分散して存在しており、修正Sボックスがマスク値X1,X2に対応して改変されている。このため、マスク値X,X1,X2の中でも特に、マスク値X1,X2の単純な変更が困難となっている。 In such a program p1, the mask values X1 and X2 are distributed in the round function, and the modified S box is modified corresponding to the mask values X1 and X2. For this reason, it is difficult to change the mask values X1 and X2 among the mask values X, X1 and X2.
なお、プログラムp1内のIPコアのコードとしては、耐タンパDESに限らず、任意のIPコア機能回路を記述可能なことは言うまでもない。 Needless to say, the IP core code in the program p1 is not limited to tamper-resistant DES, and any IP core functional circuit can be described.
図4に示したプログラムp1は、後述するユーザ装置50にてコンピュータ支援設計(CAD)に用いられ、図5及び図6に示した耐タンパDES回路41として集積回路装置40内に実装される。
The program p1 shown in FIG. 4 is used for computer-aided design (CAD) in the
出力部27は、ライセンス管理部24から受けたプログラムp1をプログラム送信要求の送信元(ユーザ装置50)に送信する機能をもっている。
The
試験装置30は、ベンダ装置20に制御され、ライセンス情報IDLに対応するマスク値X,X1,X2を検出するための入力テストパターンを耐タンパDES回路41に入力する機能と、耐タンパDES回路41からマスク値X,X1,X2に対応する出力テストパターンを検出する機能と、出力テストパターンをベンダ装置20に送出する機能とをもっている。
The
集積回路装置40は、LSI又はIC等のハードウェア回路装置であり、ユーザ装置50によるコンピュータ支援設計により設計され、プログラムp1に記述されたIPコア機能回路としての耐タンパDES回路41が実装されている。
The
耐タンパDES回路41は、プログラムp1内のIPコアのコードに基づいて実装された回路であり、ライセンス情報IDLに基づくマスク値X,X1,X2を保持する複数のレジスタを備え、各レジスタが互いに分散して配置されている。なお、耐タンパDESについては、図4〜図6を用いて述べた通りである。
The tamper
一方、ユーザ装置50は、図7に示すように、通常のコンピュータ機能を有し、補助記憶装置51、主記憶装置52、入力I/F53、CPU54、出力I/F55及び通信I/F56が互いにバスを介して接続されている。入力I/F53には入力部57が接続されている。出力I/F55には出力部58が接続されている。通信I/F56はネットワークNWに接続されている。
On the other hand, as shown in FIG. 7, the
補助記憶装置51は、CPU54から読出/書込可能なハードディスク等の記憶装置であり、CAD情報ファイルf、CADプログラムpcad及びプログラム(耐タンパDES)p1が記憶されている。
The
主記憶装置52は、CPU54から読出/書込可能なRAM等の記憶装置であり、CADプログラムpcadの実行時に、各プログラムpcad,p1及びCAD情報ファイルf等が読出/書込される。
The
入力I/F53は、入力部57とユーザ装置50内との間のインターフェイス機能をもっている。
The input I /
CPU54は、ユーザの操作により、プログラムp1を指定したプログラム送信要求及びユーザ識別情報IDuを通信I/F56及びネットワーク20を介してベンダ装置20に送信する機能と、ベンダ装置20からネットワークNW及び通信I/F56を介して受けたプログラムp1を補助記憶装置51に書き込む機能とをもっている。
The
また、CPU54は、補助記憶装置51内のCADプログラムpcadを実行可能なものであり、CADプログラムpcadの実行時には、記憶装置51,52内のCAD情報ファイルf及びプログラムp1を参照しつつ、集積回路装置40の設計を実行する機能をもっている。
The
出力I/F55は、ユーザ装置50内と出力部58との間のインターフェイス機能をもっている。
The output I /
通信I/F56は、ユーザ装置50内とネットワークNWとの間のインターフェイス機能をもっている。
The communication I /
入力部57は、ユーザに操作されるキーボード及びマウス等の入力デバイスであり、入力I/F53に接続されている。
The
出力部58は、出力I/F57の出力データを表示出力する表示デバイスである。
The
次に、以上のように構成されたIPコア機能回路の保護システムの動作を説明する。
始めに、ユーザ装置50は、ユーザの操作により、プログラムp1を指定したプログラム送信要求及びユーザ識別情報IDuをネットワーク20を介してベンダ装置20に送信する。
Next, the operation of the protection system for the IP core functional circuit configured as described above will be described.
First, the
ベンダ装置20においては、受付部23が、プログラム送信要求及びユーザ識別情報IDuを受け付けると、これらユーザ識別情報IDu及びプログラム送信要求をライセンス管理部24に送出する。
In the
ライセンス管理部24は、ユーザ識別情報IDu及びプログラム送信要求を受けると、指定されたプログラムp1の原プログラムを原プログラム記憶部21から読み出し、この原プログラムのIPコア識別情報IDipを、ユーザ識別情報IDu及び自己のベンダ識別情報IDbと共にライセンス情報生成部24に送出する。
Upon receiving the user identification information IDu and the program transmission request, the
ライセンス情報生成部25は、IPコア識別情報IDip、ユーザ識別情報IDu及び自己のベンダ識別情報IDbに基づいて、次の式(1),(2)に基づいて、ライセンス情報IDLを生成する。
The license
S = h(IDb+IDu+IDip) …(1)
IDL = rnd(S) (2)
また、ライセンス情報生成部25は、式(1),(2)に代えて、次の式(3)〜(5)に基づいて、ライセンス情報IDLを生成してもよい。
S = h (IDb + IDu + IDip) (1)
IDL = rnd (S) (2)
Further, the license
K = h(IDb) …(3)
M = h(IDu+IDip) …(4)
IDL = Enc(K,M) …(5)
いずれにしても、ライセンス情報生成部25は、得られたライセンス情報IDLをライセンス管理部24に送出する。
K = h (IDb) (3)
M = h (IDu + IDip) (4)
IDL = Enc (K, M) (5)
In any case, the license
ライセンス管理部24は、ライセンス情報IDLをベンダ識別情報IDb、ユーザ識別情報IDu及びIPコア識別情報IDipに関連付けてライセンス情報記憶部22に書き込んだ後、ライセンス情報IDL及び原プログラムを埋込部25に送出する。
The
埋込部26は、ライセンス情報IDL及び原プログラムに基づいて、ライセンス情報IDLを原プログラム内のIPコアのコードに埋め込んだ後、得られたプログラムp1をライセンス管理部24に送出する。
The embedding
ライセンス管理部24は、プログラムp1を出力部26を介して、プログラム送信要求の送信元(ユーザ装置50)に送信する。
The
一方、ユーザ装置50は、ベンダ装置20から受けたプログラムp1を補助記憶装置51に書き込む。
On the other hand, the
続いて、ユーザ装置50は、ユーザの操作により、CADプログラムpcadを実行する。CADプログラムpcadの実行時には、記憶装置51,52内のCAD情報ファイルf及びプログラムp1を参照しつつ、集積回路装置40の設計処理を実行する。
Subsequently, the
このとき、ユーザ装置50は、CADプログラムpcadによるコンピュータ支援設計の際に、メモリに記憶したプログラムp1のソースコードをコンパイラにより翻訳し、得られた結果に基づいて、耐タンパDESを表すIPコア機能回路を画面表示する。
At this time, the
ユーザ装置50は、ユーザの操作により、表示された耐タンパDESを集積回路装置の一部に配置し、集積回路装置の設計処理を実行する。
The
設計処理の後、得られた設計情報を実装した集積回路装置40がユーザ(又は図示しない製造者)により製造される。この集積回路装置40には、耐タンパDES回路41が実装されている。
After the design process, the
この集積回路装置40は、適宜、販売され、流通する。
The
次に、流通している集積回路装置40のライセンス情報IDLを確認したい場合について説明する。この確認は、ここではベンダが行う例を述べるが、これに限らず、同様の試験装置30の使用により、ユーザ又は任意の第三者が行うこともできる。
Next, a case where the license information IDL of the distributed
ベンダ装置20においては、ベンダの操作により、ライセンス管理部24が試験装置30を制御する。
In the
試験装置30は、ベンダ装置20からの制御により、ライセンス情報IDLに対応するマスク値X,X1,X2を検出するための入力テストパターンを耐タンパDES回路41に入力し、折り返し、耐タンパDES回路41からマスク値X,X1,X2に対応する出力テストパターンを検出する。この出力テストパターンは、試験装置30からベンダ装置20に送出される。
The
ベンダ装置20は、ライセンス管理部24により、この出力テストパターンに対応するライセンス情報IDLに基づいて、ライセンス情報記憶部22を検索し、該当するベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipを画面表示する。
The
画面表示されたベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipは、ベンダにより確認される。ユーザ以外又はユーザと提携する製造者以外の集積回路装置から、ユーザ識別情報IDuと一致するユーザ識別情報IDu’が検出された場合は、盗難、あるいは再販などといった不正使用が行われていることがわかる。 The vendor identification information IDb, user identification information IDu, and IP core identification information IDip displayed on the screen are confirmed by the vendor. If user identification information IDu ′ that matches the user identification information IDu is detected from an integrated circuit device other than the user or a manufacturer that is affiliated with the user, illegal use such as theft or resale may be performed. Recognize.
上述したように本実施形態によれば、IPコア回路としての耐タンパDES回路41には、予めライセンス情報IDLがIPコアのコードに埋め込まれているので、IPコア機能回路のソースコードからライセンス情報IDLの削除及び改ざんを阻止でき、もって、IPコアの権利を保護することができる。
As described above, according to the present embodiment, since the license information IDL is embedded in the IP core code in the tamper
例えば、IPコア機能回路の設計時に、IPコアの論理回路自体にライセンス情報を埋め込む構成により、ライセンス情報IDLを削除又は改ざんすると、IPコア回路が正常に動作しなくなるので、ライセンス情報IDLを削除及び改ざんすることができない。 For example, when designing the IP core functional circuit, if the license information IDL is deleted or altered by the configuration in which the license information is embedded in the IP core logic circuit itself, the IP core circuit will not operate normally. It cannot be tampered with.
これに加え、次の第1の効果(i)から第4の効果(iv)までを得ることができる。
(i)ライセンス情報を電気信号として検出できる。
(ii)ライセンス情報の埋め込みに伴い、回路規模が大きく増加しない。
(iii)ライセンス情報を検出するためにIPコアに特別な端子を設ける必要がない。
(iv)設計の後工程の論理合成、配置配線に伴い、ライセンス情報が変形又は消去しない。
In addition, the following first effect (i) to fourth effect (iv) can be obtained.
(I) License information can be detected as an electrical signal.
(Ii) The circuit scale does not increase greatly as license information is embedded.
(Iii) It is not necessary to provide a special terminal in the IP core in order to detect license information.
(Iv) The license information is not deformed or deleted with logic synthesis and placement and routing in the post-design process.
例えば、テスト時の集積回路装置40からの出力データとして、ライセンス情報に対応する出力テストパターンを検出することにより、第1の効果(i)を得ることができる。
For example, the first effect (i) can be obtained by detecting the output test pattern corresponding to the license information as the output data from the
また、64ビットのマスク値としてライセンス情報IDLを埋め込むことから、埋め込みの前後でマスク値のビット数に変化が無いので、第2の効果(ii)を得ることができる。 Further, since the license information IDL is embedded as a 64-bit mask value, the number of bits of the mask value does not change before and after the embedding, so that the second effect (ii) can be obtained.
また、ライセンス情報IDLがRTLに回路記述として記載される構成により、論理合成によりスタンダードセルの一部となり、配置配線により個々のトランジスタとなってシリコン上に実装されるため、論理合成、自動配置配線での耐性を持ち、第3及び第4の効果(iii),(iv)を得ることができる。 In addition, since the license information IDL is described as a circuit description in the RTL, it becomes a part of a standard cell by logic synthesis and becomes an individual transistor by placement and routing and mounted on silicon. The third and fourth effects (iii) and (iv) can be obtained.
(第2の実施形態)
次に、本発明の第2の実施形態に係るIPコア機能回路の保護システムについて説明するが、その前に本実施形態の概要を述べる。本実施形態は、ライセンス情報IDLがマスク値等の値に対応する第1の実施形態とは異なり、ライセンス情報IDLが等価回路の構成に対応する形態である。
(Second Embodiment)
Next, an IP core functional circuit protection system according to a second embodiment of the present invention will be described, but before that, an outline of the present embodiment will be described. In the present embodiment, unlike the first embodiment in which the license information IDL corresponds to a value such as a mask value, the license information IDL corresponds to a configuration of an equivalent circuit.
具体的には、ライセンス情報IDLを、AES(Advanced Encryption Standard)のSボックスにおける合成体の等価変換により得られる等価回路に対応させている。 Specifically, the license information IDL is made to correspond to an equivalent circuit obtained by equivalent conversion of a composite in an AES (Advanced Encryption Standard) S box.
例えば、AESのSボックスでは、図8(a)に示すように、式(6)の規約多項式m(x)によるガロア体GF(28)上の乗法逆元演算とアフィン変換の組み合わせが用いられる。 For example, in the S box of AES, as shown in FIG. 8 (a), a combination of multiplicative inverse operation and affine transformation on Galois field GF (2 8 ) using the regular polynomial m (x) of equation (6) is used. It is done.
m(x) = x8 + x4 + x3 + x + 1 …(6)
AESのSボックスをルックアップテーブルではなく、合成体で等価変換して積和論理形により設計して省ゲート化したり、他の暗号アルゴリズムと回路共有をする研究報告が知られている。このような研究報告としては、例えば、文献D1:“SPN型ブロック暗号の実装について”清水,佐野,本山,大熊,信学技報、又は文献D2:“GF(((22)2)2)上の演算を用いたAESのS−Box構成法”森岡,佐藤,高野,宗藤,情報処理学会第63回(平成13年後期)全国大会予稿集3-513、がある。
m (x) = x 8 + x 4 + x 3 + x + 1 ... (6)
Research reports are known in which the AES S-box is equivalently transformed with a composite field instead of a lookup table, designed with a product-sum logic form to save gates, and circuit sharing with other cryptographic algorithms. As such a research report, for example, Document D1: “About implementation of SPN type block cipher” Shimizu, Sano, Motoyama, Okuma, Shingaku Giho, or Document D2: “GF (((2 2 ) 2 ) 2 ) AES S-Box construction method using the above calculation “Morioka, Sato, Takano, Soto, and Information Processing Society 63rd (late 2001) National Conference Proceedings 3-513.
文献D1によれば、GF(24)上の規約多項式が3通り存在し、GF(24)上の元を係数とする2次の規約多項式が120通り存在し、それぞれの規約多項式について8通りの同形写像が存在し、全部を掛け合わせると2880通りの組み合わせが存在する(図8(b)参照)。 According to the literature D1, GF (2 4) Terms polynomial over exist are three secondary conventions polynomial to the original coefficients on GF (2 4) are present ways 120, for each of the terms polynomial 8 There are street isomorphisms, and when they are multiplied together, there are 2880 combinations (see FIG. 8B).
文献D2では、GF(((22)2)2)の合成体を利用している(図8(c)参照)。なお、図8(b)と図8(c)との間の矢印は、後述する組み合わせ回路を説明するためのものであり、文献D1,D2に記載及び示唆は無い。 Document D2 uses a synthetic product of GF (((2 2 ) 2 ) 2 ) (see FIG. 8C). In addition, the arrow between FIG.8 (b) and FIG.8 (c) is for demonstrating the combinational circuit mentioned later, and there is no description or suggestion in literature D1, D2.
すなわち、本実施形態は、文献D1に示す同形写像と、文献D2に示す合成体との組み合わせをライセンス情報IDLとマップすることで、ユーザ(提供先)毎に同じ機能で、異なる組み合わせ回路を持つIPコア機能回路のプログラムを生成することができる。 That is, this embodiment maps the combination of the isomorphism shown in the document D1 and the composite shown in the document D2 with the license information IDL, so that each user (providing destination) has a different combinational circuit with the same function. A program for the IP core functional circuit can be generated.
具体的には例えば、ハードウェア記述言語HDLで記述される同形写像と合成体の組合せ(回路構成)を表すIPコア識別情報IDipと、ライセンス情報IDLとを互いに関連付けて記憶することにより、後日、同形写像と合成体の組合せが実装されてなる同形写像演算回路及び逆元演算回路に基づき、ライセンス情報IDLを検出することができる。 Specifically, for example, by storing the IP core identification information IDip representing the combination (circuit configuration) of the isomorphic mapping described in the hardware description language HDL and the composite, and the license information IDL in association with each other, The license information IDL can be detected based on an isomorphic map operation circuit and an inverse element operation circuit in which a combination of the isomorphism map and the composite is implemented.
本実施形態では、ライセンス情報IDLがレジスタの初期値などのビット列としてではなく、同形写像の行列式や逆元演算を実行する論理・算術演算回路といった組み合わせ回路に配置されるため、より解析が困難である利点を持つ。また、等価変換の組み合わせにより回路規模にばらつきが生じるものの、前述した第2の効果(ii:回路規模が大きく増大しない効果)を得ることができる。 In this embodiment, since the license information IDL is not arranged as a bit string such as an initial value of a register, but is arranged in a combinational circuit such as a determinant of an isomorphic mapping or a logic / arithmetic arithmetic circuit for executing an inverse operation, analysis is more difficult. With the advantage of being. Moreover, although the circuit scale varies depending on the combination of equivalent conversions, the above-described second effect (ii: an effect that the circuit scale does not increase greatly) can be obtained.
以上が第2の実施形態の概要である。続いて、本実施形態に係るIPコア機能回路の保護システムについて述べる。 The above is the outline of the second embodiment. Next, the protection system for the IP core functional circuit according to this embodiment will be described.
本実施形態においては、ベンダ装置20及びユーザ装置50の構成は、第1の実施形態と同一である。但し、ライセンス情報IDLに対応するマスク値が記述されたプログラムp1に代えて、ライセンス情報IDLに対応する等価回路が記述されたプログラムp1’が使用されている。これに伴い、ライセンス情報記憶部22内のIPコア識別情報IDipは、等価回路の構成の記述を含む内容となっている。
In the present embodiment, the configurations of the
補足すると、プログラムp1’に含まれるIPコアのコードは、ライセンス情報IDL毎に、互いに同一のアルゴリズム及びレイテンシ(待ち時間)を有しつつ回路構成が異なる等価回路として記述されている。このため、プログラムp1’により実装されたIPコア機能回路は、ライセンス情報IDL毎に、互いに同一のアルゴリズム及びレイテンシ(待ち時間)を有しつつ回路構成が異なる等価回路として形成される。 Supplementally, the code of the IP core included in the program p1 'is described as an equivalent circuit having the same algorithm and latency (latency) for each license information IDL but having different circuit configurations. For this reason, the IP core function circuit implemented by the program p1 'is formed as an equivalent circuit having the same algorithm and latency (waiting time) for each license information IDL but having different circuit configurations.
以上のような構成としても、前述同様に、試験装置30によって集積回路装置40内のIPコア機能回路からライセンス情報IDLに対応する出力テストパターンを検出することにより、IPコア機能回路のライセンス情報IDLを確認できるため、第1の実施形態の効果を得ることができる。これに加え、第2の実施形態によれば、ライセンス情報IDLが等価回路の構成に対応するため、より解析が困難であり、削除及び改ざんには別の等価回路を設計する必要があることから、削除及び改ざんを極めて困難とすることができる。
Even in the above configuration, the license information IDL of the IP core function circuit is detected by detecting the output test pattern corresponding to the license information IDL from the IP core function circuit in the
(第3の実施形態)
次に、本発明の第3の実施形態に係るIPコア機能回路の保護システムについて説明する。本実施形態は、第2の実施形態の具体例であり、ライセンス情報IDLを検出する試験について具体的に述べた形態である。
(Third embodiment)
Next, an IP core functional circuit protection system according to a third embodiment of the present invention will be described. This embodiment is a specific example of the second embodiment and specifically describes a test for detecting license information IDL.
ライセンス情報IDLを検出する手法としては、電気信号として検出可能なように、一般的なASIC(Application Specific Integrated Circuit:特定用途向け集積回路)の設計テスト容易化手法であるスキャンテストを用いる。スキャンテストによれば、図9に示すように、シフト許可信号が通常状態からスキャンテスト状態へのシフトを許可したとき、IPコア機能回路42内の等価回路43に接続された複数のレジスタ(F/F:フリップフロップ)44を一つの巨大なシフトレジスタとして機能(スキャン連鎖)させ、ある入力状態における回路内の順序セルの状態をビット列で出力させて観測することが可能となる。換言すると、スキャンテストは、IPコア機能回路42の内部ロジック(論理回路としての構成)を観測可能な性質をもつ。本実施形態は、このようなスキャンテストの性質を用い、IPコア機能回路42である等価回路の構成を観測することにより、等価回路に対応するライセンス情報IDLを検出する形態である。
As a method for detecting the license information IDL, a scan test that is a design test facilitating method for a general ASIC (Application Specific Integrated Circuit) is used so that it can be detected as an electric signal. According to the scan test, as shown in FIG. 9, when the shift permission signal permits the shift from the normal state to the scan test state, a plurality of registers (F) connected to the
これに伴い、IPコア機能回路42を表すプログラムp1’は、IPコア機能回路42内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、予めソースコードにスキャン設計が施されている。
Along with this, the program p1 ′ representing the IP
また、ライセンス管理部24及び試験装置30は、それぞれスキャンテストの実行機能を備えている。
Each of the
IPコア機能回路42は、例えばAESである場合、通常使用時には、ライセンス情報IDLを露呈せずに、AES暗号化/復号ロジックとして機能する。また、IPコア機能回路42は、スキャンテスト時には、入力テストパターンに応じて、ライセンス情報IDLに対応する出力テストパターンを試験装置30に送出する。
For example, in the case of AES, the IP
次に、以上のように構成されたIPコア機能回路の保護システムの動作を図10のフローチャートを参照しながら説明する。 Next, the operation of the protection system for the IP core functional circuit configured as described above will be described with reference to the flowchart of FIG.
始めに、ベンダ装置20では、ベンダの操作により、IPコア機能回路42内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、プログラムp1’のソースコードにスキャン設計が施される(ST1)。
First, in the
スキャン設計の後、プログラムp1’は、ベンダによる動作確認後に、ユーザに契約に基づいて販売される。正規の契約者(ユーザ)は、契約に基づいて購入したプログラムp1’を集積回路装置40に実装する(ST2)。この集積回路装置40は、適宜、販売され、流通する。
After the scan design, the program p1 'is sold to the user based on the contract after confirming the operation by the vendor. The regular contractor (user) installs the program p1 'purchased based on the contract on the integrated circuit device 40 (ST2). The
続いて、流通している集積回路装置40のライセンス情報IDLを確認するためのスキャンテストについて述べる。このスキャンテストは、前述同様にベンダが行う例を述べる。
Next, a scan test for confirming the license information IDL of the distributed
ベンダ装置20においては、ベンダの操作により、IPコア機能回路42にスキャンテストを実行するように、ライセンス管理部24が試験装置30を制御する。
In the
試験装置30は、ベンダ装置20からの制御により、ライセンス情報IDLに対応する回路情報を得るための入力テストパターンをIPコア機能回路(AES)42に入力し、折り返し、IPコア機能回路42から回路情報に対応する出力テストパターンを検出する(ST3)。この出力テストパターンは、試験装置30からベンダ装置20に送出される。
Under the control of the
ベンダ装置20は、ライセンス管理部24により、出力テストパターンからIP内部ロジックを再構築し、所望の回路情報(IPコア識別情報IDip)を得る(ST4)。ベンダ装置20は、この回路情報に基づいて、ライセンス管理部24により、ライセンス情報記憶部22からライセンス情報IDLを検索する(ST5)。
The
ベンダ装置20は、検索したライセンス情報IDLに対し、確認用のライセンス情報IDLと一致するか否かを判定し(ST6)、否のときには、全てのライセンス情報IDLと比較したか否かを判定し(ST7)、否のときには、他のライセンス情報IDLを確認用としてステップST6に戻る。なお、ステップST7の判定の結果、全てのライセンス情報IDLと比較した場合には、処理を終了する。
The
一方、ステップST6の判定の結果、検索したライセンス情報IDLが確認用のライセンス情報IDLと一致したとき、ベンダ装置20は、確認用のライセンス情報IDL及びそれに該当するベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipを画面表示する。
On the other hand, as a result of the determination in step ST6, when the retrieved license information IDL matches the confirmation license information IDL, the
画面表示されたベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipは、ベンダにより契約に合うか否かが確認される(ST9)。 Whether the vendor identification information IDb, user identification information IDu, and IP core identification information IDip displayed on the screen meet the contract is confirmed by the vendor (ST9).
契約に合う場合(ST9;YES)としては、例えばユーザ識別情報IDuが正規のユーザを示す場合がある。この場合、IPコア機能回路42のプログラムp1が通常(正常)に使用されていることが分かる。
When the contract is met (ST9; YES), for example, the user identification information IDu may indicate a legitimate user. In this case, it can be seen that the program p1 of the IP core
一方、契約に合わない場合(ST9;NO)としては、例えば正規のユーザ以外(又は正規のユーザと提携する製造者以外)の集積回路装置から、ユーザ識別情報IDuと一致するユーザ識別情報IDu’が検出された場合がある。この場合、盗難、あるいは再販などといった不正使用が行われていることがわかる。 On the other hand, when the contract does not match (ST9; NO), for example, the user identification information IDu ′ that matches the user identification information IDu is obtained from an integrated circuit device other than the authorized user (or other than the manufacturer affiliated with the authorized user). May be detected. In this case, it is understood that unauthorized use such as theft or resale is being performed.
上述したように本実施形態によれば、第2の実施形態の効果に加え、予めIPコア機能回路42のソースコードにスキャン設計を施したため、スキャンテストの実行により、ライセンス情報IDLに対応するテストパターン情報を電気的に検出できるので、容易にライセンス情報IDLを検出することができる。
As described above, according to the present embodiment, in addition to the effects of the second embodiment, the scan design is performed on the source code of the IP
また、ベンダは、ライセンス情報IDLに基づいて、ベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipを検証することができる。なお、検証は、ベンダに限らず、ユーザが行うことも可能である。 Further, the vendor can verify the vendor identification information IDb, the user identification information IDu, and the IP core identification information IDip based on the license information IDL. The verification can be performed not only by the vendor but also by the user.
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。 The method described in each of the above embodiments is a program that can be executed by a computer, such as a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk ( MO), and can be stored and distributed in a storage medium such as a semiconductor memory.
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。 In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。 In addition, an OS (operating system) operating on the computer based on an instruction of a program installed in the computer from the storage medium, MW (middleware) such as database management software, network software, and the like implement the present embodiment. A part of each process may be executed.
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。 Further, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。 Further, the number of storage media is not limited to one, and the case where the processing in the present embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。 The computer according to the present invention executes each process according to the present embodiment based on a program stored in a storage medium, and includes a single device such as a personal computer or a system in which a plurality of devices are connected to a network. Any configuration may be used.
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。 In addition, the computer in the present invention is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. .
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
20…ベンダ装置、21…原プログラム記憶部、22…ライセンス情報記憶部、23…受付部、24…ライセンス管理部、25…ライセンス情報生成部、26…埋込部、27…出力部、30…試験装置、40…集積回路装置、41,42…IPコア機能回路、43…等価回路、44…レジスタ、50…ユーザ装置、51…補助記憶装置、52…主記憶装置、53…入力I/F、54…CPU、55…出力I/F、56…通信I/F、57…入力I/F、58…出力部、NW…ネットワーク、p1…プログラム。
DESCRIPTION OF
Claims (9)
前記IPコアのコードは、予めライセンス情報が埋め込まれており、
前記マクロセルは、前記IPコアに基づいて実装されるIPコア回路の、図形を含む構成を記述した設計データであり、
前記プログラム本体は、
前記コンピュータによるコンピュータ支援設計の際に、当該コンピュータを、
前記メモリに記憶した前記ソースコードを前記コンパイラにより翻訳し、得られた結果に基づいて、前記IPコア回路の図形を表示する手段、
として機能させるためのプログラム。 A program including a source code described in a register transfer level hardware description language in a computer-aided design and including an IP core code described as a reusable macro cell, which is used in a computer having a memory and a compiler. ,
In the IP core code, license information is embedded in advance,
The macro cell is design data describing a configuration including a figure of an IP core circuit implemented based on the IP core,
The program body is:
In computer-aided design by the computer, the computer is
Means for translating the source code stored in the memory by the compiler and displaying a figure of the IP core circuit based on the obtained result;
Program to function as.
前記ライセンス情報は、供給者ID情報、提供先ID情報及びIPコアID情報を含むことを特徴とするプログラム。 The program according to claim 1,
The license information includes supplier ID information, provider ID information, and IP core ID information.
前記IPコアのコードは、前記ライセンス情報が分散して埋め込まれたことを特徴とするプログラム。 In the program according to claim 1 or 2,
The IP core code is a program in which the license information is embedded in a distributed manner.
前記IPコアのコードは、前記ライセンス情報毎に、互いに同一のアルゴリズム及び待ち時間を有しつつ回路構成が異なる等価回路として記述されたことを特徴とするプログラム。 In the program according to any one of claims 1 to 3,
The IP core code is described as an equivalent circuit having different circuit configurations while having the same algorithm and waiting time for each license information.
前記IPコア回路は、予めライセンス情報に基づく値を保持するレジスタを備えたことを特徴とする集積回路装置。 An integrated circuit device comprising an IP core circuit implemented on the basis of an IP core as a reusable macrocell,
The integrated circuit device, wherein the IP core circuit includes a register that holds a value based on license information in advance.
前記ライセンス情報は、供給者ID情報、提供先ID情報及びIPコアID情報を含むことを特徴とする集積回路装置。 The integrated circuit device according to claim 5,
The integrated circuit device, wherein the license information includes supplier ID information, provision destination ID information, and IP core ID information.
前記IPコア回路は、前記ライセンス情報に基づく値を保持する複数のレジスタを備え、前記各レジスタは互いに分散して配置されたことを特徴とする集積回路装置。 The integrated circuit device according to claim 5 or 6,
2. The integrated circuit device according to claim 1, wherein the IP core circuit includes a plurality of registers for holding values based on the license information, and the registers are distributed to each other.
前記IPコア回路は、前記ライセンス情報毎に、互いに同一のアルゴリズム及び待ち時間を有しつつ回路構成が異なる等価回路として形成されたことを特徴とする集積回路装置。 The integrated circuit device according to any one of claims 5 to 8,
The integrated circuit device, wherein the IP core circuit is formed as an equivalent circuit having the same algorithm and waiting time for each license information, but having a different circuit configuration.
前記IPコア回路内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、前記ソースコードにスキャン設計を施す工程と、
前記スキャン設計の後、前記IPコア回路を前記集積回路装置に実装する工程と、
前記実装されたIPコア回路に前記スキャンテストを実行する工程と、
前記スキャンテストの実行により、前記ライセンス情報に対応する出力テストパターン情報を電気的に検出する工程と
を備えたことを特徴とするライセンス情報検出方法。 An IP core source code in which license information is embedded in advance in a register transfer level hardware description language in computer-aided design, and the license from an integrated circuit device including an IP core circuit implemented based on the source code A license information detection method for detecting information,
Applying a scan design to the source code so that a plurality of registers in the IP core circuit are connected in series with each other to enable a scan test;
Mounting the IP core circuit on the integrated circuit device after the scan design;
Performing the scan test on the mounted IP core circuit;
And a step of electrically detecting output test pattern information corresponding to the license information by executing the scan test.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301859A JP2008117296A (en) | 2006-11-07 | 2006-11-07 | Program, integrated circuit device and method for detecting license information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301859A JP2008117296A (en) | 2006-11-07 | 2006-11-07 | Program, integrated circuit device and method for detecting license information |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008117296A true JP2008117296A (en) | 2008-05-22 |
Family
ID=39503140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006301859A Withdrawn JP2008117296A (en) | 2006-11-07 | 2006-11-07 | Program, integrated circuit device and method for detecting license information |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008117296A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282646A (en) * | 2018-01-04 | 2018-07-13 | 郑州云海信息技术有限公司 | A kind of video sampling and compressing method and system |
EP4123535A4 (en) * | 2020-03-19 | 2023-08-16 | NEC Corporation | Billing information processing device, billing information processing system, billing information processing method, and non-temporary computer-readable medium storing billing information processing program |
-
2006
- 2006-11-07 JP JP2006301859A patent/JP2008117296A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282646A (en) * | 2018-01-04 | 2018-07-13 | 郑州云海信息技术有限公司 | A kind of video sampling and compressing method and system |
EP4123535A4 (en) * | 2020-03-19 | 2023-08-16 | NEC Corporation | Billing information processing device, billing information processing system, billing information processing method, and non-temporary computer-readable medium storing billing information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | A PUF-FSM binding scheme for FPGA IP protection and pay-per-device licensing | |
Rajendran et al. | Fault analysis-based logic encryption | |
Koushanfar et al. | Behavioral synthesis techniques for intellectual property protection | |
CN103221961B (en) | Comprise the method and apparatus of the framework for the protection of multi-ser sensitive code and data | |
Torunoglu et al. | Watermarking-based copyright protection of sequential functions | |
US9158896B2 (en) | Method and system for generating a secure key | |
US20100287374A1 (en) | Protecting Hardware Circuit Design by Secret Sharing | |
Shakya et al. | Introduction to hardware obfuscation: Motivation, methods and evaluation | |
Engels et al. | The end of logic locking? a critical view on the security of logic locking | |
Chang et al. | Synthesis-for-testability watermarking for field authentication of VLSI intellectual property | |
Chang et al. | Hardware IP watermarking and fingerprinting | |
WO2017218631A2 (en) | A comprehensive framework for protecting intellectual property in the semiconductor industry | |
Karmakar et al. | A cellular automata guided finite-state-machine watermarking strategy for IP protection of sequential circuits | |
Saha et al. | SoC: a real platform for IP reuse, IP infringement, and IP protection | |
Ahmed et al. | Automap: Automated mapping of security properties between different levels of abstraction in design flow | |
JP2011022690A (en) | Simulation model generation device | |
JP2008117296A (en) | Program, integrated circuit device and method for detecting license information | |
TW201209710A (en) | Microprocessor, method of protection and method of revoking first password | |
Yu et al. | A new watermarking method for soft IP protection | |
Biswas | Using pattern of on-off routers and links and router delays to protect network-on-chip intellectual property | |
Qu et al. | Digital fingerprint: A practical hardware security primitive | |
Bloom et al. | Fab forensics: Increasing trust in IC fabrication | |
Guin et al. | Obfuscation and encryption for securing semiconductor supply chain | |
Tehranipoor et al. | Embedded Watermarks | |
Echavarria et al. | IP-cores watermarking scheme at behavioral level using genetic algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100202 |