Datenschutzhelden

Mit Schirm, Charme und Maske

Alternative zu, OMEMO

WhatsApp -> Conversations: OMEMO für Android

In unserer Bestandsaufnahme zu WhatsApp haben wir euch ausführlich erklärt, warum ihr dem Messenger den Rücken kehren solltet. Aber wohin stattdessen? Vergleichbare Apps gibt es mittlerweile unüberschaubar viele, empfehlenswert sind aber die wenigsten. Unser Tipp:

Conversations

Hier zeigen wir euch, wie ihr die App installiert und einrichtet und worauf ihr bei euren ersten Schritten achten solltet. Im Anschluss erklären wir euch außerdem, was Conversations so besonders macht und wieso wir euch gerade diesen Messenger ans Herz legen.

Conversations installieren

Ihr könnt Conversations wie gewohnt via F-Droid runterladen:

Frei aber nicht umsonst

Die App kostet im Google Playstore 2,39€.  Da Open Source für einen Messenger der einzig richtige Weg ist, könnt ihr die App eben auch kostenlos über F-Droid runterladen. Bedenkt jedoch das die Entwicklung finanziert werden muss.

Wenn ihr sie kostenlos ladet, könnt ihr Daniel Gultsch (dem Kopf hinter Conversations) aber auch direkt eine Spende schicken, um mit einem kleinen Beitrag dazu beizutragen, dass dieses grandiose Projekt fortbesteht: https://conversations.im/#donate

Einrichtung

Konto hinzufügen

Wichtig: Wählt unbedingt einen OMEMO-kompatiblen Server aus. Exzellente und trotzdem kostenfreie Server findet ihr auf unserer Server-Liste.

Wenn ihr Conversations das erste mal öffnet, werdet ihr gebeten ein Konto einzurichten. Dabei habt ihr zwei Optionen:

  • Konto erstellen
    Ihr könnt euch direkt bei conversations.im registrieren. Dieser Server wird professionell betrieben und ist, gerade was OMEMO angeht, auf dem neuesten Stand der Technik. Dafür kostet er aber nach sechs kostenlosen Monaten 8€ pro Jahr.
  • Eigenen Provider nutzen
    Ihr könnt entweder

    • ein bestehendes Konto hinzufügen
      Dafür gebt ihr einfach eure Jabber-ID und euer Passwort ein. Klickt danach auf Weiter.
    • oder ein neues Konto erstellen.
      • Wählt einen Server aus unserer Server-Liste aus. Gebt eure gewünschte Jabber-ID ein (Beispiel: thorsten@datenschutzhelden.org), setzt den Haken bei Neues Konto auf Server erstellen und klickt Weiter.
      • Hinweis: Erhaltet ihr eine Fehlermeldung, müsst ihr das Konto direkt auf der Website des jeweiligen Servers erstellen. Danach fügt ihr das bestehende Konto wie oben beschrieben hinzu.

Optional: Als nächstes könnt ihr eine Avatar festlegen. Das Bild wird auf dem Server gespeichert und jedem angezeigt, mit dem ihr euren Status teilt.

Optional: Nützliche Einstellungen

Die Grundeinstellungen sind bereits gut gesetzt. Trotzdem wollen wir euch ein paar Schalter zeigen, die wir für nützlich halten. Die folgenden Einstellungen sind Geschmackssache und deswegen optional.

Um in Coversations die Einstellungen zu öffnen, klickt ihr rechts oben auf Menü (Symbol mit den 3 vertikalen Punkte) und Einstellungen.

  • Senden Schaltfläche zeigt Online-Status an
    Setzt ihr diesen Schalter, seht ihr anhand von Farben, welchen Status euer Kontakt gerade hat. Grün steht für verfügbar, orange für abwesend, rot für beschäftigt und grau für offline.
  • Dynamische Tags anzeigen
    Habt ihr eure Kontakte in Gruppen sortiert, könnt ihr hiermit die Gruppen und ihren Online-Status in der Kontakt-Übersicht anzeigen lassen. Dieses Feature lohnt sich besonders, wenn ihr euer XMPP-Konto mit mehreren Clients verwendet, weil Conversations selbst keine  Funktion bietet, eure Kontakte zu gruppieren.
  • Benachrichtigungston
    Weist der App einen eigenen Ton zu, um gleich zu erkennen, wenn ihr eine Nachricht in Conversations erhalten habt.

Sicherheits- und Datenschutz-Einstellungen


Um in Conversations die Experteneinstellungen zu öffnen, klickt ihr rechts oben auf Menü (Symbol mit den 3 vertikalen Punkte) und Einstellungen. Scrollt nach unten und klickt auf Experteneinstellungen.

  • Automatische Nachrichtenlöschung
    Nachrichtenverläufe für immer und ewig aufzubewahren, ist nicht besonders sinnvoll. Wir halten eine Dauer von maximal 30 Tagen für völlig ausreichend.
  • Überprüfe den Hostnamen mit DNSSEC
    DNSSEC schützt vor Manipulation von DNS-Informationen. Ohne diesen Schutz könnte ein Angreifer euren Client dazu bringen, sich mit einem anderen — von ihm kontrollierten — Server zu verbinden.

Ausnahme für Batterie-Sparfunktionen definieren

Oft klagen Messenger-Umsteiger über nicht-erhaltene Nachrichten. Dafür sind in den meisten Fällen Batterie-Sparfunktionen verantwortlich, die ihr ganz einfach ausschalten könnt.

Bei Doze, das ab Android 6.0 Marshmallow Nachrichtenabruf und Internetzugriff einschränkt, geht das so: Unter Einstellungen -> Akku -> Akku-Leistungsoptimierung -> Alle Apps klickt ihr auf Conversations und wählt Nicht optimieren.

Einige Hersteller wie Sony, Huawei oder Xiaomi haben in ihren Firmware weitere Akku-Optimierungen eingebaut. Auch die solltet ihr für Conversations deaktivieren.

Verwendung

Kontakt hinzufügen

Um einen Kontakt zu eurer Kontaktliste hinzuzufügen, klickt ihr in der Kontaktübersicht auf das entsprechende Symbol. Gebt dann die Jabber-ID ein und drückt auf Erstellen.

Wenn ihr eine Kontaktanfrage erhaltet, sieht sie aus wie eine neue Unterhaltung. Sobald ihr diese öffnet, könnt ihr den Kontakt in eure Liste aufnehmen.

OMEMO aktivieren

Für neuen Unterhaltungen ist die Ende-zu-Ende-Verschlüsselung grundsätzlich ausgeschaltet. Deswegen dürft ihr nicht vergessen, sie einzuschalten.

Klickt auf das Schloss-Symbol und setzt anschließend den Punkt bei OMEMO um die OMEMO-Verschlüsselung zu aktivieren.

Um sie überhaupt aktivieren zu können, müssen folgende Punkte erfüllt sein:

  •  Gesprächspartner müssen sich gegenseitig in der Kontaktliste habe.
  •  Beide müssen ihren Online-Status mit dem anderen teilen.

Ist das Feld ausgegraut, könnt ihr die Kontaktdetails prüfen. Dort sollten beide Haken gesetzt sein.

OMEMO im Multiple-Client-Betrieb

Der große Vorteil von OMEMO ist der Multiple-Client-Betrieb. Nutzt ihr euren XMPP-Account auf mehreren Geräten, hat jedes davon ein eigenes Schlüsselpaar, bestehend aus öffentlichen und privatem Schlüssel. Aus dem öffentlichen Schlüssel wird der einzigartige Fingerabdruck erzeugt, der nur diesem einen Gerät gehört.

Damit der Multiple-Client-Betrieb reibungslos funktioniert, müsst ihr folgendes beachten:

  • Wenn ihr auf allen Geräten Nachrichten empfangen wollt, muss euer Gesprächspartner allen Fingerabdrücken vertrauen.
  • Wenn ihr eure Antworten auf die anderen Geräte synchronisieren möchtet, müsst ihr ebenfalls euren eigenen Fingerabdrücken vertrauen.

Verifizierung per QR-Code

  • Eigenen QR-Code anzeigen
    Klickt auf Menü -> Konten verwalten  wählt euer Konto aus und klickt dann auf -> Menü -> Barcode anzeigen.

Der QR-Code enthält in der Regel nur einen Fingerabdruck — den eures Handys. Habt ihr aber euer XMPP-Konto auf einem weiteren Gerät im Einsatz — etwa eurem Laptop mit Gajim — besitzt auch dieses Gerät einen eigenen Fingerabdruck respektive QR-Code. Stellt euch vor wie aufwändig es wäre, für jedes Gerät einen eigenen QR-Code zu scannen…

Zum Glück wurde auch hier ein besonderes Augenmerk auf Usability gelegt. Wie bereits erwähnt, müssen sich eure Geräte auch untereinander vertrauen, um eure Antworten an sie zu synchronisieren. In Conversations erreicht ihr die höchste Vertrauensstufe, indem ihr den QR-Code scannt. Sobald ihr das für eines eurer Geräte getan habt, integriert die App den Fingerabdruck in ihren eigenen QR-Code.

Der Vorteil dabei ist, dass euer Kontakt idealerweise alle Geräte mit einem Scan verifiziert.

  • Eigene OMEMO-Fingerabdrücke anzeigen
    • Klickt auf  Menü -> Konten verwalten  und wählt euer Konto aus.
  • OMEMO-Fingerabdrücke euer Kontakte anzeigen
    • Geht in die Kontaktübersicht und haltet den gewünschten Kontakt, dann wählt Kontaktdetails anzeigen.
  • QR-Code scannen
    • Haltet auf irgendeinen Fingerabdruck und wählt Barcode scannen. Conversations ordnet den eingescannt Abdruck automatisch richtig zu.
    • Oder klickt in der Kontaktübersicht auf Menü und wählt Barcode scannen.

Aber warum überhaupt Conversations?

Offene Standards und freie Software sind wichtig für eine freie Gesellschaft. Die sogenannten Tech-Riesen, darunter Google, Facebook, und Microsoft, interessieren sich aber vor allem für ihre Gewinne und gehen deswegen mit ihren Produkten den Weg der geschlossenen Plattformen.

Steve Jobs hat einen Weg gefunden, Computer zu schaffen, die ein Gefängnis für ihre Anwender darstellen, und sie so glänzend gemacht, dass Millionen von Narren darum betteln, darin eingesperrt zu werden.
– Richard Stallman, Gründer des GNU-Projekts [Quelle]

Auch das Bundesamt für Sicherheit in der Informationstechnik empfiehlt freie Software und stuft sie als genauso sicher wie proprietäre Angebote ein. Wir würden sogar sagen, dass sie sicherer ist. Gerade wenn es um sicherheitskritische Anwendungen geht, kann proprietäre Software den Verdacht auf Hintertüren nie ganz ausräumen. Und selbst wenn ein IT-Sicherheitsaudit sie als sicher einstuft, kann schon in der nächsten Version eine Hintertür eingebaut sein.

Für Messenger, die mit Sicherheit werben, ist Transparenz deswegen absolute Pflicht und das auf allen Ebenen:

  • Client
  • Server
  • Protokoll

Doch wir müssen noch einen Schritt weiter denken. Wen gruselt es nicht bei dem Gedanken, vollständig abgehört zu werden? Deswegen müssen wir es den Schnüfflern so schwer wie möglich machen, indem wir unsere Kommunikation immer Ende-zu-Ende verschlüsseln.

Hier eine kleine unvollständige Auswahl von Instant-Messengern, die an einem oder mehreren dieser Kriterien scheitern:

  • Skype
    proprietär, unsichere Verschlüsselung
  • iMessage
    proprietär, Ende-zu-Ende-Verschlüsselung mit fehlender Authentisierung/Verifikation
  • Viber
    proprietär
  • Snapchat
    proprietär, keine Ende-zu-Ende-Verschlüsselung
  • Telegram
    Server proprietär, Ende-zu-Ende-Verschlüsselung muss speziell aktiviert werden und verwendet das unsichere SHA-1
  • Threema
    Client und Server proprietär
  • WhatsApp
    proprietär, Ende-zu-Ende-Verschlüsselung mit standardmäßig deaktivierter Authentisierung/Verifikation

Ein aktuelles Beispiel, das diese Forderung unterstreicht, ist ein Twitter-Posting eines Programmierers, der in seinem Server-Log Anfragen von WhatsApp fand. Ein Nutzer tippte eine URL in das Nachrichtenfeld in seinem WhatsApp-Client und der sendete Anfragen an  den Server, mit jedem Zeichen eine neue. Dadurch leakte er seine IP-Adresse und die eingegebene URL. Auch wenn das allein noch kein Skandal ist, ist es doch fraglich, ob das im Sinne des Nutzers ist. Bei einem Ende-zu-Ende-verschlüsselten Chat sollte keine Eingabe an jemand anderen als euren Kontakt gesendet werden. Außerdem lässt es Spielraum für Vermutungen, welche Eingaben noch abgegriffen und ohne euer Wissen an eine andere Stelle gesendet werden.

Und das ist eben auch nur ein kleines aktuelles Beispiel für die vielen Schwächen von WhatsApp und proprietärer Software allgemein. Und damit sind wir beim Kernpunkt dieses Teils unserer OMEMO-Reihe, denn Conversations ist gleichzeitig der derzeit beste XMPP-basierte  Messenger und eben auch die beste WhatsApp-Alternative für Android.

Was sind XMPP und OMEMO?

Bei XMPP, das manchmal noch wie in seinen Anfangstagen Jabber genannt wird, handelt es sich um einen offenen Standard. Ähnlich wie E-Mails könnt ihr XMPP-Nachrichten auf einem dedizierten Client erhalten, der — anders als bei WhatsApp — nicht auf das Smartphone beschränkt ist.

Mit dem Verschlüsselungsprotokoll OMEMO ist XMPP außerdem bestens gerüstet, um WhatsApp auch in Sicherheitsfragen abzulösen.  OMEMO ist seit Dezember 2016 eine offizielle XMPP-Erweiterung, kurz XEP. Es basiert auf dem Signal-Protokoll, das ihr vom gleichnamigen Messenger kennt und auch in WhatsApp eingesetzt wird. Allerdings wurde es speziell für die Nutzung im XMPP-Netzwerk erweitert. Eine der Neuerung ist die Multiple-Client-Funktionalität, die es euch ermöglicht mit einem XMPP-Konto mehrere Geräte zu verbinden. Die Nachrichten werden auf alle Geräte synchronisiert — sofern sie gerade online sind — und ihr könnt die Unterhaltung von praktisch jedem eurer Geräte aus übergangslos fortführen.

Fun Fact: WhatsApp basiert auf XMPP und ist ein blendendes Beispiel für unser Eingangsstatement. Das später proprietär weiterentwickelte Programm hätte wohl nie für 19 Milliarden US-Dollar an Facebook verkauft werden können, wenn es quelloffen gewesen wäre. Und dass Facebook nicht das beste für seine Nutzer im Sinn hat, haben wir hier genauer beleuchtet: Facebook lohnt nicht! Allein diese Übernahme könnte also schon als Grund reichen, WhatsApp zu verlassen.

Dieser Artikel ist Teil einer Reihe. Für mehr Kontext und weitere Sicherheitstipps für eure Messenger lest ihr WhatsApp – eine Bestandsaufnahme, Conversations: Vertrauensmodell erklärt und AnySoftKeyboard: Spionagefreie Tastatur mit coolen Emojis.

– Eure Datenschutzhelden


Quellen:

https://conversations.im

https://www.digitale-gesellschaft.ch/2016/11/07/produktvergleich-whatsapp-e-mail-sms-co-auf-sicherheit-und-nachhaltigkeit-bewertet/

https://de.wikipedia.org/wiki/Skype

https://de.wikipedia.org/wiki/IMessage

https://de.wikipedia.org/wiki/Viber

https://de.wikipedia.org/wiki/Snapchat

https://de.wikipedia.org/wiki/Telegram_Messenger

https://de.wikipedia.org/wiki/Threema

https://de.wikipedia.org/wiki/WhatsApp

  1. dan

    Guter Beitrag, danke dafür.

    Grundsätzlich halte ich jeden Messenger, welcher nicht standardmässig die Verschlüsselung aktiviert, für nicht Massentauglich. Spannend wäre vom Entwickler zu erfahren, warum das so ist… Gibts da Gründe für?

    Btw. Stallman in Bezug auf Apple zu zitieren, ist etwa so, wie wenn Ihr bei einem Bericht über das beste Steak einen Kommentar von der Animal Liberation Front zitiert. 😉

    • Thorsten

      Hi Dan,

      danke für dein Lob. Der Entwickler hat tatsächlich etwas dazu geschrieben. Auch wenn das nicht optimal ist, lassen wir uns von einem Klick mehr nicht aufhalten. Conversations ist ja jetzt auch nur der erste Client der OMEMO-fähig ist. Warten wir mal auf Zom, der ist grundsätzlich auf Usability getrimmt. Für den Linux Desktop hat mich Dino schon positiv überrascht, der ist auch optisch ansprechender als Gajim und vor allem einfacher.

      Dein Vergleich passt leider nicht ganz: Die ALF – deren Mitglieder Veganer bzw. Vegetarier sein müssen – würde wohl kaum Steak essen, Stallman hingegen nutzt sicher schon lange XMPP 😀

  2. jemand

    Hallo, ich wünsche mir eine solche Anleitung auch für iOS / Chatsecure. Und wie bekommt man Dino installiert?

    • Thorsten

      Hi jemand,

      wir wollen auch gerne eine Anleitung zu ChatSecure machen. Weil wir Apple nicht privat verwenden, fehlt uns dazu leider noch die Hardware. Datenschutzhelden ist zum mitmachen gedacht, wer das liest und eine Anleitung schreiben möchte, ist hiermit herzlich dazu eingeladen. Über eine Hardware Spende, würden wir uns natürlich auch sehr freuen.

      Dino ist noch in der Entwicklungsphase. Bis der Client stabil und empfehlenswert ist, müssen wir uns also noch etwas gedulden. Wenn du ihn trotzdem schon testen willst, kannst du ihn aus der Quelle selbst kompilieren. In Arch Linux geht es etwas bequemer über das Arch-User-Repository (AUR).

      Viele Grüße
      Thorsten

  3. Anonymous

    Moin,
    eine Anmerkung zu OMEMO: OMEMO basiert auf Olm vom Matrix-Team und Olm ist wiederum eine Implementierung des Double-Ratchet-Algorithmus, wie es auch im Signal-Protokoll verwendet wird. Das stimmt also nicht zu 100%, dass OMEMO auf dem Signal-Protokoll basiert.
    Steht u.a. in der Wikipedia und auch im XEP von OMEMO.
    OMEMO nutzt auch andere Kryptoprimitive als Signal.

    • Thorsten

      Hallo,

      Ich verstehe was du meinst, aber glaube du liest das auf die falsche Art. Ich sage nicht, dass das 100% das Signal-Protokoll ist. „Basiert auf“ kann ja auch bedeuten, dass nur ein Teil des Codes in den anderen übernommen wurde. Im Folgesatz sage ich auch, dass der Code angepasst wurde.

      Trotzdem danke für den Hinweis.

      „Seit September 2016 nutzt die OMEMO Spezifikation nicht mehr das Signal-Protokoll, sondern die eigens für das Matrix-Netzwerkprotokoll geschriebene Implementierung Olm. Allerdings muss man hinzufügen, dass alle existierenden Implementationen noch immer auf der Signal Bibliotheken basieren.“ – Wikipedia: OMEMO Geschichte

      Für diese Anleitung würde mir die Erklärung zu sehr in Richtung „Erbsen zählen“ gehen, aber in zukünftigen Artikeln werde ich das berücksichtigen.

      Viele Grüße
      Thorsten

Leave a Reply

Blue Captcha Image Refresh

*

Glossar | Impressum | Datenschutz