Entziehen heißt, die Schlösser zu wechseln
Jemanden aus einem geteilten Ordner zu entfernen, ist leicht zu zeigen und schwer wahr zu machen. Was NomadVault beim Entzug tut, und was kein System zurückholen kann.
Jedes Produkt zum Teilen von Dateien hat einen Button, der eine Person aus einem Ordner entfernt. Ein Klick, der Name verschwindet aus der Mitgliederliste, und die Sache scheint erledigt. In den meisten Produkten ist genau das passiert: Eine Zeile in einer Berechtigungstabelle wurde gelöscht. Der Server wird die Anfragen dieser Person ab jetzt ablehnen. Sonst hat sich nichts geändert.
Für einen Dienst, der Klartext hält, reicht das, denn der Server ist der einzige Weg hinein. Für einen Ende-zu-Ende-verschlüsselten Dienst reicht es nicht, und der Grund ist es wert, verstanden zu werden, denn er entscheidet, ob „entfernt” überhaupt etwas bedeutet.
Berechtigungen sind ein Versprechen; Schlüssel sind eine Tatsache
Bei NomadVault hält eine Person, die einen Ordner lesen kann, die Schlüssel dazu, versiegelt für ihr eigenes Schlüsselpaar, auf ihrem eigenen Gerät. Der Server setzt Rollen durch, Betrachter, Bearbeiter, Mitbesitzer, und er verweigert jedem ohne Grant die Herausgabe von Chiffrat. Aber Rollen sind eine Richtlinie, die der Server anwendet. Sie sind keine Kryptografie. Wer einen Schlüssel hält und an das Chiffrat kommt, kann entschlüsseln, und der Server ist nicht der einzige Ort, an dem Chiffrat existiert: Es liegt in Browser-Caches, in der lokalen Kopie des Desktop-Sync-Clients, in einem Download von letzter Woche.
Würde das Entfernen einer Person nur ihren Grant löschen, blieben also zwei Dinge wahr. Ihr Gerät hielte weiterhin funktionierende Schlüssel für alles im Ordner. Und eine Kopie des Chiffrats, vorher oder nachher beschafft, ließe sich weiterhin öffnen. Ein kompromittierter Server oder ein Backup davon könnte dieses Chiffrat herausgeben. „Entfernt” hieße „wir helfen ihr nicht mehr”, nicht „sie kann es nicht lesen”.
Wir wollten keine Mitgliederliste, die lügt. Deshalb rotiert ein Entzug bei NomadVault Schlüssel: Wird jemand entfernt, werden die Schlösser ausgetauscht, zu denen er Schlüssel hatte.
Was passiert, wenn Sie jemanden aus einem Ordner entfernen
Jeder Ordner bei NomadVault hat ein eigenes Schlüsselpaar, und jeder Dateischlüssel darin ist für dieses Paar versiegelt. Einen Ordner zu teilen übergibt dem Empfänger ein versiegeltes Bündel mit den privaten Schlüsseln des Ordners, die wiederum die Schlüssel jedes Unterordners und jeder Datei darunter öffnen. Ein Grant, ein ganzer Teilbaum.
Eine Person zu entfernen macht das auf kryptografischer Ebene rückgängig. In Ihrem Browser, in einer einzigen Transaktion:
- Jeder Ordner im Teilbaum erhält ein frisches Schlüsselpaar, klassisch und post-quantum, wie alle Schlüssel bei NomadVault.
- Die verschlüsselten Ordnernamen werden für die neuen Paare neu versiegelt.
- Jeder Dateischlüssel im Teilbaum wird für das neue Paar seines Ordners neu versiegelt. Die Dateischlüssel selbst und die verschlüsselten Dateien im Speicher ändern sich nicht. Nichts wird neu hochgeladen.
- Jedes verbleibende Mitglied erhält das neue Bündel an der Stelle, an der es ursprünglich hineingeteilt wurde, mit frischer Signatur.
Das Bündel der entfernten Person öffnet nun Schlüssel, die nichts mehr verwendet. Jedes Chiffrat, das sie ab jetzt abruft, ist für Paare versiegelt, die sie nie erhalten hat. Die Bestätigung in der Oberfläche sagt es klar: „entfernt, Ordnerschlüssel rotiert”.
Weil nur Schlüsselmaterial neu geschrieben wird, geht das auch bei großen Ordnern schnell. Ein Teilbaum mit Tausenden Dateien ist in Sekunden neu verschlüsselt, und kein Dateiinhalt bewegt sich.
Jemanden aus einer einzelnen Datei entfernen
Eine geteilte Datei ist anders, denn über ihr gibt es keine Schlüsselhierarchie, die rotieren könnte. Der Dateischlüssel ist das Schloss. Denselben Dateischlüssel für die verbleibenden Personen neu zu versiegeln, änderte nichts für die Person, die ihn bereits hat.
Der Entzug bei einer einzelnen Datei geht deshalb einen Schritt weiter: Ihr Browser entschlüsselt die Datei, verschlüsselt sie unter einem neuen Dateischlüssel erneut, lädt das als neue aktuelle Version hoch, versiegelt den neuen Schlüssel für alle, die weiterhin Zugriff haben sollen, und die alte Version samt Speicherobjekt wird im selben Vorgang zerstört. Der Schlüssel der entfernten Person öffnet nun ein Chiffrat, das nicht mehr existiert.
Das ist aufwendiger als der Ordnerfall, weil die Datei einmal durch Ihren Browser wandert, aber es ist der einzige Weg, „entfernt” für eine einzelne Datei wahr zu machen.
Jemanden aus einer Gruppe entfernen
Gruppen erlauben, einen Ordner einmal mit einem ganzen Team zu teilen. Die Gruppe hat ein eigenes Schlüsselpaar, und die Mitglieder halten dessen private Schlüssel für sich versiegelt. Diese Bequemlichkeit hat eine Konsequenz für den Entzug: Ein Mitglied, das einen geteilten Ordner geöffnet hat, tat das über die Schlüssel der Gruppe und hat dabei womöglich die Schlüssel des Ordners selbst zwischengespeichert. Nur den Gruppenschlüssel zu rotieren würde diese nicht berühren.
Wenn ein Mitglied geht, passieren deshalb zwei Dinge in einer Transaktion. Das Schlüsselpaar der Gruppe wird rotiert: Ein neues Paar entsteht, wird für jedes verbleibende Mitglied versiegelt, und jeder Grant, der für die Gruppe versiegelt war, wird für das neue Paar neu versiegelt. Und jeder Ordner, in den die Gruppe hineingeteilt wurde, wird genau wie im Ordnerfall oben neu verschlüsselt: frische Ordner-Schlüsselpaare, Namen und Dateischlüssel neu versiegelt, verbleibende Mitglieder und die Gruppe selbst neu berechtigt. Der Gruppenadmin, der das Mitglied entfernt, erledigt all das in seinem Browser, denn das Gruppenbündel gibt ihm die Ordnerschlüssel und die Freigabe der Gruppe die Befugnis. Die Bestätigung lautet „der Gruppenschlüssel wurde rotiert und 1 geteilter Ordner neu verschlüsselt”, mit der tatsächlichen Anzahl.
Die Person, die gegangen ist, hält Schlüssel zu einer Gruppe, die es nicht mehr gibt, und zu Ordnern, deren Schlösser gewechselt wurden. Aus einer Gruppe entfernt zu werden berührt keinen Zugriff, der ihr persönlich gewährt wurde; eine direkte Freigabe auf einem dieser Ordner übersteht die Neuverschlüsselung, so wie es sein soll.
Was ein Entzug nicht kann
Hier zählt Ehrlichkeit mehr als die Funktionsliste.
Er kann Kopien nicht zurückholen. Hat eine Person eine Datei heruntergeladen, während sie Zugriff hatte, hat sie diese Datei. Schlüssel zu rotieren verhindert, dass sie Neues liest oder erneut abruft, was sie hatte; es greift nicht in ihren Laptop. Das gilt für jedes je gebaute System, Papier eingeschlossen. Teilen ist eine Entscheidung darüber, wer etwas ab jetzt sehen darf, und Entziehen eine Entscheidung darüber, wer es ab jetzt sehen darf, nicht rückwirkend.
Er kann Caches nicht sofort leeren. Der Desktop-Sync-Client hält eine lokale Kopie synchronisierter Ordner. Nach einem Entzug kann der Client nichts mehr abrufen, aber die Dateien, die er schon hat, bleiben, bis er angewiesen wird, sie zu verwerfen. Behandeln Sie den Laptop einer Person, die geht, so, wie Sie es ohnehin täten: als etwas, das einzuziehen ist.
Ältere Versionen einer entzogenen Datei behalten ihren alten Schlüssel. Wird eine einzelne Datei neu verschlüsselt, tragen frühere Versionen in ihrer Historie weiterhin den früheren Dateischlüssel. Ein früherer Empfänger, der eine dieser Versionen bereits heruntergeladen hat, kann sie weiterhin öffnen. Versionen, die er nie abgerufen hat, sind unerreichbar, denn der Server liefert ihm nichts mehr.
Ist eine Schlüsselkette gebrochen, sagen wir es. Einen Ordner neu zu verschlüsseln erfordert seine vollständige Schlüsselkette. Kann ein Ordnerentzug die Kette nicht öffnen, fällt der Vorgang darauf zurück, den Grant zu löschen, und teilt Ihnen mit, dass die Schlüssel nicht rotiert werden konnten, statt einen Erfolg zu melden, den es nicht gab. Trifft das Entfernen aus einer Gruppe auf einen solchen Ordner, wird dieser ausgelassen, das Entfernen geht trotzdem durch, und die Meldung nennt, wie viele Ordner übersprungen wurden, damit der Ordnereigentümer sie über die Mitgliederliste neu verschlüsseln kann.
Warum das die Komplexität wert ist
Eine Berechtigungstabelle ist einfacher zu bauen, und für die meisten Produkte ist sie alles, was es gibt. Aber ein Design, in dem der Anbieter Ihre Dateien nicht lesen kann, muss sein eigenes Versprechen an den Rändern ernst nehmen, und die Ränder sind dort, wo Menschen gehen. Würde das Entfernen die Schlüssel nicht ändern, genügten ein kompromittierter Server und der Laptop eines ausgeschiedenen Mitarbeiters, um einen Ordner für immer zu lesen, und der Anbieter hätte keine Möglichkeit, es zu bemerken.
Die Schlösser zu wechseln, wenn jemand geht, ist das, was Sie bei einem Gebäude täten. Wir finden, derselbe Maßstab gilt für Dokumente, und wir sagen Ihnen lieber genau, wo dieser Maßstab endet, als die Mitgliederliste mehr versprechen zu lassen, als sie hält.
Fragen?
Wenn Sie besprechen möchten, wie der Entzug zu Ihrem Offboarding-Prozess passt, oder Ihr Sicherheitsteam die vollständige technische Beschreibung der Schlüsselrotation möchte, schreiben Sie uns an hello@nomadvault.de.