【さいどちゃねるこうげき】

サイドチャネル攻撃 とは?

公開:
💡 正面突破じゃなく、壁の振動から中の会話を盗み聞く攻撃
📌 このページのポイント
サイドチャネル攻撃の種類 暗号処理中の コンピュータ タイミング攻撃 処理時間の差を分析 電力解析攻撃 消費電力の変動を分析 電磁波攻撃 漏洩電磁波を傍受 → 秘密鍵などの機密情報を推測
サイドチャネル攻撃の種類
ひよこ ひよこ
サイドチャネル攻撃って、暗号を解読するわけじゃないの?
ペンギン先生 ペンギン先生
そう、暗号アルゴリズム自体を数学的に破るのではなくて、暗号処理をしているコンピュータから漏れる物理的な情報を利用するんだよ。たとえば処理にかかる時間の微妙な違いから秘密鍵を推測するんだ
ひよこ ひよこ
時間の違いで分かっちゃうのかな?
ペンギン先生 ペンギン先生
暗号処理では秘密鍵のビットが0か1かで処理時間が微妙に異なることがあるんだ。何万回も計測して統計分析すると、鍵が復元できてしまうんだよ。これがタイミング攻撃だね
ひよこ ひよこ
SpectreとかMeltdownもサイドチャネル攻撃なんだよね?
ペンギン先生 ペンギン先生
そうだよ。あれはCPUの投機的実行という最適化機能のサイドチャネルを利用して、本来アクセスできないメモリの内容を読み取る攻撃だったんだ。ほぼ全てのCPUに影響があって大問題になったね
ひよこ ひよこ
どうやって防ぐの?
ペンギン先生 ペンギン先生
ソフトウェア対策としては、入力によらず常に同じ時間で処理する『定時間実装』が基本だよ。ハードウェアレベルでは、意図的にノイズを発生させたり、HSMのような耐タンパー性のあるハードウェアを使う方法があるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サイドチャネル攻撃」って出てきたら「処理時間や電力消費から秘密情報を推測する攻撃」と思えればだいたいOK!
📖 おまけ:英語の意味
「Side-Channel Attack」 = 副経路攻撃
💬 メインの通信チャネルではなく、横(サイド)から漏れる情報を使うから『サイドチャネル』と呼ぶんだよ
← 用語集にもどる