説明

サイドチャネル情報測定装置、その方法及びそのプログラム

【課題】サイドチャネル攻撃耐性を評価するのに適したサイドチャネル情報を測定可能な、サイドチャネル情報測定装置を提供する。
【解決手段】暗号装置から漏洩するサイドチャネル情報を測定するサイドチャネル情報測定装置において、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定部と、サイドチャネル情報測定部の測定におけるサンプリングレートを、暗号装置のクロック周波数に基づいて設定するパラメータ設定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サイドチャネル情報測定装置、その方法及びそのプログラムに関し、特に暗号装置から漏洩するサイドチャネル情報を測定する時のパラメータを、サイドチャネル攻撃への耐性評価を実施するのに適したものに設定する機能を有するサイドチャネル情報測定装置、その方法及びそのプログラムに関する。
【背景技術】
【0002】
情報の電子データ化が進む中で、情報の保護、秘匿な通信において、暗号はかかせない技術となっている。暗号はその安全性を保つために、鍵等の秘匿情報が容易に推測できないようにする必要がある。鍵の全数探索や数学的に解読を行う線形解読や差分解読等といった暗号解析方法が知られているが、現実的な時間での解析は不可能な状況といえる。
【0003】
その一方で、暗号機能付きのIC(integrated circuit)カードや携帯端末などの暗号を実装した装置において、攻撃者が処理時間や消費電力などのサイドチャネル情報を精密に測定できるとの仮定の下で、サイドチャネル情報から秘匿情報の取得を試みるサイドチャネル攻撃とその対策が大きな研究テーマとなっている。
【0004】
サイドチャネル情報には、攻撃対象である暗号装置内で実行されている処理やデータに関する情報が含まれており、サイドチャネル情報を解析することで、暗号アルゴリズム、処理タイミング、秘密鍵の推定が可能である。サイドチャネル攻撃の具体的な攻撃方法としては、処理時間に注目したタイミング攻撃(非特許文献1参照)や消費電力に注目した電力解析(非特許文献2参照)、漏洩電磁波に注目した電磁波解析(非特許文献3参照)等が知られている。
【0005】
暗号を実装した装置においては、実用上、サイドチャネル攻撃に対する攻撃耐性(耐タンパ性)が求められる。そのため、サイドチャネル情報から暗号アルゴリズムなどの秘匿情報の推定を困難にする耐タンパ技術の研究がすすめられている。
【0006】
ここで、耐タンパ性とは攻撃に対して、秘匿情報の漏洩や機能の改変を防ぐ性能のことである。サイドチャネル攻撃に対する耐タンパ技術として、恣意的にサイドチャネル情報に不要な情報を付加することで、サイドチャネル情報から秘匿情報の漏洩を防ぐ耐タンパ手法(特許文献1参照)等が提案されている。
【0007】
ここで、上記のような耐タンパ手法を適用することで実際にサイドチャネル攻撃への耐性が向上しているか、耐タンパ手法の有効性を評価する必要がある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007-116215号公報
【非特許文献】
【0009】
【非特許文献1】P. Kocher, “Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems,” Crypto’96, pp.101-113, 1996.
【非特許文献2】P. Kocher, J. Jaffe and B. Jun, “Introduction to Differential Power Analysis and Related Attacks,” 1998.
【非特許文献3】Karine Gandolfi, Christophe Mourtel, and Francis Olivier, “Electromagnetic Analysis: Concrete Results,” In the Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems 2001 (CHES 2001), LNCS 2162 Paris, France, May 2001, pp 251-261.
【非特許文献4】今井秀樹、“情報セキュリティ−安全・安心な社会のために−”,電子情報通信学会誌,2007年,Vol.90,No.5,pp.334−339
【発明の概要】
【発明が解決しようとする課題】
【0010】
サイドチャネル攻撃に対する耐タンパ性の有効性を評価する上で、精度が高いサイドチャネル情報を取得することが求められる。そのため、データの測定を行う上で測定のサンプリングレートをできるだけ高く設定する必要がある。しかしながら、サンプリングレートを高く設定した場合には、その分データ量が膨大となってしまい、データを保存しておくストレージの問題や、データの処理時間が長くなるといった問題が発生してしまう。
【0011】
一方で、サンプリングレートを低く設定した場合には、本来ならばサイドチャネル情報に含まれる、暗号装置内で実行されている処理やデータに関する情報をとらえきれないため、耐タンパ性の有効性を正確に評価できない。
【0012】
そこで、本発明は、上記課題を解決し、サイドチャネル情報の測定において、サイドチャネル攻撃耐性評価に対して最適なサンプリングレートでサイドチャネル情報を測定できる、サイドチャネル情報測定装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明に係るサイドチャネル情報測定装置は、暗号装置から漏洩するサイドチャネル情報を測定するサイドチャネル情報測定装置において、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定手段と、前記サイドチャネル情報測定手段の測定におけるサンプリングレートを前記暗号装置のクロック周波数に基づいて設定するパラメータ設定手段と、を備えることを特徴とする。
【0014】
また、本発明に係るサイドチャネル情報測定方法は、暗号装置から漏洩するサイドチャネル情報を測定するサイドチャネル情報測定方法において、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定ステップと、前記サイドチャネル情報測定ステップの測定におけるサンプリングレートを前記暗号装置のクロック周波数に基づいて設定するパラメータ設定ステップと、を備えることを特徴とする。
【0015】
さらに、本発明に係るサイドチャネル情報測定プログラムは、暗号装置から漏洩するサイドチャネル情報を測定するサイドチャネル情報測定プログラムにおいて、コンピュータに、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定機能と、前記サイドチャネル情報測定機能の測定におけるサンプリングレートを前記暗号装置のクロック周波数に基づいて設定するパラメータ設定機能と、をコンピュータに実現させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、サイドチャネル情報をサイドチャネル攻撃耐性評価に適したサンプリングレートで測定が可能となり、サイドチャネル攻撃耐性の評価精度の向上、評価時間の短縮、およびデータ量の削減が可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の第1の実施形態に係るサイドチャネル情報測定装置の概略構成図である。
【図2】本発明の第1の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図3】本発明の第2の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図4】本発明の第3の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図5】本発明の第4の実施形態に係るサイドチャネル情報測定装置の概略構成図である。
【図6】本発明の第4の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図7】本発明の第5の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図8】本発明の第6の実施形態に係るサイドチャネル情報測定装置の概略構成図である。
【図9】本発明の第6の実施形態に係るサイドチャネル情報測定装置のクロック周波数推定部を持つ場合の概略構成図である。
【図10】本発明の第7の実施形態に係るサイドチャネル情報測定装置の概略構成図である。
【図11】本発明の第7の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図12】本発明の第8の実施形態に係るサイドチャネル情報測定装置の動作を示したフローチャートである。
【図13】本発明の実施例において、サンプリングレートが1GHzで測定した時のサイドチャネル情報である消費電力波形のパワースペクトルを示すグラフである。
【図14】本発明の実施例において、サンプリングレートが500MHzで測定した時の消費電力波形を用いた差分電力解析によるAESの解析成功率を示すグラフである。
【図15】本発明の実施例において、各サンプリングレートに対する解析成功率(25MHz〜500MHz)を示すグラフである。
【図16】本発明の実施例において、各サンプリングレートに対する解析成功率(625MHz〜5GHz)を示すグラフである。
【発明を実施するための形態】
【0018】
次に、本発明に係るサイドチャネル情報測定装置、その方法及びそのプログラムを実施するための形態について、図面を参照して詳細に説明する。
【0019】
[第1の実施形態]
図1は、本発明の第1の実施形態に係るサイドチャネル情報測定装置の概略構成を表した図である。
【0020】
図1を参照すると、本実施形態は、評価対象の暗号装置1のサイドチャネル情報を測定するサイドチャネル情報測定部(サイドチャネル情報測定手段)2と、このサイドチャネル情報測定部2における測定時のサンプリングレートを設定するパラメータ設定部(パラメータ設定手段)3とを含むサイドチャネル情報測定装置と、このサイドチャネル情報測定装置から得られたサイドチャネル情報を用いて、暗号装置1のサイドチャネル攻撃耐性の可否を評価するサイドチャネル攻撃耐性評価装置4とを有する。
【0021】
暗号装置1は、平文に対する暗号化や暗号文に対する復号化等の暗復号処理を行う装置である。暗号装置1は、暗復号処理を実行する種々の情報処理装置が採用可能である。例えば、パーソナルコンピュータ(PC)、携帯端末、接触型および非接触型のICカード、リーダライタ等がある。
【0022】
サイドチャネル情報測定部2は、暗号装置1が暗復号処理を実施する際に漏洩するサイドチャネル情報を測定する。サイドチャネル情報は、暗号装置において内部の処理に影響を受ける種々の情報が採用可能である。例えば、電力、電磁波、音、温度等がある。もし、電磁波をサイドチャネル情報として用いる場合は、サイドチャネル情報測定装置2は、オシロスコープやスペクトラムアナライザ等を採用可能である。測定においては、サンプリングレートや垂直軸および水平軸のスケールとオフセット、レコード長、測定トリガの種類などさまざまなパラメータの設定が必要となる。
【0023】
パラメータ設定部3は、サイドチャネル情報測定部2でサイドチャネル情報を測定するときのパラメータを設定する。測定時に設定するパラメータはいくつかあるが、本実施形態のパラメータ設定部3は、サンプリングレートを設定する。サンプリングレートは、暗号装置1のクロック周波数に基づいて設定する。クロック周波数については、装置のユーザが入力する方法、データベースに登録してある情報から引用する方法、一度サイドチャネル測定部2で測定されたサイドチャネル情報から推測する方法、などによって得る。
【0024】
サンプリングレートは、クロック周波数より高いレートが求められ、クロックにともなう変化をとらえるだけならば、クロック周波数の2倍あればよい。しかしながら、サイドチャネル攻撃の耐性評価をするためには、サイドチャネル情報に含まれる暗号処理時に発生するCPU(Central Processing Unit)での演算やレジスタへのデータの書き込みなど、さまざまな要因と関連して変化している部分を測定する必要があり、クロック周波数の2倍ではそれらをとらえることが困難である。そのため、サンプリングレートをクロック周波数の2倍よりも高く設定する必要がある。
【0025】
一方、サンプリングレートが高くなるにつれて、データ量も増加してしまう。さらに、データ量の増加にともない、計算時間といったコストもかかることとなる。サイドチャネル攻撃の耐性評価においては、大量のサイドチャネル情報を測定し、測定した大量の情報を解析することによって評価をすることもある。そのため、1情報あたりのデータ量が多くなると、解析時に必要となるデータ容量は極めて膨大なものとなってしまう。そのため、パラメータ設定部3では、サイドチャネル攻撃に対する耐性を正確に評価でき、かつデータ量を抑制できるサンプリングレートを設定する。
【0026】
サンプリングレートをどれくらいにするかについては、サイドチャネル攻撃耐性評価装置4での評価方法や、周囲の環境にも依存するが、例えば、クロック周波数の5倍、10倍、20倍、25倍、30倍、50倍、100倍、200倍あたりにすることが考えられる。特に、サンプリングレートをクロック周波数の10〜25倍とすると、耐性評価とデータ量の抑制において効果が高い。
【0027】
なお、パラメータ設定部3は、サンプリングレート以外のパラメータも設定できる構成も考えられる。
【0028】
サイドチャネル攻撃耐性評価装置4は、サイドチャネル情報測定装置から入力されるサイドチャネル情報を用いて、暗号装置1のサイドチャネル攻撃への耐性評価を実施する。評価方法として、サイドチャネル情報に対してサイドチャネル攻撃を行い、攻撃が成功するか否かの判定結果を利用する方法や、基準波形との相関や距離、および類似度を利用する方法等があげられる。
【0029】
なお、耐性評価において、複数のサイドチャネル情報を必要とする場合には、サイドチャネル情報測定部2での測定での処理を複数回行うことで、複数のサイドチャネル情報を取得することが可能である。また、パラメータ設定部3がサイドチャネル攻撃の耐性評価の内容(耐性の有無、相関値、距離、類似度等)に応じてサンプリングレートを調整する機能を有する場合、評価の内容をパラメータ設定部3に伝播する手段を有する。
【0030】
上述のように構成されたサイドチャネル情報測定装置において、まずパラメータ設定部3に暗号装置1のクロック周波数を入力する。次に、パラメータ設定部3は入力されたクロック周波数に基づいて、サイドチャネル情報測定部2で用いる測定におけるサンプリングレートを設定する。次に、評価対象である暗号装置1にて暗号処理を実行すると共に、サイドチャネル情報測定部2にて暗号装置1から漏洩するサイドチャネル情報を、パラメータ設定部3で設定されたサンプリングレートに基づき測定する。最後に、サイドチャネル攻撃耐性評価装置4は、測定したサイドチャネル情報を用いて、暗号装置1のサイドチャネル攻撃への耐性評価を実施する。
【0031】
次に、第1の実施形態における動作例について説明する。
【0032】
図2は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。
【0033】
まず、処理を開始すると(ステップA1)、パラメータ設定部3に暗号装置1のクロック周波数を入力する(ステップA2)。次に、入力されたクロック周波数にしたがって、パラメータ設定部3は、測定のサンプリングレートを決定する(ステップA3)。そして、決定されたサンプリングレートで、サイドチャネル情報測定部2は、暗号装置1から漏洩するサイドチャネル情報を測定する(ステップA4)。最後に、測定したサイドチャネル情報を用いて、サイドチャネル攻撃耐性評価装置4は、暗号装置1の耐性評価を実施し(ステップA5)、処理を終了する(ステップA6)。
【0034】
上述した第1の実施形態を実施することにより、評価対象の暗号装置に関して、適したサンプリングレートでサイドチャネル情報を測定でき、データ量や処理時間を抑制しつつ、正確なサイドチャネル攻撃に対する耐性を評価することができる。
【0035】
[第2の実施形態]
続いて、本発明の第2の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0036】
本実施形態では、パラメータ設定部3に、評価対象の暗号装置1のクロック周波数、もしくは推測したクロック周波数を入力する。そして、測定に用いるサンプリングレートを、入力されたクロック周波数の定数倍に設定する。
【0037】
図3は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第1の実施形態との相違点は、パラメータ設定部3により、サンプリングレートを入力されたクロック周波数の定数倍に設定する点である(ステップA3→A3a)。
【0038】
定数については、2倍以上の数値をあらかじめ設定しておくこととなる。定数の候補としては、2倍、5倍、10倍、20倍、25倍、50倍、100倍、200倍などといった数値があげられる。なお、パラメータ設定部3により、サイドチャネル攻撃耐性評価の結果や、サイドチャネル情報の状態に応じて、サンプリングレートを変化させることも可能である。
【0039】
上述した第2の実施形態を実施し、サンプリングレートをクロック周波数の定数倍とすることで、評価対象の暗号装置に関して、クロック周波数に応じたサンプリングレートでサイドチャネル情報を測定でき、データ量や処理時間を抑制しつつ、正確なサイドチャネル攻撃に対する耐性を評価することができる。
【0040】
[第3の実施形態]
続いて、本発明の第3の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0041】
本実施形態では、パラメータ設定部3に、評価対象の暗号装置1のクロック周波数、もしくは推測したクロック周波数を入力する。そして、測定に用いるサンプリングレートを、入力されたクロック周波数の10〜25倍の範囲内で設定する。
【0042】
図4は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第2の実施形態との相違点は、パラメータ設定部3により、サンプリングレートを入力されたクロック周波数の10〜25倍に設定する点である(ステップA3a→A3b)。
【0043】
上述した第3の実施形態を実施し、サンプリングレートをクロック周波数の10〜25倍とすることで、評価対象の暗号装置に関して、適したサンプリングレートでサイドチャネル情報を測定でき、データ量や処理時間を抑制しつつ、正確なサイドチャネル攻撃に対する耐性を評価することができる。
【0044】
[第4の実施形態]
続いて、本発明の第4の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0045】
本実施形態では、暗号装置1のクロック周波数をクロック周波数推定部(クロック周波数推定手段)5で推定する。この推定には、一度サイドチャネル情報測定部2で測定したサイドチャネル情報を用いる。そして、推定したクロック周波数をパラメータ設定部3に入力し、パラメータ設定部3により、クロック周波数にあわせたサンプリングレートを設定する。そして、サイドチャネル情報測定部2にて、設定したサンプリングレートで、暗号装置1から漏洩するサイドチャネル情報を測定する。
【0046】
図5は、本実施形態におけるサイドチャネル情報測定装置の構成例である。第1の実施形態の構成例との相違点は、暗号装置1のクロック周波数をサイドチャネル情報測定部2で測定したサイドチャネル情報を用い、クロック周波数推定部5で推定することにより得る点である。
【0047】
図6は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第1の実施形態の動作例との相違点は、サンプリングレートを入力する(ステップA2)代わりに、まず、パラメータ設定部3により、初期のサンプリングレートを設定(ステップA7)した後に、サイドチャネル情報測定部2により、暗号装置1から漏洩するサイドチャネル情報を測定し(ステップA4)、クロック周波数推定部5により、測定したサイドチャネル情報をもとに暗号装置1のクロック周波数を推定し(ステップA8)、パラメータ設定部3により、推定されたクロック周波数に基づいてサンプリングレートを決定する(ステップA3)点である。
【0048】
サンプリングレートの基になる暗号装置1のクロック周波数を推定する手段としては、サイドチャネル情報のパワースペクトルや周波数スペクトルなどの周波数情報から推測する方法や、基準となるサイドチャネル情報をあらかじめ用意しておき、その基準情報とサイドチャネル情報との距離や相関を求めることで、暗号装置1のクロック周波数を推測する方法などが考えられる。
【0049】
上述した第5の実施形態を実施することにより、クロック周波数が未知の暗号装置においても、サイドチャネル攻撃耐性を評価することが可能となる。また、複数の暗号装置を評価するさいに、一つ一つの暗号装置に合わせてサンプリングレートを設定せずとも、自動的にサンプリングレートを設定することが可能となる。
【0050】
[第5の実施形態]
続いて、本発明の第5の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0051】
本実施形態では、図5に示すクロック周波数推定部5にて、評価対象の暗号装置1のクロック周波数を、測定したサイドチャネル情報が持つパワースペクトルや周波数スペクトルなどの周波数情報から推測し、推測したクロック周波数からサンプリングレートを設定する。
【0052】
図7は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第4の実施形態の動作例との相違点は、暗号装置1のクロック周波数を推定する手段が、サイドチャネル情報の周波数情報にもとづく点である(ステップA8→A8a)。
【0053】
サンプリングレートの基になる暗号装置1のクロック周波数を推定する手段としては、サイドチャネル情報から得たパワースペクトルや周波数スペクトルにおいて、ピークを検出し、ピークが出現した周波数をクロック周波数とする方法が考えられる。また、別の方法として、ピークが繰り返し出現する場合には、そのピークがクロック周波数およびその高調波であるとして、ピークの間隔をクロック周波数とする方法も考えられる。
【0054】
上述した第5の実施形態を実施することにより、クロック周波数が未知の暗号装置においても、サイドチャネル攻撃耐性を評価することが可能となる。また、複数の暗号装置を評価するさいに、一つ一つの暗号装置に合わせてサンプリングレートを設定せずとも、自動的にサンプリングレートが入力されるため、サイドチャネル情報測定およびサイドチャネル攻撃耐性評価を実施することができる。
【0055】
[第6の実施形態]
続いて、本発明の第6の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0056】
本実施形態では、サイドチャネル情報測定部2にて暗号装置1から漏洩するサイドチャネル情報を、パラメータ設定部3で設定されたサンプリングレートにもとづき測定し、サイドチャネル攻撃耐性評価部(サイドチャネル攻撃耐性評価手段)6は測定したサイドチャネル情報を用いて、暗号装置1のサイドチャネル攻撃への耐性評価を実施する。
【0057】
図8は、本実施形態におけるサイドチャネル情報測定装置の構成例である。第1の実施形態との相違点は、図1に示すサイドチャネル攻撃耐性評価装置4の機能を装置内部のサイドチャネル攻撃耐性評価部6に有している点である。
【0058】
本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートに関しては、図2と同様であり、サイドチャネル攻撃耐性評価装置4によるサイドチャネル攻撃耐性評価(ステップA5)を装置内部のサイドチャネル攻撃耐性評価部6で実施する点だけが異なる。
【0059】
上述した第6の実施形態を実施することで、単一の装置にてサイドチャネル情報の測定から攻撃耐性評価までをまとめて実施することができる。また、評価結果を利用して、測定のパラメータを変更して、改めてサイドチャネル情報の測定および耐性の評価を実施するなど、評価と連動した測定も可能となる。
【0060】
なお、サイドチャネル攻撃耐性評価装置4の機能を装置内部のサイドチャネル攻撃耐性評価部6に有する構成については、第4の実施形態で述べたクロック周波数推定部5を持つ構成でも適用可能である。図9にクロック周波数推定部5を持つ場合の構成例を示す。
【0061】
[第7の実施形態]
続いて、本発明の第7の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0062】
本実施形態では、サイドチャネル攻撃耐性評価部4での評価結果をパラメータ設定部3に入力し、パラメータ設定部3により、評価結果に応じてサンプリングレートを変化させる。
【0063】
図10は、本実施形態におけるサイドチャネル情報測定装置の構成例である。第1の実施形態との相違点は、サイドチャネル攻撃耐性評価装置4によるサイドチャネル攻撃耐性評価の結果をパラメータ設定部3に渡している点である。
【0064】
図11に本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第1の実施形態の動作例との相違点は、サイドチャネル攻撃耐性評価装置4により耐タンパ性を評価(ステップA5)した後に、パラメータ設定部3により評価結果のチェックを行い(ステップA9)、評価結果が耐タンパ性ありだった場合には(ステップA9:OK)、パラメータ設定部3によるサンプリングレートの設定(ステップA3)に戻り、サイドチャネル情報の測定(ステップA4)及びサイドチャネル攻撃耐性の評価(ステップA5)を繰り返す点である。一方、評価結果が耐タンパ性なしの場合には(ステップA9:NG)、処理を終了する(ステップA6)。
【0065】
パラメータ設定部3は、クロック周波数からサンプリングレートを求めるが、周囲の環境(ノイズや測定における誤差など)や耐性評価の方法によっては、サンプリングレートが足らずに、暗号機器の秘密情報を解析できずに、耐性ありと誤って判定してしまう可能性がある。また、サンプリングレートが高すぎたため、測定すべき箇所が測定範囲から外れてしまった結果、同様に耐性ありと誤って判定してしまう可能性がある。そのため、耐性ありと判定してもサンプリングレートを再設定し、改めて測定と解析をすることで、正しい耐性評価をすることが可能となる。
【0066】
サンプリングレートを低く設定していて耐性ありと判定した場合には、パラメータ設定部3でサンプリングレートを1段階、もしくは評価結果に応じて2段階以上サンプリングレートを高くして測定と評価を実施する。そして、サンプリングレートの上限、もしくはあらかじめ設定しておいたレートでも耐性ありだと判定した場合には、たしかに評価対象の暗号機器はサイドチャネル攻撃に耐性があると判定できる。
【0067】
上述した第7の実施形態を実施することで、サンプリングレートを適応的に変化させることが可能となり、その結果、暗号機器や周囲の環境に応じた測定を実施できる。そして、より一層正確なサイドチャネル攻撃の耐性評価を実施することが可能となる。
【0068】
[第8の実施形態]
続いて、本発明の第8の実施形態を説明する。上記実施形態と同様の構成要素及び動作ステップについては、同一符号を付し、その説明を簡略又は省略する。
【0069】
本実施形態では、推測したサンプリングレートでサイドチャネル情報を測定した後、測定したサイドチャネル情報の状態をチェックし、推測したサンプリングレートが正しかったかどうか判定する。
【0070】
図12は、本実施形態におけるサイドチャネル情報測定装置の動作を示すフローチャートである。第4の実施形態との相違点は、パラメータ設定部3により、サンプリングレートを設定(ステップA3)し、サイドチャネル情報測定部2により、サイドチャネル情報を測定(ステップA4)した後に、パラメータ設定部3により、測定したサイドチャネル情報のチェックを行う(ステップA10)点である。
【0071】
この場合、サイドチャネル情報測定部2により、初期のサンプリングレートで測定した後(ステップA7〜A4)に、クロック周波数推定部5により、暗号装置1のクロック周波数を推定(ステップA8)して、パラメータ設定部3により、サンプリングレートを設定(ステップA3)する。このとき、初期のサンプリングレートがクロック周波数の2倍よりも低い場合には、クロック周波数を正しく推定できない。その理由は、クロック周波数の2倍以下の場合には、エイリアシングが発生するためである。
【0072】
そのため、サイドチャネル情報測定部2により、推定したクロック周波数に基づいてサイドチャネル情報を測定(ステップA4)した後に、パラメータ設定部3により、改めてサイドチャネル情報の状態をチェックすることで(ステップA10)、推定したクロック周波数が正しかったかどうかの確認を行う。
【0073】
サイドチャネル情報の状態をチェックする方法は、サイドチャネル情報測定部2により、推定したクロック周波数に基づいてサイドチャネル情報を測定した後に、クロック周波数推定部5により、改めてサイドチャネル情報からクロック周波数の推定を行い(ステップA8)、再推定したクロック周波数が、その前に推定していたクロック周波数と一致するかどうかで判定することができる。
【0074】
もし、一致しなかった場合(ステップA10:NG)には、前に推定したクロック周波数が正しくなかったとして、ステップA4に戻り、クロック周波数推定部5によりクロック周波数を再推定し(ステップA8)、パラメータ設定部3によりサンプリングレートを再設定し(ステップA3)、サイドチャネル情報測定部2により、再推定したクロック周波数で改めてサイドチャネル情報を測定し(ステップA8)、パラメータ設定部3により、改めてサイドチャネル情報の状態をチェックする(ステップA10)。
【0075】
その結果、一致した場合(ステップA10:OK)は、前に推定したクロック周波数が正しかったとして、サイドチャネル攻撃耐性評価装置4により、測定されたサイドチャネル情報を用いて、サイドチャネル攻撃耐性を評価する(ステップA5)。
【0076】
上述した第8の実施形態を実施することで、クロック周波数を誤って推測することによるサイドチャネル攻撃の耐性評価の精度低下を抑制することが可能となる。
【実施例1】
【0077】
次に、本発明の具体的な実施例について説明する。
【0078】
本実施例では、前述した第5の実施形態を適用し、暗号を実施可能な評価ボード(暗号装置1)においてAES(Advanced Encryption Standard)を実装し、オシロスコープ(サイドチャネル情報測定部2)を用いて、暗号処理中の評価ボードから漏洩する消費電力(サイドチャネル情報)を測定し、クロック周波数推定部5により測定した消費電力から評価ボードのクロック周波数を推定する。そして、パラメータ設定部3により推定したクロック周波数に基づいてサンプリングレートの設定を行い、設定したサンプリングレートでオシロスコープにより測定した消費電力を用いて、サイドチャネル攻撃耐性評価装置4によりサイドチャネル攻撃耐性を評価する。
【0079】
本実施例では、サンプリングレートの設定は評価ボードのクロック周波数の20倍とし、初期のサンプリングレートは1GHzとする。また、測定するのは、評価ボードの消費電力波形とする。評価ボードのクロック周波数の推定は、消費電力波形のパワースペクトルをもとめ、パワースペクトルで発生しているピークが出現する間隔をクロック周波数とする。
【0080】
また、サイドチャネル攻撃耐性評価装置4における評価方法は、差分電力解析(非特許文献2参照)を用いる。この解析を実施し、16バイトある鍵のうち何バイト正解するかによってサイドチャネル攻撃耐性の有無を判別する。
【0081】
はじめに、オシロスコープの初期のサンプリングレートとして1GHzを設定して(図7:ステップA7)、オシロスコープにより、評価ボードの消費電力波形を測定する(図7:ステップA4)。次に、クロック周波数推定部5により、測定した消費電力波形のパワースペクトルをもとめ、パワースペクトルのピーク間隔からクロック周波数を推定する(図7:ステップA8a)。
【0082】
図13に消費電力波形のパワースペクトルを示す。ここで、横軸は周波数(単位はMHz)、縦軸はパワー(単位はV^2・s/Hz)である。図13より、パワースペクトルのピークが24MHzおきに発生していることがわかる。そのため、クロック周波数推定部5は、パワースペクトルのピークを検出した結果、ピークの間隔が24MHzであることから、評価ボードのクロック周波数を24MHzと推定する。
【0083】
次に、パラメータ設定部3は、推定したクロック周波数の20倍となる480MHzをサンプリングレートとして設定する(図7:ステップA3)。ただし、オシロスコープの制限があるため、480MHzに近い500MHzをサンプリングレートとして設定する。
【0084】
次に、サンプリングレートを500MHzと設定したオシロスコープで、評価ボードの消費電力波形を測定する(図7:ステップA4)。ここで、差分電力解析を実施するために、同一のサンプリングレートで10000波形の測定を行う。
【0085】
そして、測定した10000個の消費電力波形を用いて差分電力解析を実施し、評価ボードのサイドチャネル攻撃耐性の有無を判別する。
【0086】
図14に、本発明の実施形態を利用したときの差分電力解析の解析成功率を示す。ここで、横軸は波形数、縦軸は解析成功率である。解析成功率が高いほど、評価ボードのサイドチャネル攻撃耐性は低いと判断できる。図14において、波形数の増加に伴い解析成功率は高くなり、波形数が8000〜10000個のときに解析成功率は88%に到達しており、鍵の大部分の解析に成功している。つまり、評価ボードのサイドチャネル攻撃耐性は、低いとみなすことができる。
【0087】
ここで、サンプリングレートを50MHz(約2倍)、125MHz(約5倍)、250MHz(約10倍)、500MHz(約20倍)、625MHz(約25倍)、1GHz(約40倍)、2.5GHz(約100倍)、5GHz(約200倍)としたときの解析成功率のちがいについて説明する。ここで、()の中はクロック周波数に対してサンプリングレートが何倍なのかを示している。
【0088】
図15および図16に、上記の各サンプリングレートに対する解析成功率を示す。同図中の横軸、縦軸は、図14と同様である。
【0089】
図15より、サンプリングレートが50MHzや125MHzの場合では、解析成功率がほぼ0%であり、この場合には、サイドチャネル攻撃耐性は有ると誤って判定される。一方、サンプリングレートを250MHz以上にした場合では、図15および図16に示すように、解析成功率の上昇の仕方にちがいが見られるものの、いずれの場合も10000波形で解析成功率は80%以上を示しており、サイドチャネル攻撃耐性はないと判定することができる。このように、サンプリングレートをクロック周波数に対して100倍や200倍など極めて高く設定しても、例えば10〜25倍など低く設定した場合と比べて、耐性評価の精度はさほど変わらないことがわかる。
【0090】
したがって、クロック周波数がわかっている、もしくは推測することができるならば、それに合わせたサンプリングレートを設定することで、データ量や計算時間などのコストを抑えつつ、十分な精度をもった耐性評価を実施できるサイドチャネル情報の測定が可能となる。
【0091】
例えば、1データのサイズがサンプリングレートを5GHzで測定した場合に10Mバイトあった場合に、解析に必要なデータ量は、10M*10000波形で100Gバイト必要になる。これに対し、本実施例を適用し、サンプリングレートを500MHzで測定した場合には、1データのサイズを1/10の1Mバイトにでき、解析に必要なデータ量も10Gバイトにすることができる。また、データ量が少ないことで、計算時間を短縮することができる。
【0092】
なお、本発明の上記各実施形態であるサイドチャネル情報測定装置の各部(各手段)は、ハードウェア、ソフトウェア、およびそれらの組み合わせによって実現することができる。
【0093】
例えば、本発明の上記各実施形態によるサイドチャネル情報測定装置は、ハードウェアによっても実現することができるが、コンピュータをその装置として機能させるためのプログラムを、コンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0094】
また、本発明の上記各実施形態によるサイドチャネル情報測定方法は、ハードウェアによっても実現することができるが、コンピュータにその方法を実行させるためのプログラムを、コンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【0095】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0096】
以上説明したように、本発明は、暗号装置から漏洩するサイドチャネル情報を測定する時のパラメータを、サイドチャネル攻撃への耐性評価を実施するのに適したものに設定する機能を有するサイドチャネル情報測定装置、その方法及びそのプログラム等に利用可能である。
【符号の説明】
【0097】
1 暗号装置
2 サイドチャネル情報測定部
3 パラメータ設定部
4 サイドチャネル攻撃耐性評価装置
5 クロック周波数推定部
6 サイドチャネル攻撃耐性評価部

【特許請求の範囲】
【請求項1】
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定手段と、
前記サイドチャネル情報測定手段の測定におけるサンプリングレートを、前記暗号装置のクロック周波数に基づいて設定するパラメータ設定手段とを備えることを特徴とするサイドチャネル情報測定装置。
【請求項2】
請求項1記載のサイドチャネル情報測定装置において、
前記パラメータ設定手段が、前記サンプリングレートを前記クロック周波数の定数倍に設定することを特徴とするサイドチャネル情報測定装置。
【請求項3】
請求項1又は2記載のサイドチャネル情報測定装置において、
前記パラメータ設定手段が、前記サンプリングレートを前記クロック周波数の10〜25倍に設定することを特徴とするサイドチャネル情報測定装置。
【請求項4】
請求項1乃至3のいずれか1項に記載のサイドチャネル情報測定装置において、
前記サイドチャネル情報測定手段の測定で得られたサイドチャネル情報に基づいて、前記暗号装置のクロック周波数を推定するクロック周波数推定手段をさらに備え、
前記パラメータ設定手段が、推定された前記クロック周波数に基づいて、前記サイドチャネル情報測定手段の測定におけるサンプリングレートを設定することを特徴とするサイドチャネル情報測定装置。
【請求項5】
請求項4記載のサイドチャネル情報測定装置において、
前記クロック周波数推定手段が、前記サイドチャネル情報の周波数スペクトルもしくはパワースペクトルに基づいて前記暗号装置のクロック周波数を推定することを特徴とするサイドチャネル情報測定装置。
【請求項6】
請求項1乃至5のいずれか1項に記載のサイドチャネル情報測定装置において、
前記サイドチャネル情報測定手段の測定で得られたサイドチャネル情報を用いて、前記評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価手段をさらに備えることを特徴とするサイドチャネル情報測定装置。
【請求項7】
請求項6記載のサイドチャネル情報測定装置において、
前記パラメータ設定手段が、前記サイドチャネル攻撃耐性評価手段における評価結果に応じて、前記サンプリングレートを変動させることを特徴とするサイドチャネル情報測定装置。
【請求項8】
請求項4乃至7のいずれか1項に記載のサイドチャネル情報測定装置において、
前記パラメータ設定手段が、前記サイドチャネル情報測定手段によって得られたサイドチャネル情報の状態をチェックし、チェックの結果に応じて前記サンプリングレートを再設定することを特徴とするサイドチャネル情報測定装置。
【請求項9】
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定ステップと、
前記サイドチャネル情報測定手段の測定におけるサンプリングレートを、前記暗号装置のクロック周波数に基づいて設定するパラメータ設定ステップとを備えることを特徴とするサイドチャネル情報測定方法。
【請求項10】
請求項9記載のサイドチャネル情報測定方法において、
前記パラメータ設定ステップが、前記サンプリングレートを前記クロック周波数の定数倍に設定することを特徴とするサイドチャネル情報測定方法。
【請求項11】
請求項9又は10記載のサイドチャネル情報測定方法において、
前記パラメータ設定ステップが、前記サンプリングレートを前記クロック周波数の10〜25倍に設定することを特徴とするサイドチャネル情報測定方法。
【請求項12】
請求項9乃至11のいずれか1項に記載のサイドチャネル情報測定方法において、
前記サイドチャネル情報測定ステップの測定で得られたサイドチャネル情報に基づいて、前記暗号装置のクロック周波数を推定するクロック周波数推定ステップをさらに備え、
前記パラメータ設定ステップが、推定された前記クロック周波数に基づいて、前記サイドチャネル情報測定ステップの測定におけるサンプリングレートを設定することを特徴とするサイドチャネル情報測定方法。
【請求項13】
請求項12記載のサイドチャネル情報測定方法において、
前記クロック周波数推定ステップが、前記サイドチャネル情報の周波数スペクトルもしくはパワースペクトルに基づいて前記暗号装置のクロック周波数を推定することを特徴とするサイドチャネル情報測定方法。
【請求項14】
請求項9乃至13のいずれか1項に記載のサイドチャネル情報測定方法において、
前記サイドチャネル情報測定ステップの測定で得られたサイドチャネル情報を用いて、前記評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価ステップをさらに備えることを特徴とするサイドチャネル情報測定方法。
【請求項15】
請求項14記載のサイドチャネル情報測定方法において、
前記パラメータ設定ステップが、前記サイドチャネル攻撃耐性評価ステップにおける評価結果に応じて、前記サンプリングレートを変動させることを特徴とするサイドチャネル情報測定方法。
【請求項16】
請求項12乃至15のいずれか1項に記載のサイドチャネル情報測定方法において、
前記パラメータ設定ステップが、前記サイドチャネル情報測定ステップによって得られたサイドチャネル情報の状態をチェックし、チェックの結果に応じて前記サンプリングレートを再設定することを特徴とするサイドチャネル情報測定方法。
【請求項17】
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定機能と、
前記サイドチャネル情報測定機能の測定におけるサンプリングレートを、前記暗号装置のクロック周波数に基づいて設定するパラメータ設定機能とをコンピュータに実現させることを特徴とするサイドチャネル情報測定プログラム。
【請求項18】
請求項17記載のサイドチャネル情報測定プログラムにおいて、
前記パラメータ設定機能が、前記サンプリングレートを前記クロック周波数の定数倍に設定することを特徴とするサイドチャネル情報測定プログラム。
【請求項19】
請求項17又は18記載のサイドチャネル情報測定プログラムにおいて、
前記パラメータ設定機能が、前記サンプリングレートを前記クロック周波数の10〜25倍に設定することを特徴とするサイドチャネル情報測定プログラム。
【請求項20】
請求項17乃至19のいずれか1項に記載のサイドチャネル情報測定プログラムにおいて、
前記サイドチャネル情報測定機能の測定で得られたサイドチャネル情報に基づいて、前記暗号装置のクロック周波数を推定するクロック周波数推定機能をさらにコンピュータに実現させ、
前記パラメータ設定機能が、推定された前記クロック周波数に基づいて、前記サイドチャネル情報測定機能の測定におけるサンプリングレートを設定することを特徴とするサイドチャネル情報測定プログラム。
【請求項21】
請求項20記載のサイドチャネル情報測定プログラムにおいて、
前記クロック周波数推定機能が、前記サイドチャネル情報の周波数スペクトルもしくはパワースペクトルに基づいて前記暗号装置のクロック周波数を推定することを特徴とするサイドチャネル情報測定プログラム。
【請求項22】
請求項17乃至21のいずれか1項に記載のサイドチャネル情報測定プログラムにおいて、
前記サイドチャネル情報測定機能の測定で得られたサイドチャネル情報を用いて、前記評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価機能をさらにコンピュータに実現させることを特徴とするサイドチャネル情報測定プログラム。
【請求項23】
請求項22記載のサイドチャネル情報測定プログラムにおいて、
前記パラメータ設定機能が、前記サイドチャネル攻撃耐性評価機能における評価結果に応じて、前記サンプリングレートを変動させることを特徴とするサイドチャネル情報測定プログラム。
【請求項24】
請求項20乃至23のいずれか1項に記載のサイドチャネル情報測定プログラムにおいて、
前記パラメータ設定機能が、前記サイドチャネル情報測定機能によって得られたサイドチャネル情報の状態をチェックし、チェックの結果に応じて前記サンプリングレートを再設定することを特徴とするサイドチャネル情報測定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−273263(P2010−273263A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2009−125308(P2009−125308)
【出願日】平成21年5月25日(2009.5.25)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】