2012-03-31 7 views
4

Ich mache ein Projekt, bei dem Alice und Bob sich gegenseitig Nachrichten senden, die den Diffie-Hellman-Schlüsselaustausch benutzen. Was mich für eine Schleife wirft, ist, wie man das Zertifikat einbindet, das sie benutzen, damit ich ihre geheimen Nachrichten erhalten kann.Wie man Diffie-Hellman ausnutzt, um einen Mann im mittleren Angriff auszuführen

Von dem, was ich über MIM attakcs verstehen, wirkt das MIM als Schwindler wie in diesem Diagramm zu sehen:

enter image description here

Im Folgenden die Details für mein Projekt sind. Ich verstehe, dass beide sich vor der Kommunikation auf g und p geeinigt haben, aber wie kann ich das umsetzen, wenn beide ein Zertifikat haben, um ihre Signaturen zu verifizieren?

Alice erstellt ⟨SignA (NA, Bob), pkA, certA⟩ wobei signA der von Alice verwendete digitale Signaturalgorithmus ist, "Bob" ist Bobs Name, pKA ist der öffentliche Schlüssel von Alice, der gleich gx mod p codiert nach X.509 für ein festes g, p wie im Diffie-Hellman-Schlüsselaustausch angegeben und certA ist das Zertifikat von Alice, das Alices öffentlichen Schlüssel enthält, der die Signatur verifiziert; Schließlich ist NA eine Nonce (zufällige Zeichenfolge), die 8 Bytes lang ist.

Bob prüft die Signatur von Alice und antwortet mit ⟨SignB {NA, NB, Alice}, pkB, certB⟩. Alice erhält die Nachricht, dass sie ihre Nonce-NA überprüft und berechnet den gemeinsamen Schlüssel basierend auf pkA, pkB gemäß dem Diffie-Hellman-Schlüsselaustausch. Dann übergibt Alice die Nachricht ⟨SignA {NA, NB, Bob}, EK (MA), certA⟩ an Bob und Bob antwortet mit ⟨SignB {NA, NB, Alice}, EK (MB), certB⟩.

wo MA und MB sind ihre entsprechenden geheimen Nachrichten.

Antwort

4

Das Internet kann helfen!

Der Diffie-Hellman-Schlüsselaustausch ist anfällig für einen Man-in-the-Middle-Angriff . Bei diesem Angriff fängt ein Gegner Carol Alice 'öffentlichen Wert ab und sendet ihren eigenen öffentlichen Wert an Bob. Wenn Bob seinen öffentlichen Wert übermittelt, ersetzt Carol ihn durch seinen eigenen und schickt ihn an Alice. Carol und Alice stimmen so einem gemeinsamen Schlüssel zu und Carol und Bob stimmen auf einem anderen geteilten Schlüssel zu. Nach diesem Austausch entschlüsselt Carol einfach alle Nachrichten, die von Alice oder Bob verschickt wurden, und liest sie dann und modifiziert sie möglicherweise vor dem erneuten Verschlüsseln mit dem entsprechenden Schlüssel und sendet sie an die andere Partei. Diese Sicherheitsanfälligkeit ist vorhanden , weil Diffie-Hellman-Schlüsselaustausch die Teilnehmer nicht authentifiziert. Mögliche Lösungen umfassen die Verwendung von digitalen Signaturen und andere Protokollvarianten.

Sie haben also Ihren eigenen Wert für A, und Sie tauschen einfach den Inhalt der Nachricht und neu berechnen Signaturen und weiterleiten.

6

the Wikipedia answer Mit:

In der ursprünglichen Beschreibung des Diffie-Hellman-Austausch von selbst nicht Authentifizierung der kommunizierenden Parteien bereitstellt und ist somit anfällig für einen Man-in-the-Middle-Angriff.Eine Person in der Mitte kann zwei verschiedene Diffie-Hellman Schlüsselaustausch, eine mit Alice und die andere mit Bob, als Alice zu Bob Maskerade, und umgekehrt, so dass der Angreifer entschlüsseln (und lesen oder speichern) dann verschlüsseln Sie die zwischen ihnen übertragenen Nachrichten erneut.

Eine Methode zu authentifizieren die kommunizierenden Parteien miteinander ist in der Regel benötigt, um diese Art von Angriff zu verhindern. Varianten von Diffie-Hellman, , wie STS, können stattdessen verwendet werden, um diese Arten von Angriffen zu vermeiden.

Sie können Ihren Professor beeindrucken, indem Sie the variants of Diffie-Hellman that are more secure diskutieren. Wenn Sie jetzt die ursprüngliche Implementierung notiert haben, wird dies ausreichen.

Viel Glück!