Cookie Consent
Diese Seite verwendet Cookies, um die Nutzererfahrung zu verbessern. Indem Sie auf Zustimmen klicken, erlauben Sie den Einsatz von Cookies. Mit Klick auf Ablehnen, werden die Cookies deaktiviert. Mehr Details finden Sie in unserer Datenschutzerklärung.
Symbolbild für die neue SSO- und SCIM-Funktion von Boxcryptor, der einzigen Cloud-Verschlüsselungslösung mit Zero-Knowledge-Verschlüsselung, die SSO anbietet.
Wednesday, June 10, 2020

So funktioniert Boxcryptors neuer Single Sign-on mit Zero-Knowledge-Garantie

Seit 2017 ist Single Sign-on (SSO) eine für Unternehmen verfügbare Funktion zur Authentifizierung in Boxcryptor. Jetzt haben wir diese Funktion grundlegend überarbeitet, SCIM hinzugefügt und den Einführungsprozess deutlich vereinfacht.

Boxcryptor unterstützt nun SSO und SCIM. Das klingt erst einmal simpel, doch dahinter steckt viel Komplexität. Warum? Da wir eine Verschlüsselungssoftware anbieten und beim Thema Verschlüsselung wird alles schnell kompliziert. Doch wir haben eine für Unternehmen einfache und sichere Lösung gefunden, wie wir Single Sign-on und SCIM für unsere Nutzerinnen und Nutzer bereitstellen und dabei unserem Zero-Knowledge-Versprechen treu bleiben können. Die kurze Antwort ist: Unser neuer Boxcryptor Crypto-Server. Die lange Antwort liefert dieser Artikel.

Bereits seit 2017 stellen wir eine SSO-Lösung für unsere Kunden bereit. In dieser Zeit sind uns jedoch einige Herausforderungen begegnet, besonders bei der Bereitstellung dieser Funktion unter Einhaltung des Zero-Knowledge-Versprechens. Im Artikel erfahren Sie, welche Verbesserungen die neue Lösung mit sich bringt.

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.

Bei diesem Verfahren kümmern sich SSO-Protokolle gewöhnlich ausschließlich um die Nutzerauthentifizierung. Doch bei Boxcryptor ist das anders: Das Passwort der Nutzerinnen und Nutzer ist nämlich nicht nur für die Authentifizierung nötig, sondern auch ein wichtiger Teil der Zero-Knowledge-Verschlüsselung. Aus diesem Grund war die Implementierung und Bereitstellung von SSO für uns bei Boxcryptor deutlich komplexer.

Boxcryptors Zero-Knowledge-Verschlüsselung

Alle Nutzerinnen und Nutzer haben, wenn Single Sign-on nicht eingerichtet ist, bei Boxcryptor ihr eigenes Passwort. Vom Passwort abgeleitete Werte werden für zwei Operationen genutzt: einmal für die Authentifizierung (man darf sich anmelden) und einmal zum Verwalten und Erstellen der Verschlüsselungsschlüssel (man hat die Berechtigung, die Dateien unverschlüsselt zu sehen). 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.

Illustration, wie das Zero-Knowledge-Versprechen allgemein in Boxcryptor funktioniert.

Das Problem ist nun, wie bereits erwähnt, dass Single Sign-on sich nur um die Authentifizierung kümmert. 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 die Verschlüsselungsschlüssel bereitstellen zu können, ohne dass wir als Anbieter der Verschlüsselungssoftware darauf zugreifen können, müssen Unternehmen selbst zwei Komponenten bereitstellen. Die meisten großen Firmen haben diese bereits im Einsatz. Unternehmen, die SSO nutzen möchten, benötigen einen Identity Provider (IdP) sowie ein Key Management System (KMS). Über den Identity Provider können sich die Nutzerinnen und Nutzer des Unternehmens authentifizieren. Mit dem KMS können Verschlüsselungsschlüssel erstellt werden, auf die wir von Boxcryptor keinen Zugriff haben. Eine dritte notwendige Komponente, um unser Zero-Knowledge-Versprechen halten zu können, wird von uns bereitgestellt und von unseren Unternehmenskunden selbst gehostet: Der Crypto-Server.

Veranschaulichung, wie Single Sign-On mit Zero-Knowledge-Garantie bei Boxcryptor funktioniert.

Ein steiniger Weg zu einer simplen Lösung: Herausforderungen bei SSO mit Zero-Knowledge-Verschlüsselung

Schon bei der Implementierung unserer ersten SSO-LÖsung für unsere Enterprise-Kunden mussten wir ein paar Probleme lösen, um die Nutzung von Boxcryptors SSO mit Zero-Knowledg-Garantie zu ermöglichen. Dabei haben wir in den letzten Jahren viele wichtige Erfahrungen sammeln können. Mit der neuen Version des SSOs mit SCIM konnten wir diese Herausforderungen noch einfacher lösen. Folgende Fragen mussten dabei geklärt werden:

Wie können wir den Passwortschlüssel grundsätzlich ersetzen? Eigentlich wird der Passwortschlüssel im Boxcryptor-Client vom Passwort eines jeden Teammitglieds abgeleitet. Doch da keine Passwörter in Boxcryptor erstellt werden, mussten wir eine andere Lösung finden. Mit SSO erstellt nun ein beim Kunden gehostetes KMS einen Schlüssel pro Nutzer, der nicht mehr von einem Passwort abhängig ist oder abgeleitet wird.

Welches KMS kommen hierfür infrage? Möglichst viele KMS sollten mit Boxcryptors SSO kompatibel sein, sowohl Cloud-Lösungen als auch On-Premise-Lösungen.

Wie können wir sicherstellen, dass wir niemals selbst Zugriff auf das KMS haben? Hier hilft unser neuer Crypto-Server. Er übernimmt die Nutzerauthentifizierung wie beim eigentlichen Boxcryptor-Server-Login über den Identity Provider (IdP).

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 kommunizieren. Mit der neuen Version haben wir uns dazu entschlossen, einen von uns bereitgestellten Server zwischenzuschalten, der dann mit dem KMS kommuniziert. Der Crypto-Server war geboren.

CORS (Sicherheitsmechanismus für Client-Server-Kommunikation): Wir müssten theoretisch im KMS des Kunden einen „Allowed-Origin Header“ setzen, der dem Client (Boxcryptor) erlaubt, auf das KMS zuzugreifen. Das funktioniert nicht mit allen KMS. Auch hier ermöglicht der Crypto-Server den Zugriff von unserer Webanwendung (unserem Anmeldevorgang) auf externe Services unter Berücksichtigung von CORS.

Der Crypto-Server: Selbst verwaltetes Schlüsselmanagement

Der Crypto Server ist ein neuer, zentraler Bestandteil des Single Sign-ons von Boxcryptor. 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. Das CORS-Handling liegt in unserer Hand. Außerdem wird dank des Crypto-Servers das Einhalten des Zero-Knowledge-Versprechens selbst bei der Nutzung von SSO möglich. Zu guter Letzt muss das KMS des Unternehmens nur noch mit einem Client kommunizieren (dem Crypto Server) statt mit jedem einzelnen Client (jedem Nutzer und jeder Nutzerin im Unternehmen). Das ist in der Lizenzierung deutlich günstiger, als wenn jeder Client einzeln mit dem KMS kommuniziert.

Durch den Crypto-Server können wir alles, was für SSO nötig ist, einfach und schnell für unsere Unternehmenskunden konfigurieren. Dadurch fügen wir deren Infrastruktur zwar etwas hinzu (den Crypto-Server und die KMS-Konfiguration für den Crypto-Server), doch wir müssen nichts Bestehendes grundsätzlich ändern.

Boxcryptors SSO: Zentrale Authentifizierung mit Zero-Knowledge-Versprechen

Um die Kommunikation zwischen dem KMS und den Boxcryptor-Clients zu verbessern, sowie um die Einrichtung von SSO für Unternehmen zu vereinfachen, haben wir den von uns entwickelten Crypto-Server hinzugefügt. So funktioniert die Authentifizierung mit Boxcryptors Single Sign-on im Detail:

Der Boxcryptor-Client ist der Startpunkt, denn hier will sich der Nutzer oder die Nutzerin des Unternehmens mit SSO anmelden.

Der Boxcryptor-Client authentifiziert den Nutzer oder die Nutzerin beim Boxcryptor-Server über den IdP. 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.

Illustration: Schritt 1: Authentifizierung beim Boxcryptor-Server über IdP. Der Client fordert vom Boxcryptor-Server einen verschlüsselten Passwortschlüssel und Informationen über den Crypto-Server an.

Als nächstes authentifiziert der Boxcryptor-Client den Nutzer oder die Nutzerin beim Crypto-Server. Dies läuft ebenfalls über den IdP mit dem gleichen Protokoll (SAML).

Illustration SSO Schritt 2: Authentifizierung beim Crypto-Server

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. Dieser weiß, wo das KMS liegt und schickt die Anfrage entsprechend weiter. Das KMS schickt den entschlüsselten Schlüssel an den Crypto-Server und dieser leitet ihn weiter an den Client.

SSO Schritt 3: Anforderung Passwortschlüssel: Client fordert den Passwortschlüssel an, verschlüsselter Passwortschlüssel wird an Crypto-Server übermittelt.

Illustration von Schritt 4 von Boxcryptors SSO: Der Passwortschlüssel wird entschlüsselt.

Illustration von Schritt 5 von Boxcryptors SSO: Wie der Passwortschlüssel im Client verfügbar gemacht wird.

Auf diese Art und Weise kommt der Boxcryptor-Client an die entschlüsselte Version des Passwortschlüssels, der Nutzer oder die Nutzerin konnte sich anmelden und kann nun Daten ver- und entschlüsseln. Der Boxcryptor-Server kriegt zu keinem Zeitpunkt Einblicke in diesen Vorgang, was bedeutet, dass wir von Boxcryptor niemals die entschlüsselte Version des Passwortschlüssels sehen.

Illustration von Schritt 6 von Boxcryptors SSO: Daten werden im Client entschlüsselt.

Vorteile des Crypto-Server-Setups

Mit dem Crypto-Server nutzen wir im Gegensatz zu unserer alten SSO-Lösung nur noch ein Protokoll für die Authentifizierung für beide Server (Boxcryptor-Server und Crypto-Server), das SAML-Protokoll. Dies ist ein Authentifizierungsstandard, der sowohl in der Cloud, als auch On-Premise funktioniert, wodurch unser SSO kompatibel mit vielen KMS und IdPs ist.

Dank des Crypto-Servers handelt es sich bei der Kommunikation des KMS nun um Server-Server-Kommunikation. Dies ist von Vorteil, da einige KMS nicht für Client-Server-Kommunikation geeignet sind. Auch das CORS-Handling wird signifikant vereinfacht, denn der Crypto-Server setzt den CORS-Header.

Boxcryptors SSO kann nun auch als Hybrid-Lösung eingerichtet werden: Boxcryptor bleibt ein Cloud-Dienst, doch der Crypto-Server, der für die Zero-Knowledge-Garantie unerlässlich ist, kann On-Premise oder in der Cloud eingerichtet werden, je nach Präferenz des Kunden.

Das Wichtigste ist: Egal mit welchem Setup, die Passwortschlüssel bleiben ausschließlich auf den Systemen des jeweiligen Unternehmens und landen niemals auf dem Boxcryptor-Server.

SCIM: Gruppenverwaltung einfach und sicher mit dem Crypto-Server

SCIM ermöglicht Administratoren eine einfache und zentrale Nutzer- und Gruppenverwaltung. Die im Unternehmen angelegten Nutzerinnen, Nutzer und Gruppen werden vom IdP an den Boxcryptor-Server weitergegeben. Doch auch bei SCIM ist die Einrichtung bei Boxcryptor aufgrund der Zero-Knowledge-Garantie ein Spezialfall. Auch hier hilft der Crypto-Server.

Ohne SCIM arbeiten wir mit dem Gruppeninhaber-Konzept: Vom Passwort des Nutzers, der die Gruppe erstellt, wird im Boxcryptor-Client ein Passwortschlüssel, ein Nutzerschlüsselpaar, ein Gruppenmitgliedschaftsschlüssel und ein Gruppenschlüsselpaar abgeleitet. Mit SCIM tritt nun erneut der Crypto-Server an die Stelle des Boxcryptor-Clients. Im Detail bedeutet dies:

(1) Der Identity Provider kontaktiert den Boxcryptor-Server mit dem Befehl: Erstelle oder ändere bitte folgenden User oder die folgende Gruppe. Der Boxcryptor-Server soll diese Operation aber nicht durchführen können, da wir aufgrund des Zero-Knowledge-Versprechens nicht wollen, dass der Boxcryptor-Server Zugriff auf die Schlüssel hat.

(2) Der Boxcryptor-Server leitet die Anfrage also an den Crypto-Server weiter und fordert diesen auf, neue Schlüssel zu erstellen.

(3) Der Crypto-Server erstellt die Schlüssel aber schickt nur die verschlüsselten Versionen an den Boxcryptor-Server zurück.

  • Neue Nutzer oder Nutzerinnen werden hinzugefügt: Der IdP schickt eine Anfrage an den Boxcryptor-Server, dass dieser einen neuen Nutzer erstellen soll. Daraufhin stellt der Boxcryptor-Server die Anfrage an den Crypto-Server, einen neuen Passwortschlüssel und Nutzerschlüssel zu erstellen. Der Crypto-Server fragt nun beim KMS das Erstellen eines KMS-Schlüssels für diesen Nutzer an und erstellt gleichzeitig einen zufällig generierten Passwortschlüssel, den er vom KMS mit dem-KMS Schlüssel verschlüsseln lässt. Dann erstellt der Crypto-Server einen zufällig generierten Nutzerschlüssel und verschlüsselt diesen mit dem Passwortschlüssel. Der Crypto Server schickt nun den verschlüsselten Passwortschlüssel, den verschlüsselten Nutzerschlüssel und die ID des KMS Schlüssels an den Boxcryptor-Server. Nun kann der Boxcryptor-Server den Nutzer mit den verschlüsselten Schlüsseln erstellen.
  • Schlüsselmanagement bei Erstellen neuer Gruppen: Da der Administrator dank SCIM die Gruppen nicht mehr in Boxcryptor erstellen muss, gibt es das Szenario, dass eine Gruppe erstellt wird, ohne dass bereits ein Nutzer (in dem Fall der Admin oder Gruppeninhaber) vorhanden ist. Mit SCIM erstellt nun stattdessen der Crypto-Server einen initialen Gruppenmitgliedschaftsschlüssel und verschlüsselt diesen mit einem KMS-Schlüssel. Auf diese Art und Weise ist ein initialer Nutzerschlüssel nicht mehr notwendig. Der Crypto-Server erstellt also ebenfalls zusammen mit dem KMS die Schlüssel zur Gruppenverwaltung.
  • Ein Nutzer oder eine Nutzerin wird zu einer Gruppe hinzugefügt: Der Boxcryptor-Server schickt den verschlüsselten Passwortschlüssel, den verschlüsselten Nutzerschlüssel und den verschlüsselten Gruppenmitgliedschaftsschlüssel an den Crypto-Server. Dieser entschlüsselt mit Hilfe des KMS den Passwortschlüssel und den Gruppenmitgliedschaftsschlüssel. Nun wird der Nutzerschlüssel mit dem Passwortschlüssel entschlüsselt. Mit dem Nutzerschlüssel wird der Gruppenmitgliedschaftsschlüssel neu verschlüsselt. Der verschlüsselte Gruppenmitgliedschaftsschlüssel wird nun wieder an den Boxcryptor-Server geschickt, der nun die neue Gruppenmitgliedschaft für den Nutzer erstellen kann. Nun hat der Nutzer oder die Nutzerin Zugriff auf die Gruppe.

(4) Der Boxcryptor-Server verfügt nun über die Metadaten der Nutzer und Nutzerinnen und über die verschlüsselten Schlüssel. Er kann nun den Nutzer oder die Nutzerin, die Gruppen, und die Details zur Gruppenmitgliedschaft speichern.

Vorteile dieses SCIM-Setups

Der Boxcryptor-Admin muss nun die Nutzer und Nutzerinnen nicht mehr – wie bisher – zusätzlich in Boxcryptor anlegen, sondern nur einmal zentral in der SCIM-Nutzerverwaltung. Außerdem ist die Schlüsselerstellung synchron, da der Boxcryptor-Server jederzeit sofort mit dem Crypto-Server kommunizieren kann. Der finale Zustand (die neuen oder geänderten Gruppen und Nutzer) ist demnach immer sofort auf dem Boxcryptor-Server verfügbar.

Fazit

Mit unserem neuen SSO-Setup können unsere Unternehmenskunden Boxcryptor Enterprise einfacher und schneller in ihre Infrastruktur integrieren und bequem so viele Nutzer und Nutzerinnen hinzufügen oder ändern, wie nötig. Zusammengefasst: Boxcryptor ermöglicht als einzige Cloud-Verschlüsselungslösung den Schutz von Unternehmensdaten mit Zero-Knowledge-Garantie, bei gleichzeitigem Einsatz von SSO und SCIM.

Weitere Informationen über Boxcryptor für Teams

Machen Sie Datenschutz zur Priorität, um zuverlässig Schaden von Ihrer Firma abzuwenden. Boxcryptor Company und Boxcryptor Enterprise helfen Ihnen, die Vorteile der Cloud zu nutzen, unter Einhaltung interner und externer Compliance-Richtlinien.

JETZT INFORMIEREN
Beitrag teilen