ohne public-key signierung ist man-in-the-middle möglich. ok, wenn nicht jedesmal ein lauscher drin sitzt, dürfte das programm wenn nicht alarm schlagen (anderer key). aber möglich wäre es schon.
Soll heißen: DH schützt in keinster Weise vor einer Man-in-the-middle Attacke. Die Authentisierung der Gesprächspartner muss auf andere Weise erfolgen.
Dann lies mal den Wikipedia-Artikel. Dort steht, daß Diffie-Hellman-Schlüsselaustausch nur gegen passives Abhören hilft, aber eben nicht vor einem Man-In-The-Middle-Angriff schützt (wie auch?).
Stimmt. Die Unterbindung eines Man-In-The-Middle Angriffs muss, wenn es denn tatsächlich eine Unterbindung gibt (siehe Artikel), im ZRTP Protokoll gesichert sein. Eine andere Möglichkeit gibt es nicht. Die Frage ist nur: Wie will man das bewerkstelligen??
Das funktioniert anscheinend so, dass man sich die Fingerprints der Schlüssel gegenseitig vorliest. Und da man ja im Normalfall die Stimme des Gegenübers kennt, mit dem man vertraulich quatschen will, ist das wohl einigermassen sicher.
Aber falls es einen MITM gibt, dann existieren 2 verschiedene Schlüssel. Der von dir zum MITM und der vom MITM zu deinem Gesprächspartner. Und in diesem Fall werden wohl die vorgelesenen Fingerprints nicht mit den erwarteten Fingerprints übereinstimmen, wodurch man weiß, dass der Kanal kompromitiert ist.
" Although it uses a public key algorithm, it does not rely on a public key infrastructure (PKI). In fact, it does not use persistent public keys at all. It uses ephemeral Diffie-Hellman (DH) with hash commitment, and allows the detection of Man in the Middle (MitM) attacks by displaying a short authentication string for the users to read and compare over the phone. "
" But even if the users are too lazy to bother with short authentication strings, we still get fairly decent authentication against a MitM attack, based on a form of key continuity. It does this by caching some key material to use in the next call, to be mixed in with the next call's DH shared secret, giving it key continuity properties analogous to SSH."
Die Unterbindung eines Man-In-The-Middle Angriffs muss, wenn es denn tatsächlich eine Unterbindung gibt (siehe Artikel), im ZRTP Protokoll gesichert sein. Eine andere Möglichkeit gibt es nicht.
Die Frage ist nur: Wie will man das bewerkstelligen??
Gruß, Jkob
" Although it uses
a public key algorithm, it does not rely on a public key
infrastructure (PKI). In fact, it does not use persistent public
keys at all. It uses ephemeral Diffie-Hellman (DH) with hash
commitment, and allows the detection of Man in the Middle (MitM)
attacks by displaying a short authentication string for the users to
read and compare over the phone. "
http://www.philzimmermann.com/images/Zfone-GUI.png
short authentication strings, we still get fairly decent
authentication against a MitM attack, based on a form of key
continuity. It does this by caching some key material to use in the
next call, to be mixed in with the next call's DH shared secret,
giving it key continuity properties analogous to SSH."