[How To] Sicheres Instant Messaging mit OTR

ChiefAlex

Super-Moderator
[How To] Sicheres Instant Messaging mit OTR (off-the-record)
private-abk8ip.png


Ziel dieses How-To's ist es, mit einer Client-zu-Client-Verschlüsselung zu versehen, bei der niemand dazwischen mitlesen kann.

Einige Protokolle nutzen gesicherte (SSL/TLS) Verbindungen, allerdings nur für die Strecke vom Client zum Server. Andere, technisch veraltete Protokolle senden gar generell unverschlüsselt (oder in einem Verfahren, das die Bezeichnung "Verschlüsselung" ).

Warum verschlüsseln?
Die Antwort ist einfach: Um Privatsphäre dort zu wahren, wo sie sein sollte, in Gesprächen zwischen meist zwei Personen. Ihr würdet auch nicht wollen, dass beim Chatten jemand neben euch sitzt und alle Eingaben mitschreibt, oder? Es gibt auch keinen Grund, warum das bei einem Serverbetreiber möglich sein sollte!

Das How-To beschäftigt sich mit "Off-The-Record"-Messaging, ein Prinzip der sicheren Kommunikation, das vier Anforderungen stellt:
1. Verschlüsselung (der Gespräche)
2. Authentifizierung (der Teilnehmer ist authentisch und kein man-in-the-middle)
3. Abstreitbarkeit (dass jemals eine Nachricht geschickt wurde)
4. Folgenlosigkeit (wenn ihr euren Schlüssel verliert, seid ihr nach Erstellung eines neuen wieder sicher; der alte Schlüssel nützt einem Außenstehenden nichts; er kann daraus nicht euren neuen bestimmen).
Spoiler:
Punkt 3 (und 4) ist meist von untergeordneter Wichtigkeit, aber nicht unwichtig. Eure Nachrichten werden mit keiner elektronischen Signatur versehen, im Nachhinein kann niemand nachweisen, dass eine bestimmte Nachricht geschickt oder ein Gespräch geführt wurde - nicht einmal ihr Empfänger.


Umgesetzt wird Off-The-Record also durch Verschlüsselungsverfahren und die Nutzung eines geheimen Schlüssels, der an einen Nutzer gebunden ist.

Es gibt viele Möglichkeiten, in den Genuss der End-to-End-Verschlüsselung (gemeint ist jeweils das Ende der Kommunikationskette; von eurem Computer bis zu dem des Gesprächspartners) zu kommen.
Einige Programme unterstützen sie von Haus aus, andere lassen sich mittels Plugin nachrüsten.
Die Liste an nativ unterstützten Programmen (leider ist mir kein Windows-Programm bekannt) findet sich im Wikipedia-Link am Ende des How-To's.

Ich werde die Installation und Benutzung des Plugins für den Multimessenger Pidgin hier erläutern. Es existieren neben Pidgin auch Plugins für Miranda, Trillian, uvm.

Für Mac-User bietet sich auch die Benutzung des Multimessenger-Clients Adium an, der OTR ganz ohne Plugin unterstützt.

Ferner gibt es die Möglichkeit, einen lokalen Proxy einzurichten, der dann die Verschlüsselung übernimmt (und so z.B. den orginalen ICQ-Client unterstützten), auf diese Möglichkeit werde ich aber nicht weiter eingehen.

Das OTR-Projekt stellt einen Installer für Windows bereit: Man findet die jeweils aktuellste Version unter "Primary download" bei:

Für Linux-Systeme mit deb-Unterstützung gibt es OTR in den Paketquellen und kann mit
Code:
apt-get install pidgin-otr
installiert werden.

Nach der Installation muss das Plugin aktiviert werden. Man findet es im Menü von Pidgin unter "Werkzeuge->Plugins", wo man den Eintrag "Off-The-Record-Messaging" aktiviert.
Dann klickt man auf "Plugin konfigurieren".
unbenannt1bu1l.png


Hier kann man Einstellungen bezüglich dem Plugin vornehmen und sich Schlüssel generieren.
Jeder Account in Pidgin benötigt einen eigenen Schlüssel.

Es gibt nun 3 verschiedene Gesprächsarten. Man erkennt sie an einem Feld, das im Gesprächsfenster sichtbar ist:
2k57l.png

Nicht Privat: Entweder der Gesprächspartner benutzt kein OTR oder es ist nicht aktiviert. Das Gespräch ist nicht verschlüsselt.
Unverifiziert: OTR wird verwendet und das Gespräch verschlüsselt, aber der Gesprächspartner ist (noch) nicht verifiziert. Es könnte auch ein völlig Fremder sein, der an das Passwort von eurem Freund gelangt ist, und sich nun als dieser ausgibt.
Privat: OTR wird verwendet, das Gespräch verschlüsselt, und der Gesprächspartner ist bekannt.

Wenn der Gegenüber OTR benutzt, wird dies meist vielleicht von eurem OTR-Plugin registriert worden sein. Wenn nicht, könnt ihr mit einem Klick auf Nicht Privat und "Private Unterhaltung starten" versuchen, eine verschlüsselte Verbindung aufzubauen.Wenn der Gegenüber kein OTR verwendet, wird er mit einigen Zeilen Code zugespammt. In dem Fall könnt ihr ihm gleich die Installation von OTR erklären 😉


Die erste Hälfte von OTR -die verschlüsselte Verbindung- habt ihr bereits mit der Installation von OTR und der Generierung eines privaten Schlüssels erreicht. OTR wird meist erkennen, wenn der Gesprächspartner OTR verwendet und automatisch eure Nachrichten verschlüsseln.

Die Verifizierung ist Teil 2 und kann manchmal nervend sein, ist aber Teil des Sicherheitsprinzips. Klickt im Gesprächs auf "unverifiziert" und dann auf "Buddy authentifizieren.
Es gibt 3 Möglichkeiten, einen Gesprächspartner zu verifizieren:
1) Frage und Antwort:
Man gibt eine beliebige Frage ein, deren Antwort ein Hochstapler nicht kennen kann. Beispiel die URL des Forums, über die wie uns kennen "www.pcmasters.de". Groß/Kleinschreibung ist wichtig.
2) Passphrase:
Eine Zahl oder ein Wort wird außerhalb Pidgins vereinbart (z.B. Mündlich, via SMS, Brief, etc). und vom Gesprächspartner eingegeben.
3) manueller Fingerprint-Vergleich:
potenziell unsicher, man bestätigt manuell, dass ein Gesprächspartner vertrauenswürdig ist.
Sinnvoll beim Einrichten von OTR.

Wenn dies gelingt, wechselt das Unverifiziert in Privat.
Eine Verifizierung ist beidseitig! Jeder muss den Gegenüber verifizieren.

OTR ist vom Protokoll unabhängig, jedes Protokoll, dass Pidgin unterstützt, kann auch mit OTR genutzt werden (Beispiele: ICQ,MSN,YahooIM,AIM,XMPP, etc.).


Links:
Off-The-Record-Projekt:
Wikipedia-Artikel:
4 Ziele des OTR:
Pidgin-Homepage:
Man-in-the-Middle:
In OTR verwendeter Algorithmus:
Schlüsselverfahren:
Erklärung der privacy levels:
 
Zuletzt bearbeitet:
Das Plugin für Miranda gibts hier:

Allerdings gibt es bei Miranda keine Möglichkeit der Verifizierung mit einer Frage oder einem Passwort. Das wird, wenn zB von einem Pidgin-Client eingestellt, überhaupt nicht angezeigt. Man kann den Fingerprint ausschließlich manuell überprüfen. Wenn also jemand nach einiger Zeit plötzlich einen anderen Fingerprint hat müsste man um auf Nr. Sicher zu gehen diesen auf einem anderen Weg verifizieren (wie oben steht: mündlich, SMS, Brief oder anderer verschlüsselter Kanal).

Oder man stellt dem zuerst unbekannten eben selbst eine Frage, dessen Antwort er kennen sollte.
 

Online-Statistiken

Zurzeit aktive Mitglieder
4
Zurzeit aktive Gäste
34
Besucher gesamt
38

Beliebte Forum-Themen

Zurück
Oben Unten