seeseekey.net - Invictus Deus Ex Machina

Einen reinen Jabber-Client für iOS zu finden ist schwierig. Noch schwieriger ist es wenn dieser auch noch OTR enthalten soll. ChatSecure bietet leider nur kurze Pushzeiten an, so das man nach 10-Minuten Inaktivität keine Nachrichten mehr bekommt. Mit IM+ sind auch längere Inaktivitäten möglich. Dabei handelt es sich allerdings um einen MultiMessenger für die unterschiedlichsten Systeme.

IM+ Instant Messenger
Preis: Kostenlos

Neben der Anbindung der Messenger untersützt IM+ auch das sogenannte Off-the-Record-Messaging kurz OTR. Damit können sich zwei Teilnehmer verschlüsselt austauschen. Es ist das digitale Äquivalent zum 4-Augen Gespräch.

Wenn man IM+ für XMPP-Verbindungen nutzt, sollte man sich bewusst sein, das nicht das Gerät eine Verbindung mit dem Jabberserver aufbaut, sondern hier noch eine Station hinzukommt. Der IM+ Client verbindet sich mit einem Server in Kanada und dieser verbindet sich mit dem Jabberserver. Aus Sicht des Jabberservers sieht der Client so aus:

IM+ (tls://184.107.68.165:23474#ejabberd@service)

Wahrscheinlich wird das ganze für die Abwicklung der unterschiedlichen Protokolle sowie für die Pushbenachrichtigungen benötigt. Wer hier also ohne OTR chattet, sollte sich nicht wundern.

Wenn man einen XMPP-Server unter einer Subdomain wie „xmpp.example.org“ betreibt, so sehen die Kontakte dementsprechend aus — in diesem Fall „kontakt@xmpp.example.org“. Möchte man Kontakte nach dem Schema „kontakt@example.org“ anlegen, so muss der DNS Eintrag der Hauptdomain auf den XMPP-Server zeigen. Dies ist aber nicht immer möglich. So kann es vorkommen das der Webserver auf der Hauptdomain seinen Dienst verichtet, während der XMPP-Server auf einem anderen Server läuft. In einem solchen Fall kann man sich das ganze mit „SRV“ Einträgen im DNS zurechtzubiegen.

_jabber._tcp             IN SRV     0 0 5269 xmpp.example.org.
_xmpp-client._tcp        IN SRV     0 0 5222 xmpp.example.org.
_xmpp-server._tcp        IN SRV     0 0 5269 xmpp.example.org.

Mit diesen Einträgen ist es dann möglich den XMPP Server unter „example.org“ zu betreiben, obwohl der A-Record auf einen anderen Server zeigt, da der anfragende Client umgeleitet wird.

Möchte man Instant Messaging mittels XMPP (früher unter dem Namen Jabber bekannt) nutzen, so kann man natürlich zu einem der vielen Dienste wie GMail, GMX und ähnliches gehen. Damit bekommt man dann neben den Vorteilen auch den Nachteil, das man sich nicht sicher sein kann was mit den eigenen Daten passiert. Eine andere Lösung ist es hier den XMPP Server selbst aufzusetzen. Dazu bietet sich „ejabberd“ an. Mittels:

sudo apt-get install ejabberd

wird das passende Paket installiert. Der Server „ejabberd“ unterstützt dabei die Verwaltung mehrerer Domains, so das eine Serverinstanz die Adressen user1@example.org und user2@example.com bereitstellen kann. Um dies umzusetzen, geht es im ersten Schritt an die Konfiguration. Dazu wird die Datei „/etc/ejabberd/ejabberd.cfg“ mittels „nano“ geöffnet:

nano /etc/ejabberd/ejabberd.cfg

Die Syntax der Datei ist dabei im Gegensatz zu anderen Konfigurationsdateien etwas gewöhnungsbedürftig, da sie auf der Programmiersprache Erlang basiert. Kommentare z.B. werden in dieser Datei mit einem Prozentzeichen eingeleitet. Im ersten Schritt werden die Domain respektive Hostnamen definiert, welche „ejabberd“ verwalten soll. Dazu wird der Punkt „hosts“ gesucht und mit den entsprechenden Domains gefüllt.

{hosts, ["xmpp.example.com", "xmpp.example.org"]}.

Die Serversprache kann man für einen deutschsprachigen Server geändert werden:

{language, "de"}.

Damit werden Nachrichten vom Server in Deutsch anstatt in Englisch ausgegeben. Standardmäßig ist der Server so eingestellt, das niemand außer dem Administrator Nutzer anlegen kann. Natürlich wäre es auch denkbar, einen Server zu betreiben, bei welchem sich jeder registrieren kann. Damit man Nutzer anlegen kann, muss ein Nutzer mit den entsprechenden Rechten definiert werden:

{acl, admin, {user, "seeseekey", "xmpp.example.com"}}.

Damit ist der Nutzer „seeseekey@xmpp.example.com“ ein Nutzer mit administrativen Rechten. Allerdings muss dieser Nutzer noch erstellt werden:

service ejabberd restart
ejabberdctl register seeseekey xmpp.example.com geheimespasswort

Weitere Nutzer können anschließend über die Weboberfläche angelegt werden. Zu erreichen ist diese dabei unter:

http://xmpp.example.com:5280/admin

Die Zugangsdaten entsprechen dabei denen des administrativen Nutzers.

Weitere Informationen gibt es unter:
https://wiki.archlinux.de/title/Ejabberd

Für eine verschlüsselte Kommunikation über XMPP bietet sich das sogenannte „Off-the-Record Messaging“ an. OTR ist dabei durch vier Merkmale gekennzeichnet: Verschlüsselung, Authentifizierung des Gesprächspartners, Abstreitbarkeit und Folgenlosigkeit. Die ersten beiden Punkte sollten dabei selbsterklärend sein. Der Punkt Abstreitbarkeit bezeichnet die Eigenschaft des Systems, das nach einem Gespräch nicht nachgewiesen werden kann, das einer der Gesprächspartner eine bestimmte Aussage getätigt hat. Wichtig ist auch die Folgenlosigkeit, welche dafür sorgt, das selbst nach dem Verlust des privaten Schlüssels keine in der Vergangenheit getätigten Konversationen entschlüsselt werden können.

Unter Adium kann Off-the-Record Messaging in jedem Fenster über das Schlosssymbol aktiviert werden

Möchte man verschlüsselt über XMPP kommunizieren, so benötigt man einen entsprechenden Client der OTR unterstützt. Einige Clients wie Adium haben diese Funktionalität gleich eingebaut. Bei anderen benötigt man dazu ein Plugin. Eine Auflistung der entsprechenden Anwendungen findet man auch in der Wikipedia. Ist OTR nicht nativ eingebaut, sollte man schauen, ob es eventuell ein Plugin gibt. So gibt es z.B. das offizielle Plugin für Pidgin unter http://www.cypherpunks.ca/otr/#downloads. Nach der Installation des Plugins, kann dieses unter „Werkzeuge“ -> „Plugins“ aktiviert werden.

Das Pluginfenster von Pidgin

Nachdem das Plugin aktiviert wurde, kann der Account per OTR angeschrieben werden. Eine solche Nachricht sieht dabei verschlüsselt so aus:

?OTR:AAIRAAAAELtKpVAOcq1LA3et6OkLuV0AAAHSd9/i8RVe0kUQR5XwOSCqOlUWredm6O2ogDht3pnmIBaksS
+qH23967oX0f053spOynxgVnyneAc2u1MNowuKGSWL+nx9DXhKsrYMEFB/2GPFzXaVyTQ
/MC0m1o7m67Z2u3MXjwMpp++rDWD0jfmy1UhOTYVmWPBcqg4g9ZDX6BdRxg61Y8KF0cQc
SQGVnCW19o93puHyD3Qd10ZXm4eOZJOPUGH9USIhsu/LOEYz85+Qg3lMyZJwJYOVPuhM8
ZYoWoIVG+y18pVrsNE+bBWa56N1Xol5+/NMsTbeJ8NJ0z5jXhdRTs27XoResxwOxgR0rRpr/IE
fsLXSZLyZM3vhLYbhVTtyO5C7Bja9RQo6EG2NZLD9fU167SBLRYnC798Mc7Nl24cdy
/fgh+3O+kFM/Gf20B4e/WfVSvFzXDKWLu0ZnDfGk6VLU4uP5W2H7ampkmYdQlZLNaxOa
a2IqUBCREcGuZPJ2/MrEkI8ru42DOe0AneSQtl6jo9ymmPZ2VUeacMht3uPyXhFO3JTw
4ZKU+axeh37H+1n629zTO1S/GBjOyIZPGTli22Oim8ef6yaVIzNTEpg4GSzOE7+DBN1F
MwzwhZr99agKjTkWu1Ob3v4hAIOFO2M3Vgo8AwV4yM1bHJjIaeC.

Unter Umständen beim ersten Empfang der Fingerabdruck des Absenders vom Empfänger bestätigt werden. Im Gegensatz zur Verschlüsslung per Mail, ist OTR ein ganzes Stück benutzerfreundlicher, da es für den Nutzer sehr transparent abläuft.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Off-the-Record_Messaging

Google scheint eine kritische Masse erreicht zu haben. Anders kann man sich das Verhalten in letzter Zeit nicht erklären. Während Larry Page sich auf der Keynote zur Google I/O noch bitterlich beschwerte, das den Nutzern von „Outlook.com“ die Möglichkeit eröffnet wurde mit Google Chat zu kommunizieren, aber dies umgekehrt nicht Fall sei und gleich danach beteuerte wie wichtig Interoperabilität ist.

Das Problem ist, das diese Aussage ziemlich zwiespältig wirkt. So wurde kurze Zeit später bei der Zusammenführung der hauseigenen Messenger einfach die XMPP Kommunikation zu anderen Servern gekappt. Somit ist es Nutzer dieser Messenger nicht mehr möglich mit Jabber Nutzern zu reden welche ihre Accounts bei anderen Diensten betreiben. Stattdessen soll man den haus­ei­gen Client nutzen, welcher nur mit Google Kontakten funktioniert.

Das ist beileibe nicht die einzige Abwertung eines offenen Standards durch Google. Vor einigen Monaten traf es den Google Reader (und damit RSS), welcher in diesem Monat seine letzte Schonfrist genießt. Auch die offene Kalender API über iCal wird zum September 2013 eingestellt. Dann erfolgt der Zugriff auf diese Daten nur noch über die proprietäre „Calendar API“ von Google.

Jetzt stellt sich natürlich die Frage warum Google sich so verhält. Ein Grund könnte die Nutzerbindung sein, mit welcher die Googlenutzer im Google Datensilo gefangen bleiben, wenn es keine offenen Austauschschnittstellen mehr gibt. Ein anderer Grund könnte sein, das Google mehr Geld verdienen möchte. So ist z.B. die „Calendar API“ auf 10000 Abfragen pro Tag begrenzt, wer mehr benötigt darf eine Erhöhung des Quota bei Google erbetteln. Es scheint nur noch eine Frage der Zeit zu sein, bis wir auch für diesen Dienst löhnen dürfen.

Allerdings revidiert Google auch ab und an eine Entscheidung, wie bei der Calender API welche nun über CalDAV wieder für alle zugreifbar sein soll. Auch sollen die Kontakte mittels der CardDAV API abgefragt werden können. Wobei sich hier für den Beobachter ein hin und her ergibt, welches man von einem verlässlichen Partner nicht erwartet. So hilft es wohl nur das Datensilo zu verlassen und die private Cloud auf eigenem Webspace zu betreiben. Oder wie Goethe sagte: „Hier bin ich Mensch, hier darf ichs sein!“.

Weitere Informationen gibt es unter:
http://www.golem.de/news/larry-page-microsoft-will-uns-ausnutzen-1305–99298.html
http://www.heise.de/newsticker/meldung/Googles-Kalender-API-bleibt-offen-fuer-alle-1883394.html
https://netzpolitik.org/2013/google-verabschiedet-sich-grostenteils-von-offenen-standards-fur-instant-messaging/
http://www.heise.de/newsticker/meldung/Googles-Chat-Client-kappt-Jabber-Kompatibilitaet-1866059.html

Bei XMPP welches auch unter den Namen Jabber bekannt ist, handelt es sich um freies und standardisiertes Protokoll für Instant Messaging. Auf der Suche nach einer entsprechenden Bibliothek für XMPP welche unter iOS und Mac OS X läuft bin ich auf das „XMPPFramework“ gestoßen. Die Selbstbeschreibung des Autors sieht dabei vielversprechend aus:

XMPPFramework provides a core implementation of RFC-3920 (the xmpp standard), along with the tools needed to read & write XML. It comes with multiple popular extensions (XEP’s), all built atop a modular architecture, allowing you to plug-in any code needed for the job. Additionally the framework is massively parallel and thread-safe. Structured using GCD, this framework performs well regardless of whether it’s being run on an old iPhone, or on a 12-core Mac Pro. (And it won’t block the main thread… at all)

Das Framework ist dabei unter https://github.com/robbiehanson/XMPPFramework zu finden und wird unter einer BSD Lizenz zur Verfügung gestellt. Neben der Dokumentation im Wiki gibt es auch eine Google Group welche unter https://groups.google.com/forum/?fromgroups#!forum/xmppframework zu finden ist.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Xmpp

Seit ein paar Wochen kann man in Deutschland seine @googlemail.com Adresse auf @gmail.com umstellen lassen. Das ist an sich auch kein Problem, denn man empfängt trotz Umstellung die entsprechenden Mails welche an die @googlemail.com Adresse gesendet werden. Leider gibt es von anderer Seite ein paar Stolpersteine, so z.B. mit der Jabberanbindung. Die Gmail Adresse kann man nämlich gleichzeitig als Jabber/XMPP Adresse benutzen. Unter Psi ist Verbindung nach der Umstellung dauerhaft unterbrochen.

Die Nutzerkontoeinstellungen

Die Abhilfe in diesem Fall ist glücklicherweise recht einfach. Dazu müssen einfach die Nutzereinstellungen geladen werden und dort „googlemail.com“ auf „gmail.com“ geändert werden. Danach funktioniert auch dort der Login wieder problemlos.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/Psi

Es geht doch nichts darüber alle Jubeljahre seine Accounts aufzuräumen. So mussten bei mir meine ICQ Accounts dran glauben, schließlich gibt es Jabber/XMPP :)

Die letzte Bestätigung zur Löschung

Um seinen Account zu löschen sind folgende Schritte notwendig:

Danach sollte der Account gelöscht sein. Testen kann man das ganze in dem man sich einfach nochmal versucht einzuloggen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/ICQ

Reine Jabber Anwendungen unter iOS sind ziemlich selten und so ist mir noch keine (ausreichend gute) Lösung dafür bekannt. Anders sieht es da bei dem Multiprotokolmessengern aus. Hier bietet sie die App „imo.im“ an mit welcher man sich unter anderem zu folgenden Diensten verbinden kann:

  • IMO
  • MSN
  • Facebook
  • GTalk
  • Yahoo!
  • Skype
  • AOLICQ
  • Jabber
  • VKontakte
  • MySpace
  • Hyves
  • Steam

Dort kann man sich dann auch mit einem Jabber (bzw. XMPP) Account anmelden. Die Nachrichten werden dabei für den Fall das die App nicht läuft bis zu einer Woche im Hintergrund gepusht.

Weitere Informationen gibt es unter:
http://xmpp.org/xmpp-software/clients/
http://apple.stackexchange.com/questions/1902/what-jabber-clients-are-there-for-iphone

Wer auf der Suche nach einem deutschen DDNS Dienst ist der sollte sich einmal den Dienst von tiggerswelt.net welcher unter http://tiggerswelt.net/ zu finden ist anschauen. Dabei besticht der Dienst durch seine vielen Optionen und Hilfe (wenn man sie benötigt) ist auch kein Problem. So kann man problemlos den Support per Jabber oder Telefon erreichen. Und den Dienst gibt es dabei automatisch zu jeder Domain dazu :)