Repository navigation
Erst den Relay aktualisieren, dann die App. Der Relay dieser Fassung speichert eine zusätzliche Signatur je Gerät und prüft sie bei der Anmeldung (siehe Geräteliste unten). Das ist additiv: Ältere Apps schicken das Feld nicht und laufen weiter, ein älterer Relay ignoriert es. Neue Endpunkte gibt es nicht, an der nginx-Liste ändert sich nichts. Beim Relay selbst zuerst das Zwischenlager aktualisieren: Es zählt jetzt die Gesamtmenge der Anhänge (siehe unten).
App-Sperre: zwei Lücken aus der Sicherheitsprüfung vom 18.10.2026.
- Einen Faktor hinzufügen verlangt jetzt eine frische Anmeldung, genau wie das Entfernen. Bis 2.0.0 konnte jemand mit dem kurz entsperrten Telefon ein eigenes App-Passwort anlegen und sich damit ausweisen: für die zwölf Wörter, die Sperrfrist, die Fernlöschung und die Teilgeheimnisse. Dasselbe gilt für das Panik-Wort. Ein neu angelegter Faktor zählt erst nach dem nächsten Entsperren als Ausweis.
- Die Sperre greift jetzt auch im Hintergrund. Bis 2.0.0 ging die App erst beim Zurückkommen zu. Bei „Sofort“ blieben die Schlüssel offen, solange sie im Hintergrund lag. Jetzt sperrt sie bei „Sofort“ beim Weglegen und sonst, sobald die Frist um ist. Der Hintergrundempfang verlängert die Frist nicht: Bei 1 oder 5 Minuten empfängt die App nur in dieser Zeit. Dauerhaft geht es nur mit „Nie“. Die Einstellungen sagen das jetzt dazu.
Geräteliste: ein Relay, der eine Abmeldung verschweigt (Befund aus derselben Prüfung). Bis 2.0.0 bekamen Kontakte die signierte Geräteliste nur über den Relay. Nahm er eine neue Fassung an und lieferte weiter die alte aus, verschlüsselten die Kontakte weiter an das abgemeldete Gerät, und es konnte weiter als Besitzer schreiben. Protokoll und Grenzen: secure-messenger/docs/GERAETEABMELDUNG.md §12.
- Die Liste geht jetzt auch Ende-zu-Ende. Jede Nachricht trägt einen Stempel der eigenen Liste, und nach jeder Änderung geht die Liste selbst an die Kontakte. Wer einen neueren Stempel sieht, als seine Liste hergibt, schickt nur noch an Geräte, die diesen Stempel tragen, und nimmt nur von ihnen an.
- „Geräte verwalten“ warnt, wenn der Relay die eigene letzte Änderung nicht ausliefert. Gibt es von einem Kontakt zwei widersprüchliche Listen, sagt der Chat das dazu.
- Sitzungen hängen am Geräteschlüssel. Der signierte Prekey ist zusätzlich mit dem Geräteschlüssel signiert, und jede Erstnachricht trägt einen Nachweis. Eine falsche Signatur wird nie angenommen. Eine fehlende wird erst ab 2.0.2 abgewiesen, damit Geräte mit älterer App bis dahin erreichbar bleiben. Erst dann kann ein abgemeldetes Gerät auch mit Hilfe des Relays keine Sitzung unter der Kennung eines anderen Geräts mehr aufbauen.
- „Zielgerät unbekannt“ vom Relay löscht die Sitzung nicht mehr, wenn das Gerät in der signierten Liste steht.
- Was bleibt: Hat ein Kontakt seit der Abmeldung nichts vom Besitzer bekommen, weiß er nicht, dass ihm etwas fehlt. Verwirft der Relay alles vom Besitzer an einen Kontakt, sieht man das nur daran, dass die eigenen Nachrichten dort keinen zweiten Haken bekommen.
Relay: weitere Befunde aus dem Audit vom 16.10.2026
- Anmeldung mit dem Namen des Relays (KR-2). Nennt der Relay seinen Namen, signiert die App die Anmeldung zusammen mit ihm. Eine Anmeldung für einen Relay lässt sich so nicht bei einem anderen verwenden. Ältere Apps melden sich weiter wie bisher an.
- Neue Adressen sind je Herkunft und Tag begrenzt (SV-3). Gescheiterte Versuche zählen nicht. Adressen, die nie verbunden waren, verschwinden nach 48 Stunden. Wer schon registriert ist, merkt davon nichts.
- Anhänge: Grenzen ohne Bremse für alle (SV-1, SV-2). Die Tagesmenge je Adresse rechnet ohne Summe über den ganzen Relay, und die Gesamtmenge zählt das Zwischenlager nach den wirklich hochgeladenen Bytes. Ist es voll, sagt die App „Der Speicher ist gerade voll“.
- Push nur an saubere Adressen (SV-7, SV-8). Ein Push-Endpunkt mit eigenem Port oder Benutzerangabe wird abgelehnt; je Gerät geht höchstens ein Anstoß gleichzeitig hinaus.
- Herkunft nur noch über nginx (SV-5, SV-10). Eine selbst gesetzte
X-Forwarded-Forzählt nicht mehr. Bei Nonces und neuen Adressen zählt IPv6 je /48. - Ehrlicher Hinweis in
install.shund auf der Seite „Server selbst betreiben“ (SV-11).
Relay
- certifi auf 2026.10.23. Die bisher gesperrte Fassung 2026.7.22 hat eine kritische Lücke. Alle anderen Abhängigkeiten bleiben, wie sie waren.
App
- Kamera-Paket auf 0.12.1 (QR-Scanner), ohne sichtbare Änderung.
Vor dem Update lesen: 2.0.1 versteht sich mit 2.0.0 in beide Richtungen, Adresse, Chats und Kontakte bleiben. Wer einen eigenen Relay betreibt: erst das Zwischenlager, dann den Relay, dann die App aktualisieren.
Android: Die APK entsteht im F-Droid-Image (Workflow „Android (F-Droid-Bau)“), libsignal wird dabei aus der Quelle gebaut, und danach wird sie signiert. Das Zertifikat ist dasselbe wie bisher (e325b01c…).
Prüfsummen: Zu jeder Datei liegt eine .sha256 daneben. Das Linux-Paket trägt zusätzlich eine Herkunftsbeglaubigung (gh attestation verify <datei> -R Henner4746/BitDM). Bei Android gilt sie der unsignierten APK aus dem Workflow; die veröffentlichte unterscheidet sich davon nur durch die Signatur.