察称暗号のキヌ配垃プロトコル

このテキストは、MIPTGUの無線工孊および制埡システム郚門の情報保護に関するマニュアルの曞き盎された章の1぀になりたす。 完党なチュヌトリアルはgithubで入手できたす ドラフトリリヌスも参照しおください。 同時に、新しい「倧きな」䜜品をアップロヌドするこずを蚈画しおいたす。たず、有甚なコメントや意芋を収集し、次に、コミュニティに有甚で興味深いトピックに関する抂芁資料を提䟛したす。



キヌ配垃タスクは、倚くの加入者向けの信頌できる通信ネットワヌクを構築する倚くのタスクの1぀です。 タスクは、2人の正圓なネットワヌク加入者が適切なタむミングで秘密セッション暗号化キヌおよびメッセヌゞ認蚌を取埗するこずです。 この問題の適切な解決策は、次の条件を満たすキヌ配垃プロトコルです。





最埌の芁件は、各加入者が他の参加者ずの通信のマスタヌキヌを知っおいるようなプロトコルオプションを盎ちに削陀したす。 これらのオプションは、システムの成長ずずもに、マスタヌキヌのペア「subscriber-subscriber」が参加者数の2乗ずしお増加するため、良くありたせん。 したがっお、怜蚎される゜リュヌションの倧郚分は、1぀たたは耇数の信頌できるTセンタヌ英語のtrustの Trent がネットワヌク䞊に割り圓おられ、すべおの法的ネットワヌク参加者ずそのキヌに関する情報を所有するずいう事実にありたす。 セッションキヌを生成するためのプロトコルの参加者の1぀ずしお明瀺的たたは暗黙的に機胜したす。









専甚の信頌できるセンタヌず専甚の信頌できるセンタヌTのないネットワヌクオプション



この問題の解決策の分析における重芁な点は、特定の時点で生成されたセッションキヌは、セッションキヌの生成に䜿甚されるマスタヌキヌよりも信頌性が䜎いこずです。 特に、加入者間の通信䞭に攻撃者はセッションキヌを取埗できたせんが、䞀定の時間日、週、月埌にセッションキヌを取埗できるず想定する必芁がありたす。 たた、このセッションキヌの知識は攻撃者が叀いメッセヌゞを解読するのに圹立ちたすが、既に知っおいるセッションキヌを䜿甚しお新しいセッションを線成するこずはできたせん。



察称プロトコル



秘密鍵で叀兞暗号化のみのプリミティブを䜿甚するプロトコルは、察称ずしお分類されたす。 これらには、既知のブロック暗号、暗号的に堅牢な擬䌌乱数ゞェネレヌタヌCPSPS、およびハッシュ関数が含たれたす。



プロトコルを怜蚎するずきは、次の衚蚘法を䜿甚したす。





広口カ゚ルプロトコル



広口カ゚ルプロトコルは、おそらく最も単玔な信頌できるセンタヌプロトコルです。 著者はマむケル・バロりズず考えられおいたす1989幎、英語のマむケル・バロりズ 。 プロトコルは、次の手順で構成されたす。



  1. アリスは新しいセッションキヌを生成したす K タむムスタンプ、Bob ID、および暗号化されおいない識別子ずずもに、信頌できるセンタヌに送信したす。





    アリス\右矢印\ {A、E_A \巊T_A、B、K \右\} \右矢印トレント





  2. 受信した暗号化されおいない識別子を䜿甚する認定センタヌ A 、法的な加入者のデヌタベヌスでアリスの秘密鍵を芋぀け、それらのデヌタパケットを解読したす。 タむムスタンプをチェックしたすパッケヌゞが非垞に叀くないこず。 次に、圌は同様のデヌタパケットをボブに送信し、プラむベヌトキヌで暗号化したす。





    トレント\右矢印\ {E_B \巊T_T、A、K \右\} \右矢印ボブ







    パケットを解読するこずに加えお、ボブは信頌できるセンタヌのタむムスタンプもチェックしたす。








プロトコルWide-Mouth Frogにおける加入者ず信頌できるセンタヌずの間の盞互䜜甚のスキヌム



プロトコルの最埌に、アリスずボブは共有セッションキヌを持っおいたす K 。



このプロトコルには倚くの欠点がありたす。





ただし、最も深刻なプロトコルの問題は、次の攻撃を䜿甚する可胜性です。



1995幎に、Ros AndersonずRoger Needham Ross Anderson、Roger Needham は、攻撃者Eveが特定のセッションキヌの有効性を際限なく拡匵できるプロトコルに察する攻撃の倉圢を提案したした。 攻撃の考え方は、プロトコルの終了埌、攻撃者が信頌できるセンタヌにパケットを送り返し、開始したず思われる加入者の識別子でパケットを補完するこずです。



  1. アリス\右矢印\ {A、E_A \巊T_A、B、K \右\} \右矢印トレント
  2. トレント\右矢印\ {E_B \巊T_T、A、K \右\} \右矢印ボブ
  3. Eva \右矢印\ {B、E_B \巊T_A、A、K \右\} \ rightarrowトレント
  4. トレント\右矢印\ {E_A \巊T'_T、B、K \右\} \右矢印アリス
  5. ゚ノァ\右矢印\ {A、E_A \巊T'_T、B、K \右\} \右矢印トレント
  6. トレント\右矢印\ {E_B \巊T '' _ T、A、K \右\} \右矢印ボブ
  7. 埩号化に必芁な時間が経過するたで、手順3ず5を繰り返したす K 。




信頌できるセンタヌから芋るず、ステップ1、3、および5は、加入者同士の通信を開始する正しいパケットです。 それらのタむムスタンプは正しいですEvaがこれらのパケットを時間通りに送信する時間がある堎合。 正圓な加入者の芳点から芋るず、各パッケヌゞは、通信を開始するための別の加入者の招埅です。 その結果、次の2぀のこずが起こりたす。





1997幎のGavin Loweの2回目の攻撃は実装が簡単です。 この攻撃の結果、ボブは、アリスが信頌できるセンタヌの前で自分自身を認蚌したこずを確認し、2回目の䌚話を開始したいず考えおいたす。 もちろん、2番目のセッションは攻撃者によっお開始されたため、これは事実ではありたせん。



  1. アリス\右矢印\ {A、E_A \巊T_A、B、K \右\} \右矢印トレント
  2. トレント\右矢印\ {E_B \巊T_T、A、K \右\} \右矢印ボブ
  3. Eva \右矢印\ {E_B \巊T_T、A、K \右\} \右矢印Bob


同じ仕事で、ロりは、ランダムなラベルを䜿甚しお加入者の明瀺的な盞互認蚌を導入するプロトコルの修正を提案したした RB そしお、アリスが加入者の共有セッションキヌで暗号化されたラベルでパケットを埩号化できるこずを確認したす K 。 ただし、この倉曎により、プロトコルが他のプロトコルよりも最も重芁な利点を倱うずいう事実に぀ながりたす-単玔さ。



  1. アリス\右矢印\ {A、E_A \巊T_A、B、K \右\} \右矢印トレント
  2. トレント\右矢印\ {E_B \巊T_T、A、K \右\} \右矢印ボブ
  3. ボブ\右矢印\ {E_K \巊R_B \右\} \右矢印アリス
  4. アリス\右矢印\ {E_K \巊R_B + 1 \右\} \右矢印ボブ


ニヌダム—シュレヌダヌプロトコル



Needham — Schroederプロトコル Eng。Roger Needham、Michael Shroeder 、1979は、修正枈みのWide-Mouth Frogプロトコルに䌌おいたすが、プロトコルの䞻芁郚分の動䜜䞭に信頌できるセンタヌTrentが2番目のサブスクラむバヌず通信しないずいう点で異なりたす。 最初の加入者は、信頌されたセンタヌから特別なパッケヌゞを受け取り、それを倉曎するこずなく、2番目の加入者に送信したす。



  1. アリス\右矢印\ {A、B、R_A \} \右矢印トレント
  2. トレント\右矢印\ {E_A \巊R_A、B、K、E_B \巊K、A \右\右\} \右矢印Alice
  3. アリス\右矢印\ {E_B \巊K、A \右\} \右矢印ボブ
  4. ボブ\右矢印\ {E_K \巊R_B \右\} \右矢印アリス
  5. アリス\右矢印\ {E_K \巊R_B-1 \右\} \右矢印ボブ








加入者ずニヌダムの信頌できるセンタヌずの間の盞互䜜甚のスキヌム—シュレヌダヌプロトコル





このプロトコルは、圓事者の双方向認蚌の䞡方を提䟛し、再送信による攻撃eng。Replay attack に察する保護のように思われたす。 埌者は、倉曎されたWide-Mouth Fromプロトコルですでに知られおいるランダムなラベルを導入するこずによっお行われたす。 RA そしお RB 。 確かに、キヌを知らないず、攻撃者はボブの前でアリスになりすたすこずができたせん暗号化されたラベルでパケットを解読できないため RB  ただし、この章の前半で合意したように、セッションキヌ自䜓は長期間信頌できるずは芋なされたせん。 ある時点で攻撃者が以前に䜿甚したセッションキヌを取埗した堎合 K 、圌はアリスであり、これが新しいセッションキヌであるこずをボブに確信させるこずができたす。 これを行うには、オヌプンチャネルで以前に送信されたプロトコルのパラグラフ3のパッケヌゞが必芁になりたす。



  1. ゚ノァ\右矢印\ {A、B、R_A \} \右矢印トレント
  2. トレント\右矢印\ {E_A \巊R_A、B、K、E_B \巊K、A \右\右\} \右矢印Alice
  3. アリス\右矢印\ {E_B \巊K、A \右\} \右矢印ボブ
  4. ボブ\右矢印\ {E_K \巊R_B \右\} \右矢印アリス
  5. アリス\右矢印\ {E_K \巊R_B-1 \右\} \右矢印ボブ



    ...しばらくしお...
  6. Eva〜アリス\右矢印\ {E_B \巊K、A \右\} \右矢印Bob
  7. ボブ\右矢印\ {E_K \巊R_B \右\} \右矢印Eva〜アリス
  8. ゚ノァアリス\右矢印\ {E_K \巊R_B-1 \右\} \右矢印ボブ


このプロトコルの比范的小さな欠点は、2番目のパケットで、信頌できるセンタヌが暗号化された圢匏で送信するずいう事実にありたす。 EB\巊K、A\右 



タむムスタンプをプロトコルに远加しお、セッションキヌの䜿甚可胜時間を制限し、二重暗号化による軜埮な欠陥を修正するず、ロヌカルネットワヌク甚の䞀般的なKerberos認蚌ツヌルの基瀎ずなるプロトコルを取埗できたす。



Kerberosプロトコル



このセクションでは、単䞀の信頌できるセンタヌを持぀関係者の認蚌プロトコルに぀いお説明したす。 Kerberosネットワヌクプロトコルは、信頌性ずフォヌルトトレランスのために耇数の信頌できるセンタヌを単䞀のネットワヌクに接続するずきにこれらのアむデアを䜿甚したす。 Kerberosネットワヌクプロトコルの詳现に぀いおは、セクション12.1を参照しおください。 「ロヌカルネットワヌク甚のKerberosシステム。」



Needham –Schröderプロトコルず同様に、開始サブスクラむバヌAliceは専甚の信頌できるセンタヌずのみ通信し、暗号化されたセッションキヌを持぀2぀のパケットを受け取りたす。1぀は自分甚、もう1぀は着信者Bob甚です。 ただし、Needham –Schröderずは異なり、怜蚎䞭のプロトコルでは、暗号化されたパケットにはタむムスタンプも含たれたす。 TT およびセッションキヌの有効性 L 英語から。 生涯 -寿呜。 これにより、たず、前のセクションで怜蚎した攻撃を繰り返しお防埡できたす。 そしお、第二に、それはある意味で信頌できるセンタヌが加入者を管理するこずを可胜にし、所定の時間埌に新しいセッションキヌを受信するこずを匷制したす L 。



  1. アリス\右矢印\ {A、B \} \右矢印トレント
  2. トレント\右矢印\ {E_A \巊T_T、L、K、B \右、E_B \巊T_T、L、K、A \右\} \右矢印Alice
  3. アリス\右矢印\ {E_B \巊T_T、L、K、A \右、E_K \巊A、T_A \右\} \右矢印ボブ
  4. Bob \ rightarrow \ {E_K \ leftT_T + 1 \ right\} \ rightarrow Alice








加入者ずKerberosプロトコルの信頌されたセンタヌずの間の盞互䜜甚のスキヌム





3番目のステップは、信頌できるセンタヌからのタむムスタンプを䜿甚するこずです。 TT ボブからのランダムなタグの代わりに RB Needham –Schröderプロトコルず比范しお、プロトコルを1ステップ枛らすこずができたす。 たた、タむムスタンプが存圚するため、アリスがランダムマヌクを事前に生成し、最初のステップで転送する必芁がなくなりたす。



パッケヌゞが興味深いこずに泚意しおください EA\巊TT、L、K、B\右 そしお EB\巊TT、L、K、A\右 圢匏は同じです。 ある意味では、これらはアリスずボブのセッションキヌ蚌明曞ず呌ばれたす。 さらに、そのようなパッケヌゞのすべおのペアを事前に生成したずえば、䞀日の初めに、パブリックリ゜ヌスを䜿甚し、無料で䜿甚できるようにし、トラステッドセンタヌをオフにしたすこれらのパッケヌゞを生成するこずで、圌はすでに仕事をしたした。 そしお、その時点たで TT+L これらの「蚌明曞」を䜿甚できたす。 ただし、加入者の有効なペアの1぀である堎合のみ。 もちろん、この考えは実甚的ではありたせん-そのようなペアの数は、サブスクラむバヌの数の2乗ずしお増加するためです。 ただし、このようなパケットを事前に生成できるこずは興味深いこずです。 このアむデアは、 公開キヌ基盀PKIを怜蚎する際に圹立ちたす。



次は非察称暗号化を䜿甚するプロトコルの考慮事項です



シュナむアヌずりィキペディアを読んだ人ぞの远蚘。 このセクションは䞻に、曞籍「Applied Cryptography」2002幎版の第3章に基づいおいたす。情報は講矩圢匏で提瀺され、プレれンテヌションに基づいおロシア語セクションの蚘事をデザむンした孊生に読たれたした曞籍ずその他の情報源の䞡方りィキペディア。 蚘事からの情報たずえば、攻撃に関する情報は、講矩やマニュアルでさらに䜿甚されたした。 Schneierが個々のプロトコル間の接続を远跡し始めなかったこずは興味深いですが、方法論的な芳点からは、単玔な゜リュヌションWide-Mouth Frogから耇雑なKerberosぞの進化を远跡するこずは垞に興味深いです。 同じ目的で、穿刺Yaholomは考慮から陀倖されたした。 圌は良いです-圌は単に「進化」チェヌンに適合したせん。 そしお、単に「別のプロトコル」のために孊生にそれを䞎えるこずは間違っおいるように思えたす。



All Articles