Deine App
Verwahrt deine Schlüssel, verschlüsselt alles, was du sendest, und entschlüsselt, was du empfängst. Dein Nachrichtenverlauf liegt hier und nirgendwo sonst.
Weiß: Alles, was du sendest und empfängst: Es gehört dir.
So funktioniert’s
Ein Rundgang durch Architektur und Protokoll in einfachen Worten. Jedes Kapitel beginnt mit der Idee; öffne „Unter der Haube“ für die technischen Details.
Kapitel 1
Crocodile teilt die Arbeit so auf, dass nur die Menschen, mit denen du sprichst, deine Worte sehen, und die Teile, die Fremde betreiben, nie.
Verwahrt deine Schlüssel, verschlüsselt alles, was du sendest, und entschlüsselt, was du empfängst. Dein Nachrichtenverlauf liegt hier und nirgendwo sonst.
Weiß: Alles, was du sendest und empfängst: Es gehört dir.
In jedem Sprachraum und Space wird die App eines Mitglieds gewählt, um den verschlüsselten Verkehr an die anderen weiterzugeben. Es ist ein Mitglied wie jedes andere.
Weiß: IP-Adressen der Mitglieder und wer spricht, nie, was gesagt wird.
Von Freiwilligen betriebene Vermittlungsstellen: Sie verwahren Profile und Spaces, sagen, wer online ist, und wählen Hosts. Sie verbinden sich zu einem Netz.
Weiß: Profile, Mitgliedschaften und wer online ist, nie, was gesagt wird.
Ein Telefonbuch der Koordinationsserver, damit neue Apps wissen, wo sie anfangen. Über Menschen weiß es nichts.
Weiß: Nur die Liste der Server.
Kapitel 2
Wenn du Crocodile installierst, erzeugt deine App auf deinem Computer ein zufälliges, 32 Byte langes Geheimnis. Daraus entstehen zwei Schlüssel: einer zum Signieren dessen, was du veröffentlichst, und einer zum Empfangen verschlüsselter Nachrichten. Deine Nutzer-ID ist ein Fingerabdruck des Signaturschlüssels.
Weil die ID aus dem Schlüssel berechnet wird, kann ein Server keinen anderen Schlüssel unterschieben und sich als du ausgeben. Es gibt kein Passwort zum Stehlen und kein Zurücksetzen, zu dem sich ein Support überreden ließe. Das Geheimnis wird dir einmal als Wiederherstellungsschlüssel gezeigt und bleibt auf deinen Geräten, verschlüsselt mit dem Schlüsselbund deines Systems.
K7QF-M2XA-…-9PD4Ed25519X25519 + ML-KEM-768hash(🔑) → 4gq7…xk2mKapitel 3
Deine App lädt die Liste der Koordinationsserver aus dem Verzeichnis, misst, wie schnell jeder antwortet, und verbindet sich mit dem schnellsten. Der zweitschnellste wartet in Bereitschaft, sodass deine App sofort wechselt, wenn dein Server verschwindet.
Vor allem anderen beweist der Server, wer er ist, und App und Server vereinbaren Schlüssel für diese Verbindung. Ab dann sind selbst die Metadaten, die sie austauschen, verschlüsselt, zusätzlich zu HTTPS, sodass es auch auf einem Heimserver sicher funktioniert.
Kapitel 4
Dein Profil, die Spaces, die du erstellst, ihre Einladungen und wer Mitglied ist, sind kleine Datensätze, signiert von dem, der sie geschrieben hat. Server speichern und teilen sie, und jeder Server und jede App prüft die Signaturen. Ein Server kann sich weigern, einen Datensatz weiterzugeben, aber er kann keinen ändern oder erfinden.
Koordinationsserver finden einander und bilden ein Netz. Jeder Datensatz wird von einigen per Hash gewählten Servern gehalten, die Änderungen untereinander kopieren, sodass das Netz weiterläuft, wenn ein Server ausfällt.
profile:4gq7…xk2mKapitel 5
Wenn Leute einem Sprachraum beitreten oder einen Space öffnen, schaut sich der Koordinationsserver die Verbindungen aller an (wie offen ihr Netz ist, ihre Upload-Geschwindigkeit, ihr Computer, ob sie im Akkubetrieb sind) und wählt das am besten geeignete Mitglied zum Host. Das zweitbeste ist die Vertretung.
Alle verbinden sich mit der App des Hosts, die den verschlüsselten Ton weitergibt. Um die Last gering zu halten, leitet sie jedem Zuhörer die paar lautesten Sprecher weiter. Den Ton hat sie dabei nie im Klartext: Sie verschiebt nur versiegelte Pakete.
Verlässt der Host den Raum oder ist nicht mehr erreichbar, übernimmt die Vertretung und alle verbinden sich neu mit ihr, meist bevor es jemand merkt.
Alle verbinden sich mit dem Host.Host weg: Die Vertretung übernimmt.
Kapitel 6
Alles wird auf deinem Gerät verschlüsselt, bevor es das Gerät verlässt, und nur die Menschen im Gespräch haben die Schlüssel. So ergeht es einer Nachricht auf dem Weg nach draußen.
Deine App signiert die Nachricht, damit andere beweisen können, dass sie von dir stammt, füllt sie auf, damit ihre Länge nichts verrät, verschlüsselt sie mit einem Schlüssel, den nur die Mitglieder des Gesprächs haben, und sendet sie über eine Verbindung, die selbst verschlüsselt ist. Wer dazwischen sitzt, sieht nur durcheinandergewürfelte Bytes in Standardgröße.
Schlüssel werden hybrid ausgetauscht: mit X25519, einem bewährten klassischen Verfahren, und ML-KEM-768, dem neuen Post-Quanten-Standard. Ein Angreifer müsste beide brechen. Das ist wichtig, denn jemand könnte heute verschlüsselten Verkehr aufzeichnen und warten, bis ein Quantencomputer ihn entschlüsselt.
GelöschtDiese NachrichtDie nächsten
Der Schlüssel jedes Mitglieds dreht sich wie eine Ratsche: Nach jeder Nachricht wird er durch den nächsten in einer Kette ersetzt, die nur vorwärts geht, und der alte wird gelöscht. Wer heute einen Schlüssel stiehlt, kann die Nachrichten von gestern nicht lesen. Alle 30 Minuten und jedes Mal, wenn jemand geht, beginnen alle eine neue Kette mit neuen Zufallsschlüsseln, sodass ein gestohlener Schlüssel auch bald nutzlos wird.
Deine Stimme wird in kleinen Frames verschlüsselt, etwa fünfzig pro Sekunde, direkt nach dem Mikrofon und bevor sie das Netz erreicht. Ein Frame, der sich nicht verschlüsseln lässt, wird verworfen, nie im Klartext gesendet. Sprache läuft mit konstanter Bitrate, sodass die Paketgröße nicht verrät, was du sagst.
Kapitel 7
Manche Netze, etwa strenge Firewalls in Büros oder Universitäten, blockieren direkte Verbindungen zwischen Computern. Crocodile sagt dir, wenn das passiert, und du kannst einen Koordinationsserver deinen Verkehr weiterleiten lassen.
Das Relay gibt Pakete weiter, die bereits Ende-zu-Ende verschlüsselt sind: Es sieht ihre Größe und ihr Timing, aber nicht ihren Inhalt. Die Erlaubnis gilt jeweils eine Stunde und wird nur verlängert, solange sie noch gebraucht wird.
Kapitel 8
Kein Server speichert deinen Verlauf, deshalb reichen sich die Apps von Crocodile Nachrichten gegenseitig weiter. So läuft es, wenn du jemandem schreibst, der offline ist.
Die Nachricht kommt in den Postausgang deiner App und zeigt eine kleine Uhr.
Sobald ihr beide online seid, übergibt deine App sie, versiegelt für sein Gerät.
Seine App bestätigt den Empfang und die Uhr verschwindet. Mitglieder, die in einem Space Nachrichten verpasst haben, holen sie beim Host und der Vertretung nach.
Optional hält ein Server Direktnachrichten bis zu 7 Tage, pro Gerät versiegelt, sodass er sie nicht lesen kann, und löscht sie nach der Zustellung.
Kapitel 9
Dein neuer Computer zeigt einen kurzen Code. Tippe ihn auf einem Computer ein, auf dem du schon angemeldet bist, und prüfe dann, ob beide Bildschirme denselben sechsstelligen Sicherheitscode zeigen. Stimmen sie überein, wird dein Konto verschlüsselt übertragen und das neue Gerät ist drin.
Der Sicherheitscode deckt die Schlüssel beider Geräte ab. Versucht jemand, unterwegs einen auszutauschen, unterscheiden sich die Codes und du merkst es.
Codes stimmen: sicher verknüpfen
Die Begriffe, die dir in Texten über Sicherheit begegnen, jeweils in ein, zwei Sätzen.