Ce guide décrit le fonctionnement du chiffrement et du déchiffrement à l'aide de l'API Google Workspace Client-side Encryption.
Vous devez ajouter à la liste d'autorisation tous les services du fournisseur d'identité (IdP) utilisés par les utilisateurs partager des fichiers chiffrés. Vous trouverez généralement les informations sur le fournisseur d'identité requis dans son fichier .well-known accessible au public Sinon, contactez le administrateur Google Workspace pour obtenir les informations sur son IdP.
Chiffrer des données
Lorsqu'un utilisateur Google Workspace demande à enregistrer ou à stocker des données chiffrées côté client
(CSE), Google Workspace envoie une requête wrap
à l'URL de votre point de terminaison KACLS pour le chiffrement. En plus
des contrôles de sécurité, tels que les contrôles basés sur le périmètre et les revendications JWT, vos KACLS doivent
procédez comme suit:
Validez l'utilisateur demandeur.
- Validez à la fois le jeton d'authentification et le jeton d'autorisation.
- Vérifiez que les jetons d'autorisation et d'authentification sont pour le même utilisateur en une correspondance non sensible à la casse pour les revendications envoyées par e-mail.
- Lorsque le jeton d'authentification contient la revendication facultative
google_email
, il doit être comparé à la revendication par e-mail du jeton d'autorisation en utilisant une approche non sensible à la casse. N'utilisez pas la revendication par e-mail dans le d'authentification unique pour cette comparaison. - Dans les cas où le jeton d'authentification ne dispose pas
Revendication
google_email
, la revendication de l'adresse e-mail dans le jeton d'authentification doit être comparé à la revendication par e-mail du jeton d'autorisation, à l'aide d'une méthode non sensible à la casse. - Dans les cas où Google émet un jeton d'autorisation pour un e-mail
associé à un compte Google, la revendication
email_type
doit être présente. Il s'agit d'un élément essentiel de la fonctionnalité d'accès invité, permettant à KACLS d'appliquer des mesures de sécurité supplémentaires sur les utilisateurs.- Voici quelques exemples de la façon dont une KACLS peut utiliser ces informations:
- Pour imposer des exigences de journalisation supplémentaires
- Pour limiter l'émetteur de jetons d'authentification à un fournisseur d'identité invité dédié.
- Exiger des revendications supplémentaires sur le jeton d'authentification.
- Si un client n'a pas configuré l'accès invité, toutes les demandes
où
email_type
est défini surgoogle-visitor
oucustomer-idp
peut être refusé. Requêtes dont l'attributemail_type
estgoogle
ou dont la valeur n'est pas définieemail_type
devrait toujours être accepté.
- Vérifiez que la revendication
role
du jeton d'autorisation est "writer" ou « upgrader ». - Vérifiez que la revendication
kacls_url
du jeton d'autorisation correspond à URL KACLS actuelle. Cette vérification permet de détecter des serveurs man-in-the-middle configurés par des initiés ou des domaines dont l'accès est frauduleux. les administrateurs. - Effectuer une vérification de périmètre à l'aide de l'authentification et de l'autorisation des revendications.
Chiffrez les éléments suivants à l'aide d'un algorithme de chiffrement authentifié:
- Clé de chiffrement des données (DEK)
- Les valeurs
resource_name
etperimeter_id
du jeton d'autorisation - Toute donnée sensible supplémentaire
Consigner l'opération, y compris l'utilisateur à l'origine de l'opération, les
resource_name
et le motif transmis dans la demande.Renvoyez un objet binaire opaque à stocker par Google Workspace en même temps que celui-ci. l'objet chiffré et envoyé tel quel lors de toute désencapsulation de clé ultérieure opération. Vous pouvez également diffuser une réponse d'erreur structurée.
- L'objet binaire doit contenir la seule copie de la clé DEK chiffrée, des données spécifiques à l'implémentation peuvent y être stockées.
Déchiffrer des données
Lorsqu'un utilisateur Google Workspace demande à ouvrir des données chiffrées côté client (CSE),
Google Workspace envoie une requête unwrap
à l'URL du point de terminaison KACLS pour le déchiffrement. En plus des options de sécurité
telles que les vérifications de périmètre et basées sur les revendications JWT, votre KACLS doit effectuer
procédez comme suit:
Validez l'utilisateur demandeur.
- Validez à la fois le jeton d'authentification et le jeton d'autorisation.
- Vérifiez que les jetons d'autorisation et d'authentification sont pour le même utilisateur en une correspondance non sensible à la casse pour les revendications envoyées par e-mail.
- Lorsque le jeton d'authentification contient la revendication facultative
google_email
, il doit être comparé à la revendication par e-mail du jeton d'autorisation en utilisant une approche non sensible à la casse. N'utilisez pas la revendication par e-mail dans le d'authentification unique pour cette comparaison. - Dans les cas où le jeton d'authentification ne dispose pas
Revendication
google_email
, la revendication de l'adresse e-mail dans le jeton d'authentification doit être comparé à la revendication par e-mail du jeton d'autorisation, à l'aide d'une méthode non sensible à la casse. - Dans les cas où Google émet un jeton d'autorisation pour un e-mail
associé à un compte Google, la revendication
email_type
doit être présente. Il s'agit d'un élément essentiel de la fonctionnalité d'accès invité, permettant à KACLS d'appliquer des mesures de sécurité supplémentaires sur les utilisateurs.- Voici quelques exemples de la façon dont une KACLS peut utiliser ces informations:
- Pour imposer des exigences de journalisation supplémentaires
- Pour limiter l'émetteur de jetons d'authentification à un fournisseur d'identité invité dédié.
- Exiger des revendications supplémentaires sur le jeton d'authentification.
- Si un client n'a pas configuré l'accès invité, toutes les demandes
où
email_type
est défini surgoogle-visitor
oucustomer-idp
peut être refusé. Requêtes dont l'attributemail_type
estgoogle
ou dont la valeur n'est pas définieemail_type
devrait toujours être accepté.
- Vérifiez que la revendication
role
du jeton d'autorisation est "reader" (lecteur) ou "writer". - Vérifiez que la revendication
kacls_url
du jeton d'autorisation correspond à URL KACLS actuelle. Cela permet de détecter d'éventuels "man-in-the-middle" configurés par des initiés ou des administrateurs de domaines dont l'accès est frauduleux.
Déchiffrez les parties suivantes à l'aide d'un algorithme de chiffrement authentifié:
- Clé de chiffrement des données (DEK)
- Les valeurs
resource_name
etperimeter_id
du jeton d'autorisation - Toute donnée sensible supplémentaire
Vérifiez que
resource_name
dans le jeton d'autorisation et l'objet blob déchiffré correspond.Effectuez une vérification du périmètre à l'aide des revendications d'authentification et d'autorisation.
Consigner l'opération, y compris l'utilisateur à l'origine de l'opération, les
resource_name
et le motif transmis dans la demande.Renvoyez la DEK désencapsulée ou une réponse d'erreur structurée.