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

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

最終更新:
💡 処理の時間や痕跡から、秘密情報を探る

処理時間や電力消費、電磁波など、処理に伴って観測できる情報を利用し、秘密情報を推測する攻撃。暗号処理だけでなく、CPUのキャッシュなどを利用する攻撃も含む。

📌 このページのポイント
サイドチャネル:処理の痕跡を手がかりに 処理する機器 時間の差 電力の変動 電磁波 観測・分析して、秘密情報を推測する 成功の条件や、必要な対策は実装による
中央の機器から、時間・電力・電磁波という観測可能な情報へ矢印。時計と波形は観測の例。測れば必ず秘密が分かるわけではなく、暗号以外のキャッシュなども対象になり得る。
ひよこ ひよこ
暗号の計算を数学的に破るの?
ペンギン先生 ペンギン先生
暗号方式そのものの数学的な弱点を解く方法とは違うよ。実装した機器が残す処理時間や電力などの手がかりから、秘密鍵などの情報を推測するんだ。
ひよこ ひよこ
時間を測れば、必ず鍵が分かる?
ペンギン先生 ペンギン先生
秘密と関連する時間の差が観測できるなどの条件が必要だよ。計測を重ねて分析する攻撃もあるけれど、一定の回数を測れば必ず復元できるという意味ではないんだ。
ひよこ ひよこ
機器の近くに行かないとできない?
ペンギン先生 ペンギン先生
電力や電磁波の計測には物理的な接近が必要になる場合があるね。一方、応答時間をネットワーク越しに観測する攻撃もある。サイドチャネルは一つの観測方法だけを指すわけではないよ。
ひよこ ひよこ
Spectreも関係する?
ペンギン先生 ペンギン先生
Spectreは投機的実行を悪用し、本来得られない情報を副作用から読み取る攻撃だよ。キャッシュのタイミングなどを手がかりにする。暗号処理の秘密鍵だけに対象が限られるわけではないんだ。
ひよこ ひよこ
定時間実装なら全部防げる?
ペンギン先生 ペンギン先生
定時間実装は、秘密情報と処理時間の変動が結び付かないようにする対策だよ。時計で測った時間が毎回完全に同じという意味ではない。電力などの別の漏えいやCPUの攻撃には、実装・機器・OSなどに応じた対策も必要になるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「サイドチャネル攻撃」って出てきたら「処理時間や電力などの手がかりから秘密を探る攻撃」と思えばだいたいOK!
📖 おまけ:英語の意味
「Side-Channel Attack」 = 副経路を使う攻撃
💬 本来やり取りする入力や出力のほかに、処理が残す時間の差や電力などを観測する経路がある。その副経路を使うのでサイドチャネルと呼ぶんだ。

参考資料

← 用語集にもどる