Sapherbox logoSapherboxBlog
Alle Artikel

Zugriff entziehen heißt, die Schlösser auszutauschen

Eine Person aus einem geteilten Ordner zu entfernen, ist in der Oberfläche ein Klick. Wirksam wird es erst mit neuen Schlüsseln. Was Sapherbox beim Entzug tut und was kein System zurückholen kann.

Auch verfügbar auf English

Jedes Produkt zum Teilen von Dateien hat eine Schaltfläche, mit der Sie eine Person aus einem Ordner entfernen. 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. Ab sofort weist der Server die Anfragen dieser Person zurück. Sonst hat sich nichts geändert.

Bei einem Dienst, der Klartext speichert, genügt das, denn der Server ist der einzige Zugang. Bei einem Ende-zu-Ende-verschlüsselten Dienst genügt es nicht. Den Grund sollte man verstehen, denn an ihm hängt, ob „entfernt“ überhaupt etwas bedeutet.

Berechtigungen sind ein Versprechen, Schlüssel sind eine Tatsache

Wer in Sapherbox einen Ordner lesen kann, hat die Schlüssel dazu. Sie sind für das eigene Schlüsselpaar dieser Person versiegelt und werden nur auf ihrem eigenen Gerät geöffnet. Der Server setzt die Rollen durch, also Viewer, Editor und Co-owner. Wer keine Freigabe hat, bekommt von ihm kein Chiffrat. Rollen sind aber eine Regel, die der Server anwendet, keine Kryptografie. Wer einen Schlüssel hat und an das Chiffrat kommt, kann es entschlüsseln. Und Chiffrat gibt es nicht nur auf dem Server. Es liegt im Browser-Cache, in der lokalen Kopie des Desktop-Sync-Clients und in einem Download, den jemand letzte Woche gemacht hat.

Würde das Entfernen einer Person nur ihre Freigabe löschen, blieben deshalb zwei Dinge bestehen. Ihr Gerät hätte weiterhin funktionierende Schlüssel für alles im Ordner. Und eine Kopie des Chiffrats ließe sich weiterhin öffnen, egal ob sie vorher oder nachher beschafft wurde. Ein kompromittierter Server oder eine Sicherung davon könnte dieses Chiffrat herausgeben. „Entfernt“ hieße dann nur „wir helfen ihr nicht mehr“, nicht „sie kann es nicht mehr lesen“.

Eine Mitgliederliste, die die Unwahrheit sagt, wollten wir nicht. Deshalb rotiert Sapherbox beim Entzug die Schlüssel. Wird jemand entfernt, werden die Schlösser ausgetauscht, zu denen diese Person Schlüssel hatte.

Was passiert, wenn Sie jemanden aus einem Ordner entfernen

Jeder Ordner in Sapherbox hat ein eigenes Schlüsselpaar, und jeder Dateischlüssel darin ist für dieses Paar versiegelt. Teilen Sie einen Ordner, erhält die empfangende Person ein versiegeltes Bündel mit den privaten Schlüsseln des Ordners. Diese wiederum öffnen die Schlüssel aller Unterordner und Dateien darunter. Eine einzige Freigabe deckt so einen ganzen Teilbaum ab.

Das Entfernen einer Person macht genau das auf kryptografischer Ebene rückgängig. Ihr Browser erledigt es in einer einzigen Transaktion:

  1. Jeder Ordner im Teilbaum bekommt ein neues Schlüsselpaar mit einem klassischen und einem Post-Quanten-Anteil, wie alle Schlüssel in Sapherbox.
  2. Die verschlüsselten Ordnernamen werden für die neuen Paare neu versiegelt.
  3. Jeder Dateischlüssel im Teilbaum wird für das neue Paar seines Ordners neu versiegelt. Die Dateischlüssel selbst bleiben gleich, ebenso die verschlüsselten Dateien im Speicher. Nichts wird neu hochgeladen.
  4. Alle verbleibenden Mitglieder erhalten das neue Bündel an genau der Stelle, an der sie ursprünglich hinzugefügt wurden, mit einer neuen Signatur.

Das Bündel der entfernten Person öffnet jetzt Schlüssel, die nichts mehr verwendet. Jedes Chiffrat, das sie von nun an abruft, ist für Paare versiegelt, die sie nie bekommen hat. Die Bestätigung in der Oberfläche sagt das unmissverständlich: „Ordnerschlüssel rotiert“.

Weil nur Schlüsselmaterial neu geschrieben wird, geht das auch bei großen Ordnern schnell. Ein Teilbaum mit Tausenden Dateien hat in Sekunden neue Schlüssel, und kein Dateiinhalt wird bewegt.

Die Mitgliederseite eines Ordners beim Bestätigen einer Entfernung: Die Rückfrage „Remove j.berger@kanzlei-lindqvist.example?“ erklärt, dass die Freigabe gelöscht und die Ordnerschlüssel rotiert werden, mit den Schaltflächen „Cancel“ und „Yes, remove“

Eine Person aus einer einzelnen Datei entfernen

Bei einer einzeln geteilten Datei liegt der Fall anders. Über ihr gibt es keine Schlüsselhierarchie, die sich rotieren ließe. Der Dateischlüssel ist selbst das Schloss. Denselben Dateischlüssel für die verbleibenden Personen neu zu versiegeln, würde für die Person, die ihn schon hat, nichts ändern.

Deshalb geht der Entzug bei einer einzelnen Datei einen Schritt weiter. Ihr Browser entschlüsselt die Datei und verschlüsselt sie mit einem neuen Dateischlüssel. Er lädt das Ergebnis als neue aktuelle Version hoch und versiegelt den neuen Schlüssel für alle, die weiterhin Zugriff haben sollen. Im selben Vorgang werden die alte Version und ihr Speicherobjekt vernichtet. Der Schlüssel der entfernten Person öffnet jetzt ein Chiffrat, das es nicht mehr gibt.

Das ist aufwendiger als bei einem Ordner, weil die Datei einmal durch Ihren Browser läuft. Für eine einzeln stehende Datei ist es aber der einzige Weg, damit „entfernt“ auch wirklich stimmt.

Dieselbe Mitgliederseite nach der Bestätigung: Der Hinweis meldet „j.berger@kanzlei-lindqvist.example removed“ und „folder keys rotated“, und in der Liste steht nur noch der Eigentümer

Eine Person aus einer Gruppe entfernen

Mit Gruppen teilen Sie einen Ordner einmal mit einem ganzen Team. Die Gruppe hat ein eigenes Schlüsselpaar, und jedes Mitglied hat dessen private Schlüssel, für sein eigenes Schlüsselpaar versiegelt. Diese Bequemlichkeit hat Folgen für den Entzug. Ein Mitglied, das einen geteilten Ordner geöffnet hat, tat das über die Schlüssel der Gruppe. Dabei hat es womöglich auch die Schlüssel des Ordners selbst zwischengespeichert. Nur den Gruppenschlüssel zu rotieren, würde diese nicht erfassen.

Verlässt ein Mitglied die Gruppe, passieren deshalb zwei Dinge in einer Transaktion. Erstens wird das Schlüsselpaar der Gruppe rotiert. Ein neues Paar entsteht und wird für jedes verbleibende Mitglied versiegelt. Jede Freigabe, die für die Gruppe versiegelt war, wird für das neue Paar neu versiegelt. Zweitens bekommt jeder Ordner, der mit der Gruppe geteilt war, neue Schlüssel, genau wie oben beim Ordner beschrieben. Es entstehen neue Ordnerschlüsselpaare, Namen und Dateischlüssel werden neu versiegelt, und die verbleibenden Mitglieder sowie die Gruppe selbst erhalten neue Freigaben. All das erledigt die Gruppenleitung, die das Mitglied entfernt, in ihrem Browser. Das Gruppenbündel gibt ihr die Ordnerschlüssel, und die Freigabe an die Gruppe gibt ihr die Befugnis. Die Bestätigung lautet „Gruppenschlüssel rotiert und 1 geteilter Ordner neu verschlüsselt“, mit der tatsächlichen Anzahl.

Die Person, die gegangen ist, hat nun Schlüssel zu einer Gruppe, die es so nicht mehr gibt, und zu Ordnern mit ausgetauschten Schlössern. Zugriffe, die sie persönlich erhalten hat, berührt das Entfernen aus der Gruppe nicht. Hat sie für einen dieser Ordner eine direkte Freigabe, bleibt diese beim Schlüsselwechsel bestehen, und so soll es auch sein.

Was ein Entzug nicht leisten kann

Hier ist Ehrlichkeit wichtiger als jede Funktionsliste.

Kopien lassen sich nicht zurückholen. Hat eine Person eine Datei heruntergeladen, solange sie Zugriff hatte, dann hat sie diese Datei. Die Schlüsselrotation verhindert, dass sie Neues liest oder Bekanntes erneut abruft. Den Laptop der Person erreicht die Rotation nicht. Das gilt für jedes System, das je gebaut wurde, auch für Papier. Teilen ist eine Entscheidung darüber, wer etwas ab jetzt sehen darf. Entziehen ebenso, und zwar nicht rückwirkend.

Zwischengespeichertes verschwindet nicht sofort. Der Desktop-Sync-Client speichert eine lokale Kopie der synchronisierten Ordner. Nach einem Entzug kann er nichts mehr abrufen. Die Dateien, die er schon hat, bleiben aber, bis er die Anweisung bekommt, sie zu löschen. Behandeln Sie den Laptop einer Person, die das Unternehmen verlässt, wie Sie es ohnehin tun würden: als Gerät, das zurückgegeben wird.

Nach einem Entzug behalten ältere Versionen ihren alten Schlüssel. Wird eine einzelne Datei neu verschlüsselt, tragen frühere Versionen in ihrem Verlauf weiterhin den alten Dateischlüssel. Wer eine dieser Versionen schon heruntergeladen hat, kann sie weiterhin öffnen. Versionen, die die Person nie abgerufen hat, bleiben für sie unerreichbar, denn der Server liefert ihr nichts mehr aus.

Ist eine Schlüsselkette beschädigt, sagen wir das. Um einem Ordner neue Schlüssel zu geben, muss seine gesamte Schlüsselkette intakt sein. Lässt sich die Kette beim Entzug in einem Ordner nicht öffnen, löscht der Vorgang ersatzweise nur die Freigabe. Er meldet dann, 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 Ordner ausgelassen. Das Entfernen selbst wird trotzdem ausgeführt, und die Meldung nennt die Zahl der übersprungenen Ordner. Der Eigentümer des Ordners kann die Schlüssel dann über die Mitgliederliste selbst erneuern.

Warum sich der Aufwand lohnt

Eine Berechtigungstabelle ist einfacher zu bauen, und bei den meisten Produkten ist sie alles, was es gibt. Ein System, in dem der Anbieter Ihre Dateien nicht lesen kann, muss sein eigenes Versprechen aber auch in den Grenzfällen einhalten. Einer davon ist der Moment, in dem jemand geht. Würde das Entfernen einer Person die Schlüssel nicht ändern, reichten ein kompromittierter Server und der Laptop eines ausgeschiedenen Mitarbeiters, um einen Ordner für immer zu lesen. Der Anbieter hätte keine Möglichkeit, davon zu erfahren.

Wenn jemand auszieht, tauscht man bei einem Gebäude die Schlösser aus. Wir finden, für Dokumente gilt derselbe Maßstab. 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 in Ihren Offboarding-Prozess passt, oder Ihr Sicherheitsteam die vollständige technische Beschreibung der Schlüsselrotation sehen möchte, schreiben Sie uns an hello@sapherbox.com.