So funktioniert Boxcryptors Single Sign-on mit Zero-Knowledge-Garantie
Seit der Einführung von Boxcryptor Enterprise ist Single Sign-on (SSO) eine für Unternehmen verfügbare Funktion zur Authentifizierung in Boxcryptor. Im Juni 2020 haben wir SCIM neu hinzugefügt und den Einführungsprozess deutlich vereinfacht.
Boxcryptor unterstützt also SSO und SCIM. Das klingt zwar einfach, doch dahinter steckt viel Komplexität. Warum? Weil wir als Verschlüsselungsanbieter unserem Zero-Knowledge-Versprechen treu bleiben möchten. Das bedeutet, dass Authentifizierung, Verschlüsselung und Schlüsselmanagement so funktionieren müssen, dass wir selbst niemals Schlüssel oder Passwörter in Klartext – d. h. unverschlüsselt – in der Hand halten. Wie wir das geschafft haben? Die kurze Antwort ist: Durch unseren neuen Boxcryptor Crypto-Server. Die lange Antwort liefert dieser Artikel.
Inhalt
- SSO: Das eine Passwort
- Boxcryptors Zero-Knowledge-Verschlüsselung
- Technische Voraussetzungen für SSO
- Herausforderungen bei SSO mit Zero-Knowledge-Verschlüsselung
- Der Crypto-Server: Selbst verwaltetes Schlüsselmanagement
- SCIM: Gruppenverwaltung einfach und sicher mit dem Crypto-Server
- Ein Plan, der Ihren Ambitionen entspricht
SSO: Das eine Passwort
Viele Unternehmen setzen für eine sichere und nutzerfreundliche Authentifizierung auf Single Sign-on. Die Vorteile sind klar: Nutzerinnen und Nutzer müssen nicht selbst Passwörter erstellen und verwalten, was die Passwortsicherheit erhöht. Der Administrator verwaltet die Nutzerinnen und Nutzer zentral, wodurch das Unternehmen die volle Kontrolle behält und einfach Personen hinzufügen oder entfernen kann. Jedes Unternehmensmitglied meldet sich mit einem Passwort bei allen Diensten an, die im Unternehmen genutzt werden.
Gewöhnlich übernehmen SSO-Protokolle ausschließlich die Nutzerauthentifizierung. Doch für Boxcryptor ist das eine Herausforderung: Das Passwort ist nicht nur für die Authentifizierung nötig, sondern auch ein wichtiger Teil der Zero-Knowledge-Verschlüsselung.
Boxcryptors Zero-Knowledge-Verschlüsselung
Ohne SSO ist für die Verschlüsselung mit Boxcryptor nur das persönliche Passwort notwendig. Vom Passwort abgeleitete Werte werden für zwei Operationen genutzt: die Authentifizierung (man darf sich anmelden) und das Verwalten und Erstellen der kryptografischen Schlüssel (man hat Zugriff auf die unverschlüsselten Dateien).
Wenn ein neues Konto angelegt wird, erstellt Boxcryptor einen sicheren Passworthash und einen Passwortschlüssel. Der Passworthash wird für die Authentifizierung genutzt, der Passwortschlüssel für die Verschlüsselung. Das Passwort und der Passwortschlüssel werden niemals an die Boxcryptor-Server übermittelt, sondern verbleiben auf dem jeweiligen Gerät.
Das Problem ist nun, wie bereits erwähnt, dass Single Sign-on nur die Authentifizierung übernimmt. Wir mussten also eine Lösung finden, wie mit SSO zusätzlich Verschlüsselungsschlüssel erstellt werden können, auf die ausschließlich die Nutzer und Nutzerinnen Zugriff haben.
Technische Voraussetzungen für SSO
Um auch mit SSO unser Zero-Knowledge-Versprechen halten zu können, benötigt Boxcryptor zusätzlich zwei Komponenten auf Seiten des Unternehmens, die viele große Firmen haben bereits im Einsatz haben. Eine dritte Komponente wird außerdem von Boxcryptor bereitgestellt:
-
Ein Identity Provider (IdP) ermöglicht die eigentliche Authentifizierung.
-
Ein Key Management System (KMS) erstellt Schlüssel, auf die wir von Boxcryptor keinen Zugriff haben.
-
Der Crypto-Server wird von Boxcryptor bereitgestellt, aber ausschließlich vom Unternehmen gehostet.
Herausforderungen bei SSO mit Zero-Knowledge-Verschlüsselung
Wir haben die SSO-Integration für Boxcryptor für bestmögliche Sicherheit bei größtmöglicher Anwendungsfreundlichkeit entwickelt. Dafür konnten wir durch das SSO mit SCIM folgende Fragen erfolgreich klären:
Wie können wir den Passwortschlüssel grundsätzlich ersetzen? Normalerweise wird der Passwortschlüssel im Boxcryptor-Client vom Passwort eines jeden Teammitglieds abgeleitet. Mit SSO erstellt nun ein beim Kunden eingerichtetes KMS einen Schlüssel pro Nutzer. Dieser ist unabhängig vom Passwort.
Welche KMS kommen hierfür infrage? Unser Ziel ist es, möglichst viele KMS zu unterstützen – sowohl Cloud- als auch On-Premises-Lösungen.
Wie können wir sicherstellen, dass wir selbst keinen Zugriff auf das KMS haben? Hier hilft unser neuer Crypto-Server. Er übernimmt die Nutzerauthentifizierung über den Identity Provider (IdP) innerhalb der Infrastruktur des Unternehmens. Der Boxcryptor-Server wird vom Crypto Server nicht kontaktiert.
Wie können wir die Nutzer und Nutzerinnen beim KMS authentifizieren, wie kommunizieren wir mit dem KMS? Die Nutzer und Nutzerinnen werden über den Crypto-Server authentifiziert. Er bietet ein zentrales Interface zur Kommunikation zwischen Boxcryptor-Client und dem KMS. Das reduziert die Komplexität der Clients, da neue KMS-Interfaces nur auf dem Crypto-Server implementiert werden müssen.
Server-to-Server-Kommunikation: KMS-Interfaces sind oft auf Server-to-Server-Kommunikation ausgelegt. Unsere ursprüngliche SSO-Lösung war jedoch so implementiert, dass die einzelnen Clients mit dem KMS kommunizierten. Der Crypto-Server übernimmt dies nun als zentrale Schnittstelle. Dies vergünstigt auch die Lizenzierung.
Der Crypto-Server: Selbst verwaltetes Schlüsselmanagement
Der Crypto-Server ist der innovative und zentrale Bestandteil des Boxcryptor SSO-Setups. Er bietet ein einheitliches Interface zur Kommunikation zwischen dem Boxcryptor-Client und dem KMS, das zur Authentifizierung und Schlüsselverwaltung (Schlüssel erstellen, verschlüsseln und entschlüsseln) notwendig ist. Durch den Crypto-Server sind Unternehmen flexibel bei der Wahl des KMS und das CORS-Handling liegt in unserer Hand.
Kostenvorteile ergeben sich dazu auch in der Lizenzierung, denn das KMS des Unternehmens muss nur noch mit einem einzigen Client – dem Crypto-Server – kommunizieren. Zuvor musste jede einzelne Boxcryptor-Anwendung, d. h. alle Nutzerinnen und Nutzer, individuell lizenziert werden.
Der Crypto-Server ermöglicht die Einhaltung unseres Zero-Knowledge-Versprechens bei gleichzeitiger SSO-Nutzung. Alle Schlüssel, die außerhalb des Clients erstellt oder entschlüsselt werden müssen, bleiben dadurch innerhalb der Unternehmens-Infrastruktur. Der Crypto-Server hat keine Verbindung zum Boxcryptor-Server.
Durch den Crypto-Server können wir alles, was für SSO nötig ist, einfach und schnell für unsere Unternehmenskunden konfigurieren. Nach Hinzufügen des Crypto-Server und der KMS-Konfiguration für den Crypto-Server in die Unternehmens-Infrastruktur können auch bestehende KMS und IdP einfach mit Boxcryptor eingesetzt werden.
Zentrale Authentifizierung mit Zero-Knowledge-Versprechen
Der Crypto-Server verbessert also vor allem die Kommunikation zwischen KMS und den einzelnen Boxcryptor-Clients auf den Endgeräten. Darüber hinaus vereinfacht er auch die Einrichtung des SSO insgesamt. So funktioniert die Authentifizierung mit Boxcryptors Single Sign-on im Detail:
Der Boxcryptor-Client ist der Startpunkt, an dem sich Angestellte des Unternehmens mit dem SSO-Passwort anmelden. Der Boxcryptor-Client authentifiziert den Nutzer oder die Nutzerin beim Boxcryptor-Server über den IdP (1). Dazu fragt der Client die verschlüsselten Schlüssel beim Boxcryptor-Server ab und holt sich zusätzlich Informationen über den Crypto-Server, wo dieser liegt und wie er ihn ansprechen kann.
Als nächstes authentifiziert der Boxcryptor-Client den Nutzer oder die Nutzerin beim Crypto-Server (2). Dies läuft ebenfalls über den IdP mit dem gleichen Protokoll (SAML).
Der Boxcryptor-Client kann nun mit den Informationen vom Crypto-Server den Passwortschlüssel entschlüsseln lassen. Dieser Vorgang findet ausschließlich im System des Unternehmens statt. Dazu schickt der Client die Anfrage, den Passwortschlüssel entschlüsseln zu lassen, an den Crypto-Server (3). Dieser weiß, wo das KMS liegt und schickt die Anfrage entsprechend weiter (4). Das KMS schickt den Schlüssel in Klartext an den Crypto-Server und dieser leitet ihn an den Client weiter (5).