Simple Power Analysis(SPA)とDifferential Power Analysis(DPA)の違いは何ですか?FPGAでSPA攻撃を実行できないのはなぜですか?
私の基本的な理解は、それらはターゲットデバイスの電力消費を分析し、暗号化キーを明らかにするサイドチャネル攻撃であるということです。しかし、2つの違いが何であるのか、なぜ1つの攻撃がFPGAで機能し、もう1つの攻撃で機能しないのかはまだわかりません。
誰かがSPAとDPAが何であるかを明確にできるか、これらの攻撃を説明するチュートリアル/ガイドを私に指摘していただければ幸いです。
Simple Power Analysis(SPA)は、デバイスが操作を実行するときのデバイスの電力消費の変動を測定して、秘密鍵の素材またはデータに関する情報を発見することを含みます。これは、特定の操作タイプを消費パターンにマッピングすることによって実現されます。たとえば、一連の排他的論理和演算は、オシロスコープで一連の乗算演算とは異なるトレースを示します。
これの良い例はRSAで、これは大きな乗算を実行する必要があるため、実行する演算のパターンを介して大きな整数の乗算の内部状態に関する情報をリークします。
SPAに関連するもう1つのトリックは、デジタル信号が物理的に高電圧と低電圧で表されるため、そのビットが送信されている間、信号1が0よりも多くの電力を使用するという事実を利用しています。十分に正確な分析を行うことができれば、妥当な誤差範囲内でビットストリームの内容を予測する統計モデルを計算できます。
比較的単純な単一目的システム(スマートカードなど)は通常、単一の操作のみを実行しますが、より複雑なシステムは通常、一度に複数の操作を実行します。最近のデスクトップコンピューターはDMAなどのテクノロジを使用しており、ハードウェアがプロセッサを中断することなくシステムメモリに直接アクセスできます。これらの信号はすべて並行して実行され、大量のノイズを生成します。その上、機械式ハードドライブには、さまざまな電流スパイクを生成してノイズを増加させるコンポーネントが含まれています。このようなシステムで単一の133MHz +データ信号の統計パターンを特定するのは非常に困難です。
ここで、Differential Power Analysis(DPA)が登場します。成功の可能性を高めるために、DPAには、通常の非暗号化操作が行われているときの電力消費の分析と、暗号化操作中のさらなる分析が含まれます。信号からノイズを「差し引く」ために、2つの統計モデルが比較されます。この手法は、実際にバックグラウンドノイズ(ヒスなど)をサンプリングし、 [〜#〜] fft [〜#〜] 分析してからEQを生成するオーディオエンジニアの間で一般的です。これらの周波数のレベルを下げるフィルターモデルのように。 DPAの方が複雑です(多くの場合、FFTだけでは原始的すぎます)が、原則はそのままです。
もちろん、これは計算するのが非常に難しいモデルですが、暗号化キーを扱う場合、予測率が51%成功した場合でも役立ちます。信頼性の高い予測ビットを優先できる場合、128ビットキーのブルートフォーシングは桁違いに簡単です。51%の成功率により、128ビットではなく125.5ビットの有効な期待キースペースが得られます。
FPGAは本質的に「並列」であるため、SPAで実際に攻撃することはできません。これらは実際には通常のマイクロプロセッサのように機能するのではなく、単一の共通クロック信号ですべて同時に動作する一連の並列論理ゲートです。そのため、すべての内部コンポーネントがすべてのクロックサイクルで同じことを行うため、SPAは個別の「信号」を識別できません。一方、マイクロプロセッサには、個別にクロックを供給できる個別の内部ダイセクションがあり、信号をリアルタイムでルーティングおよび多重化します。最近の複雑なFPGAには、スタティックロジックに加えてマイクロプロセッサのような内部構造があり、SPAに対して脆弱であるmayので、これはすべて一般化したものです。
これは、他のサイドチャネル攻撃一般と同様に、電力分析にも当てはまります。
単純なサイドチャネル攻撃サイドチャネルのみを分析暗号化手順の実行中。
差分サイドチャネル攻撃その他の状態(たとえば、CPUでの他の操作など)でもシステムを分析し、観測されたパターンの違いを使用します=。したがって、より複雑で時間がかかりますが、プロセッサが暗号化手順とその他のものを同時に実行する場合はが必要です。
bothは、統計モデルを使用して、たとえば、秘密鍵。