Unsicher chatten mit OTR
Wenn es um Sicherheit beim Chatten geht, schwören viele auf OTR – oft allerdings, ohne den OTR-Fingerprint zu überprüfen, wodurch das ganze technologische Zauberschloss durch eine kleine Nachlässigkeit in sich zusammenfällt.
OTR („off-the-record“) ist ein Verschlüsselungsprotokoll, das mehrerlei sicherstellt:
a) Verschlüsselung – niemand kann mitlesen
b) Signierung – d.h. die Identität der KommunikationspartnerInnen wird sichergestellt
c) Bestreitbarkeit und Verfall
Der Sinn der Verschlüsselung liegt auf der Hand — wenn Anna eine Nachricht an Christoph senden will, die Bert (der Netzwerkadministrator) nicht mitlesen soll, wird halt verschlüsselt.
Die Bestreitbarkeit und der Verfall unterscheided OTR von PGP. PGP-verschlüsselte Nachrichten kann man aufbewahren und auch Jahre später noch entschlüsseln. Wenn also durch eine Hausdurchsuchung ein PGP-Schlüssel an die Behörden fällt, können sie damit mitgeschnittene alte Nachrichten entschlüsseln und die beteiligten KommunikationspartnerInnen identifizieren. Das ist bei OTR nicht der Fall.
Die Signierung von Nachrichten stellt sicher, dass die Nachricht wirklich vom erwarteten Gegenüber kommt. Im obigen Beispiel signiert der OTR-Client von Anna automatisch die Nachricht. Der OTR-Client von Christoph überprüft die Signatur und gibt eine Warnung aus, wenn nicht sichergestellt ist, daß sie wirklich von Anna kommt: „Nicht verifizierte Unterhaltung mit Anna“. Christoph versteht nur halb, was das bedeutet und fängt an zu chatten. Denn er ist sicher, er würde sofort merken, wenn Bert sich als Anna ausgeben würde, schon allein wegen der Rechtschreibefehler.
Nunja, Bert ist gewitzt. Er gibt sich nicht einfach „von Hand“ als Anna aus, sondern er schneidet die Kommunikation mit. Wenn Annas OTR sich mit Christoph verbinden will, hakt er ein und verbindet sich mit Anna. Er entschlüsselt Annas Nachricht, verschlüsselt sie mit seinem OTR und leitet sie weiter zu Christoph. Der erhält die Nachricht von Anna, signiert mit dem OTR-Schlüssel von Bert. Da er nicht auf Signaturen achtet, chattet er munter drauflos und erzäht, was Bert wieder für einen Mist gebaut hat… Der Man-In-The-Middle-Angriff auf OTR war erfolgreich:
Zu aufwändig? Weit hergeholt? Hier gibt es den Quellcode für einen solchen Angriff zum Download. Wer Zugriff auf einen Jabber-Server hat, hat in einer halben Stunde die Kommunikation lesbar auf dem Schirm — trotz OTR. Wer nur auf den Datenverkehr zugreifen kann (wie z.B. der Internetprovider, die MitbewohnerInnen, die MitnutzerInnen des gemeinsamen WLAN, die Dienste, …) muss den Code noch anpassen. Aber ein paar Stunden Programmierarbeit kann sich auch das LKA in der Provinz leisten, insofern ist ein Man-In-The-Middle-Angriff auf OTR eine durchaus plausible Angriffsmöglichkeit.
Umgehen lässt sich das gesammte Szenario, wenn der OTR-Fingerprint des Gegenüber überprüft wird. Der Fingerprint stellt kryptographisch sicher, daß die Nachricht wirklich von der erwarteten Gegenstelle kommt. Dazu muss der Fingerprint über eine sichere Verbindung übertragen werden. Und nein: Der Chat selbst ist keine sichere Verbindung, so lange der Fingerprint nicht überprüft ist.
Zum Teil lässt sich die hohe Verbreitung von OTR dadurch erklären, daß es so einfach ist. Während PGP die NutzerInnen penetrant an die Wichtigkeit von Fingerprints erinnert, macht OTR alles automatisch. Installieren, auf „Privat“ klicken und schon scheint alles OK. Diese vermeindliche Sicherheit ist gefährlicher als die Unsicherheit unverschlüsselter Kommunikation — dabei wissen mittlerweile wenigstens die meisten, daß mitgelesen werden kann. Wer sich aber in Sicherheit wiegt, die keine ist, bringt sich und andere in Gefahr.
Schreibt es auch also auf die gelben Klebezettel neben dem Monitor (streicht das Passwort, das dort steht durch oder nehmt besser einen neuen Zettel und verbrennt den alten):
KEIN OTR OHNE FINGERPRINT-CHECK!
Noch eine kleine Anmerkung zu Bestreitbarkeit und Verfall: Wenn das Chatprogramm sich die Kommunikation unverschlüsselt merkt (was z.B. als „Benutzermitschnitt“ oder „Chatlog“ oft voreingestellt ist) ist es natürlich Essig mit dem Verfall.