Hinweis: ChatSecure – Jabber/XMPP Client für Android mit Dateiversand

Glückwunsch an die Entwickler_innen vom Guardian Project, sie haben mit ChatSecure den ersten mir bekannten XMPP/Jabber Client für Android unter einer Open Source Lizenz herausgebracht, der Datei/Fotoversand unterstützt.

Tatsächlich war es das Fehlen der letzteren Funktion, was viele Whatsapp Nutzer_innen, welche ich von den Vorzügen selbstinstallierter XMPP Server (bzw. ‘vertrauenwürdigen’, dezentralen, …) und OTR Verschlüsselung überzeugen wollte, davon abhielt, auch nur eine XMPP Client App auf ihrem Android Gerät zu installieren.

ChatSecure kann selbstverständlich noch einiges mehr, als nur Dateien zu versenden, neben OTR Verschlüsselung, einer einfachen Möglichkeit sich über Orbot/einen Proxy zu verbinden, Verschlüsselung der lokalen Daten, unterstützt die App auch Gruppen Chats und hat noch einige weitere schicke Featues.

Die App gibt es bereits im PlayStore und als apk auf der Homepage des Projektes, und im F-Droid Repository.

Instant Messaging mit XMPP

XMPP_LogoXMPP (Extensible Messaging and Presence Protocol) ist eine Open Source-Alternative zu proprietären Instant-Messaging-Protokollen wie ICQ, MSN und YIM. Neben reinem Instant Messaging hat XMPP viele weitere Funktionen wie Dateiübertragungen, Gruppenchats, “Transports” um zu anderen IM-Netzwerken verbinden (ICQ, MSN, AIM, YIM, IRC …), VOIP, Videoübertragung und viele mehr.

Das Protokoll ist nicht auf einen zentralen Server angewiesen, dass XMPP-Netz besteht aus vielen eigenständigen Servern, welche, wenn das gewünscht ist, (ein Server im Intranet ist bspw. auch möglich) untereinander kommunizieren. Es ist selbstverständlich auch möglich einen eigenen Server aufzusetzen und so das Netz zu erweitern.

Um XMPP nutzen zu können registriert man sich mit einem BenutzerInnennamen und einem Passwort auf einem XMPP-Server (beispielsweise “jabber.org”, “jabber.ccc.de”,…eine Liste von Servern gibt es hier) und bekommt so eine JID (Jabber-Identifikation) bestehend aus “BenutzerInnenName @ example.org“.

Mit Pidgin (es gibt auch viele andere Clients) funktioniert das über “Konten” -> “Konten verwalten” -> “Hinzufügen“. Dann noch das Protokoll auswählen (XMPP) und BenutzerInnenname (den vor dem @) und Server (das nach dem @) eingeben. Die “Ressource” kann frei gewählt werden und wird wichtig wenn eine JID gleichzeitig an verschiedenen Computern angemeldet ist. Um ein neues Konto zu erstellen muss jetzt noch der Haken bei “dieses neues Konto auf dem Server anlegen” gemacht werden.

xmpp_create_account

In den Einstellungen unter “Erweitert” ist es möglich die Verbindung zum Server mit SSL/TLS zu verschlüsseln, ob allerdings auch der komplette weitere Weg bis zur / zum GesprächspartnerIn verschlüsselt ist, kann der Client nicht kontrollieren. Deshalb ist es sinnvoll die Nachrichten mit PGP oder OTR (OTR Verschlüsselung mit Pidgin wurde im letzten Artikel erläutert) zu verschlüsseln.

Andere NutzerInnen werden übrigens unter “Buddys” -> “Buddy hinzufügen…”  geadded.

Instant Messaging verschlüsseln mit Pidgin und OTR

Pidgin ist ein Multi-Protokoll Instant Messenger und unterstützt neben XMPP (Jabber) auch AIM, ICQ, Bonjour, Google-Talk, Facebook und viele andere Protokolle. Installiert wird Pidgin mit dem Paket

pidgin

Der Vorteil von Pidgin gegenüber Empathy, dem (mittlerweile) standard Instant Messenger von Ubuntu, ist die Möglichkeit die Unterhaltungen zu verschlüsseln. Eine Möglichkeit zur Verschlüsselung stellt das OTR-Plugin dar. Das nötige Paket ist

pidgin-otr

ORT-Verschlüsselung erlaubt Verschlüsselung (Encryption) und Beglaubigung (Authentication), aber (im Gegensatz zu bspw. PGP) auch Abstreitbarkeit (Deniability) und Folgenlosigkeit (Perfect Forward Secrecy) – die Abstreitbarkeit ist möglich, weil die einzelnen Nachrichten keine Signatur enthalten, Folgenlosigkeit bedeutet, dass die Nachrichten auch bei Verlust des privaten Schlüssels nicht kompromittiert werden können.

Nach der Installation muss das “Off-the-Record Messaging-Plugin” unter “Werkzeuge” -> “Plugins” aktiviert werden.

pidgin_otr_plugin

Hat die / der GesprächspartnerIn auch OTR installiert, sollten die Nachrichten automatisch verschlüsselt werden. Eventuell kann das auch unter “Plugin konfigurieren” nachgestellt werden. Zudem ist es auf verschiedenen Wegen möglich das Gegenüber zu authentifizieren, dazu wird während der Unterhaltung auf “OTR” und dann auf “Buddy authentifizieren” geklickt.