Rorschachs Tagebuch

Eine Sicherheitsanalyse von XMPP: sicher chatten mit Jabber, oder doch nicht? Dezember 21, 2008

In der neusten Datenschleuder (#93) welche seit dieser Woche in die Briefkästen ihrer Abonnenten befördet wird ist ein sehr interessanter Artikel von Hannes Mehnert mit dem Titel: „Secure Instant Messaging – am Beispiel XMPP“ .

In diesem Artikel wird sehr schön das XMPP-Protokoll an sich erläutert und dann ausführlich auf verschiedene Sicherheitsaspekte eingegangen. Sowohl die Client – Server, wie auch die Server – Server Verbindung wird dabei analysiert. Dann folgt eine Erläuterung der beiden verbreitesten Verschlüsselungsarten beim IM: OpenPGP und OTR, wie sie funktionieren und was ihre Vor-/Nachteile sind. Danach folgt noch eine kurze Beschreibung über die Funktionsweise und Probleme beim anonymen chatten über XMPP mit Hilfe von Tor.

Bei der Analyse wird auch jeweils auf die Implementationen innerhalb der Clienten: Adium, Gajim, Pidgin und Psi eingegangen, als auch auf die unterschiedlichen Serverimplemenationen ejabberd, jabberd-2 und jabberdI.

Kurze Zusammenfassung des Artikels: Keine momentane Serverimplementation besitzt einen verlässlichen Zufallszahlengenerator welcher Vorraussetzung für eine sichere Authentifizierung mit SASL (DIGEST-MD5) oder Digest-Authentifizierung ist. ejabberd hat jedoch die Nase etwas vorne, da sein Zufallszahlengenerator auch die Millisekunden des Zeitpunktes vom Server-Startup miteinbezieht. Bei den Client-Implementationen sieht es sicherheitstechnisch noch etwas schlechter aus, als bei den Server-Implementationen. So ist zum Beispiel laut Artikel keine stable-Version eines der oben genannten Clienten in der Lage ein Zertifikat für die nächste Verbindung zu speichern und somit die Integrität des Servers zu überprüfen. Psi, Audium und Gajim scheinen dem jedoch in den neusten Versionen in Subversion abgeholfen zu haben, weswegen es sich anbietet die Development-Versionen eines dieser Clienten zu nutzen.

Zu den Verschlüsselungsmethoden: OpenPGP hat den Nachteil, dass sollte jemals der private Schlüssel in die Hände eines Unbefugten gelangen, dieser jede jemals mit ihm verschlüsselte Nachricht entschlüsseln kann. Bei OTR besteht diese Gefahr nicht da bei jeder Verbindung ein neuer Schlüssel ausgehandelt wird. Dafür hat OTR Probleme mit Latenzen, also wenn zum Beispiel eine Nachricht erst ankommt, nachdem bereits ein neuer Schlüssel ausgehandelt wurde kann sie nichtmehr entschlüsselt werden. Dies wird momentan von den Clienten nur bedingt durch einen Nachrichten- und OTR-Schlüsselcache verhindert , welcher aber wiederum die Sicherheit von OTR gefährdet. Offline-Nachrichten sind mit einer sicheren OTR-Implementation auch nicht möglich.

Fazit: Das offene XMPP-Protokoll an sich ist sehr geeignet für eine sichere Kommunikation, doch die momentanen Implementationen lassen noch etwas zu wünschen übrig, auch wenn Fortschritte eindeutig zu verzeichnen sind.

Freundlicherweise stellt Hannes diesen Artikel nicht nur den Lesern der Datenschleuder zur Verfügung (denn die PDF-Variante dieser wird wahrscheinlich erst in ein paar Monaten erscheinen) sondern bietet den vollständigen Artikel auch als Download an: https://berlin.ccc.de/~hannes/secure-instant-messaging.pdf .

 

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s