Nicht jede Lücke ist ein Drama, und nicht jeder gute Fall braucht einen spektakulären Fund. Dieser hier ist die Geschichte eines kleinen, konkreten Fehlers in einem quelloffenen Messenger — und vor allem einer Reaktion, die zeigt, wie koordinierte Offenlegung laufen soll.
derselbe Schlüssel auf jedem Gerät
SKRED legt sensible Einstellungen auf dem Gerät verschlüsselt ab. Dafür erzeugt es normalerweise einen eigenen Schlüssel im gesicherten Speicher des Telefons (Android-Keystore). Schlägt das fehl — ein auf manchen älteren Geräten bekanntes Problem — griff ein fest einprogrammierter Ersatzschlüssel. Dieser Ersatz war auf jeder Installation derselbe.
Warum es ihn gab. Der Gedanke dahinter war gutartig: Daten auch dann noch schützen, wenn der Keystore des Geräts versagt. Nur war der Ersatzschlüssel nicht geräteindividuell, sondern deterministisch aus zwei fest hinterlegten Werten berechnet — also überall gleich und aus dem offenen Quellcode rekonstruierbar.
Was das bedeutet — ehrlich eingeordnet. Das war ein Ersatzpfad, nicht der normale Verschlüsselungsweg, und er betraf lokal abgelegte Einstellungen, nicht die Inhalte aller Nachrichten. Ausnutzen ließ sich das nur mit Zugriff auf das Gerät selbst — kein Angriff aus der Ferne. Die Schwere liegt im lokalen, gerätegebundenen Fall. Genau diese nüchterne Einordnung ist der Punkt: ein echter, aber klar begrenzter Fehler.
neu: kontrollierter Abbruch
Ersatzschlüssel nur noch zum Lesen von Altdaten
Im neuen Stand wird der Ersatzschlüssel nicht mehr zum Verschlüsseln verwendet. Schlägt der Keystore fehl, bricht die App kontrolliert ab, statt mit einem bekannten Schlüssel weiterzumachen. Der alte Schlüssel bleibt nur noch, um bereits vorhandene Daten bei der Migration zu entschlüsseln.
Ein Mensch antwortet — und behebt.
Nachdem das BSI den Bericht weitergeleitet hatte, meldete sich der technische Leiter des Herstellers persönlich. Keine Textbaustein-Antwort, sondern Punkt für Punkt, technisch fundiert. Er stellte zusätzliche Architektur-Dokumentation bereit, verwies auf die quelloffene Codebasis und begann unmittelbar mit den Korrekturen. Neben dem Ersatzschlüssel wurde auch die fehlende Zertifikatsbindung (Certificate Pinning) ergänzt — nachvollziehbar im offenen Repository.
So soll es laufen.
Koordinierte Offenlegung lebt nicht von spektakulären Lücken, sondern von dem, was danach passiert. SKRED hat gezeigt, wie es gehen soll: Offenheit (quelloffen), Erreichbarkeit (ein Mensch antwortet), fachliche Auseinandersetzung statt Abwehr und zügige, nachprüfbare Korrekturen. Dass die Apps offen liegen, ist dabei kein Zufall, sondern Teil derselben Haltung.