【応用情報対策】サイドチャネル攻撃とは?暗号解読の「裏口」を知る

noteへのバナー

サイドチャネル攻撃 (Side-Channel Attack)とは、暗号アルゴリズムの数学的な「論理」を直接攻撃するのではなく、暗号処理を実行している「物理的な機器(ハードウェア)」から漏れ出す“副次的な情報(サイドチャネル)”を観測・分析して、秘密情報を盗み出す攻撃手法の総称です。

暗号装置に対する攻撃手段としては、対象の機器を破壊して解析を行う「破壊攻撃」と、破壊せず解析する「非破壊攻撃」に分類されますが、サイドチャネル攻撃は機器を破壊せず電磁波等の変動を測定して解読を行うため「非破壊攻撃」に該当します。

暗号への攻撃と聞くと、「すごい計算能力で鍵を総当たりする(ブルートフォース攻撃)」や「暗号アルゴリズムの数学的な弱点を見つける(暗号解読)」を想像するかもしれません。
そうした中で、応用情報技術者試験などの情報処理技術者試験で「サイドチャネル攻撃」が出題されると、戸惑う人もいるのではないでしょうか?

今回は、情報処理技術者試験の勉強をしている方に向けて、このサイドチャネル攻撃を解説していきます。

目次

サイドチャネル攻撃を金庫破りでたとえると

サイドチャネル攻撃を「金庫破り」でたとえてみましょう。

もしサイバー攻撃が金庫破りなら……
[画像:サイバー攻撃が金庫破りでたとえたイメージ]
  • 正面からの攻撃(ブルートフォース攻撃など):金庫のダイヤル錠を、0000から9999まで全部試すようなものです。
  • 金庫の設計図の欠陥を突く攻撃(暗号解読):「この金庫は特定の番号の組み合わせに弱い」という論理的な弱点を数学的に見つけ出すようなものです。
  • サイドチャネル攻撃:金庫のダイヤルを回しながら、聴診器を当てて「カチッ」というを聞き分けたり、金庫に触れてわずかな振動を感じ取ったりして、正しい番号を探るスパイのような手法です。

暗号処理を行うIoT機器やICカードも、処理中に「音」の代わりに以下のような物理的な情報を漏らしています。

IT機器から出ている物理的な情報
  • ⚡ 消費電力: 処理内容によって消費される電力が微妙に変化します(電力解析攻撃)。
  • 📡 電磁波: 動作中に微弱な電磁波(ノイズ)を発します(電磁波解析攻撃)。
  • ⏰ 処理時間: 処理するデータ(例えば、鍵が正しいか否か)によって、応答にかかる時間がわずかに異なります(タイミング攻撃)。
  • 🔊 音: CPUやコンデンサが動作中に発する「キーン」という微細な音(音響解析攻撃)。

攻撃者はこれらの「漏れ出た情報」を特殊な機器で測定し、統計的に分析することで、「今、機器内部ではどんな計算が行われているか」を推測し、最終的に秘密鍵などを特定してしまいます。

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

ここからは、具体的にIT機器から出ている物理的な情報をもとに、どのような攻撃ができるのかを紹介していきます。

タイミング攻撃

タイミング攻撃は、機器に様々な命令を出し、命令を処理する時間差を分析することで情報を取得する攻撃です。暗号化された情報を復号する際、一定の処理時間が必要となります。この復号時の処理時間の差を読み取ることで暗号鍵を導き出そうとする攻撃がタイミング攻撃の特徴です。

故障利用攻撃

故障利用攻撃は、ICチップなどに衝撃を加えることで誤作動を起こさせることで、正常に動作した時と故障時の動きを比較し、その結果の差異を解析する攻撃のことです。

電力解析攻撃

電力解析攻撃は、機器に様々な入力を行い、消費する電力の違いを測定し、暗号鍵を推測する攻撃のことです。
1回の暗号化、復号化における電力の変動を分析することを「単純電力解析」と呼び、複数回の暗号化、復号化における電力の変動を分析することを「差分電力解析」と呼びます。タイミング攻撃と類似の方法による測定となりますが、タイミング攻撃では処理が行われる時間差を計測することに対し、電力解析攻撃では消費する電力の違いを計測することが異なります。

キャッシュ攻撃

キャッシュ攻撃は、キャッシュヒットのメモリアクセスの時間の差分を利用して解析を行い、ブロック暗号の解読を行う攻撃のことです。

「キャッシュ」とは、よく利用するデータを予め端末内に取得しておくことでデータの読み込み時間を短縮する機能であり、キャッシュされていないデータはメインメモリから呼び出す際に多少の時間が必要となります。
その時間差を利用した攻撃がキャッシュ攻撃です。

音声解析攻撃

音声解析攻撃は、コンピューターが処理を演算する際に発生するノイズを分析して処理内容を推測する攻撃のことです。

サイドチャネル攻撃への対処

機器の管理を徹底し盗聴されないようにする

サイドチャネル攻撃は、ターゲットとなる機器が攻撃者の手元にない状態とすることが重要です。サイドチャネル攻撃の特性上、対象とする機器を測定できる範囲内にいないと攻撃することはできません。日頃から管理を徹底し、盗難に遭わないように注意することが大切です。

耐タンパ性のある機器を使用する

耐タンパ性とは、情報を読み取ろうとする動きを察知した際に機器自体が自動で内部情報を破壊する性質を持ちます。そのため、サイドチャネル攻撃を受けた際、その機器が攻撃を感知すると、内部構造を自動的に破壊して情報の漏洩を防ぎます。

耐タンパ性についてさらに詳しく

耐タンパ性については、下記の記事もご参照ください。

過去問に挑戦!

それでは、情報処理技術者試験の問題を見てみましょう。

令和7年度 応用情報技術者試験 春期 午前 問37より

暗号機能を実装したIoT機器における脅威のうち、サイドチャネル攻撃に該当するものはどれか。

暗号化関数を線形近似する式を導き、その線形近似式から秘密情報の取得を試みる。

機器が発する電磁波を測定することによって秘密情報の取得を試みる。

二つの平文の差とそれぞれの暗号文の差の関係から、秘密情報の取得を試みる。

理論的にあり得る復号鍵の全てを機器に入力して秘密情報の取得を試みる。

解答と解説

正解はの選択肢です。

この問題は、「サイドチャネル攻撃は物理的な漏洩情報を狙う」ということを覚えておけば、他の選択肢と明確に区別できます。

ア:線形解読法 (Linear Cryptanalysis) これは数学的(統計的)な暗号解読手法です。「線形近似する式」というキーワードがヒントです。アルゴリズムの「論理的・数学的な弱点」を攻撃しており、物理的な漏洩は一切関係ありません。

ウ:差分解読法 (Differential Cryptanalysis) これも数学的(統計的)な暗号解読手法です。「平文の差と暗号文の差の関係」というキーワードがヒントです。入力(平文)と出力(暗号文)の関係性という「論理」を攻撃しています。

このア(線形解読法)とウ(差分解読法)の選択肢は、どちらも暗号アルゴリズムの”中身”(論理や数学)の弱点を突く「暗号解読(クリプトアナリシス)」に分類されます。

エ:ブルートフォース攻撃 (Brute-Force Attack) / 総当たり攻撃 これは暗号アルゴリズムを”無視”する攻撃です。「あり得る復号鍵の全て」というキーワードがヒントです。アルゴリズムの論理も物理的な漏洩も関係なく、ただひたすら「鍵の全パターン」を試すという、最も古典的で直接的な攻撃です。

今回の問題に出題された攻撃手法を分類すると、このようになります。

選択肢攻撃手法攻撃対象見分けるキーワード
線形解読法アルゴリズムの論理・数学「線形近似」
サイドチャネル攻撃ハードウェアの物理的漏洩「電磁波」「消費電力」「処理時間」
差分解読法アルゴリズムの論理・数学「平文の差と暗号文の差」
ブルートフォース攻撃(力ずく)「全ての鍵」

まとめ

今回はサイドチャネル攻撃について解説いたしました。

サイドチャネル攻撃の対策としては、物理的な漏洩を減らす(シールドで覆う、消費電力や処理時間を一定にするなど)設計が求められます。

このように、攻撃手法を「何を狙っているのか?」で分類・整理しておくと、試験の本番で迷うことがなくなります。

参考

  • https://cybersecurity-jp.com/column/34603
  • https://office110.jp/security/knowledge/cyber-attack/side-channel-attack
  • https://www.lrm.jp/security_magazine/sidechannel/
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次