サイドチャネル攻撃(サイドチャネルこうげき、英語: side-channel attack)とは、コンピュータセキュリティの分野において、アルゴリズムの実装自体の弱さ(例:暗号そのものに対する解読やソフトウェアのバグ)ではなく、コンピュータシステムの実装から得られる情報を元にした暗号解読の攻撃のことである。タイミング情報、電力消費、電磁放射線のリーク、ときには音声さえも、追加の情報源となって悪用される可能性がある。

サイドチャネル攻撃には、システムの内部操作に関する技術的な知識を必要とするものもあるが、差分電力解析などはブラックボックス攻撃として効果的である。Microsoft Researchとインディアナ大学の研究者によると、ブラウザとサーバー間の通信がHTTPSやWiFi encryptionで暗号化されていても、Web 2.0アプリケーションとsoftware-as-a-serviceの興隆により、ウェブ上のサイドチャネル攻撃の可能性が大幅に高まった。多くの強力なサイドチャネル攻撃は、Paul Kocherによって開拓された統計的手法を元にしている。

正当なアクセス権を持つ人々を欺いたり強要したりして暗号システムを破壊しようとする試みは、通常、サイドチャネル攻撃とは見なされない。こうした手法については、ソーシャル・エンジニアリングと締め上げ暗号分析を参照。

## 概要

暗号学では古来、暗号の強度について暗号の理論的なそれ自体の強度(学理的強度)だけではなく、その運用など広い範囲で「いんちきな方法で掠め取る」ような手法(たとえば通信の担当者を買収する)に対する強度も考慮の必要があった。暗号システムの「最も弱いリンク」は、暗号の理論の外側の搦め手の要素かもしれない、ということである。

コンピュータが利用される現代の暗号の攻撃法においても、既知平文攻撃や選択暗号文攻撃などのように、平文や暗号文にはアクセスできるが暗号処理はブラックボックスで行うものとしたものばかりではなく、何らかの方法で処理そのものを盗み見るなどといった手法も考慮する必要がある。もともと暗号に限らないより広い情報セキュリティの考え方として、情報の正規の出入口ではないチャネル(サイドチャネル)を利用した情報の漏洩についての研究があり(漏洩電磁波の記事なども参照)、それの現代的暗号学への応用である。たとえば、暗号機能付きのICカードなどのように攻撃者が処理時間や消費電力を精密に測定できる場合には、平文や暗号文だけではなく、これらのサイドチャネルから漏洩する情報も考慮することが必要である。

実際、GSMカードの中には、動作中の消費電力を測定することで秘密鍵を特定できるものがあることが指摘されている。

前述のように暗号学的にも情報セキュリティ的にも以前からある考え方だが、ICカードマネーなど社会的に重要な応用に密接に関連することからそういったシステムが一意に出回り始めた1990年代後半に研究発表が目立つようになり、2000年代にCRYPTRECやNESSIEなどの暗号評価プロジェクトにより暗号方式のリストが作成された頃に「暗号方式が安全であっても暗号の実装が脆弱であると暗号を安全に利用することはできない」として、暗号分野の研究テーマの一つとして研究が盛んになった。

## 分類

具体的な攻撃方法としては、処理時間に注目したタイミング攻撃や、消費電力に注目した電力解析攻撃(power analysis attack)、装置から漏洩する電磁波(漏洩電磁波)に注目した電磁波解析攻撃などがある。

またこれらの研究の発達に対応するように、その動作を観測しても情報を推測不可能・困難なコンピュータハードウェアやアーキテクチャの研究も行われている。

## 歴史

### タイミング攻撃

1995年12月7日にKocherがWEBで発表した。WEBに掲載された文書は概要のみであったが、1995年12月11日にRSA社がChaumのブラインド署名方式を利用して効果的に処理時間を隠す対処方法を説明している。1996年夏に、CRYPTOの発表で詳細が示された。

### 故障利用攻撃

1996年9月25日、BellcoreのWEBにて、BonehらによるICカードなどの耐タンパーデバイスに対する新たな攻撃法が公開された。RSAなどのような公開鍵暗号の処理中に計算誤りが発生すると、誤った出力と正しい出力を比較することで、秘密鍵を特定できる脅威があるため、暗号処理中のICカードに何かしらの物理的操作を行うことで意図的にエラーを発生させることで攻撃できる、というものである。

この攻撃では公開鍵暗号が対象であったが、1996年10月、BihamらはDESなどの共通鍵暗号の秘密鍵を攻撃できる方法を発表した。これは、フォールト解析攻撃(Fault Analysis Attack)とも呼ばれる。

### 電力解析攻撃

1998年、KocherらがWEBで発表した。6月9日頃からニュース記事などで話題になった。それによるとICカードなどの暗号デバイスの消費電力はデバイスの処理内容と相関があるため、消費電力を測定して統計処理すると処理内容に関する情報(秘密鍵やPIN等)を取り出すことができるという。SPA/DPA/HO-DPAの3種類の攻撃が提案され、例としてDPAでDES秘密鍵を求めるアルゴリズムの概要が示されている。CRYPTO'98のランプセッションにて概要説明(6分)があった後、翌年のCRYPTOで詳細が発表された。単純電力解析(Simple Power Analysis、SPA)、差分電力解析(Differential Power Analysis、DPA)など。DPAは当初は共通鍵暗号向けの攻撃がメインではあるものの、MessergeらによりDES向けのデータやアドレスを用いた攻撃が1999年に提案された。その後、2001年に、公開鍵暗号向けのDPAとして、Joyeらは内部データを用いる攻撃を提案し、富士通研究所の伊藤らは2002年にCHESにてレジスタのアドレスのみに注目した攻撃が提案された。双方ともに論文中で楕円曲線暗号を使用している。

### 電磁波解析攻撃

2001年5月のCHESで、Gandolfiらにより、DESやRSA実行中に放射される漏洩電磁波を測定分析すると秘密鍵を特定する具体的な方法が示された。それ以前にはテンペストなど電磁波漏洩に関する対策や、その脅威についての考察はあったが、具体的部分は非公開であった。

### キャッシュ攻撃

2002年10月のISITAで、Tsunooらにより、キャッシュ付CPUでは、キャッシュヒットの有無によりメモリアクセス時間が異なることを利用すると、ブロック暗号に対してタイミング攻撃が可能であることが、具体的に示された。

2017年に2つの脆弱性(MeltdownとSpectreとよばれる)が発見された。この脆弱性が用いられた場合、プロセスやオペレーティングシステム自体のメモリ内容が攻撃者に漏洩する可能性がある。

### 音響解析攻撃

2004年5月4日、EUROCRYPTのrump sessionで、Tromerらは、計算機が動作中に発するノイズ(10~50kHz)を分析すると処理内容がわかるという発表を行った。LSI動作中の発熱等で物理的振動が発生してノイズとなり、このノイズにはCPUなどの動作状況について情報を豊富に含んでいるという。音に関しては、古くは機械式暗号の動作音やドットマトリクスプリンタの発する音を分析する攻撃、最近ではキー押下時に発する音を分析する攻撃などもある。