In diesem Leitfaden wird beschrieben, wie die Verschlüsselung und Entschlüsselung mithilfe der Google Workspace Client-side Encryption API funktioniert.
Sie müssen alle IdP-Dienste (Identitätsanbieter) 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. Alternativ können Sie sich an den Google Workspace-Administrator der Organisation wenden, um die IdP-Details zu erhalten.
Daten verschlüsseln
Wenn ein Google Workspace-Nutzer das Speichern oder Speichern von clientseitig verschlüsselten Daten (CSE) anfordert, sendet Google Workspace eine wrap
-Anfrage zur Verschlüsselung an Ihre KACLS-Endpunkt-URL. Zusätzlich zu optionalen Sicherheitsprüfungen, wie z. B. auf Perimeter- und JWT-Anforderungen basierende Prüfungen, müssen Ihre KACLS die folgenden Schritte ausführen:
Validiert den anfragenden Nutzer.
- Prüfen Sie sowohl das Authentifizierungstoken als auch das Autorisierungstoken.
- Prüfen Sie, ob Autorisierungs- und Authentifizierungstokens für denselben Nutzer gelten, indem Sie bei den E-Mail-Anforderungen eine Zuordnung durchführen, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird.
- Wenn das Authentifizierungstoken die optionale Anforderung
google_email
enthält, muss es mit der E-Mail-Anforderung im Autorisierungstoken verglichen werden. Die Groß-/Kleinschreibung wird dabei nicht berücksichtigt. Verwenden Sie für diesen Vergleich nicht die E-Mail-Anforderung im Authentifizierungstoken. - In Szenarien, in denen dem Authentifizierungstoken die optionale Anforderung
google_email
fehlt, sollte die E-Mail-Anforderung innerhalb des Authentifizierungstokens mit der E-Mail-Anforderung im Autorisierungstoken verglichen werden. Dabei wird die Groß-/Kleinschreibung nicht berücksichtigt. - In Szenarien, in denen Google ein Autorisierungstoken für eine E-Mail-Adresse ausstellt, die nicht mit einem Google-Konto verknüpft ist, muss die
email_type
-Anforderung vorhanden sein. Dies ist ein wichtiger Bestandteil des Gastzugriffs und bietet KACLS wertvolle Informationen, um zusätzliche Sicherheitsmaßnahmen für externe Nutzer zu erzwingen.- Beispiele dafür, wie ein KACLS diese Informationen verwenden kann:
- Um zusätzliche Logging-Anforderungen zu erzwingen.
- Den Aussteller des Authentifizierungstokens auf einen dedizierten Gast-IdP beschränken
- Sie können zusätzliche Anforderungen für das Authentifizierungstoken anfordern.
- Wenn ein Kunde den Gastzugriff nicht konfiguriert hat, können alle Anfragen abgelehnt werden, bei denen
email_type
aufgoogle-visitor
odercustomer-idp
gesetzt ist. Anfragen mit einememail_type
vongoogle
oder mit einem nicht festgelegtenemail_type
sollten weiterhin akzeptiert werden.
- Prüfen Sie, ob die
role
-Anforderung im Autorisierungstoken „writer“ oder „upgrader“ ist. - Prüfen Sie, ob die
kacls_url
-Anforderung im Autorisierungstoken mit der aktuellen KACLS-URL übereinstimmt. Diese Prüfung ermöglicht die Erkennung potenzieller Man-in-the-Middle-Server, die von Insidern oder böswilligen Domainadministratoren konfiguriert wurden. - Führen Sie eine Perimeterprüfung mit Authentifizierungs- und Autorisierungsanforderungen 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, von dem er stammt, dem
resource_name
und dem Grund, der in der Anfrage übergeben wurde.Ein intransparentes binäres Objekt zurückgeben, das von Google Workspace zusammen mit dem verschlüsselten Objekt gespeichert und bei jedem nachfolgenden Schlüsselentpackungsvorgang unverändert gesendet wird. Alternativ können Sie auch eine strukturierte Fehlerantwort senden.
- Das binäre Objekt sollte die einzige Kopie des verschlüsselten DEK enthalten. Darin können implementierungsspezifische Daten gespeichert werden.
Daten entschlüsseln
Wenn ein Google Workspace-Nutzer das Öffnen von clientseitig verschlüsselten Daten anfordert, sendet Google Workspace eine unwrap
-Anfrage zur Entschlüsselung an Ihre KACLS-Endpunkt-URL. Zusätzlich zu optionalen Sicherheitsprüfungen, wie z. B. auf Perimeter- und JWT-Anforderungen basierende Prüfungen, müssen Ihre KACLS die folgenden Schritte ausführen:
Validiert den anfragenden Nutzer.
- Prüfen Sie sowohl das Authentifizierungstoken als auch das Autorisierungstoken.
- Prüfen Sie, ob Autorisierungs- und Authentifizierungstokens für denselben Nutzer gelten, indem Sie bei den E-Mail-Anforderungen eine Zuordnung durchführen, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird.
- Wenn das Authentifizierungstoken die optionale Anforderung
google_email
enthält, muss es mit der E-Mail-Anforderung im Autorisierungstoken verglichen werden. Die Groß-/Kleinschreibung wird dabei nicht berücksichtigt. Verwenden Sie für diesen Vergleich nicht die E-Mail-Anforderung im Authentifizierungstoken. - In Szenarien, in denen dem Authentifizierungstoken die optionale Anforderung
google_email
fehlt, sollte die E-Mail-Anforderung innerhalb des Authentifizierungstokens mit der E-Mail-Anforderung im Autorisierungstoken verglichen werden. Dabei wird die Groß-/Kleinschreibung nicht berücksichtigt. - In Szenarien, in denen Google ein Autorisierungstoken für eine E-Mail-Adresse ausstellt, die nicht mit einem Google-Konto verknüpft ist, muss die
email_type
-Anforderung vorhanden sein. Dies ist ein wichtiger Bestandteil des Gastzugriffs und bietet KACLS wertvolle Informationen, um zusätzliche Sicherheitsmaßnahmen für externe Nutzer zu erzwingen.- Beispiele dafür, wie ein KACLS diese Informationen verwenden kann:
- Um zusätzliche Logging-Anforderungen zu erzwingen.
- Den Aussteller des Authentifizierungstokens auf einen dedizierten Gast-IdP beschränken
- Sie können zusätzliche Anforderungen für das Authentifizierungstoken anfordern.
- Wenn ein Kunde den Gastzugriff nicht konfiguriert hat, können alle Anfragen abgelehnt werden, bei denen
email_type
aufgoogle-visitor
odercustomer-idp
gesetzt ist. Anfragen mit einememail_type
vongoogle
oder mit einem nicht festgelegtenemail_type
sollten weiterhin akzeptiert werden.
- Prüfen Sie, ob die
role
-Anforderung im Autorisierungstoken „reader“ oder „writer“ ist. - Prüfen Sie, ob die
kacls_url
-Anforderung im Autorisierungstoken mit der aktuellen KACLS-URL übereinstimmt. Dadurch 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
resource_name
im Autorisierungstoken und dem entschlüsselten Blob übereinstimmt.Führen Sie eine Perimeterprüfung mit Authentifizierungs- und Autorisierungsanforderungen durch.
Protokollieren Sie den Vorgang, einschließlich des Nutzers, von dem er stammt, dem
resource_name
und dem Grund, der in der Anfrage übergeben wurde.Geben Sie den entpackten DEK oder eine strukturierte Fehlerantwort zurück.