Dolev-Yao攻撃者モデルと記号暗号
Dolev-Yaoの仮定に基づいて暗号プロトコルをモデル化します。
「Dolev-Yao攻撃者モデルと記号暗号」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
Dolev-Yaoモデル
1983年にDanny DolevとAndrew Yaoによって提案されたDolev-Yaoモデルは、記号プロトコル解析における標準的な攻撃者モデルです。攻撃者はネットワーク全体を制御します。
攻撃者の能力
Dolev-Yao攻撃者は、任意のメッセージを傍受し、メッセージを保存し、古いメッセージをリプレイし、既知の構成要素から新しいメッセージを偽造できます。ただし、基盤となる暗号プリミティブを破ることはできません。
完全暗号仮定
記号モデルでは、暗号化は完全なブラックボックスとして扱われます。攻撃者は鍵なしでは復号できず、大きな数を素因数分解できず、署名を偽造することもできません。この仮定によって解析は簡単になりますが、実装レベルの攻撃を見落とす可能性があります。
プロトコルメッセージの項代数
メッセージは項としてモデル化されます。enc(k, m)、sig(sk, m)、hash(m)、pair(a, b)などです。攻撃者は特定の項を知っており、定義された規則(推論規則)を使って新しい項を導出します。
推論閉包
攻撃者の知識は推論に関して閉じています。攻撃者が enc(k,m) と k を知っていれば、m を導出できます。pair(a,b) を知っていれば、a と b を導出できます。初期知識の閉包とは、攻撃者が学習できるすべての情報です。
到達可能性としてのセキュリティ特性
プロトコルのセキュリティは、「到達可能な任意の状態において、攻撃者の知識に秘密 s が含まれることはない」と表現されます。秘匿性は到達可能性として捉えられます。認証は、特定の不正なトレースパターンが存在しないこととして表現されます。
単純なプロトコルのモデル化
2者間プロトコル:A→B: {Na, A}_{K_B}; B→A: {Na, Nb}_{K_A}; A→B: {Nb}_{K_B}。項代数では、Alice が enc(pubkey_B, pair(Na, A)) を送信すると表現します。実行後に Na を知っているのが B だけであることを検証します。
Applied Pi Calculus
Applied Pi Calculus(応用π計算)は、Abadi と Fournet が 2001 年に提案した、プロトコルをモデル化するためのプロセス代数です。プロセスはチャネルを介して通信し、攻撃者は公開チャネルを制御します。ProVerif と Tamarin はこの形式体系を使用します。
記号的セキュリティと計算論的セキュリティ
Dolev-Yao モデルで安全なプロトコルでも、暗号の実装が弱ければ計算論的には安全でない可能性があります。計算論的健全性定理(Cortier ら)は、特定の暗号プリミティブのクラスについて、この隔たりを橋渡しします。
モデルの限界
Dolev-Yao モデルでは、代数的性質(XOR の可換性など)、サイドチャネル攻撃、実装上のバグ、確率的な失敗をモデル化できません。等式理論モデルなどの拡張を使えば、一部の代数的性質を扱えます。
理解度チェック
Dolev-Yao 攻撃者が持たない能力はどれですか。
レッスンのまとめ
Dolev-Yao モデルでは、攻撃者がネットワークを完全に制御できる一方、暗号は完全であると仮定します。メッセージは代数上の項として扱われ、セキュリティは到達可能性の特性として表現されます。Applied Pi Calculus は形式言語を提供します。限界として、代数的関係、サイドチャネル、実装上のバグをモデル化できません。
よくある質問
「Dolev-Yao攻撃者モデルと記号暗号」レッスンは無料ですか?
はい。「Dolev-Yao攻撃者モデルと記号暗号」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「Dolev-Yao攻撃者モデルと記号暗号」で何を学びますか?
Dolev-Yaoの仮定に基づいて暗号プロトコルをモデル化します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Dolev-Yao攻撃者モデルと記号暗号」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 非形式的な証明だけでは不十分な理由
- Dolev-Yao攻撃者モデルと記号暗号
- ProVerif:自動プロトコル検証
- Tamarinと計算量的証明