サイドチャネル攻撃とは
サイドチャネル攻撃は、
コンピュータシステムのセキュリティにおける脅威の一つで、
暗号アルゴリズムの
実装から得られる情報を悪用して
暗号を解読する手法です。従来の攻撃がアルゴリズムの理論的な弱点やソフトウェアの
バグを突くのに対し、サイドチャネル攻撃は
システムの物理的な挙動に着目します。具体的には、処理時間、消費電力、電磁波、さらには
音響といった情報が攻撃に利用される可能性があります。
この攻撃は、
暗号システムが理論的に堅牢であっても、
実装の際に生じる情報漏洩によってセキュリティが損なわれる可能性があることを示唆しています。例えば、
暗号処理にかかる時間や、デバイスの消費電力の変化から、秘密鍵などの機密情報を推測できる場合があります。
サイドチャネル攻撃の背景
暗号の歴史において、理論的な強度だけでなく、運用上の
脆弱性も考慮する必要性が常に認識されてきました。サイドチャネル攻撃は、この考え方を現代の
コンピュータシステムに応用したものです。
暗号処理がブラックボックス化されている場合でも、サイドチャネルを通じて得られる情報が攻撃の糸口となることがあります。これは、情報セキュリティの観点からも、正規の出入口ではないチャネルからの情報漏洩を防ぐことの重要性を示しています。
ICカードのようなデバイスでは、攻撃者が処理時間や消費電力を精密に測定できるため、サイドチャネル攻撃に対する対策が不可欠です。
GSMカードの消費電力測定から秘密鍵が特定された事例もあるように、現実的な脅威として認識されています。
サイドチャネル攻撃の発展
サイドチャネル攻撃の研究は、1990年代後半から盛んになりました。
ICカードマネーなど、社会的に重要な応用が登場したことが背景にあります。
暗号評価プロジェクトによって
暗号方式のリストが作成される中で、「
暗号方式が安全でも
実装が脆弱だと安全に利用できない」という認識が広まり、研究が加速しました。
主な攻撃手法
サイドチャネル攻撃には、以下のような様々な手法があります。
タイミング攻撃: 処理時間に着目した攻撃。暗号処理にかかる時間の違いから情報を推測します。
電力解析攻撃: デバイスの消費電力に着目した攻撃。消費電力の変化から処理内容を分析します。
単純電力解析 (SPA): 消費電力の波形を直接観察して情報を得る。
差分電力解析 (DPA): 複数の消費電力の波形を統計的に処理して情報を得る。
高次差分電力解析 (HO-DPA): より高度な統計的手法を用いて情報を得る。
電磁波解析攻撃: デバイスから漏洩する電磁波に着目した攻撃。電磁波のパターンから処理内容を分析します。
キャッシュ攻撃: CPUキャッシュの挙動に着目した攻撃。メモリへのアクセス時間から情報を推測します。
音響解析攻撃: デバイスの動作中に発生する
音響に着目した攻撃。
音のパターンから処理内容を分析します。
これらの攻撃手法に対応するため、情報漏洩を防ぐ
コンピュータハードウェアやアーキテクチャの研究も進められています。
サイドチャネル攻撃の歴史
サイドチャネル攻撃の歴史は、1990年代から始まりました。
タイミング攻撃: 1995年にPaul Kocherによって発表され、処理時間を利用した攻撃が注目されるようになりました。
故障利用攻撃: 1996年に、
ICカードに意図的にエラーを発生させることで秘密鍵を特定する攻撃法が発表されました。これはフォールト解析攻撃とも呼ばれます。
電力解析攻撃: 1998年にKocherらによって発表され、デバイスの消費電力と処理内容の相関を利用した攻撃法が広まりました。
電磁波解析攻撃: 2001年に、デバイスから漏洩する電磁波を利用した攻撃法が発表されました。
キャッシュ攻撃: 2002年に、キャッシュの利用状況を利用したタイミング攻撃が発表され、近年ではMeltdownやSpectreといった深刻な脆弱性が発見されました。
音響解析攻撃: 2004年に、デバイスが発する
音を分析して処理内容を把握する攻撃が発表されました。
まとめ
サイドチャネル攻撃は、
暗号システムのセキュリティを脅かす重要な脅威であり、その対策は情報セキュリティにおいて不可欠です。攻撃手法が多様化する中で、
ハードウェア、ソフトウェア両面からの対策が求められています。また、
暗号理論だけでなく、
実装レベルでのセキュリティ対策が重要であることが、サイドチャネル攻撃の存在によってより明確になっています。
[参考資料]
タイミング攻撃、電力解析攻撃などを提案したKocher達による論文
NTT、Spectreや
Meltdownなど
CPUに対するキャッシュ攻撃を防ぐキャッシュランダム関数を開発