JP2017079336A - サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 - Google Patents
サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 Download PDFInfo
- Publication number
- JP2017079336A JP2017079336A JP2014018033A JP2014018033A JP2017079336A JP 2017079336 A JP2017079336 A JP 2017079336A JP 2014018033 A JP2014018033 A JP 2014018033A JP 2014018033 A JP2014018033 A JP 2014018033A JP 2017079336 A JP2017079336 A JP 2017079336A
- Authority
- JP
- Japan
- Prior art keywords
- side channel
- oscillator
- channel attack
- circuit
- attack
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electronic Switches (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】簡単な構造で、サイドチャネル攻撃を検知することができる検知装置を提供すること。【解決手段】サイドチャネル攻撃の検知装置1は、サイドチャネル攻撃の対象となる暗号処理回路3aなどの情報処理装置3に近接して配置されたインダクタとしてのコイルLまたはキャパシタを有し、コイルL(インダクタ)のインダクタンスまたはキャパシタのキャパシタンスの変化を検知する検知手段2と、検知手段2の出力に基づいてサイドチャネル攻撃によるプローブ7の接近またはLSIパッケージの開封を判定する判定手段(制御回路5)と、を有する。【選択図】図2
Description
本発明は、サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法に関し、特に、暗号工学分野のうち、暗号LSIなどの情報処理装置に対するサイドチャネル攻撃の対策技術に関する。
情報通信機器の携帯が一般的となり、ネットワーク上でのプライバシ保護や高信頼な電子商取引の重要性がますます高まっている。暗号はそのような社会システムを構築する上で欠かすことのできない基盤技術であり、暗号アルゴリズムを実現したソフトウェアやハードウェアが動作する大規模集積回路(以下、暗号LSIと呼ぶ)は多くの民生品に搭載されている。暗号LSIには、通常、専門家により十分に安全性評価を行った暗号アルゴリズムが利用される。そのため、アルゴリズムの欠陥から暗号化前のデータ(平文)や秘密鍵などの漏洩の心配は(現在の計算機能力や知られている解読法の観点から)ほとんどない。
一方、暗号LSIの実装上の脆弱性から現実的な時間で秘密情報を奪う実装攻撃の脅威が指摘されている。特に注目を集めているのが、暗号LSIの演算中の消費電力や放射電磁波、実行時間等といった本来の入出力以外の情報(サイドチャネル情報)を観察することで秘密情報を奪うサイドチャネル攻撃である。
サイドチャネル攻撃の中でも最もよく知られる攻撃が電力・電磁波解析攻撃である。1990年代後半にKocherらによって単純電力解析と差分電力解析が発表されたのを機に、その拡張が盛んに研究され始めた。その後、電力の代わりに漏洩電磁波の波形を用いた電磁波解析攻撃が可能であることが示された。
電力解析攻撃や電磁波解析攻撃では、測定用プローブとデジタルオシロスコープを用いて暗号LSIから漏洩する電流・電圧の時間変化を計測する。計測した波形を計算機で加工・処理して暗号処理の内容や秘密鍵の値を推定する。
電力解析攻撃や電磁波解析攻撃では、測定用プローブとデジタルオシロスコープを用いて暗号LSIから漏洩する電流・電圧の時間変化を計測する。計測した波形を計算機で加工・処理して暗号処理の内容や秘密鍵の値を推定する。
特に、電磁波解析攻撃は、機器に直接プロービングしてLSI全体の過渡的な電圧変化を測定する電力解析と比べ、非接触な攻撃が可能となる。また、暗号LSIの局所的な特性を取得できることが報告されており、これまで電力解析の適用は難しいとされてきた機器に対しても脅威となる可能性が指摘されている。とりわけ、近年、一般的な暗号LSIの最小構成素子(ANDやXOR等の基本ゲート)の非対称性により、秘密情報を処理する部分の局所的な電磁波放射から原理的に秘密情報を取得できることが報告されている(例えば、非特許文献1参照)。
従来のサイドチャネル攻撃への対策は、秘密情報と相関のある中間値をサイドチャネル情報として漏洩させないことを目的とし、主に乱数によって中間値を遮蔽するマスキングもしくは中間値を隠ぺいするハイディングという概念で実現されてきた。これまでアルゴリズムレベルやロジックレベル(デジタル回路レベル)で数多くのサイドチャネル攻撃への対策が提案されている(例えば、非特許文献2参照)。
T. Sugawara, et al., "On Measurable Side-Channel Leaks Inside ASIC Design Primitives," Proc. CHES, pp.159-178, Aug. 2013.
K. Tiri and et al., "Prototype IC with WDDL and differential routing - DPA resistance assessment," CHES 2005, Lecture Notes in Computer Science, vol. 3659, pp. 354-365, May 2005.
S. Mangard, E. Oswald, and T. Popp, "Power Analysis Attacks - Revealing the Secrets of Smart Cards," Springer, 2007.
しかしながら、上述した従来のアルゴリズムレベルやロジックレベル(デジタル回路レベル)でのサイドチャネル攻撃への対策では、ANDやXOR演算中の情報は漏洩しないことを前提としているため、その前提を覆す非特許文献1に記載されている攻撃に対しては原理的に対処できない。その前提を実現するためには基本演算素子の設計まで考慮したトランジスタレベルの対策が必要となるが、仮にそうした対策が実現できても、それは従来よりも設計難易度・コストを大幅に高める上に、暗号LSIの実行速度や消費電力、実装面積などを大きく増加させてしまう。
例えば、ロジックレベルのハイディング対策として知られるWDDL(Wave Dynamic Differential Logic)(非特許文献2参照)では、非特許文献1に記載されている攻撃に対処できない。さらに,同対策は少なくとも回路規模を数倍程度増加させることが知られている。
アナログ回路レベルの対策として、暗号LSIの消費電力を内部動作状態に関わらず均一化する電源電流イコライザ(例えば、非特許文献3参照)も提案されており、それらは比較的低オーバーヘッド(回路規模2倍程度の増加)で実現でき、電力解析攻撃には有効であるが、やはり非特許文献1に記載されているサイドチャネル攻撃には対処できない。
本発明は、このような問題に対処することを課題の一例とするものである。すなわち、簡単な構成で、サイドチャネル攻撃を検知可能な検知装置を提供すること、サイドチャネル攻撃の検知方法を提供すること、などを目的とする。
このような目的を達成するために、本発明によるサイドチャネル攻撃の検知装置は、サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたインダクタを有し、前記インダクタのインダクタンスの変化を検知する検知手段と、前記検知手段の出力に基づいて前記サイドチャネル攻撃によるプローブの接近またはLSIパッケージの開封を判定する判定手段と、を有することを特徴とする。
また、本発明に係るサイドチャネル攻撃の検知装置は、サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたキャパシタを有し、前記キャパシタのキャパシタンスの変化を検知する検知手段と、前記検知手段の出力に基づいて前記サイドチャネル攻撃によるプローブの接近またはLSIパッケージの開封を判定する判定手段と、を有することを特徴とする。
また、本発明のサイドチャネル攻撃の検知方法は、上記本発明に係るサイドチャネル攻撃の検知装置を用いて行われる。
本発明によれば、簡単な構造で、サイドチャネル攻撃を検知可能な検知装置を提供することができる。また、本発明によれば、検知装置を用いることで簡単にサイドチャネル攻撃を検知することが可能なサイドチャネル攻撃の検知方法を提供することができる。
本発明に係る検知装置は、サイドチャネル攻撃そのものを検知する。詳細には、本発明に係るサイドチャネル攻撃の検知装置は、サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたインダクタまたはキャパシタを有し、インダクタ(コイル)のインダクタンスまたはキャパシタのキャパシタンスの変化を検知する検知手段を備え、その検知手段の出力に基づいてサイドチャネル攻撃によるプローブ(導電体などにより構成される)の接近またはLSIパッケージの開封などを判定する判定手段と、を有する。本発明に係る検知装置は、プローブの接近やLSIパッケージの開封時など、インダクタンスやキャパシタンスの変化を検知手段で検知し、判定手段にてサイドチャネル攻撃を容易に判定することができる。
従来のサイドチャネル攻撃への対策は、攻撃されていることを検知できないことが前提となっており、有意なサイドチャネル情報を漏洩させないことが目的となっていた。本発明に係る検知装置は、電磁気の物理法則に基づいてサイドチャネル攻撃を検知することができ、その攻撃を検知した場合、以降の暗号処理を停止・変更するなどの処理を行うことで、秘密情報の漏洩を防ぐ。
また、検知装置は、例えば、情報処理装置としての暗号LSI(暗号アルゴリズムを実現したソフトウェアやハードウェアが動作する大規模集積回路)に対するサイドチャネル攻撃(暗号LSIの動作中に生じる副次的な情報(サイドチャネル情報)を観察することで秘密情報を奪う攻撃)を検知する。本発明に係る検知装置などの技術の実現にあたっては、集積回路工学と環境電磁工学の理論と技術などを応用している。
また、サイドチャネル攻撃の手段としてのプローブが情報処理装置としての暗号LSI(暗号処理回路)などに接近している場合、本発明の実施形態に係る検知装置は、それをプローブによって生じるインダクタンスの変化として、電磁界の乱れ(それに伴う情報処理装置の近傍電磁界や回路内部の特性インピーダンスの変化、回路内部を流れる信号損失の発生などの電気的パラメータの変化)から検知可能であり、局所電磁波解析攻撃を含むプロービングによる電気的情報を用いるサイドチャネル攻撃全般を防ぐ。上記電気的パラメータの変化は、プローブと暗号LSIとの電界結合、磁界結合、もしくはその両方により生ずるため、これらを避けてプロービングを伴う攻撃を実行することは原理的に困難である。
本発明の実施形態に係る検知装置の攻撃検知センサ部分(検知手段)は、後述するように、インダクタ(コイル)を含むLC発振器などの簡便な回路で実現可能であり、センシング後段の処理回路を含めても対策対象となる暗号LSI(情報処理装置)対して僅か数パーセントという面積オーバーヘッドで実現できる。
環境電磁工学の分野では、集積回路内部やプリント基板上の配線パターン近傍から放射される電磁界に測定用プローブを接近配置すると、電磁界分布に変化が生じる物理現象がよく知られている。検知装置は、この物理現象を応用して、攻撃時にプローブが暗号LSIに接近する際に生じる電磁界の乱れをサイドチャネル攻撃の検知に用いる。攻撃検知後に秘密情報を保護する処理(例えば暗号処理の停止やダミー演算の挿入など動作モードを切り替える処理)で秘密情報の漏洩を防ぐことができる。
図1は本発明の実施形態に係るサイドチャネル攻撃の検知装置を用いたサイドチャネル攻撃の検知方法の一例を示すフローチャートである。図2は本発明の実施形態に係るサイドチャネル攻撃の検知装置1の一例を示す図である。
図2に示した例では、集積回路チップ10に、サイドチャネル攻撃の対象であり、防御対象の情報処理装置3である暗号処理回路3aや防御対象としての秘密鍵を記憶する記憶回路3bなどが形成されている。
検知装置1は、サイドチャネル攻撃を検知する検知手段2を有する。検知手段2としては、例えば、コイルL(インダクタ)を含むLC発振器などを採用することができ、集積回路チップ10などに形成されている。つまり、情報処理装置3と検知手段2は、同一の集積回路チップ10に設けられている。本実施形態では、LC発振器のコイルL(インダクタ)は、情報処理装置3と一体もしくは情報処理装置3の近傍に配置されている。図2に示した例では、防御対象の情報処理装置3である暗号処理回路3aの周囲を囲むように、検知手段2であるLC発振器のコイルLが形成されている。
検知装置1は、サイドチャネル攻撃を検知する検知手段2を有する。検知手段2としては、例えば、コイルL(インダクタ)を含むLC発振器などを採用することができ、集積回路チップ10などに形成されている。つまり、情報処理装置3と検知手段2は、同一の集積回路チップ10に設けられている。本実施形態では、LC発振器のコイルL(インダクタ)は、情報処理装置3と一体もしくは情報処理装置3の近傍に配置されている。図2に示した例では、防御対象の情報処理装置3である暗号処理回路3aの周囲を囲むように、検知手段2であるLC発振器のコイルLが形成されている。
また、検知装置1は、検知手段2の出力に基づいて、サイドチャネル攻撃によるプローブの接近やLSIパッケージの開封を判定する判定手段としての制御回路5などを有し、制御回路5は、サイドチャネル攻撃を検知した場合に情報漏洩を防止する所定の処理などを行う。この判定手段としての制御回路5は、集積回路チップ10に形成されている。尚、制御回路5は、別の集積回路チップに形成されていてもよい。
図3は、検知手段としてのLC発振器の発振周波数のシフトからサイドチャネル攻撃を検知する一例を示す図である。詳細には、図3は検知手段としてのLC発振器の周波数スペクトラムの一例を示し、横軸に発振周波数を示し、縦軸に各周波数成分の大きさを示す。
電磁プローブ(プローブ)の接近により、コイルLの等価インダクタンスが変化する。このインダクタンスの変化に伴うLC発振器の発振周波数foscのシフトに基づいて、サイドチャネル攻撃を検知する。
詳細には、プローブ7が情報処理装置3の近傍に配置された検知手段2に接近していない場合(P1)、検知手段2としてのLC発振器の発振周波数foscは近似的に数式(1)に示すようになり、プローブ7が検知手段2に接近した場合(P2)、LC発振器の発振周波数foscはプローブ7とコイルLとの間の相互インダクタンスMにより、近似的に数式(2)に示すようになる。プローブ7の接近により相互インダクタンスMが大きくなり、発振周波数foscが大きくなる。つまり、検知手段2により取得されたLC発振器の発振周波数foscが大きくシフトするなどし、予め規定された閾値を超えたか否かに基づいて、制御回路5がプローブ7の接近を検知することが可能である。プローブ7の接近を検知した場合、制御回路5は暗号処理回路の動作モードを、例えば、暗号化停止処理やダミー鍵を用いた処理などに切り替えることで、秘密情報などの漏洩を回避する。
詳細には、プローブ7が情報処理装置3の近傍に配置された検知手段2に接近していない場合(P1)、検知手段2としてのLC発振器の発振周波数foscは近似的に数式(1)に示すようになり、プローブ7が検知手段2に接近した場合(P2)、LC発振器の発振周波数foscはプローブ7とコイルLとの間の相互インダクタンスMにより、近似的に数式(2)に示すようになる。プローブ7の接近により相互インダクタンスMが大きくなり、発振周波数foscが大きくなる。つまり、検知手段2により取得されたLC発振器の発振周波数foscが大きくシフトするなどし、予め規定された閾値を超えたか否かに基づいて、制御回路5がプローブ7の接近を検知することが可能である。プローブ7の接近を検知した場合、制御回路5は暗号処理回路の動作モードを、例えば、暗号化停止処理やダミー鍵を用いた処理などに切り替えることで、秘密情報などの漏洩を回避する。
次に、サイドチャネル攻撃の検知動作の一例について説明する。
ステップST1において、攻撃検知センサであるコイルLを含むLC発振器などの検知手段2を起動する。ここで、起動する検知手段2は、防御対象となる暗号処理回路3aなどと一体もしくはその近傍に設置され、任意の方向から暗号処理回路3aなどに接近するもしくはあらかじめ接近しているプローブ7によって生じるコイルL(インダクタ)のインダクタンスの変化、詳細には、電磁界の乱れ(それに伴う近傍電磁界や回路内部の特性インピーダンスの変化、回路内部を流れる信号損失の発生など)を観測可能とする。例えば、情報処理装置3として暗号処理回路3aなどを採用した場合、検知手段2としてのセンサは当該回路の内部に実装されるように構成してもよい。
ステップST1において、攻撃検知センサであるコイルLを含むLC発振器などの検知手段2を起動する。ここで、起動する検知手段2は、防御対象となる暗号処理回路3aなどと一体もしくはその近傍に設置され、任意の方向から暗号処理回路3aなどに接近するもしくはあらかじめ接近しているプローブ7によって生じるコイルL(インダクタ)のインダクタンスの変化、詳細には、電磁界の乱れ(それに伴う近傍電磁界や回路内部の特性インピーダンスの変化、回路内部を流れる信号損失の発生など)を観測可能とする。例えば、情報処理装置3として暗号処理回路3aなどを採用した場合、検知手段2としてのセンサは当該回路の内部に実装されるように構成してもよい。
ステップST2において、検知手段2としてのセンサを用いて、コイルL(インダクタ)のインダクタンスの変化、詳細には、電磁界の乱れなど、センサと周囲との電磁界結合度の変化(もしくはそれに伴う物理量)を取得する。例えば、検知手段2を、コイルL(インダクタ)を含むLC発振器で実現した場合、センサと周囲との電磁界結合度の変化はLC発振器の発振周波数の変化として得られる。つまり、検知手段2は、コイルL(インダクタ)のインダクタンスの変化を、LC発振器の発振周波数の変化により検知している。さらに、センサを複数の形状・巻き数の異なるコイルにより構成すれば、電磁界結合度の変化は各コイルの発振周波数の相対的な変化として得られる。このとき、絶対的な周波数基準が不要となり、相対的に大きな基準周波数発生回路を省略できるだけでなく、周波数基準を悪用する攻撃の危険性を排除できる。
ステップST3において、検知手段2により、プローブの接近やパッケージの開封によるコイルのインダクタンスの変化を検知したか否かを、詳細には、電磁界の乱れなど、電磁界結合度の変化を観測したか否かを判定手段としての制御回路5(制御部)などが判定する。詳細には、制御回路5は、例えば、検知手段2をコイルLを含むLC発振器(コイル)で実現した場合、コイルLの発振周波数の変化、つまりコイルLのインダクタンスの変化により判定する。これが変化している場合にはステップST4の処理に進み、変化していない場合にはステップST5の処理に進む。
ステップST4において、検知手段2により上記変化が観測された場合、制御回路5は攻撃検知信号を出力する。ここでは、制御回路5が暗号処理回路3aなどに攻撃検知信号を出力した場合、暗号処理回路3aは秘密情報を保護する動作モード(停止やダミー演算の実行、ハイディング処理、マスキング処理)などに切り替える処理を行う。
ステップST5において、検知手段2としてのセンサにより上記変化が観測されなかった場合、防御対象となる暗号処理回路などの暗号化処理が終了するまでステップST2,ST3の処理を適宜繰り返す。
図1に示した処理の頻度は防御する対象に応じて変更する。例えば、単純解析の対象となる公開鍵暗号処理の場合、各鍵ビットの演算が行われる間隔で処理(ステップST2,ST3)を繰り返す。差分解析の対象となる共通鍵暗号処理の場合、暗号処理の直前に一度だけ処理(ステップST2,ST3)を行う。
<複数のLC発振器を攻撃検知センサとして用いた検知装置>
図4は本発明の実施形態に係る検知装置1の一例を示す図である。詳細には、図4(a)は複数のLC発振器を有する検知装置1の概念図、図4(b)は図4(a)に示した検知装置1の一具体例を示す回路図である。検知手段2は、複数のLC発振器(発振回路)を備えていてもよい。以下、検知手段2として2つのLC発振器を備えた検知装置1を説明する。
図4は本発明の実施形態に係る検知装置1の一例を示す図である。詳細には、図4(a)は複数のLC発振器を有する検知装置1の概念図、図4(b)は図4(a)に示した検知装置1の一具体例を示す回路図である。検知手段2は、複数のLC発振器(発振回路)を備えていてもよい。以下、検知手段2として2つのLC発振器を備えた検知装置1を説明する。
詳細には、検知装置1は、情報処理装置3としての暗号処理回路3a上またはその近傍に配置されたコイルL1,コイルL2を有する。また、検知装置1は、コイルL1,L2をそれぞれ備えた発振器51(LC発振器を含む),発振器52(LC発振器を含む)、およびセンサコア回路50を有する。例えば、暗号処理回路3aの秘密情報処理部3c,3dなどの秘密情報を処理する機能ブロック(S−BOXやレジスタ等)は、それぞれコイルL1,L2の直下に配置し、それ以外の鍵情報を含まない機能ブロック(I/Oインタフェース等)をコイルL1,L2間に配置する。
センサコア回路50は、例えば、制御回路5(制御部)と、コイルL1用の発振器51(発振回路)、コイルL2用の発振器52(発振回路)を有する。各発振器51,52のコイルL1,L2は上述したように、秘密情報処理部3c,3dの近傍に配置されている。詳細には、検知手段は、少なくともコイルL1(センサコイル)、コイルL2(センサコイル)などのコイルを有する。本実施形態では、検知手段は、コイルL1,L2などのコイル、センサコア回路50(制御回路5(制御部)、発振器51,52などの発振器、較正回路、リング発振器等)、などを有する。
コイルL1,L2は、例えば、直交する辺を異なる配線層でレイアウトすることで、各コイル下に配置される暗号処理回路3aのデジタル信号配線を妨害しないように構成されている(例えば、非特許文献参照:M. Saito, et al., “An Extended XY Coil for Noise Reduction in Inductive-coupling Link,” A-SSCC Dig. Tech. Papers, pp.305-308, Nov. 2009.)。
コイルL1,L2に必要なリソースは、数10トラック程度の配線リソースのみである。
検知手段2としての2つのコイルL1,L2は、巻き数や直径等の形状が同じであってもよいし、異なるものを用いてもよい。
本実施形態では、検知手段2としての2つのコイルL1,L2は、巻き数や直径等の形状の異なるものを用いる。例えば、サイドチャネル攻撃時にプローブを用いて秘密情報を取得するためには、2つのコイルL1,L2のいずれか一方もしくは両方に接近させる必要がある。プローブが接近した場合、2つの発振器51,52(LC発振器)の発振周波数に差が生じる。ここで、2つのコイルL1,L2の巻き数・形状が異なるため、コイルL1,L2にまたがったプローブの接近(一般的な電磁波解析攻撃)や個々のコイルL1,L2に対して同一のプローブが同時に接近(複数のプローブによる電磁波解析攻撃)した場合であっても、各発振器51,52(LC発振器)の発振周波数に差が生じることに注意されたい。
検知手段2としての2つのコイルL1,L2は、巻き数や直径等の形状が同じであってもよいし、異なるものを用いてもよい。
本実施形態では、検知手段2としての2つのコイルL1,L2は、巻き数や直径等の形状の異なるものを用いる。例えば、サイドチャネル攻撃時にプローブを用いて秘密情報を取得するためには、2つのコイルL1,L2のいずれか一方もしくは両方に接近させる必要がある。プローブが接近した場合、2つの発振器51,52(LC発振器)の発振周波数に差が生じる。ここで、2つのコイルL1,L2の巻き数・形状が異なるため、コイルL1,L2にまたがったプローブの接近(一般的な電磁波解析攻撃)や個々のコイルL1,L2に対して同一のプローブが同時に接近(複数のプローブによる電磁波解析攻撃)した場合であっても、各発振器51,52(LC発振器)の発振周波数に差が生じることに注意されたい。
コイルL1,L2以外のセンサコア回路50は、完全デジタル回路で構成されている。LC発振器のコアは、電源スイッチ付きのCMOSインバータなどで構成されている。詳細には、発振器51(LC発振回路)は、コイルL1(インダクタ)を除きロジック回路で構成されている。
発振器51が形成された集積回路は、複数のトランジスタT1〜T3,T11〜T1a,T1b〜T1n,T21〜T2a,T2b〜Tbn、インバータN1〜N8,N11〜N14、NANDゲートD1,D11などを有し、図4(b)に示したように各構成要素が接続されている。
本実施形態では、例えば、MOS型電界トランジスタのキャパシタとコイルL1を用いて発振器51(8L)を構成している。発振器51(LC発振器)の発振周波数は、予め規定された周波数となるように設定されており、各トランジスタT11〜T1a,T1b〜T1n,T21〜T2a,T2b〜Tbnの接続を切り替えることにより、発振周波数の微調整を行うことができるように構成されている。
発振器51が形成された集積回路は、複数のトランジスタT1〜T3,T11〜T1a,T1b〜T1n,T21〜T2a,T2b〜Tbn、インバータN1〜N8,N11〜N14、NANDゲートD1,D11などを有し、図4(b)に示したように各構成要素が接続されている。
本実施形態では、例えば、MOS型電界トランジスタのキャパシタとコイルL1を用いて発振器51(8L)を構成している。発振器51(LC発振器)の発振周波数は、予め規定された周波数となるように設定されており、各トランジスタT11〜T1a,T1b〜T1n,T21〜T2a,T2b〜Tbnの接続を切り替えることにより、発振周波数の微調整を行うことができるように構成されている。
リング発振器8Rは、図4(b)に示したように、インバータN11〜N14、NANDゲートD11により構成されている。このリング発振器8Rは、発振器51のLC発振器8Lの発振周波数を較正する際に用いられる。
発振器52(LC発振器を含む)は、上述した発振器51と略同様な構造であり、コイルL1をコイルL2と読み替えた構造であるので、説明を省略する。つまり、発振器52は、LC発振器、リング発振器などを有する。
図5は2つのLC発振器の周波数差によるサイドチャネル攻撃の検知の一例を説明する図である。詳細には、コイルL1を有するLC発振器の発振周波数と、コイルL2を有するLC発振器の発振周波数を図5に示す。図5において、横軸に検知手段(センサ)としてのコイルL1,L2とプローブとの距離を示し、縦軸に発振周波数を示す。
図5に示した例では、サイドチャネル攻撃によるプローブがコイルL1,L2から離れている場合、各LC発振器の発振周波数は、閾値fthより小さい同じ値を示すとする。尚、各LC発振器の発振周波数は異なる値を示していてもよい。
例えば、プローブがコイルL2に近づいた場合、コイルL1を有するLC発振器の発振周波数は僅かに上昇し、コイルL2を有するLC発振器の発振周波数は閾値fthより大きい値を示す。また、プローブがコイルL1に近づいた場合、コイルL1を有するLC発振器の発振周波数が閾値fthより大きい値を示すことになる。
上述したように、検知手段としてコイルL1,L2を用いた場合、コイルL1,L2の一方または両方に近づいたことを、各LC発振器の発振周波数に基づいて容易に検知することができる。
上述したように、検知手段としてコイルL1,L2を用いた場合、コイルL1,L2の一方または両方に近づいたことを、各LC発振器の発振周波数に基づいて容易に検知することができる。
尚、各発振器51,52(LC発振器)の発振周波数差は制御回路内のカウンタで計測される。本発明の実施形態に係る検知装置は、検知手段として発振器51,52(LC発振器)の発振周波数差を利用しており、クロックを周波数基準として使用しないため、システムクロックを含む外部入力のクロック源が攻撃者によって任意に変更される攻撃に対して耐性を有する。また、面積と電力の大きいオンチップの高精度な周波数基準発生回路(バンドギャップリファレンスなどのアナログ回路)も不要となる。物理サイズを考慮すると困難ではあるが、万が一、2つの電磁プローブで2つのコイルを同時に攻撃しても、コイル形状が異なるため、両コイルの周波数シフト量を長時間一定に保つのは極めて困難である(攻撃には数時間かかる)。
図6は検知装置と情報処理装置(暗号処理回路)の動作の一例を示すタイミングチャートである。詳細には、図6(a)は暗号処理回路の動作の一例を示す図、図6(b)はLC発振回路に関する信号LOenの一例を示す図、図6(c)はリング発振回路に関する信号ROenの一例を示す図である。
本実施形態に係る検知装置は、検知手段としてのLC発振回路を、図6に示すように、暗号処理の動作前後に間欠起動することで、プローブの接近をモニタする。動作間隔は守るべき暗号アルゴリズムに応じて適宜設定することができる。
図6に示した例では、トリガ信号LOenによってLC発振器は、起動時に即座にフルスイング(設定振幅)の安定発振を行うことができる。トリガ信号ROenによりリング発振器は所定の発振周波数で発振を行う。後述するように、本発明の実施形態に係る検知装置は、リング発振器による発振周波数とLC発振器による発振周波数に基づいて、LC発振器の周波数を較正する。
サイドチャネル攻撃の検知に必要な時間は、1μs以下であり、I/Oを含む暗号処理時間(〜100μs)の1%以下の動作時間に抑えることができるため、消費電力のオーバーヘッドを著しく低減できる。
LC発振器は、暗号処理動作の停止中に起動するように制御回路により制御されるので、コイルからの放射電磁界により暗号情報が漏洩することはない。また、LC発振器と暗号処理回路の間の干渉は非常に小さい。
図6に示した例では、トリガ信号LOenによってLC発振器は、起動時に即座にフルスイング(設定振幅)の安定発振を行うことができる。トリガ信号ROenによりリング発振器は所定の発振周波数で発振を行う。後述するように、本発明の実施形態に係る検知装置は、リング発振器による発振周波数とLC発振器による発振周波数に基づいて、LC発振器の周波数を較正する。
サイドチャネル攻撃の検知に必要な時間は、1μs以下であり、I/Oを含む暗号処理時間(〜100μs)の1%以下の動作時間に抑えることができるため、消費電力のオーバーヘッドを著しく低減できる。
LC発振器は、暗号処理動作の停止中に起動するように制御回路により制御されるので、コイルからの放射電磁界により暗号情報が漏洩することはない。また、LC発振器と暗号処理回路の間の干渉は非常に小さい。
<較正>
図7はLC発振器の発振周波数のばらつきを低減する較正回路の一例を示す図である。
本発明の実施形態に係るサイドチャネル攻撃の検知装置は、検知手段による検知精度を向上させるために、LC発振器の発振周波数のPVT(プロセス,電圧、温度)ばらつきを低減する機構を有する。詳細には、ローカルにリング発振器を搭載し、PVTばらつきに応じてLC発振周波数を適応的に較正する。詳細には、集積回路チップに形成されたセンサコア回路内にリング発振器8Rが設けられている。例えば、較正回路55は、制御回路5(制御部)などに形成されている。
較正回路55には、LC発振器8L、リング発振器8Rがそれぞれカウンタ57a(57),57b(57)を介して接続されている。カウンタ57a(57)はLC発振器8Lによる発振周波数を計測し、信号LOclk(#LOclk)を較正回路55に出力する。カウンタ57b(57)はリング発振器8Rによる発振周波数を計測し、デジタル信号ROclk(#ROclk)を較正回路55に出力する。
図7はLC発振器の発振周波数のばらつきを低減する較正回路の一例を示す図である。
本発明の実施形態に係るサイドチャネル攻撃の検知装置は、検知手段による検知精度を向上させるために、LC発振器の発振周波数のPVT(プロセス,電圧、温度)ばらつきを低減する機構を有する。詳細には、ローカルにリング発振器を搭載し、PVTばらつきに応じてLC発振周波数を適応的に較正する。詳細には、集積回路チップに形成されたセンサコア回路内にリング発振器8Rが設けられている。例えば、較正回路55は、制御回路5(制御部)などに形成されている。
較正回路55には、LC発振器8L、リング発振器8Rがそれぞれカウンタ57a(57),57b(57)を介して接続されている。カウンタ57a(57)はLC発振器8Lによる発振周波数を計測し、信号LOclk(#LOclk)を較正回路55に出力する。カウンタ57b(57)はリング発振器8Rによる発振周波数を計測し、デジタル信号ROclk(#ROclk)を較正回路55に出力する。
図8は各発振器の発振周波数の各特性の一例を示す図である。詳細には、図8(a)はリング発振器の場合、図8(b)はLC発振器の場合をそれぞれ示す。図9は、較正動作の一例を説明するための図である。図8(a),図8(b),図9において、横軸に供給電圧VDD[V]を示し、縦軸に発振周波数のシフト割合[%]を示す。図8において、FF、TT、SSの各左側はNMOSの特性を示し、右側はPMOSの特性を示す。F(Fast)は、トランジスタがオンしやすいことを示し、S(slow)は、トランジスタがオンし難いことを示し、T(Typical)は、設計通りであることを示す。図9において、供給電圧の増加により発振周波数のシフト割合が増加する曲線はリング発振器の特性を示し、供給電圧の増加により発振周波数のシフト割合が減少する曲線はLC発振器の特性を示し、略一定値を示す直線は較正曲線を示す。
図10は変換テーブル(ルックアップテーブル:LUT)の一例を示す図である。図10において、横軸に較正のための周波数、縦軸に容量値を示す。
図10は変換テーブル(ルックアップテーブル:LUT)の一例を示す図である。図10において、横軸に較正のための周波数、縦軸に容量値を示す。
検知手段としてのセンサに使用するLC発振器には、正の温度係数を持つバラクタダイオード型のキャパシタを使用せずに較正用の小さなMOSキャパシタ(同様に正の温度係数を持つが、温度係数はバラクタダイオードよりも小さい)のみを接続した。このときLC発振器の発振周波数のPVTばらつきは、CMOSインバータのトランジスタのgmに反比例する特性となり、リング発振器の周波数に対して単調な逆特性を有する(図8、図9参照)。尚、図8,図9のグラフには記載していないがSF/FSコーナーにおいても同様である。この特性を利用することで、LC発振器8L,リング発振器8Rの発振周波数をカウントするためのカウンタ57a(57),57b(57)と小サイズのLUT(図10参照)を用いて、LC発振器の発振周波数をワンステップでデジタル較正を行うことができる。
図11は較正回路を用いたLC発振回路の発振周波数の較正動作の一例を示すフローチャートである。次に、LC発振器の発振周波数を較正する方法の一例を、図4,図7〜図11などを参照しながら説明する。
ステップST11において、較正回路55を含む制御回路5は、リング発振器8R、LC発振器8L、およびカウンタ57a,57bを起動させる。
カウンタ57aはLC発振器8Lの発振周波数を測定し、カウンタ57bはリング発振器8Rの発振周波数を測定する。詳細には、カウンタ57aはLC発振器8Lのクロック数をカウントし、カウンタ57bはリング発振器8Rのクロック数をカウントする。
カウンタ57aはLC発振器8Lの発振周波数を測定し、カウンタ57bはリング発振器8Rの発振周波数を測定する。詳細には、カウンタ57aはLC発振器8Lのクロック数をカウントし、カウンタ57bはリング発振器8Rのクロック数をカウントする。
較正回路55は、カウンタ57a,57bのいずれか一方がフルカウント(設定値)になった時点で、他方のカウンタのカウント値を読み出し、それに応じて較正値を増減する。較正回路55は、予め記憶回路などに記憶されているLUT(図10)を参照して、得られた較正値に基づいてLC発振器8Lの容量値(ΔC)に変換し、LC発振器8Lの発振周波数を較正する。
詳細には、ステップST12において、較正回路55は、カウンタ57a,57bによりカウントされる計測値のいずれか一方がフルカウント(設定値)になったか否かを判別し、カウンタ57b(リング発振器用)のカウント値(#ROclk)がフルカウントになった場合、ステップST13の処理に進み、カウンタ57a(LC発振器8L用)のカウント値(#LOclk)がフルカウントになった場合、ステップST23の処理に進む。
ステップST13において、較正回路55は、カウンタ57a(LC発振器用)によるカウント値(#LOclk)を読み込む。このカウント値は、リング発振器の発振周波数とLO発振器の発振周波数の差に対応する。
ステップST14において、カウンタ57a(LC発振器用)によるカウント値(#LOclk)に基づいて、LC発振器の発振周波数が設定値となるように、較正値を減少させる処理を行う。
ステップST15において、較正回路55は、LUT(図10参照)を参照して、較正値(Δfに対応)から、LC発振器の容量値ΔCに変換する処理を行い、ステップST16の処理に進む。
ステップST16において、較正回路55は、容量値ΔCに基づいてLC発振器8Lの容量を減少させて、発振周波数を較正する。詳細には、較正回路55は、信号CalCodeをLC発振器8Lに出力し、図4(b)に示したトランジスタT21〜T2a,T2b〜T2nそれぞれを信号CalCodeに応じてオン接続またはオフ状態とし、トランジスタT11〜T1a,T1b〜T1nによるMOSキャパシタの容量値を調整することで、LC発振器8Lの発振周波数を較正する。
ステップST23において、カウンタ57a(LC発振器8L用)のカウント値(#LOclk)がフルカウントになった場合(ステップST12)、較正回路55は、カウンタ57b(リング発振器用)によるカウント値(#ROclk)を読み込む。このカウント値は、リング発振器の発振周波数とLO発振器の発振周波数の差に対応する。
ステップST24において、カウンタ57b(リング発振器用)によるカウント値(#ROclk)に基づいて、LO発振器の発振周波数が設定値となるように、較正値を増加させる処理を行い、ステップST15の処理に進む。
ステップST15において、較正回路55は、LUT(図10参照)を参照して、較正値(Δfに対応)から、LC発振器の容量値ΔCに変換する処理を行い、ステップST26の処理に進む。
ステップST26において、較正回路55は、容量値ΔCに基づいてLC発振器8Lの容量を増加させて、発振周波数を較正する。
ここで、サイドチャネル攻撃の検知手段と同様に、較正回路55はLC発振回路とリング発振回路の周波数差を利用しているため、他の周波数基準は不要であることに注意されたい。つまり、較正回路55による較正処理は、システムクロックを含む外部入力のクロック源が攻撃者によって任意に変更される攻撃に対して耐性を有する。
また、上述した較正回路55を用いたLC発振器の発振周波数の較正方法は、設計段階であらかじめ設定されたLUT(変換テーブル)に従って容量を調整して、LC発振器の発振周波数のPVTばらつき成分のみを補正するものであり、プローブの接近に伴うインダクタンスの変化による発振周波数の変化分については、較正後もそのまま残る。
したがって、仮に電源投入前に、プローブを接近させていたとしても、電源投入・較正後に仕様上の発振周波数(設計段階で決定される)と観測された発振周波数との差により正しく攻撃検知が可能である。
また、上述した較正回路55を用いたLC発振器の発振周波数の較正方法は、設計段階であらかじめ設定されたLUT(変換テーブル)に従って容量を調整して、LC発振器の発振周波数のPVTばらつき成分のみを補正するものであり、プローブの接近に伴うインダクタンスの変化による発振周波数の変化分については、較正後もそのまま残る。
したがって、仮に電源投入前に、プローブを接近させていたとしても、電源投入・較正後に仕様上の発振周波数(設計段階で決定される)と観測された発振周波数との差により正しく攻撃検知が可能である。
また、図8,図9に示したように、リング発振器の電圧特性と、LC発振器の電圧特性が逆特性となっており、図9に示したように、交点を通る一定値となるように上記較正を行う。つまり、LC発振器の発振周波数の電圧依存性を小さくするように較正を行う。
供給電圧が比較的高い場合、リング発振器の発振周波数がLC発振器の発振周波数よりも高くなり、その周波数差に基づいて、LC発振器の発振周波数を較正する。また、供給電圧が比較的低い場合、リング発振器の発振周波数がLC発振器の発振周波数よりも低くなり、その周波数差に基づいて、LC発振器の発振周波数を較正する。このように、リング発振器の発振周波数とLC発振器の発振周波数の差により、供給電圧が基準の電圧よりも低いまたは高いことを判断することができ、そうした場合であっても、LC発振器の発振周波数を確実に較正することができる。
供給電圧が比較的高い場合、リング発振器の発振周波数がLC発振器の発振周波数よりも高くなり、その周波数差に基づいて、LC発振器の発振周波数を較正する。また、供給電圧が比較的低い場合、リング発振器の発振周波数がLC発振器の発振周波数よりも低くなり、その周波数差に基づいて、LC発振器の発振周波数を較正する。このように、リング発振器の発振周波数とLC発振器の発振周波数の差により、供給電圧が基準の電圧よりも低いまたは高いことを判断することができ、そうした場合であっても、LC発振器の発振周波数を確実に較正することができる。
また、図8,図9に示したように、リング発振器の温度特性と、LC発振器の温度特性が逆特性となっており、図9に示したように、交点を通る一定値となるように上記較正を行う。詳細には、リング発振器は温度が高くなると、発振周波数が低くなり、LC発振器は温度が高くなると発振周波数が高くなる。図9に示したように、例えば、温度が高くなった場合であっても、交点を通る略一定値の較正用曲線が僅かに高くなる程度である。このため、温度が変化した場合であっても、較正の誤差を非常に小さくすることができる。つまり、リング発振回路とLC発振回路の温度依存性が逆特性なので、電圧依存性を補正するときに、温度の変動によるドリフトを少なくすることができる。
また、図8に示したように、リング発振器およびLC発振器のプロセスばらつき特性が逆特性となっており、同様に、プロセスのばらつきがある場合であっても、較正の誤差を非常に小さくすることができる。
<実験・検証>
本願発明者は、本願発明に係る検知装置の効果を確認するために、図4に示したような情報処理装置3としての暗号処理回路3aを有する集積回路のチップ上に、コイルL1、コイルL2、センサコア回路50、つまり、コイルL1を有するLC発振器、コイルL2を有するLC発振器、制御回路5などの回路を、0.18μm CMOSテクノロジのLSIとして作製した。
本願発明者は、本願発明に係る検知装置の効果を確認するために、図4に示したような情報処理装置3としての暗号処理回路3aを有する集積回路のチップ上に、コイルL1、コイルL2、センサコア回路50、つまり、コイルL1を有するLC発振器、コイルL2を有するLC発振器、制御回路5などの回路を、0.18μm CMOSテクノロジのLSIとして作製した。
検知手段としてのコイルL1は4巻き、コイルL2は3巻きである。コイルL1は、縦285μm x 横400μmの矩形状であり、コイルL2は縦285μm x 横480μmの矩形状である。
この本発明に係る検知装置を有するLSIを搭載した評価ボードをサイドチャネル攻撃標準評価基板(SASEBO R-II)に搭載し、マイクロマニピュレータで固定した極小電磁プローブを、検知装置を有するLSIに接近させた。
プローブからのEM信号は、100Wのパワーアンプで増幅した後、オシロスコープを介してコンピュータ(PC)に波形を取り込み、コンピュータにて相関計算を行って、局所EM解析攻撃を行った。
まず、LC発振器のデジタル較正を評価した。
図12は実測した各発振器の発振周波数の電源電圧と温度依存性の一例を示す図である。詳細には、図12(a)はリング発振器の場合、図12(b)はLC発振器(3巻き)の場合、図12(c)はLC発振器(4巻き)の場合をそれぞれ示す図である。
図12は実測した各発振器の発振周波数の電源電圧と温度依存性の一例を示す図である。詳細には、図12(a)はリング発振器の場合、図12(b)はLC発振器(3巻き)の場合、図12(c)はLC発振器(4巻き)の場合をそれぞれ示す図である。
リング発振器とLC発振器(3巻き,4巻き)の間にPVTばらつきに対する逆特性を確認した。本願発明者は、上述したデジタル較正を行ったところ、±10%の電源電圧変動範囲と0〜60℃の温度変化範囲において、周波数ばらつきを±1%以下に抑えることができた。
次に、本発明に係る検知装置によるサイドチャネル攻撃の検知機能を評価した。
図13は周波数スペクトラムの一例を示す図である。詳細には、図13(a)は3巻コイルL2の場合(プローブ接近なし)、図13(b)は4巻コイルL1の場合(プローブ接近なし)、図13(c)は3巻コイルL2の場合(L1にプローブ接近あり)、図13(d)は4巻コイルL1の場合(L1にプローブ接近あり)、をそれぞれ示す。
図13は周波数スペクトラムの一例を示す図である。詳細には、図13(a)は3巻コイルL2の場合(プローブ接近なし)、図13(b)は4巻コイルL1の場合(プローブ接近なし)、図13(c)は3巻コイルL2の場合(L1にプローブ接近あり)、図13(d)は4巻コイルL1の場合(L1にプローブ接近あり)、をそれぞれ示す。
極小電磁プローブ(プローブ)を4巻きコイルL1(センサコイル)に接近させたところ、5.2%発振周波数がシフトし、図13に示したように、正常に攻撃検知ができることを確認した。
図14は、サイドチャネル攻撃の検知による動作の一例を説明するための図である。詳細には図14(a),図14(b)は攻撃検知による動作切り替えなしの場合の電磁波の波形の一例、相関係数の一例をそれぞれ示す図であり、図14(c),図14(d)は攻撃検知による動作切り替えありの場合の電磁波波形の一例、相関係数の一例をそれぞれ示す図である。
制御回路(制御部)は、サイドチャネル攻撃の検知装置による攻撃検知後、暗号処理回路に、停止やダミー演算の実行などの漏洩防止処理を行う動作を行わせることで、鍵情報の漏洩を防げることも実測により確認することができた。詳細には、図14に示したように、相関係数に基づいた正解鍵の検出を防止することができた。
表1に、本発明に係るサイドチャネル攻撃の検知装置の機能と、暗号処理回路(1ラウンド/1クロックのループアーキテクチャに基づくAES暗号回路)に対する搭載時の面積、電力、性能オーバーヘッドを記載する。
本発明に係るサイドチャネル攻撃の検知装置(本対策回路)は、2.4%の面積と1%の電力と性能のわずかなオーバーヘッドで、従来の対策では防ぐことが困難な局所的な電磁波解析攻撃に対する耐性を実現できる。
本発明に係るサイドチャネル攻撃の検知装置(本対策回路)は、2.4%の面積と1%の電力と性能のわずかなオーバーヘッドで、従来の対策では防ぐことが困難な局所的な電磁波解析攻撃に対する耐性を実現できる。
また、本発明に係るサイドチャネル攻撃の検知装置は、ハイディングやマスキングなどの先行するサイドチャネル攻撃対策とも組み合わせ可能であり、相補的に組み合わせることにより、より堅牢なセキュリティを有する暗号処理回路を実現できる。
<本発明の他の実施形態>
上記実施形態に係るサイドチャネル攻撃の検知装置は、図2、図4などに示したように、検知手段としてコイル(インダクタ)を備えたLC発振器を採用し、導電体などにより構成されるプローブなどの接近によるインダクタンス(相互インダクタンス)の変化に応じた発振周波数の変化や、暗号処理回路などの情報処理装置を含むLSIのパッケージ(導電体や樹脂などにより構成される)の開封によるインダクタンス(相互インダクタンス)の変化に応じた発振周波数の変化に基づいて判定手段としての制御回路がサイドチャネル攻撃によるプローブの接近やLSIパッケージの開封などを判定したが、この形態に限られるものではない。
上記実施形態に係るサイドチャネル攻撃の検知装置は、図2、図4などに示したように、検知手段としてコイル(インダクタ)を備えたLC発振器を採用し、導電体などにより構成されるプローブなどの接近によるインダクタンス(相互インダクタンス)の変化に応じた発振周波数の変化や、暗号処理回路などの情報処理装置を含むLSIのパッケージ(導電体や樹脂などにより構成される)の開封によるインダクタンス(相互インダクタンス)の変化に応じた発振周波数の変化に基づいて判定手段としての制御回路がサイドチャネル攻撃によるプローブの接近やLSIパッケージの開封などを判定したが、この形態に限られるものではない。
例えば、本発明に係る検知装置は、プローブなどの接近によるキャパシタンス(相互キャパシタンス)の変化に基づいて、プローブなどを検知する検知手段と、その検知手段の出力に基づいてサイドチャネル攻撃によるプローブの接近やLSIパッケージの開封などを判定する制御回路などの判定手段を有してもよい。
図15は本発明の他の実施形態に係るサイドチャネル攻撃の検知装置の一例を説明するための概念図である。図16は伝達関数の一例を示す図である。詳細には、図16(a)はプローブが検知手段に接近していない場合の伝達関数の一例を示す図、図16(b)はプローブが検知手段に接近している場合の伝達関数の一例を示す図である。図17は入力信号の電圧の周波数特性の一例を示す図である。
例えば、図15に示した本発明に係る検知装置は、集積回路チップ10に形成された情報処理装置3の近傍に、検知手段として、導電体により細長の伝送路201を設けることによりキャパシタを形成し、その伝送路201の一方の端部から所定の信号(図17参照)を入力し、伝送路201の他方の端部で信号を受信し、その信号に基づいて判定手段としての制御回路5が伝達関数の変化によりプローブ7の接近を判定してもよい。つまり、図16に示した例では、検知手段による、プローブ7の接近による容量結合の変化(キャパシタンスの変化)を示す出力に基づいて、判定手段としての制御回路5がサイドチャネル攻撃によるプローブの接近を判定する。
また、上述した暗号処理回路などの情報処理装置を含むLSI(集積回路チップ10)が導電体や樹脂などにより構成されるLSIパッケージに収容されている場合、上記検知装置は、パッケージの開封による容量結合の変化(キャパシタンスの変化)に基づいてサイドチャネル攻撃を検知してもよい。詳細には、上述したように、集積回路チップ10に形成された情報処理装置3の近傍に、検知手段として、導電体などにより伝送路201を設けることによりキャパシタを形成し、その伝送路201の一方の端部から、所定の信号(図17参照)を入力し、伝送路201の他方の端部で信号を受信し、伝達関数の変化に基づいて判定手段としての制御回路5がLSIパッケージの開封を判定してもよい。つまり、検知手段により、パッケージの開封時の容量結合による容量結合の変化(キャパシタンスの変化)に基づいて、判定手段としての制御回路5がLSIパッケージの開封を判定する。
例えば、図15に示した本発明に係る検知装置は、集積回路チップ10に形成された情報処理装置3の近傍に、検知手段として、導電体により細長の伝送路201を設けることによりキャパシタを形成し、その伝送路201の一方の端部から所定の信号(図17参照)を入力し、伝送路201の他方の端部で信号を受信し、その信号に基づいて判定手段としての制御回路5が伝達関数の変化によりプローブ7の接近を判定してもよい。つまり、図16に示した例では、検知手段による、プローブ7の接近による容量結合の変化(キャパシタンスの変化)を示す出力に基づいて、判定手段としての制御回路5がサイドチャネル攻撃によるプローブの接近を判定する。
また、上述した暗号処理回路などの情報処理装置を含むLSI(集積回路チップ10)が導電体や樹脂などにより構成されるLSIパッケージに収容されている場合、上記検知装置は、パッケージの開封による容量結合の変化(キャパシタンスの変化)に基づいてサイドチャネル攻撃を検知してもよい。詳細には、上述したように、集積回路チップ10に形成された情報処理装置3の近傍に、検知手段として、導電体などにより伝送路201を設けることによりキャパシタを形成し、その伝送路201の一方の端部から、所定の信号(図17参照)を入力し、伝送路201の他方の端部で信号を受信し、伝達関数の変化に基づいて判定手段としての制御回路5がLSIパッケージの開封を判定してもよい。つまり、検知手段により、パッケージの開封時の容量結合による容量結合の変化(キャパシタンスの変化)に基づいて、判定手段としての制御回路5がLSIパッケージの開封を判定する。
以上、説明したように、本発明の実施形態に係るサイドチャネル攻撃の検知装置1は、サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたコイル(インダクタ)またはキャパシタを有し、コイル(インダクタ)のインダクタンスまたはキャパシタのキャパシタンスの変化を検知する検知手段と、その検知手段によりサイドチャネル攻撃によるプローブの接近またはLSIパッケージの開封を判定する判定手段としての制御回路5と、を有する。
このため、簡単な構成で、サイドチャネル攻撃を検知可能な検知装置を提供することができる。
このため、簡単な構成で、サイドチャネル攻撃を検知可能な検知装置を提供することができる。
また、本発明に係る検知装置は、上記検知手段を有するので、従来対策では防ぐことが困難な局所電磁波解析攻撃も含めてプロービングによる電気的情報を用いるサイドチャネル攻撃全般を防ぐことができる。
また、本発明に係る検知装置は、集積回路内部やプリント基板上の配線パターンから放射される電磁界を測定するためにプローブを接近させると、コイルのインダクタンスの変化、詳細には、例えば、集積回路やプリント基板上の配線と(プローブを含む)周囲との電磁界結合度が変化し、不可避に電磁界分布に変化が生じるという物理法則に基づいて、サイドチャネル攻撃を検知することができ、攻撃者は原理的に検知されることなく攻撃を行うことは困難となる。
また、本発明では、従来対策に対して、暗号LSIの実行速度や消費電力、実装面積などのオーバーヘッドを大きく削減している。従来対策は少なくとも回路規模を数倍程度増加する。一方、本発明では、検知手段をLC発振器により構成した場合、対策対象となる暗号処理回路に対して2.4%というわずかな面積オーバーヘッドで実現できる。また、コイル以外のすべての回路は完全デジタル回路(ロジック回路)で構成できるので、集積回路製造プロセスの微細化に応じて、暗号コアと同様に面積を縮小できる。
また、コイルについても集積回路製造プロセスの微細化によるトランジスタ性能の改善により縮小可能であり、暗号コアに対するセンサ全体の面積オーバーヘッドについても一定に保つことが出来る。
また、コイルについても集積回路製造プロセスの微細化によるトランジスタ性能の改善により縮小可能であり、暗号コアに対するセンサ全体の面積オーバーヘッドについても一定に保つことが出来る。
また、本発明に係る検知装置は、検知手段をLC発振器により構成した場合、コイル以外の回路を完全デジタル回路(ロジック回路)で構成できるため、設計容易性が高く、集積回路製造プロセスの微細化に応じて、暗号コアと同様に面積を縮小できる。
また、本発明に係る検知装置は、形状・巻き数の異なる2つ以上のコイルを用いた攻撃検知方式により、多様なプロービング方法を検知可能にするとともに、高精度な周波数基準を不要にすることで周波数基準に対する攻撃も不可能にする。
また、本発明では、2コイル以上を用いた攻撃検知方式により高精度な周波数基準を不要にし、周波数基準に対する攻撃を不可能にするだけでなく、本発明による回路面積や消費電力の増加を大きく削減することに寄与する。さらに、リング発振器を用いたセンサのワンステップデジタル較正により、PVTばらつきにも対応可能である。
さらに、リング発振器を用いたLC発振器の発振周波数のワンステップデジタル較正により、様々な動作環境にも対応可能である。
本発明は、上記機能を実現した場合でも、対策対象となる暗号処理回路(情報処理装置)に対して、例えば、2.4%程度という僅かな面積オーバーヘッドで実現できる。
本発明は、上記機能を実現した場合でも、対策対象となる暗号処理回路(情報処理装置)に対して、例えば、2.4%程度という僅かな面積オーバーヘッドで実現できる。
1…検知装置
2…検知手段
3…情報処理装置
3a…暗号処理回路
5…制御回路(判定手段:制御部)
7…プローブ
8L…LC発振器
8R…リング発振器
10…集積回路チップ
50…センサコア回路
55…較正回路
57,57a,57b…カウンタ
L,L1,L2…コイル。
2…検知手段
3…情報処理装置
3a…暗号処理回路
5…制御回路(判定手段:制御部)
7…プローブ
8L…LC発振器
8R…リング発振器
10…集積回路チップ
50…センサコア回路
55…較正回路
57,57a,57b…カウンタ
L,L1,L2…コイル。
Claims (10)
- サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたインダクタを有し、前記インダクタのインダクタンスの変化を検知する検知手段と、
前記検知手段の出力に基づいて前記サイドチャネル攻撃によるプローブの接近またはLSIパッケージの開封を判定する判定手段と、を有することを特徴とする
サイドチャネル攻撃の検知装置。 - 前記検知手段は、前記インダクタを含む発振回路を有し、前記発振回路の発振周波数の変化を検知することを特徴とする請求項1に記載のサイドチャネル攻撃の検知装置。
- 前記検知手段の前記インダクタは複数であることを特徴とする請求項1または請求項2に記載のサイドチャネル攻撃の検知装置。
- 前記複数のインダクタは、それぞれ形状が異なることを特徴とする請求項3に記載のサイドチャネル攻撃の検知装置。
- 前記複数のインダクタは、それぞれ巻き数が異なることを特徴とする請求項3または請求項4に記載のサイドチャネル攻撃の検知装置。
- 前記検知手段は、前記インダクタを除きロジック回路で構成されていることを特徴とする請求項1から請求項5の何れかに記載のサイドチャネル攻撃の検知装置。
- リング発振回路を備え、該リング発振回路の発振周波数に基づいて、前記検知手段の前記発振回路のキャパシタンスを調整することで該発振回路の発振周波数を較正する手段を有することを特徴とする請求項2から請求項6の何れかに記載のサイドチャネル攻撃の検知装置。
- サイドチャネル攻撃の対象となる情報処理装置に近接して配置されたキャパシタを有し、前記キャパシタのキャパシタンスの変化を検知する検知手段と、
前記検知手段の出力に基づいて前記サイドチャネル攻撃によるプローブの接近またはLSIパッケージの開封を判定する判定手段と、を有することを特徴とする
サイドチャネル攻撃の検知装置。 - 前記情報処理装置および前記検知手段は、同一の集積回路チップに設けられていることを特徴とする請求項1から請求項8の何れかに記載のサイドチャネル攻撃の検知装置。
- 請求項1から請求項9の何れかに記載のサイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018033A JP2017079336A (ja) | 2014-01-31 | 2014-01-31 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
PCT/JP2014/082010 WO2015114944A1 (ja) | 2014-01-31 | 2014-12-03 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
TW104101231A TW201541283A (zh) | 2014-01-31 | 2015-01-14 | 旁通道攻擊之檢測裝置、基於旁通道攻擊之檢測裝置之旁通道攻擊之檢測方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018033A JP2017079336A (ja) | 2014-01-31 | 2014-01-31 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017079336A true JP2017079336A (ja) | 2017-04-27 |
Family
ID=53756538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014018033A Pending JP2017079336A (ja) | 2014-01-31 | 2014-01-31 | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2017079336A (ja) |
TW (1) | TW201541283A (ja) |
WO (1) | WO2015114944A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879809B1 (ko) * | 2017-09-19 | 2018-08-16 | 국민대학교산학협력단 | 부채널 분석에 안전한 연산 장치 및 방법 |
WO2020137606A1 (ja) * | 2018-12-26 | 2020-07-02 | ソニーセミコンダクタソリューションズ株式会社 | 半導体装置および電子機器 |
JP2020161090A (ja) * | 2019-03-28 | 2020-10-01 | 電子商取引安全技術研究組合 | システム半導体チップ、システム半導体チップの情報漏洩検出方法及びシステム半導体チップの情報漏洩抑止方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942154A (zh) * | 2017-10-16 | 2018-04-20 | 北京中电华大电子设计有限责任公司 | 一种适用于芯片电磁攻击防护的保护结构和方法 |
EP3995977A1 (en) * | 2020-11-10 | 2022-05-11 | Thales DIS France SA | Method for detecting an attack on a sensitive unit of an electronic system |
TWI785855B (zh) * | 2021-10-21 | 2022-12-01 | 中國鋼鐵股份有限公司 | 檢測裝置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237307A (en) * | 1991-11-27 | 1993-08-17 | The United States Of America As Represented By The United States Department Of Energy | Non-contact tamper sensing by electronic means |
FR2864667B1 (fr) * | 2003-12-29 | 2006-02-24 | Commissariat Energie Atomique | Protection d'une puce de circuit integre contenant des donnees confidentielles |
-
2014
- 2014-01-31 JP JP2014018033A patent/JP2017079336A/ja active Pending
- 2014-12-03 WO PCT/JP2014/082010 patent/WO2015114944A1/ja active Application Filing
-
2015
- 2015-01-14 TW TW104101231A patent/TW201541283A/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101879809B1 (ko) * | 2017-09-19 | 2018-08-16 | 국민대학교산학협력단 | 부채널 분석에 안전한 연산 장치 및 방법 |
WO2020137606A1 (ja) * | 2018-12-26 | 2020-07-02 | ソニーセミコンダクタソリューションズ株式会社 | 半導体装置および電子機器 |
JP2020161090A (ja) * | 2019-03-28 | 2020-10-01 | 電子商取引安全技術研究組合 | システム半導体チップ、システム半導体チップの情報漏洩検出方法及びシステム半導体チップの情報漏洩抑止方法 |
JP7248237B2 (ja) | 2019-03-28 | 2023-03-29 | 株式会社Scu | システム半導体チップ、システム半導体チップの情報漏洩検出方法及びシステム半導体チップの情報漏洩抑止方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201541283A (zh) | 2015-11-01 |
WO2015114944A1 (ja) | 2015-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015114944A1 (ja) | サイドチャネル攻撃の検知装置、サイドチャネル攻撃の検知装置によるサイドチャネル攻撃の検知方法 | |
CN105391542B (zh) | 用于集成电路检测电磁故障注入攻击探测方法及探测器 | |
Standaert | Introduction to side-channel attacks | |
Wang et al. | Novel physical unclonable function with process and environmental variations | |
Homma et al. | Em attack is non-invasive?-design methodology and validity verification of em attack sensor | |
CA2733667C (en) | Method for detecting abnormalities in a cryptographic circuit protected by differential logic, and circuit for implementing said method | |
Miura et al. | A local EM-analysis attack resistant cryptographic engine with fully-digital oscillator-based tamper-access sensor | |
Homma et al. | Design methodology and validity verification for a reactive countermeasure against EM attacks | |
Kumar et al. | On design of temperature invariant physically unclonable functions based on ring oscillators | |
CN106919764B (zh) | 基于fpga的环形振荡器物理不可克隆函数的可靠性检测方法 | |
Das et al. | EM/power side-channel attack: White-box modeling and signature attenuation countermeasures | |
Tehranipoor et al. | Hardware security primitives | |
Sugawara et al. | Side-channel leakage from sensor-based countermeasures against fault injection attack | |
Miura et al. | EM attack sensor: Concept, circuit, and design-automation methodology | |
Lomne et al. | Side channel attacks | |
Cao et al. | A fully digital physical unclonable function based temperature sensor for secure remote sensing | |
Antonopoulos et al. | Hardware Trojans in analog, mixed-signal, and RF ICs | |
Mai | Side channel attacks and countermeasures | |
US11070359B2 (en) | Protection method and device against a side-channel analysis | |
JP5482048B2 (ja) | 集積回路および電子機器 | |
Suresh | On-chip true random number generation in nanometer cmos | |
Nagata et al. | Protecting cryptographic integrated circuits with side-channel information | |
Montminy | Enhancing electromagnetic side-channel analysis in an operational environment | |
Druml et al. | Secured miniaturized system-in-package contactless and passive authentication devices featuring NFC | |
Das et al. | Security of Analog, Mixed-Signal, and RF Devices |