Encapsulation de clé

L'encapsulation de clé consiste à chiffrer une clé à l'aide d'une autre clé afin de la stocker ou de l'envoyer en toute sécurité sur un canal non approuvé. Selon le contexte, l'encapsulation de clé peut reposer sur une cryptographie symétrique ou asymétrique.

Dans Cloud Key Management Service, l'encapsulation des clés est utilisée pour importer en toute sécurité les clés cryptographiques fournies par les utilisateurs. Pour importer une clé, il faut une tâche d'importation, laquelle contient une méthode d'importation spécifiant le protocole d'encapsulation de clé à utiliser.

Cloud KMS s'attend à ce que le matériel de clé importé soit dans un format spécifique. Avant de pouvoir encapsuler le matériel de clé en vue de son importation, vous devrez peut-être le convertir au format attendu par Cloud KMS. La page Formater des clés pour l'importation contient des informations sur les formats requis ainsi que des instructions sur la façon de convertir les clés au format requis, le cas échéant.

Une fois le matériel de clé correctement formaté, la Google Cloud CLI peut l'encapsuler automatiquement avant de le transmettre de manière sécurisée à Cloud KMS. Pour en savoir plus, consultez la section Importer une clé. Vous pouvez également encapsuler manuellement vos clés à l'aide des protocoles cryptographiques appropriés. Encapsuler une clé à l'aide d'OpenSSL sous Linux fournit un exemple de cette procédure.

Méthodes d'importation

Cloud KMS propose les méthodes d'importation suivantes :

Méthode d'importation Type de clé de la tâche d'importation Algorithme d'encapsulation de la clé
RSA_OAEP_3072_SHA1_AES_256 RSA 3 072 bits RSAES-OAEP avec SHA-1 + AES-KWP
RSA_OAEP_4096_SHA1_AES_256 RSA 4 096 bits RSAES-OAEP avec SHA-1 + AES-KWP
RSA_OAEP_3072_SHA256_AES_256 (recommandé) RSA 3 072 bits RSAES-OAEP avec SHA-256 + AES-KWP
RSA_OAEP_4096_SHA256_AES_256 RSA 4 096 bits RSAES-OAEP avec SHA-256 + AES-KWP
RSA_OAEP_3072_SHA256 RSA 3 072 bits RSAES-OAEP avec SHA-256
RSA_OAEP_4096_SHA256 RSA 4 096 bits RSAES-OAEP avec SHA-256

Algorithmes d'encapsulation de clé

Les méthodes d'importation fournies par Cloud KMS correspondent aux algorithmes d'encapsulation de clés suivants :

RSAES-OAEP avec SHA-1/SHA-256 + AES-KWP

Cet algorithme d'encapsulation de clé est un schéma de chiffrement hybride qui consiste en une opération d'encapsulation de clé asymétrique et une opération d'encapsulation de clé symétrique :

  1. La clé publique de la tâche d'importation sert à chiffrer une clé AES-256 à usage unique. Le chiffrement est effectué à l'aide de RSAES-OAEP et de MGF-1, ainsi que de l'algorithme de condensé spécifié par la méthode d'importation. La clé AES-256 à usage unique est générée au moment de l'encapsulation.
  2. La clé AES-256 à usage unique mentionnée à l'étape 1 sert à chiffrer le matériel de clé cible à l'aide de l'algorithme d'encapsulation de clé AES avec remplissage.

Le matériel de clé encapsulé pour être importé est un tableau à un octet composé des résultats de l'étape 1, suivis des résultats de l'étape 2. En d'autres termes, les résultats des étapes 1 et 2 sont concaténés pour former le matériel de la clé encapsulée.

Cet algorithme est identique à l'algorithme d'encapsulation de clé PKCS #11 CKM_RSA_AES_KEY_WRAP. Si vous importez une clé à partir d'un HSM compatible avec cet algorithme, vous pouvez l'utiliser directement. Vous pouvez également effectuer les étapes 1 et 2 ci-dessus avec les mécanismes PKCS #11 CKM_RSA_PKCS_OAEP et CKM_AES_KEY_WRAP_PAD, respectivement.

Si votre HSM source (ou autre fournisseur de clé si vous n'utilisez pas HSM) n'est pas compatible avec le mécanisme RSA d'encapsulation de clés AES, vous devez encapsuler manuellement votre clé à l'aide de la clé publique de la tâche d'importation. Vous trouverez un exemple de cette procédure avec OpenSSL dans la section Encapsuler une clé à l'aide d'OpenSSL sur Linux.

RSAES-OAEP avec SHA-256

Il s'agit d'une opération d'encapsulation de clé asymétrique qui utilise la clé publique de la tâche d'importation avec RSAES-OAEP, à l'aide de MGF-1 et de l'algorithme de condensé SHA-256, pour chiffrer directement le matériel de clé cible. Il est basé sur le mécanisme OAEP RSA PKCS #11 CKM_RSA_PKCS_OAEP. Les limites de taille associées à cette méthode d'importation ne la rendent pas adaptée à l'importation de clés privées RSA.