Lehren aus Heartbleed: Chatten mit OTR

The Heartbleed Bug

Der Heartbleed-Bug wirft einmal mehr die Frage auf, wie wir als Aktivist_innen unsere private Kommunikation absichern können. Nicht erst seit der NSA-Affäre wissen wir, dass inländische und ausländische Geheimdieste ein großes Interesse daran haben, mit wem wir über was sprechen. Der Heartbleed-Bug hat erschreckend demonstriert, dass wir bei der Absicherung unser Strukturen die Losung doppelt hält besser berücksichtigen sollten. Wir euch mit diesem Artikel eine leicht zu bedienende Möglichkeit vorstellen, mit Gefährt_innen über den ganzen Globus hinweg in Echtzeit chatten zu können, ohne dass dies von der NSA oder den Betreibern der Server mitlesbar wäre. Die Zauberformel dahinter ist denkbar einfach: Jabber mit OTR.

 

Was ist dieses Jabber?

Viele deutschsprachige Aktivist_innen nutzen bereits seit Jahren Jabber, um sich in Echtzeit zu unterhalten. Jabber ermöglicht es mit Leuten, die gleichzeitig mit euch online sind, Nachrichten auszutauschen. Die älteren unter uns kennen das Prinzip wahrscheinlich noch aus Zeiten von ICQ und MSN. Massenhaft eingesetzt, wird die Idee von Echtzeit-Chats derzeit bei Facebook. Letzters nutzt übrigens die gleiche Technik wie Jabber (XMPP).

 

Im Endeffekt ist das Prinzip denkbar einfach: Ihr legt euch bei einem Server eures Vertrauens einen Jabber-Account an. Dafür müsst ihr euch in der Regel nur einen Benutzernamen und ein Passwort ausdenken. Eine E-Mail-Adresse ist meist nicht notwendig. Durch seinen dezentralen Aufbau seid ihr nicht auf einen zentralen Anbieter wie Facebook, Microsoft oder Google angewiesen. Auch linke Tech-Kollektive bieten Jabber-Server an. So zum Beispiel Systemli, der Chaos Computer Club, Immerda und Riseup.

 

Anschließend könnt ihr Bekannte als Freund_innen hinzufügen und dann sofort mit diesen Nachrichten austauschen. Dies funktioniert auch zwischen Leuten, die sich auf unterschiedlichen Servern registriert haben.

 

Neben dem simplen Chat ermöglicht Jabber auch Konferenz-Räume, in denen mehrere Leute gleichzeitig miteinander schreiben können. Auch das Versenden von Dateien ist möglich. Letzeres ist jedoch nicht zu empfehlen, da die Dateien eventuell unverschlüsselt (!) versendet werden.

 

Privatsphäre durch OTR

OTR ist eine Abkürzung für Off-the-Record-Messaging und ermöglicht genau dies. Es kann als Plugin für gängige Chat-Programme installiert werden und sorgt anschließend für eine end-to-end-Verschlüsselung der Nachrichten eines Gesprächs. Dadurch können selbst die Betreiber der Server nicht mitlesen, worüber ihr euch unterhaltet. Angesichts der Gefahr von Spitzeln, die an diese zentrale Stellen eingeschleust werden können oder Sicherheitslücken in der Verbindung zum Server wie Heartbleed eine war, stellen dann kein Problem mehr dar.

 

OTR nutzt dabei zur Verschlüsselung einige ausgefeilte Tricks. Dadurch sind die Gespräche nicht nur so gut verschlüsselt, dass auch die NSA sich die Zähne daran ausbeißt. Es wird zusätzlich sichergestellt, dass die Daten im nachhinein nicht entschlüsselt werden können. Außerdem kann OTR während des Gesprächs sicherstellen, dass euer/eure Gesprächspartner_in auch die Person ist, als die sie sich ausgibt. Und zu allerletzt garantiert OTR nach einem Gespräch eine glaubwürdige Abstreitbarkeit euer Aussagen.

 

Das hört sich alles ziemlich kompliziert an, ist aber in der Praxis sehr einfach zu benutzen. OTR erkennt automatisch, ob euer gegenüber auch OTR hat und verschlüsselt dann das Gespräch von selbst. Auch um den Austausch der Schlüssel müsst ihr euch nicht kümmern. Alles läuft automatisch im Hintergrund ab. Den einzigen Schritt, bei dem ihr selbst Hand anlegen müsst, ist die Authentifizierung eures gegenübers. Nur in diesem Fall könnt ihr wirklich sichergehen, dass ihr nicht gerade mit einem Bullen schreibt oder Opfer einer Man-in-the-Middle-Attacke werdet.

 

Auch hierfür hat OTR eine denkbar einfache Lösung entwickelt: Ihr stellt eurem Gesprächspartner einfach eine Frage, deren Antwort nur er kennen kann. Antwortet dieser korrekt, könnt ihr im in der Zukunft vertrauen. Dieser Schritt ist nur einmalig notwendig, jedoch von beiden Leuten. Bei den Fragen solltet ihr darauf achten, dass selbst Geheimdienste, die im Zweifel gut über euer Privatleben Bescheid wissen, die Antwort nicht kennen. Ihr solltet dabei die Frage immer selbst bestimmen und euch nicht von der anderen Person ein Thema vorgeben lassen. Im Zweifel könnt ihr auch einfach im persönlichen Gespräch eine Antwort ausmachen.

 

Und wie komme ich an das ganze?

Für Linux- und Windows-Nutzer_innen ist Pidgin zu empfehlen. Dies unterstützt neben Jabber noch eine Vielzahl weiterer Chat-Protokolle. Ihr könnt dann also andere Chat-Programme einfach runterschmeißen. Pidgin für Windows gibt es hier. Zusätzlich müsst ihr das OTR-Plugin installieren. Unter Linux können Pidgin und OTR einfach über die Paketverwaltung installiert werden. Häufig ist zumindest Pidgin auch bereits vorinstalliert. Unter Ubuntu heißen die Pakete pidgin und pidgin-otr. Eine Anleitung gibt es bei ubuntuusers.

 

Pidgin gibt es leider nicht für Mac. Die Entwickler von pidgin empfehlen das sehr ähnlich Adium. Leider ist die OTR-Version von Adium ein wenig veraltet. Ihr könnt zwar auch verschlüsselt schreiben, die Authentifizierung ist aber leider nur durch einen Abgleich der Fingerprints möglich. Für das in einigen Monaten kommende Adium 1.6 wurde jedoch OTR kompeltt neugeschrieben und wird dann auch die leichte Authentifzierung per Frage und Antwort ermöglichen.

 

Die Grenzen von Jabber und OTR

Wenn ihr authentifizierte OTR-Gespräche führt, könnt ihr ziemlich sicher sein, dass weder die Betreiber der Server noch die NSA den Inhalt euer Gespräche mitlesen kann. OTR verschlüsselt jedoch nur den Inhalt euer Gespräche. Es kann weiterhin nachvollzogen werden, mit wem ihr schreibt. Leider funktioniert OTR nicht bei Offliche-Nachrichten und in Konferenz-Räumen.

 

Zusätzlich zu OTR sind eigentlich zu allen Jabber-Servern die Verbindung mit SSL verschlüsselt. Von GAUs wie dem Heartbleed-Bug mal abgesehen, verhindert bereits SSL ziemlich zuverlässig das Mitlesen der Kommunikation. Dadurch werden auch eure Verbindungsdaten (wer kommuniziert mit wem?) vor Bullen und Geheimdiesten geschützt. Die Betreiber der Server haben darauf jedoch genauso Zugriff wie auf Gespräche, die nicht über OTR geführt werden.

 

Wollt ihr eure Verbindungsdaten zusätzlich verschleiern, könnt ihr euch über TOR mit dem Jabber-Server verbinden. Durch die wenigen Daten, die Jabber versenden und empfangen muss, ist ein Geschwindigkeitsverlust durch TOR kaum spürbar. Nur der Verbindungsaufbau dauert deutlich länger. Unter anderem Riseup bietet den Jabber-Server auch als Hidden Service im Tor-Netzwerk an.

Zeige Kommentare: ausgeklappt | moderiert

Die beste Absicherung der Übertragung hilft nichts, wenn bei einer Hausdurchsuchung die Protokolle der Gespräche gefunden werden. Ihr solltet daher die Protokolle schlicht deaktivieren. Bei Pidgin geht dies in den Einstellungen unter dem Punkt Protokoll. Dort einfach alle Harken entfernen. Zusätzlich solltet ihr euren PC vollständig verschlüsseln. Dann seid ihr auch bzgl. temporäreren Daten und Fehlbedienungen auf der sicheren Seite.

Die Funktion Dateien versenden ist sehr gefährlich. Die Daten werden weder per OTR noch per SSL verschlüsselt. Zumindest auf Seiten des Empfängers kommen sie im Klartext an. Dass heißt, sie können bei einer TKÜ ohne Probleme mitgelesen werden. Dateien versenden per Jabber ist die unsicherste aller denkbaren Möglichkeiten, um Dateien auszutauschen!

Eine vertretbare Nutzung ist nur gegeben, wenn ihr die Datei vorher z.B. mit TrueCrypt verschlüsselt und das Passwort über eine OTR gesicherte Jabber-Verbindung schickt.

Leider bringt Verschlüsselung nix wenn:
a) euer Rechner infiziert ist
b) eure Tastatur "abgehört" wird
c) ihr von Van-Eck-Phreaking betroffen seid (Abstrahlung des Monitors)
o.ä. Verfahren genutzt werden euren Datenverkehr, eure Kommunikation abzuhören/mitzulesen.

Seid euch immer gewahr: Es gibt keine 100%ige Sicherheit! Nirgends!

Gespräche unter 4 Augen sind immer noch der sicherste Weg (hat aber natürlich auch Schwachstellen). Benutzt Code-Wörter für sensible Informationen und fühlt euch nicht sicher, nur weil ihr verschlüsselt. Es macht es der Gegenseite schwerer, aber nicht unmöglich!

Leider bringt Verschlüsselung nix wenn:
a) euer Rechner infiziert ist
b) eure Tastatur "abgehört" wird
c) ihr von Van-Eck-Phreaking betroffen seid (Abstrahlung des Monitors)
d) o.ä. Verfahren genutzt werden euren Datenverkehr, eure Kommunikation abzuhören/mitzulesen.

Das stimmt dessen sollte mensch sich immer bewusst sein. Aber zum Beispiel bei Punkt "c" ist es aktuell denke ich nicht realistisch, das deutsche Strafverfolgungsbehörden das  im großen Masstab einsetzen. Punkt "d" ist ja quasi ein Totschlag argument. Natürlich gibt es Lücken wie Heartbleed oder das Entropie-Problem bei Debian vor 6 Jahren, aber soabld ich Szenarien mit solchen Spezifikationen annehme, muss ich davon ausgehen das jede Kommuniktaion kompromittiert ist.

 

Gespräche unter 4 Augen sind immer noch der sicherste Weg (hat aber natürlich auch Schwachstellen).

 

Naja, unter der Annahme, dass die andere Person kein Spitzel ist, keine Wanzen bei sich trägt oder das keine Richtmikrophone das Gespräch kompromittieren. Oder mit es den Worten von oben zu sagen:

 -> Verfahren genutzt werden um eure Kommunikation abzuhören.

 

Benutzt Code-Wörter für sensible Informationen und fühlt euch nicht sicher, nur weil ihr verschlüsselt. Es macht es der Gegenseite schwerer, aber nicht unmöglich!

 

Vorsicht bei "Security through obscurity", ich würde mich eher auf eine Starke Verschlüsselung verlassen als auf irgendwelche Codes.

wie kann man denn erkennen ob ein computer infiziert ist oder die tastatur per keylogger abgehört wird?

Der Punkt ist, dass man sich bei manchen Informationen eben die Frage stellen muss, ob die überhaupt per Chat ausgetauscht werden müssen.

Grundsätzlich gibt es noch zwei Aspekte die zu beachten sind:

 

  • Pidgin speichert alle Passwörter im Klartext auf der Festplatte, was aber nur dafür spricht Rechner immer komplett zu verschlüsseln.
  • die Kontaktlisten werden auf dem jeweiligen Server gespeichert. Wenn ihr jetzt also einem (kryptischem) jabber-Kontakt ein selbst gewählten Nickname zuweist, wird auch dieser auf dem Server gespeichert. Sobald die Bullen oder der Geheimdienst Zugriff auf den Server haben, können sie so leichter Jabber-Accounts realen Personen zuordnen.

Ist beides kein KO-Kriterium aber wichtig zu wissen!

Wenn man einstellt, dass das Passwort nicht gespeichert werden soll, liegt es auch nicht auf der Festplatte. Es muss dann jedes mal neu eingegeben werden. Aber der einzige abhörsichere Speicherort ist nach wie vor eben das Gehirn.

 

Allgemein halte ich es für eine sehr sinnvolle Sache Jabber mit OTR zu verwenden. Man sollte jetzt wegen Heartbleed aber auch nicht zu sehr in Panik verfallen. Zum einen ist es unwahrscheinlich, dass deutsche Geheimdienste die Lücke ausnutzen konnten. Und die NSA interessiert sich glaube ich herzlich wenig dafür, was die radikale Linke in Deutschland so macht, solange es die USA nicht betrifft. Ich würde mir von daher keinen Kopf darum machen, ob meine Kommunikation von irgendwem nachvollzogen wurde.

Die NSA interresiert vieleicht nicht was deutsche Linke so treiben, aber sie können es an deutsche Stellen weiterleiten.Was sie wahrscheinlich auch tun. Oder ihr glaubt doch nicht etwa die gespielte Empörung der Regierung, nach auffliegen der NSA Überwachung?

naja, also Geheimdienste sind ja nciht unbedingt dafür bekannt Informationen untereinander auszutauschen.

ich verstehe diese sachen einfach nicht.

 

wenn das alles so unglaublich toll verschlüsselt sein soll, wie wird das ganze dann entschlüsselt ohne, dass es für andere mitlesbar ist? ich meine die schlüssel werden doch auch irgendwo gespeichert, sonst könnte der empfänger doch gar nich die nachrichten lesen.

 

auch beim festplatten verschlüsseln verstehe ich das nicht. wo ist denn der schlüssel zum ver- und entschlüsseln gespeichert? doch auf dem rechner genau wie bei pgp oder nicht??

 

ich checks nich!

Les auf der Seie von Truecrypt nach. Dort werden diese Fragen geklärt. http://www.truecrypt.org/

Gute Einführungen in GPG fidnest du bestimmt auch einige im Internet. Ich meine ich hätte sogar schonmal welche auf Youtube gesehen.

für PGP wird es hier z.B. super erklärt:

https://www.youtube.com/watch?v=MpwkB-F5dvg

ja das video erklärt gut die idee, aber ich verstehe immernoch nich wie das so sicher sein soll, wenn der private schlüssel doch auf dem rechner gespeichert ist! der rechner muss nur angezapft werden und bumms kann man mitlesen. und gegen keylogger bringt das auch nichts.

 

und wenn ich jetz die festplatte verschlüssel (und damit ja auch den privaten schlüssel ja?), dann muss ich sie um sie zu benutzen die festplatte ja auch wieder entschlüsseln. und wo is der schlüssel dazu gespeichert???

Der Schlüssel zum Entschlüsseln der Festplatte ist auf einem kleinen unverschlüsselten Bereich gespeichert, bei Linux /boot. Hier ist das Passwort der Schutz, wenn nicht noch zusätzliche Schutzmaßnahmen wie ein Key file auf einem USB-Stick oder der TPM des Motherboards benutzt werden.

JEDE Verschlüsselung steht und fällt mit einem gutem Passwort.

 

Du hast natürlich recht, dass die Schlüssel irgendwo gespeichert sind. ABER sie können nur zum Einsatz gebracht werden, wenn du das entsprechende Passwort eingibst. Hast du nun ein sehr einfaches Passwort, wie z.B. "qwertz", "123456" oder "mein Name rückwärts", dann kann es sehr leicht herausgefunden werden mittels einfachem Ausprobieren. Heißt das Passwort aber z.b. "1278shGhUjbh573hdjj§gvbjrjd)(9(7756ghjnbbdGGghbdhjxn"135GHhujd?!!!!!324ffGGhth", dann bräuchten die besten Computer der Welt mittels einer "Brute-Force-Attack" so lange Zeit, es herauszufinden, dass du und deine Nachfahren schon lange das Zeiltiche gesegnet haben dürften.

 

Es gibt gute Anleitungen im Netz, wie du ein gutes Passwort erstellen kannst, das du dir sogar merken kannst, obwohl es vielleicht 53 Zeichen hat.

OTR setzt im Gegensatz zu anderen Verschlüsselungsverfahren nicht auf ein Passwort. Ähnlich wie PGP wird auf ein private / public key-Ansatz gesetzt. Jede Person hat einen privaten Schlüssel. Diese privaten Schlüssel sind aber im Gegensatz zu PGP nicht per Passwort gesichert. Die privaten Schlüssel müssen daher geschützt sein. Hat ein Angreifer vor dem Beginn einer Kommunikation den Schlüssel, kann er mitlesen. Eine nachträgliche Entschlüsselung ist jedoch durch die Art der Verschlüsselung ausgeschlossen. Sollte es die Möglichkeit geben, dass ein Angreifer Zugriff auf den Schlüssel hatte, muss ein neuer privater Key genutzt werden.

Da hast du natürlich recht. Sorry, für die Ungenauigkeit, ich hab mich mit meinem Kommentar darauf bezogen:

 

auch beim festplatten verschlüsseln verstehe ich das nicht. wo ist denn der schlüssel zum ver- und entschlüsseln gespeichert? doch auf dem rechner genau wie bei pgp oder nicht??

Festplattenverschlüsselung: Alle Daten werden mit einem langen, zufällig generierten Schlüssel ("Master-Key") symmetrisch verschlüsselt. Dieser Master-Key wiederum wird symmetrisch mit deinem Passwort verschlüsselt. Umgekehrt genauso: Dein Passwort entschlüsselt den Master-Key, und mit dem können die Daten entschlüsselt werden. (Selbstverständlich könnten deine Daten auch direkt mit deinem Passwort verschlüsselt werden. Dann müssten bei einer Passwort-Änderung aber alle Daten neu verschlüsselt werden.)

 

OTR arbeitet mit asymmetrischer Verschlüsselung. Es gibt also kein Passwort zum Ver- und Entschlüsseln, sondern einen öffentlichen und einen privaten Key. Wichtig ist hier, dass der öffentliche ("public") Key, mit dem du deine sensible Nachricht verschlüsselst, wirklich deinem Gegenüber gehört und nicht bspw. einem Geheimdienst (welcher dann mit seinem private key deine Nachricht entschlüsseln könnte).

 

Wie beides im Detail funktioniert, verrät dir beispielsweise Wikipedia.

Eine sehr gute Alternative zu dem hier genannten Pidgin mit OTR ist das gute freie Programm Jitsi mit OTR. Das Programm gibt es unter https://jitsi.org  . Es ist nach dem Download selbsterklärend wie Pidgin. Der Vorteil zu Pidgin ist das man das Programm als echte Alternative zu Skype sehen kann. Man kann darüber nicht nur verschlüsselt chatten sondern auch telefonieren bzw. sogar verschlüsselten Videotelefonie betreiben, wenn man einen vertrauenswürdigen Jabber-Server findet. Der vom CCC funktioniert leider nicht zum telefonieren. Da geht nur der verschlüsselte Chat.