Konzept-Diskussion: Pre-Encryption (lokale Verschlüsselung) als Schutz gegen Chatkontrolle?

Hallo zusammen,

ich lese hier schon länger mit und schätze die fundierten Analysen zur Chatkontrolle und der schleichenden Aufweichung der Ende-zu-Ende-Verschlüsselung sehr.

Da die politischen Entwicklungen rund um Client-Side-Scanning leider immer bedrohlicher werden, habe ich mir Gedanken über einen rein pragmatischen, clientseitigen Workaround gemacht. Das Ergebnis ist meine Android-App TooliSafe.

Das Konzept kurz erklärt:

Die App setzt auf konsequente Pre-Encryption (Verschlüsselung vor dem eigentlichen Transportkanal):

  • Keine eigene Infrastruktur: Die App nutzt keine eigenen Server für den Nachrichtenversand. Sie verschlüsselt Texte und Dateien lokal auf dem Gerät via AES-256.

  • Übergabe: Der verschlüsselte Output (Kauderwelsch) wird vom Nutzer direkt über das Share-Menü an WhatsApp, Signal, Threema oder per E-Mail übergeben.

  • Medien-Support: Außer Text sind auch Dateianhänge und Sprachnachrichten möglich.

  • Schlüsselaustausch: Die Schlüssel werden direkt zwischen den Kommunikationspartnern vereinbart und lokal auf dem Gerät gehalten (Zero-Knowledge-Prinzip). Aktuell gibt es eine Auto-Contact-Einrichtung über einen vorläufigen Standardschlüssel. Das möchte ich künftig noch verbessern und auf einen echten Diffie-Hellman-Schlüsselaustausch umstellen.

  • Metadaten-Vermeidung: Da die App selbst nicht sendet, fallen bei TooliSafe absolut keine Kommunikations-Metadaten an.

  • SOS-PIN: Bei Eingabe einer speziellen SOS-PIN beim App-Start werden alle Schlüssel und Daten auf dem Gerät sofort und dauerhaft gelöscht.

Meine Fragen an euch:

  1. Haltet ihr diesen vorgelagerten Ansatz im Alltag für eine praktikable „Notwehr“ gegen die Chatkontrolle?

  2. Welche krypto-technischen Fallstricke seht ihr bei der aktuellen Schlüsselübergabe und wie würdet ihr den geplanten Diffie-Hellman-Austausch hier am elegantesten aufziehen?

Wer sich die App anschauen möchte: Sie ist im PlayStore unter „TooliSafe“ zu finden (ohne Tracker, keine Registrierung nötig).

Ich freue mich auf euer Feedback und eine kritische, technische Diskussion!

Viele Grüße

TooliCode

Danke für deinen Einsatz. Mit einer Brave-Suche konnte ich noch den XDA-Thread finden https://xdaforums.com/t/app-5-0-toolisafe-true-offline-aes-encryption-privacy-first.4783438/ aber leider kein Git Repo. Das ist bei Security Apps Essentiel.

Wir wünschen uns GitHub Releases oder F-Droid. Danke!

Wer ist „Wir“?

@TooliCode : Ich vermute mal, dass dieses Konzept dann auch von meinen Kommunikationspartnern umgesetzt werden muss, richtig?

Technisch sollte die Pre-Encryption in einer App und Übergabe an die Messenger App funktionieren können. Die große Frage ist nur wie aufwendig das Ganze für die Anwender in der Praxis ist.

Unter iOS z. B. hat es Jahrelang nur externe PGP-Tools gegeben, die E-Mail-Inhalte auf diese Weise extern verschlüsselt und dann als PGP-verschlüsselte Datei an Mail übergeben haben. Dieses würde auch mit Messenger funkionieren. Andere behelfen sich seit Jahren mit dem Versand Passwort-verschlüsselter ZIP-Dateien was ebenfalls mit Messengern kompatible ist. Es funktioniert, nur ist die Benutzer-Expierence fürchterlich wenn man dieses für seine gesamte Kommunikation nutzen wollte. Spätestens bei den Messenger-Gruppen wird der Schlüsselaustausch und die Verwaltung extrem aufwendig.

Jemand der genau weiß warum er explizit seine Inhalte verschlüsseln muss, mag solche Zusatzschritte anwenden. Aber in der Masse wird so eine Lösung meiner Meinung nach nicht akzeptiert und unterstützt werden.

Ich zum Beispiel

Kennst du OpenKeychain? Mit der App kannst du sowohl Text, als auch Dateien per OpenPGP verschlüsseln und den Text dann per copy/paste zum Messenger deiner Wahl transportieren. Dateien kannst du teilen.

Ist CryptoSafe nicht auch etwas in der Art?

Aber das eigentliche Problem ist doch, welcher normale Kontakt macht sowas mit?

Genau das ist der Punkt. Verschlüsselung in Messengern nutzt jeder - nicht weil es besonders sicher ist, sonder weil es einfach der automatisch genutzte Standard ist und dieser nicht im Weg steht.

Die Verschlüsselung wirkt damit vielleicht nicht perfekt gegen gezielte Angriffe, aber wie uns das Thema Chat-Kontrolle zeigt anscheinend gegen Massenüberwachung sämtlicher Inhalte.

Alle komplexeren Verfahren die Interaktionen von den Anwendern erfordern oder optional sind, konnten diesen Status bisher nicht erreicht.

Ja das genau ist das Thema. Ich versuche eine Ui zu machen, die ähnlich eines messangers aufgebaut ist. Also Text eingeben, Datei einfügen oder Sprache aufnehmen, alles ähnlich whatsapp. Dann senden, App wählen und los. Und beim Empfänger ist noch einfacher. Die empfangene .tsafe datei wird geöffnet mit der App Toolidafe. Wenn der passende Kontakt eingestellt ist, kommt sofort der dekodierte text und die anhänge.

Also relativ einfach. Beim Einrichten eines neuen Kontakts habe ich eine Autokonfig gemacht.mKlappt gut, trägt am Empfänger automatisch den neuen key ein. Aber da will ich noch zu Diffie-Hellman-Schlüsselaustausch wechseln. Aktuell habe ich ein Standardpasswort wärend der Autokonfig, das ist nicht perfekt sicher.

Darf ich fragen, warum deine App nur im Google Play Store erhältlich ist und nicht zum Beispiel über F-Droid oder GitHub? Ist sie proprietär? Oder hat sie Abhängigkeiten von den Datenkraken? Gerade wenn du dir solche Mühe machst, eine App zu entwickeln, die die Chat-Kontrolle umgehen soll, wäre es schön, wenn sie open source wäre, denn ich glaube, die meisten hier im Forum würden eine entsprechendeApp von Google niemals herunterladen.

(Textauszeichnung (fett) durch mich)

https://de.wikipedia.org/wiki/Perfekte_Sicherheit (just saying…)

Ich glaube ist sowas ähnliches wie Toolisafe. Ich habe halt noch wert auf einfache Bedienung und leichte Integration in andere Übertragungsdienste gelegt. Und inzwischen habe ich ziemlich erweitert mit Anhänge beliebig groß in Premium, Sprachaufnahmen und dem Sos Pin. Hoffentlich braucht den Niemand aber wenn man in eine Situation gerät, lassen sich alle Daten löschen. Aber ich kann wegen Sandbox keine Dateien direkt löschen. Also Exporte bzw. Sicherungen der Keys muss der Benutzer selbst wegkopieren vom Handy. Das darf ich in der App nicht.

Nichts für mich

Ja sehe ich ein. Da kann ich noch nachbessern. Aber wenn Du für die Autokonfig einen anderen Kanal nutzt als später für die Kommunikation. Wie wahrscheinlich ist es, das zufällig beide Kanäle genau während des Keyaustauschs abgehört oder gehackt werden? Also für normale Anwender sollte auch das reichen. In Zukunft mache ich noch Diffie-Hellman-Schlüsselaustausch und villeicht auch eine eigene Tastatur. Falls rin Häcker über die Google Tastatur abhört. Würde ich dann aber abschaltbar machen, den eine eigene Tastatur kann sicher keine Rechtschreibeprüfung oder ähnliches. Und ich will auch die kodierten Dateien lokal ablegen lassen. Ohne Internet. Also das die Software wie ein WinZip funktioniert aber mit den eigenen Keys. Kann villeicht praktisch sein.

@DigitalFee. Nun zunächst habe ich nicht vor meinen Code zu veröffentlichen, höchstens einzelne Teile. Das war zu viel arbeit. Und für normale Nicht-Entwickler ist GooglePlay der normale Weg um an Apps zu kommen. Aber Nachteil nicht zu verschweigen: wer die kostenlose Version runter lädt, wird Werbung sehen. Also es werden Werbeanfragen an Google versendet. Nur wer die PremiumVersion kauft, ist da sicher. Also wer Google umgehen will seit der bekannten Massenüberwachung durch CIA in 2013 sollte die PremiumVersion kaufen. Denoch ausser Werbeanfragen kommt nichts vom deinen Daten durch. Die EndezuEnde Verschlüsselung schützt da zuverlässig.

Schade, wenn die App nur im google Playstore erhältlich ist. Nutze ich z.B. nicht.

Hmm und dann leider auch noch mit Werbetrackern. Leider zweimal raus für mich.

Mit der Integration von Werbenetzwerken wäre die App für mich ebenfalls sofort raus. Den Tracking-Code solcher Firmen versuche ich wo immer es geht zu vermeiden. Bei einer Sicherheits-App ist es aus meiner Sicht absolut inakzeptabel auf eine solche Werbe-Finanzierung zu setzen. Aber das muss der App-Entwickler für sich selbst entscheiden.

Was jedoch aktuell noch schwerer wiegt so wie ich es verstehe ist, dass es diese App nur für Android angeboten wird. Damit stellt diese eine eingeschränkte Kommunikationsblase dar. Ich könnte diese in meinem Umfeld quasi nicht sinnvoll einsetzen, da die Anzahl der Personen mit Android-Smartphones eher gering ausfallen. Viele nutzen Apple iPhones und ebenso werden häufig Messenger auch am Desktop genutzt.

Eine solche App muss aus meiner Sicht zwingend auf allen verbreiteten Mobil- (Android mit Plastore, Android ohne Playstore, GrapheneOS, iOS) und eigentlich auch auf den Desktop-Systemen (BSD, Linux, macOS, Windows) verfügbar sein, damit es überhaupt eine sinnvolle Basis für eine Verbreitung geben kann. Solange der Entwickler die entsprechenden Clients auf den anderen Plattformen nicht selbst bereitstellen kann, würde vermutlich das Setzen auf PGP als gemeinsamen Verschlüsseltungsstandard mehr Chancen haben.

Nun also würdest Du sofort die Premium Version kaufen. Das ist mein Ziel. Leider denken so die wenigsten und träumen von kostenlosen App. Die gibt es aber nicht. Nur Kauf-App oder Werbefinanzierte Apps.
IOS und Windows ist in der ToDo Liste. Die App ist in c#Maui gemacht und ich kann da erweitern. Aber die finanzielle und zeiltliche Aufwand ist gewaltig. Sofern kaum Einnahmen kommen, werde ich das sicher nicht tun. Genauso die Anpassung an GraphenOS oder veröffentlichen auf NichtPlayStore. Das sind viele Arbeitsstunden so eine Anpassung. Und bei so wenig Einnahmen einfach nicht machbar.
Also aktuell setze ich auf Android, GooglePlayStore, da da die meisten User sitzen. Und werbefinanziert, da die meinsten User „kostenlose“ Apps wollen. IOS und Windows kommen später.

Verstehen kann ich Deine Argumente.

Wenn Du die Payed-App in Store komplett ohne Integration des Werbecodes als zweite App anbietest , wäre das für mich persönlich akzeptabel.

Eine Deaktivierung des weiterhin integrierten Werbecodes über eine Einstellung der App empfände ich hingegen problematisch.

Aber ich bin als Apple Nutzer ja eh erst einmal raus aus der Thematik.