Bring Your Own Key (Apportez votre propre clé)
En utilisant Bring Your Own Key (Apportez votre propre clé), les utilisateurs ayant le rôle d’éditeur de gestion des clés peuvent utiliser Management API Auth0 pour remplacer la clé racine par défaut de l’environnement Auth0 par leur propre clé racine fournie par le client. Les clients peuvent téléverser en toute sécurité leur propre clé racine, qui contient leur propre matériel cryptographique, afin de :- répondre aux exigences de génération et de provenance de clés personnalisées pour la clé racine de l’environnement;
- répondre aux exigences particulières en matière d’installation ou de durée de vie des clés pour la clé racine de l’environnement;
- conserver une copie de la clé racine fournie par le client dans les locaux du client.
En important votre propre clé racine fournie par le client avec la fonction Apportez votre propre clé, vous retirez implicitement à Auth0 l’autorisation de gérer le cycle de vie de la clé racine fournie par le client, à l’exception de sa suppression.
-
Appeler le point de terminaison Create the new encryption key (Créer la nouvelle clé de chiffrement) pour lancer le processus Apportez votre propre clé et obtenir le
kid
(identifiant de clé) de la clé racine pré-activée fournie par le client sans méthode de chiffrement.Ce point de terminaison renvoie la valeur « kid », qui est l’identifiant unique de la clé. - Appelez le point de terminaison Create the public wrapping key (Créer la clé publique enveloppante) pour créer et renvoyer une clé publique enveloppante.
- Générez votre propre clé de chiffrement et enveloppez-la (chiffrez-la) avec la clé publique d’enveloppe pour créer une clé de chiffrement enveloppée (la clé racine fournie par le client) à partir de votre environnement.
- Appelez le point de terminaison Import the encryption key (Importation de la clé de chiffrement) pour importer votre clé racine fournie par le client dans Auth0.
Exigences en matière de matériel cryptographique
Utilisez votre système de gestion des clés pour envelopper votre propre matériel cryptographique avec la clé publique d’enveloppement et créer la clé de chiffrement enveloppée. Utilisez ces paramètres pour définir les paramètres de l’algorithme CKM_RSA_AES_KEY_WRAP en fonction de votre fournisseur de services infonuagiques Auth0 (AWS ou Azure) :Auth0 sur AWS Cloud
- Longueur de la clé publique d’enveloppement : 3 072 bits
- Algorithme : CKG_MGF1_SHA256
- Longueur temporaire de la clé AES pour CKM_AES_KEY_WRAP_PAD : 256 bits
- Type de clé racine fourni par le client : Clé symétrique AES de 256 bits
Auth0 sur Azure Cloud
- Longueur de la clé publique d’enveloppement : 2048 bits
- Algorithme : CKG_MGF1_SHA-1
- Longueur temporaire de la clé AES pour CKM_AES_KEY_WRAP_PAD : 256 bits
- Type de clé racine fourni par le client : Clé privée RSA de 2 048 bits
- Codage de la clé privée : PKCS #8 – ASN.1 DER
Permissions (Autorisations)
Utilisez les autorisations suivantes pour permettre l’accès aux points de terminaison des clés de chiffrement.Autorisations | Descriptions |
---|---|
read:encryption_keys | Les utilisateurs peuvent rechercher et récupérer des clés dans le locataire Auth0. Cela comprend la lecture des points de terminaison /api/v2/keys/encryption , /api/v2/keys/encryption/{kid} . |
create:encryption_keys | Les utilisateurs peuvent créer leur propre clé racine fournie par le client et la clé d’enveloppement publique à l’aide des points de terminaison /api/v2/keys/encryption et /api/v2/keys/encryption/{kid}/wrapping-key . |
delete:encryption_keys | Les utilisateurs peuvent supprimer leur propre clé racine fournie par le client par le point de terminaison
/api/v2/keys/encryption/{kid} . |
update:encryption_keys | Les utilisateurs peuvent importer leur propre clé racine fournie par le client par le point de terminaison
/api/v2/keys/encryption/{kid} . |
Points de terminaison
- Utilisez le point de terminaison Get all encryption keys (Obtenir toutes les clés de chiffrement) pour obtenir des informations sur la clé racine de l’environnement actuel ou la clé racine fournie par le client, et la clé principale du locataire.
- Utilisez le point de terminaison Get the encryption key by its key id (Obtenir la clé de chiffrement par son identifiant de clé) pour récupérer des informations sur la clé indiquée.
- Utilisez le point de terminaison Create the new encryption key (Créer la nouvelle clé de chiffrement) pour générer un paramètre fictif préactivé de la clé racine fournie par le client.
- Utilisez le point de terminaison Create the public wrapping key (Créer la clé publique d’enveloppement) pour récupérer une clé publique d’enveloppement afin d’envelopper votre méthode de chiffrement.
- Utilisez le point de terminaison Import the encryption key (Importer la clé de chiffrement) pour importer un nouveau matériel de clé racine fournie par le client.
- Utilisez le point de terminaison Delete the encryption key by its key id (Supprimer la clé de chiffrement par son identifiant de clé) pour supprimer une clé racine existante fournie par le client et refuser d’utiliser Apportez vos propres clés. La clé racine de l’environnement Auth0 est utilisée pour rechiffrer la hiérarchie des clés. Cette opération n’a pas de répercussions négatives sur les flux de données et d’authentification existants.
Si la fonction Customer Managed Keys (Clés gérées par le client) n’est pas activée dans votre locataire, l’appel aux points de terminaison de l’API renverra l’erreur suivante :
This feature is not enabled for this tenant (Cette fonctionnalité n’est pas activée pour ce locataire)
.