Conversations ist ein Open Source & Secure Jabber / XMPP-Client für Android

Facebook Messenger, WhatsApp und WeChat sind die drei derzeit marktbeherrschenden Instant Messaging-Apps. Ihre anhaltende Dominanz lässt sich leicht durch die Integration einer einfach zu verwendenden Benutzeroberfläche und einer Nutzerbasis von Millionen von Menschen erklären. Jede dieser IM-Apps hat jedoch einen Nachteil: Sie sind Eigentum von Social Media-Riesen. Wenn sich jemand für ein WhatsApp-Konto anmeldet, muss er auch der Nutzungslizenzvereinbarung von Facebook zustimmen. Es ist allgemein bekannt, dass Sie mit Ihrer Privatsphäre handeln, um diese praktischen Dienste zu nutzen. Obwohl WhatsApp-Entwickler die End-to-End-Verschlüsselung als Standardfunktion implementiert haben, ist die App selbst nicht vollständig Open Source, sodass blindes Vertrauen besteht, wenn Sie glauben, dass WhatsApp keine Daten über Sie sammeln kann.

Für ein reibungsloses Messaging-Erlebnis setzen alle wichtigen Instant Messaging-Apps auf die native Nachrichtenübertragungsimplementierung von Android namens Google Cloud Messaging (GCM). Die Nachricht kommt mit Geschäftsinteressen in Kontakt, bevor sie den Server erreicht. Die meisten Benutzer sind nicht bereit oder in der Lage zu überprüfen, ob der von ihnen verwendete Dienst seine Versprechen einhält, und selbst Experten können nur raten, ob WhatsApp nach der Aktualisierung der Anwendung noch bestimmte Sicherheitsstandards erfüllt. Für jedes Update ist eine unabhängige Sicherheitsüberprüfung erforderlich, bei der der Anbieter - in diesem Fall Facebook - mitwirken muss.

Unabhängigkeit ist hier der Schlüssel, der uns zum Conversations Messenger führt . Es handelt sich um eine Open-Source-Instant-Messaging-App, die die Verwendung von GCM vermeidet, indem stattdessen das XMPP- Protokoll verwendet wird, wodurch der Benutzer die Kontrolle erhält. Unterhaltungen ermöglichen es Ihnen, mehrere Konten gleichzeitig zu führen, und Sie können sogar für jeden Kontakt ein anderes Konto verwenden. Während andere Messenger nicht sichtbar angeben, auf welchen Server die angegebenen Informationen hochgeladen wurden, kann der Benutzer bei Gesprächen entscheiden, auf welchen Jabber-Server er sich verlassen darf. Sie können aber auch einfach Ihren eigenen Server verwenden. Conversations bietet auch einen für seine Anforderungen optimierten Server an, und die ersten 6 Monate der Servernutzung sind kostenlos.

Wahl trennt Gespräche von der Masse. Die Anwendung unterstützt das direkte Umschalten zwischen Verschlüsselungsalgorithmen. Sie können zwischen drei Verschlüsselungsalgorithmen wählen: PGP, OTR und OMEMO . Während PGP und OTR vertrauenswürdige Algorithmen sind, treibt OMEMO dies weiter voran. OTR war für die Mehrheit der Benutzer niemals geeignet, nur weil beide Kommunikationspartner gleichzeitig online sein mussten, um Nachrichten zuzustellen. OMEMO löst diesen großen Nachteil von OTR. Bei der Nachrichtenübermittlung müssen nicht beide Benutzer gleichzeitig online sein.

OMEMO bietet Forward Secrecy an . Was bedeutet das? Es bietet eine zusätzliche Schutzschicht, die Ihre Daten sicher hält. Hier ein Szenario: Die End-to-End-Verschlüsselung basiert auf dem privaten Schlüssel, der ausschließlich auf dem Gerät gespeichert ist. Wenn das Telefon gestohlen wird, fällt der private Schlüssel in die Hände des Diebes. Ohne Weiterleitungsgeheimnis könnte der Dieb alle auf dem Telefon gespeicherten Nachrichten entschlüsseln. Das Forward Secrecy-Protokoll generiert für jede Sitzung einen zufälligen Schlüssel, sodass die gespeicherten Nachrichten auch dann sicher sind, wenn der private Schlüssel in den falschen Händen ist.

Normalerweise vertrauen Benutzer der Identität ihres Gesprächspartners. Deshalb verwendet OMEMO Geräteidentitäten. Jede OMEMO-Taste verfügt über einen eindeutigen Fingerabdruck, mit dem der Gesprächspartner beispielsweise per Telefonanruf überprüft werden kann. Sobald die Chat-Partner überprüft wurden, stellt der Double Ratchet-Algorithmus sicher, dass nur der Empfänger der Nachricht diese entschlüsseln kann. Double Ratchet generiert und verschlüsselt jede Nachricht mit einem temporären Schlüssel. Nach erfolgreicher Zustellung ist der Schlüssel wertlos und kann nicht zum Entschlüsseln verwendet werden. Es ist nur dazu gedacht, Daten zu schützen, während Sie durch das World Wide Web reisen.

Gespräche sind im Google Play Store und im Amazon App Store erhältlich. Obwohl die App Store-Versionen nicht kostenlos sind, ist die Anwendung Open Source, sodass Sie sie selbst kompilieren oder von F-Droid herunterladen können.

Möchten Sie mehr über die App aus dem Maul des Pferdes erfahren? Daniel Gultsch, leitender Entwickler von Conversations, nahm sich einige Zeit, um meine Fragen zu beantworten.


Interview mit dem Entwickler von Gesprächen

F: Würden Sie sich bitte kurz vorstellen?

A: Mein Name ist Daniel Gultsch und ich arbeite als freiberuflicher Softwareentwickler und Berater.

F: Was hat Sie motiviert, Gespräche zu führen?

A: Ich benutze Jabber / XMPP seit vielen Jahren. Bereits 2009 konnte ich Jabber auf meinem Nokia e71 verwenden. Irgendwann im Jahr 2012 wechselte ich zu einem Android-Telefon, sodass ich Jabber plötzlich nicht mehr verwenden konnte. Es gab einen Jabber-Client für Android (Xabber), aber es war das Gegenteil von optisch ansprechend.

Anfang 2014 habe ich mich gefragt, wie schwierig es sein könnte, einen Chat-Client zu entwickeln, der besser aussieht (als Xabber). Zu diesem Zeitpunkt hatte ich Erfahrung im Bereich der Softwareentwicklung, jedoch nicht für Android. Nach ein paar Tagen erwachte ein UI-Modell zum Leben, und ich fragte mich, wie schwierig es sein könnte, diesem UI das Senden und Empfangen von Jabber-Nachrichten beizubringen. Drei Monate Vollzeitarbeit später wurde die erste Version von Conversations veröffentlicht.

F: Können Sie drei Gründe nennen, warum Conversations Ihre Privatsphäre besser schützt als WhatsApp oder Threema?

A: Ich muss Fremden meine private Telefonnummer nicht mitteilen, wenn ich mit ihnen chatten möchte. Ich könnte einen privaten und einen geschäftlichen Account haben. Ich kann das Geschäftskonto nach meiner Schicht deaktivieren, um zu verhindern, dass mein Chef mich in meiner Freizeit stört. Mit WhatsApp kann jeder meine App-Nutzungsmuster jederzeit analysieren. (Mein Chef könnte mich anpirschen, um zu untersuchen, ob ich WhatsApp während meiner Arbeitszeit verwende oder ob ich WhatsApp nachts verwende, anstatt zu schlafen und ausgeruht ins Büro zu kommen.) Dies ist bei Gesprächen anders. Unterhaltungen laden auch nicht mein gesamtes Adressbuch auf Facebook hoch.

F: Was kostet ein einjähriges Abonnement eines Conversations.im-Kontos?

A: 8 Euro. Nach einer sechsmonatigen Probezeit. Abonnements verlängern sich nicht. Es ist nicht erforderlich, das Abonnement zu kündigen.

F: Welche Vorteile bietet ein Conversations.im-Konto im Vergleich zu anderen XMPP-Servern?

A: Neue Funktionen, die serverseitige Unterstützung erfordern, werden zuerst in conversations.im bereitgestellt. Im Allgemeinen versuchen wir, conversations.im mit etwas höheren Anforderungen auszuführen. Ein Server, der von einem Hobbyprojekt gesteuert wird, fällt möglicherweise einen Tag lang aus, während die Person in den Ferien ist. Wir versuchen, solche Dinge für Gespräche zu vermeiden. Zumindest während der Servicezeiten ist immer jemand in der Lage, den Server bei Bedarf zu betreuen. Außerdem unterstützen Sie die Entwicklung des Servers, der auch Open Source ist. Änderungen, die speziell für unsere Conversations-App vorgenommen wurden, landen im Code des Servers und stehen anderen zur Verfügung.

F: Kann ich Gespräche über Bitcoin kaufen?

A: Nicht die App. Die App wird im Google PlayStore verkauft, sie akzeptieren keine Bitcoins. Die App kann kostenlos über den Open Source App Store F-Droid heruntergeladen werden. In diesem Fall nehme ich gerne Spenden über Bitcoin entgegen.

F: Was ist OMEMO?

A: Eine (optionale) End-to-End-Verschlüsselung für Jabber.

OTR schlug leicht fehl. Wenn eine bestimmte Nachricht aufgrund einer schlechten Abdeckung des Telefonsignals verloren geht, können auch keine Folgemeldungen zugestellt werden. Darüber hinaus kann OTR nur Nachrichten zwischen genau zwei Geräten austauschen. Beispiel: Wenn ich mit zwei Geräten gleichzeitig angemeldet bin (Mobiltelefon und Desktop), muss mein Gegenüber entscheiden, ob er die Nachrichten an das Telefon oder den Desktop senden möchte. Wenn mein Gegenüber nicht in der Lage ist zu hellsehen, welches Gerät ich gerade benutze, ist dies ein Problem. Abgesehen davon werden Nachrichten in diesem Fall natürlich nicht synchronisiert, und ich vermisse einen Teil des Gesprächsverlaufs auf jedem Gerät. OMEMO beseitigt beide Probleme. OMEMO ist zuverlässiger und in der Lage, mehr Geräte zu handhaben.

F: Was ist Forward Secrecy?

A: Nehmen wir an, ich lösche meinen Konversationsverlauf häufig (kann automatisch Nachrichten löschen, die älter als ein konfigurierter Zeitraum sind).

Nehmen wir an, jemand hat meine gesamte verschlüsselte Kommunikation gespeichert. (Also kann er nichts damit anfangen, er hat den verschlüsselten Text, nicht den einfachen Text. Jetzt stiehlt diese Person mein Telefon. Die Nachrichten selbst befinden sich nicht auf dem Telefon mehr (sie werden häufig gelöscht), aber mein Schlüsselmaterial (mein privater Schlüssel) ist immer noch da.

Wenn eine Verschlüsselung nicht über Forward Secrecy verfügt, kann diese Person das auf meinem Telefon gefundene Schlüsselmaterial sowie die verschlüsselten Nachrichten, die sie aufgezeichnet hat, kombinieren, bevor sie den Klartext rekonstruieren kann. Wenn die Verschlüsselung Forward Secrecy hat, ist dies nicht möglich.

F: Was beschreibt der Begriff Per Message Overhead?

A: Die Menge an Bandbreite, die durch die Verschlüsselung benötigt bzw. hinzugefügt wird. Angenommen, eine unverschlüsselte Nachricht hat eine Größe von 2 KB und dieselbe verschlüsselte Nachricht hätte eine Größe von 5 KB. In diesem Fall ist 3 KB der durch die Verschlüsselung entstehende „Overhead“.

F: Planen Sie die Implementierung einer Anruffunktion?

A: Nein. Neue Funktionen kommen, wenn ich sie selbst brauche oder wenn sie aus wirtschaftlicher Sicht sinnvoll sind. (Wie viele Menschen würden die App nutzen, wenn diese Funktion vorhanden wäre, und wie teuer ist die Entwicklung einer solchen Funktion?) Leider ist die Anruffunktion sehr, sehr, sehr teuer, und persönlich interessiert mich diese Funktion nicht besonders.

F: Wie kann ich die Entwicklung der App nach dem Kauf der Anwendung unterstützen?

A: Auf unserer Website finden Sie Informationen zum Spenden. Promotion und Werbung helfen natürlich auch und die App ist Open Source. Wer Software entwickeln kann, kann natürlich beim Codieren helfen.

F: Haben Sie den OMEMO-Algorithmus selbst entwickelt?

A: Nein. Es war ein Google Summer of Code-Projekt. (Google Summer of Code bedeutet, dass Google Studenten 3 Monate für die Arbeit an Open Source-Projekten bezahlt.) OMEMO wurde von einem Studenten für Konversationen entwickelt.

F: Was sind Ihre weiteren Pläne für die Entwicklung von Gesprächen?

A: Wirklich große neue Funktionen werden wahrscheinlich nicht kommen. Gespräche tun alles, was es tun soll. Unter der Haube wird es die eine oder andere Optimierung geben (Datennutzung / Verbindungsgeschwindigkeit usw.), aber das ist für den durchschnittlichen Benutzer nicht sichtbar. Eine kleine Sache, die höchstwahrscheinlich als nächstes realisiert wird, ist die Möglichkeit, die Übertragung zu bestätigen, bevor das Bild gesendet wird. Bis dato werden Bilder immer sofort verschickt.

F: Ist es erlaubt, Gespräche von Ihrem Github aus selbst zu kompilieren und für den privaten Gebrauch zu verwenden?

A: Natürlich. Nicht nur privat, auch geschäftlich und für alles andere. Es ist auch erlaubt, den Code zu ändern, um individuelle Anforderungen zu erfüllen.

F: Ist es möglich, Gespräche über ein VPN zu tunneln?

A: Ja.

F: Am Ende möchten wir den Hinweis eines Profis hören. Welche Messungen, abgesehen von der Verwendung von Gesprächen, empfehlen Sie, um die Privatsphäre als Android-Benutzer zu schützen?

A: Aktivieren Sie Adblocking in Ihrem Browser. Zum Beispiel Firefox (auch für Android verfügbar) und das Add-On uBlock.

Deaktivieren Sie die Ortungsdienste (in neueren Android-Versionen gibt es ein QuickTile dafür), wenn sie nicht verwendet werden. Ansonsten weiß Google, wo Sie die ganze Zeit waren.

Diese beiden Dinge sind sehr einfach anzuwenden und praktisch nützlich.


Anmerkung des Herausgebers: Dieser Artikel wurde ursprünglich in deutscher Sprache von Raúl Radonz verfasst. Es wurde von Raúl Radonz übersetzt und von Mishaal Rahman bearbeitet. Raúl Radonz und -Developers möchten Herrn Gultsch dafür danken, dass er sich die Zeit genommen hat, dieses Interview zu führen.