サイドチャネル攻撃は、暗号アルゴリズムを数学的に破るのではなく、処理している装置から漏れ出る物理的な副次情報を観測して、中の秘密(鍵)を推測する手口です。入力と出力ではなく、「処理中の様子」そのものが手がかりになる、という発想の転換がポイントです。
先に押さえる
暗号は「鍵を知らなければ解けない」ように作られています。ところが実際の装置は、鍵の値によって消費電力・処理時間・電磁波・作動音などがわずかに変わります。この差を大量に測って統計的に突き合わせると、鍵のビットが少しずつ見えてくる――これがサイドチャネルです。
「動作の観測」から鍵に迫る
1処理させながら物理量を測る
暗号処理をする装置鍵で計算中
↓消費電力・処理時間・電磁波・作動音が鍵の値でわずかに変化
攻撃者副次情報を大量に記録統計処理で鍵を推測
1回の観測では分からなくても、入力を変えて何度も測り、統計的に解析すると、鍵に相関する差が浮かび上がります。装置に物理的に近づける場面(手元のデバイス等)で特に効きます。
入出力の検査では防げない
見抜きどころ
通常の対策(強い鍵・正しいプロトコル)は入出力の世界の話で、サイドチャネルはその外側(物理)から来ます。だから守りも物理側で――処理時間を一定にする/消費電力の差をならす・ノイズを加える/電磁波を遮蔽する/物理的な接近を制限する方向になります。「暗号が強い=サイドチャネルにも強い」ではない点が急所です。
主な漏れ口と抑え方
漏れる副次情報
- 消費電力/処理時間
- 電磁波/作動音・振動
抑える方向
- 時間・電力を一定化(差を消す)
- ノイズ付加・遮蔽・接近制限