JP2008117296A - Program, integrated circuit device and method for detecting license information - Google Patents

Program, integrated circuit device and method for detecting license information Download PDF

Info

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
Application number
JP2006301859A
Other languages
Japanese (ja)
Inventor
Kazue Shiba
万恵 斯波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2006301859A priority Critical patent/JP2008117296A/en
Publication of JP2008117296A publication Critical patent/JP2008117296A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent license information from being deleted or altered from a source code of an IP core circuit, and thereby to protect the authority of an IP core. <P>SOLUTION: In a program which is used for a computer having a memory and a compiler and composed of source codes written in a hardware description language of a register transfer level in a computer support design and includes the code of the IP core written as a reusable microcell, license information is embedded in the code of the IP core. Thereby, if the license information is deleted from the source code of the program or altered, the IP core circuit (41) mounted on the basis of the IP core does not operate, so that the license information can not be deleted or altered. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 Document 1, as shown in FIG. 11, a digital watermark generation circuit 12 that generates a digital watermark (Watermark) of several tens of bits representing license information is provided in the software IP core 10. The software IP core 10 includes an IP core functional circuit 11, a digital watermark generation circuit 12, a test circuit 13, a register 14, an arbitration circuit 15, and a multiplexer 16.

IPコア機能回路11は、通常モードで動作するIPコア本来の機能回路である。IPコア機能回路11以外の各回路12〜15は、テストモードで動作するテスト用回路である。マルチプレクサ16は、テストモード信号がオフのとき(通常モードのとき)、IPコア機能回路11の出力を通過させ、テストモード信号がオンのとき(テストモードのとき)、電子透かし生成回路12及び調停回路15の出力を順次通過させる回路である。   The IP core functional circuit 11 is an original functional circuit of the IP core that operates in the normal mode. The circuits 12 to 15 other than the IP core function circuit 11 are test circuits that operate in a test mode. The multiplexer 16 passes the output of the IP core function circuit 11 when the test mode signal is off (in the normal mode), and when the test mode signal is on (in the test mode), the digital watermark generation circuit 12 and the arbitration circuit This circuit sequentially passes the output of the circuit 15.

ここで、電子透かし生成回路12は、テストシーケンスの始めに、ライセンス情報を表す電子透かしのビットパターンを出力するので、ソフトウェアIPコア10のソースコードが盗用された場合でも、ライセンス情報を電気信号として容易に検出可能となっている。また、電子透かし生成回路12は、数十ビットのビットパターンの生成回路であるため、回路規模への影響が小さく、ソフトウェアIPコア10に容易に実装可能である。
Y. C. Fan and H. W. Tsao; 'Watermarking for intellectual property protection' Electron. Lett., 2003, 39, pp1316-1318
Here, since the digital watermark generation circuit 12 outputs a bit pattern of the digital watermark representing the license information at the beginning of the test sequence, even if the source code of the software IP core 10 is stolen, the license information is converted into an electric signal. It can be easily detected. Further, since the digital watermark generation circuit 12 is a generation circuit of a bit pattern of several tens of bits, the influence on the circuit scale is small and it can be easily mounted on the software IP core 10.
YC Fan and HW Tsao; 'Watermarking for intellectual property protection' Electron. Lett., 2003, 39, pp1316-1318

しかしながら、以上のような非特許文献1に記載の技術では、通常は問題が無いが、本発明者の検討によれば、電子透かし生成回路12がIPコア機能回路11から独立していることから、利用者側で電子透かし生成回路12をIPコアのソースコードから容易に削除、あるいは改ざん可能と考えられる。仮に、ライセンス情報が削除又は改ざんされた場合、IPコアの権利が保護されなくなってしまう。   However, the technique described in Non-Patent Document 1 as described above usually has no problem, but according to the study of the present inventor, the digital watermark generation circuit 12 is independent of the IP core function circuit 11. The digital watermark generation circuit 12 can be easily deleted or altered from the IP core source code on the user side. If the license information is deleted or altered, the IP core right is not protected.

本発明は上記実情を考慮してなされたもので、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) device 20, a user (provider) device 50, and another user device 50 ', ... are connected to each other via a network NW. The user device 50 and the other user devices 50 ', ... are user devices that use the program p1 in which different license information is embedded, and have the same hardware configuration. For this reason, the following description will be made with the user device 50 as a representative example. Further, the vendor apparatus 20 can detect the test pattern information corresponding to the license information from the IP core function circuit (IP core circuit implemented based on the IP core) 41 in the integrated circuit apparatus 40 via the test apparatus 30. It has become.

ここで、ベンダ装置20は、原プログラム記憶部21、ライセンス情報記憶部22、受付部23、ライセンス管理部24、ライセンス情報生成部25、埋込部26及び出力部27を備えている。   The vendor apparatus 20 includes an original program storage unit 21, a license information storage unit 22, a reception unit 23, a license management unit 24, a license information generation unit 25, an embedding unit 26, and an output unit 27.

原プログラム記憶部21は、ライセンス管理部27から読出可能な記憶装置であり、ライセンス情報IDLが未だ埋め込まれていない原プログラムが記憶されている。ここで、原プログラムは、レジスタトランスファーレベルRTLのハードウェア記述言語HDLで記述されたソースコードからなり、再利用可能なマクロセルとして記述されたIPコアのコードを含むプログラムであって、ライセンス情報IDLの埋め込み前の状態である。ここで、マクロセルは、IPコアに基づいて実装されるIPコア機能回路41の、シンボル(回路図形)を含む構成を記述した設計データである。なお、一般的なマクロセルは、前述した通り、レイアウト(マスクパターン図形)データ、ライブラリデータおよびシンボルデータを含んでいる。但し、本実施形態では、マクロセルに記述された図形がシンボル(回路図形)である場合を代表例に挙げて説明している。   The original program storage unit 21 is a storage device that can be read from the license management unit 27, and stores an original program in which the license information IDL is not yet embedded. Here, the original program 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 described as a reusable macro cell, and includes license information IDL. This is the state before embedding. Here, the macro cell is design data describing a configuration including a symbol (circuit diagram) of the IP core functional circuit 41 implemented based on the IP core. Note that a general macro cell includes layout (mask pattern graphic) data, library data, and symbol data as described above. However, in the present embodiment, the case where the graphic described in the macro cell is a symbol (circuit graphic) is described as a representative example.

ライセンス情報記憶部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 information storage unit 22 is a storage device that can be read / written from the license management unit 27. As shown in FIG. 2, for each license information IDL, the vendor information IDb, user identification information IDu, and IP core identification information are stored. IDip is stored in association with each other. Here, the license information IDL uses a pseudo-random number rnd (S) generated based on the identification information IDb, IDu, IDip. Specifically, the license information IDL is obtained by applying a one-way hash function h () to the sum of the identification information IDb, IDu, and IDip, and generating a random number generator (from the seed information S = h (IDb + IDu + IDip) including the obtained hash value. A pseudo-random number rnd (S) generated by a pseudo-random number generator) is used. In addition, in the formula of S, the addition “+” may be replaced with the concatenation “‖”.

但し、ライセンス情報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 device 40. When this IP core functional circuit is mounted on an integrated circuit device other than the provider, it is understood that the manufacturer of the integrated circuit device is an attacker. The license information allows vendors to claim IP core sales rights, and users can claim IP core usage rights on their integrated circuit devices.

これに伴い、ベンダ識別情報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 unit 23 has a function of sending the user identification information IDu and the program transmission request to the license management unit 24 when accepting the program transmission request specifying the program p1 and the user identification information IDu from the user device 50.

ライセンス管理部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 reception unit 23, the license management unit 24 reads the original program of the designated program p1 from the original program storage unit 21, and the IP core identification information IDip of the original program Is transmitted to the license information generation unit 24 together with the user identification information IDu and its own vendor identification information IDb, and the license information IDL received from the license information generation unit 24 is the vendor identification information IDb, user identification information IDu, and IP core identification. A function for writing to the license information storage unit 22 in association with the information IDip, a function for sending the license information IDL and the original program to the embedding unit 25, and a program p1 received from the embedding unit 25 via the output unit 26. 50 function and test by vendor operation And a function of detecting an output test pattern corresponding the tamper DES circuit 41 of the integrated circuit device 40 through the location 30 to the license information IDL.

ライセンス情報生成部25は、ライセンス管理部24から受けたIPコア識別情報IDip、ユーザ識別情報IDu及び自己のベンダ識別情報IDbに基づいて、ライセンス情報IDLを生成する機能と、得られたライセンス情報IDLをライセンス管理部24に送出する機能とをもっている。ライセンス情報IDLを生成する機能は、ライセンス情報IDLの生成に必要な演算機能・変換機能などであり、例えばライセンス情報IDLが前述した擬似乱数rnd(S)の場合、ハッシュ値の演算機能及び擬似乱数の生成機能などから構成される。また、ライセンス情報IDLが前述した暗号化情報Enc(K,M)の場合、ライセンス情報IDLの生成機能は、ハッシュ値の演算機能及び暗号化処理機能などから構成される。   The license information generation unit 25 generates a license information IDL based on the IP core identification information IDip, the user identification information IDu, and the vendor identification information IDb received from the license management unit 24, and the obtained license information IDL Is sent to the license management unit 24. The function for generating the license information IDL is an arithmetic function / conversion function necessary for generating the license information IDL. For example, when the license information IDL is the pseudo random number rnd (S) described above, the hash value arithmetic function and the pseudo random number It consists of a generation function. When the license information IDL is the encryption information Enc (K, M) described above, the function for generating the license information IDL includes a hash value calculation function and an encryption processing function.

埋込部26は、ライセンス管理部24から受けたライセンス情報IDL及び原プログラムに基づいて、ライセンス情報IDLを原プログラムに埋め込む機能と、埋め込みにより得られたプログラムp1をライセンス管理部24に送出する機能とをもっている。   The embedding unit 26 has a function of embedding the license information IDL in the original program based on the license information IDL and the original program received from the license management unit 24, and a function of sending the program p1 obtained by embedding to the license management unit 24. I have.

ここで、プログラム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 user device 50. The computer of the user device 50 translates the source code stored in the memory by a compiler, and the IP core function circuit 41 executes the program p1 based on the obtained result. This is a program for functioning as means for displaying symbols (graphics).

プログラム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 user device 50 described later, and is installed in the integrated circuit device 40 as the tamper resistant DES circuit 41 shown in FIGS.

出力部27は、ライセンス管理部24から受けたプログラムp1をプログラム送信要求の送信元(ユーザ装置50)に送信する機能をもっている。   The output unit 27 has a function of transmitting the program p1 received from the license management unit 24 to the transmission source (user device 50) of the program transmission request.

試験装置30は、ベンダ装置20に制御され、ライセンス情報IDLに対応するマスク値X,X1,X2を検出するための入力テストパターンを耐タンパDES回路41に入力する機能と、耐タンパDES回路41からマスク値X,X1,X2に対応する出力テストパターンを検出する機能と、出力テストパターンをベンダ装置20に送出する機能とをもっている。   The test apparatus 30 is controlled by the vendor apparatus 20, and has a function of inputting an input test pattern for detecting the mask values X, X1, and X2 corresponding to the license information IDL to the tamper resistant DES circuit 41, and the tamper resistant DES circuit 41. 2 has a function of detecting an output test pattern corresponding to the mask values X, X1, and X2, and a function of transmitting the output test pattern to the vendor apparatus 20.

集積回路装置40は、LSI又はIC等のハードウェア回路装置であり、ユーザ装置50によるコンピュータ支援設計により設計され、プログラムp1に記述されたIPコア機能回路としての耐タンパDES回路41が実装されている。   The integrated circuit device 40 is a hardware circuit device such as an LSI or an IC, is designed by computer-aided design by the user device 50, and is mounted with a tamper resistant DES circuit 41 as an IP core functional circuit described in the program p1. Yes.

耐タンパDES回路41は、プログラムp1内のIPコアのコードに基づいて実装された回路であり、ライセンス情報IDLに基づくマスク値X,X1,X2を保持する複数のレジスタを備え、各レジスタが互いに分散して配置されている。なお、耐タンパDESについては、図4〜図6を用いて述べた通りである。   The tamper resistant DES circuit 41 is a circuit implemented based on the IP core code in the program p1, and includes a plurality of registers that hold mask values X, X1, and X2 based on the license information IDL. It is distributed. The tamper resistant DES is as described with reference to FIGS.

一方、ユーザ装置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 user device 50 has a normal computer function, and the auxiliary storage device 51, the main storage device 52, the input I / F 53, the CPU 54, the output I / F 55, and the communication I / F 56 are mutually connected. Connected via bus. An input unit 57 is connected to the input I / F 53. An output unit 58 is connected to the output I / F 55. The communication I / F 56 is connected to the network NW.

補助記憶装置51は、CPU54から読出/書込可能なハードディスク等の記憶装置であり、CAD情報ファイルf、CADプログラムpcad及びプログラム(耐タンパDES)p1が記憶されている。   The auxiliary storage device 51 is a storage device such as a hard disk that can be read / written from the CPU 54, and stores a CAD information file f, a CAD program pcad, and a program (tamper resistant DES) p1.

主記憶装置52は、CPU54から読出/書込可能なRAM等の記憶装置であり、CADプログラムpcadの実行時に、各プログラムpcad,p1及びCAD情報ファイルf等が読出/書込される。   The main storage device 52 is a storage device such as a RAM that can be read / written from the CPU 54, and when the CAD program pcad is executed, the programs pcad, p1, the CAD information file f, and the like are read / written.

入力I/F53は、入力部57とユーザ装置50内との間のインターフェイス機能をもっている。   The input I / F 53 has an interface function between the input unit 57 and the user device 50.

CPU54は、ユーザの操作により、プログラムp1を指定したプログラム送信要求及びユーザ識別情報IDuを通信I/F56及びネットワーク20を介してベンダ装置20に送信する機能と、ベンダ装置20からネットワークNW及び通信I/F56を介して受けたプログラムp1を補助記憶装置51に書き込む機能とをもっている。   The CPU 54 functions to transmit a program transmission request specifying the program p1 and user identification information IDu to the vendor apparatus 20 via the communication I / F 56 and the network 20 by the user's operation, and from the vendor apparatus 20 to the network NW and the communication I. / F56 has a function of writing the program p1 received via the F56 to the auxiliary storage device 51.

また、CPU54は、補助記憶装置51内のCADプログラムpcadを実行可能なものであり、CADプログラムpcadの実行時には、記憶装置51,52内のCAD情報ファイルf及びプログラムp1を参照しつつ、集積回路装置40の設計を実行する機能をもっている。   The CPU 54 is capable of executing the CAD program pcad in the auxiliary storage device 51. When executing the CAD program pcad, the integrated circuit refers to the CAD information file f and the program p1 in the storage devices 51 and 52. It has the function of executing the design of the device 40.

出力I/F55は、ユーザ装置50内と出力部58との間のインターフェイス機能をもっている。   The output I / F 55 has an interface function between the user device 50 and the output unit 58.

通信I/F56は、ユーザ装置50内とネットワークNWとの間のインターフェイス機能をもっている。   The communication I / F 56 has an interface function between the user apparatus 50 and the network NW.

入力部57は、ユーザに操作されるキーボード及びマウス等の入力デバイスであり、入力I/F53に接続されている。   The input unit 57 is an input device such as a keyboard and a mouse operated by the user, and is connected to the input I / F 53.

出力部58は、出力I/F57の出力データを表示出力する表示デバイスである。   The output unit 58 is a display device that displays and outputs the output data of the output I / F 57.

次に、以上のように構成された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 user device 50 transmits a program transmission request specifying the program p1 and user identification information IDu to the vendor device 20 via the network 20 by a user operation.

ベンダ装置20においては、受付部23が、プログラム送信要求及びユーザ識別情報IDuを受け付けると、これらユーザ識別情報IDu及びプログラム送信要求をライセンス管理部24に送出する。   In the vendor apparatus 20, when the reception unit 23 receives the program transmission request and the user identification information IDu, the reception unit 23 sends the user identification information IDu and the program transmission request to the license management unit 24.

ライセンス管理部24は、ユーザ識別情報IDu及びプログラム送信要求を受けると、指定されたプログラムp1の原プログラムを原プログラム記憶部21から読み出し、この原プログラムのIPコア識別情報IDipを、ユーザ識別情報IDu及び自己のベンダ識別情報IDbと共にライセンス情報生成部24に送出する。   Upon receiving the user identification information IDu and the program transmission request, the license management unit 24 reads the original program of the designated program p1 from the original program storage unit 21, and obtains the IP core identification information IDip of the original program as the user identification information IDu. And the license information generation unit 24 together with its own vendor identification information IDb.

ライセンス情報生成部25は、IPコア識別情報IDip、ユーザ識別情報IDu及び自己のベンダ識別情報IDbに基づいて、次の式(1),(2)に基づいて、ライセンス情報IDLを生成する。   The license information generation unit 25 generates license information IDL based on the following formulas (1) and (2) based on the IP core identification information IDip, the user identification information IDu, and the vendor identification information IDb.

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 information generation unit 25 may generate the license information IDL based on the following expressions (3) to (5) instead of the expressions (1) and (2).

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 information generation unit 25 sends the obtained license information IDL to the license management unit 24.

ライセンス管理部24は、ライセンス情報IDLをベンダ識別情報IDb、ユーザ識別情報IDu及びIPコア識別情報IDipに関連付けてライセンス情報記憶部22に書き込んだ後、ライセンス情報IDL及び原プログラムを埋込部25に送出する。   The license management unit 24 writes the license information IDL in association with the vendor identification information IDb, the user identification information IDu, and the IP core identification information IDip in the license information storage unit 22, and then stores the license information IDL and the original program in the embedding unit 25. Send it out.

埋込部26は、ライセンス情報IDL及び原プログラムに基づいて、ライセンス情報IDLを原プログラム内のIPコアのコードに埋め込んだ後、得られたプログラムp1をライセンス管理部24に送出する。   The embedding unit 26 embeds the license information IDL in the IP core code in the original program based on the license information IDL and the original program, and then sends the obtained program p1 to the license management unit 24.

ライセンス管理部24は、プログラムp1を出力部26を介して、プログラム送信要求の送信元(ユーザ装置50)に送信する。   The license management unit 24 transmits the program p1 to the transmission source (user device 50) of the program transmission request via the output unit 26.

一方、ユーザ装置50は、ベンダ装置20から受けたプログラムp1を補助記憶装置51に書き込む。   On the other hand, the user device 50 writes the program p 1 received from the vendor device 20 in the auxiliary storage device 51.

続いて、ユーザ装置50は、ユーザの操作により、CADプログラムpcadを実行する。CADプログラムpcadの実行時には、記憶装置51,52内のCAD情報ファイルf及びプログラムp1を参照しつつ、集積回路装置40の設計処理を実行する。   Subsequently, the user device 50 executes the CAD program pcad by a user operation. When the CAD program pcad is executed, the design process of the integrated circuit device 40 is executed while referring to the CAD information file f and the program p1 in the storage devices 51 and 52.

このとき、ユーザ装置50は、CADプログラムpcadによるコンピュータ支援設計の際に、メモリに記憶したプログラムp1のソースコードをコンパイラにより翻訳し、得られた結果に基づいて、耐タンパDESを表すIPコア機能回路を画面表示する。   At this time, the user device 50 translates the source code of the program p1 stored in the memory by the compiler during the computer-aided design by the CAD program pcad, and based on the obtained result, the IP core function representing the tamper resistant DES Display the circuit on the screen.

ユーザ装置50は、ユーザの操作により、表示された耐タンパDESを集積回路装置の一部に配置し、集積回路装置の設計処理を実行する。   The user device 50 arranges the displayed tamper resistant DES in a part of the integrated circuit device by a user operation, and executes a design process of the integrated circuit device.

設計処理の後、得られた設計情報を実装した集積回路装置40がユーザ(又は図示しない製造者)により製造される。この集積回路装置40には、耐タンパDES回路41が実装されている。   After the design process, the integrated circuit device 40 on which the obtained design information is mounted is manufactured by a user (or a manufacturer (not shown)). The integrated circuit device 40 is provided with a tamper resistant DES circuit 41.

この集積回路装置40は、適宜、販売され、流通する。   The integrated circuit device 40 is sold and distributed as appropriate.

次に、流通している集積回路装置40のライセンス情報IDLを確認したい場合について説明する。この確認は、ここではベンダが行う例を述べるが、これに限らず、同様の試験装置30の使用により、ユーザ又は任意の第三者が行うこともできる。   Next, a case where the license information IDL of the distributed integrated circuit device 40 is desired to be confirmed will be described. This confirmation is described here by way of example by a vendor. However, the present invention is not limited to this, and a user or any third party can also perform the confirmation using the same test apparatus 30.

ベンダ装置20においては、ベンダの操作により、ライセンス管理部24が試験装置30を制御する。   In the vendor apparatus 20, the license management unit 24 controls the test apparatus 30 by a vendor operation.

試験装置30は、ベンダ装置20からの制御により、ライセンス情報IDLに対応するマスク値X,X1,X2を検出するための入力テストパターンを耐タンパDES回路41に入力し、折り返し、耐タンパDES回路41からマスク値X,X1,X2に対応する出力テストパターンを検出する。この出力テストパターンは、試験装置30からベンダ装置20に送出される。   The test apparatus 30 inputs an input test pattern for detecting the mask values X, X1, and X2 corresponding to the license information IDL to the tamper resistant DES circuit 41 under the control of the vendor apparatus 20, and wraps the tamper resistant DES circuit. 41, output test patterns corresponding to the mask values X, X1, and X2 are detected. This output test pattern is sent from the test apparatus 30 to the vendor apparatus 20.

ベンダ装置20は、ライセンス管理部24により、この出力テストパターンに対応するライセンス情報IDLに基づいて、ライセンス情報記憶部22を検索し、該当するベンダ識別情報IDb、ユーザ識別情報IDu、IPコア識別情報IDipを画面表示する。   The vendor apparatus 20 uses the license management unit 24 to search the license information storage unit 22 based on the license information IDL corresponding to the output test pattern, and corresponding vendor identification information IDb, user identification information IDu, IP core identification information. IDip is displayed on the screen.

画面表示されたベンダ識別情報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 resistant DES circuit 41 as the IP core circuit in advance, the license information is obtained from the source code of the IP core functional circuit. The IDL can be prevented from being deleted and falsified, so that the IP core right can be protected.

例えば、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 integrated circuit device 40 during the test.

また、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 vendor apparatus 20 and the user apparatus 50 are the same as those in the first embodiment. However, instead of the program p1 in which the mask value corresponding to the license information IDL is described, a program p1 'in which an equivalent circuit corresponding to the license information IDL is described is used. Accordingly, the IP core identification information IDip in the license information storage unit 22 includes a description of the configuration of the equivalent circuit.

補足すると、プログラム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 integrated circuit device 40 by the test apparatus 30 as described above. Therefore, the effect of the first embodiment can be obtained. In addition to this, according to the second embodiment, since the license information IDL corresponds to the configuration of the equivalent circuit, it is more difficult to analyze, and it is necessary to design another equivalent circuit for deletion and alteration. Deletion and alteration can be extremely difficult.

(第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 equivalent circuit 43 in the IP core function circuit 42 are shown. / F: flip-flop) 44 functions as one huge shift register (scan chain), and the state of the sequential cells in the circuit in a certain input state can be output as a bit string and observed. In other words, the scan test has a property that the internal logic (configuration as a logic circuit) of the IP core function circuit 42 can be observed. In the present embodiment, the license information IDL corresponding to the equivalent circuit is detected by observing the configuration of the equivalent circuit which is the IP core functional circuit 42 using the property of the scan test.

これに伴い、IPコア機能回路42を表すプログラムp1’は、IPコア機能回路42内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、予めソースコードにスキャン設計が施されている。   Along with this, the program p1 ′ representing the IP core function circuit 42 is pre-scanned in the source code so that a plurality of registers in the IP core function circuit 42 are connected in series to enable a scan test. ing.

また、ライセンス管理部24及び試験装置30は、それぞれスキャンテストの実行機能を備えている。   Each of the license management unit 24 and the test apparatus 30 has a scan test execution function.

IPコア機能回路42は、例えばAESである場合、通常使用時には、ライセンス情報IDLを露呈せずに、AES暗号化/復号ロジックとして機能する。また、IPコア機能回路42は、スキャンテスト時には、入力テストパターンに応じて、ライセンス情報IDLに対応する出力テストパターンを試験装置30に送出する。   For example, in the case of AES, the IP core function circuit 42 functions as AES encryption / decryption logic without exposing the license information IDL during normal use. The IP core function circuit 42 sends an output test pattern corresponding to the license information IDL to the test apparatus 30 in accordance with the input test pattern during the scan test.

次に、以上のように構成された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 vendor apparatus 20, a scan design is applied to the source code of the program p1 ′ so that a scan test can be performed by connecting a plurality of registers in the IP core functional circuit 42 in series by a vendor operation. (ST1).

スキャン設計の後、プログラム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 integrated circuit device 40 is sold and distributed as appropriate.

続いて、流通している集積回路装置40のライセンス情報IDLを確認するためのスキャンテストについて述べる。このスキャンテストは、前述同様にベンダが行う例を述べる。   Next, a scan test for confirming the license information IDL of the distributed integrated circuit device 40 will be described. This scan test will be described as an example performed by a vendor as described above.

ベンダ装置20においては、ベンダの操作により、IPコア機能回路42にスキャンテストを実行するように、ライセンス管理部24が試験装置30を制御する。   In the vendor apparatus 20, the license management unit 24 controls the test apparatus 30 so as to execute a scan test on the IP core function circuit 42 by the operation of the vendor.

試験装置30は、ベンダ装置20からの制御により、ライセンス情報IDLに対応する回路情報を得るための入力テストパターンをIPコア機能回路(AES)42に入力し、折り返し、IPコア機能回路42から回路情報に対応する出力テストパターンを検出する(ST3)。この出力テストパターンは、試験装置30からベンダ装置20に送出される。   Under the control of the vendor apparatus 20, the test apparatus 30 inputs an input test pattern for obtaining circuit information corresponding to the license information IDL to the IP core function circuit (AES) 42, and returns the circuit to the circuit from the IP core function circuit 42. An output test pattern corresponding to the information is detected (ST3). This output test pattern is sent from the test apparatus 30 to the vendor apparatus 20.

ベンダ装置20は、ライセンス管理部24により、出力テストパターンからIP内部ロジックを再構築し、所望の回路情報(IPコア識別情報IDip)を得る(ST4)。ベンダ装置20は、この回路情報に基づいて、ライセンス管理部24により、ライセンス情報記憶部22からライセンス情報IDLを検索する(ST5)。   The vendor apparatus 20 uses the license management unit 24 to reconstruct the IP internal logic from the output test pattern, and obtains desired circuit information (IP core identification information IDip) (ST4). Based on this circuit information, the vendor apparatus 20 searches the license information storage unit 22 for the license information IDL by the license management unit 24 (ST5).

ベンダ装置20は、検索したライセンス情報IDLに対し、確認用のライセンス情報IDLと一致するか否かを判定し(ST6)、否のときには、全てのライセンス情報IDLと比較したか否かを判定し(ST7)、否のときには、他のライセンス情報IDLを確認用としてステップST6に戻る。なお、ステップST7の判定の結果、全てのライセンス情報IDLと比較した場合には、処理を終了する。   The vendor apparatus 20 determines whether or not the searched license information IDL matches the confirmation license information IDL (ST6). If not, it determines whether or not all license information IDL has been compared. (ST7) If NO, return to step ST6 for confirmation of other license information IDL. If it is determined in step ST7 that all license information IDL has been compared, the process is terminated.

一方、ステップ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 vendor apparatus 20 determines the confirmation license information IDL, the corresponding vendor identification information IDb, and user identification information IDu. IP core identification information IDip is displayed on the screen.

画面表示されたベンダ識別情報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 functional circuit 42 is normally used.

一方、契約に合わない場合(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 core function circuit 42 in advance, so that the test corresponding to the license information IDL is performed by executing the scan test. Since the pattern information can be detected electrically, the license information IDL can be easily detected.

また、ベンダは、ライセンス情報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.

本発明の第1の実施形態に係るIPコア機能回路の保護システムの構成をベンダ装置に中心に示す模式図である。It is a schematic diagram which mainly shows the structure of the protection system of the IP core functional circuit which concerns on the 1st Embodiment of this invention to a vendor apparatus. 同実施形態におけるライセンス情報記憶部の構成を示す模式図である。It is a schematic diagram which shows the structure of the license information storage part in the embodiment. 同実施形態におけるライセンス情報記憶部の変形例を示す模式図である。It is a schematic diagram which shows the modification of the license information storage part in the embodiment. 同実施形態におけるIPコア機能回路を表すプログラムを説明するための模式図である。It is a schematic diagram for demonstrating the program showing the IP core functional circuit in the embodiment. 同実施形態における実装された耐タンパDES回路の構成を示す模式図である。It is a schematic diagram which shows the structure of the tamper resistant DES circuit mounted in the same embodiment. 同実施形態における実装された修正Sボックスの構成を示す模式図である。It is a schematic diagram which shows the structure of the correction | amendment S box mounted in the same embodiment. 同実施形態におけるIPコア機能回路の保護システムの構成をユーザ装置を中心に示す模式図である。It is a schematic diagram which shows the structure of the protection system of the IP core functional circuit in the embodiment centering on a user apparatus. 本発明の第2の実施形態に係るライセンス情報と等価回路との関係を説明するための模式図である。It is a schematic diagram for demonstrating the relationship between the license information which concerns on the 2nd Embodiment of this invention, and an equivalent circuit. 本発明の第3の実施形態に係るIPコア機能回路に対するスキャンテストを説明するための模式図である。It is a schematic diagram for demonstrating the scan test with respect to the IP core functional circuit which concerns on the 3rd Embodiment of this invention. 同実施形態における動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement in the embodiment. 従来のIPコアの保護方式を説明するための模式図である。It is a schematic diagram for demonstrating the protection system of the conventional IP core.

符号の説明Explanation of symbols

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 SYMBOLS 20 ... Vendor apparatus, 21 ... Original program storage part, 22 ... License information storage part, 23 ... Acceptance part, 24 ... License management part, 25 ... License information generation part, 26 ... Embedding part, 27 ... Output part, 30 ... Test device, 40 ... Integrated circuit device, 41, 42 ... IP core functional circuit, 43 ... Equivalent circuit, 44 ... Register, 50 ... User device, 51 ... Auxiliary storage device, 52 ... Main storage device, 53 ... Input I / F 54 ... CPU, 55 ... output I / F, 56 ... communication I / F, 57 ... input I / F, 58 ... output unit, NW ... network, p1 ... program.

Claims (9)

メモリ及びコンパイラを有するコンピュータに用いられ、コンピュータ支援設計におけるレジスタトランスファーレベルのハードウェア記述言語で記述されたソースコードからなり、再利用可能なマクロセルとして記述されたIPコアのコードを含むプログラムであって、
前記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.
請求項1に記載のプログラムにおいて、
前記ライセンス情報は、供給者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.
請求項1又は請求項2に記載のプログラムにおいて、
前記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.
請求項1乃至請求項3のいずれか1項に記載のプログラムにおいて、
前記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コアに基づいて実装されたIPコア回路を備えた集積回路装置であって、
前記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.
請求項5に記載の集積回路装置において、
前記ライセンス情報は、供給者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.
請求項5又は請求項6に記載の集積回路装置において、
前記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.
請求項5乃至請求項8のいずれか1項に記載の集積回路装置において、
前記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コア回路内の複数のレジスタを互いに直列接続してスキャンテストを可能とするように、前記ソースコードにスキャン設計を施す工程と、
前記スキャン設計の後、前記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.
JP2006301859A 2006-11-07 2006-11-07 Program, integrated circuit device and method for detecting license information Withdrawn JP2008117296A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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