Questa guida descrive il funzionamento della crittografia e della decrittografia utilizzando l'API Client-Side Encryption di Google Workspace.
Devi inserire nella lista consentita tutti i servizi provider di identità (IdP) utilizzati dagli utenti la condivisione di file criptati. In genere, puoi trovare i dettagli dell'IdP richiesti un file .well-known disponibile al pubblico; in caso contrario, contatta il Amministratore di Google Workspace per i dettagli dell'IdP.
Cripta i dati
Quando un utente di Google Workspace richiede di salvare o archiviare con crittografia lato client
dei dati di servizio (CSE), Google Workspace invia un wrap
richiesta all'URL dell'endpoint KACLS per la crittografia. Oltre alla sezione facoltativa
come i controlli perimetrali e basati su attestazioni JWT, i controlli KACLS devono
segui questi passaggi:
Convalida l'utente che ha inviato la richiesta.
- Convalida entrambi i token di autenticazione e il token di autorizzazione.
- Verifica che i token di autorizzazione e autenticazione siano per lo stesso utente una corrispondenza senza distinzione tra maiuscole e minuscole nelle rivendicazioni email.
- Se il token di autenticazione contiene la dichiarazione facoltativa
google_email
, deve essere confrontato con la richiesta email nel token di autorizzazione senza distinzione tra maiuscole e minuscole. Non utilizzare il reclamo via email nei il token di autenticazione per questo confronto. - Negli scenari in cui il token di autenticazione non ha l'opzione facoltativa
Attestazione
google_email
, la rivendicazione email all'interno del token di autenticazione deve essere confrontato con la richiesta email nel token di autorizzazione, senza distinzione tra maiuscole e minuscole. - Nei casi in cui Google emette un token di autorizzazione per un'email non
associata a un Account Google, deve essere presente la rivendicazione
email_type
. Si tratta di una parte fondamentale della funzionalità di accesso come ospite, in quanto fornisce informazioni per KACLS per applicare misure di sicurezza aggiuntive su utenti.- Ecco alcuni esempi di come un KACLS può utilizzare queste informazioni:
- Imporre ulteriori requisiti di logging.
- Per limitare l'emittente del token di autenticazione a un IdP ospite dedicato.
- Per richiedere ulteriori attestazioni sul token di autenticazione.
- Se un cliente non ha configurato l'accesso come ospite, tutte le richieste
dove
email_type
è impostato sugoogle-visitor
ocustomer-idp
può essere rifiutato. Richieste conemail_type
digoogle
o con un valore non impostatoemail_type
dovrebbe continuare a essere accettato.
- Verifica che la dichiarazione
role
nel token di autorizzazione sia "writer" o "upgrader". - Verifica che l'attestazione
kacls_url
nel token di autorizzazione corrisponda a URL KACLS corrente. Questo controllo consente di rilevare potenziali Server man in the middle configurati da addetti ai lavori o da domini non autorizzati Google Workspace for Education. - Esegui un controllo del perimetro sia utilizzando autenticazione che autorizzazione rivendicazioni.
Cripta le seguenti parti utilizzando un algoritmo di crittografia autenticato:
- Chiave di crittografia dei dati (DEK, Data Encryption Key)
- I valori
resource_name
eperimeter_id
del token di autorizzazione - Altri dati sensibili
Registra l'operazione, incluso l'utente che l'ha originata,
resource_name
e il motivo passato nella richiesta.Restituire un oggetto binario opaco che verrà archiviato da Google Workspace insieme l'oggetto criptato e inviato così com'è in qualsiasi successivo unwrapping della chiave operativa. In alternativa, invia una risposta di errore strutturato.
- L'oggetto binario deve contenere l'unica copia della DEK criptata possono essere archiviati dati specifici dell'implementazione.
Decripta i dati
Quando un utente di Google Workspace richiede di aprire dati con crittografia lato client,
Google Workspace invia una richiesta unwrap
all'URL dell'endpoint KACLS per la decrittografia. Oltre alla sicurezza facoltativa
come i controlli perimetrali e basati su attestazioni JWT, i tuoi KACLS devono eseguire
segui questi passaggi:
Convalida l'utente che ha inviato la richiesta.
- Convalida entrambi i token di autenticazione e il token di autorizzazione.
- Verifica che i token di autorizzazione e autenticazione siano per lo stesso utente una corrispondenza senza distinzione tra maiuscole e minuscole nelle rivendicazioni email.
- Se il token di autenticazione contiene la dichiarazione facoltativa
google_email
, deve essere confrontato con la richiesta email nel token di autorizzazione senza distinzione tra maiuscole e minuscole. Non utilizzare il reclamo via email nei il token di autenticazione per questo confronto. - Negli scenari in cui il token di autenticazione non ha l'opzione facoltativa
Attestazione
google_email
, la rivendicazione email all'interno del token di autenticazione deve essere confrontato con la richiesta email nel token di autorizzazione, senza distinzione tra maiuscole e minuscole. - Nei casi in cui Google emette un token di autorizzazione per un'email non
associata a un Account Google, deve essere presente la rivendicazione
email_type
. Si tratta di una parte fondamentale della funzionalità di accesso come ospite, in quanto fornisce informazioni per KACLS per applicare misure di sicurezza aggiuntive su utenti.- Ecco alcuni esempi di come un KACLS può utilizzare queste informazioni:
- Imporre ulteriori requisiti di logging.
- Per limitare l'emittente del token di autenticazione a un IdP ospite dedicato.
- Per richiedere ulteriori attestazioni sul token di autenticazione.
- Se un cliente non ha configurato l'accesso come ospite, tutte le richieste
dove
email_type
è impostato sugoogle-visitor
ocustomer-idp
può essere rifiutato. Richieste conemail_type
digoogle
o con un valore non impostatoemail_type
dovrebbe continuare a essere accettato.
- Verifica che la dichiarazione
role
nel token di autorizzazione sia "lettore" o "writer". - Verifica che l'attestazione
kacls_url
nel token di autorizzazione corrisponda a URL KACLS corrente. Ciò consente il rilevamento di potenziali configurati da addetti ai lavori o amministratori di dominio non autorizzati.
Decripta le seguenti parti utilizzando un algoritmo di crittografia autenticato:
- Chiave di crittografia dei dati (DEK, Data Encryption Key)
- I valori
resource_name
eperimeter_id
del token di autorizzazione - Altri dati sensibili
Controlla che
resource_name
nel token di autorizzazione e nel blob decriptato corrispondono.Eseguire un controllo del perimetro utilizzando sia le attestazioni di autenticazione che quelle di autorizzazione.
Registra l'operazione, incluso l'utente che l'ha originata,
resource_name
e il motivo passato nella richiesta.Restituisce la DEK senza wrapper o una risposta a un errore strutturato.