JP7410476B2 - ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム - Google Patents

ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム Download PDF

Info

Publication number
JP7410476B2
JP7410476B2 JP2020110020A JP2020110020A JP7410476B2 JP 7410476 B2 JP7410476 B2 JP 7410476B2 JP 2020110020 A JP2020110020 A JP 2020110020A JP 2020110020 A JP2020110020 A JP 2020110020A JP 7410476 B2 JP7410476 B2 JP 7410476B2
Authority
JP
Japan
Prior art keywords
input
output
netlist
score
value
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.)
Active
Application number
JP2020110020A
Other languages
English (en)
Other versions
JP2022007202A (ja
Inventor
真一 永田
功次 高橋
望 戸川
優 大屋
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.)
Waseda University
Toshiba Information Systems Japan Corp
Original Assignee
Waseda University
Toshiba Information Systems Japan 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 Waseda University, Toshiba Information Systems Japan Corp filed Critical Waseda University
Priority to JP2020110020A priority Critical patent/JP7410476B2/ja
Priority to PCT/JP2021/023846 priority patent/WO2021261532A1/ja
Priority to CN202180043134.XA priority patent/CN115698993A/zh
Priority to US18/003,275 priority patent/US20230252192A1/en
Publication of JP2022007202A publication Critical patent/JP2022007202A/ja
Application granted granted Critical
Publication of JP7410476B2 publication Critical patent/JP7410476B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/76Protecting 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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラムに関するものである。
ハードウエアトロイは、ある条件で動作するように起動を制御するトリガ回路と、このトリガ回路により起動されたときに不正データを出力するペイロード回路とを主な構成要素とするものである。ハードウエアトロイは、論理シミュレーションによっては見つかり難くするために、極めて稀に機能するように構成されているのが一般的である。
ハードウエアトロイを論理シミュレーションで行う場合には、テストパターンによるシミュレーションが通例である。前述の通り、ハードウエアトロイは極めて稀に機能するために、全てのテストパターンを用いて状態を観察する必要があり、シミュレーションに多大な時間を要することになる。また、遷移確率のシミュレーションを行う場合には、ライブラリなどの使用されている全セルの情報が必要である。そのため、設計者以外がハードウエアトロイの検出を行うことは困難であった。
特許文献1には、RTLシミュレーション手段とゲート動作率算出用パターン作成手段とネットリストシミュレーション手段により動作率算出を行うシステムが開示されている。このシステムによると、ゲート動作率算出用パターンの作成は元のパターンよりもパターン数の非常に大きな低減を実現し、ネットリストシミュレーションによって元のテストパターンを用いたシミュレーションに比べて非常に小さな時間での実行を可能としている。
しかしながら、特許文献1のシステムは、シミュレーションであることに変わりなく、ゲート動作率算出用パターンの作成は、元のパターンよりもパターン数の非常に大きな低減と言っても限界がある。
また、特許文献2には、対象となる電子回路のネットリスト、各マクロセルの入力端子に与えられる動作率、入力端子がハイレベルである確率、該マクロセルの真理値表のデータベースを用いる動作率計算法が開示されている。上記動作率と入力端子がハイレベルである確率、真理値表に基づき各マクロセルの出力端子の動作率、出力端子がハイレベルである確率を求め、これを入力段から最終段まで伝播させてネットリスト中のマクロセルの動作率を求めるものが開示されている。
上記特許文献2に開示の技術は、マクロセルの動作率を求めることができ、発熱によるリスク回避などにはつながっても、ハードウエアトロイの検出を行うことを想起させるものではない。
また、特許文献3には、既知ネットリストにおいて、トロイネットを含んでいる可能性がある構成ネットを対照ネットとしてスコアを付与し、検査対象のネットリストについて上記対照ネットを検索して、上記スコアを与えて、このスコアによりハードウエアトロイの検出を行うことが開示されている。
特開2001-350815号公報 特開2005-141538号公報 特許第6566576号公報
本発明の実施形態は、例えば、SoC(System on a Chip)設計において、IP(Intellectual Property)を利用する際などに、ハードウエアトロイが挿入されている場合などに、ハードウエアトロイを比較的短時間で適切に検出することができるハードウエアトロイ検出方法を提供する。
本実施形態に係るハードウエアトロイ検出方法は、検査対象のネットリストに含まれる全論理セルの論理式による演算を行って全論理セルの入出力値の更新を行う入出力更新工程と、更新された入出力値が閾値との比較結果に基づきハードウエアトロイの検出を行う検出工程とを備え、前記検出工程では、前記検査対象のネットリストに基づく回路規模に対応する回路規模対応閾値と、前記演算を所定回クール行ったときに得られたいずれかの論理セルの入出力値の比較に基づき前記検査対象のネットリスト中のハードウエアトロイの検出を行うことを特徴とする。なお、論理セルにおいて行われる論理演算は一般的には、1と0や真と偽のように2種の値しかない論理値の演算である。これに対し、本実施形態においては、上記2種の値しかない論理値以外の数値(0.5や0.25などの小数、5や10などの整数などの数)を用い、論理セルの論理式による演算を行うものである。


本発明の第1の実施形態に係るハードウエアトロイ検出装置を実現するコンピュータシステムの構成図。 本発明の第1の実施形態に係るハードウエアトロイ検出装置の機能ブロック図。 本発明の第1の実施形態に係るハードウエアトロイ検出装置によりハードウエアトロイを検出するネットリストの構成ネットの一例を示す図。 本発明の第1の実施形態に係るハードウエアトロイ検出装置の動作を示すフローチャート。 本発明の実施形態に係るハードウエアトロイ検出装置において設定するパラメータの説明図。 図3に示す構成ネットにパラメータを設定した場合を示す構成ネットの図。 図3に示す構成ネットにパラメータを設定した場合を示す構成ネットについて論理セルの論理式による演算によって更新を行った状態を示す図。 論理セルについての論理式による演算によって更新を行う場合の計算式を示す図。 図7に示す構成ネットにパラメータを設定した場合を示す構成ネットの論理セルについて、論理式による演算によって更新を行った状態を示す図。 図9に示す構成ネットにパラメータを設定した場合を示す構成ネットの論理セルについて、論理式による演算によって更新を行った状態を示す図。 図10に示す構成ネットにパラメータを設定した場合を示す構成ネットの論理セルについて、論理式による演算によって更新を行った状態を示す図。 図11に示す構成ネットにパラメータを設定した場合を示す構成ネットの論理セルについて、論理式による演算によって更新を行った第2クール目の状態を示す図。 本発明の第2の実施形態に係るハードウエアトロイ検出装置を実現するコンピュータシステムの構成図。 本発明の第2の実施形態に係るハードウエアトロイ検出装置の機能ブロック図。 本発明の第2の実施形態に係るハードウエアトロイ検出装置において用いる第1の閾値とスコアとの変換テーブルを示す図。 トロイネットが存在する場合には、長期間にわたって一定値が出力されることを示す波形図。 この第2の実施形態によるハードウエアトロイ検出の処理を示すフローチャート。
以下添付図面を参照して、本発明の実施形態に係るハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラムを説明する。各図において同一の構成要素には、同一の符号を付して重複する説明を省略する。
本発明の第1の実施形態に係るハードウエアトロイ検出装置1は、例えば図1に示されるようなパーソナルコンピュータやワークステーション、その他のコンピュータシステムにより構成することができる。このコンピュータシステムは、CPU10が主メモリ11に記憶されている或いは主メモリ11に読み込んだプログラムやデータに基づき各部を制御し、必要な処理を実行することによりハードウエアトロイ検出装置1として動作を行うものである。
CPU10には、バス12を介して外部記憶インタフェース13、入力インタフェース14、表示インタフェース15、ネットワークインタフェース16が接続されている。外部記憶インタフェース13には、ハードウエアトロイ検出用プログラム等のプログラムと必要なデータ等が記憶されている外部記憶装置23が接続されている。入力インタフェース14には、コマンドやデータを入力するための入力装置としてのキーボードなどの入力装置24とポインティングデバイスとしてのマウス22が接続されている。
表示インタフェース15には、LEDやLCDなどの表示画面を有する表示装置25が接続されている。ネットワークインタフェース16には、インターネット等のネットワーク26が接続され、外部のサーバやクラウドなどにアクセス可能に構成されている。ネットワーク26は、必要なデータ等を得るための構成であり、データ入力を行うための記憶媒体や入力装置であっても良い。更に、このコンピュータシステムには、他の構成が備えられていても良く、また、図1の構成は一例に過ぎない。
図2は、本発明の第1の実施形態に係るハードウエアトロイ検出装置1の機能ブロック図である。上記において、CPU10では、外部記憶装置23内のハードウエアトロイ検出用プログラムによって図2に記載の各手段等が実現される。即ち、入出力更新手段31、パラメータ設定手段32、検出手段33を備える。
入出力更新手段31は、検査対象のネットリストに含まれる全論理セルの論理式による演算を行って全論理セルの入出力値の更新を行うものである。即ち入出力更新手段31は、検査対象が構成ネットであれば、構成ネットの範囲の全論理セルの上記演算を行い、また、検査対象が集合ネットであれば、集合ネットの範囲の全論理セルの上記演算を行い、更に、検査対象がLSI全体であれば、当該LSI全体の全論理セルの上記演算を行うものである。この第1の実施形態と後に説明する第2の実施形態においては、入出力更新手段31は、検査対象のネットリストに含まれる構成ネットにおける全論理セルの上記演算を行って全論理セルの入出力値の更新を行うものとする。パラメータ設定手段32は、上記全論理セルの入出力のネットに初期値としてパラメータを設定するものである。検査対象ネットリストは、開発するLSIなどに含まれる各種回路同士を接続する配線の一覧を記述した設計データである。検査対象ネットリストは、開発するLSIなどを構成する回路の階層に合わせて構築された階層を有し、最上位層である集合ネットと、当該集合ネットの下位層である構成ネットを備える。集合ネット及び構成ネットは、情報処理装置の規模に応じて1つ以上設けられる。構成ネットは、回路の端子間を繋ぐ配線(以下、「端子間ネット」という。)によって接続された一群の回路によって構成される。また、開発するLSIなどに含まれる各種回路には、論理セルが含まれている。
本実施形態では、上記入出力更新手段31で、設定された上記パラメータを用いた上記演算を上記論理セルの全てについて所定回クール行って入力値と出力値の更新を行う。
前記論理セルは、論理回路と、必要な場合に論理回路以外のバッファ、リピータを含むものである。上記入出力更新手段31は、1回毎のクールにおける入力値と出力値の更新の処理内において、バッファ及びリピータについての更新の場合には、入力値がバッファまたはリピータの出力へ伝達されるまでの所定回数更新を行う。例えば、構成ネットにおける全論理セルの上記演算を1回クール行うときに、バッファまたはリピータについては10回の上記演算による更新に相当する入出力値の更新を行う。
検出手段33は、更新された入出力値が閾値との比較結果に基づきハードウエアトロイの検出を行う。本実施形態の検出手段33は、上記演算を所定回クール行ったときに得られたいずれかの論理セルの出力値に基づきハードウエアトロイの検出を行う。
本実施形態では、上記検出手段33は、上記検査対象のネットリストに基づく回路規模に対応する閾値である回路規模対応閾値と、上記演算を所定回クール行ったときに得られたいずれかの論理セルの入出力値の比較に基づき上記検査対象のネットリスト中のハードウエアトロイの検出を行う。具体的には、検査対象のネットリストに含まれる構成ネットの回路規模を表す端子間ネット数が500程度の回路において、所定回クールを4回クールとしたとき、パラメータの値は、2.8e-8程度となり、パラメータは回路規模対応閾値を出力値で1e-7、入力値で1-(1e-7)を用いて比較を行うことができる。即ち、出力値が1e-7以下であればハードウエアトロイが存在すると判定することができ、入力値が1-(1e-7)以上であればハードウエアトロイが存在すると判定することができる。
検査対象のネットリストを含め、ネットリストは、一般的にネットリストから作成されるLSIなどのデバイスを構成する回路の階層と対応する階層構造である。この階層の最上位層を集合ネットと称し、当該集合ネットの下位層に構成ネットを備える。LSIなどのデバイスの規模に応じて上記集合ネットと上記構成ネットは、それぞれ1つ以上存在する。この内、構成ネットは、回路の端子間に設けられる端子間ネットと称される配線によって接続された一群の回路によって構成されるものである。本実施形態では、構成ネットにおける全論理セルの上記演算を行って全論理セルの入出力値の更新を行う。
構成ネットの一例を図3に示す。この構成ネットは、ハードウエアトロイが存在する可能性がある疑トロイ回路部41、ハードウエアトロイが存在しない非トロイ回路部42、その他の部分である残余回路部43を備えている。
疑トロイ回路部41は、論理セルであるANDゲートC1~C11を備え、端子間ネットs1i1~s1i17、s2i1~s2i8、s3i1、s3i2によって論理セルが接続されている。ANDゲートC10とANDゲートC11との間には、縦続接続された3つのバッファB1~B3が設けられている。
非トロイ回路部42は、ANDゲートC12、DフリップフロップF1、マルチプレクサMの一部、バッファB4を備え、端子間ネットFB1、FB2、LP1、非トロイのネットAT1、マルチプレクサMの出力ネットOUTPUT等を有している。
残余回路部43は、縦続接続された3つのバッファB5~B7、マルチプレクサMの一部を備え、端子間ネットとして、ANDゲートC11の出力ネットTRG1、バッファB5~B7を接続するネット、マルチプレクサMの一方の入力へ到るトロイのペイロードのネットP1、マルチプレクサMの出力ネットOUTPUT等を有している。
上記のような構成ネットに対し、CPU10外部記憶装置23内のハードウエアトロイ検出用プログラムによって図4のフローチャートに示すように動作を行うので、このフローチャートに基づき動作を説明する。CPU10は、検査対象のネットリストを読み込む(S11)。この検査対象のネットリストについての読み込みは、例えば、外部記憶装置23から行うことができ、また、ネットワークインタフェース16とネットワーク26を介して外部のサーバやクラウドなどにアクセスして行うことができる。
次にCPU10は、読み込んだネットリストにより、全論理セルの入出力のネットに初期値としてパラメータを設定する(S12)。
上記に用いるパラメータは、例えば次のように決定される。本実施形態が対象とするLSIなどのデバイスに用いられる論理セルにおいて入出力される信号は、図5に示されるようにHレベルとLレベルといずれかの値を有し、どちらかのレベルである。このため、図5のようにHレベルとLレベルが変化するとして、時間T中にH(L)レベルである割合は0.5である。この0.5をパラメータとして全論理セルの入出力のネットに初期値として設定する。この結果は、図6に示す通りである。
次に、設定された上記パラメータを用いた上記演算を上記論理セルの全てについて入力値と出力値の更新を行う(S13)。この場合、上記演算による演算はどこから始めても良く、順不同である。図7には、ANDゲートC11とANDゲートC12について出力側において演算を行った結果が示されている。この場合の上記演算は、図8に示される式により行われる。
図9には、ANDゲートC11から下流側へと演算を進め、ANDゲートC9とANDゲートC10のそれぞれの出力について演算を行った結果が示されている。更に、図10には、ANDゲートC9とANDゲートC10のそれぞれの入力について演算を行った結果が示されている。
図11には、バッファ及びリピータについての更新の場合には、入力値がバッファまたはリピータの出力へ伝達されるまでの所定回数更新を行う例が示されている。構成ネットにおける全論理セルの上記演算を1回クール行うときに、バッファまたはリピータについては10回の上記演算による更新に相当する入出力値の更新を行う。この結果、3つのバッファB1~B3において、ANDゲートC10の出力0.0625が順に伝達される。ANDゲートC10の出力がどのタイミングで変化するか不定であるため、ここでは、10回の上記演算による更新に相当する入出力値の更新を行う。
また、図11には、3つのバッファB5~B7において、ANDゲートC11の出力0.0625が順に伝達されることが示されている。3つのバッファB5~B7の入出力値の更新についても、ANDゲートC11の出力がどのタイミングで変化するか不定であるため、ここでは、10回の上記演算による更新に相当する入出力値の更新を行う。この例では、バッファの入出力の更新を、図11に示すタイミング行っているが、他のタイミングでも行われるものである。
以上のようにして、設定された上記パラメータを用いた上記演算を上記論理セルの全てについて入力値と出力値の更新が完了(1回クールの更新が完了)すると、所定回クール(ここでは、4回クール)の更新が完了したのかを検出し(S14)、NOとなるとステップS13へ戻って処理が続けられる。
ステップS13へ戻った場合には、2クール目の処理となる。上記の図11に示した1回クール目の終了から、図12に示す2クール目の処理では、ANDゲートC11の出力が0.001935に更新される。以下、ANDゲートC11の下流側の論理セルの入出力値の更新が行われ、更に、ANDゲートC11の上流側の論理セルの入出力値の更新が行われる。この第2クール目の更新においても順不同である。以下同様に第1クール目の処理で説明した通りの動作と同様に動作が進められる。このようにして、第2クール目の処理が終了し、次に第3クール目の処理が開始されて終了し、更に第4クール目の処理が開始されて終了すると、ステップS14においてYESへ分岐し、ステップS15へ進む。
ステップS15では、CPU10は、前述の通りの閾値(出力値で1e-7、入力値で1-(1e-7))と各論理セルの入力値と出力値を比較し(S15)、判定条件である出力値が1e-7以下か、または入力値が1-(1e-7)以上であるかを判定する(S16)。
上記ステップS16においてYESとなると、ハードウエアトロイが存在すると判定し、その旨を表示装置25に表示させるなどの出力処理を行い(S17)、上記ステップS16においてNOとなると、ハードウエアトロイが存在しないと判定し、その旨を表示装置25に表示させるなどの出力処理を行う(S18)。
次に、本発明の第2の実施形態に係るハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラムについて説明する。第2の実施形態に係るハードウエアトロイ検出方法、ハードウエアトロイ検出装置の実施形態についても、本発明の第1の実施形態に係るハードウエアトロイ検出装置1と同じ図13に示すコンピュータシステムによってハードウエアトロイ検出装置1Aが実現される。
図14に、本発明の第2の実施形態に係るハードウエアトロイ検出装置1Aの機能ブロック図を示す。第2の実施形態に係るハードウエアトロイ検出装置1Aにおいて、CPU10では、外部記憶装置23内のハードウエアトロイ検出用プログラムによって図14に記載の各手段等が実現される。即ち、第1の実施形態と同じ、入出力更新手段31、パラメータ設定手段32を備える。入出力更新手段31、パラメータ設定手段32以外に、検出手段33A、第1の閾値取得手段34、判定スコア閾値取得手段35、第2の閾値取得手段36を備える。
第1の閾値取得手段34は、ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリストを用いて、上記パラメータ設定手段32と上記入出力更新手段31とによる処理を行い、この入出力更新手段31における上記演算を所定回クール行ったときに得られた構成ネット内の入出力値に基づき第1の閾値を求めるものである。上記検出手段33Aは、上記第1の閾値を用いてハードウエアトロイの検出を行う。
本実施形態では、既知ネットリスト及び検査対象のネットリストは、端子間ネットによって接続された一群の回路によって構成される構成ネットを1以上含む集合ネットを少なくとも含んで構成される。第1の閾値取得手段34は、構成ネット毎に第1の閾値を取得する。
判定スコア閾値取得手段35は、既知ネットリスト内のそれぞれの構成ネットにおいて最大最小の入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを既知ネットリストの集合ネット毎に合計して、得られた集合ネット毎スコアを比較して、最小の集合ネット毎スコアに基づき判定スコア閾値を得るものである。ここに、判定スコア閾値取得手段35が上記処理を実行する場合における、最大スコアを有する集合ネットを、「最大スコアネット」と称し、既知ネットリスト内の最大スコアネットの数を、「最大スコアネット数」と称する。
前記検出手段33Aは、検査対象のネットリスト毎に第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを検査対象ネットリストの集合ネット毎に合計して検査対象スコアを得て、検査対象スコアを前記判定スコア閾値に基づき評価して前記検査対象のネットリスト中のハードウエアトロイの検出を行う。
第2の閾値取得手段36は、所定時間内に一定値を出力するクロック数が所定値以上であり、最大スコアネット数が最大スコアネット数閾値以下である条件に合致するハードウエアトロイを含むと予想される既知ネットリストを複数の既知ネットリスト中から抽出し、抽出した既知ネットリストを用いて、上記パラメータ設定手段32と上記入出力更新手段31とによる処理を行い、この入出力更新手段31における上記演算を所定回クール行ったときに得られた出力値に基づき第2の閾値を求めるものである。
本実施形態では、例えば、米国のサイト(Trust-HUB)に公開されているベンチマークのネットリストを用いることができる。この内の10個のベンチマークを選択して、ハードウエアトロイが含まれているものを(HT-inserted)、ハードウエアトロイが含まれていないものを(HT-free)として示すと次の表1のようになる。
Figure 0007410476000001
表1のベンチマークの公知ネットリストには、集合ネットが1つ以上含まれ、集合ネットには1以上の構成ネットが含まれている。この構成ネットには、「疑トロイネット」と称されるトロイネットである可能性がある端子間ネットを見出すことができ、疑トロイネットを含む構成ネットが公知ネットリストに含まれていることが知られている。この疑トロイネットを含む構成ネットを対照ネットと称し、表1のベンチマークのものから9種類の対照ネットを見出すことができることが特許文献3に開示されている。
本実施形態では、上記9種類の対照ネットを見つけ出すことなく、ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリスト(上記ベンチマークのもの)を用いて、上記パラメータ設定手段32と上記入出力更新手段31とによる第1の実施形態で説明した通りの処理を行い、この入出力更新手段31における上記演算を所定回クール行ったときに得られた構成ネット内の入出力値を求める。
ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリスト(上記ベンチマークのもの)の全ての構成ネットに対して上記の処理を行った結果、出力値で小数点以下に例えば5個以上の0を有する数値TO(例えば1e-7)に近い値(トロイ有出力閾値という)や、入力値で1からTOを引いた数値TI(例えば1-(1e-7))に近い値(トロイ有入力閾値という)、が得られる。
第1の閾値取得手段34は、全ての構成ネットから得られたトロイ有出力閾値とトロイ有入力閾値についてそれぞれの平均値を得て、第1の閾値とする。また、トロイ有出力閾値が1e-7と1e-6のように1桁以上離れたものが得られた場合には、トロイ有出力閾値の1、トロイ有出力閾値の2として上記の平均値をそれぞれについて求める。また、この場合には、トロイ有入力閾値の1、トロイ有入力閾値の2が得られると、これについても平均値をそれぞれについて求める。そして、第1の閾値は、第1の閾値の1、第1の閾値の2のように複数得られる。
判定スコア閾値取得手段35は、構成ネット内のそれぞれの入出力値においてスコア付与をする。スコアは、出力値が、図15に示すように、トロイ有出力閾値の1以下である場合に2、トロイ有出力閾値の1より大きくトロイ有出力閾値の2以下である場合に1、トロイ有出力閾値の2より大の場合に0である。また、スコアは、入力値が、図15に示すように、トロイ有入力閾値の1以上である場合に2、トロイ有入力閾値の1より小さくトロイ有入力閾値の2以上である場合に1、トロイ有入力閾値の2より小の場合に0である。
スコアは、構成ネットの全ての入力値と全ての出力値に対し与えられる。構成ネットに付与されたスコアの最大スコアを既知ネットリストの集合ネット毎に合計する。従って、構成ネット中の、トロイ有出力閾値より小さな出力値に対応するスコアが最大スコアとなり、またはトロイ有入力閾値より大きな入力値に対応するスコアが最大スコアとなる。
次に、最大スコアを既知ネットリストの全集合ネットについて合計する。従って、ハードウエアトロイが含まれている可能性が高い構成ネットと集合ネットを多く含む既知ネットリストにおいて、合計スコアが大きくなる。このようにして得られたネットリスト毎スコアを比較して、最小のネットリスト毎スコアに基づき判定スコア閾値を得る。例えば、最小の既知ネットリスト毎スコアに1を加えた値を判定スコア閾値とする。表1のベンチマークの既知ネットリストを用いると、3が判定スコア閾値として求められる。
上記検出手段33Aは、検査対象のネットリストの構成ネット毎に入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与する。この動作では、第1の閾値取得手段34が求めた第1の閾値を用いて、検出手段33Aが、検査対象のネットリストの構成ネット毎に入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与する。スコアの付与は、図15に示した第1の閾値とスコアとの変換テーブルのデータを用いて行われる。
検出手段33Aによるスコア付与と同様に、構成ネットの全ての入力値と全ての出力値に対し与えられる。構成ネットに付与されたスコアの最大スコアを既知ネットリストの集合ネット毎に合計される。従って、検査対象のネットリストの構成ネット中の、トロイ有出力閾値より小さな出力値に対応するスコアが最大スコアとなり、またはトロイ有入力閾値より大きな入力値に対応するスコアが最大スコアとなる。
次に、最大スコアを検査対象ネットリストの全集合ネットについて合計し、検査対象スコアが得られる。この検査対象スコアと判定スコア閾値(前述の例では、3)とを比較し、上記検査対象のネットリスト中のハードウエアトロイの検出を行う。具体的には、検査対象スコアが判定スコア閾値(前述の例では、3)以上である場合には、ハードウエアトロイが存在すると判定し、その旨を表示装置25に表示させるなどの出力処理を行う。
この第2の実施形態では、図14に示されるように、第2の閾値取得手段36を備える。第2の閾値取得手段36は、所定時間内に一定値を出力するクロック数が所定値以上であり、最大スコアネット数が最大スコアネット数閾値以下である条件に合致するハードウエアトロイを含むと予想される既知ネットリストを複数の既知ネットリスト中から抽出する。
判定スコア閾値取得手段35においては、既知ネットリスト内のそれぞれの構成ネットにおいて入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを既知ネットリストの全集合ネットについて合計する。
表1に示すベンチマークの既知ネットリストについて、上記最大スコアネット数とトロイネットの含有の関係を検討すると、公知トロイネットを含む場合には最大スコアネット数が比較的小さく、最大スコアネット数(Xnumber)の最も大きな値は、ベンチマーク(s38417-T100)の5である。このように、公知トロイネットを含む/含まないについては、複数の既知ネットリストの最大スコアネット数(Xnumber)を調べ、調べた中で最も大きい最大スコアネット数(Xnumber)を最大スコアネット数閾値(Tnumber)とすることができる。最大スコアネット数が最大スコアネット数閾値以下であるという条件が、公知トロイネットを含む既知ネットリストである条件(ネット数条件という)である。
一方、例えば、図16に示すように、1Mクロック間で一定値を出力する最長のクロック数を、最大一定サイクル数(Max constant cycles)と称する。この最大一定サイクル数が高いほど、最大スコアネットはトロイネットを含む可能性が高くなる。トロイネットは動作し難いため、トロイネットが存在する場合には、長期間にわたって一定値が出力されることが予測される(一定サイクル数条件という)。
表1に示したベンチマークの中で、上記「一定サイクル数条件」と上記「ネット数条件」を満たす既知ネットリストのベンチマークは、ベンチマーク(RS232-T1000、s38417-T100、およびvga_lcd-T100)であることが特許文献3に示されている。
このように第2の閾値取得手段36は、上記「一定サイクル数条件」と上記「ネット数条件」を満たす既知ネットリストを抽出し、抽出した既知ネットリストを用いて、上記パラメータ設定手段32と上記入出力更新手段31とによる処理を行い、この入出力更新手段31における上記演算を所定回クール行ったときに得られた出力値に基づき第2の閾値を求める。
上記の上記パラメータ設定手段32と上記入出力更新手段31とによる処理によって、上記演算を所定回クール行って、出力値を得る処理は、処理する対象のネットリストが、ベンチマーク(RS232-T1000、s38417-T100、およびvga_lcd-T100)のネットリストである点を除けば、同じであり、図4のフローチャートにおけるステップS11からS15において説明したので、ここでは説明を省略する。
以上で、入出力更新手段31における上記演算を所定回クール行ったときに、構成ネット内の入出力値が求められる。この内の出力値としては、小数点以下に例えば5個以上の0を有する数値TO(例えば1e-7)に近い値(トロイ有出力閾値という)が得られ、入力値としては、1からTOを引いた数値TI(例えば1-(1e-7))に近い値(トロイ有入力閾値という)、が得られる。
第2の閾値取得手段36は、全ての構成ネットから得られたトロイ有出力閾値とトロイ有入力閾値についてそれぞれの平均値を得て、第2の閾値とする。本実施形態では、3つのベンチマークのネットリストを用いているために、第2の閾値は3つ生成される。最終的には、平均値を第2の閾値とする、或いは、トロイ有出力閾値については最も小さいものを第2の閾値とし、トロイ有入力閾値については最も大きいものを第2の閾値とする。
上記検出手段33Aは、上記第2の閾値を用いて上記検査対象のネットリスト中のハードウエアトロイの検出を行う。この上記検出手段33Aによる検出処理は、図4のフローチャートにより示した通りであり、このフローチャートにおいて、ステップS16において用いる閾値が上記第2の閾値となる。
この第2の実施形態によるハードウエアトロイ検出の処理を、入出力更新手段31、パラメータ設定手段32以外に、検出手段33A、第1の閾値取得手段34、判定スコア閾値取得手段35、第2の閾値取得手段36による処理手順として示すと、図17のフローチャートに示すようである。
まず、第1の閾値を取得するための処理が行われる(S51)。このステップS51においては、入出力更新手段31、パラメータ設定手段32、第1の閾値取得手段34により処理が行われる。次に、判定スコア閾値の取得を行う処理が行われる(S52)。このステップS52においては、判定スコア閾値取得手段35により処理が行われる。次に、検査対象ネットリストについて判定スコア閾値を用いたハードウエアトロイ検出の処理が行われる(S53)。このステップS53においては、入出力更新手段31、パラメータ設定手段32、検出手段33Aにより処理が行われる。
次に、第2の閾値を取得するための処理が行われる(S54)。このステップS54においては、入出力更新手段31、パラメータ設定手段32、第2の閾値取得手段36により処理が行われる。更に、検査対象ネットリストについて第2の閾値を用いたハードウエアトロイ検出の処理が行われる(S55)。このステップS55においては、入出力更新手段31、パラメータ設定手段32、検出手段33Aにより処理が行われる。
以上のように第1の実施形態、第2の実施形態においても、全論理セルの入出力のネットに初期値としてパラメータを設定し、設定された上記パラメータを用いた上記演算を上記論理セルの全てについて所定回クール行って入力値と出力値の更新を行う処理が基本的な処理となり、簡単な処理で多くの時間を要さないハードウエアトロイの検出を行い得ることが期待される。
本発明に係る複数の実施形態を説明したが、これらの実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
実施形態において説明した、公知ネットリストの数および対照ネットの数はこれらに限定されない。公知ネットリストの数は例示に過ぎない。また、実施形態においては、対照ネットのスコアは変わり得る数値である。最大スコア閾値および最大スコアネット数閾値の値も、変わり得るものである。最大スコア閾値および最大スコアネット数閾値は、一例に過ぎない。また、最大一定クロック数(1Mクロック間で一定値を出力する最長のクロック数)を用いたが、これに限定されるものではない。
1 第1の実施形態に係るハードウエアトロイ検出装置
1A 第2の実施形態に係るハードウエアトロイ検出装置
11 主メモリ
12 バス
13 外部記憶インタフェース
14 入力インタフェース
15 表示インタフェース
16 ネットワークインタフェース
22 マウス
23 外部記憶装置
24 入力装置
25 表示装置
26 ネットワーク
31 入出力更新手段
32 パラメータ設定手段
33、33A 検出手段
34 第1の閾値取得手段
35 判定スコア閾値取得手段
36 第2の閾値取得手段
41 疑トロイ回路部
42 非トロイ回路部
43 残余回路部

Claims (18)

  1. 検査対象のネットリストに含まれる全論理セルの論理式による演算を行って全論理セルの入出力値の更新を行う入出力更新工程と、
    更新された入出力値と閾値との比較結果に基づきハードウエアトロイの検出を行う検出工程と
    備え、
    前記検出工程では、前記検査対象のネットリストに基づく回路規模に対応する回路規模対応閾値と、前記演算を所定回クール行ったときに得られたいずれかの論理セルの入出力値の比較に基づき前記検査対象のネットリスト中のハードウエアトロイの検出を行うことを特徴とするハードウエアトロイ検出方法。
  2. 前記全論理セルの入出力のネットに初期値としてパラメータを設定するパラメータ設定工程を備え、
    前記入出力更新工程では、設定された前記パラメータを用いた前記演算を前記全論理セルの全てについて所定回クール行って入力値と出力値の更新を行い、
    前記検出工程では、前記演算を所定回クール行ったときに得られたいずれかの論理セルの出力値に基づきハードウエアトロイの検出を行う
    ことを特徴とする請求項1に記載のハードウエアトロイ検出方法。
  3. 前記全論理セルは、論理回路と、必要な場合に論理回路以外のバッファ、リピータを含むものであり、
    前記入出力更新工程は、1回毎のクールにおける入力値と出力値の更新の処理内において、バッファ及びリピータについての更新の場合には、入力値がバッファまたはリピータの出力へ伝達されるまでの所定回数更新を行うことを特徴とする請求項1または2に記載のハードウエアトロイ検出方法。
  4. ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリストを用いて、前記パラメータ設定工程と前記入出力更新工程とを行い、この入出力更新工程における前記演算を所定回クール行ったときに得られた構成ネット内の入出力値に基づき第1の閾値を求める第1の閾値取得工程を備え、
    前記検出工程では、前記第1の閾値を用いてハードウエアトロイの検出を行うことを特徴とする請求項2に記載のハードウエアトロイ検出方法。
  5. 既知ネットリスト及び検査対象のネットリストは、端子間ネットによって接続された一群の回路によって構成される構成ネットを1以上含む集合ネットを少なくとも含んで構成され、
    前記第1の閾値取得工程では、構成ネット毎に第1の閾値を取得し、
    既知ネットリスト内のそれぞれの構成ネットにおいて入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを既知ネットリストの全集合ネットについて合計して、得られたネットリスト毎スコアを比較して、最小のネットリスト毎スコアに基づき判定スコア閾値を得る判定スコア閾値取得工程を備え、
    前記検出工程では、検査対象のネットリストの構成ネット毎に入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを検査対象ネットリストの全集合ネットについて合計して検査対象スコアを得て、検査対象スコアを前記判定スコア閾値に基づき評価して前記検査対象のネットリスト中のハードウエアトロイの検出を行う
    ことを特徴とする請求項4に記載のハードウエアトロイ検出方法。
  6. 所定時間内に一定値を出力するクロック数が所定値以上であり、最大スコアネット数が最大スコアネット数閾値以下である条件に合致するハードウエアトロイを含むと予想される既知ネットリストを複数の既知ネットリスト中から抽出し、抽出した既知ネットリストを用いて、前記パラメータ設定工程と前記入出力更新工程とを行い、この入出力更新工程における前記演算を所定回クール行ったときに得られた出力値に基づき第2の閾値を求める第2の閾値取得工程を備え、
    前記検出工程では、前記第2の閾値を用いて前記検査対象のネットリスト中のハードウエアトロイの検出を行うことを特徴とする請求項2または4に記載のハードウエアトロイ検出方法。
  7. 検査対象のネットリストに含まれる全論理セルの論理式による演算を行って全論理セルの入出力値の更新を行う入出力更新手段と、
    更新された入出力値が閾値との比較結果に基づきハードウエアトロイの検出を行う検出手段と
    備え、
    前記検出手段は、前記検査対象のネットリストに基づく回路規模に対応する回路規模対応閾値と、前記演算を所定回クール行ったときに得られたいずれかの論理セルの入出力値の比較に基づき前記検査対象のネットリスト中のハードウエアトロイの検出を行うことを特徴とするハードウエアトロイ検出装置。
  8. 前記全論理セルの入出力のネットに初期値としてパラメータを設定するパラメータ設定手段を備え、
    前記入出力更新手段では、設定された前記パラメータを用いた前記演算を前記全論理セルの全てについて所定回クール行って入力値と出力値の更新を行い、
    前記検出手段では、前記演算を所定回クール行ったときに得られたいずれかの論理セルの出力値に基づきハードウエアトロイの検出を行う
    ことを特徴とする請求項7に記載のハードウエアトロイ検出装置。
  9. 前記全論理セルは、論理回路と、必要な場合に論理回路以外のバッファ、リピータを含むものであり、
    前記入出力更新手段は、1回毎のクールにおける入力値と出力値の更新の処理内において、バッファ及びリピータについての更新の場合には、入力値がバッファまたはリピータの出力へ伝達されるまでの所定回数更新を行うことを特徴とする請求項7または8に記載のハードウエアトロイ検出装置。
  10. ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリストを用いて、前記パラメータ設定手段と前記入出力更新手段とによる処理を行い、この入出力更新手段における前記演算を所定回クール行ったときに得られた構成ネット内の入出力値に基づき第1の閾値を求める第1の閾値取得手段を備え、
    前記検出手段は、前記第1の閾値を用いてハードウエアトロイの検出を行うことを特徴とする請求項8に記載のハードウエアトロイ検出装置。
  11. 既知ネットリスト及び検査対象のネットリストは、端子間ネットによって接続された一群の回路によって構成される構成ネットを1以上含む集合ネットを少なくとも含んで構成され、
    前記第1の閾値取得手段は、構成ネット毎に第1の閾値を取得し、
    既知ネットリスト内のそれぞれの構成ネットにおいて入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを既知ネットリストの全集合ネットについて合計して、得られたネットリスト毎スコアを比較して、最小のネットリスト毎スコアに基づき判定スコア閾値を得る判定スコア閾値取得手段を備え、
    前記検出手段は、検査対象のネットリストの構成ネット毎に入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを検査対象ネットリストの全集合ネットについて合計して検査対象スコアを得て、検査対象スコアを前記判定スコア閾値に基づき評価して前記検査対象のネットリスト中のハードウエアトロイの検出を行う
    ことを特徴とする請求項10に記載のハードウエアトロイ検出装置。
  12. 所定時間内に一定値を出力するクロック数が所定値以上であり、最大スコアネット数が最大スコアネット数閾値以下である条件に合致するハードウエアトロイを含むと予想される既知ネットリストを複数の既知ネットリスト中から抽出し、抽出した既知ネットリストを用いて、前記パラメータ設定手段と前記入出力更新手段とによる処理を行い、この入出力更新手段における前記演算を所定回クール行ったときに得られた出力値に基づき第2の閾値を求める第2の閾値取得手段を備え、
    前記検出手段は、前記第2の閾値を用いて前記検査対象のネットリスト中のハードウエアトロイの検出を行うことを特徴とする請求項8または10に記載のハードウエアトロイ検出装置。
  13. コンピュータを、
    検査対象のネットリストに含まれる全論理セルの論理式による演算を行って全論理セルの入出力値の更新を行う入出力更新手段、
    更新された入出力値が閾値との比較結果に基づきハードウエアトロイの検出を行う検出手段
    として機能させ、
    前記コンピュータを前記検出手段として、前記検査対象のネットリストに基づく回路規模に対応する回路規模対応閾値と、前記演算を所定回クール行ったときに得られたいずれかの論理セルの入出力値の比較に基づき前記検査対象のネットリスト中のハードウエアトロイの検出を行うように機能させることを特徴とするハードウエアトロイ検出用プログラム。
  14. 前記コンピュータを更に、
    前記全論理セルの入出力のネットに初期値としてパラメータを設定するパラメータ設定手段として機能させ、
    前記コンピュータを前記入出力更新手段として、設定された前記パラメータを用いた前記演算を前記全論理セルの全てについて所定回クール行って入力値と出力値の更新を行うように機能させ、
    前記コンピュータを前記検出手段として、前記演算を所定回クール行ったときに得られたいずれかの論理セルの出力値に基づきハードウエアトロイの検出を行うように機能させる
    ことを特徴とする請求項13に記載のハードウエアトロイ検出用プログラム。
  15. 前記全論理セルは、論理回路と、必要な場合に論理回路以外のバッファ、リピータを含むものであり、
    前記コンピュータを前記入出力更新手段として、1回毎のクールにおける入力値と出力値の更新の処理内において、バッファ及びリピータについての更新の場合には、入力値がバッファまたはリピータの出力へ伝達されるまでの所定回数更新を行うように機能させることを特徴とする請求項13または14に記載のハードウエアトロイ検出用プログラム。
  16. 前記コンピュータを更に、ハードウエアトロイを含む既知ネットリスト及びハードウエアトロイを含まない既知ネットリストを用いて、前記パラメータ設定手段と前記入出力更新手段とによる処理を行い、この入出力更新手段における前記演算を所定回クール行ったときに得られた構成ネット内の入出力値に基づき第1の閾値を求める第1の閾値取得手段として機能させ、
    前記コンピュータを前記検出手段として、前記第1の閾値を用いてハードウエアトロイの検出を行うように機能させることを特徴とする請求項14に記載のハードウエアトロイ検出用プログラム。
  17. 既知ネットリスト及び検査対象のネットリストは、端子間ネットによって接続された一群の回路によって構成される構成ネットを1以上含む集合ネットを少なくとも含んで構成され、
    前記コンピュータを前記第1の閾値取得手段として、構成ネット毎に第1の閾値を取得するように機能させ、
    前記コンピュータを更に、既知ネットリスト内のそれぞれの構成ネットにおいて入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを既知ネットリストの全集合ネットについて合計して、得られたネットリスト毎スコアを比較して、最小のネットリスト毎スコアに基づき判定スコア閾値を得る判定スコア閾値取得手段として機能させ、
    前記コンピュータを前記検出手段として、検査対象のネットリストの構成ネット毎に入出力値と第1の閾値との大小関係に応じて所定値のスコアを付与し、構成ネットに付与されたスコアの最大スコアを検査対象ネットリストの全集合ネットについて合計して検査対象スコアを得て、検査対象スコアを前記判定スコア閾値に基づき評価して前記検査対象のネットリスト中のハードウエアトロイの検出を行うように機能させる
    ことを特徴とする請求項16に記載のハードウエアトロイ検出用プログラム。
  18. 前記コンピュータを更に、所定時間内に一定値を出力するクロック数が所定値以上であり、最大スコアネット数が最大スコアネット数閾値以下である条件に合致するハードウエアトロイを含むと予想される既知ネットリストを複数の既知ネットリスト中から抽出し、抽出した既知ネットリストを用いて、前記パラメータ設定手段と前記入出力更新手段とによる処理を行うように機能させ、前記コンピュータをこの入出力更新手段として機能させて前記演算を所定回クール行ったときに得られた出力値に基づき第2の閾値を求める第2の閾値取得手段として機能させ、
    前記コンピュータを前記検出手段として、前記第2の閾値を用いて前記検査対象のネットリスト中のハードウエアトロイの検出を行うように機能させることを特徴とする請求項14または16に記載のハードウエアトロイ検出用プログラム。
JP2020110020A 2020-06-25 2020-06-25 ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム Active JP7410476B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020110020A JP7410476B2 (ja) 2020-06-25 2020-06-25 ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム
PCT/JP2021/023846 WO2021261532A1 (ja) 2020-06-25 2021-06-23 ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム
CN202180043134.XA CN115698993A (zh) 2020-06-25 2021-06-23 硬件木马检测方法、硬件木马检测装置以及硬件木马检测用程序
US18/003,275 US20230252192A1 (en) 2020-06-25 2021-06-23 Hardware trojan detection method, hardware trojan detection device, and program for hardware trojan detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020110020A JP7410476B2 (ja) 2020-06-25 2020-06-25 ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム

Publications (2)

Publication Number Publication Date
JP2022007202A JP2022007202A (ja) 2022-01-13
JP7410476B2 true JP7410476B2 (ja) 2024-01-10

Family

ID=79281335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020110020A Active JP7410476B2 (ja) 2020-06-25 2020-06-25 ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム

Country Status (4)

Country Link
US (1) US20230252192A1 (ja)
JP (1) JP7410476B2 (ja)
CN (1) CN115698993A (ja)
WO (1) WO2021261532A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7335535B2 (ja) * 2022-02-10 2023-08-30 東芝情報システム株式会社 ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104950247A (zh) 2015-06-11 2015-09-30 工业和信息化部电子第五研究所 基于多电源电流的硬件木马检测方法和***
CN104950246A (zh) 2015-06-11 2015-09-30 工业和信息化部电子第五研究所 基于延时的硬件木马检测方法和***
WO2016080380A1 (ja) 2014-11-18 2016-05-26 学校法人早稲田大学 ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置
US20200104497A1 (en) 2018-09-28 2020-04-02 Amida Technology Solutions, Inc. Method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016080380A1 (ja) 2014-11-18 2016-05-26 学校法人早稲田大学 ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置
CN104950247A (zh) 2015-06-11 2015-09-30 工业和信息化部电子第五研究所 基于多电源电流的硬件木马检测方法和***
CN104950246A (zh) 2015-06-11 2015-09-30 工业和信息化部电子第五研究所 基于延时的硬件木马检测方法和***
US20200104497A1 (en) 2018-09-28 2020-04-02 Amida Technology Solutions, Inc. Method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DUPUIS, Sophie et al.,Protection Against Hardware Trojans With Logic Testing: Proposed Solutions and Challenges Ahead,IEEE Design & Test,米国,IEEE,2018年04月,Volume: 35, Issue: 2,p. 73 - 90

Also Published As

Publication number Publication date
JP2022007202A (ja) 2022-01-13
US20230252192A1 (en) 2023-08-10
WO2021261532A1 (ja) 2021-12-30
CN115698993A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US11604917B2 (en) Static voltage drop (SIR) violation prediction systems and methods
JP7043651B2 (ja) 超伝導回路における量子ゲートの評価方法及び装置、機器、記憶媒体、及びプログラム
US20100229061A1 (en) Cell-Aware Fault Model Creation And Pattern Generation
US8402405B1 (en) System and method for correcting gate-level simulation accuracy when unknowns exist
JP2010002370A (ja) パターン抽出プログラム、方法及び装置
US8230382B2 (en) Model based simulation of electronic discharge and optimization methodology for design checking
US9336107B2 (en) Dynamic design partitioning for diagnosis
CN105243245B (zh) 一种基于Petri网的电路模块故障机理相关关系的可靠性建模方法
Davis et al. A practical reconfigurable hardware accelerator for Boolean satisfiability solvers
JP2020149270A (ja) 回路適正化装置及び回路適正化方法
JP7410476B2 (ja) ハードウエアトロイ検出方法、ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム
US11048844B1 (en) System and method for use in design verification
US10666255B1 (en) System and method for compacting X-pessimism fixes for gate-level logic simulation
Bhattacharya et al. A linear programming formulation for security-aware gate sizing
CN114529001B (zh) 量子算法的指标评估方法、装置、终端及存储介质
US7051301B2 (en) System and method for building a test case including a summary of instructions
JP7335535B2 (ja) ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム
JP7357593B2 (ja) 機械学習装置、設計支援装置、機械学習方法および設計支援方法
JP5321624B2 (ja) 論理回路検証装置、論理回路検証方法およびプログラム
US7899660B2 (en) Technique for digital circuit functionality recognition for circuit characterization
US8418108B2 (en) Accuracy pin-slew mode for gate delay calculation
Rahimifar et al. Deep transfer learning approach for digital circuits vulnerability analysis
JP2007305794A (ja) 回路設計装置、設計方法、およびプログラム
US20150026652A1 (en) System, method, and computer program product for correlating transactions within a simulation of a hardware platform for post-simulation debugging
Hao et al. Finding the longest delay paths for the array-form multipliers using a genetic algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231211

R150 Certificate of patent or registration of utility model

Ref document number: 7410476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150