WIE FUNKTIONIERT DAS TEILEN VON TRESOREN?
1. VERSCHLÜSSELUNG DER DATEN IM TRESOR
Um alle Daten (hochgeladene Dateien und Ordner) in Ihren Tresoren zu verschlüsseln, nutzt Tresorit einen symmetrischen Schlüsselverschlüsselungsalgorithmus, den AES-256, in OpenPGP CFB Modus in RFC2440 beschrieben. Alle Dateien haben verschiedene, unabhängige und neugenerierte Verschlüsselungscode von 256 Bit. Jede Dateiversion hat ein zufälliges IV, so dass die verschlüsselte Form bei Änderung von 1 Bit in einer großen Datei völlig geändert wird. Das stellt sicher, dass weder wir noch andere Information über Änderungen erlangen. Ordner, Tresore (spezielle Ordner siehe 1.2) und Dateinamen werden mit der gleichen Methode verschlüsselt. Die Integrität von Ciphertexten wird mit HMAC-SHA-512 geschützt.
1.1. Vertragsschlüssel
In Kryptografie ist es eine übliche Technik symmetrische Schlüssel mit asymmetrischer Verschlüsselung, wie RSA zu schützen. Tresorit verschlüsselt nach diesem Schema den AES-256 Tresor-Verschlüsselungscode mit RSA-4096 Algorithmus mit der Nutzung des öffentlichen Schlüssels (Vertragsschlüssel genannt) der Tresormitglieder. Der Verschlüsselungscode ist genauso viele Mal verschlüsselt wie viele Mitglieder der Tresor hat. Dabei wird der persönliche Vertragsschlüssel von jedem Mitglied verwendet.
Alle Tresormitglieder können den Verschlüsselungscode mithilfe ihres eigenen Vertragsschlüssel entschlüsseln, um auf Tresorinhalte zuzugreifen. Dabei werden nur standardisierte asymmetrische Verschlüsselungsmethoden verwendet. Die (privaten und öffentlichen) Vertragsschlüssel sind sicher im *Roamingprofil* der Nutzer gespeichert. Um zu verstehen, wie die Nutzerprofile funktionieren, lesen Sie unsere FAQs. Jeder Nutzer hat mehrere Vertragsschlüssel (öffentliches/privates Paar) für seine Tresore. Auch wenn einer kompromittiert wird, bleiben die andere geschützt.
1.2. Gruppeninformation
Jeder Tresor speichert eine spezielle Datei in der Cloud, die Gruppeninformation genannt wird. Diese beinhaltet den oben genannten Verschlüsselungscode verschlüsselt mit den Vertragsschlüsseln jeder Mitglieder und den Link für den (verschlüsselten) Stammordner der Tresorinhalte. Die Datei dient als Startpunkt, wenn man einen Tresor öffnet. Wenn ein Mitglied Tresorinhalte herunterladen möchte, ladet das Client zuerst die Gruppeninformation herunter, entschlüsselt den Verschlüsselungscode mit seinem eigenen Vertragsschlüssel und nutzt diesen für die Entschlüsselung des Stammordners und anderer Ordner und Dateien im Tresor.
Der Speicherort (URI) der Gruppeninformation in der Cloud ist nur für Tresormitglieder bekannt. Unsere Server erlauben keinem anderen Nutzer diese herunterzuladen. Auch wenn andere Zugriff auf die Gruppeninformation hätten, könnten Sie auf die Inhalte nicht zugreifen, da sie über den privaten RSA-Schlüssel zur Entschlüsselung des Verschlüsselungscode nicht verfügen. Das zeigt, dass Tresorit mehrere Sicherheitsstufen für Datenschutz anwendet und Daten mit starken kryptografischen Methoden sichert.
2. TRESORE TEILEN
Das Teilen von Tresoren mit anderen Nutzern funktioniert mit der Manipulation des verschlüsselten Verschlüsselungscodes, der in der Gruppeninformation gespeichert ist.
Wie bereits erwähnt, gibt es eine zusätzliche Sicherheitsstufe, die in unseren Servern integriert ist, die nur Tresormitgliedern erlaubt auf verschlüsselte Tresorinhalte zuzugreifen. Diese Zugriffsrechte werden auch manipuliert, wenn man einen Tresor teilt oder den Zugriff darauf sperrt. Diese Kontrollschutzfunktion ist ähnlich zu dem, was Sie bei anderen Anbietern, wie Dropbox bekommen würden. Vor jeder Anfrage auf Dateivorgang prüft der Server ein Zugriffssteuerungsverzeichnis.
2.1. Einen Nutzer zum Tresor einladen
Wenn Sie jemanden zu einem Tresor einladen, wird ein s.g. kryptographisches Händeschütteln ausgeführt. Es besteht aus einer Serie von Nachrichtenaustausch zwischen dem Einladenden und dem Eingeladenen und hat zwei Ziele:
- Beide Parteien identifizieren die andere und stellen sicher, dass er/sie der Tresorit-Nutzer mit der angegebenen E-Mail-Adresse ist.
- Sie tauschen Metadaten (Tresorname, Einladungsnachricht) und die Anmeldeinformationen zum Zugriff auf den Tresor aus.
Während des kryptografischen Händeschüttelns schickt der Eingeladene seine Vertragsschlüssel in einem X.509 Zertifikat eingebettet dem Einladenden zu. Der Einladende nutzt dann diesen öffentlichen Schlüssel zur Verschlüsselung des Verschlüsselungscodes vom Tresor erneut, fügt es zur Gruppeninformation hinzu und lädt die Gruppeninformation in die Cloud hoch. Gleichzeitig benachrichtigt er den Server, um Zugriff für das neue Mitglied zu gewähren. Der Einlandende schickt die URI der Gruppeninformation dem Eingeladenen zu, der dann diese herunterladen und zum Zugriff auf die Tresorinhalte wie oben beschrieben nutzen kann.
Bitte beachten Sie, dass Ihre personenbezogenen Daten (z.B. Ihr Name) in Ihrem Zertifikat enthalten sind. Da wir auch Ihre Privatsphäre schützen, wird das Zertifikat dem Einladenden erst dann zugeschickt, wenn Sie die Einladung annehmen. Das stellt sicher, dass jemand, der nur eine Einladung versendet, nicht automatisch Zugriff auf Ihre personenbezogenen Daten hat. Ihr Vertragsschlüssel wird nie anderen Nutzern zugeschickt, sondern bleibt unter Ihrer Kontrolle (gespeichert in Ihrem Roamingprofil).
2.2. Nutzer aus einem Tresor entfernen
Wenn Sie einen Nutzer aus einem Tresor entfernen, wird ein neuer AES-256 Tresor-Verschlüsselungscode generiert und dieser Schlüssel wird für die Verschlüsselung der Tresorinhalte genutzt. Dann wird die Gruppeninformation regeneriert, indem der neue Verschlüsselungscode mit den Vertragsschlüsseln der Mitglieder verschlüsselt wird und das ausgeschiedene Mitglied wird rausgelassen. Die neue Gruppeninformation wird hochgeladen und parallel damit werden die Server benachrichtigt, dass der Zugriff des ausgeschiedenen Nutzers auf den angegebenen Tresor gesperrt werden soll.
Danach kann der ausgeschiedene Nutzer auf den Tresorinhalt mit dem alten Verschlüsselungscode nicht mehr zugreifen und er kann auch keinen neuen Verschlüsselungscode von der Gruppeninformation holen, da er nicht mehr fähig ist, diesen zu herunterladen. Auch wenn er das könnte, wäre der Verschlüsselungscode damit nicht zu entschlüsseln.