Cryptology Academy · レッスン

電力解析:SPAとDPA

電力トレースを取得し、単純電力解析と差分電力解析を行います。

レッスン 2/412 ステップ

「電力解析:SPAとDPA」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

電力解析とは

電力解析では、デバイスが暗号処理中に消費する瞬間的な電力を測定します。消費電力は処理中のデータに依存するため、秘密鍵のビットが漏えいします。

単純電力解析(SPA)

SPAでは、1本の電力トレースを目視で調べます。二乗・乗算によるべき乗計算では、乗算ステップと二乗だけを行うステップで電力プロファイルが異なるため、指数が漏えいします。

差分電力解析(DPA)

DPAでは、多数のトレースに対して統計分析を行います。攻撃者は1つの鍵ビットの仮説を固定し、予測した中間値に基づいてトレースを分割し、相関のピークを探します。

ハミング重みモデル

重要な仮定の1つは、消費電力が処理中の値に含まれる1ビットの数(ハミング重み)に比例するということです。これは、低周波数で動作するCMOS論理回路ではよく成り立ちます。

相関電力解析(CPA)

CPAでは、中間値から予測したハミング重みと、各時刻のサンプルで測定した電力との間のPearson相関を使用します。正しい鍵の仮説では、相関が最も高くなります。

実際の電力トレースの取得

研究者は、対象デバイスと直列に電流検出抵抗を配置し、オシロスコープまたはChipWhispererボードを使って、100 MS/s以上の速度でトレースをデジタル化します。

AESに対するDPA:鍵の復元

AESの最初のラウンドを対象にします。256個の鍵バイト候補それぞれについて、SubBytesの出力のハミング重みを予測し、トレースとの相関を計算します。正しいバイトでは相関が約0.9以上になり、明確に現れます。

高次DPA

マスクを使用する実装では、各中間値をランダムなシェアに分割します。二次DPAでは、シェアとマスクの2つの時点を、積または絶対差の結合関数によって組み合わせます。

RSAの二乗・乗算に対するDPA

選択メッセージ攻撃を使い、多数のトレースにわたって、二乗だけを行う場合と二乗してから乗算する場合の電力パターンを区別することで、RSA秘密鍵の指数ビットを復元します。

ツールとプラットフォーム

オープンソースのChipWhispererプラットフォームは、取得、トレースのアラインメント、CPAのためのハードウェアとPythonソフトウェアを提供します。AES、RSA、ECCの対象を標準でサポートしています。

理解度チェック

相関電力解析では、正しい鍵の仮説と誤った仮説を何によって区別しますか。

レッスンのまとめ

SPAは1本のトレースを目視で読み取り、DPAは多数のトレースを統計的に分析します。CPAはハミング重みモデルとのPearson相関を使用します。対策には、ECCにおけるマスキングやランダム化射影座標などがあります。

無料で開始

AI チューターと学ぶ Cryptology Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
67
レッスン
261

よくある質問

「電力解析:SPAとDPA」レッスンは無料ですか?

はい。「電力解析:SPAとDPA」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「電力解析:SPAとDPA」で何を学びますか?

電力トレースを取得し、単純電力解析と差分電力解析を行います。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「電力解析:SPAとDPA」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. タイミング攻撃:実行時間から鍵を抽出する
  2. 電力解析:SPAとDPA
  3. 電磁波・音響サイドチャネル
  4. 対策:マスキング、ブラインディング、constant-timeコード
← Cryptology Academyに戻る