Ordnerverschlüsselung
Tresorit verschlüsselt alle hochgeladenen Dateien und Ordner mit symmetrischer AES-256-Verschlüsselung im OpenPGP-CFB-Modus (RFC 2440).
- Jede Datei wird mit einem eigenen, eindeutig zufällig generierten 256-Bit-Schlüssel geschützt, und jede Dateiversion verwendet einen zufälligen Initialisierungsvektor (IV). Dadurch führt bereits eine Änderung von nur einem Bit zu einem vollständig anderen verschlüsselten Ergebnis, sodass niemand – auch Tresorit nicht – erkennen kann, was sich in einer Datei geändert hat.
- Ordnerhierarchie und Inhalte (einschließlich Datei- und Ordnernamen) werden mit der gleichen Methode verschlüsselt.
- Alle verschlüsselten Daten werden mit HMAC-SHA-512 geschützt, um Integrität sicherzustellen und Manipulationen zu erkennen.
Agreement-Schlüssel
Ein gängiges kryptografisches Verfahren besteht darin, symmetrische Schlüssel mithilfe asymmetrischer Verschlüsselung (z.B. RSA) zu schützen. Tresorit sichert den AES-256-Ordnerschlüssel, indem dieser separat mit dem RSA-4096-Agreement-Public-Key jedes Ordnermitglieds verschlüsselt wird. Mitglieder können den Ordnerschlüssel anschließend mit ihrem eigenen Agreement-Private-Key entschlüsseln und auf die Inhalte zugreifen.
Agreement-Private-Keys werden sicher in den Roaming-Profilen der Nutzer gespeichert.
Nutzer besitzen mehrere Agreement-Schlüsselpaare. Neue Paare werden regelmäßig sowie bei bestimmten Aktionen, etwa einer Passwortänderung, erzeugt. Diese Schlüssel werden dem Roaming-Profil hinzugefügt und in allen Ordnern aktualisiert, damit kryptografischer Zugriff, der mit älteren Anmeldedaten verknüpft ist, widerrufen wird.
Gruppenschlüsseldatei
Tresorit-Server erlauben ausschließlich Ordnermitgliedern, die Gruppenschlüsseldatei herunterzuladen. Selbst wenn jemand Unbefugtes diese Datei erlangen sollte, könnte sie ohne den erforderlichen Private Key den Ordnerschlüssel nicht entschlüsseln und somit nicht auf die Inhalte zugreifen.
Jeder Ordner enthält eine spezielle, in der Cloud gespeicherte Datei namens Gruppenschlüsseldatei. Sie enthält den Ordnerschlüssel, der für alle Mitglieder separat mit deren Agreement-Public-Keys verschlüsselt ist. Diese Datei ist erforderlich, um auf den Ordner zuzugreifen.
Wenn ein Mitglied Ordnerinhalte herunterlädt, ruft die Tresorit-Anwendung zuerst die Gruppenschlüsseldatei ab, entschlüsselt den Ordnerschlüssel mit dem entsprechenden Agreement-Private-Key und verwendet diesen anschließend, um den Stammordner und dessen Inhalte lokal zu entschlüsseln.
Ordnerfreigabe
Das Freigeben eines Ordners erfolgt durch Änderung des verschlüsselten Ordnerschlüssels, der in der Gruppenschlüsseldatei gespeichert ist. Zusätzlich setzen Tresorit-Server Zugriffskontrollen durch, sodass nur Ordnermitglieder auf die verschlüsselten Inhalte dieses Ordners zugreifen können. Diese Berechtigungen werden aktualisiert, wenn ein Ordner freigegeben oder der Zugriff eines Nutzers widerrufen wird.
Nutzer zu einem Ordner einladen
Wenn ein Nutzer zu einem Ordner eingeladen wird, lädt der Einladende den Agreement-Public-Key des Eingeladenen von den Tresorit-Servern herunter, eingebettet in ein X.509-Zertifikat. Mithilfe der Tresorit-PKI wird dieses Zertifikat geprüft, um zu bestätigen, dass der zugehörige Private Key tatsächlich dem Eingeladenen gehört.
Der Einladende verwendet anschließend diesen Public Key, um den Ordnerschlüssel erneut zu verschlüsseln, fügt ihn der Gruppenschlüsseldatei hinzu und lädt die aktualisierte Datei in die Cloud hoch. Gleichzeitig vergeben die Tresorit-Server Zugriffsrechte für das neue Mitglied.
Nach Abschluss des Vorgangs erscheint der Ordner in der Ordnerliste des Eingeladenen. Dieser kann nun die Gruppenschlüsseldatei herunterladen und wie oben beschrieben auf die Inhalte zugreifen.
Personenbezogene Daten (z.B. ein Name) sind nicht in Zertifikaten enthalten. Das Versenden einer Einladung gibt daher keine persönlichen Informationen preis. Der Agreement-Private-Key wird niemals mit anderen Nutzern geteilt und bleibt unter der Kontrolle seines Besitzers – gespeichert im Roaming-Profil sowie lokal für schnelleren Zugriff.
Nutzer aus einem Ordner entfernen
Wenn ein Mitglied aus einem Ordner entfernt wird, wird ein neuer AES-256-Ordnerschlüssel erzeugt. Ab diesem Zeitpunkt wird dieser Schlüssel zur Verschlüsselung der Ordnerinhalte verwendet (bereits hochgeladene Inhalte werden nicht neu verschlüsselt). Anschließend erstellt Tresorit die Gruppenschlüsseldatei neu, indem der neue Schlüssel mit den Agreement-Public-Keys der verbleibenden Mitglieder verschlüsselt wird. Die aktualisierte Gruppenschlüsseldatei wird hochgeladen, und die Server werden benachrichtigt, die Zugriffsrechte dieses Nutzers für den Ordner zu widerrufen.
Der entfernte Nutzer kann dadurch nicht mehr mit dem alten Schlüssel auf den Ordner zugreifen. Er kann den neuen Schlüssel nicht aus der Gruppenschlüsseldatei herunterladen, und selbst wenn er ihn erhalten würde, könnte er den Ordnerschlüssel nicht entschlüsseln.