Kontalk ist ein Instant-Messenger auf der Plattform von XMPP. Er verlangt zwingend eine Registrierung mit einer Mobilfunknummer. Über einen Umweg kann man auch mit anderen XMPP-Nutzern Nachrichten austauschen.

**Ich habe Kontalk selbst nicht getestet, denn ich möchte keine eindeutigen Merkmale wie meine Handynummer im Internet verteilen. Die folgende Besprechung basiert also ausschließlich auf den Unterlagen, die von den Entwicklern bereit gestellt werden.**

Kontalk ist von Grundkonzept ein normaler XMPP-Messenger, nur eben etwas modifiziert. Das heißt, es verarbeitet und tauscht die Nachrichten auf der Basis der XMPP-Protokolle aus.

Der Registrierungsvorgang

Weil es den Machern aber zu unsicher erschien, wie das Authentisierungsverfahren dieses Protokoll gehandhabt wird, haben sie ihren Server so modifiziert, dass man sich nur mit einer Telefonnummer registrieren kann. Diese wird mit einer Bestätigungs-SMS auf Echtheit geprüft.

Dieser Vorgang schließt natürlich ein, dass die Clients zwingend über den Kontalk-Server angemeldet werden und die Nachrichten austauschen müssen. Es ist also kein föderatives Verfahren, wie es XMPP vorsieht.

Akkreditierung und Schlüsselaustausch

Die Telefonnummer dient als eindeutiges Merkmal zur Identifizierung und als Basis für die Verschlüsselung. Der Nutzer gibt in der App eine Handynummer ein, mit der er sich auf dem Kontalk-Server registriert. Im Geegenzug bekommt er eine SMS mit einer Verifizierungs-PIN zurück, die er in der App angeben muss. Damit ist der Anmeldevorgang abgeschlossen. Nun wird in der App ein asymmetrisches Schlüsselpaar erstellt, das die Kommunikation absichert. Danach können mehrere Clients, sowohl mobil, als auch auf dem Desktop, eingebunden werden.

Damit die Clientgeräte wechselweise die Kommunikation übernehmen können, müssen sie den privaten Schlüssel, der auf dem initialen Gerät generiert wurde, erhalten. In einem festgelegten Austauschverfahren wird dieser Schlüssel auf dem ersten Gerät exportiert und dann auf den anderen Geräten importiert. Klappt der Vorgang, können sich alle Geräte auf dem Server registrieren und frei nach dem Motto “first come, first serve” die Nachrichten entgegennehmen.

Spätestens hier tut sich mir eine Frage auf. Welches Verschlüsselungsverfahren setzt Kontalk eigentlich ein? Es scheint eine Variante von OpenPGP zu sein (oder OTR). Die Entwickler drücken sich im Wiki https://github.com/kontalk/specs/wiki/Encryption leider etwas kryptisch 😉 aus. Der Standard für XMPP, der sich mit Conversations eingebürdert hat, ist OMEMO. Der Vorteil dieser Methode, perfect forward secrecy, bleibt den Nutzern von Kontalk vorenthalten. Außerdem leidet darunter natürlich auch die Kompatibilität der Systeme

Mobil und auf dem Desktop

Kontalk ist ein Instant-Messenger, der sich vor allem auf dem Mobilgerät abspielt. Dennach haben die Macher die Funktionen ebenfalls in einen Java-Client extrahiert, der auf allen herkömmlichen Desktop-Betriebssystemen lauffähig ist, für die eine Java-Version 8 zur Verfügung steht.

Auf diese Weise läßt sich ein bestehender Account eben auch auf dem Desktop pflegen – nicht jedoch anlegen, denn dafür ist zwingend ein Mobilclient nötig. Umgekeht kann nur mit dem Desktop-Client der Kontakt über die engen Grenzen des Kontalk-Systems zu anderen XMPP-Kontakten herstellen. Das kann man jetzt bewerten, wie man mag.

Halboffen für andere XMPP-Kontakte

Vielleicht ist es den Machern von Kontalk klar, dass ein abgeschottetes System ohne massiven Marketingetat nicht überlebensfähig ist. Zumindest haben sie das System soweit geöffnet, dass Kontalk-Nutzer auch mit anderen XMPP-Nutzern Daten austauschen können. Leider läßt sich der erste Kontakt aber nicht einfach über den Mobilclient herstellen. Man benötigt dazu zwingend den Desktop-Client. Ist der Kontakt erst einmal im Adressbuch aufgenommen und der öffentliche Schlüssel ausgetauscht, dann erscheint der Kontakt auch im Mobilclient.

Fazit

Mir gefällt nicht die Zwangsbindung an die Handynummer und den Kontalk-Server, auch wenn ich verstehen kann, dass auf diesem Weg ein relativ eindeutiges Akreditierungsverfahren durchgesetzt werden kann. Die Methode hatte ja schon WhatsApp angewendet, was die Sache nicht sympatischer macht. Auch das Verschlüsselungsverfahren via OpenPGP ist an sich akzeptabel, aber leider nicht mehr ganz Stand der Technik.
Einige Nutzer beklagen außerdem, dass die Chathistorie im Klartext auf den Clientgeräten gepeichert würde und auch nach dem Löschen des Verlaufs erhalten bliebe. Diese und andere Details sprechen dafür, den Entwicklern noch etwas Zeit zur Nacharbeit einzuräumen, bevor man Kontalk in den Produktiveinsatz nimmt.

 

  • Pro: OpenSource, Mobil-App für Android und iOS, Desktopversion als Java-App für Linux, Microsoft und Mac verfügbar,
  • Contra: nicht anonym, denn es legt eine eindeutige Telefonnummer zugrunde; nicht 100% mit XMPP kompatibel, mühsames Zusammenspiel aus Mobil- und Desktop-Client, Kryptomethoden nicht konsequent umgesetzt

 

Link: