From: Boris Kraut To: undisclosed-recipients: ; Date: Thu, 19 May 2016 08:08:23 +0200 Message-ID: <20160519080823.50As7l@ubuntu.local> Reply-To: Boris Kraut Subject: [.plan] TextSecure/Signal Edward Snowden wird nicht muede sich immer wieder fuer TextSecure bzw. Signal zu bedanken. Und tatsaechlich, Moxie Marlinspike, Frederic Jacobs und Co. haben wir wirklich einiges zu verdanken: Axolotl, die Ver- schluesselung hinter Signal, und auch Signal selbst -- als ein Beweis, dass sicheres und benutzerfreundliches Kommunizieren moeglich ist. Doch ist Signal also "die Loesung"? Nein! Moxie hat mehrfach seine Ab- neigung gegen XMPP und Standards zum Ausdruck gebracht und in der Tat kann ein reines Fokusieren auf Standards zu einem sehr gemaechlichem Fortschritt fuehren, Innovation ausbremsen oder zu "Over-Engineering" fuehren: Implementationen sind das, was wichtig ist. Doch ich rede hier explizit vom Plural. Der Standard ist dafuer da, bereits existierende Loesungen zu verschriftlichen und zu verbessern... und auch neue Implementationen zu ermoeglichen. Moxie geht jedoch aktiv gegen solche Neuimplementierungen vor -- wobei beim Wire-OWS-Streit [0] nicht wirklich klar wird, wer der Schuldige ist. XMPP zu bashen ist leicht, das bietet sehr viel Angriffsflaeche und ist wirklich beispielhaft fuer XML-OverEngineering, doch Moxie spricht sich nicht nur gegen XMPP, sondern auch gegen Federation aus [1] ... > I no longer believe that it is possible to build a competitive > federated messenger at all. ... und [2]: > It is unlikely that we will ever federate with any servers outside > of our control again, it makes changes really difficult. Das mag seine Einschaetzung der Lage sein und ggf. auch auf die Erfahrungen mit CyanogenMod's WhisperPush [3] zurueckgehen: Einem zu TextSecure kompatiblen (d.h. Nachrichten konnten von einem zum anderen System gelangen) Messenger. Und ja, Federation ist verdammt schwer, aber es ist noetig, um nicht an einen Anbieter gebunden zu sein: So jedoch gehen alle anfallenden Daten ueber eine zentrale Instanz. Das Argument, dass Federation beim Nutzer nicht ankommt, weil es zu viel Aufwand ist lass ich uebrigens nicht gelten, bei Mails hat das auch funktioniert: Es gibt verschiedene Produkte rund um "Mail" und auch einen Platzhirsch. Wenn WhatsApp sich fuer aussen oeffnen wuerde, wuerden die Leute weg davon wechseln? Oder wuerde das nur ein paar Nerds wie micht betreffen? Auch beim Thema freie Software ist Moxie nicht ganz so unkritisch: Zwar ist der Grossteil von Signal frei verfuegbar, der Server-Code fuer die Sprachkomponente (ehemals RedPhone) ist es nicht. Und auch der Signal-Client kommt in der Standard-Variante nicht ohne Google's Play-Services aus -- nicht-freie Binaries. Dabei gibt es durchaus Alternativen, doch Moxie lehnt einen Pullrequest nach dem anderen ab [4][5][6]. Und auch komplett freie Forks torpediert er, wo er nur kann [2]. Was macht Moxie stattdessen? Es waere wuenschenswert, wenn Signal wirklich besser werden wuerde, aber stattdessen baut er fuer Konkurrenz- produkte die Verschluesselung ein, z.b. fuer WhatsApp [7] oder jetzt neu auch fuer Google [8]... und laesst sich dafuer natuerlich fuerst- lich bezahlen: Eine schoene Einnahmequelle neben Spenden und gross- zuegigen "Foerdermitteln" a la $2255000 vom OpenTechFund [9]. Ich moechte das alles gar nicht negativ werten und ich lasse bewusst auch die Streitigkeiten die Moxie/OWS mit mir/F-Droid hatte aussen vor, darum geht es nicht. Es geht darum zu erahnen, was Moxie will und ob diese Ziele fuer mich (oder euch) von Vorteil sind. Grundsaetzlich gehe ich davon aus, dass Moxie keiner von den "Boesen" ist und dass er in Sicherheit ein entsprechend kluger Kopf ist. Er moechte Kommunikation fuer die Massen so sicher wie moeglich machen und dazu geht er gewisse Kompromisse ein: * Kooperation mit Google und WhatsApp, weil das die Leute nutzen. Ausserdem spuelt das Geld in die Kasse, das ihn in die Lage versetzt, mehr Sicherheit zu "produzieren". * Freie Software ist wichtig, aber kleinere Binaries sind okay: Er wird nicht wertvolle Akkulaufzeit opfern. Freiheit ist den Nutzern egal, Akkulaufzeit nicht: Play-Services bleiben. * Zentralisierung ist wichtig, um alles unter Kontrolle zu haben, denn nur er weiss wie Sicherheit geht. Ausserdem lassen sich so schnell Aenderungen (oder Sicherheitsupdates) vornehmen und verteilen. Diese Interessen haben Vorrang vor Federation. Es ist klar, dass fuer mich Zentralisierung und nicht-freie Software ein Dorn im Auge sind. Ich verstehe seine Motive, aber glaube, dass sie auf lange Sicht eher schaedlich sind. Noch unbeantwortet ist die Frage nach WhatsApp und Google: Geht es hier nur um die oben genannten Benefits? Oder ist das schon der Ausverkauf von Signal, das verschwindet, sobald Massen- produkte sicher genug sind? Dass Moxie keine freien Clients auf den Signal- Servern duldet koennte fuer so etwas sprechen, aber wer weiss das schon. Moxie ist ein klassische "benevolent dictator" -- ein Typus Mensch, der in FLOSS-Projekten erstaunlich haeufig vorkommt. Wie "wohlwollend" Moxie im Ende wirklich ist, wird nur die Zeit zeigen koennen. Fuer mich gilt, und hier zitier ich mich dreisterweise selbst [2]: > Let's just use XMPP/Conversations and be done... ... mit OMEMO und einer ganzen Reihe von neuen XEPs, ist das mehr als gut genug fuer moderne, mobile, sichere Kommunikation. Conversations ist der mobile Client der Wahl, andere werden nachziehen. Als Server der alles noetige unterstuetzt empfehle ich ebenfalls conversations.im -- der kostet aber (wie z.b. Posteo fuer Mails) auch einen Obolus. Die Frage hier ist eigentlich nur: XMPP ist scheisse, ist es aber gut genug um zu bleiben? Gut genug fuer die Masse? Ist es nur der Zwischenschritt fuer Peer2Peer- Messenger? [0] https://medium.com/@wireapp/axolotl-and-proteus-788519b186a7 [1] https://whispersystems.org/blog/the-ecosystem-is-moving/ [2] https://github.com/LibreSignal/LibreSignal/issues/37 [3] http://www.cyanogenmod.org/blog/whisperpush-secure-messaging-integration [4] https://github.com/WhisperSystems/Signal-Android/pull/3640 [5] https://github.com/WhisperSystems/Signal-Android/pull/2994 [6] https://github.com/WhisperSystems/Signal-Android/pull/1960 [7] https://whispersystems.org/blog/whatsapp/ [8] https://whispersystems.org/blog/allo/ [9] https://www.opentech.fund/project/open-whisper-systems