Vor einiger Zeit wurde mir Jitsi als Alternative zu Skype vorgeschlagen. Da das Ganze auf einem verbreiteten Protokoll basiert, wollte ich das Thema hier nochmal aufgreifen.

Bei Jitsi ist mir aufgefallen, dass es recht schwerfällig ist und gerne auch mal abstürzt. Außerdem will man nicht immer und überall gleich „telefonisch“ erreichbar sein. Oftmals soll nur gechattet werden. Und das, wenn möglich, mit jedem Gerät, das ich besitze. WhatsApp ist wegen Sicherheitsproblemen und fragwürdigem Umgang mit sensiblen Kundendaten keine Alternative, noch dazu kann man es nur auf mobilen Plattformen nutzen.

Was also tun?

Die Antwort ist recht einfach:

Raus aus den vorgegebenen Netzwerken und selber machen. Der Haken ist, es müssen möglichst viele mitmachen.

Die gute Nachricht ist, es ist nicht schwer: wer mit E-Mail-Konten umgehen kann, findet sich auch hier zurecht.

Folgendes wird gebraucht:

  • Computer / Handy / Tablet usw. möglichst ohne Viren und Trojaner
  • Eine Chat-Adresse (Haben Jitsi-Nutzer schon)
  • Eine Software, die Jabber bzw. XMPP spricht und gleichzeitig OTR-Verschlüsselung beherrscht
  • Ein wenig Zeit und Geduld
  • Die Bereitschaft etwas Neues zu lernen und Anderen bei Anlaufschwierigkeiten zu helfen

So wird´s gemacht für Profis:

1. Adresse anlegen unter: http://www.jabber.de/register/ – Name und Email sind optionale Angaben

2. Software herunterladen und installieren – Der Chat Client muss das Protokoll XMPP und die Verschlüsselung OTR unterstützen. Hier ein paar Vorschläge:

2a. Windows: Pidgin und Pidgin OTR-Plugin

2b MacOSX: Adium

2c Linux: Installiert pidgin und pidgin-otr aus euren Paketquellen Beispiel (Debian Terminal)

sudo apt-get install pidgin pidgin-otr

2d Android: ChatSecure oder xabber

2e IOS ChatSecure oder IMO (hier darauf achten, dass man sich keinen imo-account erstellt)

3. Die Software der Wahl starten und am in 1. erstellten Konto anmelden, Benutzername: aus 1. (benutzername@jabber.de wenn Domäne-Feld fehlt), Domäne: jabber.de, Kennwort: aus 1.

4. OTR-Plugin aktivieren und Schlüssel erzeugen

5. Kontakte hinzufügen

6. Chatten, das Aktivieren von OTR (gleichnamiges Menü im Chatfenster) und das Authentifizieren des Chatpartners nicht vergessen

So wird´s gemacht für Normalsterbliche:

1. Die Chat-Adresse anlegen

Anbieter gibt es viele, eine gute Liste findet sich unter dem folgenden Link:

https://xmpp.net/directory.php

Bei jedem der gelisteten Anbieter kann man sich eine Chat-Adresse besorgen. Man sollte darauf achten, dass man sich verschlüsselt mit seinem Chat-Konto verbinden kann. Um die Sicherheit der Kommunikation zu gewährleisten, muss jedes Glied der Kette für sich sicher sein.

Ein Werkzeug zur Überprüfung der Server seitigen Sicherheit steht unter dem folgenden Link zur Verfügung:

https://xmpp.net

Der Test eines Servers kann einige Zeit in Anspruch nehmen, liefert dann aber detaillierte Ergebnisse. Sollte es beim bevorzugten Server eklatante Mängel geben, kann es sich lohnen die Betreiber darüber zu informieren, damit sie nachbessern können.

Hier noch ein Link zum Test von jabber.de (Mit einer Bewertung von A- steht der Dienst schon sehr gut dar.):

https://xmpp.net/result.php?id=17813

Es sei noch erwähnt, dass die Erstellung des Kontos meist mit nur einer von zwei Methoden funktioniert. Entweder man kann direkt beim Einrichten der Chat-Software einen Haken für „Dieses neue Konto auf dem Server anlegen“ setzen oder es gibt die Möglichkeit, das Konto auf der Webseite des Anbieters zu erstellen.
Wenn eine Anmeldung beim Anbieter nötig ist, sollte man darauf achten, dass der gewünschte Anbieter nur einen Benutzernamen und das Passwort abfragt. Sollte der Anbieter die Angabe von weiteren, möglicherweise persönlichen Details erzwingen wollen, sollte man einen anderen Anbieter wählen.

Wer nicht suchen möchte, benutzt http://www.jabber.de/register/. Name und Email sind hier optionale Angaben, die Felder können somit leer bleiben.

2. Software herunterladen und installieren

Ich habe versucht die Links so zu setzen, dass immer die aktuellste Version der jeweiligen Software angeboten wird. Um die Ausnutzung bekannter Sicherheitslücken zu erschweren, sollte darauf geachtet werden, dass jeweils die aktuellste Version der jeweiligen Software eingesetzt wird. Dies ist zwar kein Garant dafür, dass keine Sicherheitslücken vorhanden sind, aber die Wahrscheinlichkeit, dass bekannte Lücken gestopft wurden, ist hoch. Es lohnt sich daher regelmäßig zu prüfen, ob es neue Versionen gibt und diese zu verwenden.

Für PCs und Laptops bietet sich Pidgin an, hier können neben dem neuen Jabber/XMPP Konto auch weitere Chatdienste wie ICQ, AIM usw. eingerichtet werden. So kann man andere animieren ebenfalls zu wechseln und bleibt leichter mit denen in Kontakt, die nicht sofort wechseln möchten oder können. Darüber hinaus steht Pidgin auch in einer portablen Version zur Verfügung, die sich gut für den Einsatz auf USB-Sticks oder auf Windows-PCs, auf denen man keine Software installieren kann, eignet. Man sollte vor dem Einsatz von portablen Versionen allerdings überlegen, ob man dem PC, in den man den USB-Stick stecken möchte, vertrauen kann. Dies kann beim PC auf der Arbeit noch der Fall sein, auch wenn der Admin der Firma hier die Hoheit hat und ggf. mitlesen kann.

Für Windows können Pidgin und das OTR-Plugin unter den folgenden beiden Links heruntergeladen werden:

Pidgin und Pidgin OTR-Plugin

Pidgin Portable und Pidgin Portable OTR-Plugin

Unter Linux können die Pakete pidgin und pidgin-otr im jeweiligen Softwareinstallationsprogramm ausgewählt und installiert werden. Alternativ geht dies natürlich auch über die Kommandozeile/shell. Hier ein Beispiel für Debian und dessen Abkömmlinge wie Ubuntu und LinuxMint:

sudo apt-get install pidgin pidgin-otr

Die Software Adium beherrscht OTR von sich aus und steht für alle MacOSX-Nutzer unter folgendem Link zur Verfügung:

Adium

Für Android und IOS habe ich jeweils zwei Alternativen herausgesucht. Die Android-Apps habe ich selbst getestet, bei den IOS-Apps kann ich keine Aussage zu Details machen. Falls jemand hier noch einen heißen Tipp hat, würde ich mich über einen entsprechenden Kommentar freuen.

Im Bereich mobile Plattformen steht Chatsecure sowohl für Android als auch für IOS zur Verfügung. Beim ersten Start möchte die App eine Passphrase genannt haben, die fortan den Zugriff sichert, wenn die App beendet und danach wieder gestartet werden soll. Darüber hinaus werden natürlich mehrere Konten genau so unterstützt wie OTR.

Die zweite Android App ist Xabber. Hier können neben dem Jabber/XMPP-Konto weitere Konten für andere Dienste angelegt werden, um beispielsweise via ICQ und Co zu chatten.

Neben ChatSecure bietet unter IOS noch IMO die Unterstützung von Jabber/XMPP und OTR. Hier muss man aber darauf achten, dass man sich beim ersten Start keinen imo-account erstellt. Dieser Schritt muss übersprungen werden. Danach lassen sich die unter 1. angelegten Zugangsdaten eingeben. Dieser Punkt ist wichtig, weil ansonsten der Anbieter von IMO in der Lage wäre, Chats mit zu verfolgen, was den ganzen bis hierhin getriebenen Aufwand zunichte machen würde.

Es sei noch erwähnt, dass gerade auf Smartphones der Einsatz von Chat-Clients die Akkulaufzeit stark verkürzen kann. Es lohnt sich daher innerhalb der verwendeten App nach Einstellungen zu suchen, mit denen sich dieser Effekt zumindest ein wenig dämpfen lässt. Gute Ansatzpunkte sind hier die Häufigkeit von Serverabfragen oder auch das verwendete Farbthema. Gerade bei LCDs braucht ein schwarzes Pixel mehr Strom als ein weißes. Hier ist ein wenig Experimentierfreude gefragt, um den besten Kompromiss zu erlangen.

3. Der Einstieg

Beim ersten Start der jeweiligen Chat-Software wird man von einem Assistenten begrüßt, mit dessen Hilfe man das neue Chat-Konto einrichten kann. Da jede Software dies ein wenig anders löst, werde ich an dieser Stelle allgemeine Hinweise geben und Beispiele aus der gängigsten Software Pidgin verwenden.

Konto hinzufügen
Konto hinzufügen

Um das in 1. angelegte Konto einzubinden brauchen wir drei Informationen:

  • Benutzername, wie in 1. gewählt
  • Domäne, laut Beispiel wäre das jabber.de
  • Passwort, ebenfalls, wie in 1. gewählt

Im Willkommen-Dialog können mit einem Klick auf „Hinzufügen…“ (1) beliebig viele Konten hinzugefügt werden. Pidgin unterstützt eine Vielzahl von Protokollen.

In unserem Fall muss das als Protokoll XMPP gewählt werden.

Nun können wir die Anmeldeinformationen eingeben (2)

Darüber hinaus können wir Pidgin das Passwort speichern lassen. Je nachdem wer Zugang zum jeweiligen Computer hat, macht es Sinn dies nicht zu tun. Wenn diese Option genutzt werden soll, ist es zumindest ratsam, für jeden Benutzer des Computers ein eigenes Benutzerkonto anzulegen und alle Konten auch per Passwort abzusichern.

(3) Wenn der gewählte Anbieter für das Chat-Konto das Anlegen eines Benutzerkontos direkt aus der Chatsoftware zulässt, kann mit dem Haken „Dieses neue Konto auf dem Server anlegen“ ein neues Konto angelegt werden.

Sind alle Angaben richtig, kann dieser Dialog mit einem Klick auf „Hinzufügen“ verlassen werden.

Das gerade angelegte Konto taucht nun in der Liste der Konten auf. Gleichzeitig versucht Pidgin eine Verbindung herzustellen. Dabei öffnet sich die noch leere Kontaktliste, nach kurzer Zeit sollte das gerade angelegte Konto mit einem grünen Punkt im unteren Bereich als Verbunden gezeigt werden.

Wer nun noch Konten von weiteren Diensten hinzufügen möchte, kann dies jetzt mit einem Klick auf „Hinzufügen…“ tun. Als Protokoll muss dann das des jeweiligen Dienstes gewählt werden. Die weiteren benötigten Informationen variieren leicht von Dienst zu Dienst.

4. OTR aktivieren

OTR aktivieren und konfigurieren
OTR aktivieren und konfigurieren

Leider wird das OTR-Plugin nicht automatisch aktiviert. Dies sollte nun geschehen, bevor Kontakte hinzugefügt und Chats gestartet werden.

Dazu ruft man unter „Werkzeuge“ den Punkt „Plugins“ auf. Alternativ lässt sich der zugehörige Dialog auch über die Tastenkombination STRG + U öffnen.

Hier muss nun bis ca. zur Mitte gescrollt werden und der Haken bei „Aktiv“ für das Off-the-Record Messaging Plugin gesetzt werden (1). Unmittelbar danach sollte man OTR über einen Klick auf „Plugin konfigurieren“ (2) einstellen.

Im Konfigurationsdialog von OTR kann im oberen Bereich ein Schlüssel generiert werden, auf dessen Basis dann alle Chats verschlüsselt werden. Es wird gleichzeitig ein Fingerprint erstellt, anhand das Gegenüber identifizieren kann, ob es sich beim Chatpartner tatsächlich um die Person handelt für die er sich ausgibt, bzw. ob jemand die Verbindung abgefangen hat und mit liest. Dazu können die beiden Chatpartner über Telefon oder per SMS den Fingerprint des Gegenübers abgleichen. Unter dem Reiter „Known Fingerprints“ können die schon bekannten Fingerprints bisheriger Gesprächspartner eingesehen werden.

Schlüssel erzeugen
Schlüssel erzeugen

Abgesehen von Abhörversuchen können unterschiedliche Fingerprints für die gleiche Person auf mehrere Pidgin-Installationen bzw. die Nutzung mehrerer Geräte hinweisen. Dies sollte man sich trotzdem vom jeweiligen Gesprächspartner bestätigen lassen und die Fingerprints abgleichen.

Als „account“ sollte das Jabber-Konto ausgewählt werden.  Generell sollte es möglich sein für jeden eingerichteten Account einen Schlüssel zu erstellen. Dies macht aber nur Sinn, wenn es im jeweiligen Netzwerk auch Gesprächspartner gibt, die eine Chatsoftware mit OTR-Unterstützung verwenden. Wegen des Zugriffs des jeweiligen Betreibers auf sein Netzwerk, kann die Nutzung von OTR auch nur als Notlösung für eine Übergangszeit angesehen werden. Es ist also ratsam sich erst garnicht darauf zu verlassen.

Nach einem Klick auf „Generate“, erscheint ein Statusfenster, welches nach Kurzer Zeit Erfolg vermeldet. Nach dem verlassen des Statusfensters mit „Done“ wird ein Fingerprint angezeigt:

Fingerprint: C4616D56 07C0B90D 5B9252DA D1983D01 FF86A06D

Nun können die OTR-Einstellungen und die Plugin-Verwaltung jeweis mit „Schließen“ verlassen werden.

5. Chatten kann man nicht alleine

Offline-Buddys
Offline-Buddys anzeigen

Als allererstes sollte man über „Buddys“ -> „Anzeigen“ -> „Offline-Buddys“ dafür sorgen, dass man auch Kontakte sieht, die nicht online sind. Ansonsten kann es im Späteren Verlauf zu Verwirrung kommen, wenn man Freunde hinzugefügt hat, Diese aber noch als Offline erscheinen, weil sie dem Hinzufügen noch nicht zugestimmt haben.

Spätestens an dieser Stelle macht es Sinn, das bisher erworbene Wissen anzuwenden und den einen oder anderen Gesprächspartner zum Mitmachen zu bewegen.

Hinzufügen kann man neue Kontakte über die Tastenkombination STRG + B oder über „Buddys“ -> „Buddy hinzufügen…“

Beim Protokoll XMPP sind die Benutzernamen ähnlich aufgebaut wie Email-Adressen, also:

benutzer@domäne.endung

In unserem Beispiel sähe das wie folgt aus:

benutzer@jabber.de

Buddy hinzufügen
Kontakt hinzufügen

Sollten im letzten Abschnitt weitere Konten angelegt worden sein, muss ggf. als erstes das Jabber-Konto ausgewählt werden.

Den Benutzernamen können wir in der o.g. Schreibweise verwenden.

Der Alias ermöglicht es uns zu bestimmen, unter welchem Namen der Kontakt in der Kontaktliste stehen soll.

Scheinbar ist das Verfassen einer eigenen Einladungsnachricht aktuell nicht möglich, zumindest war das Feld bei meinen Versuchen mit zwei unterschiedlichen Anbietern ausgegraut.

Gruppen sind sinnvoll, wenn abzusehen ist, dass die Kontaktliste doch etwas länger wird. Hier können entweder vorhandene Gruppen ausgewählt werden oder eine neue Festgelegt werden.

Mit einem abschließenden Klick auf „Hinzufügen“ erscheint der Kontakt in der Kontaktliste.

Vorerst ist nicht zu erkennen, ob der neue Kontakt online ist. Dies geht erst, wenn die betreffende Person dem Hinzufügen zugestimmt hat.

6. Jetzt gehts los? Aber Sicher!

Private Unterhaltung starten
Private Unterhaltung starten

Damit das allerdings klappt, muss OTR auch benutzt werden. Dies ist sehr einfach und geht in jedem Chatfenster über den Menüpunkt „OTR“ und dort dann mit „Private Unterhaltung starten“.

Nach dem Klick handelt OTR mit der anderen Seite die Verschlüsselung aus und beide Seiten senden ab jetzt nur noch verschlüsselt. OTR weist darauf hin, dass der Chatpartner noch nicht authentifiziert ist. Sprich: Es ist noch nicht bestätigt, dass am anderen Ende wirklich die vermutete Person ist und dass niemand den Schlüsselaustausch abgefangen hat und mithört.

Chatpartner authentifizieren
Chatpartner authentifizieren

Als letzten Schritt sollte man also sicherstellen, dass man wirklich mit der gewünschten Person spricht. Dies geht über das Menü „OTR“ -> „Buddy authentifizieren“. An dieser Stelle gibt es nun mehrere Möglichkeiten. Entweder man stellt eine Frage, die nur die richtige Person wissen kann, man hat vorher ein Kennwort (Passphrase) vereinbart oder man gleicht den Fingerprint der Schlüssel ab.

Für den Austausch der jeweils zur Authentifizierung benötigten Informationen sollte man einen anderen Weg als die gerade offene Chatsitzung verwenden. Hier bietet sich ein kurzes Telefonat, eine SMS oder ein Treffen an. Ist beides unmöglich, können die Informationen auch über ein anderes sicheres Verfahren ausgetauscht werden, beispielsweise über eine verschlüsselte Email.

7. Es ist geschafft

Damit ist das Ziel erreicht. Ab jetzt sind Chats möglich, die anderen Benutzern im gleichen Netz, wie beispielsweise dem Uni-WLAN, dem Kaffee oder dem offenen WLAN des freundlichen Nachbarn, verborgen bleiben, egal wie sehr sie sich bemühen mitzulesen. Darüber hinaus ist nach aktuellem Stand nicht mal die NSA in der Lage mitzulesen. Es ist überdies auch nicht möglich festzustellen, ob der Verwendete Schlüssel einer bestimmten Person gehört.

Fröhliches Verschlüsseln!

AES_avalanche von Simpsons contributor
AES_avalanche von Simpsons contributor

 

 

 

 

 

 

 

 

Wenn Ihr Anmerkungen oder Hinweise habt, dann lasst bitte einen Kommentar da.

Links:

Updates:

  • 20.02.2014 – Neue Serverliste verlinkt, jetzt mit Bewertung des Sicherheitsgrades (https://xmpp.net/directory.php)
  • 20.02.2014 – Diverse links hinzugefügt

2 Gedanken zu „Netter Chatter? Aber Sicher! – Jabber mit OTR [update 20.02.2014]

  1. Hi Podbiker!

    Sag mal kann man XMPP auch mit OTR auf der Kommanodzeile in Bash ausführen? Ich habe beim Googlen nichts gefunden. Leider nur normale XMPP Clients, die aber OTR nicht unterstützen.

    Kommentiere

Schreibe eine Antwort

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Erforderlich