秘密の音:コンピュータの音を聴いてRSA鍵を盗み出す方法

サイバーセキュリティが物理的脅威となる時

サイバーセキュリティの脅威を考える際、通常はネットワーク侵入、高度なフィッシングキャンペーン、ゼロデイ脆弱性の悪用、マルウェアのパイプラインなどを想像します。しかし、セキュリティ研究における最も興味深く、かつ警戒すべき領域の一つに物理サイドチャネル攻撃があります。ある画期的な研究において、研究者たちは、ノートパソコンの内部電子機器から発生する微かな高周波音を聴くだけで、4096ビットのRSA復号鍵を抽出できることを実証しました。

本記事では、非技術者と経験豊富なセキュリティエンジニアの両方を対象に、音響暗号解読の仕組みを詳しく解説します。コンピュータがいかにして秘密を「歌って」しまうのか、なぜファラデーケージのような従来の物理的防御が通用しないのか、そして現代のソフトウェア対策がいかにして暗号化システムを保護しているのかを探ります。

複数のGnuPG RSA復号の音響スペクトログラム キャプション:GnuPG RSA復号の音響シグネチャを示すスペクトログラム(横軸は40 kHz、縦軸は1.4秒にわたり、素数pから素数qへの内部遷移を示している)。出典:Daniel Genkin, Adi Shamir, and Eran Tromer (CRYPTO 2014 Research / cs-people.bu.edu/tromer/acoustic/)

1. 突破口を開いた研究チーム

「低帯域幅音響暗号解読によるRSA鍵抽出」と題されたこの先駆的な研究は、世界的に有名な暗号学者とセキュリティ研究者のチームによって行われました。

  • Daniel Genkin(テクニオンおよびテルアビブ大学)
  • Adi Shamir(ワイツマン科学研究所 — RSA暗号システムの共同発明者)
  • Eran Tromer(テルアビブ大学およびボストン大学)

研究チームは、ソフトウェアのセットアップと信号取得ツールに多大な貢献をしたLev Pachmanov氏、実験の設計と構成を担当したAvi Shtibel氏、Ezra Shaked氏、Oded Smikt氏、Assa Naveh氏、そして編集アドバイザーのSharon Kessler氏の協力を得ました。また、GnuPGのリード開発者であるWerner Koch氏とも密接に連携し、堅牢なソフトウェア対策を実装しました。

2013年末に初めて公開され、CRYPTO 2014で発表されたこの研究は、Black Hat 2014で栄誉あるPwnie Award for Most Innovative Research(最も革新的な研究賞)を受賞し、Journal of Cryptology誌に掲載されました。

2. 仕組み:非技術者向け(「エンジンの唸り」の例え)

ノートパソコンに負荷がかかっているとき、微かなキーンという音やブーンという音が聞こえることに気づいたことはありませんか? 多くの人は、その音を単なる冷却ファンや回転するハードディスクの音だと思い込んでいます。実際には、その高周波の唸り音の多くは、コンピュータの電子回路、特に電圧レギュレータから直接発生しています。

攻撃者が音から暗号鍵を盗む方法を理解するために、コンピュータのプロセッサを車のエンジンに例えて考えてみましょう。

  1. タスクごとに異なるスロットルレベルが必要: コンピュータが安全なメールやファイルを復号する際、何百万もの激しい数学的計算が行われます。
  2. 電力供給システムが絶えず調整される: これらの計算のバースト中にプロセッサへ安定した電圧を供給するため、電圧調整回路内のコンデンサやコイル(インダクタ)と呼ばれる小さな部品が、電気機械的な力によってわずかに収縮・膨張します。
  3. 振動が音波に変わる: これらの物理的な振動が周囲の空気を押し、微かな音響ノイズを発生させます。これは多くの場合、10 kHzから40 kHzの間の超音波周波数です。

秘密の暗号鍵が異なれば、プロセッサが実行する数学的パターンもわずかに異なるため、それぞれの鍵が独特の音のメロディを奏でます。マイクでその唸り音を録音して分析することで、秘密鍵を1ビットずつ再構築できることを研究者たちは示しました。

3. 内部構造:技術者およびセキュリティエンジニア向け

サイバーセキュリティの実務家やシステムエンジニアにとって、この低帯域幅の音響サイドチャネルは、物理的な漏洩や暗号ライブラリの実装上の弱点に関する重要な洞察を明らかにします。

音響サイドチャネルのメカニズム

研究の対象となったのは、4096ビットのRSA復号を実行するGnuPG 1.x(およびGnuPG 2.xで使用されている基盤のlibgcryptライブラリ)でした。個々のCPU命令はギガヘルツ(GHz)のクロックレートで動作し、従来のマイクで分解するには速すぎますが、べき剰余演算ルーチンは実行にミリ秒単位の時間を要するため、音響領域で明確なスペクトルシグネチャを生成します。

中国の剰余定理(CRT)を用いたRSA復号中、GnuPGはまず秘密素数pを法としてべき剰余演算を行い、次に秘密素数qを法として演算を行います。この遷移により、復号シーケンスの中間地点で明確なスペクトルシフトが生じ、音響スペクトログラム上で容易に確認できます。

適応的選択暗号文攻撃(CCA)

単に鍵を識別するだけでなく、個々の秘密鍵ビットを抽出するために、Genkin、Shamir、Tromerの各氏は適応的選択暗号文攻撃を設計しました。

  • 自動復号のトリガー: 攻撃者は、自動復号プラグイン(ThunderbirdのEnigmailなど)を備えた被害者のメールクライアントに、細工したOpenPGP/MIME暗号化メッセージを送信します。
  • ビット単位の漏洩増幅: 各暗号文は、GnuPGが秘密鍵の特定のビットを処理する際、そのビットが0か1かに応じて、結果として生じる電力消費が異なる音響周波数のピークを生成するように数学的に構成されています(例えば、0の場合は2 kHz1の場合は38.1 kHzに強い成分が現れるなど)。
  • 反復的な抽出: 自動信号分類スクリプトが音響放射を記録し、ビットを分類して、次の暗号文を生成します。完全な4096ビットのRSA復号鍵を1時間足らずで抽出することが可能です。

攻撃ベクトルと射程距離の比較

攻撃ベクトル / シナリオ 有効射程 必要な機器 現実世界の脅威プロファイル

携帯電話による盗聴 最大30 cm(約1フィート) 録音アプリを搭載した市販のスマートフォン 標的のノートパソコンの隣の会議机に置かれた、感染済みまたは設置済みのスマートフォン。
パラボラマイク 最大4メートル(約13フィート) 指向性パラボラマイク・アンテナおよびデジタイザ 室内、教室内、または隣のオフィスのパーティション越しからの監視。
ブラウザベースの流出 物理的アクセス不要 HTML5 Media CaptureまたはFlashによるマイクアクセス 悪意のあるウェブサイトやチャットアプリケーションが、ユーザーを騙してマイクへのアクセスを許可させる。
筐体接地電位 直接接触 / ケーブル端 オシロスコープ、またはVGA/USB/Ethernetの接地線 素手での接触やリモートシールド線を介した電気的接地の変動の測定。

4. 標準的な防御策(ファラデーケージでさえ)が不十分な理由

この研究の最も深刻な結論の一つは、従来の物理的セキュリティ対策の多くが、音響暗号解読に対して全く保護にならないということです。

  • エアギャップ環境のワークステーション: コンピュータをすべてのネットワークインターフェースから隔離しても、音響信号が空気を伝わって近くのマイクや侵害されたスマートフォンに届くのを防ぐことはできません。
  • TEMPEST / ファラデーケージによる遮蔽: 機密性の高い政府や軍の施設では、漏洩電磁波を遮断するためにワークステーションをファラデーケージ内に設置することがよくあります。しかし、高性能コンピュータには空気の流れが必要です。穴の開いた金属ハニカムメッシュで覆われた換気パネルは、電波を効果的に遮断しますが、音波に対してはほぼ完全に透明です。

5. システムを保護する方法

研究者たちは、CVE-2013-4576としてGnuPGの開発者に調査結果を責任を持って公開しました。現代の対策は、ソフトウェアとハードウェアの両方のレベルでこの問題に対処しています。

ソフトウェアおよびアルゴリズムによる緩和策(主要な防御)

サイドチャネルによる鍵抽出を防ぐ最も実用的で費用対効果の高い方法は、物理的な放射が有用な情報を持たないように暗号アルゴリズムを修正することです。

  • 暗号文ブラインディング: べき剰余演算を実行する前に、ソフトウェアは暗号文にランダムな秘密のブラインディング係数を乗算します。これにより、CPUが実行する操作の順序がランダム化され、選択された暗号文と音響シグネチャの間の相関関係が断ち切られます。
  • コンスタントタイム(定数時間)実行: 実行パスやメモリアクセスパターンが秘密の入力に依存しないように暗号プリミティブを設計します。

ハードウェアおよび環境管理

  • 音響減衰: 高セキュリティ施設において、防音エンクロージャの使用や広帯域音響マスキングノイズを採用します。
  • 低ノイズ部品の選定: 低振動コンデンサや音響的に減衰されたインダクタを使用して電力供給回路を設計します。
  • デバイスの衛生管理: 機密性の高い暗号ワークステーションの近くにスマートフォン、スマートスピーカー、個人のIoTデバイスを置くことを禁止します。

6. 重要なポイント

Genkin、Shamir、Tromerの各氏による音響暗号解読の研究は、暗号が数学的な真空の中で実行されるのではないということを思い出させてくれます。暗号は、エネルギーを消費し、熱を放射し、振動する物理的なハードウェア上で実行されるのです。クラウドインフラの管理、安全なアプリケーションの開発、あるいは企業セキュリティの監査のいずれにおいても、ソフトウェアの実装が強化されていなければ、物理サイドチャネルが最強の暗号アルゴリズムさえもバイパスする可能性があることを忘れないでください。

暗号ライブラリ(GnuPG、OpenSSL、libgcryptなど)が最新のサイドチャネル保護機能を備えていることを常に確認し、機密性の高い鍵管理インフラの周囲では厳格な物理セキュリティプロトコルを維持してください。