(57)【特許請求の範囲】
【請求項１】
暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価装置において、
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定手段と、
前記サイドチャネル情報測定手段において得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理手段と、
前記信号処理手段において出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定手段と、
を備えることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項２】
請求項１に記載のサイドチャネル攻撃耐性評価装置において、
前記信号処理手段が、サイドチャネル情報の平均値に基づく平均値フィルタ、サイドチャネル情報のメジアンに基づくメジアンフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数に基づいて決定する周波数フィルタ、又は、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項３】
請求項２に記載のサイドチャネル攻撃耐性評価装置において、
前記周波数フィルタが、通過帯域の上限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以下とするローパスフィルタ、通過帯域の下限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以上とするハイパスフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするバンドパスフィルタ、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするノッチフィルタ、又は、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタであることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項４】
請求項１に記載のサイドチャネル攻撃耐性評価装置において、
前記信号処理手段が、ウェーブレット変換に基づくフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のサイドチャネル攻撃耐性評価装置において、
前記信号処理手段が、前記サイドチャネル情報測定手段で得られたサイドチャネル情報の特徴量を算出し、算出した特徴量に基づいて実施する信号処理のパラメータを決定する手段を備えることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項６】
請求項５記載のサイドチャネル攻撃耐性評価装置において、
前記サイドチャネル情報測定手段で得られたサイドチャネル情報のパワースペクトルのピークを前記特徴量とすることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のサイドチャネル攻撃耐性評価装置において、
前記信号処理手段が、前記サイドチャネル攻撃耐性判定手段の判定結果から、信号処理のパラメータを変動させる手段を備えることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項８】
請求項７に記載のサイドチャネル攻撃耐性評価装置であって、
前記サイドチャネル攻撃判定手段の中間判定結果が、攻撃耐性ありを示している場合に、前記信号処理のパラメータを、攻撃耐性が弱いという判定結果が得られやすくなるように変更することを繰り返し、前記信号処理のパラメータが所定の限界値に達しても、前記サイドチャネル攻撃判定手段の中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項９】
請求項１に記載のサイドチャネル攻撃耐性評価装置であって、
前記信号処理手段が、サイドチャネル情報のメジアンに基づくメジアンフィルタを用いて信号処理を実施し、
前記信号処理手段が、前記サイドチャネル攻撃耐性判定手段の判定結果から、前記メジアンフィルタの窓幅を変動させ、
前記サイドチャネル攻撃判定手段の中間判定結果が、攻撃耐性ありを示している場合に、前記メジアンフィルタの窓幅を広くなるように変更することを繰り返し、前記メジアンフィルタの窓幅が所定の限界値に達しても、前記サイドチャネル攻撃判定手段の中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項１０】
請求項９に記載のサイドチャネル攻撃耐性評価装置であって、
前記サイドチャネル攻撃判定手段の中間判定結果が、攻撃耐性ありを示し、前記メジアンフィルタの窓幅を広くなるように変更する場合において、直前の耐性評価の際に算出された、前記信号処理手段において出力された信号処理済みのサイドチャネル情報と、基準波形との間の相関の最大値に従って、窓幅を増加させることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項１１】
暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価方法において、
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定ステップと、
前記サイドチャネル情報測定ステップにおいて得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理ステップと、
前記信号処理ステップにおいて出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定ステップと、
を備えることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１２】
請求項１１に記載のサイドチャネル攻撃耐性評価方法において、
前記信号処理ステップが、サイドチャネル情報の平均値に基づく平均値フィルタ、サイドチャネル情報のメジアンに基づくメジアンフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数に基づいて決定する周波数フィルタ、又は、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１３】
請求項１２に記載のサイドチャネル攻撃耐性評価方法において、
前記周波数フィルタが、通過帯域の上限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以下とするローパスフィルタ、通過帯域の下限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以上とするハイパスフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするバンドパスフィルタ、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするノッチフィルタ、又は、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタであることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１４】
請求項１１に記載のサイドチャネル攻撃耐性評価方法において、
前記信号処理ステップが、ウェーブレット変換に基づくフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１５】
請求項１１乃至１４のいずれか１項に記載のサイドチャネル攻撃耐性評価方法において、
前記信号処理ステップが、前記サイドチャネル情報測定ステップで得られたサイドチャネル情報の特徴量を算出し、算出した特徴量に基づいて実施する信号処理のパラメータを決定するステップを備えることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１６】
請求項１５記載のサイドチャネル攻撃耐性評価方法において、
前記サイドチャネル情報測定ステップで得られたサイドチャネル情報のパワースペクトルのピークを前記特徴量とすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１７】
請求項１１乃至１６のいずれか１項に記載のサイドチャネル攻撃耐性評価方法において、
前記信号処理ステップが、前記サイドチャネル攻撃耐性判定ステップの判定結果から、信号処理のパラメータを変動させるステップを備えることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１８】
請求項１７に記載のサイドチャネル攻撃耐性評価方法であって、
前記サイドチャネル攻撃判定ステップの中間判定結果が、攻撃耐性ありを示している場合に、前記信号処理のパラメータを、攻撃耐性が弱いという判定結果が得られやすくなるように変更することを繰り返し、前記信号処理のパラメータが所定の限界値に達しても、前記サイドチャネル攻撃判定ステップの中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１９】
請求項１１に記載のサイドチャネル攻撃耐性評価方法であって、
前記信号処理ステップが、サイドチャネル情報のメジアンに基づくメジアンフィルタを用いて信号処理を実施し、
前記信号処理ステップが、前記サイドチャネル攻撃耐性判定手段の判定結果から、前記メジアンフィルタの窓幅を変動させ、
前記サイドチャネル攻撃判定ステップの中間判定結果が、攻撃耐性ありを示している場合に、前記メジアンフィルタの窓幅を広くなるように変更することを繰り返し、前記メジアンフィルタの窓幅が所定の限界値に達しても、前記サイドチャネル攻撃判定ステップの中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項２０】
請求項１９に記載のサイドチャネル攻撃耐性評価方法であって、
前記サイドチャネル攻撃判定ステップの中間判定結果が、攻撃耐性ありを示し、前記メジアンフィルタの窓幅を広くなるように変更する場合において、直前の耐性評価の際に算出された、前記信号処理ステップにおいて出力された信号処理済みのサイドチャネル情報と、基準波形との間の相関の最大値に従って、窓幅を増加させることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項２１】
暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価プログラムにおいて、
評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定機能と、
前記サイドチャネル情報測定機能において得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理機能と、
前記信号処理機能において出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定機能と、
をコンピュータに実現させることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２２】
請求項２１に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記信号処理機能が、サイドチャネル情報の平均値に基づく平均値フィルタ、サイドチャネル情報のメジアンに基づくメジアンフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数に基づいて決定する周波数フィルタ、又は、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２３】
請求項２２に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記周波数フィルタが、通過帯域の上限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以下とするローパスフィルタ、通過帯域の下限をサイドチャネル情報のパワースペクトルのピーク位置の周波数以上とするハイパスフィルタ、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするバンドパスフィルタ、減衰帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするノッチフィルタ、又は、通過帯域をサイドチャネル情報のパワースペクトルのピーク位置の周波数近傍とするマルチバンドフィルタであることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２４】
請求項２１に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記信号処理機能が、ウェーブレット変換に基づくフィルタを用いて信号処理を実施することを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２５】
請求項２１乃至２４のいずれか１項に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記信号処理機能が、前記サイドチャネル情報測定機能で得られたサイドチャネル情報の特徴量を算出し、算出した特徴量に基づいて実施する信号処理のパラメータを決定する機能をコンピュータに実現させることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２６】
請求項２５記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記サイドチャネル情報測定機能で得られたサイドチャネル情報のパワースペクトルのピークを前記特徴量とすることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２７】
請求項２１乃至２６のいずれか１項に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記信号処理機能が、前記サイドチャネル攻撃耐性判定機能の判定結果から、信号処理のパラメータを変動させる機能をコンピュータに実現させることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２８】
請求項２７に記載のサイドチャネル攻撃耐性評価プログラムであって、
前記サイドチャネル攻撃判定機能の中間判定結果が、攻撃耐性ありを示している場合に、前記信号処理のパラメータを、攻撃耐性が弱いという判定結果が得られやすくなるように変更することを繰り返し、前記信号処理のパラメータが所定の限界値に達しても、前記サイドチャネル攻撃判定機能の中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２９】
請求項２１に記載のサイドチャネル攻撃耐性評価プログラムであって、
前記信号処理機能が、サイドチャネル情報のメジアンに基づくメジアンフィルタを用いて信号処理を実施し、
前記信号処理機能が、前記サイドチャネル攻撃耐性判定機能の判定結果から、前記メジアンフィルタの窓幅を変動させ、
前記サイドチャネル攻撃判定機能の中間判定結果が、攻撃耐性ありを示している場合に、前記メジアンフィルタの窓幅を広くなるように変更することを繰り返し、前記メジアンフィルタの窓幅が所定の限界値に達しても、前記サイドチャネル攻撃判定機能の中間判定結果が、攻撃耐性ありを示している場合に、最終判定結果として、攻撃耐性ありとすることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項３０】
請求項２９に記載のサイドチャネル攻撃耐性評価プログラムであって、
前記サイドチャネル攻撃判定機能の中間判定結果が、攻撃耐性ありを示し、前記メジアンフィルタの窓幅を広くなるように変更する場合において、直前の耐性評価の際に算出された、前記信号処理機能において出力された信号処理済みのサイドチャネル情報と、基準波形との間の相関の最大値に従って、窓幅を増加させることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号装置から漏洩するサイドチャネル情報に基づいて、サイドチャネル攻撃への耐性評価を実施するサイドチャネル攻撃耐性評価装置、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
情報の電子データ化が進む中で、情報の保護、秘匿な通信において、暗号はかかせない技術となっている。暗号はその安全性を保つために、鍵等の秘匿情報が容易に推測できないようにする必要がある。ここで暗号解析方法として、鍵の全数探索や数学的に解読を行う線形解読や、差分解読等といった方法が知られているが、これらの方法では、現実的な時間での解析は不可能な状況である。【０００３】
その一方で、暗号機能付きのＩＣカードや、携帯端末などの暗号を実装した装置において、攻撃者が処理時間や消費電力などのサイドチャネル情報を精密に測定できるとの仮定の下で、サイドチャネル情報から秘匿情報の取得を試みるサイドチャネル攻撃とその対策が大きな研究テーマとなっている。【０００４】
サイドチャネル情報には、攻撃対象である暗号装置内で実行されている処理やデータに関する情報が含まれており、サイドチャネル情報を解析することで、暗号化の内部処理や秘匿情報を解析することが可能となる。例えば、暗号アルゴリズム、処理タイミング、秘密鍵の推定が可能である。【０００５】
前記サイドチャネル攻撃の具体的な攻撃方法としては、処理時間に注目したタイミング攻撃（非特許文献１参照）や消費電力に注目した電力解析（非特許文献２参照）、漏洩電磁波に注目した電磁波解析（非特許文献３参照）等が知られている。【０００６】
このように、サイドチャネル攻撃は広く知られていることから、暗号を実装した装置においては、実用上、サイドチャネル攻撃に対する攻撃耐性（以下「耐タンパ性」と表記する。）が求められる。そのため、サイドチャネル情報から暗号アルゴリズムなどの秘匿情報の推定をすることを困難にする耐タンパ技術の研究が進められている。【０００７】
ここで、耐タンパ性とは攻撃に対して、秘匿情報の漏洩や機能の改変を防ぐ性能のことである。
【特許文献１】特開２００７−１１６２１５号公報
【非特許文献１】P. Kocher “Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems,” Crypto’96, pp.101-113, 1996.
【非特許文献２】P. Kocher, J. Jaffe and B. Jun, “Introduction to Differential Power Analysis and Related Attacks,” 1998.
【非特許文献３】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.
【非特許文献４】今井秀樹“情報セキュリティ  −安全・安心な社会のために−”，電子情報通信学会誌，2007年,Vol.90,No.5,pp.334-339
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この点、耐タンパ技術として、恣意的にサイドチャネル情報に不要な情報を付加することで、サイドチャネル情報から秘匿情報の漏洩を防ぐ耐タンパ手法（特許文献１参照）等が提案されている。ここで、上記のような耐タンパ手法を適用することで実際にサイドチャネル攻撃への耐性が向上しているか、耐タンパ手法の有効性を評価する必要がある。【０００９】
また、実装された暗号装置が本当に安全なのか確認するため、サイドチャネル攻撃に対する耐性を評価する技術が求められている（非特許文献４参照）。【００１０】
しかしながら、サイドチャネル攻撃耐性を評価する際に、測定ノイズや環境ノイズなど不要な情報がサイドチャネル情報に加わることで、耐性評価に使用する秘匿情報を示す特徴をサイドチャネル情報から抽出できないことがある。よって、正確にサイドチャネル攻撃耐性を評価するためには、サイドチャネル情報に含まれる不要な情報を除去する必要がある。【００１１】
そこで、本発明は、サイドチャネル情報上の不要な情報による耐性評価の精度低下を抑制し、暗号機器に対するサイドチャネル攻撃の可否を正確に評価可能なサイドチャネル攻撃耐性評価装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の観点によれば、装置として暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価装置において、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定手段と、前記サイドチャネル情報測定手段において得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理手段と、前記信号処理手段において出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定手段と、を備えることを特徴とするサイドチャネル攻撃耐性評価装置が提供される。
【００１３】
本発明の第２の観点によれば、方法として暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価方法において、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定ステップと、前記サイドチャネル情報測定ステップにおいて得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理ステップと、前記信号処理ステップにおいて出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定ステップと、を備えることを特徴とするサイドチャネル攻撃耐性評価方法が提供される。
【００１４】
本発明の第３の観点によれば、プログラムとして暗号装置から漏洩するサイドチャネル情報を用いて行われるサイドチャネル攻撃に対しての耐性評価をする、サイドチャネル攻撃耐性評価プログラムにおいて、評価対象の暗号装置から発生するサイドチャネル情報を測定するサイドチャネル情報測定機能と、前記サイドチャネル情報測定機能において得られたサイドチャネル情報に対し、ノイズ削減のための信号処理を施し、信号処理済みのサイドチャネル情報を出力する信号処理機能と、前記信号処理機能において出力された信号処理済みのサイドチャネル情報と、基準波形とに基づいて、評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性判定機能と、をコンピュータに実現させることを特徴とするサイドチャネル攻撃耐性評価プログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、サイドチャネル情報に含まれるノイズなどの不要な情報を除去することで、サイドチャネル情報からの評価に使用する特徴抽出が容易となり、評価対象のサイドチャネル攻撃耐性の評価精度が向上させることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用可能なサイドチャネル攻撃耐性評価装置の概略構成図である
【図２】本発明の第１の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図３】本発明の第２の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図４】本発明の第３の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図５】本発明の第４の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図６】本発明の第５の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図７】本発明の第６の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図８】本発明の第７の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図９】本発明の第８の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１０】本発明の第９の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１１】本発明の第１０の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１２】本発明の第１１の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１３】本発明の第１２の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１４】本発明の第１３の実施形態に係るサイドチャネル攻撃耐性判定手段を示したフローチャートである。
【図１５】実施例１において、サイドチャネル攻撃耐性評価装置で使用する基準波形を表す図である。
【図１６】ＡＥＳ暗号処理時の電磁波測定波形を表す図である。
【図１７】ＡＥＳ暗号処理時の電磁波測定波形におけるパワースペクトル波形を表す図である。
【図１８】ＡＥＳ暗号処理時の電磁波測定波形に対するバンドパスフィルタ適用波形を表す図である。
【図１９】ＡＥＳ暗号処理時の電磁波測定波形に対するバンドパスフィルタ適用波形と基準波形との相関算出結果を表す図である。
【図２０】Ａ５／１暗号処理を１００回測定したときの電力波形の平均波形を表す図である。
【図２１】Ａ５／１暗号処理を１００回測定したときの電力波形の平均波形に対する、窓幅１０１のメジアンフィルタ適用波形を表す図である。
【図２２】Ａ５／１暗号処理時の電力測定波形を表す図である。
【図２３】Ａ５／１暗号処理時の電力測定波形に対する窓幅３のメジアンフィルタ適用波形を表す図である。
【図２４】Ａ５／１暗号処理時の電力測定波形（窓幅３のメジアンフィルタ適用）と基準波形との相関算出結果を表す図である。
【図２５】メジアンフィルタを適用したＡ５／１暗号処理時の電力測定波形と基準波形との相関において、メジアンフィルタの窓幅を変化させたときの相関値の変化を表す図である。
【図２６】Ａ５／１暗号処理時の電力測定波形に対する窓幅５５のメジアンフィルタ適用波形を表す図である。
【図２７】Ａ５／１暗号処理時の電力測定波形（窓幅５５のメジアンフィルタ適用）と基準波形との相関算出結果を表す図である。
【図２８】Ａ５／１暗号処理時の電力測定波形（メジアンフィルタ非適用）と基準波形との相関算出結果を表す図である。
【符号の説明】
【００１７】
１  暗号装置
２  サイドチャネル情報測定装置
３  信号処理部
４  サイドチャネル攻撃耐性評価部
【発明を実施するための最良の形態】
【００１８】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。【００１９】
図１は本発明を適用可能なサイドチャネル攻撃耐性評価装置の概略構成を表した図である。【００２０】
図１を参照すると、サイドチャネル攻撃耐性評価装置は、評価対象の暗号装置１と、サイドチャネル情報測定装置２と、信号処理部３と、サイドチャネル攻撃耐性評価部４を含む。【００２１】
暗号装置１は、平文に対する暗号化や暗号文に対する復号化等の暗号化・復号処理を行う装置である。暗号装置１としては、暗号化・復号処理を実行する種々の情報処理装置が採用可能である。例えば、パーソナルコンピュータ（ＰＣ）、携帯端末、接触型および非接触型のＩＣカード、リーダライタ等がある。【００２２】
サイドチャネル情報測定装置２は、暗号装置１が暗号化・復号処理を実施する際に漏洩するサイドチャネル情報を測定する装置である。【００２３】
サイドチャネル情報としては、暗号装置において内部の処理に影響を受ける種々の情報が採用可能である。例えば、電力、電磁波、音、温度等が例示できる。もし、電磁波をサイドチャネル情報として用いる場合は、サイドチャネル情報測定装置２としては、オシロスコープやスペクトラムアナライザ等を採用可能である。【００２４】
信号処理部３は、サイドチャネル情報測定装置２から入力されるサイドチャネル情報に対し、パラメータに基づいて信号処理を実施する。【００２５】
信号処理としては、例えば、平均値に基づくフィルタやメジアンに基づくフィルタ、周波数フィルタによる信号処理があげられる。また、信号処理としては、例えば、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、ノッチフィルタ、マルチバンドフィルタ、ウェーブレット変換に基づくフィルタ等を用いた信号処理があげられる。【００２６】
また、信号処理のパラメータとしては、例えば、（１）適用する信号処理手法、（２）フィルタの窓幅や荷重、段数、（３）周波数領域での通過／阻止帯域、（４）ウェーブレットのレベルや基底、閾値などがあげられる。【００２７】
これらのパラメータは事前に評価者が設定するか、あらかじめサイドチャネル攻撃耐性評価装置に設定しておくことになる。また、信号処理部３に、「サイドチャネル情報測定装置２から入力されるサイドチャネル情報」もしくは「サイドチャネル攻撃耐性評価部４の判定結果」に応じて上記パラメータを変更する機能を持たせることも可能である。【００２８】
サイドチャネル攻撃耐性評価部４は、信号処理部３から入力される信号処理済みサイドチャネル情報に対して、サイドチャネル攻撃への耐性評価を実施する。【００２９】
評価方法として、信号処理済みサイドチャネル情報に対してサイドチャネル攻撃を行い、攻撃が成功するか否かの判定結果を利用する方法や、基準波形との相関や距離、および類似度を利用する方法等があげられる。なお、サイドチャネル攻撃の方法としては、タイミング攻撃、電磁波解析、単純電力解析、差分電力解析、故障利用攻撃、キャッシュ攻撃、音響解析攻撃等が例示できる。【００３０】
なお、耐性評価を実施するにあたり、複数のサイドチャネル情報を必要とする場合には、サイドチャネル情報測定装置２での測定、および信号処理部３での処理を複数回行うことで、複数のサイドチャネル情報を取得することが可能である。また、信号処理部３が耐性評価の内容に応じてパラメータを変更する機能を有している場合、サイドチャネル攻撃耐性評価部４は、サイドチャネル攻撃の耐性評価の内容（耐性の有無、相関値、距離、類似度等）を信号処理部３に伝播する手段を有する。【００３１】
次に、上述のように構成されたサイドチャネル攻撃耐性評価装置の動作について説明する。【００３２】
まず信号処理部３で用いるパラメータを設定する。更に、サイドチャネル攻撃耐性評価部４で用いる評価方法を決定する。【００３３】
その後、評価対象である暗号装置１にて暗号処理を実行すると共に、サイドチャネル情報測定装置２にて暗号装置１から漏洩するサイドチャネル情報を測定する。測定したサイドチャネル情報は、信号処理部３で処理され不要な情報が除去された信号処理済みサイドチャネル情報をサイドチャネル攻撃耐性評価部４に出力する。【００３４】
最後に、サイドチャネル攻撃耐性評価部４が、信号処理済みサイドチャネル情報を用いて、暗号装置１のサイドチャネル攻撃への耐性評価を実施する。【００３５】
［第１の実施形態］
続いて説明する本発明の第１の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に対して事前に決められたパラメータを用いて信号処理を実施する。また、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００３６】
図２は本発明の実施形態１におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００３７】
まず、判定処理が開始されると（ステップＡ１）、サイドチャネル情報をサイドチャネル情報測定装置２に入力する（ステップＡ２）。【００３８】
サイドチャネル情報の入力が終了すると、信号処理部３が、事前に決められたパラメータに基づいて、入力されたサイドチャネル情報に対し信号処理を実施する（ステップＡ３）。【００３９】
信号処理が終了すると、サイドチャネル攻撃耐性評価部４が、信号処理済サイドチャネル情報を用いてサイドチャネル攻撃耐性を評価する（ステップＡ４）。【００４０】
評価の結果、耐性ありと判定された場合、暗号装置１にはサイドチャネル攻撃耐性ありと判定し終了する（ステップＡ５、Ａ６）。【００４１】
一方、評価の結果、耐性なしと判定された場合、暗号装置１にはサイドチャネル攻撃耐性なしと判定し終了する（ステップＡ７、Ａ８）。【００４２】
上述した第１の実施形態を実施することにより、サイドチャネル情報に不要な情報が加わっている場合でも、信号処理を実施することで不要な情報が除去されるため、耐性評価に使用する特徴をサイドチャネル情報から抽出することが容易となる。したがって、サイドチャネル攻撃耐性の評価精度が向上する。ここで、評価精度としては、例えば、判定結果の正答率や、ある正答率を得るために必要なデータ数等があげられる。そして、正答率が向上もしくは必要なデータ数が減少すれば評価精度は向上したといえる。すなわち、本発明の実施形態を用いることにより、同じデータ数に基づき解析をした場合であっても、本実施形態を用いない場合と比較して、正答率が向上するという効果を奏する。また同じ正答率を得るために必要な測定データ数を削減できるという効果を奏する。【００４３】
また、暗号装置１に耐タンパ手法を適用した場合、適用した耐タンパ手法が暗号装置１において有効か否かを評価することが可能である。もし、信号処理部３において不要な情報が除去されることで、サイドチャネル攻撃耐性評価部４において、耐性なしと判定されるようならば耐タンパ手法の有効性は低いと言える。一方、信号処理部３で処理されてもサイドチャネル攻撃耐性評価部４において、耐性ありと判定されれば、耐タンパ手法の有効性は高いと言える。【００４４】
［第２の実施形態］
続いて説明する本発明の第２の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、サイドチャネル情報の平均値に基づくフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００４５】
図３は本発明の実施形態２におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００４６】
第１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、平均値に基づくフィルタを適用する点である（ステップＡ３−１）。【００４７】
サイドチャネル情報に平均値に基づくフィルタを適用することで、サイドチャネル情報の平滑化がなされ、ノイズ等の不要な情報を抑制することが可能である。特に、不要な情報がガウス性ノイズであるときに、平均値に基づくフィルタを適用する本実施形態は有効である。不要な情報が抑制されることで、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００４８】
［第３の実施形態］
続いて説明する本発明の第３の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、サイドチャネル情報のメジアンに基づくフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００４９】
図４は本発明の実施形態３におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００５０】
第１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、メジアンに基づくフィルタを適用する点である（ステップＡ３−２）。【００５１】
サイドチャネル情報にメジアンに基づくフィルタを適用することで、サイドチャネル情報に含まれるノイズ等の不要な情報を抑制することが可能である。特に、不要な情報がインパルス性ノイズであるときに、メジアンに基づくフィルタを適用する本実施形態は有効である。不要な情報が抑制されることで、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００５２】
［第４の実施形態］
続いて説明する本発明の第４の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、周波数フィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００５３】
図５は本発明の実施形態４におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００５４】
第１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、周波数フィルタを適用する点である（ステップＡ３−３）。【００５５】
サイドチャネル情報に周波数フィルタを適用しサイドチャネル情報に含まれる不要な情報の周波数帯を減衰させる一方、必要な情報の帯域を通過させることで、サイドチャネル情報上の必要な情報を保存しつつ、不要な情報を抑制することが可能である。不要な情報が抑制されることで、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００５６】
［第５の実施形態］
続いて説明する本発明の第５の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、ローパスフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００５７】
図６は本発明の実施形態５におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００５８】
第４の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、ローパスフィルタを適用する点である（ステップＡ３−３ａ）。【００５９】
サイドチャネル情報にローパスフィルタを適用しサイドチャネル情報に含まれる不要な情報の周波数帯を減衰させることで、サイドチャネル情報に含まれる不要な情報を抑制することが可能である。特に、高周波帯域に不要な情報が加わっているとき、ローパスフィルタを適用する本実施形態は有効である。不要な情報が抑制されることで、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００６０】
［第６の実施形態］
続いて説明する本発明の第６の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、ハイパスフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００６１】
図７は本発明の実施形態６におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００６２】
第４の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、ハイパスフィルタを適用する点である（ステップＡ３−３ｂ）。【００６３】
サイドチャネル情報にハイパスフィルタを適用しサイドチャネル情報に含まれる不要な情報の周波数帯を減衰させることで、サイドチャネル情報に含まれる不要な情報を抑制することが可能である。特に、評価に必要な特徴がインパルスとして現れる場合には、必要な情報は高周波帯域に存在している。よって、ハイパスフィルタを適用することで、不要な低周波帯域の成分が抑制され、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００６４】
［第７の実施形態］
続いて説明する本発明の第７の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、バンドパスフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００６５】
図８は本発明の実施形態７におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００６６】
第４の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、バンドパスフィルタを適用する点である（ステップＡ３−３ｃ）。【００６７】
サイドチャネル情報にバンドパスフィルタを適用しサイドチャネル情報上の必要な情報のみ通過させることで、サイドチャネル情報に含まれる不要な情報を抑制することが可能である。特に、評価に必要な特徴が、ある帯域の周波数で表現されるとき、その帯域のみ通過させることで、不要な情報が抑制され、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００６８】
［第８の実施形態］
続いて説明する本発明の第８の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、ノッチフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００６９】
図９は本発明の実施形態８におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００７０】
第４の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、ノッチフィルタを適用する点である（ステップＡ３−３ｄ）。【００７１】
サイドチャネル情報にノッチフィルタを適用しサイドチャネル情報に含まれる不要な情報の周波数帯を減衰させることで、サイドチャネル情報に含まれる不要な情報を抑制することが可能である。特に、不要な情報が特定の帯域に集中しているとき、その帯域のみ減衰させることで、不要な情報が抑制され、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００７２】
［第９の実施形態］
続いて説明する本発明の第９の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、マルチバンドフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００７３】
図１０は本発明の実施形態９におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００７４】
第４の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、マルチバンドフィルタを適用する点である（ステップＡ３−３ｅ）。【００７５】
サイドチャネル情報にマルチバンドフィルタを適用しサイドチャネル情報に含まれる不要な情報の周波数帯を減衰させることで、サイドチャネル情報に含まれる不要な情報を抑制することが可能である。特に、必要な情報が複数の特定の帯域に集中しているとき、必要な情報が保存される一方で不要な情報が抑制されるため、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００７６】
［第１０の実施形態］
続いて説明する本発明の第１０の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に、ウェーブレット変換に基づくフィルタを適用する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００７７】
図１１は本発明の実施形態１０におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００７８】
第１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、ウェーブレット変換に基づくフィルタを適用する点である（ステップＡ３−４）。【００７９】
信号処理部３では、まずウェーブレット変換によりサイドチャネル情報を高域成分と低域成分とに再帰的に帯域分割して複数の帯域成分の変換係数を生成し、次に変換係数に対して処理を実施する。例えば、高域成分に存在する変換係数に対し、事前に決められた閾値を下回る係数を抑圧する。そして、処理した係数を用いてサイドチャネル情報を再構成する。ウェーブレット変換を行い、変換係数に対して処理を実施することで、不要な情報が抑制されるため、サイドチャネル攻撃耐性評価部４では正確な耐性評価が可能となる。【００８０】
［第１１の実施形態］
続いて説明する本発明の第１１の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に対して特徴判別を行う。そして、判別された特徴に応じて使用する信号処理のパラメータを決定し、サイドチャネル情報に信号処理を実施する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００８１】
図１２は本発明の実施形態１１におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００８２】
第１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、入力されたサイドチャネル情報の特徴を算出（ステップＡ９）し、算出された特徴に応じて信号処理のパラメータを決定（ステップＡ１０）する点である。【００８３】
サイドチャネル情報の特徴に応じたパラメータを用いて信号処理を実施することで、固定されたパラメータで信号処理を実施するよりも効果的に不要な情報の除去が可能となる。また、信号処理部３がサイドチャネル情報にあわせたパラメータを設定するので、サイドチャネル情報ごとに事前にパラメータを設定する手間が軽減される。【００８４】
ここで、判別に用いる特徴として、サイドチャネル情報の平均値やメジアン、最大値や最小値、分散などの統計量や、パワースペクトル上でのピークの位置や高さなどが例示できる。また、パラメータは、上記の特徴に基づいて決めることになる。【００８５】
［第１２の実施形態］
続いて説明する本発明の第１２の実施形態では、信号処理部３にて、評価対象の暗号装置１にて測定したサイドチャネル情報に対して、サイドチャネル情報のパワースペクトルを算出する。次に、算出したパワースペクトルのピーク位置に応じて使用する信号処理のパラメータを決定し、サイドチャネル情報に信号処理を実施する。その後、サイドチャネル攻撃耐性評価部４にて、信号処理済みのサイドチャネル情報を用いて暗号装置１のサイドチャネル攻撃耐性評価を実施する。【００８６】
図１３は本発明の実施形態１２におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００８７】
第１１の実施形態との相違点は、ステップＡ２のサイドチャネル情報の入力後、入力されたサイドチャネル情報のパワースペクトルを算出（ステップＡ９−１）し、算出されたパワースペクトルのピーク位置に応じて信号処理のパラメータを決定（ステップＡ１０−１）する点である。【００８８】
例えば、パラメータとしてローパスフィルタの通過帯域を決める場合、ピーク位置の周波数を基準とし、それ以下、もしくはそれ未満の帯域を通過帯域として採用可能である。【００８９】
同様に、ハイパスフィルタの通過帯域を決める場合、ピーク位置の周波数を基準とし、それ以上、もしくはそれより上の帯域を通過帯域として採用可能である。【００９０】
また、バンドパスフィルタの通過帯域を決める場合、ピーク位置の周波数を中心とした帯域、ピーク未満の帯域、ピークより上の帯域が考えられる。ピークを中心とした帯域の場合、帯域の下限は０、上限は測定環境のサンプリング周波数もしくはナイキスト周波数となる。また、ピーク未満の帯域では、帯域の下限は０、上限はピーク周波数となる。ピークより上の帯域では、帯域の下限はピーク周波数、上限は測定環境のサンプリング周波数もしくはナイキスト周波数となる。更に、それぞれの上限と下限の範囲内で、バンドパスフィルタの通過帯域を設定することが考えられる。【００９１】
パワースペクトルのピークはサイドチャネル情報に含まれる成分の特徴を表しており、そのピークに着目してパラメータを設定することで、必要な情報の保持や不要な情報の除去が容易となる。例えば、サイドチャネル情報で不要な情報が周期的に現れている場合、パワースペクトル上では不要な情報があるピークとして現れる。よって、そのピークを避けた通過帯域を設定することで、不要な情報の減衰が可能となる。【００９２】
また、信号処理部３でサイドチャネル情報にあわせたパラメータを設定するので、サイドチャネル情報ごとに事前にパラメータを設定する手間が軽減される。【００９３】
［第１３の実施形態］
続いて、サイドチャネル攻撃耐性評価部４にて耐性評価を実施した後、信号処理部３にて使用するパラメータを変更する本発明の実施形態について説明する。【００９４】
図１４は本発明の実施形態１３におけるサイドチャネル攻撃耐性評価手段のフローチャートである。【００９５】
第１の実施形態との相違点は、ステップＡ４のサイドチャネル攻撃耐性評価を実施後、評価がＯＫとなった場合に信号処理で適用するパラメータに変更の余地があるかチェックし（ステップＡ１１）、変更することが可能ならばパラメータを変更し（ステップＡ１２）、再び信号処理、およびサイドチャネル攻撃耐性評価を実施する点である。【００９６】
サイドチャネル攻撃耐性の評価後にパラメータの変更を実施することで、耐性評価の内容（耐性の有無、サイドチャネル情報と基準波形との相関値や距離、および類似度等）に応じて、信号処理のパラメータを変更することが可能となる。【００９７】
例えば、サイドチャネル情報と基準波形との距離が離れている場合、使用するパラメータを小さく修正しても距離が大きく縮まる可能性は小さい。そこで、パラメータの修正量を距離に依存するように設定する。具体的には、距離が離れている場合にはパラメータを大きく修正し、距離が近い場合にはパラメータを小さく修正するように設定することにより、小刻みにパラメータを修正していくよりも、高速に評価結果を得ることが可能となる。【００９８】
また、パラメータが限界値に達するか、ステップＡ４でＮＧと判定されるまで繰り返し評価を実施するため、実際には耐性なしであるにも関わらず、パラメータの設定ミスで耐性ありと誤判定する可能性を減少できる。【００９９】
さらに、信号処理部３でパラメータを順次変更を行うため、サイドチャネル情報ごとに事前にパラメータを設定する手間が軽減される。
【実施例１】
【０１００】
本発明の第１２の実施形態において、暗号を実施可能な評価ボード（暗号装置１に相当する。）においてＡＥＳ（Advanced Encryption Standard）を実装し、オシロスコープ（サイドチャネル情報測定装置２に相当する。）を用いて、暗号処理中の評価ボードから漏洩する電磁波（サイドチャネル情報に相当する。）を測定し、測定した電磁波を用いてサイドチャネル攻撃耐性を評価する場合について説明する。【０１０１】
今回の実施例では、ステップＡ３では信号処理にパンドパスフィルタを使用する。また、ステップＡ４では基準波形とサイドチャネル情報との相関値を求め、相関値が高い場合に暗号装置１にはサイドチャネル攻撃耐性がないと判定する。更に、ステップＡ１０−１ではパラメータとしてバンドパスフィルタの通過帯域を決定することとする。【０１０２】
はじめに、ステップＡ４で使用する基準波形を用意する。基準波形は、ＡＥＳの特徴を表す波形として、ＡＥＳの１ラウンド目の特徴を表す波形を用いる。図１５に事前に取得したＡＥＳの特徴を表す波形を示す。ここで、枠の部分がＡＥＳの１ラウンド目を表している。また、耐性評価の基準として、相関値が０．６以上のピークが複数現れた場合に耐性がないと判定する。耐性評価の基準として相関値を用いる理由は、ＡＥＳのラウンドの特徴を表す波形と相関があるということは、サイドチャネル情報からＡＥＳのラウンド処理を行っているタイミングが判明してしまうことを表すためである。【０１０３】
続いて、評価ボードにてＡＥＳを実行し、ＡＥＳの電磁波波形（図１６）を測定する（ステップＡ２）。【０１０４】
次に、測定したＡＥＳの電磁波波形に対し、信号処理部３で特徴判別としてＡＥＳの電磁波波形のパワースペクトルを求める（ステップＡ９−１）。図１７にＡＥＳの電磁波波形のパワースペクトルを示す。また、図１７において、ピーク位置を丸で示す。【０１０５】
続いて、ステップＡ９−１で求めたパワースペクトルのピークから信号処理で用いるパラメータであるバンドパスフィルタの通過帯域を決定する（ステップＡ１０−１）。通過帯域の決め方としては、ピークを中心とした帯域、ピーク未満の帯域、ピークより上の帯域が考えられる。【０１０６】
ピークを中心とした帯域の場合、帯域の下限は０、上限はオシロスコープにおけるサンプリングレートの１／２となる。また、ピーク未満の帯域では、帯域の下限は０、上限はピーク周波数となる。ピークより上の帯域では、帯域の下限はピーク周波数、上限はサンプリングレートの１／２となる。【０１０７】
なお、下限を０とした場合はローパスフィルタと等価となり、上限をサンプリングレートの１／２とした場合はハイパスフィルタと等価となる。【０１０８】
今回の実施例では、ピーク未満の帯域を使用し、通過帯域幅を２ＭＨｚとする。また、通過帯域の上限はピークから０．１ＭＨｚ離れた周波数とする。【０１０９】
次に、ステップＡ１２で決定したパラメータを用いて、ステップＡ２で測定した電磁波波形に対しバンドパスフィルタ処理を実施する（ステップＡ３）。図１８にバンドパスフィルタ処理後の電磁波波形を示す。【０１１０】
続いて、ステップＡ３で信号処理を適用した電磁波波形から、サイドチャネル攻撃耐性評価を実施する（ステップＡ４）。評価として、事前に用意しておいた基準波形との相関を算出する。図１９に算出した相関を示す。【０１１１】
算出した相関が低かった場合、サイドチャネル情報から秘匿情報は漏洩してないと判断できるため、今回の評価対象にはサイドチャネル攻撃耐性がありと判定できる（ステップＡ５）。【０１１２】
一方、算出した相関が高かった場合、サイドチャネル情報から秘匿情報が漏洩していると判断できるため、今回の評価対象にはサイドチャネル攻撃耐性がないと判定できる（ステップＡ７）。今回は相関値が０．６以上のピークが複数現れているからである。
【実施例２】
【０１１３】
本発明の第１３の実施形態において、暗号を実施可能な評価ボード（暗号装置１に相当する。）において、ＧＳＭ（Global System for Mobile Communications）で用いられている暗号アルゴリズムであるＡ５／１を実装する場合を実施例として説明する。【０１１４】
本実施例では、オシロスコープ（サイドチャネル情報測定装置２に相当する。）を用いて、暗号処理中の評価ボードから漏洩する電力（サイドチャネル情報に相当する。）を測定し、測定した電力を用いてサイドチャネル攻撃耐性を評価する。【０１１５】
まず、サイドチャネル攻撃耐性評価部４にて使用する、評価用の基準波形を作成する。基準波形の作成のため、Ａ５／１の波形を１００回測定する。次に、測定した波形の平均を求め（図２０）、平均波形にメジアンフィルタ処理（窓幅１０１）を適用する（図２１）。そして、図２１の中で、枠で囲んだ部分を基準波形とする。この部分はＡ５／１のＬＦＳＲ（Linear Feedback Shift Register）動作処理および出力処理を行っている部分である。【０１１６】
なお、耐性評価の基準として、相関値が０．７以上のピークが現れた場合に耐性がないと判定する。耐性評価の基準として相関値を用いる理由は、Ａ５／１のＬＦＳＲ動作処理および出力処理を表す波形と相関があるということは、サイドチャネル情報からＡ５／１の上記処理を行っているタイミングが判明してしまうためである。【０１１７】
次に、評価ボードにてＡ５／１を実行し、Ａ５／１の電力波形（図２２）を測定する（ステップＡ２）。【０１１８】
次に、測定したＡ５／１の電力波形に対し、信号処理部３で信号処理を実施する（ステップＡ３）。信号処理部３では、パラメータとして窓幅を３としたメジアンフィルタ処理を適用し不要な情報を除去する。図２３に、窓幅３でメジアンフィルタ処理を適用したときのＡ５／１の波形を示す。【０１１９】
その後、サイドチャネル攻撃耐性評価部４にて、メジアンフィルタ適用後の電力波形と事前に用意しておいた基準波形との相関を算出する。算出結果を図２４に示す。続けて、算出結果の相関を見ると高い相関を表していないため、評価ボード上の暗号処理の特徴は漏洩していないと判定される（ステップＡ４、ＯＫ判定）。【０１２０】
次に、メジアンフィルタのパラメータである窓幅が限界値に達しているかを判定する（ステップＡ１１）。ここでは、限界値として窓幅の上限値を用いる。窓幅の上限値は入力された電力波形のデータ数となるが、評価者が３から電力波形のデータ数の間で任意に上限値を設定することも可能である。ここで、窓幅が上限値に達した場合、特徴は漏洩していないと判定されているため、暗号装置１にはサイドチャネル攻撃耐性ありと判定される（ステップＡ５）。【０１２１】
一方、窓幅が上限値に達していなかった場合、窓幅を以下のルールのいずれかに従って更新し（ステップＡ１２）、ステップＡ３に戻る。
ルール（１）  窓幅を２だけ増加させる。
ルール（２）  耐性評価の際に算出された相関の最大値にしたがって、窓幅を増加させる。【０１２２】
ここで、ルール（１）の場合、単純にパラメータを更新することになる。一方、ルール（２）の場合であって、最大値が小さい場合は、窓幅を２だけ増加させても相関値が急激に増加する可能性が低い。したがって、最大値が小さい場合には窓幅の更新量を大きくし、最大値が耐性評価の基準値に近づいてきたら更新量を小さくすることで、ルール（１）の場合よりも信号処理および耐性評価の回数を減少させ、高速に耐性評価を判定することが可能となる。【０１２３】
今回の実施例では、最大値が０．４未満の場合には更新量を１０、０．４以上０．６５未満の場合には更新量を６、０．６５以上０．７未満の場合には更新量を２とした。【０１２４】
信号処理と耐性評価、およびパラメータの変動を繰り返していったときの相関の最大値の変化を図２５に示す。ここで、線は（１）のルールで窓幅を更新した場合、点は（２）のルールで窓幅を更新した場合の実際に処理を行った箇所を示している。【０１２５】
今回の実施例では窓幅が５５になったときに相関値の最大値が０．７以上となった。なお、基準を満たすまでに必要とするステップＡ３の処理回数は、ルール（１）の場合は２７回であるのに対し、ルール（２）の場合は１３回であり、処理回数が約半分となっている。したがって、評価結果に応じてパラメータの更新量を変化させることで、処理回数を減少させることが可能であるといえる。【０１２６】
次に、窓幅が５５となったときのメジアンフィルタ処理を適用した場合のＡ５／１の波形を図２６に、図２６と基準波形との相関を算出したときの結果を図２７に示す。【０１２７】
算出結果の相関を見ると、高い相関を示しているため、評価ボード上の暗号処理の特徴が漏洩していると判定できる（ステップＡ４、ＮＧ判定）。【０１２８】
ここで、参考のためにステップＡ２のときに取得したＡ５／１の電力波形（図２２）と基準波形との相関を算出した結果を図２８に示す。算出結果の相関を見ると、メジアンフィルタを適用しない状態では、Ａ５／１の処理タイミングを示すピークが現れておらず、サイドチャネル攻撃耐性ありと判定される。しかしながら、実際にはメジアンフィルタを適用することによって処理タイミングを検出し、評価ボード上の暗号処理の特徴が漏洩していると判定することは可能である。よって、メジアンフィルタを適用しない場合では図２２の波形から暗号装置の耐性を正しく評価することは困難であることがわかる。【０１２９】
なお、本発明の実施形態であるサイドチャネル攻撃耐性評価装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。【０１３０】
本願は、日本の特願２００７−３１９６８７（２００７年１２月１１日に出願）に基づいたものであり、又、特願２００７−３１９６８７に基づくパリ条約の優先権を主張するものである。特願２００７−３１９６８７の開示内容は、特願２００７−３１９６８７を参照することにより本明細書に援用される。【０１３１】
本発明の代表的な実施形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
【図１】
0005397625.tif 000002
【図２】
0005397625.tif 000003
【図３】
0005397625.tif 000004
【図４】
0005397625.tif 000005
【図５】
0005397625.tif 000006
【図６】
0005397625.tif 000007
【図７】
0005397625.tif 000008
【図８】
0005397625.tif 000009
【図９】
0005397625.tif 000010
【図１０】
0005397625.tif 000011
【図１１】
0005397625.tif 000012
【図１２】
0005397625.tif 000013
【図１３】
0005397625.tif 000014
【図１４】
0005397625.tif 000015
【図１５】
0005397625.tif 000016
【図１６】
0005397625.tif 000017
【図１７】
0005397625.tif 000018
【図１８】
0005397625.tif 000019
【図１９】
0005397625.tif 000020
【図２０】
0005397625.tif 000021
【図２１】
0005397625.tif 000022
【図２２】
0005397625.tif 000023
【図２３】
0005397625.tif 000024
【図２４】
0005397625.tif 000025
【図２５】
0005397625.tif 000026
【図２６】
0005397625.tif 000027
【図２７】
0005397625.tif 000028
【図２８】
0005397625.tif 000029