Hallo Leute,
die Sicherheit von Threema basiert hauptsächlich auf diesen drei Säulen:
- Vertrauen in die Threema GmbH
- Vertrauen in das Betriebssystem, auf dem Threema läuft (momentan iOS, Android und Windows Phone)
- Sicherheit des privaten Schlüssels
Grundsätzlich sollte es das Ziel sein, möglichst wenigen Parteien vertrauen zu müssen, um sicher kommunizieren zu können. Gibt es auch nur ein Problem mit einen dieser drei genannten Säulen, hat man „verloren“. Aus diesem Grund ein paar Vorschläge als Diskussionsgrundlage. Wie können wir die Abhängigkeiten reduzieren?
Vertrauen in die Threema GmbH
Die Firma erstellt und vertreibt nicht nur die Software und Clients, sondern betreibt auch die notwendigen Server zum Funktionieren des ganzen Systems. Alles steht und fällt damit.
Was könnte man sicherheitstechnisch verbessern?
- Veröffentlichung des Threema-Protokolls, um es von Experten genauer auf Sicherheit, Privatsphäre und Zuverlässigkeit untersuchen zu können.
- Veröffentlichung des Quellcodes der Clients
- Regelmäßige Code-Audits
- Verteilte Threema-Server?
Vertrauen in das Betriebssystem
Da die aktuell unterstützen Betriebssysteme alle (mehr oder weniger) proprietär sind, kann man hier wenig machen. Android zwar (im Grunde) quelloffen, aber oft mit überdurchschnittlich vielen Sicherheitslücken und insbesondere fehlenden Updates. Smartphones können im Allgemeinen nicht aus vertrauenswürdig angesehen werden.
Sicherheit des privaten Schlüssels
Der vielleicht wichtigste Punkt. Die Sicherheit der Verschlüsselung basiert auf den (geheimen) privaten Schlüssel. Da das Betriebssystem allerdings nicht zu kontrollieren ist, fällt das schwer.
Was kann man also tun?
- Alle Threema-Clients sollten mit Tor zu benutzen sein, um die anfallenden Metadaten zu „Datenmüll“ zu machen. Threema sollte also daran arbeiten, evtl. in den Einstellung eine Option anzubieten und sie müssten dafür sorgen, dass es dann auch zu keinen Leaks der IP-Adresse kommt.
Selbst wenn Threema die Metadaten also sammeln würde bzw. eine Anfrage von einer Behörde bekommt, für eine bestimmte Threema-ID die IP-Adresse herauszugeben, hätten sie keine Chance. - Es sollte min. einen offiziellen Client für ein quelloffenes Betriebssystem geben (z. B. Linux).
- Um für die Sicherheit des privaten Schlüssels zu sorgen, muss natürlich auch der Benutzer dafür etwas tun. Man sollte aber die Anforderungen an den Benutzer so gering wie möglich halten.
Ein konkreter Vorschlag
Threema sollte an einem Client für Raspberry Pi arbeiten. Den Raspberry Pi kann man dann daheim an den Router anstecken und man kann folgende Vorteile genießen:
- Threema-Client läuft auf einem quelloffenen Betriebssystem, das schnell und regelmäßig Updates bekommt
- Raspberry Pi sollte 24h am Tag Internet-Verbindung haben, wenn er auf Router angesteckt ist
- Man kann den Raspberry Pi so konfigurieren, dass er nur über das Tor-Netzwerk kommunizieren kann
- Da der private Schlüssel auf dem Raspberry Pi liegt, kann man ihn nicht mal schnell verlieren. Der Angreifer müsste also physischen Zugriff auf das Gerät haben, was zumindest schon eine gewisse Hürde darstellt
- Mit zusätzlichen Verschlüsselungstechnologien könnte man den Raspberry Pi absichern, um das Abgreifen des privaten Schlüssels weiter zu erschweren
Und wie schreibe ich jetzt Nachrichten?
Über Web-Client bzw. Smartphone-Client, der sich mit dem Raspberry Pi verbindet. Zugelassene Geräte können auf dem Raspberry Pi konfiguriert werden. Mal angenommen man verliert sein Smartphone: Auf dem Raspberry Pi wird sein Smartphone als zugelassenes Gerät entfernt -> Person, die Smartphone nun besitzt, kann nicht auf die Threema-Daten zugreifen. Allerdings würde das ganze womöglich mehr Datenvolumen brauchen und für Otto-Normal-Nutzer ist das ganze sowieso wohl keine Option das ganze einzurichten.
Nun aber. Ein realistischer Vorschlag.
- Threema baut einen quelloffenen Client für das Raspberry Pi. Da man hierfür keine GUI braucht, ist das evtl. für Threema auch „locker“ zu machen, wenn man will.
- Threema schreibt dazu eine benutzerfreundliche Anleitung bzgl. Installation/Konfiguration auf Raspberry Pi (Tor, Verschlüsselung, etc.).
- Da das Verbinden der Threema-App mit dem primären Threema-Client auf dem Raspberry Pi wohl deutlich mehr Datenvolumen verursachen würde (?), könnten sie es zumindest ermöglichen, dass man auf dem Desktop (Web-Client?) mit dem Raspberry Pi Threema benutzen kann.
Aber das ganze soll nur mal als Diskussionsgrundlage und Ideenwerkstatt dienen.
Was meint ihr?