サイドチャネル攻撃とは何か?攻撃の種類と対処法について解説

サイドチャネル攻撃とは

「サイドチャネル攻撃(Side Channel Attack)」とは、機器が発している暗号を解読し、外部から観察または測定を行うことで内部情報を取得するサイバー攻撃の1つです。
暗号装置に対する攻撃手段としては、対象の機器を破壊して解析を行う「破壊攻撃」と、破壊せず解析する「非破壊攻撃」に分類されますが、サイドチャネル攻撃は機器を破壊せず電磁波等の変動を測定して解読を行うため「非破壊攻撃」に該当します。

近年の情報暗号化技術にはAESなどの強固なアルゴリズムが採用されており、プログラムによる解析は困難とされていますが、サイドチャネル攻撃ではソフトウェアの性質ではなく、電磁波などの物理的な特性を用いて解析を試みる攻撃となります。そのため、強力な暗号化が施されている状態だとしても、サイドチャネル攻撃を受けると、解読されてしまう恐れがあります。

サイドチャネル攻撃の仕組み

サイドチャネル攻撃は、暗号機能を内蔵したICカードや半導体製品などを対象とし、機器の内部で暗号化や復号化を行う際の処理時間や消費電力の変化、電磁波、熱、音などの変動を測定し、解析を試みます。内部電流の変化によって生じる物理減少の時間変化を観測することで、内部で処理されている演算データや情報を取得し、重要情報を取得します。これらのように情報の出入口ではない部分から機密情報を取得する方法であることからサイドチャネル攻撃と呼ばれています。

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

タイミング攻撃

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

故障利用攻撃

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

電力解析攻撃

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

キャッシュ攻撃

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

音声解析攻撃

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

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

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

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

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

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

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

参考

  • https://cybersecurity-jp.com/column/34603
  • https://office110.jp/security/knowledge/cyber-attack/side-channel-attack
  • https://www.lrm.jp/security_magazine/sidechannel/