(57)【要約】  サイドチャネル攻撃耐性評価装置は、暗号装置から漏洩するサイドチャネル情報を用いて、暗号装置のサイドチャネル攻撃への耐性を評価する。このサイドチャネル攻撃耐性評価装置は、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、サイドチャネル情報を取り込むサイドチャネル情報受付部と、サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、設定された解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部とを備える。
2011071063.tif 000002
【特許請求の範囲】
【請求項１】
暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置において、
耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、
前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、
前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部と、
を備えることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項２】
請求項１に記載のサイドチャネル攻撃耐性評価装置において、
前記サイドチャネル情報受付部に代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定部を備えることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項３】
請求項１又は２に記載のサイドチャネル攻撃耐性評価装置において、
前記解析範囲設定部が前記サイドチャネル攻撃耐性評価部における評価結果に応じて再度解析範囲設定を行い、前記サイドチャネル攻撃耐性評価部が、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項４】
請求項３に記載のサイドチャネル攻撃耐性評価装置において、
前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項５】
請求項３又は４に記載のサイドチャネル攻撃耐性評価装置において、
前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部において解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項６】
請求項３又は４に記載のサイドチャネル攻撃耐性評価装置において、
前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項７】
請求項３又は４に記載のサイドチャネル攻撃耐性評価装置において、
前記解析範囲設定部が、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定を設定することを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項８】
請求項３乃至７の何れか１項に記載のサイドチャネル攻撃耐性評価装置において、
前記解析範囲設定部が解析範囲を分割し、前記サイドチャネル攻撃耐性評価部が前記分割された解析範囲毎に前記評価をし、前記解析範囲設定部が前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価装置。
【請求項９】
暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価方法において、
耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付ステップと、
前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定ステップと、
前記解析範囲設定ステップで設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価ステップと、
を備えることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１０】
請求項９に記載のサイドチャネル攻撃耐性評価方法において、
前記サイドチャネル情報受付ステップに代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定ステップを備えることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１１】
請求項９又は１０に記載のサイドチャネル攻撃耐性評価方法において、
前記解析範囲設定ステップが前記サイドチャネル攻撃耐性評価ステップにおける評価結果に応じて再度解析範囲設定を行い、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１２】
請求項１１に記載のサイドチャネル攻撃耐性評価方法において、
前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１３】
請求項１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、
前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおいて解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１４】
請求項１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、
前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおける評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１５】
請求項１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、
前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおける評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１６】
請求項１１乃至１５の何れか１項に記載のサイドチャネル攻撃耐性評価方法において、
前記解析範囲設定ステップで解析範囲を分割し、前記サイドチャネル攻撃耐性評価ステップで前記分割された解析範囲毎に前記評価をし、前記解析範囲設定ステップで前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価方法。
【請求項１７】
暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置に組み込まれるサイドチャネル攻撃耐性評価プログラムにおいて、
耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、
前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、
前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドｔチャネル攻撃耐性評価部と、
を備えるサイドチャネル攻撃耐性評価装置としてコンピュータを機能させることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項１８】
請求項１７に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記サイドチャネル攻撃耐性評価装置は、前記サイドチャネル情報受付部に代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定部を備えることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項１９】
請求項１７又は１８に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記解析範囲設定部が前記サイドチャネル攻撃耐性評価部における評価結果に応じて再度解析範囲設定を行い、前記サイドチャネル攻撃耐性評価部が、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２０】
請求項１９に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２１】
請求項１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部において解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２２】
請求項１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２３】
請求項１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記解析範囲設定部が、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定を設定することを特徴とするサイドチャネル攻撃耐性評価プログラム。
【請求項２４】
請求項１９乃至２３の何れか１項に記載のサイドチャネル攻撃耐性評価プログラムにおいて、
前記解析範囲設定部が解析範囲を分割し、前記サイドチャネル攻撃耐性評価部が前記分割された解析範囲毎に前記評価をし、前記解析範囲設定部が前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイドチャネル攻撃耐性評価装置、サイドチャネル攻撃耐性評価方法及びそのプログラムに関し、特に、暗号装置から漏洩するサイドチャネル情報を用いて、暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置、サイドチャネル攻撃耐性評価方法及びそのプログラムに関する。
【背景技術】
【０００２】
情報の電子データ化が進む中で、情報の保護、秘匿な通信、といった観点から暗号は欠かせない技術となっている。暗号はその安全性を保つために、鍵等の秘匿情報が容易に推測できないようにする必要がある。鍵の全数探索や数学的に解読を行う線形解読や差分解読等といった暗号解析方法が知られているが、現実的な時間での解析は不可能な状況といえる。【０００３】
その一方で、暗号機能付きのＩＣカードや携帯端末などの暗号を実装した装置において、攻撃者が処理時間や消費電力などのサイドチャネル情報を精密に測定できるとの仮定の下で、サイドチャネル情報から秘匿情報の取得を試みるサイドチャネル攻撃とその対策が大きな研究テーマとなっている。サイドチャネル情報には、攻撃対象である暗号装置内で実行されている処理やデータに関する情報が含まれており、サイドチャネル情報を解析することで、暗号アルゴリズム、処理タイミング、秘密鍵の推定が可能である。前記サイドチャネル攻撃の具体的な攻撃方法としては、処理時間に注目したタイミング攻撃（例えば非特許文献１参照）や消費電力に注目した電力解析（例えば非特許文献２参照）、漏洩電磁波に注目した電磁波解析（例えば非特許文献３参照）等が知られている。【０００４】
電力解析の一手法として、Kocher氏らは非特許文献２において差分電力解析（ＤＰＡ：Differential Power Analysis）を提案した。ＤＰＡではまず、大量のサイドチャネル情報を測定し、取得した大量の測定波形に対して統計処理を行う。統計処理を行う際に、秘密鍵を仮定して処理を行うが、この仮定が正解であれば統計処理を行った後の波形において、秘密鍵と関連している箇所の特徴としてピークが出現する。一方、仮定が不正解であれば、統計処理を行った後の波形において、ピークは出現しない。このピークを見ることによって、秘密鍵を解析するのがＤＰＡである。ＤＰＡでは、大量のサイドチャネル情報に対して統計処理をすることにより、波形に含まれるノイズなどの余分な情報の影響を排除することにより攻撃の精度を高めている。さらに、攻撃の精度を上げる方法として、相関電力解析（ＣＰＡ：Correlation Power Analysis）等ＤＰＡから派生した方法が複数提案されている（例えば非特許文献４参照）。【０００５】
暗号を実装した装置においては、実用上、サイドチャネル攻撃に対する攻撃耐性（以下、適宜「耐タンパ性」と呼ぶ。）が求められる。そのため、サイドチャネル情報から暗号アルゴリズムなどの秘匿情報の推定を困難にする耐タンパ技術の研究がすすめられている。ここで、耐タンパ性とは攻撃に対して、秘匿情報の漏洩や機能の改変を防ぐ性能のことである。【０００６】
耐タンパ技術として、恣意的にサイドチャネル情報に不要な情報を付加することで、サイドチャネル情報から秘匿情報の漏洩を防ぐ耐タンパ手法（特許文献１参照）等が提案されている。ここで、上記のような耐タンパ手法を適用することで実際にサイドチャネル攻撃への耐性が向上しているか、耐タンパ手法の有効性を評価する必要がある。【０００７】
また、実装された暗号装置が本当に安全なのか確認するため、サイドチャネル攻撃に対する耐性を評価する技術が求められている（例えば非特許文献５参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１１６２１５号公報
【非特許文献】
【０００９】
【非特許文献１】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 Works hop on Cryptographic Hardware and Embedded Systems 2001 (CHES 2001), LNCS 21 62 Paris, France, May 2001, pp 251-261.
【非特許文献４】Eric Brier, Christophe Clavier, and Francis Olivier, "Correlation Power Analysis with a Leakage Model," CHES2004, pp.16-29, 2004.
【非特許文献５】今井秀樹"情報セキュリティ−安全・安心な社会のために−"，電子情報通信学会誌，2007年，Vol.90，No.5，pp.334−339
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように、例えば非特許文献５に記載の技術を用いることによりサイドチャネル攻撃に対する耐性を評価することが可能となる。【００１１】
しかしながら、評価する際に、波形の処理範囲が広すぎることが原因で、解析に失敗することがある。例えば、ＤＰＡにおいて、秘密鍵と関連していない箇所を処理範囲とすることによって、不正解鍵を仮定したときに、秘密鍵と関連していない箇所において特徴が現れてしまい、解析に失敗する場合がある。その結果、実際には耐性が低いにもかかわらず、耐性があると誤判定することがある。よって、耐性評価の精度を高めるためには、サイドチャネル攻撃耐性評価において余分な部分を処理しないことが求められる。【００１２】
そこで、本発明は、サイドチャネル情報上の不要な情報による耐性評価の精度低下を抑制し、暗号機器に対するサイドチャネル攻撃の可否を高精度で評価可能な、サイドチャネル攻撃耐性評価装置、サイドチャネル攻撃耐性評価方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の観点によれば、暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置において、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部と、を備えることを特徴とするサイドチャネル攻撃耐性評価装置が提供される。【００１４】
本発明の第２の観点によれば、暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価方法において、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付ステップと、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定ステップと、前記解析範囲設定ステップで設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価ステップと、を備えることを特徴とするサイドチャネル攻撃耐性評価方法が提供される。【００１５】
本発明の第３の観点によれば、暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置に組み込まれるサイドチャネル攻撃耐性評価プログラムにおいて、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部と、を備えるサイドチャネル攻撃耐性評価装置としてコンピュータを機能させることを特徴とするサイドチャネル攻撃耐性評価プログラムが提供される。
【発明の効果】
【００１６】
本発明によれば、解析範囲を設定して耐性評価に用いるサイドチャネル情報を絞り込むことで、余分な範囲まで評価に用いることで発生してしまう誤った評価を行う可能性を抑制できることから、評価対象のサイドチャネル攻撃耐性の評価精度の向上を図ることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係るサイドチャネル攻撃耐性評価装置の構成を表すブロック図である。
【図２】本発明の第１の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図３】本発明の第２の実施形態に係るサイドチャネル攻撃耐性判定装置の構成を表すブロック図である。
【図４】本発明の第２の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図５】本発明の第３の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図６】差分電力解析（ＤＰＡ）のピーク検出手段を示したフローチャートである。
【図７】本発明の第４の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図８】本発明の第４の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャート（解析失敗時に事前に決められた基準に基づいて解析範囲を設定）である。
【図９】本発明の第５の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図１０】本発明の第６の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図１１】本発明の第７の実施形態に係るサイドチャネル攻撃耐性判定装置の動作を示したフローチャートである。
【図１２】ＤＥＳ暗号処理時の電磁波測定波形である。
【図１３】ＤＥＳ暗号処理時の電磁波測定波形において、設定された解析範囲を示した図である。
【図１４】ＤＥＳ暗号処理時の電磁波測定波形において、設定された解析範囲部分を抜き出した図である。
【図１５】実施例１において、最初に耐性評価を実施した時の解析結果を示した表を表す図である。
【図１６】実施例１において、解析範囲を設定した後に耐性評価を実施した時の解析結果を示した表を表す図である。
【発明を実施するための形態】
【００１８】
以下、本発明に係るサイドチャネル攻撃耐性評価装置、サイドチャネル攻撃耐性評価方法及びそのプログラムの実施形態について、図面を参照して詳細に説明する。
【００１９】
まず、本発明の実施形態の概略を説明する。本実施形態は、概略、評価対象の暗号装置と、暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定装置と、サイドチャネル情報測定装置で測定されたサイドチャネル情報を用いて暗号装置のサイドチャネル耐性評価、すなわち暗号装置の暗号化に関する内部処理や秘匿情報を解析するサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置とを有している。
【００２０】
サイドチャネル攻撃耐性評価装置は、サイドチャネル情報測定装置により測定されたサイドチャネル情報をサイドチャネル攻撃耐性評価装置に入力するサイドチャネル情報入力部と、サイドチャネル情報入力部から入力されたサイドチャネル情報に対して、耐性評価における解析範囲を設定する解析範囲設定部と、解析範囲設定部で設定された範囲内のサイドチャネル情報を用いて前記暗号装置のサイドチャネル耐性評価を行うサイドチャネル攻撃耐性評価部とを有している。
【００２１】
［第１の実施形態］
図１は、本発明の第１の実施形態であるサイドチャネル攻撃耐性評価装置３００の概略構成及びその他の装置について表したブロック図である。
【００２２】
図１を参照すると、本実施形態は、暗号装置１００、サイドチャネル情報測定装置２００及びサイドチャネル攻撃耐性評価装置３００を有する。
【００２３】
暗号装置１００は、平文に対する暗号化や暗号文に対する復号化等の処理（以下、これらの処理を総称して「暗復号処理」と呼ぶ。）を行う装置である。暗号装置１００としては、暗復号処理を実行可能な種々の情報処理装置を採用することが可能である。採用可能な装置としては、パーソナルコンピュータ（ＰＣ）、携帯電話機等の携帯端末、接触型および非接触型のＩＣカード、リーダライタ等が例示できる。
【００２４】
サイドチャネル情報測定装置２００は、暗号装置１００が暗復号処理を実施する際に漏洩するサイドチャネル情報を測定する装置である。測定対象とするサイドチャネル情報としては、暗号装置において内部の処理に影響を受ける種々の情報が考えられる。具体的には、電力、電磁波、音、温度等が例示できる。
【００２５】
もしも、電磁波をサイドチャネル情報として用いるのであれば、サイドチャネル情報測定装置２００は、オシロスコープやスペクトラムアナライザ等を採用することが可能である。
【００２６】
サイドチャネル攻撃耐性評価装置３００は、サイドチャネル情報測定装置２００から得られるサイドチャネル情報を用いて、評価対象の暗号装置である暗号装置１００のサイドチャネル攻撃に対する耐性を評価する装置である。
【００２７】
サイドチャネル攻撃耐性評価装置３００は、サイドチャネル情報受付部３０１と、解析範囲設定部３０２と、サイドチャネル攻撃耐性評価部３０３を有している。
【００２８】
サイドチャネル情報受付部３０１は、サイドチャネル情報測定装置２００で測定されたサイドチャネル情報をサイドチャネル攻撃耐性評価装置３００に取り込む機能を有する。なお、サイドチャネル情報受付部３０１が具体的にどのような方法によりサイドチャネル情報を取り込むのかは本実施形態の要旨ではない。そのため、任意の方法を用いて取り込むことが可能である。取り込む方法としては、例えば、サイドチャネル情報測定装置２００からＵＳＢ（Universal Serial Bus）やＲＳ−２３２Ｃ（Recommended Standard 232 version C）、ＩＥＥＥ１３９４（Institute of Electrical and Electronic Engineers 1394）、ＳＣＳＩ（Small Computer System Interface）等の規格に準拠したケーブルを経由して取り込む方法、赤外線や電波などの電磁波を受信して取り込む方法、ハードディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、フロッピー(登録商標）ディスク、磁気テープ、フラッシュメモリなどの記録媒体から読み込んで取り込む方法などが挙げられる。
【００２９】
解析範囲設定部３０２は、サイドチャネル攻撃耐性評価部３０３で用いるサイドチャネル情報の解析範囲の設定を行う。具体的な解析範囲の設定方法としては、以下に記載する４つの方法が例示できる。
【００３０】
具体的な解析範囲の設定方法の１つ目として、外部からの入力に基づいて解析範囲を設定する方法が挙げられる。この方法では、外部からの入力が検出された時点を基準として解析範囲を設定することとなる。検出した時点を解析範囲の始点としたり、終点としたり、または解析範囲の中心点として解析範囲を設定したり、検出した時点から一定ポイント前もしくは後ろのポイントを解析範囲の始点や終点、中心点とする設定方法などが考えられる。
【００３１】
具体的な解析範囲の設定方法の２つ目として、入力されたサイドチャネル情報に基づいて解析範囲を設定する方法が挙げられる。この方法では、例えばサイドチャネル情報の立ち上がりや立下り、スパイクなどを事前に決められたパラメータに基づいて検出する。そして、検出した位置を基準に解析範囲を設定することとなる。この方法でも、検出した位置を基準として、１つ目の方法と同様に、解析範囲の始点や終点などを設定する方法が考えられる。
【００３２】
具体的な解析範囲の設定方法の３つ目として、入力されたサイドチャネル情報に対して、基準情報との相関の算出、マッチングなどの演算を行い、その演算結果に基づいて解析範囲を設定する方法が挙げられる。こちらの方法では、高い相関が得られた箇所やマッチングでもっとも類似度が高かった箇所を基準として１つ目の方法と同様に解析範囲の始点などを決める方法が考えられる。
【００３３】
具体的な解析範囲の設定方法の４つ目として、一度、サイドチャネル情報全体、もしくは適当に設定した解析範囲内のサイドチャネル情報を使ってサイドチャネル攻撃耐性評価を実施し、その結果に基づいて解析範囲を設定する方法が挙げられる。なお、上述した４つの方法はあくまで例として示したに過ぎない。これら４つの方法以外の方法を用いることも可能である。
【００３４】
サイドチャネル攻撃耐性評価部３０３は、解析範囲設定部３０２で設定された範囲内のサイドチャネル情報を用いて、暗号装置１００のサイドチャネル攻撃への耐性評価を実施する。評価方法として、解析範囲内のサイドチャネル情報に対してサイドチャネル攻撃を行い、攻撃が成功するか否かの判定結果を利用する方法や、基準波形との相関や距離、および類似度を利用する方法等があげられる。なお、サイドチャネル攻撃の方法としては、タイミング攻撃、電磁波解析、単純電力解析、差分電力解析、故障利用攻撃、キャッシュ攻撃、音響解析攻撃等が例示できる。また、耐性評価において、複数のサイドチャネル情報を必要とする場合には、サイドチャネル情報受付部３０１での入力、および解析範囲設定部３０２での処理を複数回行うことで、複数のサイドチャネル情報を取得することが可能である。または、２波形目以降は解析範囲設定部３０２で設定された範囲のみを繰り返しサイドチャネル情報受付部３０１で入力することで、複数のサイドチャネル情報を取得可能となる。また、解析範囲設定部３０２が解析範囲を耐性評価の結果に応じて変動させる機能を有している場合は、サイドチャネル攻撃の耐性評価の内容（耐性の有無、解析時のピークの出現箇所やピークの値、相関値、距離、類似度等）を解析範囲設定部３０２に伝播する手段を有する。
【００３５】
上述のように構成されたサイドチャネル攻撃耐性評価装置において、最後に、設定された解析範囲内のサイドチャネル情報を用いて、サイドチャネル攻撃耐性評価部３０３にて暗号装置１００のサイドチャネル攻撃への耐性評価を実施する。なお、図１中で「Ｓ１」及び「Ｓ２」は「サイドチャネル情報」を表すものとする。また、図１中で「Ｓ３」は「解析範囲設定済みサイドチャネル情報」を表すものとする。更に、図１中で「Ｓ４」は「サイドチャネル情報耐性評価結果情報」を表すものとする。また、サイドチャネル攻撃耐性評価部３０３から解析範囲設定部３０２への接続は動作例によっては必ずしも必要ではない。この接続及び「Ｓ４」を省略することも可能である。
【００３６】
次に、本実施形態における動作例について説明する。図２は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００の動作例を表すフローチャートである。
【００３７】
動作例においては、解析範囲設定部３０２にて、サイドチャネル情報受付部３０１から入力したサイドチャネル情報に対して解析範囲を設定し、サイドチャネル攻撃耐性評価部３０３にて、設定された解析範囲内のサイドチャネル情報を用いて暗号装置１００のサイドチャネル攻撃耐性評価を実施する。
【００３８】
まず、評価処理が開始されると、サイドチャネル情報受付部３０１が、サイドチャネル情報を受け付け、受け付けたサイドチャネル情報を取り込む（ステップＡ１）。
【００３９】
サイドチャネル情報の取り込みが終了すると、解析範囲設定部３０２が、入力されたサイドチャネル情報を事前に決められた基準に基づいて、サイドチャネル攻撃耐性評価部３０３で用いるサイドチャネル情報の解析範囲を設定する（ステップＡ２）。
【００４０】
サイドチャネル攻撃耐性評価部３０３は、解析範囲設定部３０２で設定された解析範囲内のサイドチャネル情報を用いてサイドチャネル攻撃耐性評価を実施し、評価を終了する（ステップＡ３）。
【００４１】
以上のような方法を用いて、解析範囲を設定し、耐性評価に用いるサイドチャネル情報を絞り込むことで、余分な範囲まで評価に用いることで発生してしまう誤った評価を行う可能性を抑制できる。そして、このように誤った評価を行う可能性を抑制できることから、暗号装置機器（暗号装置１００）に対して高い精度でサイドチャネル攻撃耐性を評価することが可能となる。
【００４２】
また、解析範囲を絞り込むことにより、評価に要する時間を抑制することができる。一方、同一の時間でより大量の情報を評価に使えるようになるため、評価精度の向上につながる。
【００４３】
［第２の実施形態］
続いて、本発明の第２の実施形態の構成例について説明する。図３は、本実施形態における構成例を示したブロック図である。
【００４４】
第１の実施形態の構成例との相違点は、サイドチャネル攻撃耐性評価装置３１０が、サイドチャネル受付部３０１の代わりにサイドチャネル情報測定部３０４を有している点と、外部のサイドチャネル情報測定装置２００が不要となっている点である。
【００４５】
サイドチャネル情報測定部３０４は、サイドチャネル情報測定装置２００と同様に、暗号装置１００が暗復号処理を実施する際に漏洩するサイドチャネル情報を測定する機能を有する。測定の対象として、例えば、電力、電磁波、音、温度等が挙げられる。なお、図１と同様に、図３中で「Ｓ２」は「サイドチャネル情報」を表すものとする。また、図３中で「Ｓ３」は「解析範囲設定済みサイドチャネル情報」を表すものとする。更に、図３中で「Ｓ４」は「サイドチャネル情報耐性評価結果情報」を表すものとする。また、サイドチャネル攻撃耐性評価部３０３から解析範囲設定部３０２への接続は動作例によっては必ずしも必要ではない。この接続及び「Ｓ４」を省略することも可能である。
【００４６】
図４は、本実施形態におけるサイドチャネル攻撃耐性評価装置３１０の動作例を表すフローチャートである。
【００４７】
第１の実施形態の動作例との相違点は、評価開始時のサイドチャネル情報の入力において、サイドチャネル測定部３０４が暗号装置１００からサイドチャネル情報を測定することによって、サイドチャネル情報がサイドチャネル攻撃耐性評価装置３１０へ取り込まれる点である（ステップＡ１−１）。サイドチャネル情報入力後の動作の流れは第１の実施形態と同様である（ステップＡ２、Ａ３）。
【００４８】
本実施形態では、サイドチャネル情報測定部３０４をサイドチャネル攻撃耐性評価装置３１０に組み込むことで、暗号装置１００から直接サイドチャネル情報を取り込むことができる。よってサイドチャネル情報測定装置２００が存在しない環境下においてもサイドチャネル攻撃耐性評価を実施することが可能となる。
【００４９】
［第３の実施形態］
続いて、本発明の第３の実施形態について説明する。本実施形態は、一度サイドチャネル情報の全体、若しくは、予め設定した解析範囲内、のサイドチャネル情報を使ってサイドチャネル攻撃耐性評価を実施する。また、その評価結果に基づいて解析範囲を再設定し、再びサイドチャネル攻撃耐性を評価する。さらに、評価結果に基づいて解析範囲の設定と耐性評価を繰り返すという動作をする。
【００５０】
図５は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００のフローチャートである。
【００５１】
第１の実施形態との相違点は、耐性評価及び解析範囲設定を繰り返す点である。
【００５２】
具体的には、サイドチャネル情報受付部３０１がサイドチャネル情報を取り込んだ後（ステップＡ１）に、まずサイドチャネル攻撃耐性評価部３０３がサイドチャネル攻撃耐性の評価を行う（ステップＡ３）。そして、ステップＡ３における評価結果に応じて解析範囲設定部３０２が解析範囲を設定（ステップＡ２−１）する。そして、再びサイドチャネル攻撃耐性評価部３０３における耐性評価および解析範囲設定部３０２における解析範囲設定を繰り返す（ステップＡ３、ステップＡ２−１）。
【００５３】
なお、繰り返しの終了については、サイドチャネル攻撃耐性の評価を行った後（ステップＡ３）に解析範囲が一定範囲以下になるか、既定回数ループするか、もしくは耐性評価の結果が基準を満たすなどしたら終了する（ステップＡ５においてＹＥＳ）。これらの条件はあくまで例示であり、他の条件を繰り返し終了の条件としてもよい。また、何れかの条件の一つを満たせば繰り返し終了としてもよく、複数の条件の全てを満たした場合に繰り返し終了としてもよい。
【００５４】
一方、条件を満たさない場合は再度ステップＡ２−１に進み動作を継続する（ステップＡ５においてＮＯ）。
【００５５】
ここで、ステップＡ５における耐性評価結果の基準としては、秘密鍵の解析成功／不成功や、基準波形との距離や相関・類似度の高さが例示できる。また、複数の鍵を解析対象としている場合には、解析に成功した鍵の数。また、ＤＰＡやそれの派生した手法を利用しているならばピークの高さ、などといったものが例示できる。更に、１回だけ解析範囲を絞り込んだだけでは十分に解析精度を向上できなくても、解析範囲の再設定を繰り返すことにより、解析精度の向上が期待できる。
【００５６】
［第４の実施形態］
続いて、本発明の第４の実施形態について説明する。本実施形態では、サイドチャネル攻撃としてＤＰＡを対象としたときに、解析範囲を再設定するときの基準として、複数ある鍵のうち一部の鍵解析に成功したときのピーク位置を利用する方法について説明する。
【００５７】
ＤＰＡでは、消費電力波形Ｗとその波形に対応する暗号文もしくは平文から秘密鍵の推測を行う。ここでは、暗号文Ｃを使う場合を説明する。説明に際しては、図６のフローチャートを参照する。
【００５８】
推測する際に、ある推測鍵Ｋ'を仮定する（ステップＢ１）。
【００５９】
次に、Ｋ'と暗号文Ｃを選択関数と呼ばれる関数Ｆ（Ｋ'，Ｃ）を利用して、Ｗを２つのグループに分類する（ステップＢ２）。
【００６０】
ステップＢ２においてすべてのＷの分類が終わったら、グループごとにＷの平均を求める（ステップＢ３）。
【００６１】
そして、２つのグループのＷの平均の差分を計算する（ステップＢ４）。
【００６２】
ここで、推測した鍵Ｋ'が正解鍵と一致していた場合には、消費電力波形Ｗと関数Ｆとは強い相関をもつため、差分をとったあとのＷにおいてピークが出現する。一方、Ｋ'と正解鍵が一致していない場合、ＷとＦでは相関がなく差分をとったあとのＷにピークが出現しない。そのため、２グループの平均の差分を計算した後にピークの検出を行う（ステップＢ５）。すべての鍵候補に対して同様にピーク検出処理を行い、もっとも高いピークを示したＫ'を推測結果とする。最後に、推測した鍵が正解鍵と一致した場合に、解析成功したことになる。
【００６３】
ここで、推測する鍵が複数ある場合についてみてみる。例えば、ＤＥＳ（Data Encryption Standard）のラウンド鍵を推測する場合には、８個の６ｂｉｔ部分鍵を推測することとなる。このとき、一部の部分鍵しか解析成功しなかった場合に、より解析精度を高めるために解析範囲を絞り込む基準として、本発明の実施形態ではＤＰＡのピークを利用する。
【００６４】
図７は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００のフローチャートである。
【００６５】
第３の実施形態の動作例との相違点は、ステップＡ２−１の内容が変更され、ステップＡ６が追加されており、またステップＡ２−２と修正されている点である。
【００６６】
具体的には、解析範囲設定部３０２が解析範囲の設定をする際に、一度解析した結果、解析成功した部分鍵があれば（ステップＡ６においてＹＥＳ）、その部分鍵でピークが出現した箇所を解析範囲の再設定の基準とする点（ステップＡ２−２）である。
【００６７】
例えばＤＥＳの解析において、８個の部分鍵のうち、１個でも解析成功した鍵があった場合、その解析成功した鍵でピークが現れた箇所を解析範囲の設定基準とする。一方で、解析成功した部分鍵が存在しない場合の対処としては、そのまま動作終了する方法が一例として考えられる（ステップＡ６においてＮＯ）。また、動作を終了させるのではなく事前に決められた方法で解析範囲を設定してしまう方法（図８のステップＡ２−３）等も考えられる。範囲の設定の仕方としては、解析に成功した正解鍵のピークのうち最もピークが高かった箇所を基準とする方法や、とりあえず解析範囲を半分にして、両方でそれぞれ解析する方法、などが考えられる。
【００６８】
もし、複数の部分鍵が解析成功していた場合には、次のような方法で解析範囲を設定することができる。１つ目は、鍵に優先順位をつけておき、優先順位が上位の鍵のピークを基準とする方法である。最初の部分鍵から順に位をつけることも可能である。２つ目は、ピークの高さを比較し、最も高いピークを基準とする方法である。３つ目は解析成功している或る部分鍵において、正解鍵以外の鍵候補の中で最も高いピークと正解鍵のピークを比較し、２つのピークの差もしくは２つのピークの比が最も大きくなるピークを基準とする方法が考えられる。
【００６９】
なお、ＤＰＡにおいては２つのグループの差分によって鍵を推測するが、ＤＰＡから派生した方法では差分以外の特徴で鍵を推測することがある。たとえば、ＣＰＡでは相関係数の高さによって鍵の推測を行う。本発明の実施形態は、ＤＰＡ以外の手法においても、鍵を推測するために用いる特徴を、解析範囲の設定基準として適用することが可能である。
【００７０】
暗号化処理においては、各部分鍵を使った処理を連続もしくは並列に処理することがある。このような場合には、各部分鍵において相関を持つ箇所が近傍に存在することとなる。よって、正解した鍵のピークが出現した箇所を基準として解析範囲を絞り込むことによって、解析精度が向上し、サイドチャネル攻撃耐性評価の評価精度の向上につながる。
【００７１】
［第５の実施形態］
続いて、本発明の第５の実施形態について説明する。本実施形態では、正解鍵のピークとそれ以外の鍵のピークを比較することによって、解析範囲を設定する方法について説明する。
【００７２】
図９は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００のフローチャートである。
【００７３】
第４の実施形態の動作例との相違点は、解析成功した部分鍵が複数あった場合に、正解鍵のピーク値とそれ以外の鍵候補のピーク値とを比較し、そのピーク値の比較結果に応じて解析範囲を決める点である。
【００７４】
具体的には、解析成功した部分鍵が複数あった場合に（ステップＡ７においてＹＥＳ）、解析範囲設定部３０２が、正解鍵のピーク値とそれ以外の鍵候補のピーク値とを比較し（ステップＡ８）、そのピーク値の比較結果に応じて解析範囲を決める点である（ステップＡ２−５）。
【００７５】
なお、解析成功した鍵が１つだけであった場合には（ステップＡ７においてＮＯ）、解析範囲設定部３０２が、解析成功した鍵のピーク位置に基づいて解析範囲を設定する（ステップＡ２−４）。
【００７６】
例えば、ＤＥＳの８個ある６ｂｉｔ部分鍵の推測において、２個の部分鍵の解析に成功していた場合について述べる。ＤＥＳの１個の部分鍵あたりの候補の数は６４個あり、６４個の鍵候補においてピーク値が計算され、正解鍵におけるピーク値が最も高ければ解析成功となる。本発明の実施形態では、正解鍵以外の６３個の鍵候補におけるピーク値のうち、最も高いピーク値と正解鍵のピーク値を比較する。それを、すべての解析に成功している正解鍵に対して実施し、もっともピーク値の比較結果が良かったものを解析範囲設定の基準とする。比較方法としては、ピーク同士の差や比が考えられる。例えば、部分鍵Ａにおいて正解鍵のピークが１０、他の鍵候補における最大のピークが８であった場合、差分なら２、比なら１０／８ということになる。同様に、部分鍵Ｂにおいて正解鍵のピークが６、他の鍵候補における最大のピークが２であった場合、差分なら４、比なら６／２ということになる。この場合、部分鍵Ｂのほうが部分鍵Ａの場合よりも差や比が大きいこととなるので、部分鍵Ｂのピークが現れた箇所を解析範囲の設定基準とする。
【００７７】
ピークが最も高いものを基準とする方法もあるが、他の鍵候補のピーク値が正解鍵のピーク値と近い場合には、解析範囲を変更した場合に正解鍵のピークと他の鍵候補のピークの区別がつきにくくなることがある。また、他の鍵候補のピーク値が正解鍵のピーク値と近い場合、偶然正解鍵のピークが大きくなったという可能性もある。そのため、ピークを比較して解析範囲の基準を決定することで解析精度の向上、ならびに耐性評価の精度向上が期待できる。
【００７８】
［第６の実施形態］
続いて、本発明の第６の実施形態について説明する。本実施形態では、正解した部分鍵が存在しなかった場合に、正解鍵のピークとそれ以外の鍵のピークを比較することによって、解析範囲を設定する方法について説明する。
【００７９】
図１０は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００のフローチャートである。
【００８０】
第４の実施形態の動作例との相違点は、正解した部分鍵が存在しなかった場合に、正解鍵のピークと他の鍵候補の中で最も高いピークとを比較し、そのピーク値の比較結果に応じて解析範囲を決定する点である。
【００８１】
具体的には、解析正解した部分鍵が存在しなかった場合に（ステップＡ６においてＮＯ）、解析範囲設定部３０２が、正解鍵のピークと他の鍵候補の中で最も高いピークとを比較し（ステップＡ９）、そのピーク値の比較結果に応じて解析範囲を決定する点である（ステップＡ２−６）。
【００８２】
例えば、ＤＥＳの８個ある６ｂｉｔ部分鍵の推測において、１つも部分鍵の解析に成功しなかった場合について述べる。解析成功している鍵がある場合には、その鍵のピークを基準に解析範囲を決めることとなる。一方、成功した鍵がない場合には、正解鍵のピークと、それ以外の鍵候補の中で最も高いピークとを比較し、その比較結果に応じて解析範囲を決定する。比較方法としては第５の実施形態同様にピーク同士の差や比が考えられる。ただし、第５の実施形態とは異なり、本実施形態では、正解鍵のピークとそれ以外のピークとの差もしくは比が最も小さくなる、正解鍵のピーク箇所を解析範囲の設定基準とする。
【００８３】
最大のピークと正解鍵のピークとの差や比が小さいならば、正解鍵のピークが現れた箇所で解析範囲を絞り込んだときに、正解鍵のピークが最も高くなり解析に成功する可能性が高い。したがって、解析失敗時においてピークの差や比によって解析範囲を設定することで解析精度が向上し、結果として耐性評価の精度向上が期待できる。
【００８４】
［第７の実施形態］
続いて、本発明の第７の実施形態について説明する。本実施形態では、一度サイドチャネル情報全体もしくは適当に設定した解析範囲内のサイドチャネル情報を使ってサイドチャネル攻撃耐性評価を実施し、その結果に基づいて解析範囲を再設定、再びサイドチャネル攻撃耐性を評価する。さらに、評価結果に基づいて解析範囲の設定と耐性評価を繰り返す方法について説明する。
【００８５】
図１１は、本実施形態におけるサイドチャネル攻撃耐性評価装置３００の動作例を表すフローチャートである。
【００８６】
第３の実施形態の動作例との相違点は、サイドチャネル情報が入力された後（ステップＡ１）、解析範囲設定部３０２が解析範囲をＡとＢの２つに分割する（ステップＡ１０）。ここで、ループ回数が指定回数まわったか、２分した解析範囲が一定値以下になってしまったら、そこで評価を終了とする（ステップＡ１１においてＹＥＳ）。
【００８７】
一方、ループ回数・解析範囲の終了条件を満たさなければ（ステップＡ１１においてＮＯ、サイドチャネル攻撃耐性評価部３０３がＡ、Ｂそれぞれの解析範囲内で解析を実施する（ステップＡ３−１、Ａ３−２）。
【００８８】
そして、ステップＡ３−１又はステップＡ３−２のどちらかの解析結果が基準を満たした場合、そこで評価を終了とする（ステップＡ１２においてＹＥＳ）。
【００８９】
一方、解析結果が基準を満たさなかった場合（ステップＡ１２においてＮＯ）、解析範囲設定部３０２が各解析結果を比較する（ステップＡ１３）。そして、より有効だと判定されたほうの解析範囲を次に２分する解析範囲とする（ステップＡ１４）。そして、再び解析範囲を２分して（ステップＡ１０）各範囲に対する解析を繰り返す。
【００９０】
なお、解析範囲の分割については２つではなく、３つ以上に分割することも考えられる。この場合、各範囲内で解析と結果の比較が行われることとなる。
【００９１】
ステップＡ１２における基準としては、第３の実施形態のときと同様、秘密鍵の解析成功／不成功や、基準波形との距離や相関・類似度の高さ、複数の鍵を解析対象としている場合には、解析に成功した鍵の数等が例示できる。また、ＤＰＡやそれの派生した手法を利用しているならばピークの高さ、などといったものが例示できる。
【００９２】
また、ステップＡ１３の比較方法としては、ステップＡ１２と同様の基準を比較に用いることが可能である。例えば、解析範囲Ａと解析範囲Ｂにおいて、解析に成功した鍵の数を比較し、成功数が多いほうを次の２分する解析範囲とする方法が例示できる。または、ＤＰＡにおいて、ピークを比較に用いる方法もある。単にピークが高いほうを次の２分する解析範囲とする方法が例示できる。更に第５や第６の実施形態で述べたような、正解鍵とそれ以外の鍵候補でのピークの比較結果を基準とし、お互いに一部鍵解析に成功しているならば、ピークの差または比が大きいほうを次の２分する解析範囲とする方法が例示できる。一方、お互いに鍵解析に失敗しているならば、ピークの差または比が小さいほうを次の２分する解析範囲とする方法等が例示できる。
【００９３】
２つの解析範囲の結果を比較しながら解析範囲を絞っていくことで、耐性評価に有効な解析範囲を探索することが可能となる。その結果、耐性評価の精度を向上させることが可能となる。
【実施例１】
【００９４】
本発明の第５の実施形態において、暗号を実施可能な評価ボード（図１の暗号装置１００に相当）においてＤＥＳを実装し、オシロスコープ（図１のサイドチャネル情報測定装置２００に相当）を用いて、暗号処理中の評価ボードから漏洩する電磁波（各実施形態におけるサイドチャネル情報に相当）を測定し、測定した電磁波を用いてサイドチャネル攻撃耐性を評価する場合について説明する。【００９５】
今回の実施例では、使用暗号はＤＥＳとし、鍵長は６４ｂｉｔ、ラウンド数１６段として、最終段における４８ｂｉｔ（６ｂｉｔの部分鍵が８個）のラウンド鍵の解析の可否でサイドチャネル攻撃耐性を評価する。【００９６】
動作としては、図９に示した各ステップに相当する動作を行う。ステップＡ３の耐性評価ではＣＰＡを用い、８個の部分鍵ごとに６４個の鍵候補に対する相関係数のピーク値と位置を算出し、そのうち正解鍵のピーク値が他の６３個の鍵候補のピーク値より高ければその部分鍵は解析成功となる。【００９７】
ステップＡ５では５回ループしたら耐性ありと評価して終了とする。また、８個ある部分鍵のうち５つ以上の部分鍵の解析に成功した場合は、耐性なしと評価して終了とする。【００９８】
ステップＡ８では、解析成功した部分鍵において、正解鍵のピーク値と他の鍵候補のピーク値の比を求め、最も比が大きくなった部分鍵のピーク位置をステップＡ２−４における解析範囲の設定の基準とする。【００９９】
ステップＡ２−４では解析に成功した鍵のピーク位置を中心に解析範囲を設定する。また、ステップＡ２−５では最も比が大きくなった部分鍵のピーク位置を中心として解析範囲を設定する。その範囲は１回目のループでは２５１ポイント、２回目のループでは１０１ポイント、３回目は５１ポイント、４回目は２５ポイント、５回目は１１ポイントとする。【０１００】
サイドチャネル攻撃耐性評価の流れについて説明する。はじめに、評価ボードにてＤＥＳを実行し、ＤＥＳの電磁波波形を複数測定する（ステップＡ１）。なお、最初の波形のポイント数は２８０００ポイントとしている。図１２に測定した電磁波波形を示す。【０１０１】
次に、サイドチャネル攻撃耐性評価として、測定したＤＥＳの電磁波波形に対し、ＣＰＡを実施し８個の部分鍵を解析する（ステップＡ３）。下記の表１に８個の部分鍵（Ｋｅｙ１〜８）の正解を示す。【０１０２】
【表１】
2011071063.tif 000003
また、図１５に１回目の解析結果を示す。ここで図１５は各部分鍵に対して解析した結果、ピークが高かった順に３個の鍵候補のピーク値とピーク位置、および鍵候補の値を示している。また、灰色が塗られている箇所は正解鍵であることを示している。図１５より、解析成功した部分鍵は３個であることがわかる。したがって、解析に成功した鍵の個数は４個以下（ステップＡ５においてＮＯ）であり、また複数の部分鍵の解析に成功している（ステップＡ６においてＹＥＳ、Ａ７においてＹＥＳ）。したがって、成功した部分鍵のピーク値の比較を行う（ステップＡ８）。下記の表２に成功した部分鍵における、正解鍵と他の鍵候補のピーク値、およびそのピーク値の比をとったものを示す。【０１０３】
【表２】
2011071063.tif 000004
表２より、Ｋｅｙ６の比が最も高いことがわかる。したがって、Ｋｅｙ６のピーク位置８７３６ポイントを中心に２５１ポイントとった、８６１１〜８８６１ポイントを次の解析範囲と設定する（ステップＡ２−５）。図１３に電磁波波形において解析対象とした箇所（矢印で示した箇所）を示す。また、図１４に解析対象の範囲を切り出した波形を示す。【０１０４】
そして、新たに設定した解析範囲で再びＣＰＡを実行して部分鍵の解析を行う（ステップＡ３）。新たな解析範囲で解析した結果を図１６に示す。図１６の項目は、図１５と同様である。図１６より、解析に成功した部分鍵の数が６個に増加していることがわかる。したがって、解析に成功した部分鍵の数が５個以上となったため、今回の評価対象にはサイドチャネル攻撃耐性はないと評価して、サイドチャネル攻撃耐性評価は終了となる（ステップＡ５においてＹＥＳ）。【０１０５】
このように、解析結果に応じて解析範囲を絞り込むことにより、解析精度が向上する。その結果、高い評価精度を持つサイドチャネル攻撃耐性評価装置を実現できる。【０１０６】
また、本発明の実施形態は、解析範囲を設定することでサイドチャネル攻撃耐性評価装置の評価精度を高めることを目的とするものであるが、サイドチャネル情報の解析を未だ行っていない段階においてサイドチャネル情報の持つ特徴に応じて解析範囲を決定することが可能である。【０１０７】
すなわち、サイドチャネル情報の解析結果に基づいて初めて解析する範囲を決定し、その後に再解析を行うといった技術とは相違する点も有している。【０１０８】
なお、本発明の実施形態であるサイドチャネル攻撃耐性評価装置は、ハードウェアにより実現することもできるが、コンピュータをそのサイドチャネル攻撃耐性評価装置として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。【０１０９】
また、本発明の実施形態によるサイドチャネル攻撃耐性評価方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。【０１１０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。【０１１１】
（付記１）暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置において、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部と、を備えることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１２】
（付記２）付記１に記載のサイドチャネル攻撃耐性評価装置において、前記サイドチャネル情報受付部に代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定部を備えることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１３】
（付記３）付記１又は２に記載のサイドチャネル攻撃耐性評価装置において、前記解析範囲設定部が前記サイドチャネル攻撃耐性評価部における評価結果に応じて再度解析範囲設定を行い、前記サイドチャネル攻撃耐性評価部が、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１４】
（付記４）付記３に記載のサイドチャネル攻撃耐性評価装置において、前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１５】
（付記５）付記３又は４に記載のサイドチャネル攻撃耐性評価装置において、前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部において解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１６】
（付記６）付記３又は４に記載のサイドチャネル攻撃耐性評価装置において、前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価装置。【０１１７】
（付記７）付記３又は４に記載のサイドチャネル攻撃耐性評価装置において、前記解析範囲設定部が、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定を設定することを特徴とするサイドチャネル攻撃耐性評価装置。【０１１８】
（付記８）付記３乃至７の何れか１項に記載のサイドチャネル攻撃耐性評価装置において、前記解析範囲設定部が解析範囲を分割し、前記サイドチャネル攻撃耐性評価部が前記分割された解析範囲毎に前記評価をし、前記解析範囲設定部が前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価装置。【０１１９】
（付記９）暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置のサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価方法において、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付ステップと、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定ステップと、前記解析範囲設定ステップで設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価ステップと、を備えることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２０】
（付記１０）付記９に記載のサイドチャネル攻撃耐性評価方法において、前記サイドチャネル情報受付ステップに代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定ステップを備えることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２１】
（付記１１）付記９又は１０に記載のサイドチャネル攻撃耐性評価方法において、前記解析範囲設定ステップが前記サイドチャネル攻撃耐性評価ステップにおける評価結果に応じて再度解析範囲設定を行い、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２２】
（付記１２）付記１１に記載のサイドチャネル攻撃耐性評価方法において、前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２３】
（付記１３）付記１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおいて解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２４】
（付記１４）付記１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおける評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２５】
（付記１５）付記１１又は１２に記載のサイドチャネル攻撃耐性評価方法において、前記解析範囲設定ステップでは、前記サイドチャネル攻撃耐性評価ステップにおける評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価方法。【０１２６】
（付記１６）付記１１乃至１５の何れか１項に記載のサイドチャネル攻撃耐性評価方法において、前記解析範囲設定ステップで解析範囲を分割し、前記サイドチャネル攻撃耐性評価ステップで前記分割された解析範囲毎に前記評価をし、前記解析範囲設定ステップで前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価方法。【０１２７】
（付記１７）暗号装置から漏洩するサイドチャネル情報を用いて、前記暗号装置の暗号化に関する内部処理又は秘匿情報を解析するサイドチャネル攻撃への耐性を評価するサイドチャネル攻撃耐性評価装置に組み込まれるサイドチャネル攻撃耐性評価プログラムにおいて、耐性評価対象の暗号装置から取得したサイドチャネル情報を外部から受け付け、当該サイドチャネル情報を取り込むサイドチャネル情報受付部と、前記サイドチャネル情報の全ての範囲内から解析対象とする範囲である解析範囲を設定する解析範囲設定部と、前記解析範囲設定部で設定された前記解析範囲内のサイドチャネル情報を用いて評価対象の暗号装置のサイドチャネル攻撃への耐性の可否を判定するサイドチャネル攻撃耐性評価部と、を備えるサイドチャネル攻撃耐性評価装置としてコンピュータを機能させることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１２８】
（付記１８）付記１７に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記サイドチャネル攻撃耐性評価装置は、前記サイドチャネル情報受付部に代えて、前記評価対象の暗号装置のサイドチャネル情報を測定するサイドチャネル情報測定部を備えることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１２９】
（付記１９）付記１７又は１８に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記解析範囲設定部が前記サイドチャネル攻撃耐性評価部における評価結果に応じて再度解析範囲設定を行い、前記サイドチャネル攻撃耐性評価部が、再度サイドチャネル攻撃耐性評価を行い、当該再度の解析範囲設定及び当該再度のサイドチャネル耐性評価が繰り返されることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３０】
（付記２０）付記１９に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記再度の解析範囲設定及び前記再度のサイドチャネル耐性評価は、予め定められた条件が満足されるまで繰り返されることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３１】
（付記２１）付記１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部において解析に成功した鍵におけるピークに基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３２】
（付記２２）付記１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記解析範囲設定部は、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析成功時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定をすることを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３３】
（付記２３）付記１９又は２０に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記解析範囲設定部が、前記サイドチャネル攻撃耐性評価部における評価結果の中で、解析失敗時における正解鍵とそれ以外の鍵候補におけるピークを比較し、比較した結果に基づいて前記再度の解析範囲の設定を設定することを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３４】
（付記２４）付記１９乃至２３の何れか１項に記載のサイドチャネル攻撃耐性評価プログラムにおいて、前記解析範囲設定部が解析範囲を分割し、前記サイドチャネル攻撃耐性評価部が前記分割された解析範囲毎に前記評価をし、前記解析範囲設定部が前記分割された解析範囲毎の評価の結果に応じて再度の分割の対象とする解析範囲を選択し、再び前記解析範囲分割、前記分割された解析範囲毎の耐性評価及び前記解析範囲の選択を行うことを特徴とするサイドチャネル攻撃耐性評価プログラム。【０１３５】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。【０１３６】
この出願は、２００９年１２月１０日に出願された日本出願特願２００９−２８０４８７号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１３７】
１００  暗号装置
２００  サイドチャネル情報測定装置
３００、３０１  サイドチャネル攻撃耐性評価装置
３０１  サイドチャネル情報受付部
３０２  解析範囲設定部
３０３  サイドチャネル攻撃耐性評価部
３０４  サイドチャネル情報測定部
【図１】
2011071063.tif 000005
【図２】
2011071063.tif 000006
【図３】
2011071063.tif 000007
【図４】
2011071063.tif 000008
【図５】
2011071063.tif 000009
【図６】
2011071063.tif 000010
【図７】
2011071063.tif 000011
【図８】
2011071063.tif 000012
【図９】
2011071063.tif 000013
【図１０】
2011071063.tif 000014
【図１１】
2011071063.tif 000015
【図１２】
2011071063.tif 000016
【図１３】
2011071063.tif 000017
【図１４】
2011071063.tif 000018
【図１５】
2011071063.tif 000019
【図１６】
2011071063.tif 000020
【国際調査報告】
2011071063.tif 000021
2011071063.tif 000022
2011071063.tif 000023