Tox Instant Messenger

tagged Paranoides, Tipps

Nach den Snowden-Enthüllungen steigt der Bedarf an sicherer Kommunikation deutlich an. In der Presse wird vor allem auf die Email-Verschlüsselung Bezug genommen und die Verwendung von verschlüsselnden Instant Messengern empfohlen. Die Verwendung von Email-Verschlüsselung gestaltet sich jedoch nicht sehr benutzerfreundlich und die IM laufen immer über zentrale Server, welche von den Nachrichtendiensten Überwachungspflichten auferlegt werden könnten.

Tox IM geht einen anderen Weg: Ähnlich wie bei Skype früher finden sich die Kontaktpartner ohne zentrale Server über Distributed Hash Tables (DHT). Diese Technik ist dem Bittorrent-Protokoll entlehnt. Es sollen ähnlich wie bei Skype sowohl Textmessages (bereits implementiert), Video-Telefonie (noch nicht implementiert) und Dateiübertragungen (teilweise implementiert) möglich sein. Das Programm ist Open-Source und auf github gehostet. Die Textkommunikation läuft verschlüsselt unter Verwendung der Na.Cl Bibliothek.

Start und Kontaktknüpfung

Der öffentliche Schlüssel ist gleichzeitig die Tox ID. Der private Schlüssel muss auf dem Gerät (halbwegs funtionsfähige Clients gibt es für Windows, Linux, OSX, Android, iOS) sicher verwahrt werden. Es ist kein Login erforderlich (es gibt ja keinen zentralen Server), die Anmeldung erfolgt über die Prüfung, ob der private zum öffentlichen Schlüssel/Tox ID passt. Dadurch wird m.E. der Komfort deutlich erhöht und die Schwelle zur Nutzung von Verschlüsselung gesenkt. Beim Start meldet der Client die IP-Adresse an die DHT, so kann die Kommunikation direkt zwischen den Partnern erfolgen. Um jemand in die Kontaktliste aufzunehmen, muss die Tox ID ermittelt werden. Das heißt, der öffentliche Schlüssel sollte wie eine Email-Adresse frei an die möglichen Chatpartner verteilt werden. Bei jeder Installation wird ein neuer Schlüssel generiert, d.h. auf unterschiedlichen Geräten hat man unterschiedliche IDs. Jeder Tox ID kann auch ein beliebiger Name zugeordnet werden, unter dieser Kennung erscheint man dann als Partner in den unterschiedlichen Clients. Ein angegeber Status erscheint ebenfalls bei den Freunden.

In zukünftigen Versionen sollen einem Namen mehrere Tox IDs zuordnerbar sein, sodaß Freunde gleich alle Installationen des Kontaktpartners erreichen können. Spam wird teilweise dadurch vermieden, daß die Tox ID eine austauschbare vierstellige NoSpam-ID enthält, die problemlos geändert werden kann. Außerdem sollte man Spam auch dadurch vermeiden, daß man die ID ähnlich sorgfältig wie eine Email-Adresse behandelt (z.B. nicht auf öffentlichen Webseiten publiziert).

Clients

Es gibt unterschiedliche Clients, wobei der Kommandozeilen-Client Toxic am weitesten fortgeschritten ist und schon (unverschlüsselte) Video Chats ermöglicht. Venom ist eine grafischer Client auf GTK+ Basis und ebenfalls sehr fortgeschritten. Die QT-, OSX-, Windows-, Android- und iOS-Clients ermöglichen im wesentlichen nur Text-Chats. Der Android-Client ist noch alpha und stürzt regelmäßig ab. Er ermöglicht aber den Austausch der Tox ID über eine QR-Code-Anzeige, welche vom Chatpartner über seine Handykamera gelesen werden kann. Gruppenchats sind prinzipiell möglich, aber kaum implementiert.

Zusammenfassung

Tox macht vieles richtig. In meinen Augen stellen Verfahren, welche über Distributed Hash Tables und ohne zentralen Server arbeiten, einen ungemeinen Fortschritt gegenüber der aktuellen Infrastruktur dar. Die Sammlung von einigen Metadaten ist dadurch erschwert (leider aber nicht unmöglich, da IP und Tox-IDs in der öffentlichen DHT gespeichert sind und herausgefunden werden kann, wer nach welcher Tox ID wann gesucht hat). Außerdem ist Tox sehr benutzerfreundlich gestaltet. Es bleibt zu hoffen, daß möglichst bald finale Clients veröffentlicht und weiträumig verteilt werden.