STEP 9 詳細解説

⚡ サイドチャネル攻撃:「数学的に安全な暗号」が実装の隙から破られる話

もふねこ

もふねこだよ🐾 今回は「暗号の数学は完璧でも、現実の実装には隙がある」という話ね。

サイドチャネル攻撃は映画のハッカーみたいでちょっとカッコいいけど、本当に恐ろしい攻撃方法ね!

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

サイドチャネル攻撃(Side-Channel Attack)とは、暗号アルゴリズム自体(数学)を直接解読しようとするのではなく、暗号処理を行うコンピュータやデバイスの「物理的な振る舞い」(処理時間・消費電力・電磁波・音など)を観察することで秘密鍵などの情報を盗み出す攻撃の総称です。

🔑 核心となる考え方
「AES暗号を数学的に解読するのは不可能に近い。でも、AESを実行しているCPUの消費電力パターンを測定すれば鍵の情報が漏れるかもしれない」——これがサイドチャネル攻撃の発想です。

読者
読者

えっ、消費電力を見るだけで鍵がわかるの!?

もふねこ
もふねこ

実際に可能なんだよ!CPUが「1」を処理するときと「0」を処理するときで消費電力がわずかに違う。その差を統計的に分析すると、秘密鍵のビット列が推測できてしまうにゃ😱 これを「差分電力解析(DPA)」と言うよ🐾


🔸 主なサイドチャネル攻撃の種類

⏱️ タイミング攻撃(Timing Attack)

処理にかかる時間の差を測定して秘密情報を推測。
例:RSA処理やパスワード比較の処理時間が鍵の内容によって変わる場合、それを測定することで鍵が推測できる。
対策:定時間実装(Constant-Time Implementation)——すべての入力に対して同じ時間がかかる実装にする。

⚡ 電力解析攻撃(Power Analysis)

デバイスの消費電力を測定して秘密鍵を推測。
SPA(単純電力解析):1回の測定から視覚的に鍵情報を読む。
DPA(差分電力解析):多数の測定の統計分析から鍵を推測。スマートカード・ICカードへの現実的な脅威。
対策:マスキング処理・ランダムな遅延の挿入・電力ノイズ注入。

📡 電磁波解析(Electromagnetic Analysis, EMA)

デバイスから漏れる電磁波を解析して秘密情報を推測。
物理的に接触せずに近距離から行えるため、より実用的な攻撃が可能。
対策:電磁波シールド・マスキング処理。

🔊 音響解析(Acoustic Cryptanalysis)

CPUやファンが発する音を録音・解析して演算内容を推測。
2013年、スタンフォード大らがRSA秘密鍵を音響解析で復元できることを実証。
対策:防音筐体・ソフトウェア側の定時間実装。

⚠️ フォルト攻撃(Fault Attack)

意図的に誤動作を引き起こして(電圧・クロック・レーザー照射など)、処理の誤りから秘密情報を取り出す。
実例:RSA-CRT実装でfault injectionにより秘密鍵の素因数を1回で取り出せることがある。
対策:計算結果の検証・フォルト検出機構。


🔸 現実世界での脅威:スマートカード・ICカードへの攻撃

サイドチャネル攻撃が特に問題になるのは、物理的にアクセス可能なデバイス(スマートカード・ICチップ・HSM・IoT機器など)です。クレジットカードのICチップやSuica/交通ICカードにも同様の技術が使われているため、研究者の間では対策が重要な課題となっています。

⚠️ 実際に起きた攻撃事例(LSI設計研究資料より)
電力解析 2011年 商用スマートカードへの秘密鍵取得
市販の商用スマートカード(ICカード)の消費電力パターンを解析することで、内部の秘密鍵の取得に成功。カードの物理的な改ざんなしに、暗号化されたデータを復元することができた。
電磁波解析 2013年 イモビライザからの秘密鍵取得
自動車の盗難防止装置「イモビライザ」の電磁波を近距離で解析。暗号化された認証通信から秘密鍵を取得することに成功。車両の不正起動が理論上可能になる深刻な脆弱性が実証された。
テンペスト攻撃 2014年 市販タブレットへの攻撃(SCIS'14)
IC漏洩電波を利用したテンペスト攻撃。市販のタブレット端末から漏洩する電波を傍受・解析することで、ディスプレイ上の情報やキーボード入力の情報を取得することに成功(2014年 暗号と情報セキュリティシンポジウムで発表)。
故障注入 1997年 公開鍵・共通鍵暗号回路の同時解読
意図的に電圧やクロックの不良動作を誘発する「フォルト攻撃」(故障注入)により、RSA・DESを含む暗号回路の解読に成功。公開鍵・共通鍵の両方に有効であることが初めて実証された。

出典: 「システムLSI設計実践演習」三浦典之(大阪大学)講義資料より要約

✅ サイドチャネル対策が施されているもの

  • 現代の銀行IC・クレジットカード(EMV規格):電力解析対策済み
  • ハードウェアセキュリティモジュール(HSM):企業の秘密鍵管理装置
  • 物理セキュリティキー(YubiKeyなど):FIPS認定品はサイドチャネル対策済み
  • 最新のスマートフォンのSecure Element:Appleのセキュアエンクレーブ等

🔸 SpectrとMeltdown:CPUレベルのサイドチャネル

2018年に公開されたSpectreMeltdownは、サイドチャネル攻撃の概念がCPU設計レベルに適用された衝撃的な脆弱性です。

  • Meltdown:CPUの「投機的実行」の仕組みを悪用して、プロセス間のメモリ境界を越えて他プロセスのデータを読み取る
  • Spectre:CPUの「分岐予測」を悪用して、同じプロセス内の機密データにアクセスする

これらはIntel・AMD・ARMのほとんどすべての現代CPUに影響し、全世界のパソコン・サーバー・スマートフォンに緊急パッチが適用されました。「暗号の数学が正しくても、CPUアーキテクチャの隙が情報漏洩につながる」という典型例です。

📌 まとめ

  • サイドチャネル攻撃は暗号の数学を解くのではなく、実装の「物理的な側面」から情報を得る攻撃
  • 種類:タイミング攻撃・電力解析(SPA/DPA)・電磁波解析・音響解析・フォルト攻撃
  • スマートカード・IoT機器など物理的にアクセス可能なデバイスが主な標的
  • 対策:定時間実装・マスキング・電磁波シールド・フォルト検出など
  • SpectreとMeltdownはCPUレベルのサイドチャネル脆弱性。全世界のデバイスに影響
  • 「アルゴリズムは安全でも実装が脆弱」——だから信頼できるライブラリを使うことが大切
もふねこ
もふねこ

「暗号を使う」よりも「暗号を正しく実装する」の方が難しいんだよ💦 だから素人が一から暗号を実装するのは危険で、実績あるライブラリを使うのが鉄則だよ🐾 暗号の世界は奥が深いにゃ~!

ハードウェアウォレットの安全性もサイドチャネル対策に依存している

Ledger・Trezorなどのハードウェアウォレットはサイドチャネル攻撃対策を重要な設計要件にしています。
暗号資産を長期保管するためのハードウェアウォレット選びを、姉妹サイトで詳しく解説しています🐾

👉 暗号カフェでウォレット選びを学ぶ

この記事を読み終えたらスタンプをゲットしよう!

🔙 前の記事:認証の種類 STEP 9 まとめへ →