電磁波解析攻撃(でんじはかいせきこうげき、Electromagnetic analysis attack、EMA)は、デバイスから放射される電磁波を測定し、その上で信号解析を行うことによって実行されるサイドチャネル攻撃の一種である。

これらの攻撃は、暗号鍵を取得することを目的とした、ヴァン・エック・フリーキングと呼ばれることもある攻撃のより特化した形態である。電磁波解析攻撃は通常、非侵襲的かつ受動的であり、物理的な損傷を与えることなく、ターゲットデバイスの正常な動作を観察することによって実行可能であることを意味する。しかし、攻撃者はチップのパッケージを外し、ソースのより近くで信号を収集することで、ノイズの少ないより良い信号を得る可能性がある。これらの攻撃は、RSAのsquare-and-multiply実装のように、現在処理されているデータに基づいて異なる操作を実行する暗号実装に対して有効である。異なる操作は異なる量の放射線(電磁波)を放出し、暗号化の電磁トレースは実行されている正確な操作を示す可能性があり、攻撃者が完全または部分的な秘密鍵を検索することを可能にする。

他の多くのサイドチャネル攻撃と同様に、電磁波解析攻撃はアルゴリズム自体ではなく、暗号プロトコルの特定の実装に依存している。電磁波解析攻撃は多くの場合、電力解析攻撃のような他のサイドチャネル攻撃と組み合わせて行われる。

漏洩電磁波を利用したサイドチャネル攻撃には、テンペスト攻撃があるが、テンペスト攻撃は本来の情報(画面など)を再現するのに対し、電磁波解析攻撃は電磁波の測定により暗号鍵などを推測するという点で異なる。

電磁波解析攻撃は、単純電磁波解析(Simple EMA、SEMA)攻撃と差分電磁波解析(Differential EMA、DEMA)攻撃に大別できる。

背景 すべての電子機器は電磁波を放出する。電流を流すすべてのワイヤーは磁場を作り出すため、電子機器は使用時にいくつかの小さな磁場を作り出す。適切に設計されていない場合、これらの磁場はデバイスの動作に関する情報を意図せずに明らかにする可能性がある。すべての電子機器はこの現象の影響を受けるため、「デバイス」という用語は、デスクトップコンピュータから携帯電話、スマートカードまであらゆるものを指す可能性がある。

電磁波 電磁波は、荷電粒子から発生する波の一種であり、変化する波長によって特徴付けられ、電磁スペクトルに沿って分類される。電気を消費するあらゆるデバイスは、媒質に沿って移動する荷電粒子によって作られる磁場により、電磁波を放出する。例えば、電波は、無線送信機に沿って移動する電気、あるいは人工衛星からも放出される。

電磁サイドチャネル攻撃の場合、攻撃者は多くの場合、回路で構成されるコンピューティングデバイスから放出される電磁波に注目している。電子回路は、数十億のトランジスタが配置された半導体材料で構成されている。コンピュータが暗号化などの計算を実行すると、トランジスタを流れる電気が磁場を作り出し、電磁波が放出される。

電磁波は誘導コイルを用いて捕捉することができ、その後、アナログ-デジタル変換器が特定のクロックレートで波をサンプリングし、そのトレースをデジタル信号に変換して、コンピュータでさらに処理することができる。 サムネイル|誘導コイル 計算を実行する電子機器は、メガヘルツ(MHz)からギガヘルツ(GHz)のオーダーの周波数で動作するクロックと同期している。しかし、ハードウェアのパイプライン処理や一部の命令の複雑さのために、一部の操作は完了するまでに複数のクロックサイクルを要する。したがって、必ずしもそのような高いクロックレートで信号をサンプリングする必要はない。キロヘルツ(kHz)のオーダーでサンプリングしながら、すべての、またはほとんどの操作に関する情報を得ることが可能な場合が多い。異なるデバイスは異なる周波数で情報を漏洩させる。例えば、IntelのAtomプロセッサは、RSAおよびAES暗号化の際、50 MHzから85 MHzの間の周波数で鍵を漏洩させる。Androidバージョン4.4のBouncy CastleライブラリによるECDSAの実装は、50 kHz付近の帯域において鍵抽出のサイドチャネル攻撃に対して脆弱である。

信号処理 サムネイル|RSA暗号化と復号を示すスペクトログラム。これら2つの機能は、周囲のノイズと比較して非常に高い振幅を持つ狭い周波数範囲に集中しているため、グラフ上で太い紫色の線として示されている。 コンピュータによって実行されるすべての操作は電磁波を放出し、異なる操作は異なる周波数で電磁波を放出する。電磁サイドチャネル攻撃において、攻撃者は暗号化が発生している少数の周波数にのみ関心がある。信号処理は、これらの周波数を膨大な数の無関係な放射やノイズから分離する役割を担う。特定の周波数を分離するには、指定された範囲外の周波数をブロックするバンドパスフィルタを電磁トレースに適用する必要がある。攻撃者が、暗号化がどの周波数で実行されているかを知らない場合がある。この場合、トレースをスペクトログラムとして表すことができ、これにより、実行の異なる時点でどの周波数が最も顕著であるかを判断するのに役立つ。攻撃の対象となるデバイスやノイズのレベルによっては、複数のフィルタを適用する必要があるかもしれない。

単純電磁波解析 単純電磁波解析(SEMA)攻撃において、攻撃者はトレースを観察することで直接鍵を推測する。これは非対称暗号(公開鍵暗号)の実装に対して非常に有効である。通常、数個のトレースしか必要としないが、攻撃者は暗号デバイスと暗号アルゴリズムの実装について深く理解している必要がある。SEMA攻撃に対して脆弱な実装は、鍵のビットが0か1かに応じて異なる操作を実行し、これにより異なる電力量を消費したり、異なるチップコンポーネントを使用したりする。この手法は、多くの異なる種類のサイドチャネル攻撃、特に電力解析攻撃で普及している。したがって、攻撃者は暗号化の計算全体を観察し、鍵を推測することができる。

例えば、非対称RSAに対する一般的な攻撃は、暗号化のステップが鍵のビットの値に依存しているという事実を利用している。各ビットは二乗演算で処理され、そのビットが1に等しい場合にのみ乗算演算が実行される。明確なトレースを持つ攻撃者は、乗算演算がどこで実行されているかを観察するだけで、鍵を推測することができる。

差分電磁波解析 場合によっては、単純電磁波解析が不可能であるか、十分な情報が得られないことがある。差分電磁波解析(DEMA)攻撃はより複雑であるが、SEMA攻撃が有効ではない対称暗号(共通鍵暗号)の実装に対して有効である。さらにSEMAとは異なり、DEMA攻撃は攻撃対象のデバイスに関する知識をあまり必要としない。

既知の攻撃 高周波信号を放出する回路が秘密情報を漏洩させる可能性があるという事実は、1982年以来NSAによって知られていたが、2000年まで機密扱いとされていた。これは、研究者によって暗号化に対する最初の電磁波解析攻撃が示されたのとほぼ同時期であった。

デバイス

スマートカード

サムネイル|スマートカードのピン配列 口語的に「ICカード」と呼ばれることが多いスマートカードは、従来のクレジットカードよりも安全な金融取引を提供するように設計された。これらには、暗号化機能を実行するように設計された単純な組み込み集積回路が含まれている。これらは、暗号化された金融取引を実行するために必要な電力を供給するカードリーダーに直接接続される。多くのサイドチャネル攻撃は、電力供給とクロックをカードリーダーから直接取得するため、スマートカードに対して有効であることが示されている。カードリーダーを改ざんすることで、トレースを収集し、サイドチャネル攻撃を実行することは容易である。しかし、他の研究でも、スマートカードが電磁波解析攻撃に対して脆弱であることが示されている。

FPGA

フィールドプログラマブルゲートアレイ(FPGA)は、速度を上げるためにハードウェアに暗号プリミティブを実装するために一般的に使用されてきた。これらのハードウェア実装は、他のソフトウェアベースのプリミティブと同様に脆弱である。2005年には、楕円曲線暗号の実装がSEMA攻撃とDEMA攻撃の両方に対して脆弱であることが示された。ARIAブロック暗号は、FPGAで実装される一般的なプリミティブであり、鍵を漏洩させることが示されている。

パーソナルコンピュータ 単一の機能を実行する単純なデバイスであるスマートカードとは対照的に、パーソナルコンピュータは同時に多くのことを行っている。したがって、高レベルのノイズと高速なクロックレートのために、それらに対して電磁サイドチャネル攻撃を実行することははるかに困難である。これらの問題にもかかわらず、2015年と2016年に研究者たちは、近傍界磁気プローブを用いたラップトップに対する攻撃を示した。わずか数秒間観察された結果の信号は、オフラインでの鍵抽出のためにフィルタリングされ、増幅され、デジタル化された。ほとんどの攻撃は、高価なラボグレードの機器を必要とし、攻撃者が被害者のコンピュータに極めて接近している必要がある。しかし、一部の研究者は、より安価なハードウェアを使用し、最大0.5メートルの距離からの攻撃を示すことができた。ただし、これらの攻撃は、より高価な攻撃よりも多くのトレースの収集を必要とした。

スマートフォン

スマートフォンは、電磁サイドチャネル攻撃において特に注目されている。Apple Payのような携帯電話決済システムの登場以来、電子商取引システムはますます一般的になっている。同様に、携帯電話のセキュリティに対するサイドチャネル攻撃に特化した研究の量も増加している。現在、ほとんどの攻撃は、高価なラボグレードの信号処理装置を使用した概念実証である。これらの攻撃の1つは、市販の無線受信機が最大3メートル離れた場所から携帯電話の漏洩を検出できることを実証した。しかし、ローエンドの消費者向け機器を使用した攻撃も成功していることが示されている。外部のUSBサウンドカードと、ワイヤレス充電パッドから回収した誘導コイルを使用することで、研究者たちはAndroidのOpenSSLおよびAppleのCommonCryptoによるECDSA実装からユーザーの署名鍵を抽出することができた。

脆弱な暗号化方式の例 広く使用されている理論的な暗号化方式は数学的に安全であるが、この種の安全性は物理的な実装を考慮していないため、必ずしもサイドチャネル攻撃から保護するとは限らない。したがって、脆弱性はコード自体にあり、安全でないことが示されるのは特定の実装である。幸いなことに、示された脆弱性の多くはその後パッチが適用されている。脆弱な実装には以下のものが含まれるが、これらに限定されるものでは決してない。

Libgcrypt - GnuPGの暗号ライブラリ、ECDH公開鍵暗号アルゴリズムの実装(パッチ適用済み) GnuPGによる4096ビットRSAの実装(パッチ適用済み) GnuPGによる3072ビットElGamalの実装(パッチ適用済み) GMPによる1024ビットRSAの実装 OpenSSLによる1024ビットRSAの実装

実現可能性 これまで説明してきた攻撃は、主に意図しない放射を検出するための誘導の利用に焦点を当ててきた。しかし、ファーフィールド信号解析による鍵抽出手法は実証されていないものの、AMラジオのような遠方界通信技術を利用することもサイドチャネル攻撃に用いることができる。したがって、この攻撃を利用する潜在的な敵対者の大まかな特徴付けは、高学歴の個人から、低・中程度の資金力を持つカルテルにまで及ぶ。以下に、考えられるいくつかのシナリオを示す。

モバイル決済システム

携帯電話やスマートカードからの支払いを受け付けるPOSシステムは脆弱である。スマートカードや携帯電話決済からの金融取引を記録するために、これらのシステムに誘導コイルを隠すことができる。鍵が抽出されると、悪意のある攻撃者は自分のカードを偽造したり、秘密鍵を使用して不正な請求を行ったりする可能性がある。Belgarricらは、モバイル決済がビットコイントランザクションで実行されるシナリオを提案している。ビットコインクライアントのAndroid実装はECDSAを使用しているため、POSで署名鍵を抽出することができる。これらの種類の攻撃は、従来の磁気ストライプカードで現在使用されている磁気カードストライプスキマーよりもわずかに複雑なだけである。

ワイヤレス充電パッド スターバックスの店舗など、多くの公共の場所では、すでに無料の公共ワイヤレス充電パッドを提供している。ワイヤレス充電に使用されるのと同じコイルが、意図しない放射の検出にも使用できることが以前に示されている。したがって、これらの充電パッドは潜在的な危険をもたらす。悪意のある充電パッドは、ユーザーの携帯電話を充電するだけでなく、鍵を抽出しようと試みるかもしれない。公衆Wi-Fiネットワークのパケットスニッフィング機能と組み合わせると、抽出された鍵を使用してユーザーに対して中間者攻撃を実行できる可能性がある。遠方界攻撃が発見された場合、攻撃者は被害者にアンテナを向けるだけでこれらの攻撃を実行でき、被害者はこれらの公共パッドの1つで積極的に携帯電話を充電している必要はない。

対策 電磁波解析攻撃に対するいくつかの対策が提案されているが、完璧な解決策は一つではない。以下の対策の多くは、電磁波解析攻撃を困難にするものであり、不可能にするものではない。

物理的対策 電磁波解析攻撃を防ぐ最も効果的な方法の1つは、攻撃者が物理レベルで電磁信号を収集することを困難にすることである。大まかに言えば、ハードウェア設計者は、信号強度を低下させるように、またはチップを保護するように暗号化ハードウェアを設計することができる。ファラデーケージなどの回路やワイヤのシールドは、信号の低減に効果的であるだけでなく、信号をフィルタリングしたり、無関係なノイズを導入して信号をマスクしたりするのにも有効である。さらに、ほとんどの電磁波解析攻撃では攻撃用機器がターゲットに非常に接近している必要があるため、距離は効果的な対策となる。回路設計者は、チップを破壊せずにパッケージを外すことを困難にするか不可能にするために、特定の接着剤を使用したりコンポーネントを設計したりすることもできる。

最近では、ホワイトボックスモデリングを利用して、電磁サイドチャネル攻撃と電力サイドチャネル攻撃の両方に対する低オーバーヘッドの汎用的な回路レベルの対策が開発された。IC内の高レベルの金属層がより効率的なアンテナとして機能する影響を最小限に抑えるため、下位レベルの金属層内で局所的にルーティングされた署名抑制回路を暗号化コアに埋め込むというアイデアであり、電力と電磁両方のサイドチャネル攻撃に対する免疫へとつながる。

実装上の対策 多くの電磁波解析攻撃、特にSEMA攻撃は、暗号アルゴリズムの非対称な実装に依存しているため、効果的な対策は、アルゴリズムの特定のステップで実行される特定の操作が、そのビットの値に関する情報を提供しないようにすることである。ビット暗号化の順序のランダム化、プロセス割り込み、およびクロックサイクルのランダム化はすべて、攻撃をより困難にするための効果的な方法である。

政府での利用 アメリカの国家安全保障局が制定するTEMPESTでは、電磁波の観測によるシステムへのスパイ活動と、そのような攻撃から保護するための機器のセキュリティ確保の両方に焦点を当てている。連邦通信委員会は、連邦規則集第47編のパート15において、電子機器の意図しない放射を規制する規則を概説している。FCCは、デバイスが過剰な放射を生成しないという認証を提供するのではなく、自己検証手順に依存している。

脚注

関連項目 サイドチャネル攻撃 漏洩電磁波 TEMPEST