Kocherらによって提案された電力差分攻撃は 電力信号を計測することでスマートカード内の秘密情報を不 正に入手することを可能とする強力な攻撃方法である.スマートカード上の DESの解析に対し,Kocherらは電力差分解析を適用し1000回の暗号化処理を行うことで秘 密鍵の導出に成功している.[Cor99]において,楕円曲線暗号系に対する電力差分解析 を一般化し,それを楕円曲線上のDiffie-Hellman鍵配送や楕円曲線上の ElGamal型暗号に適用した.これらの攻撃を利用した場合,スマートカード内 の秘密鍵を取り出すことが可能である.また,これらの攻撃に対する対応方法 についても検討が行なわれている.本節では,これらの手法の紹介を行なう. 対処方法についてはIII.3.3.5.3.4節を参照のこと.
楕円曲線の暗号への応用は1985年にMillerとKoblitzによって初めて提案され
た.それ以来,様々な楕円曲線暗号系の研究は活発に行われている.楕円曲線
は,従来の離散対数暗号系で利用されている群構造と置き換え可能な群構造を
提供する.位数
の元
による巡回群での離散対数問題は,
の元
に対し
を導出することである.楕円曲線上の離散対数問題は有限体上の乗法群のよう
な他の群より大幅に困難であると考えられている.超特異楕円曲線以外の楕円
曲線上の離散対数問題においては,準指数オーダーの計算時間での計算アルゴ
リズムは知られていない.このため,楕円曲線暗号系においては秘密鍵のサイ
ズは160ビット程度で充分となる.
[Cor99]においては,スマートカード上に実装された楕円曲線暗号に対し,電力 消費量を計測することで攻撃を試みている.電力差分解析は電力消費量に応じた秘密情報の 漏洩を利用した強力な攻撃である.電力差分解析はDESに対して適用され,1000回の暗号 化処理によって秘密鍵を不正に入手することに成功している.さらに,AESの 候補に挙がっている暗号系のスマートカード上の実装に対しても電力差分解析が効果的 であることが示されている.これらの結果により楕円曲線暗号の単純な実装に対 しても電力差分解析が効果的であることが確認された.
の計算は倍加算法(double-and-add algorithm)をそのまま適用することで行うことができる.
とビット列表記し(
を最上位ビット
とする),次のアルゴリズム
によってこれを示す.
スカラー乗算を高速に行うための様々な手法が存在している.
が既知の場
合,
の乗算に関する表を事前に計算することは有効的である.楕円曲線に
おいて減算と加算のコストは等しいため,倍加算法は次の
加減算法(addition-subtraction algorithm)に改良することができる.
最小の(楕円曲線上の)計算処理回数でdPを計算する方法を見つけることは,
の最も短い加減算鎖を見つけることと同値である.
加減算鎖とは次のような正整数の系列である.
の最も短い加減算鎖は
と計算することで,最小の計算処理回数で
を導出することができる.
DESへの電力差分解析は電力消費量と鍵に依存した特定のビットの相関を利用している.
たとえば,ひとつの最初のラウンドのSBOXの出力におけるビット
は入力メッ
セージと鍵の6個の未知のビットに依存している.そこで,6個の未知のビット
の取りうる値に対する出力
と電力消費量の相関を調べてやることで6個の未知
のビットの値を推測することが可能となる.これを残りのSBOXに対しても適用
してやることで合計48ビットの値が求められる.未知のままの残り8ビットは
全数探索で導出すればよい.
アルゴリズム
に対する電力差分解析は
ステップ目において
の値が
にのみ依存していることを利用している.ここで,点
の値がメモリ内でどのように表されているかわかっているものとする.点
が
アルゴリズム中で取り扱われるとき,
のある特定のビットと電力消費量に相
関が生じる.アルゴリズム中で取り扱われない点と電力消費量には相関は生じ
ない.これゆえ,スマートカード内で取り扱われている点を推測することが可
能である.
の最上位ビットから二ビット目
は電力消費量と
の二進表現によるビット列中の特定のビットとの相関を計算することにより導出される.もし,
であれば,
がアルゴリズム
中に出現する.一方,
であれば,
は絶対に出現しない.この手法により,
を求めることができる.同様の手法により残りのビットも導出される.
アルゴリズム
が点
に対して適用され,
の計算が行われるものとする.
を
の
計算を実行したときの電力消費量とする.
を
のある特定のビットとする
と,
と
の相関関数は次のように表される.
が
で実行されたとき,その電力消費量
は
と相関
が生じると仮定する.
のときの平均消費電力は
ときの平均消
費電力と異なったものとなる.そのため,
において
にピークが
現れる.
がアルゴリズム中で出現しなかったものとすると
中にピー
クは現れない.
に対して
を満足するすべての
を
のとりうる値として挙げる.これらの
に関して,
と電力
消費量との相関を調べる.もし,そこに有意な相関が観測されれば,
がア
ルゴリズム中に出現したことを意味し,
であるといえる.この手法によ
り,
を
の計算時間で導出することができる.
:
もしくは
上の楕円曲線曲線
:
の位数
:
を満足する大きい素数
:
上の位数
の元
秘密鍵:
公開鍵:
乱数
を計算.
が暗号文
.
楕円ElGamal暗号への電力差分攻撃では,
さまざまな暗号文
を用いて復号化を行い,
の計算に電力差分解析を適用することで
秘密鍵
を導出することが可能である.
:
もしくは
上の楕円曲線曲線
:
の位数
:
を満足する大きい素数
:
上の位数
の元
Alice, Bobの秘密鍵:
Alice, Bobの公開鍵:
を計算.
もし
であればエラーを出力する.
共有鍵は
の
座標を用いる.
楕円曲線Diffie-Hellman鍵配送への電力差分攻撃では,
さまざまな利用者の公開鍵に対して鍵共有のための計算
を実行し,
それらに電力差分解析を適用することで
秘密鍵
を導出することができる.