JP2012505563A - 差分論理によって保護される暗号化回路において異常を検出するための方法、及び当該方法を実現するための回路 - Google Patents

差分論理によって保護される暗号化回路において異常を検出するための方法、及び当該方法を実現するための回路 Download PDF

Info

Publication number
JP2012505563A
JP2012505563A JP2011522468A JP2011522468A JP2012505563A JP 2012505563 A JP2012505563 A JP 2012505563A JP 2011522468 A JP2011522468 A JP 2011522468A JP 2011522468 A JP2011522468 A JP 2011522468A JP 2012505563 A JP2012505563 A JP 2012505563A
Authority
JP
Japan
Prior art keywords
circuit
logic
output
precharge
state
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
Application number
JP2011522468A
Other languages
English (en)
Other versions
JP5891562B2 (ja
Inventor
ダンジェ、ジャン−リュック
ギレイ、シルヴァン
フラマン、フローラン
Original Assignee
インスティテュート テレコム−テレコム パリ テック
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 インスティテュート テレコム−テレコム パリ テック filed Critical インスティテュート テレコム−テレコム パリ テック
Publication of JP2012505563A publication Critical patent/JP2012505563A/ja
Application granted granted Critical
Publication of JP5891562B2 publication Critical patent/JP5891562B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F21/75Protecting 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
    • G06F21/755Protecting 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 with measures against power attack
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Logic Circuits (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Storage Device Security (AREA)
  • Selective Calling Equipment (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

本発明の主題は、差分論理で保護され、構成要素ペア(a、a)によって表現される論理変数を処理する回路内で異常を検出するための方法であって、セル(T)の第1のネットワークは、ペアの第1の構成要素で論理関数を実行し、デュアルセル(F)の第2のネットワークは、第2の構成要素の補足ロジック内で動作し、入力において知られている状態にある変数をセルに配置するプリチャージ段階(21)であり、計算がセルによって実行される評価段階(22)が後続にくるプリチャージ段階(21)内のセルの各ペア(T、F)によって論理関数が実行される方法であり、前記方法が、少なくとも1つの一貫性のない状態で異常が検出されることを特徴とする方法。
本発明の目的はまた、回路の監視対象のノードでプリチャージ段階時又は評価段階時に論理変数の2つの構成要素間で一貫性をテストする手段を含む差分論理によって保護される回路でもある。
【選択図】 図3

Description

本発明は、差分論理によって保護される暗号化回路において異常を検出するための方法及び回路に関する。これは特に、故障注入による攻撃からの暗号化回路の保護の分野に適用される。
暗号化は特に以下のいずれかの保護を目的とする。
− 暗号化及びその双対処理である復号化による情報の機密性
− 又は、署名及び署名照合の処理による情報の一貫性のみ
暗号化では、公表された知識の現状において、可能性のあるあらゆる鍵を試すことによるしらみつぶしの攻撃よりも迅速な攻撃方法はないという意味で、安全である数学的方法を使用する。
一般的に、暗号化方法は、システムのセキュリティに必要とされる複雑な計算を伴う。この複雑性は、コンピュータに対しては特段な問題をもたらすものではないものの、通常低価格のマイクロコンピュータによって制御される高い計算能力を伴わない量販市場向け機器の場合には障害となる。こうしてもたらされる結果はいくつかの種類があり、例えばクレジットカードの場合に取引の署名に数分間もかかったり、ペイパービュー方式のテレビのデジタルデコーダの場合に必要な情報のスループットをたどらないといったことが考えられる。
システムの価格を上げずに、この種の問題を軽減するために、機器を制御する中央装置に対して、通常暗号化専用のコプロセッサの形式で、支援を付加するのが慣習である。
しかしながら、中央装置によって実現するにせよ、専用のコプロセッサによって実現するにせよ、いずれにしても、暗号化アルゴリズムは物理的な電子機器によって実現される。電子機器は、電気の法則に固有の性質に関連する不可避な欠陥を示す。
このように、数学的な見地から安全である暗号化システムは、アルゴリズムを実現する物理的なシステムの欠陥につけこむことにより攻撃され得る。計算の時間はデータの値、特に時間最適化されたソフトウェアシステムに依存する可能性があり、これによって「タイミング攻撃」タイプの攻撃が発生し、場合によっては実行時間の簡易測定に基づいて全ての秘密鍵を取り出すことが可能となることがある。又、瞬間的な電力消費もデータに依存する可能性があり、これによって以下のような一連の攻撃が発生することがある。
− 暗号化動作時に測定された消費電力の測定値に基づいて中央装置によって実行される処理の特定を試みるSPA(Simple Power Analysis)。
− 消費電力の差分解析DPA(Differential Power Analysis)。消費電力の多くの測定で統計的演算(ランダムメッセージに対し、一定の鍵を使用して暗号化動作時に実行し、鍵のごく一部分に対して行われる仮定を有効または無効にする)を使用する。
− 「テンプレート」タイプの攻撃。第1の段階で、機密情報が一切含まれないということを除き、攻撃対象の装置と同じ装置を使用して、鍵のごく一部分の値によって指数化された消費モデルを構築し、第2の段階で、攻撃対象の装置の消費電力の数回の測定を使用して、測定された消費電力と最も近いモデルを特定し、これによってこのサブ鍵の値を特定する。
更に、導体を流れる電流が電磁場を発生させ、その測定により、電力消費に関連する特にDPAによる攻撃と原則的には同じ攻撃を起こすことができる。
最後に、いわゆる積極的攻撃、つまり故障注入攻撃は、システムの動作を妨害し、間違った結果を利用してシステムの機密を取り出す。
暗号化アルゴリズムを実現し、機器のメモリに保持されている機密に関連する情報を漏洩しがちな物理的な機器の不備はいずれも「隠れチャネル」と呼ばれる。
故障攻撃は、本質的に非常に異なり得るアクティブ攻撃であり、特に以下の記事を参照されたい。David Naccache著:「Finding faults」(IEEE Security and Privacy, 3(5), pages 61−65, 2005: temperature or voltage variation, strong spurious signal on the power supply or by electromagnetic field, laser firings, etc.)。故障が発生した結果、攻撃される回路のノードの値が変更される。故障は、シリコン上での衝撃に応じて、単一又は複数、永続的又は一過性のもとなり得る。一過性の故障注入は柔軟性が高いので、複数の試行を行うことにより一層強力な攻撃が引き起こされ、成功の可能性が増す。単一の故障による攻撃は、攻撃手順を簡略化する。故障攻撃は、誤りのない暗号化された出力と故障を伴う出力との間の差分解析に基づく。例えば、Gilles Piret及びJean−Jacques Quisquaterによる記事「A Differential Fault Attack Technique against SPN Structures, with Application to the AES and KHAZAD」(CHES, volume 2779 from LNCS, pages 77−88, Springer, 2003 on AES encryption)に記載されている攻撃は、故障が最後から2番目のラウンド又は後ろから3番目のラウンドに到達した場合に極めて効果的になる。
故障注入攻撃はこれまで非常に皮肉なことに、高くつくために、実際には経済的に強い不審な組織のみが利用するものと考えられていた。今では、インターネット上で皮膜剥離ステーション及びターンキー回転可能レーザーベンチをオーダすることが可能である。ここから、故障注入による攻撃の可能性がかなり高まるということになる。したがって、FPGA等の集積回路等の回路に植え込まれた暗号化プロセッサは今後、観察攻撃(特に、PDA又はEMAタイプ)及び故障注入タイプの攻撃に対する対応策を同時に実施した場合に限り、安全であるとみなされ得る。更に、Bruno Robisson及びPascal Manetによる記事「Differential Behavioral Analysis」(in CHES, volume 4727 from LNCS, pages 413−426, Springer, 2007)にあるように、観察と故障を組み合わせた攻撃が提案されている。
この種の攻撃に取り組むための有効な対策は冗長性の採用に依存する。例えば、計算ブロックを3回コピーし、それによって多数決関数により故障が注入されたブロックを除去することが可能である。この対策の障害の1つは、1つ又は複数の計算ブロックのコピー、或いは不変条件の検証に基づく一貫性チェックモジュールの挿入により、コストがかさむことである。
もう1つの対策は故障注入の検出にある。この場合、利用者に警告が与えられ、例えばシステムを再初期設定することにより、身を守るよう行動できる。
本発明の目的は、特に前述した障害を軽減することである。
本発明の主題は、差分論理で保護され、構成要素ペアによって表現される論理変数を処理する回路内で異常を検出するための方法であって、セルの第1のネットワークは、上記ペアの第1の構成要素で論理関数を実行し、デュアルセルの第2のネットワークは、第2の構成要素の補足ロジック内で動作し、入力において知られている状態にある変数をセルに配置するプリチャージ段階でセルの各ペアによって論理関数が実行され、その後に、計算がセルによって実行される評価段階が続く方法である。プリチャージ段階または評価段階で生じる少なくとも1つの一貫性のない状態によって、異常が検出される。
差分論理によって保護される回路は例えば暗号化回路である。
本発明の1つの様態によれば、プリチャージ段階で生じる一貫性のない状態の検出に論理ゲートが使用され、この論理ゲートは一貫性のある状態が(0、0)の場合は「OR」ゲート、又は一貫性のある状態が(1、1)の場合は「AND」ゲートである。
評価段階で生じる一貫性のない状態の検出に使用される論理ゲートは「XNOR」ゲートであってよい。
マルチプレクサは、例えば、一貫性のない状態の検出から生じる信号を選択することが可能であり、プリチャージ段階で一貫性のない状態を検出するゲートの出力はプリチャージ段階中に選択され、評価段階中に評価段階における一貫性のない状態を検出するためのゲートの出力が選択され、選択は構成信号によって制御される。
本発明の目的はまた、構成要素ペアによって表現される論理変数を処理する差分論理によって保護される回路であって、セルの第1のネットワークは、前記ペアの第1の構成要素で論理関数を実行し、デュアルセルの第2のネットワークは、第2の構成要素の補足ロジック内で動作し、入力において知られている状態にある変数をセルに配置するプリチャージ段階であり計算がセルによって実行される評価段階が後続にくるプリチャージ段階内のセルの各ペアによって論理関数が実行される回路であり、請求項のいずれか一項に記載の方法を実現する少なくとも1つの検出モジュールを備えると共に、回路の監視されるノードでプリチャージ段階又は評価段階中に論理変数の2つの構成要素の間の一貫性をテストする手段を含むことを特徴とする回路である。
この回路は例えばFPGAタイプのプログラマブル回路、あるいはASICタイプの回路である。
例えば、検出モジュールの少なくとも1つが、監視しているセルからの出力においてプリチャージ段階で一貫性のない状態を検出するための手段となる。
例えば、検出モジュールの少なくとも1つが、監視しているセルからの出力において評価段階で一貫性のない状態を検出するための手段となる。
検出モジュールの出力はチェーン化によって収集し、「OR」ゲートにより少なくとも1つの等電位に結果を集中させてもよい。
各検出チェーンの出力は、クロック信号によってトリガされ、チェーンの検出モジュールの1つによって少なくとも1つの一貫性のない状態が検出された場合に値1を取るグローバル出力を生成するフリップフロップに接続してもよい。
例として、回路の検出モジュールの少なくとも一部分をツリーとして構成し、最後の検出モジュールは前記モジュールによって監視される回路ノードの1つで少なくとも1つの一貫性のない状態が検出されたかどうかを示すグローバル信号を生成してもよい。
監視される構成要素のペアは例えばベクトルによってまとめてグループ化でき、検出モジュールは前記ベクトルのそれぞれに値1の低位ビットが付加された後ベクトル間で乗算累積演算を実行する2つの乗算累積器から構成され、この2つの演算の結果間の差異が計算され、その後ゼロコンパレータによって処理され、プリチャージ段階または評価段階で一貫性のない状態が検出されたときに値ゼロの出力を取る。
例えば、検出モジュールのゼロコンパレータの出力は、一貫性のない状態の検出により、安定した出力を生成するように、フリップフロップに接続される。
本発明は特に、隠れチャネルの観察による攻撃に取り組むことを本来目的としながら、それ以外の種類の攻撃又は障害を検出する、差分論理に基づく対策によって保護される回路の特性に依存するという利点を有する。
本発明の他の特性及び利点は、限定されない図で与えられ、添付の図面に関して提供される後続の説明の助けを借りて明白になる。
差分論理の「AND」ゲートを示す。 差分論理における計算ステップの段階を示す。 差分論理によって保護されるアーキテクチャに依存する異常検出の動作原理を示す。 異常を検出する方法を使用した例示的な回路を示す。 異常を検出するための第1の例示的なチェーンを示す。 異常を検出するための第2の例示的なチェーンを示す。 異常を検出するための例示的なツリー構造を示す。 乗算累積ブロックを使用した回路の方法の例示的な使用を示す。
図1は、差分論理の原理の例示的な説明として、WDDL論理(Wave Dynamic Differential Logic)の「AND」ゲート1、2を示す。後者は2つのデュアル論理ネットワーク1、2から構成され、相補論理下で動作する。以降の説明ではWDDL論理の例を使用するが、本発明の原理は例えばMDPL論理(Masked Dual−rail Pre−charge Logic)など、それ以外の種類の差分論理にも適用される。計算ネットワークの双対性に加えて、異なるロジック計算は、2つの別個の段階(プリチャージ段階及び評価段階)に主張されるように実行される。
データはデュアルレールで表現され、各論理変数aは以下の方法でコード化された信号のペア(a、a)から形成される。
− (0、0)はプリチャージ段階時の静止状態:aの値は定義されておらず、Ωで示される。
− (1、0)は、評価段階中のアクティブ状態。ここでa=1
− (0、1)は、評価段階中の他のアクティブ状態。ここでa=0
論理ゲートHは2つの入力(a及びb)を備え、出力sは物理的に2つのゲート1、2によって表わされる。この2つのゲートはそれぞれ、次に示すような論理関数T(a、b)及びF(a、b)を備える。
st=T(a、b) (1)
sf=F(a、b) (2)
「true」論理ネットワークは、信号sを伝達する関数Tに相当する。「false」デュアル論理ネットワークは、デュアル信号sを伝達する関数Fに相当する。図1は、関数Tを実行する「true」ネットワークが2つの非相補的入力aとbを受け取る「AND」ゲートを示す。デュアル「OR」関数は関数Fを実行する。変数xのベクトルでは、以下の関係が満たされる。
図2は、例えばWDDLタイプの差分論理を使用する計算ステップの段階を示す。このステップは、プリチャージ21と評価22の連続した段階から構成される。入力変数a、b、a、bの状態の例、及び対応する出力変数s、sの例は、プリチャージ段階及び評価段階の反対側に提供される。図2のタイムチャートでは、プリチャージ段階から評価段階及び評価段階からプリチャージ段階への切り替え時において、遷移数が同じである(この例では3)ことを示している。消費電力は、CMOSタイプの電子技術における遷移数に特に直接関係するので消費電力のバランスが取れる。
図3は、差分論理によって保護されるアーキテクチャに依存する異常検出の動作原理を示す。
差分論理によってダビングされるデュアルレールは本質的に冗長である。実際、論理状態の変数は信号「True」を必要とし、その値は、評価中及び同様にプリチャージ中における信号「False」に対する補完的なものである。したがって、一貫性のない状態、つまり存在するはずでない状態が生じた場合に異常を検出しうる。例えばWDDL論理では、一貫性のない状態、つまり以下が検出された場合に異常が検出される。
− プリチャージ段階で、デュアル信号のペアが状態(Q、Q)=(0、0)と異なる。
− 評価段階で、信号のペアが状態(Q、Q)=(0、1)又は(Q、Q)=(1、0)と異なる。
更に、デュアルレール論理からシングルレール論理への切り替えは変数の2つの構成要素から1つの信号だけを考慮することで行われるため、差分論理の単一故障が影響を及ぼす確率は1/2である。
多重故障の場合、提案する検出メカニズムでは、例えば評価段階に(1、0)に変換されうる(0、1)など、状態の共役変化を検出できない可能性がある。但し、以下の理由から、この典型的なケースが生じる可能性は極めて低い。
− プリチャージ状態では、影響を受ける可能性がかなりある。
− 多重故障の場合、その他の変数が修正及び検出され得る。
− ほとんどの攻撃では、両方の信号で同時にビット反転を行うことができない。例えば、温度、電圧、又は周波数を使用することによる前の位置決め時間の違反に基づく攻撃。
図3の例は、異常を検出するためのメカニズムを持つWDDL差分ゲートの原理を示す。
この検出機能を実行するために、論理和演算を実行する「OR」ゲート34により、プリチャージ段階でネットワークT31及びF32の出力における一貫性のない状態を検出できる。つまり、状態(0、1)、(1、0)、又は(1、1)が出現すると、「OR」ゲート34の出力は1になる。
同様に、逆排他的OR演算を実行する「XNOR」ゲート33により、評価段階でネットワークT31及びF32の出力における一貫性のない状態を検出できる。つまり、状態(0、0)又は(1、1)が出現すると、「XNOR」ゲート33の出力は1になる。
その後、マルチプレクサ35は、「OR」ゲート34の出力又は「XNOR」ゲート33の出力を選択することが可能である。前記マルチプレクサは入力信号PRE/EVALが組み込まれている。例えば、以下の規則を使用してもよい。
− プリチャージ段階では、PRE/EVALは値0を取り、マルチプレクサ35からの出力として「OR」ゲート34の出力が伝送される。
− 評価段階では、PRE/EVALは値1を取り、「XNOR」フリップフロップ33の出力がマルチプレクサ35からの出力として伝送される。
したがって、マルチプレクサ35の出力で提供されるFAULT信号は、一貫性のない状態が検出された場合は値1を取り、それ以外の場合は0のままである。
この方法の実現を簡略化するために、評価段階でのみ検出を行い、必要とする「XNOR」ゲートを1つだけにすることで複雑さを解消することが可能でありうる。又、プリチャージ段階でのみ検出を行い、必要とする「OR」ゲートを1つだけにすることで複雑さを解消することも可能でありうる。どちらの場合でも、マルチプレクサ35の使用は必須ではない。このような複雑さの解消の欠点は、侵入を検出する機会が低減されることである。
図4は、故障を検出するための方法の例示的な使用を示す。故障検出は、例えば暗号化回路のネットワークT41とネットワークF42から構成される各デュアルゲートの出力に配置された検出モジュール内で実現しうる。前記モジュールを含む暗号化回路は、例えばASIC回路またはFPGAタイプのプログラマブル回路で実現される。
各デュアルゲートの出力に検出モジュールを配置する代わりに、回路の複雑さを解消するために、回路の重要ノードにのみ前記モジュールを実現することも可能である。所謂回路の「重要」ノードとは、検出モジュールによって監視される信号の安定性を保証するために、例えばDフリップフロップ43、45等のレジスタの出力に置かれたノードである。つまり、図4の例では、セルT41のネットワーク及びセルF42のネットワークの出力で検出が行われる。検出モジュール47は、Dフリップフロップから構成されるレジスタ43、45と44、46の2つのペアの間に配置される。その結果、各計算段階はクロック周期に相当する。差分論理を使用する暗号化回路は、多くのノードを含む。信号PRE/EVALにより、プリチャージ段階又は評価段階の故障検出のための回路の各モジュールを構成できる。各モジュール47の出力でのFAULT信号により、異常(即ち、一貫性のない状態)が各監視ノードのレベルで検出されたかどうか識別できる。
図5は異常を検出するための例示的なチェーンを示す。前述したように、差分論理アーキテクチャを使用する暗号化回路に検出モジュールを配置し、監視対象の各ノードのレベルで異常を検出しうる。異常を収集する1つの方法は、検出回路をまとめてチェーン化することである。この手法は、検出が行われるゲート間にただ1つだけの等電位56を有するという利点を示し、これによってASIC又はFPGAにおける配線が容易である。つまり、検出モジュール51、52のFAULT信号は、「OR」ゲート53、54を使用してまとめてチェーン化される。
検出モジュールの出力信号は、グローバル出力信号GLOBAL_FAULTの信頼性を向上させるために、システムのグローバル状態を収集するフリップフロップ55までチェーン化される。前記信号は、チェーンに存在する検出モジュールの1つで少なくとも1つの故障が検出された場合、値1を取る。
保護されるプロセッサのグローバルな動作速度を制限するクリティカルパスをチェーンが示すことが判明すれば、パイプラインレジスタを挿入してもよい。それでもなお、検出の待ち時間によって異常が検出される前に攻撃者に計算結果を回収させないようにする必要がある。
図6は、故障を検出するための第2の例示的なチェーンを示す。複雑さを解消するために、単一のチェーンを使用してもよい。例えば、図5に関して検出モジュールを簡略化して、「XNOR」ゲート61、62にしてもよい。この場合、一貫性のない状態の検出は、評価段階でのみ有効である。プリチャージ段階で検出モジュールの結果を無視するために、「AND」ゲート66により、信号
が1の場合に限り、チェーンの各検出モジュールの故障検出結果を考慮することができる。検出モジュール61、62のFAULT信号は、「OR」ゲート63、64を使用してまとめてチェーン化される。チェーン化された検出モジュールによって検出された異常は、グローバル出力信号GLOBAL_FAULTの信頼性を向上させるために、システムのグローバル状態を収集するフリップフロップ65まで等電位67で伝送される。前記信号は、チェーンのノードの1つで少なくとも1つの故障が検出された場合、値1を取る。
同じ原理で請求されるように、評価段階時にのみ一貫性のない状態を検出するように検出モジュールを簡略化することが可能である。この場合、評価段階、即ち信号PRE/EVALが値1を取ったときのみグローバル検出の結果を考慮するように、図6の「XNOR」ゲート61、62の代わりに「OR」ゲートが使用され、「AND」ゲート66への入力として使用される信号PRE/EVALは信号
に置換される。
又、プリチャージ段階で一貫性のない状態を検出するためのチェーンと評価段階で一貫性のない状態を検出するためのチェーンの2つの独立したチェーンを使用して、マルチプレクサの使用を回避することもできる。
図7は、故障の検出のための例示的なツリー構造を示す。実際、検出パスを迅速化するために、検出モジュールをツリーとして構築してもよい。図7の例は、一貫性のない状態の検出が差分論理によって保護される回路の8つのノードで行われる例を示す。ペア(Q1t、Q1f)、(Q2t、Q2f)、...、(Q8t、Q8f)の状態は、図3及び4を使用して説明したような検出モジュール71によって監視され、前記ノードのそれぞれのレベルに配置される。各モジュールによる検出の結果は、その後検出モジュールの第2のバンク72に伝送され、その出力自体は検出モジュールの第3のバンク73に伝送される。最終的に、最後の検出器74は、監視している8つのノードについて一貫性のない状態のグローバル検出のための結果信号を生成する。フリップフロップ75が、GLOBAL_FAULT出力信号の信頼性を向上させるために、システムのグローバル状態を収集する。
図8は、乗算累積ブロックを使用した回路の方法の例示的な使用を示す。実際、「multiplication and accumulation」の頭字語である通常MACブロックと呼ばれる乗算累積ブロックを使用することで、検出を簡易化してもよい。これらのブロックは例えば特定のFPGA回路で使用可能である。この場合、入力信号はNビットのワードの2つのペアA=(A、A)とB=(B、B)とから構成される。A及びBは、A及びBのデュアル信号であり、従って、符号付整数の2つの補完的な表現で請求されるように以下の方法で表現される。
=−A−1 (5)
=−B−1 (6)
積A×Bは、相対整数のセットで算出されるので、積(A+1)×(B+1)に対応する必要がある。つまり、この2つの積が一致していない場合、単一故障を検出できる。
多重故障の場合、A及びBの故障が互いに打ち消しあい、同じ積をもたらすケースが存在する可能性があるが、こうしたケースが発生する確率は極めて低い。それでもなお、代数不変量に基づくこの整数乗法計算は、有効範囲を保証するので、故障注入に対して効果的な対抗策を構成する。
この原理を使用するには、AとBではなく、A+1とB+1を考慮する必要があるだけでなく、更にプリチャージと評価両方の段階で検出を行うために、これらの変数は決してゼロでない必要がある。これらの条件を満足するための簡単な方法は、4つのワードA、B、A、及びBに値1の低位のビットを付加することである。
2つのMACブロック81、82が使用される。第1の81は、1に等しい低位ビットが付加されるNビットのバイナリワードAと同じく1に等しい低位ビットが付加されるNビットのバイナリワードBを入力として取る。第2のMACブロック82は、1に等しい低位ビットが付加されるnビットのバイナリワードAと同じく1に等しい低位ビットが付加されるNビットのバイナリワードBを入力として取る。ブロック81、82それぞれによって出力された結果は、前記結果83の差異を取ることにより、比較される。異常が検出されなければ、この差はゼロである。したがって、故障があるかないかを検出するために、ゼロコンパレータ84が追加される。その後、出力信号の信頼性を向上させるために、コンパレータ84の結果が入力としてフリップフロップ85に伝送される。フリップフロップで出力される信号FAULTは、異常が検出されなければ1のままで、逆の場合には値0を取る。

Claims (15)

  1. 差分論理で保護され、構成要素ペア(a、a)によって表現される論理変数を処理する回路内で異常を検出するための方法であって、セル(T)の第1のネットワークは、前記ペアの第1の構成要素で論理関数を実行し、デュアルセル(F)の第2のネットワークは、前記第2の構成要素の補足ロジック内で動作し、入力において知られている状態にある前記変数を前記セルに配置するプリチャージ段階(21)であり、計算が前記セルによって実行される評価段階(22)が後続にくるプリチャージ段階(21)内のセルの各ペア(T、F)によって前記論理関数が実行される方法であり、前記方法が、前記プリチャージ段階又は前記評価段階中に発生した少なくとも1つの一貫性のない状態で異常が検出されることを特徴とする方法。
  2. 差分論理によって保護される前記回路が暗号化回路であることを特徴とする請求項1に記載の方法。
  3. 論理ゲートは前記プリチャージ段階で発生する一貫性のない状態の検出に使用され、この論理ゲートは、前記一貫性のある状態が(0、0)の場合は「OR」ゲートであり、一貫性のある状態が(1、1)の場合は「AND」ゲートであることを特徴とする請求項1〜2のいずれか一項に記載の方法。
  4. 評価段階で生じる一貫性のない状態の検出に使用される前記論理ゲートは「XNOR」ゲートであることを特徴とする請求項1〜3のいずれか一項に記載の方法。
  5. マルチプレクサ(35)は一貫性のない状態の検出から生じる前記信号(FAULT)を選択することが可能であり、前記プリチャージ段階(34)で一貫性のない状態を検出する前記ゲートの出力は前記プリチャージ段階中に選択され、前記評価段階(33)中に前記評価段階における一貫性のない状態を検出するための前記ゲートの出力が選択され、前記選択は構成信号(PRE/EVAL)によって制御されることを特徴とする請求項1〜4のいずれか一項に記載の方法。
  6. 構成要素ペアによって表現される論理変数を処理する差分論理によって保護される回路であって、セル(T)の第1のネットワークは、前記ペアの前記第1の構成要素で論理関数を実行し、デュアルセル(F)の第2のネットワークは、前記第2の構成要素の補足ロジック内で動作し、入力において知られている状態にある前記変数を前記セルに配置するプリチャージ段階であり計算が前記セルによって実行される評価段階が後続にくるプリチャージ段階内のセルの各ペアによって前記論理関数が実行される回路であり、請求項1〜5のいずれか一項に記載の方法を実現する少なくとも1つの検出モジュール(47)を備えると共に、前記回路の前記監視されるノードで前記プリチャージ段階又は評価段階中に前記論理変数の前記2つの構成要素の間の一貫性をテストする手段を含むことを特徴とする回路。
  7. 前記回路がFPGAタイプのプログラマブル回路であることを特徴とする請求項6に記載の回路。
  8. 前記回路がASICタイプの回路であることを特徴とする請求項6に記載の回路。
  9. 前記検出モジュールの少なくとも1つが、前記プリチャージ段階中に監視対象の前記セルからの出力において前記一貫性のない状態を検出するための手段(34)を有することを特徴とする請求項6〜8のいずれか一項に記載の回路。
  10. 前記検出モジュールの少なくとも1つが、前記評価段階中に監視対象の前記セルからの出力において前記一貫性のない状態を検出するための手段(33)を有することを特徴とする請求項6〜9のいずれか一項に記載の回路。
  11. 前記検出モジュールの前記出力はチェーン化によって収集され、「OR」ゲート(53、54、63、64)により少なくとも1つの等電位(56、67)に結果が集中されることを特徴とする請求項6〜10のいずれか一項に記載の回路。
  12. 各検出チェーンの出力は、前記クロック信号(CLK)によってトリガされるフリップフロップに接続され、前記チェーンの前記検出モジュール(51、52、61、62)の1つによって少なくとも1つの一貫性のない状態が検出された場合に値1を取るグローバル出力(GLOBAL_FAULT)を生成するフリップフロップに接続されることを特徴とする請求項11に記載の回路。
  13. 前記回路検出モジュールの少なくとも一部分をツリー(71、72、73、74)として構成し、最後の検出モジュール(74)は前記モジュールによって監視される回路ノードの1つで少なくとも1つの一貫性のない状態が検出されたかどうかを示すグローバル信号を生成することを特徴とする請求項6〜10のいずれか一項に記載の回路。
  14. 監視される構成要素のペアはベクトル(A、A、B、B)によってまとめてグループ化され、前記検出モジュールは、一方のベクトル(A、B)と他方のベクトル(A、B)との間で、乗算累積演算を実行する2つの乗算累積器(81、82)から構成され、前記ベクトルのそれぞれに値1の低位ビットが付加された後ベクトル間でその演算が行われ、前記2つの演算の結果間の差異が計算され(83)、その後ゼロコンパレータ(84)によって処理され、前記プリチャージ段階または評価段階で一貫性のない状態が検出されたときに値ゼロの出力を取る、ことを特徴とする請求項6〜8のいずれか一項に記載の回路。
  15. 前記検出モジュールの前記ゼロコンパレータ(84)の出力は、一貫性のない状態の検出により、安定した出力(FAULT)を生成するように、フリップフロップ(85)に接続されることを特徴とする請求項14に記載の回路。
JP2011522468A 2008-08-12 2009-07-30 差分論理によって保護される暗号化回路において異常を検出するための方法、及び当該方法を実現するための回路 Active JP5891562B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0855537 2008-08-12
FR0855537A FR2935059B1 (fr) 2008-08-12 2008-08-12 Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
PCT/EP2009/059886 WO2010018071A1 (fr) 2008-08-12 2009-07-30 Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede

Publications (2)

Publication Number Publication Date
JP2012505563A true JP2012505563A (ja) 2012-03-01
JP5891562B2 JP5891562B2 (ja) 2016-03-23

Family

ID=40548652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522468A Active JP5891562B2 (ja) 2008-08-12 2009-07-30 差分論理によって保護される暗号化回路において異常を検出するための方法、及び当該方法を実現するための回路

Country Status (10)

Country Link
US (1) US8955160B2 (ja)
EP (1) EP2324442B1 (ja)
JP (1) JP5891562B2 (ja)
KR (1) KR101722790B1 (ja)
CN (1) CN102124470B (ja)
AT (1) ATE545095T1 (ja)
CA (1) CA2733667C (ja)
ES (1) ES2386061T3 (ja)
FR (1) FR2935059B1 (ja)
WO (1) WO2010018071A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047845A (ja) * 2019-09-16 2021-03-25 新唐科技股▲ふん▼有限公司 相対遅延を伴うフリップフロップを用いてデータサンプリング完全性チェックを行う電子デバイスおよびその方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2929470B1 (fr) * 2008-03-25 2010-04-30 Groupe Ecoles Telecomm Procede de protection de circuit de cryptographie programmable, et circuit protege par un tel procede
US9081929B2 (en) * 2012-01-06 2015-07-14 New York University Systems, processes and computer-accessible medium for providing logic encryption utilizing fault analysis
US10891396B2 (en) 2016-05-27 2021-01-12 Samsung Electronics Co., Ltd. Electronic circuit performing encryption/decryption operation to prevent side- channel analysis attack, and electronic device including the same
FR3091370B1 (fr) 2018-12-28 2021-04-09 St Microelectronics Rousset Circuit de protection
FR3091367B1 (fr) * 2018-12-28 2020-12-18 St Microelectronics Rousset Protection d’un microcontrôleur
CN110321737B (zh) * 2019-06-28 2020-12-11 兆讯恒达科技股份有限公司 一种数据加密标准协处理器防注入式攻击的方法
CN112491410B (zh) * 2020-11-18 2023-11-28 杭州师范大学 一种基于预充电逻辑与掩码技术的功耗恒定性门电路单元
US11783026B2 (en) * 2021-01-05 2023-10-10 Nuvoton Technology Corporation Processor with in-band fault-injection detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323019A (ja) * 2006-06-05 2007-12-13 Sony Corp 暗号処理装置
US20080049931A1 (en) * 2006-03-04 2008-02-28 Samsung Electronics Co., Ltd. Cryptographic methods including montgomery power ladder algorithms
JP2008153806A (ja) * 2006-12-15 2008-07-03 Sony Corp 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
JP2009289104A (ja) * 2008-05-30 2009-12-10 Dainippon Printing Co Ltd 故障攻撃を検知する機能を備えたセキュリティデバイス

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0438793A (ja) * 1990-06-04 1992-02-07 Toshiba Corp データ転送制御回路およびこれを用いたダイナミック型半導体記憶装置
US5332931A (en) * 1991-06-24 1994-07-26 Harris Corporation High speed differential comparator
GB9611994D0 (en) * 1996-06-07 1996-08-07 Systolix Ltd A field programmable processor
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US7743262B2 (en) * 1997-07-15 2010-06-22 Silverbrook Research Pty Ltd Integrated circuit incorporating protection from power supply attacks
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
WO1999035782A1 (en) * 1998-01-02 1999-07-15 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
AU5458199A (en) * 1998-07-02 2000-01-24 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
DE19941682A1 (de) * 1999-09-01 2001-03-15 Infineon Technologies Ag Sicherheitsempfindliche Chipkarten
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
DE10044837C1 (de) * 2000-09-11 2001-09-13 Infineon Technologies Ag Schaltungsanordnung und Verfahren zum Detektieren eines unerwünschten Angriffs auf eine integrierte Schaltung
CN1922564B (zh) * 2004-02-24 2011-01-26 Nxp股份有限公司 Ic侵入检测
DE102004020576B4 (de) * 2004-04-27 2007-03-15 Infineon Technologies Ag Datenverarbeitungsvorrichtung mit schaltbarer Ladungsneutralität und Verfahren zum Betreiben einer Dual-Rail-Schaltungskomponente
DE102005037357B3 (de) * 2005-08-08 2007-02-01 Infineon Technologies Ag Logikschaltung und Verfahren zum Berechnen eines maskierten Ergebnisoperanden
DE102005055158B4 (de) * 2005-11-18 2008-08-28 Infineon Technologies Ag Schaltungsanordnung mit einer Einrichtung zur Erkennung von Manipulationsversuchen und Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung
US7676647B2 (en) * 2006-08-18 2010-03-09 Qualcomm Incorporated System and method of processing data using scalar/vector instructions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080049931A1 (en) * 2006-03-04 2008-02-28 Samsung Electronics Co., Ltd. Cryptographic methods including montgomery power ladder algorithms
JP2007323019A (ja) * 2006-06-05 2007-12-13 Sony Corp 暗号処理装置
JP2008153806A (ja) * 2006-12-15 2008-07-03 Sony Corp 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
JP2009289104A (ja) * 2008-05-30 2009-12-10 Dainippon Printing Co Ltd 故障攻撃を検知する機能を備えたセキュリティデバイス

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021047845A (ja) * 2019-09-16 2021-03-25 新唐科技股▲ふん▼有限公司 相対遅延を伴うフリップフロップを用いてデータサンプリング完全性チェックを行う電子デバイスおよびその方法

Also Published As

Publication number Publication date
FR2935059B1 (fr) 2012-05-11
WO2010018071A1 (fr) 2010-02-18
KR101722790B1 (ko) 2017-04-05
US8955160B2 (en) 2015-02-10
ES2386061T3 (es) 2012-08-08
US20120124680A1 (en) 2012-05-17
CA2733667A1 (en) 2010-02-18
EP2324442A1 (fr) 2011-05-25
CA2733667C (en) 2017-11-07
CN102124470B (zh) 2015-04-08
EP2324442B1 (fr) 2012-02-08
KR20110083591A (ko) 2011-07-20
CN102124470A (zh) 2011-07-13
ATE545095T1 (de) 2012-02-15
JP5891562B2 (ja) 2016-03-23
FR2935059A1 (fr) 2010-02-19

Similar Documents

Publication Publication Date Title
JP5891562B2 (ja) 差分論理によって保護される暗号化回路において異常を検出するための方法、及び当該方法を実現するための回路
Lin et al. Trojan side-channels: Lightweight hardware trojans through side-channel engineering
Becker et al. Stealthy dopant-level hardware trojans: extended version
Selmane et al. WDDL is protected against setup time violation attacks
Joy Persial et al. Side channel attack-survey
Pahlevanzadeh et al. Assessing CPA resistance of AES with different fault tolerance mechanisms
Bedoui et al. An improvement of both security and reliability for AES implementations
Kasper et al. Side channels as building blocks
Guilley et al. SoC security: a war against side-channels
Mischke et al. Fault sensitivity analysis meets zero-value attack
Feiten et al. # SAT-based vulnerability analysis of security components—A case study
Li et al. Revisit fault sensitivity analysis on WDDL-AES
Dofe et al. Strengthening SIMON implementation against intelligent fault attacks
Moein et al. Hardware attack mitigation techniques analysis
Li et al. Toward effective countermeasures against an improved fault sensitivity analysis
Galathy et al. A systematic approach to fault attack resistant design
Ponugoti et al. Hardware trojan design and detection in asynchronous NCL circuits
Kahri et al. An efficient fault detection scheme for the secure hash algorithm SHA-512
Gierlichs DPA-Resistance Without Routing Constraints? –A Cautionary Note About MDPL Security–
Kahri et al. High Performance and Reliable Fault Detection Scheme for the Secure Hash Algorithm
Berzati et al. Fault analysis of Rabbit: toward a secret key leakage
Dubrova Breaking ACORN with a single fault
Říha et al. Influence of fault-tolerance techniques on power-analysis resistance of cryptographic design
Hammouri et al. Novel puf-based error detection methods in finite state machines
Mehta et al. Defense against Security Threats with Regard to SoC Life Cycle

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130821

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131120

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140116

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140904

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140925

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150717

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151026

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: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160204

R150 Certificate of patent or registration of utility model

Ref document number: 5891562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250