暗号学において、ロン・リベストとアディ・シャミールによって記述された拡張ロックプロトコルは、匿名鍵交換プロトコルを用いて会話を保護する二者間における盗聴攻撃を阻止するために設計されたプロトコルです。別の論文では、これを認証プロトコルとして使用することが提案されましたが、後に破られました。
簡単な歴史
ほとんどの暗号プロトコルは、秘密鍵、公開鍵、あるいはパスワードの事前の確立に依存しています。しかし、Diffie-Hellman鍵交換プロトコルは、そのような事前の合意なしに、二者間で安全なチャネル(つまり、少なくとも望ましいセキュリティ特性を備えたチャネル)を確立するという概念を導入しました。認証されていないDiffie-Hellmanは、匿名鍵共有プロトコルであるため、中間者攻撃の標的となることが長年知られていました。しかしながら、「ジップレス」な相互認証による安全なチャネルという夢は、依然として残されていました。
インターロックプロトコルは、匿名鍵合意を使用して会話を安全に行う2者間のセキュリティを侵害しようとする仲介者を明らかにする方法として 説明されました[1] 。
仕組み
インターロック プロトコルは、おおよそ次のように動作します。
- アリスはボブのキーを使用してメッセージを暗号化し、暗号化されたメッセージの半分をボブに送信します。
- ボブはアリスの鍵を使用してメッセージを暗号化し、暗号化されたメッセージの半分をアリスに送信します。
- 次にアリスはメッセージの残り半分をボブに送信し、ボブはメッセージの残り半分を送信します。
このプロトコルの強みは、暗号化されたメッセージの半分は復号できないという点にあります。したがって、マロリーが攻撃を開始し、ボブとアリスの鍵を傍受したとしても、アリスの半分のメッセージ(彼女の鍵で暗号化されたもの)を復号し、ボブの鍵で再暗号化することはできません。マロリーは両方の半分のメッセージを受信するまで待たなければならず、完全に新しいメッセージを作成しない限り、どちらか一方を騙すことは不可能です。
ベロビン/メリット攻撃
デイヴィスとプライスは、『コンピュータネットワークのセキュリティ』という書籍の中で、認証にインターロックプロトコルを用いることを提案した。 [2]しかし、スティーブン・M・ベロビンとマイケル・メリットは、このプロトコルに対する攻撃を報告した。[3]その後、エリソンは改良版を提案した。[4]
Bellovin/Merritt攻撃では、偽のメッセージを作成して相手に送信します。パスワードは、AとBの間でInterlock Protocolを使用して次のように送信されます。
AB Ea,b(Pa)<1>-------> <-------Ea,b(Pb)<1> Ea,b(Pa)<2>-------> <-------Ea,b(Pb)<2>
ここで、Ea,b(M)はAとBの間のDiffie-Hellman交換から得られた鍵で暗号化されたメッセージM、<1>/<2>は前半と後半を示し、Pa/PbはAとBのパスワードである。
攻撃者 Z は、偽のメッセージの半分 (P?) を送信して、A から Pa を引き出すことができます。
AZB
Ea,z(Pa)<1>------>
<------Ea,z(P?)<1>
Ea,z(Pa)<2>------>
Ez,b(Pa)<1>------>
<------Ez,b(Pb)<1>
Ez,b(Pa)<2>------>
<------Ez,b(Pb)<2>
この時点で、ZはPaとPbの両方を侵害している。この攻撃は、パスワードを部分的に検証することで阻止できる。つまり、Ea,z(P?)<1>が送信される時点で無効であることがわかり、Ea,z(Pa)<2>は送信されない(Daviesの提案)。しかし、パスワードがハッシュ化されている場合、この方法は機能しない。Bellovinによると、ハッシュの半分は役に立たないからである。[3] [5] [6] [7] [8]では、パスワードに加えて共有秘密鍵を使用するなど、他にもいくつかの方法が提案されている。強制遅延強化によっても、特定の攻撃を防ぐことができる。
強制遅延インターロックプロトコル
修正されたインターロック プロトコルでは、B (サーバー) にすべての応答を既知の期間遅延させるように要求できます。
AB カ-------------> <-------------KB Ea,b(Ma)<1>----> <----Ea,b(Mb)<1> (Bは応答を一定時間Tだけ遅らせる) Ea,b(Ma)<2>----> <----Ea,b(Mb)<2> (再度遅延) <----------データ
ここで「データ」とは、インターロックプロトコル交換の直後に送信される暗号化データ(任意のデータ)であり、メッセージの転送中の変更を防ぐため、オールオアナッシング変換を使用してエンコードされています。Ma<1>には、暗号化されたリクエストとKaのコピーが含まれる可能性があります。Ma<2>には、Ma<1>の復号鍵が含まれる可能性があります。Mb<1>にはKbの暗号化されたコピーが含まれる可能性があり、Mb<2>にはMb<1>の復号鍵とOKやNOT FOUNDなどのレスポンス、およびデータのハッシュダイジェストが含まれる可能性があります。
MITM は、Bellovin の論文に記載されている攻撃を使用して試みることができます (Z は中間者です)。
AZB
カ------------->カズ--------------->
<---------------Kz<-----------Kb
Ea,z(Ma)<1>---->
<----Ea,z(Mz)<1> (遅延応答)
Ea,z(Ma)<2>---->
Ez,b(Ma)<1>----->
<-----Ez,b(Mb)<1> (遅延応答)
<----Ea,z(Mz)<2>
Ez,b(Ma)<2>----->
<-----Ez,b(Mb)<2> (遅延応答)
<-------------データ
<----------データ
この場合、Z は B と連動交換を実行する必要があるため、A は約 3*T 後にデータを受信します。したがって、試行された MITM 攻撃が検出され、セッションが中止されます。
もちろん、ZはBとのインターロックプロトコルを実行しないこと(代わりに自身のMbを送信すること)を選択することもできますが、その場合、セッションはAとZの間で行われ、A、Z、Bの間では行われません。つまり、Zは中間に存在しません。このため、インターロックプロトコルは認証に効果的に使用することはできません。ただし、第三者が送信中のメッセージを改ざんして検出されないことを保証できます。
参照
参考文献
- ^ R. リベスト、A. シャミール「盗聴者を暴く方法」CACM、第27巻、1984年4月、393-395ページ。[1]
- ^ DW Davies、WL Price著『コンピュータネットワークのセキュリティ』John Wiley & Sons、第2版、1989年。
- ^ ab SM BellovinとM. Merritt. 認証に利用されるインターロックプロトコルへの攻撃 (PDF). IEEE Transactions on Information Theory, v. 40, n. 1, 1994年1月, pp. 273-275.
- ^ C. Ellison. 証明機関なしでのアイデンティティの確立. 第6回USENIXセキュリティシンポジウム議事録、サンノゼ、1996年7月、67-76ページ。
- ^ RH MorrisとK. Thompson、「Unixパスワードセキュリティ」、Communications of the ACM、第22巻、594ページ、1979年11月
- ^ FT GramppとR. H Morris、「Unixオペレーティングシステムのセキュリティ」、AT&T Bell Laboratories Technical Journal、第63巻、1649-1672ページ、1984年10月
- ^ DV Klein、「クラッカーの阻止:パスワードセキュリティの調査と改善」、USENIX UNIXセキュリティワークショップ議事録(ポートランド)、pp. 5-14、1990年8月
- ^ P. LeongとC. Tham、「Unixパスワード暗号化は安全ではないと考えられる」Proc. Winter USENIX Conference(ダラス)、1000
外部リンク
- 認証のためのインターロックプロトコル
- フルデュプレックスキューブグランドマスター(以前は匿名DHとMITM)
- 中間者攻撃に対する防御(Zooko の強制遅延プロトコル)