JP2001222571A - Lsiの設計方法および検証方法 - Google Patents
Lsiの設計方法および検証方法Info
- Publication number
- JP2001222571A JP2001222571A JP2000034577A JP2000034577A JP2001222571A JP 2001222571 A JP2001222571 A JP 2001222571A JP 2000034577 A JP2000034577 A JP 2000034577A JP 2000034577 A JP2000034577 A JP 2000034577A JP 2001222571 A JP2001222571 A JP 2001222571A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- design data
- simulation
- lsi
- encrypted
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
れ、従来よりも回路設計データの機密性を高める。 【解決手段】 暗号化処理SAでは、機密を必要とする
回路の設計データ11に対して暗号化を行い、暗号化設
計データ12および暗号化を解除するキー13と生成す
る。ダミー回路を元の回路と並列に配置し、その出力を
並び換えた出力から、元の回路の出力数と同数の信号を
選択するセレクタを配置する。セルクタの選択信号がキ
ーとなる。暗号化設計データ12は設計・検証処理S2
を実行する利用者に提供され、必要に応じてキー13も
併せて提供される。設計・検証処理SBでは、暗号化設
計データ12について、元の回路の中身が秘匿されたま
ま各種の処理が行われる。復号化処理SCでは、設計・
検証処理SBが実行された後の暗号化設計データ14に
対して復号化を行い、元の回路設計データ16を生成す
る。
Description
び検証に関するものであり、特に、設計データの機密を
保つための技術に属する。
密を保ちたい場合がある。例えば、データの暗号化に関
わるLSIでは、その回路の中身が知られると、これに
より、暗号化のロジックが解読されてしまうおそれがあ
る。
SIの設計は、設計に従事する人を限定したり、あるい
は、設計を行う場所を特定したりすることによって、他
の人に回路の中身が知られないようにしていた。
化、大規模化に伴い、1個のLSIの設計には、多数の
設計者が携わっている。したがって、設計者や設計場所
の限定のみでは、回路の機密を保つのに必ずしも十分で
はない。
計において、暗号化処理を採り入れ、従来よりも回路設
計データの機密性を高めることを課題とする。
機密性を保ったまま、検証を実行できるようにすること
を課題とする。
めに、請求項1の発明が講じた解決手段は、LSI設計
方法として、与えられた回路設計データに対し、暗号化
処理を行うステップを備えたものである。
計方法における暗号化ステップは、前記回路設計データ
が表す回路の全体または一部を元の回路として回路変換
を行い、暗号化回路を生成するステップを備えており、
前記回路変換ステップは、前記元の回路と入力数および
出力数が同一の少なくとも1つのダミー回路を前記元の
回路と並列に配置し、前記元の回路およびダミー回路の
出力を並び替える並び替え回路を配置し、前記並び替え
回路の出力から、選択信号に従って、前記元の回路の出
力数に相当する数の信号を選択するセレクタを配置し、
前記暗号化回路を生成するものとし、かつ、前記選択信
号をキー信号とし、前記元の回路の出力と前記セレクタ
の出力とが一致するようなキー信号の値を前記暗号化回
路のキーとするものとする。
I設計方法における暗号化ステップは、前記回路変換ス
テップにおいて用いるダミー回路を生成するステップを
備え、前記ダミー回路生成ステップは、前記元の回路に
対し変換ルールに従ってダミー回路の候補からなるダミ
ー論理データベースを生成し、前記ダミー論理データベ
ースから出力ルールに従ってダミー回路を選択するもの
とする。
I設計方法における変換ルールは、論理値の反転、論理
演算子の変換、および論理演算子の順序変更のうちの少
なくとも1つを含むものとする。
I設計方法における出力ルールは、ランダム選択である
ものとする。
I設計方法は、前記暗号化回路のレイアウトを行うステ
ップを備え、前記レイアウトステップは、前記キー信号
の入力信号線を電源およびグランドのいずれにも接続可
能なようにレイアウトを行うものとする。
I設計方法は、前記レイアウトにおいて、前記キーにし
たがって前記キー信号を電源およびグランドのいずれか
一方に接続し、前記元の回路のレイアウトを生成するス
テップを備えたものとする。
は、LSIの検証方法として、リファレンスとなる動作
モデルとともに暗号化された回路設計データについて、
回路動作の検証を行うステップを備え、前記検証ステッ
プは、前記暗号化された回路設計データを復号化し、実
際の設計データと前記動作モデルとを得るステップと、
前記実際の設計データについてシミュレーションを実行
し、実出力値を得るステップと、前記動作モデルについ
てシミュレーションを実行し、出力期待値を得るステッ
プと、前記実出力値と前記出力期待値とを比較し、比較
結果を出力するステップとを備えたものである。
は、LSIの検証方法として、プロトコル定義とともに
暗号化された回路設計データについて、回路動作の検証
を行うステップを備え、前記検証ステップは、前記暗号
化された回路設計データを復号化し、実際の設計データ
と前記プロトコル定義とを得るステップと、前記実際の
設計データについてシミュレーションを実行し、実出力
値を得るステップと、前記実出力値を前記プロトコル定
義と比較し、比較結果を出力するステップとを備えたも
のである。
は、LSIの検証方法として、暗号化された回路設計デ
ータをシミュレーションによって検証するステップを備
え、前記検証ステップは、不正なアクセスによるシミュ
レーションを制限するものである。
LSI検証方法における検証ステップは、前記暗号化さ
れた回路設計データを復号化し、実際の設計データを得
るステップと、前記実際の設計データについてシミュレ
ーションを実行するステップと、前記シミュレーション
において、所定の制限情報をカウントするステップと、
カウント値が上限値を超えたとき、シミュレーションに
制限措置を施すステップとを備えたものとする。
LSI検証方法における所定の制限情報は、シミュレー
ションの実行ステップ、シミュレーションの実行時間、
回路内の特定信号のトグル数、および回路への入力の組
み合わせのうちの少なくとも1つを含むものとする。
LSI検証方法は、所定の制限情報をランダムに選択す
るものとする。
LSI検証方法における検証ステップは、前記暗号化さ
れた回路設計データを復号化し、実際の設計データを得
るステップと、前記実際の設計データについてシミュレ
ーションを実行するステップと、前記シミュレーション
において、所定のプロトコル制約条件を違反するか否か
をチェックするステップと、違反したとき、シミュレー
ションに制限措置を施すステップとを備えたものとす
る。
LSI検証方法における所定のプロトコル制約条件は、
入力プロトコル、および動作中プロトコルのうちの少な
くとも1つを含むものとする。
LSI検証方法は、前記所定のプロトコル制約条件をラ
ンダムに選択するものとする。
たは14のLSI検証方法における制限措置は、シミュ
レーションの停止、実行速度低下および異常実行、シミ
ュレーション結果の非出力、並びに、次ステップに渡す
データまたはキーの非生成のうちの少なくとも1つを含
むものとする。
は、LSI検証方法として、シミュレーションにおける
不正アクセスをチェックするチェック回路を含む回路設
計データを、暗号化処理するステップと、暗号化された
回路設計データを、シミュレーションによって検証する
ステップとを備え、前記検証ステップは、前記チェック
回路を動作させて、不正なアクセスによるシミュレーシ
ョンを制限するものである。
LSI検証方法におけるチェック回路は、シミュレーシ
ョンにおいて、所定の制限情報のカウント値が上限値を
超えたか否かをチェックするものとする。
LSI検証方法におけるチェック回路は、シミュレーシ
ョンにおいて、プロトコル制約条件の違反の有無をチェ
ックするものとする。
は、LSI設計方法として、与えられた回路設計データ
から、タイミング情報を抽出するステップと、前記回路
設計データを抽出したタイミング情報のみを合わせて所
定の変換ルールに従い、暗号化設計データに変換すると
ともに、少なくとも1つの論理ゲートにバッファを付加
するステップと、前記暗号化設計データについて付加し
たバッファのサイズを調整するステップと、バッファサ
イズ調整後の前記暗号化設計データを、前記所定の変換
ルールをキーとして復号化するステップとを備えたもの
である。
は、LSI設計方法として、固有IDの判定回路ととも
に暗号化された回路設計データについて復号化を行い、
実際の設計データと前記固有IDの判定回路とを得るス
テップを備え、前記ステップは、入力された固有パラメ
ータによって前記固有IDの判定回路に正しい値を定義
するステップを有するものである。
設計スタイルを示す図である。図1に示す設計スタイル
では、機密設計データの中身が見えなくても設計・検証
処理SBが実行可能なように、設計データの暗号化処理
SAおよび復号化処理SCが実行される。
路の設計データ11に対して暗号化を行い、暗号化設計
データ12と、この暗号化を解除するキー13とを生成
する。暗号化設計データ12は設計・検証処理S2を実
行する利用者に提供される。また、その設計・検証処理
S2の必要に応じて、キー13も併せて提供される。
タ12について、元の回路の中身が開示されることな
く、各種の処理が行われる。復号化処理SCでは、設計
・検証処理S2が実行された後の暗号化設計データ14
に対してキー15を用いて復号化を行い、元の回路の設
計データ16を生成する。
本工程のパターンを示す図である。同図中、(a)は暗
号化A、(b)は暗号データのままの処理B1、(c)
は暗号を保ったデータ変換B2、(d)は復号化Cを示
している。処理B1と処理B2とは、処理B1では復号
化および暗号化は行われず、新たなキーは生成されない
が、処理B2では新たな暗号化データが新たなキーとと
もに生成される点で相違する。
あり、図2に示す基本工程のパターンを組み合わせたも
のである。同図中、(a)に示す処理は、暗号化A、暗
号データのままの処理B1および復号化Cを組み合わせ
たものである。例えば、RTLレベルまたはビヘイビア
レベルの設計データを暗号化し、この暗号化データにつ
いて論理合成を行い、暗号化されたゲートレベルの設計
データを出力し、その後ゲートレベルの設計データに復
号化する、といった処理がこれに相当する。これによ
り、論理合成中の設計データの機密を保つことができ
る。また、暗号化データについて論理合成およびレイア
ウトを行い、その後マスクデータを復号化するような場
合も考えられる。また、(b)に示す処理は、暗号化
A、暗号を保ったデータ変換B2および復号化Cを組み
合わせたものである。
する。
る回路変換を示す図である。図4において、f0は元の
暗号化されていない回路である。回路f0の入力数を
n、出力数をmとする。回路f0は元の回路の全体を表
すものであってもよいし、元の回路の部分回路であって
もかまわない。
路f0と入力数、出力数が同一の(p−1)個のダミー
回路f1〜fp−1を配置する。そして、その後段に、
並び替え回路21およびセレクタ22を設ける。並べ替
え回路21は回路f0の出力と各ダミー回路f1〜fp
−1の出力とを受け、これらの出力を並べ替えて出力す
る。例えば出力O1からは、各回路f0〜fp−1の出
力の第1ビットを集め並び替えて出力し、出力O2から
は、各回路f0〜fp−1の出力の第2ビットを集め並
び替えて出力する。これにより、並べ替え回路21か
ら、元の回路f0の出力数に相当する個数すなわちm個
の、pビットの信号が出力される。
て、並び替え回路21の各出力から1ビットずつを選択
し、出力する。これにより、回路f0と同じm個の信号
がセレクタ22から出力される。このような回路変換の
結果、図4に示すような暗号化回路が生成される。
ー信号とする。そして、回路f0の出力とセレクタ22
の出力とが一致するようなキー信号KEYの値を、暗号
化回路のキーとする。
手順が簡易であり、自動変換が容易である。また、暗号
化による遅延増加は、セレクタ22における遅延のみで
あり、極めて少ない。
図である。いま、元の回路f0として、図5(a)に示
すような2入力2出力の回路が与えられたとする。この
回路f0に対して図5(b)に示すようなダミー回路f
1を配置する。図5(c)は、回路f0をダミー回路f
1を用いて暗号化した結果を示す図である。さらに、図
5(c)の回路を合成して、図5(d)のような暗号化
回路を得る。この回路のキーは(0,1)である。
回路の生成方法を示す図である。図6に示すように、元
の回路f0に対して、所定の変換ルール25に従って、
ダミー回路候補を含むダミー論理データベース(DB)
26を生成する。そして、生成したダミー論理DB26
から、所定の出力ルール27に従って、任意のダミー回
路f1〜fp−1を出力する。このような生成方法で
は、変換ルール25および出力ルール27の設定によっ
て、ダミー回路f1〜fp−1を柔軟に生成することが
できるので、自動化処理に適する。
転、論理演算子の変換、論理演算子の順序変更などが挙
げられる。論理値の反転では、入力値の反転や出力値の
反転の他に、複数ビット信号の一部のビットを反転する
方法が考えられる。論理演算子の変換では、ANDとO
Rとの変換が考えられる。また、出力ルール27の例と
しては、ランダムに選択する方法や、重複するダミー回
路を排除する方法などが考えられる。
によって得られた暗号化回路をレイアウトする際に、キ
ー信号の入力信号線を、電源およびグランドのいずれに
も接続可能なようにレイアウトを行う。これによって、
レイアウト工程まで、元の回路の内容について機密を保
つことができ、かつ、キーを用いて極めて容易に元の回
路の復号化を実現することができる。
あり、同図中、(a)は暗号化回路のレイアウトの一
例、(b)は(a)の回路をキーに従って復号化した結
果を示す図である。図7(a)に示すように、暗号化回
路30に入力されるキー信号KEYの入力信号線31
を、電源VDDおよびグランドVSSのいずれにも接続
可能なように、レイアウトを行う。そして、図7(b)
に示すように、キー(図の例では(0,1,0))に従
って、キー信号KEYの入力信号線31を電源およびグ
ランドのいずれか一方に接続する(ECO(Engineerin
g Change Order))。これによって、元の回路のレイア
ウトが復号化される。
ョンによる検証を行うとき、シミュレーション結果が正
常であるか否かを判定するための期待値が必要になる。
ところが、この期待値が外部から見えたとすると、回路
の内容がこの期待値から推定可能になり、設計データの
機密性が保てない。
するとき、シミュレーション結果の期待値となるデータ
または期待値を得る元になるデータを含めて、暗号化を
行う。そして、検証処理では、シミュレーション結果と
期待値との比較結果に基づき、回路動作が正常か否かを
判定する。
の判定方法を示す図である。本判定方法では、シミュレ
ーション結果の期待値を得る元になるデータとして、リ
ファレンスとなる動作モデルを用いる。すなわち、図8
に示すように、まず、動作モデルとともに暗号化された
回路設計データ41をキー52を用いて復号化し(S2
1)、実際の下位レベルの設計データ43(RTLまた
はゲートレベルのネットリスト)と動作モデルの設計デ
ータ44とを得る。そして、下位レベルの設計データ4
3についてシミュレーションを実行し(S22)、実出
力値45を得る。また、動作モデルの設計データ44に
ついてシミュレーションを実行し(S23)、出力期待
値46を得る。そして、得られた実出力値45と出力期
待値46を比較し、各シミュレーション時間において、
実出力値45と出力期待値46とが一致しているか否か
を判定する(S24)。図8の例では、値が一致してい
るので、結果通知47として、シミュレーション結果は
正常である旨を出力する。
の判定方法を示す図である。本判定方法では、シミュレ
ーション結果の期待値となるデータとして、プロトコル
定義を用いる。すなわち、図9に示すように、まず、プ
ロトコル定義とともに暗号化された回路設計データ51
をキー52を用いて復号化し(S31)、設計データ5
3と、プロトコル定義54とを得る。プロトコル定義5
4では、設計データ53が示す回路の入出力および中間
ノードの値について、その動作状態が定義されている。
そして、設計データ53についてシミュレーションを実
行し(S32)、得られた実出力値55と、プロトコル
定義54とを比較する(S33)。
て、シミュレーション結果が異常である旨の結果が得ら
れたときは、シミュレーション実行結果である実出力値
45,55を、暗号化して出力してもよい。
タについてシミュレーションを実行し、検証した場合、
検証結果出力には、設計データ内の全ての信号線の情報
が格納される。多くの入力を与えてシミュレーションを
実行し、それから得た検証結果出力を解析すれば、暗号
化された回路の内容を知得することが可能になる。
の内容が知得されないように、言い換えると、不正アク
セスを監視、防止するために、シミュレーションに制限
をかける方法を示す。
ミュレーション制限方法を示す図である。図10に示す
ように、シミュレーションS42のチェックS43で
は、次のような所定の制限情報64を、シミュレーショ
ンの間カウントする。そして、カウント値が所定の上限
値を越えたとき、シミュレーションS42に制限措置を
施す。
時間 ・回路内の特定信号のトグル数 ・回路への入力の組み合わせ これらの制限情報を、ランダムに選択するようにしても
よい。また、シミュレーションの制限措置としては、次
のようなものが考えられる。
下、異常実行 ・シミュレーション結果の非出力 ・各信号線のダンプ情報、判定結果などのデータの出力
停止 ・次ステップに渡すデータまたはキーの非生成 また、制限情報64として、プロトコルの制約条件を設
けて、シミュレーションにおいて、このプロトコル制約
条件に違反するか否かを判定してもよい。プロトコルの
制約条件としては、次のようなものが挙げられる。
コル(入力プロトコル) ・回路内の動作において許容できるプロトコル(動作中
プロトコル) これらのプロトコル制約条件を、ランダムに選択するよ
うにしてもよい。
暗号化の際に併せて暗号化し、復号化してもかまわない
し、暗号化設計データ61とは別に与えてもよい。
セスをチェックするための回路を予め回路設計データに
含めておいて、暗号化してもよい。このチェック回路
は、シミュレーションのときにのみ動作し、回路設計後
は動作がディセイブルされるように、構成する必要があ
る。
クセスをチェックする回路の一例を示す図である。図1
1(a)に示すチェック回路は、信号Aの変化回数が所
定値(ここでは「8」)を越えたとき、信号Bの値にか
かわらず、出力値を“0”に固定するものである。シミ
ュレーション時には、信号Xに“1”→“0”を与え、
外部リセットをかける。その後、図11(b)に示すよ
うに、所定の制限情報としての信号Aの変化回数が8を
越えるまでは出力値は信号Bの値に一致するが、信号A
の変化回数が8を越えると、出力値は“0”に固定され
る。これにより、正しいシミュレーション結果が得られ
なくなる。回路製造時は、信号Xを“1”に固定し、こ
のチェック回路が動作しないようにする。
ある。図12(a)に示すチェック回路は、信号Yの変
化時において信号A,Bがともに“0”であることをプ
ロトコル制約条件とし、信号Yの変化時に信号A,Bの
いずれかが“0”でないときはプロトコル違反として認
識し、信号Cの値にかかわらず、出力値を“0”に固定
するものである。シミュレーション時には、信号Xに
“1”→“0”を与え、外部リセットをかける。その
後、図12(b)に示すように、信号Yの変化時におい
て、信号Aと信号Bがともに“0”でないときは、出力
値は“0”に固定される。これにより、正しいシミュレ
ーション結果が得られなくなる。回路製造時は、信号X
を“1”、信号Yを“0”に固定し、このチェック回路
が動作しないようにする。
本発明に係るLSI設計方法としてのタイミング調整方
法を示す図である。このタイミング調整方法は、図3
(a)に示すフローすなわち、暗号化A→処理B1→復
号化Cの流れを含むものである。
データ71からタイミング情報72を抽出する(S5
1)。ここでのタイミング情報とは、各論理ゲートから
接続先の負荷までの遅延のことをいう。そして、所定の
変換ルール73に従って、元の回路の内容が分からない
ように、かつ、タイミング情報72のみを合わせるよう
に、すなわち各論理ゲートから接続先の負荷までの遅延
を変化させないで、暗号化処理を行い(S52)、暗号
化設計データ74を生成する。変換ルール73の内容が
そのままキー75になる。このとき、図14(a),
(b)に示すように、変換後の論理ゲート78の少なく
とも1つについて、タイミング調整のためのバッファ7
9を付加する。
図14(c)に示すように、目標タイミングを満たすよ
うに、付加したバッファ79のサイズを調整する(S5
3)。ここでは、暗号化処理S52で生成したキー75
を用いる必要はない。バッファサイズ調整後、キー75
すなわち所定の変換ルールを用いて、元の回路77を復
号化する(S54)。このとき、図14(d)に示すよ
うに、調整されたバッファサイズを基にして、元の論理
ゲートに変換する。この結果、目標タイミングが達成さ
れる。
設計者に対して回路内容を秘匿したまま、タイミング調
整を行わせることができる。
タが表す回路構成の一例を示す図である。図15に示す
ように、暗号化設計データは、製品の種別を判定するた
めの固有IDの判定回路としての回路固有IDレジスタ
を持っている。この回路固有IDレジスタに入力される
固有IDの値は、変数で定義されている。また、この固
有IDの変数の値を与える固有パラメータが定義されて
いる。固有パラメータは、実際の固有IDとは異なる並
び順で、定義される。
有IDの値を“110”としても、回路固有IDレジス
タの値とは並びが異なっており、“101”と新たに定
義された固有IDの値が回路固有IDと一致して、はじ
めて、正常に動作する回路に生成される。また、次の設
計工程では、入力する固有IDの値を“011”として
も、新たに“101”と定義しなおされる。
入力する固有IDの値のビット数を3としたが、この値
は任意とする。さらに、入力する固有IDと回路固有I
Dレジスタは、並びだけではなく、論理が反転していて
もよい。
みではなく、論理回路中の、電源またはグランドに固定
された全てのノードを全て変数で定義されている。
れ以外の正常に動作するように固定された値が入力さ
れ、回路上では、回路固有IDレジスタ(図中のA,
B,C)とそれ以外のレジスタ(図中のD,E)との区
別がつかなくなり、容易に固有IDの値を知ることがで
きなくなる。
するためのプログラムを実行するコンピュータを備えた
装置によって実現することができる。また、当該方法を
実現するためのプログラムをコンピュータ読み取り可能
な記録媒体に記録して、この記録媒体に記録したプログ
ラムをコンピュータに実行させることによって実現する
ことができる。
よって、従来よりも回路設計データの機密性を高めるこ
とができる。また、暗号化された回路設計データを、機
密を保持したまま、設計・検証させることができる。
図である。
ターンを示す図である。
す図である。
ある。
を示す図である。
方法を示す図である。
図である。
る。
る。
を示す図である。
図である。
図である。
す図である。
す図である。
Claims (22)
- 【請求項1】 与えられた回路設計データに対し、暗号
化処理を行うステップを備えたことを特徴とするLSI
設計方法。 - 【請求項2】 請求項1記載のLSI設計方法におい
て、 前記暗号化ステップは、 前記回路設計データが表す回路の全体または一部を元の
回路として、回路変換を行い、暗号化回路を生成するス
テップを備えており、 前記回路変換ステップは、 前記元の回路と入力数および出力数が同一の少なくとも
1つのダミー回路を、前記元の回路と並列に配置し、 前記元の回路およびダミー回路の出力を並び替える並び
替え回路を配置し、 前記並び替え回路の出力から、選択信号に従って、前記
元の回路の出力数に相当する数の信号を選択するセレク
タを配置し、前記暗号化回路を生成するものであり、か
つ、 前記選択信号をキー信号とし、前記元の回路の出力と前
記セレクタの出力とが一致するようなキー信号の値を、
前記暗号化回路のキーとするものであることを特徴とす
るLSI設計方法。 - 【請求項3】 請求項2記載のLSI設計方法におい
て、 前記暗号化ステップは、前記回路変換ステップにおいて
用いるダミー回路を生成するステップを備え、 前記ダミー回路生成ステップは、 前記元の回路に対し、変換ルールに従って、ダミー回路
の候補からなるダミー論理データベースを生成し、 前記ダミー論理データベースから、出力ルールに従っ
て、ダミー回路を選択するものであることを特徴とする
LSI設計方法。 - 【請求項4】 請求項3記載のLSI設計方法におい
て、 前記変換ルールは、論理値の反転、論理演算子の変換、
および論理演算子の順序変更のうちの少なくとも1つを
含むものであることを特徴とするLSI設計方法。 - 【請求項5】 請求項3記載のLSI設計方法におい
て、 前記出力ルールは、ランダム選択であることを特徴とす
るLSI設計方法。 - 【請求項6】 請求項2記載のLSI設計方法におい
て、 前記暗号化回路のレイアウトを行うステップを備え、 前記レイアウトステップは、 前記キー信号の入力信号線を、電源およびグランドのい
ずれにも接続可能なように、レイアウトを行うものであ
ることを特徴とするLSI設計方法。 - 【請求項7】 請求項6記載のLSI設計方法におい
て、 前記レイアウトにおいて、前記キーにしたがって前記キ
ー信号を電源およびグランドのいずれか一方に接続し、
前記元の回路のレイアウトを生成するステップを備えた
ことを特徴とするLSI設計方法。 - 【請求項8】 リファレンスとなる動作モデルとともに
暗号化された回路設計データについて、回路動作の検証
を行うステップを備え、 前記検証ステップは、 前記暗号化された回路設計データを復号化し、実際の設
計データと、前記動作モデルとを得るステップと、 前記実際の設計データについてシミュレーションを実行
し、実出力値を得るステップと、 前記動作モデルについてシミュレーションを実行し、出
力期待値を得るステップと、 前記実出力値と前記出力期待値とを比較し、比較結果を
出力するステップとを備えたものであることを特徴とす
るLSIの検証方法。 - 【請求項9】 プロトコル定義とともに暗号化された回
路設計データについて、回路動作の検証を行うステップ
を備え、 前記検証ステップは、 前記暗号化された回路設計データを復号化し、実際の設
計データと、前記プロトコル定義とを得るステップと、 前記実際の設計データについてシミュレーションを実行
し、実出力値を得るステップと、 前記実出力値を、前記プロトコル定義と比較し、比較結
果を出力するステップとを備えたものであることを特徴
とするLSIの検証方法。 - 【請求項10】 暗号化された回路設計データを、シミ
ュレーションによって検証するステップを備え、 前記検証ステップは、不正なアクセスによるシミュレー
ションを制限するものであることを特徴とするLSIの
検証方法。 - 【請求項11】 請求項10記載のLSI検証方法にお
いて、 前記検証ステップは、 前記暗号化された回路設計データを復号化し、実際の設
計データを得るステップと、 前記実際の設計データについてシミュレーションを実行
するステップと、 前記シミュレーションにおいて、所定の制限情報をカウ
ントするステップと、 カウント値が上限値を超えたとき、シミュレーションに
制限措置を施すステップとを備えたものであることを特
徴とするLSI検証方法。 - 【請求項12】 請求項11記載のLSI検証方法にお
いて、 前記所定の制限情報は、シミュレーションの実行ステッ
プ、シミュレーションの実行時間、回路内の特定信号の
トグル数、および回路への入力の組み合わせのうちの少
なくとも1つを含むものであることを特徴とするLSI
検証方法。 - 【請求項13】 請求項12記載のLSI検証方法にお
いて、 前記所定の制限情報を、ランダムに選択することを特徴
とするLSI検証方法。 - 【請求項14】 請求項10記載のLSI検証方法にお
いて、 前記検証ステップは、 前記暗号化された回路設計データを復号化し、実際の設
計データを得るステップと、 前記実際の設計データについてシミュレーションを実行
するステップと、 前記シミュレーションにおいて、所定のプロトコル制約
条件を違反するか否かをチェックするステップと、 違反したとき、シミュレーションに制限措置を施すステ
ップとを備えたものであることを特徴とするLSI検証
方法。 - 【請求項15】 請求項14記載のLSI検証方法にお
いて、 前記所定のプロトコル制約条件は、入力プロトコル、お
よび動作中プロトコルのうちの少なくとも1つを含むも
のであることを特徴とするLSI検証方法。 - 【請求項16】 請求項15記載のLSI検証方法にお
いて、 前記所定のプロトコル制約条件を、ランダムに選択する
ことを特徴とするLSI検証方法。 - 【請求項17】 請求項11または14記載のLSI検
証方法において、 前記制限措置は、シミュレーションの停止、実行速度低
下および異常実行、シミュレーション結果の非出力、並
びに、次ステップに渡すデータまたはキーの非生成のう
ちの少なくとも1つを含むものであることを特徴とする
LSI検証方法。 - 【請求項18】 シミュレーションにおける不正アクセ
スをチェックするチェック回路を含む回路設計データ
を、暗号化処理するステップと、 暗号化された回路設計データを、シミュレーションによ
って検証するステップとを備え、 前記検証ステップは、前記チェック回路を動作させて、
不正なアクセスによるシミュレーションを制限するもの
であることを特徴とするLSI検証方法。 - 【請求項19】 請求項18記載のLSI検証方法にお
いて、 前記チェック回路は、シミュレーションにおいて、所定
の制限情報のカウント値が上限値を超えたか否かをチェ
ックするものであることを特徴とするLSI検証方法。 - 【請求項20】 請求項18記載のLSI検証方法にお
いて、 前記チェック回路は、シミュレーションにおいて、プロ
トコル制約条件の違反の有無をチェックするものである
ことを特徴とするLSI検証方法。 - 【請求項21】 与えられた回路設計データから、タイ
ミング情報を抽出するステップと、 前記回路設計データを、抽出したタイミング情報のみを
合わせて、所定の変換ルールに従い、暗号化設計データ
に変換するとともに、少なくとも1つの論理ゲートにバ
ッファを付加するステップと、 前記暗号化設計データについて、付加したバッファのサ
イズを調整するステップと、 バッファサイズ調整後の前記暗号化設計データを、前記
所定の変換ルールをキーとして、復号化するステップと
を備えたことを特徴とするLSI設計方法。 - 【請求項22】 固有IDの判定回路とともに暗号化さ
れた回路設計データについて、復号化を行い、実際の設
計データと、前記固有IDの判定回路とを得るステップ
を備え、 前記ステップは、入力された固有パラメータによって、
前記固有IDの判定回路に正しい値を定義するステップ
を有することを特徴とするLSI設計方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000034577A JP3888823B2 (ja) | 2000-02-14 | 2000-02-14 | 半導体集積回路 |
US09/779,440 US7281136B2 (en) | 2000-02-14 | 2001-02-09 | LSI design method and verification method |
US11/520,712 US20070011468A1 (en) | 2000-02-14 | 2006-09-14 | LSI design method and verification method |
US11/601,776 US20080028233A1 (en) | 2000-02-14 | 2006-11-20 | LSI design method and verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000034577A JP3888823B2 (ja) | 2000-02-14 | 2000-02-14 | 半導体集積回路 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004117293A Division JP2004265437A (ja) | 2004-04-12 | 2004-04-12 | Lsiの設計方法および検証方法 |
JP2004217789A Division JP3892004B2 (ja) | 2004-07-26 | 2004-07-26 | Lsi設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001222571A true JP2001222571A (ja) | 2001-08-17 |
JP3888823B2 JP3888823B2 (ja) | 2007-03-07 |
Family
ID=18558895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000034577A Expired - Fee Related JP3888823B2 (ja) | 2000-02-14 | 2000-02-14 | 半導体集積回路 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7281136B2 (ja) |
JP (1) | JP3888823B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005260652A (ja) * | 2004-03-12 | 2005-09-22 | Sony Corp | 信号処理回路および方法 |
JP2006229881A (ja) * | 2005-02-21 | 2006-08-31 | Toshiba Corp | 鍵管理システムおよび鍵管理方法 |
JP2006229485A (ja) * | 2005-02-16 | 2006-08-31 | Sony Corp | 信号処理回路および信号処理方法 |
JP2007507041A (ja) * | 2003-09-26 | 2007-03-22 | メンター・グラフィクス・コーポレーション | 電子設計自動化における情報の安全な交換 |
JP2013084036A (ja) * | 2011-10-06 | 2013-05-09 | Dainippon Printing Co Ltd | データ処理システム及び微細構造物製造システム、並びにデータ処理方法及び微細構造物製造方法 |
US8543666B2 (en) | 2003-12-22 | 2013-09-24 | Nippon Steel & Sumitomo Metal Corporation | System, arrangement and method for providing numerical analysis data, and numerical analysis data utilization device |
JP5335072B2 (ja) * | 2009-04-06 | 2013-11-06 | パナソニック株式会社 | 鍵実装システム |
US8589840B2 (en) | 2009-11-17 | 2013-11-19 | Fujitsu Semiconductor Limited | Semiconductor chip design verification device |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054834A (ja) * | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
JP4099039B2 (ja) * | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
JP2004171367A (ja) * | 2002-11-21 | 2004-06-17 | Matsushita Electric Ind Co Ltd | 回路動作シミュレーション装置、回路動作シミュレーション方法、回路動作シミュレーションプログラム、および回路情報復号化プログラム |
US7222312B2 (en) * | 2003-09-26 | 2007-05-22 | Ferguson John G | Secure exchange of information in electronic design automation |
US20060259978A1 (en) * | 2003-09-26 | 2006-11-16 | Pikus Fedor G | Secure exchange of information in electronic design automation with license-related key generation |
USRE47633E1 (en) | 2005-06-22 | 2019-10-01 | Odyssey Wireless Inc. | Systems/methods of conducting a financial transaction using a smartphone |
US8670493B2 (en) | 2005-06-22 | 2014-03-11 | Eices Research, Inc. | Systems and/or methods of increased privacy wireless communications |
US8233554B2 (en) | 2010-03-29 | 2012-07-31 | Eices Research, Inc. | Increased capacity communications for OFDM-based wireless communications systems/methods/devices |
US20090222927A1 (en) * | 2006-04-30 | 2009-09-03 | Pikus Fedor G | Concealment of Information in Electronic Design Automation |
US8370622B1 (en) * | 2007-12-31 | 2013-02-05 | Rockstar Consortium Us Lp | Method and apparatus for increasing the output of a cryptographic system |
US9374746B1 (en) | 2008-07-07 | 2016-06-21 | Odyssey Wireless, Inc. | Systems/methods of spatial multiplexing |
US20160286532A1 (en) * | 2012-01-24 | 2016-09-29 | Odyssey Wireless, Inc. | Systems/methods of preferentially using a first asset, refraining from using a second asset and providing reduced levels of interference to gps and/or satellites |
JP5262996B2 (ja) * | 2009-05-26 | 2013-08-14 | 富士通セミコンダクター株式会社 | 論理シミュレーション装置、方法、及びプログラム |
US20110154062A1 (en) * | 2009-10-13 | 2011-06-23 | Whelihan David J | Protection of electronic systems from unauthorized access and hardware piracy |
US11924348B2 (en) * | 2021-02-27 | 2024-03-05 | International Business Machines Corporation | Honest behavior enforcement via blockchain |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4583011A (en) * | 1983-11-01 | 1986-04-15 | Standard Microsystems Corp. | Circuit to prevent pirating of an MOS circuit |
DE3671119D1 (de) | 1985-07-03 | 1990-06-13 | Siemens Ag | Integrierte schaltung und verfahren zum sichern von geheimen codedaten. |
JPH05128197A (ja) | 1991-11-06 | 1993-05-25 | Hokuriku Nippon Denki Software Kk | 論理検証装置 |
US6006328A (en) | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US6088452A (en) * | 1996-03-07 | 2000-07-11 | Northern Telecom Limited | Encoding technique for software and hardware |
EP1012747A4 (en) * | 1996-09-13 | 2001-01-31 | Purdue Research Foundation | SIGNAL AUTHENTICATION BY WATERMARK |
US5963454A (en) | 1996-09-25 | 1999-10-05 | Vlsi Technology, Inc. | Method and apparatus for efficiently implementing complex function blocks in integrated circuit designs |
JP3162321B2 (ja) | 1997-05-13 | 2001-04-25 | 三菱電機株式会社 | 論理シミュレーション方法及び論理シミュレーション方法を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
WO1999001815A1 (en) * | 1997-06-09 | 1999-01-14 | Intertrust, Incorporated | Obfuscation techniques for enhancing software security |
US6137318A (en) * | 1997-12-09 | 2000-10-24 | Oki Electric Industry Co., Ltd. | Logic circuit having dummy MOS transistor |
JPH11224284A (ja) | 1998-02-09 | 1999-08-17 | Fujitsu Ltd | 半導体設計資産の流通システム並びに流通装置、および、該流通装置用のソフトウェアを記憶した記憶媒体 |
US6064764A (en) * | 1998-03-30 | 2000-05-16 | Seiko Epson Corporation | Fragile watermarks for detecting tampering in images |
FR2779849B1 (fr) * | 1998-06-15 | 2000-07-28 | Schlumberger Ind Sa | Dispositif a circuit integre securise au moyen de lignes complementaires de bus |
JP3924967B2 (ja) * | 1998-11-25 | 2007-06-06 | ソニー株式会社 | 符号化装置および方法、復号装置および方法、記録媒体、並びにデータ処理システム |
US6192139B1 (en) * | 1999-05-11 | 2001-02-20 | Sony Corporation Of Japan | High redundancy system and method for watermarking digital image and video data |
-
2000
- 2000-02-14 JP JP2000034577A patent/JP3888823B2/ja not_active Expired - Fee Related
-
2001
- 2001-02-09 US US09/779,440 patent/US7281136B2/en not_active Expired - Fee Related
-
2006
- 2006-09-14 US US11/520,712 patent/US20070011468A1/en not_active Abandoned
- 2006-11-20 US US11/601,776 patent/US20080028233A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007507041A (ja) * | 2003-09-26 | 2007-03-22 | メンター・グラフィクス・コーポレーション | 電子設計自動化における情報の安全な交換 |
US8543666B2 (en) | 2003-12-22 | 2013-09-24 | Nippon Steel & Sumitomo Metal Corporation | System, arrangement and method for providing numerical analysis data, and numerical analysis data utilization device |
JP2005260652A (ja) * | 2004-03-12 | 2005-09-22 | Sony Corp | 信号処理回路および方法 |
JP4565314B2 (ja) * | 2004-03-12 | 2010-10-20 | ソニー株式会社 | 信号処理回路および方法 |
JP2006229485A (ja) * | 2005-02-16 | 2006-08-31 | Sony Corp | 信号処理回路および信号処理方法 |
JP4529719B2 (ja) * | 2005-02-16 | 2010-08-25 | ソニー株式会社 | 信号処理回路 |
JP2006229881A (ja) * | 2005-02-21 | 2006-08-31 | Toshiba Corp | 鍵管理システムおよび鍵管理方法 |
JP5335072B2 (ja) * | 2009-04-06 | 2013-11-06 | パナソニック株式会社 | 鍵実装システム |
US8589840B2 (en) | 2009-11-17 | 2013-11-19 | Fujitsu Semiconductor Limited | Semiconductor chip design verification device |
JP2013084036A (ja) * | 2011-10-06 | 2013-05-09 | Dainippon Printing Co Ltd | データ処理システム及び微細構造物製造システム、並びにデータ処理方法及び微細構造物製造方法 |
Also Published As
Publication number | Publication date |
---|---|
US7281136B2 (en) | 2007-10-09 |
US20070011468A1 (en) | 2007-01-11 |
US20020083330A1 (en) | 2002-06-27 |
US20080028233A1 (en) | 2008-01-31 |
JP3888823B2 (ja) | 2007-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001222571A (ja) | Lsiの設計方法および検証方法 | |
Gao et al. | PUF-FSM: a controlled strong PUF | |
Rajendran et al. | Fault analysis-based logic encryption | |
Baumgarten et al. | Preventing IC piracy using reconfigurable logic barriers | |
Koteshwara et al. | Key-based dynamic functional obfuscation of integrated circuits using sequentially triggered mode-based design | |
Alkabani et al. | Remote activation of ICs for piracy prevention and digital right management | |
Lotfy et al. | An efficient design of Anderson PUF by utilization of the Xilinx primitives in the SLICEM | |
Rezaei et al. | Global attack and remedy on IC-specific logic encryption | |
US20220035977A1 (en) | Saro: scalable attack-resistant obfuscation of logic circuits | |
Cui et al. | A new active IC metering technique based on locking scan cells | |
Yu et al. | Hardware hardening approaches using camouflaging, encryption, and obfuscation | |
Chhabra et al. | Hardware Obfuscation of AES IP Core Using PUFs and PRNG: A Secure Cryptographic Key Generation Solution for Internet-of-Things Applications | |
Hemavathy et al. | Adaptive PUF design to authenticate and evaluate heterogeneous IPs in edge computing | |
JP3892004B2 (ja) | Lsi設計方法 | |
Qu et al. | Digital fingerprint: A practical hardware security primitive | |
Guin et al. | Obfuscation and encryption for securing semiconductor supply chain | |
JP2004265437A (ja) | Lsiの設計方法および検証方法 | |
Mohankumar et al. | Lightweight Logic Obfuscation in Combinational Circuits for Improved Security—An Analysis | |
Kulkarni et al. | Design and implementation of Strong Physical Unclonable Functions on Field Programmable Gate Array | |
Natarajan et al. | Logic obfuscation technique using configurable gate diffusion input for improved hardware security | |
Guajardo et al. | Secure IP-block distribution for hardware devices | |
Guha et al. | Zero Knowledge Authentication for Reuse of IPs in Reconfigurable Platforms | |
TWI744892B (zh) | 電子系統及電子系統的操作方法 | |
Nazeem et al. | Key-based Obfuscation of Digital Design for Hardware Security | |
Portella | Balancing energy, security and circuit area in lightweight cryptographic hardware design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040726 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041124 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041129 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061128 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091208 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |