Frage von Athenos07, 18

Ist der Diffie-Hellman Schlüsselaustausch ohne man-in-the-middle-attack-Anfälligkeit und ohne Zertifikate möglich?

Hallo zusammen!

Die Anfälligkeit für einen man-in-the-middle Angriff ist klar. Die Lösung scheinen mir Signaturen zu sein, um die Integrität der Nachrichten sicherzustellen. Aber dafür, müssten A und B ja ihre jeweiligen Public Keys kennen. Würden diese zu Beginn ausgetauscht, ständen wir wieder vor dem gleichen Problem. Gibt es also eine einfach Lösung für DH ohne öffentliche Zertifikate?

Vielen Dank!

Antwort
von Sei1234, 1

Es gibt einen Unterschied zwischen Authorisierung und Authentifizierung. Das vorweg damit klar ist was mit Authentifizierung gemeint ist.

Den Man in the Middle erkennst du dann wenn, er in der weiteren Verhandlung nicht den passenden Schlüssel besitzt, bis dahin musst du eben es mit Diffie-Helman probieren. Aber du hast recht die Schlüssel tauscht du nicht im Ciphertext aus. Wie der lks schon beschrieben hat.

Antwort
von lks72, 5

Nun, ohne irgendeine Art von Authentifikation ist es natürlich nicht möglich, einen man in the midle auszuschließen, dies ist natürlich klar. Allerdings kann man DH nutzen, wenn A und B ein gemeinsames Geheimnis besitzen, zum Beispiel ein Passwort "pass". Einen Kommunikationsschlüssel k = E(pass) mit Hilfe von pass auszuhandeln und Nachrichten zu verschlüsseln, zum Beispiel mit AES, hat ja das bekannte Problem, dass ein Angreifer nur den Schlüsselaustausch abhören muss, nun das schwache Passwort pass einfach per bruteforce knackt, indem so lange probiert wird , bis man mit E(pass) den richtigen ausgehandelten Schlüssel k findet.

Man kann nun die Vorzüge eines Passworts mit einem Schlüsselaustausch wie DH kombinieren, und zwar mit einem encrypted key exchange protocoll.

A und B tauschen einen Schlüssel mit DH aus, die Verschlüsselung wird mit pass verschlüsselt. der mit DH ausgehandelte Schlüssel k wird nun benutzt, um folgende Authentifikation durchzuführen.

A sendet E(k,x), B berechnet x und sendet E(k,x - y), A berechnet y und sendet E(k,y). B überprüft nun y. Damit ist k authentifiziert.

Der Vorteil ist, dass ein Bruteforce offline Attack auf k nichts bringt, denn der Angreifer erfährt wegen DH nie, ob k der richtige Schlüssel war.

Keine passende Antwort gefunden?

Fragen Sie die Community