Warum clientseitige Verschlüsselung beim Teilen von Geheimnissen wichtig ist
Von Maxim Novak
Clientseitige Verschlüsselung ist beim sicheren Teilen von Geheimnissen entscheidend, weil sie sicherstellt, dass der Server niemals deinen Klartext zu sehen bekommt. Bei serverseitiger Verschlüsselung kann der Dienst deine Geheimnisse lesen – und jeder, der die Infrastruktur kompromittiert, ebenfalls. Clientseitige Tools wie Vaulted verschlüsseln die Daten in deinem Browser mit AES-256-GCM, bevor irgendetwas gesendet wird.
Das Problem der serverseitigen Verschlüsselung
Traditionelle Tools zum Teilen von Geheimnissen folgen diesem Ablauf:
- Du gibst dein Geheimnis in ein Formular ein
- Dein Browser sendet den Klartext an den Server
- Der Server verschlüsselt ihn und speichert den Geheimtext
- Ein Link wird für den Empfänger generiert
Das Problem liegt in Schritt 2. Dein Geheimnis überquert das Netzwerk im Klartext (durch TLS geschützt, aber für den Server vollständig sichtbar). Der Dienst hat Zugriff auf deine Daten, wenn auch nur kurz.
Das bedeutet:
- Ein kompromittierter Server legt jedes Geheimnis im Transit offen – ein Datenleck, das nur darauf wartet zu passieren
- Mitarbeiter des Dienstes könnten theoretisch auf deine Daten zugreifen
- Behörden oder rechtliche Anfragen könnten den Dienst zwingen, Geheimnisse herauszugeben
- Server-Logs könnten unbeabsichtigt Klartextdaten erfassen
Wie clientseitige Verschlüsselung das löst
Vaulted verfolgt einen anderen Ansatz. Die Verschlüsselung findet vollständig in deinem Browser statt:
- Du gibst dein Geheimnis in ein Formular ein
- Dein Browser generiert einen AES-256-GCM-Verschlüsselungsschlüssel und verschlüsselt das Geheimnis lokal
- Nur der verschlüsselte Geheimtext wird an den Server gesendet
- Der Verschlüsselungsschlüssel wird im URL-Fragment (
#) platziert, das Browser niemals an Server senden
Der Server sieht ausschließlich verschlüsselte Daten. Er kann dein Geheimnis nicht entschlüsseln, weil er niemals den Schlüssel besitzt.
Warum das URL-Fragment wichtig ist
Das URL-Fragment – alles nach dem #-Symbol – hat eine besondere Eigenschaft: Browser schließen es nicht in HTTP-Anfragen ein. Wenn jemand deinen Vaulted-Link öffnet, bleibt das Fragment im Browser dieser Person. Der Server erhält eine Anfrage nach der Geheimnis-ID, sieht aber niemals den Entschlüsselungsschlüssel.
Das ist kein benutzerdefiniertes Protokoll und auch kein Workaround. So haben Browser schon immer funktioniert, festgelegt in RFC 3986.
Was das in der Praxis bedeutet
Mit clientseitiger Verschlüsselung würde ein Angreifer selbst bei einer vollständigen Kompromittierung der Vaulted-Server nur verschlüsselte Blöcke erhalten – nutzlos ohne die Schlüssel, die ausschließlich in den geteilten Links existieren. Das ist das Kernprinzip der Zero-Knowledge-Architektur.
Kein Vertrauen erforderlich. Die Kryptografie spricht für sich.
Bereit, ein Geheimnis sicher zu teilen? Probier Vaulted aus – kostenlos.
Verwandte Themen
- Was ist clientseitige Verschlüsselung? — vollständige Glossar-Definition
- Verschlüsselungs-Playground — sieh dir die AES-256-GCM-Verschlüsselung Schritt für Schritt an
- Was ist Zero-Knowledge-Architektur? — warum der Server deine Daten niemals lesen kann