In der Jabber Community wurde gestern von Peter Saint-Andre eine neue Diskussion zur Frage der Verschlüsselung von Jabber unter dem Motto
"The Great Encryption Debate" gestartet. Die Diskussionsgrundlage stellt die Jabber Protokollerweiterung
JEP-0116: Encrypted Sessions dar, die gestern von
Saint-Andre und
Ian Paterson von der Jabber Software Foundation sowie
Dave Smith veröffentlicht wurde.
Aktualisierte Fassungen gibt es bei ClientSide.
Der Ausgangspunkt der Diskussion sind zwei Probleme.
Das erste Problem besteht darin, dass zwar mit
RFC 3923 ein Standard für die Ende-zu-Ende Verschlüsselung mit
S/MIME Zertifikaten für Jabber existiert, aber kein Jabberclient Entwickler den Standard umsetzt.
Das zweite Problem beruht darauf, dass man bei Clients wie PSI, Kopete, Centericq und JBother mit
OpenPGP Schlüsseln arbeiten kann, weil diese Clients die Jabber Protokollerweiterung
JEP-0027 umsetzen. Die Voraussetzung, dass die Mehrheit der Jabber Benutzer GnuPG verwenden will, sich mit GnuPG auskennt und GnuPG Schlüssel besitzt aber nicht gegeben ist.
Die Diskussion dreht sich neben den Problemen mit den existierenden Verschlüsselungslösungen auch um die Frage, welche Verschlüsselungsmethode dem Charakter und den Merkmalen von Jabber am besten entspricht.
Da Jabber Kommunikation sitzungs- und datenstromorientiert ist, was sowohl die Dauerverbindung zu einem Jabber Server angeht, als auch den Charakter der Kommunikation zwischen den Benutzern (kurze, interaktive Chatsitzungen über eine kontinuierliche Verbindung zu einem Server statt einzelner E-Mails über einen sporadisch kontaktierten E-Mail Server) sollte nach Meinung der drei Autoren der Fokus bei der Jabberverschlüsselung auch mehr auf der Verschlüsselung ganzer Jabbersitzungen liegen. Im Gegensatz zur Verschlüsselung einzelner Objekte (eine E-Mail, eine Datei, ein Jabber Nachrichtenkörper) wie bei der Verschlüsselung per OpenPGP oder S/MIME.
Deshalb stellt die Grundlage von JEP-0116
SSH und das
SSH Transport Layer Protokoll dar, um ein Protokoll zu definieren, nach dem zwischen Endpunkten der Kommunikation ein sicherer Tunnel aufgebaut wird, in dem alle Elemente eines Jabber Datenstroms verschlüsselt übertragen werden. Aus diesem Grund spricht die Protokollerweiterung auch vom Protokoll für verschlüsselte Sessions oder kurz "ESessions".
Dieser Ansatz würde auch mehr dem Potential und der Dynamik von Jabber entsprechen, wenn man an die Verwendung des
XMPP Protokoll von Jabber für andere Anwendungen wie VoIP oder Videoconferencing denkt.
Gleichzeitig richtet die Erweiterung auch die Methode der Verschlüsselung an den Kommunikationscharakter von Jabber aus, indem es Methoden und Ziele des
Off-the-Record Messaging (OTR) in die ESessions integrieren will. Kurz gesagt, Authentifizierung und Verschlüsselung würden sich nur auf die stattfindende Kommunikation beziehen.
Das heißt für die Verschlüsselung, dass nach Beendigung der Kommunikation weder die eigentlichen Kommunikationspartner noch dritte Parteien die abgefangenen bzw. abgespeicherten und verschlüsselten Kommunikationsinhalte wieder entschlüsseln können, selbst wenn ein Angreifer in den Besitz eines verwendeten Schlüssels gelangt.
Für die Authentifizierung würde die Umsetzung von OTR in die ESessions bedeuten, dass sich die Kommunikationsendpunkte zum Anfang der Sitzung vergewissern können, dass sie mit dem echten Endpunkt kommunizieren und sich sicher sein können, dass während der Kommunikation die Inhalte wirklich von der echten Entität stammen, im Nachhinein die Inhalte aber keinem Endpunkt eindeutig und beweisbar zuzuordnen sind bzw. von jeder dritten Partei stammen können.
Die ESessions setzen dazu die Diffie-Hellmann Schlüsselvereinbarung, regelmäßigen Wiederaustausch von Verschlüsselungskeys, SHA-256 oder Whirlpool, HMAC Algorithmen und öffentliche Schlüssel im OpenPGP, SSH und x509 Format ein.
Neben einer ganzen Reihe offener Fragen deckt die Encrypted Sessions Erweiterung (noch) nicht die Verschlüsselung von Multi-User-Chat (MUC), dem Jabber Pendant zu IRC und von Nachrichten, die ein Kommunikationsendpunkt an viele Kommunikationspartner versendet, ab.
Aber die Erweiterung trägt ja nicht umsonst den Status "Experimentell", bietet aber meiner Meinung nach einen neuen und positiven Weg, eine Verschlüsselungsmethode zu realisieren, von der sowohl die Jabber Benutzer als auch die Jabberclient Entwickler profitieren könnten - vorausgesetzt, sie ist wirklich einfach zu implementieren und anzuwenden, wie es die Autoren versprechen. Dabei wäre es schön, wenn die Encrypted Sessions mit OTR kompatibel wären, OTR und Encrypted Sessions "irgendwie" in einem gemeinsamen Protokoll aufgehen würden oder jeder Jabber Client flexibel beide Methoden anbieten könnte.
Mal beobachten: Von Jabbin, einem Psi-Fork ist die 2.0 beta erschienen. Bietet wie Psi auch OpenPGP Verschlüsselung für Chats und Instant Messages, aber zusätzlich und im Gegensatz zu Psi VoIP per Google Talks Jingle, so dass man theoretisch mit allen Cli
Tracked: Oct 20, 21:58