In diesem Leitfaden wird beschrieben, wie Verschlüsselung und Entschlüsselung mit der clientseitigen Verschlüsselungs-API von Google Workspace funktionieren.
Sie müssen alle Identitätsanbieterdienste (IdP) auf die Zulassungsliste setzen, die von Nutzern verwendet werden, die verschlüsselte Dateien freigeben. Normalerweise finden Sie die erforderlichen IdP-Details in der öffentlich verfügbaren .well-known-Datei. Andernfalls wenden Sie sich an den Google Workspace-Administrator der Organisation.
Daten verschlüsseln
Wenn ein Google Workspace-Nutzer anfordert, clientseitig verschlüsselte Daten (client-side encryption, CSE) zu speichern, sendet Google Workspace eine wrap
-Anfrage zur Verschlüsselung an Ihre KACLS-Endpunkt-URL. Zusätzlich zu optionalen Sicherheitsprüfungen wie Perimeter- und JWT-Claim-basierten Prüfungen müssen Ihre KACLS die folgenden Schritte ausführen:
Prüfen Sie den anfragenden Nutzer.
- Prüfe sowohl das Authentifizierungstoken als auch das Autorisierungstoken.
- Prüfe, ob Autorisierungs- und Authentifizierungstokens für denselben Nutzer gelten, indem du die E-Mail-Anspruche ohne Berücksichtigung der Groß- und Kleinschreibung abgleichst.
- Wenn das Authentifizierungstoken den optionalen Anspruch
google_email
enthält, muss er ohne Berücksichtigung der Groß- und Kleinschreibung mit dem E-Mail-Anspruch im Autorisierungstoken verglichen werden. Verwende für diesen Vergleich nicht den E-Mail-Claim im Authentifizierungstoken. - In Szenarien, in denen das Authentifizierungstoken den optionalen Anspruch
google_email
nicht enthält, sollte der E-Mail-Anspruch im Authentifizierungstoken mit dem E-Mail-Anspruch im Autorisierungstoken verglichen werden. Dabei sollte eine methode verwendet werden, die nicht zwischen Groß- und Kleinschreibung unterscheidet. - In Fällen, in denen Google ein Autorisierungstoken für eine E-Mail ausstellt, die nicht mit einem Google-Konto verknüpft ist, muss der
email_type
-Anspruch vorhanden sein. Dies ist ein wichtiger Bestandteil der Funktion „Gastzugriff“ und liefert wertvolle Informationen für KACLS, um zusätzliche Sicherheitsmaßnahmen für externe Nutzer zu erzwingen.- Beispiele für die Verwendung dieser Informationen durch eine KACLS:
- Zusätzliche Logginganforderungen festlegen
- Sie können den Aussteller des Authentifizierungstokens auf einen bestimmten Gast-IdP beschränken.
- Zusätzliche Ansprüche für das Authentifizierungstoken anfordern
- Wenn ein Kunde den Gastzugriff nicht konfiguriert hat, können alle Anfragen, bei denen
email_type
aufgoogle-visitor
odercustomer-idp
gesetzt ist, abgelehnt werden. Anfragen mit eineremail_type
vongoogle
oder mit einer nicht festgelegtenemail_type
sollten weiterhin akzeptiert werden.
- Prüfen Sie, ob die
role
-Anforderung im Autorisierungstoken „writer“ oder „upgrader“ ist. - Prüfen Sie, ob der Anspruch
kacls_url
im Autorisierungstoken mit der aktuellen KACLS-URL übereinstimmt. Mit dieser Prüfung können potenzielle Man-in-the-Middle-Server erkannt werden, die von Insidern oder böswilligen Domainadministratoren konfiguriert wurden. - Führen Sie eine Perimeterprüfung mit Authentifizierungs- und Autorisierungsansprüchen durch.
Verschlüsseln Sie die folgenden Teile mit einem authentifizierten Verschlüsselungsalgorithmus:
- Datenverschlüsselungsschlüssel (Data Encryption Key, DEK)
- Die Werte
resource_name
undperimeter_id
aus dem Autorisierungstoken - Zusätzliche sensible Daten
Protokollieren Sie den Vorgang, einschließlich des Nutzers, der ihn initiiert hat, der
resource_name
und des in der Anfrage angegebenen Grundes.Gibt ein undurchsichtiges Binärobjekt zurück, das von Google Workspace zusammen mit dem verschlüsselten Objekt gespeichert und bei jedem nachfolgenden Entfernen des Schlüssels unverändert gesendet wird. Sie können auch eine strukturierte Fehlerantwort senden.
- Das Binärobjekt sollte die einzige Kopie des verschlüsselten DEK enthalten. Darin können implementierungsspezifische Daten gespeichert werden.
Daten entschlüsseln
Wenn ein Google Workspace-Nutzer clientseitig verschlüsselte Daten öffnen möchte, sendet Google Workspace eine unwrap
-Anfrage zur Entschlüsselung an Ihre KACLS-Endpunkt-URL. Zusätzlich zu optionalen Sicherheitsprüfungen wie Perimeter- und JWT-Anforderungsbasierten Prüfungen müssen Ihre KACLS die folgenden Schritte ausführen:
Prüfen Sie den anfragenden Nutzer.
- Prüfe sowohl das Authentifizierungstoken als auch das Autorisierungstoken.
- Prüfe, ob Autorisierungs- und Authentifizierungstokens für denselben Nutzer gelten, indem du die E-Mail-Anspruche ohne Berücksichtigung der Groß- und Kleinschreibung abgleichst.
- Wenn das Authentifizierungstoken den optionalen Anspruch
google_email
enthält, muss er ohne Berücksichtigung der Groß- und Kleinschreibung mit dem E-Mail-Anspruch im Autorisierungstoken verglichen werden. Verwende für diesen Vergleich nicht den E-Mail-Claim im Authentifizierungstoken. - In Szenarien, in denen das Authentifizierungstoken den optionalen Anspruch
google_email
nicht enthält, sollte der E-Mail-Anspruch im Authentifizierungstoken mit dem E-Mail-Anspruch im Autorisierungstoken verglichen werden. Dabei sollte eine methode verwendet werden, die nicht zwischen Groß- und Kleinschreibung unterscheidet. - In Fällen, in denen Google ein Autorisierungstoken für eine E-Mail ausstellt, die nicht mit einem Google-Konto verknüpft ist, muss der
email_type
-Anspruch vorhanden sein. Dies ist ein wichtiger Bestandteil der Funktion „Gastzugriff“ und liefert wertvolle Informationen für KACLS, um zusätzliche Sicherheitsmaßnahmen für externe Nutzer zu erzwingen.- Beispiele für die Verwendung dieser Informationen durch eine KACLS:
- Zusätzliche Logginganforderungen festlegen
- Sie können den Aussteller des Authentifizierungstokens auf einen bestimmten Gast-IdP beschränken.
- Zusätzliche Ansprüche für das Authentifizierungstoken anfordern
- Wenn ein Kunde den Gastzugriff nicht konfiguriert hat, können alle Anfragen, bei denen
email_type
aufgoogle-visitor
odercustomer-idp
gesetzt ist, abgelehnt werden. Anfragen mit eineremail_type
vongoogle
oder mit einer nicht festgelegtenemail_type
sollten weiterhin akzeptiert werden.
- Prüfen Sie, ob die
role
-Anforderung im Autorisierungstoken „Leser“ oder „Schreiber“ ist. - Prüfen Sie, ob der Anspruch
kacls_url
im Autorisierungstoken mit der aktuellen KACLS-URL übereinstimmt. So können potenzielle Man-in-the-Middle-Server erkannt werden, die von Insidern oder böswilligen Domainadministratoren konfiguriert wurden.
Entschlüsseln Sie die folgenden Teile mit einem authentifizierten Verschlüsselungsalgorithmus:
- Datenverschlüsselungsschlüssel (Data Encryption Key, DEK)
- Die Werte
resource_name
undperimeter_id
aus dem Autorisierungstoken - Zusätzliche sensible Daten
Prüfen Sie, ob die
resource_name
im Autorisierungstoken und im entschlüsselten Blob übereinstimmen.Führen Sie eine Perimeterprüfung mit Authentifizierungs- und Autorisierungsansprüchen durch.
Protokollieren Sie den Vorgang, einschließlich des Nutzers, der ihn initiiert hat, der
resource_name
und des in der Anfrage angegebenen Grundes.Gib den entpackten DEK oder eine strukturierte Fehlerantwort zurück.