Enveloppe de clés AES AWS CloudHSM - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Enveloppe de clés AES AWS CloudHSM

Cette rubrique décrit les options d'encapsulation des clés AES AWS CloudHSM. La fonction d'encapsulage de clés AES utilise une clé AES (clé d'encapsulage) pour encapsuler un autre type de clé (clé cible). L'encapsulage des clés permet de protéger les clés stockées ou de transmettre des clés sur des réseaux non sécurisés.

Algorithmes pris en charge

AWS CloudHSM propose trois options pour l'encapsulation des clés AES, chacune basée sur la manière dont la touche cible est rembourrée avant d'être enroulée. Le remplissage est effectué automatiquement, conformément à l'algorithme que vous utilisez, lorsque vous appelez l'encapsulage de la clé. Le tableau suivant répertorie les algorithmes pris en charge et les détails associés pour vous aider à choisir un mécanisme d'encapsulage approprié pour votre application.

Algorithme d'encapsulage des clés AES Spécification de  Types de clé cibles pris en charge Schéma de remplissage AWS CloudHSM Disponibilité des clients
Encapsulage des clés AES avec remplissage à l'aide de zéros RFC 5649 et SP 800 - 38F Tous Ajoute des zéros après les bits de clé, si nécessaire, pour bloquer l'alignement SDK 3.1 et versions ultérieures
Encapsulage des clés AES sans remplissage RFC 3394 et SP 800 - 38F Clés avec blocage de l'alignement comme AES et 3DES Aucun SDK 3.1 et versions ultérieures
Encapsulage des clés AES avec remplissage PKCS #5 Aucun Tous

Au moins 8 octets sont ajoutés selon le schéma de remplissage PKCS #5 pour bloquer l'alignement

Tous

Pour découvrir comment utiliser, dans votre application, les algorithmes d'encapsulage des clés AES indiqués dans le tableau précédent, consultez Fonctionnement de l'encapsulage des clés AES dans AWS CloudHSM.

Présentation des vecteurs d'initialisation dans l'encapsulage des clés AES

Avant l'encapsulage, CloudHSM ajoute un vecteur d'initialisation (IV) à la clé cible pour l'intégrité des données. Chaque algorithme d'encapsulage de la clé est soumis à des restrictions spécifiques sur le type de vecteur d'initialisation autorisé. Pour installer l'IV AWS CloudHSM, deux options s'offrent à vous :

  • Implicite : définir l'IV sur NULL pour que CloudHSM utilise la valeur par défaut de cet algorithme pour les opérations d'encapsulage et de désencapsulage (recommandé)

  • Explicite : définir l'IV en passant la valeur de l'IV par défaut à la fonction d'encapsulage de la clé

Important

Vous devez comprendre quel vecteur d'initialisation vous utilisez dans votre application. Pour désencapsuler la clé, vous devez fournir le même IV que celui que vous avez utilisé pour l'encapsuler. Si vous utilisez un IV implicite pour l'encapsulage, un IV implicite est nécessaire pour le désencapsulage. Avec un IV implicite, CloudHSM utilise la valeur par défaut pour le désencapsulage.

Le tableau suivant décrit les valeurs autorisées pour les IV, spécifiées par l'algorithme d'encapsulage.

Algorithme d'encapsulage des clés AES IV implicite IV explicite
Encapsulage des clés AES avec remplissage à l'aide de zéros Obligatoire

Valeur par défaut : (IV calculé en interne sur la base de la spécification)

Non autorisée
Encapsulage des clés AES sans remplissage Autorisée (recommandé)

Valeur par défaut : 0xA6A6A6A6A6A6A6A6

Autorisé

Seule cette valeur est acceptée : 0xA6A6A6A6A6A6A6A6

Encapsulage des clés AES avec remplissage PKCS #5 Autorisée (recommandé)

Valeur par défaut : 0xA6A6A6A6A6A6A6A6

Autorisé

Seule cette valeur est acceptée : 0xA6A6A6A6A6A6A6A6

Utilisation de l'encapsulation des touches AES AWS CloudHSM

Pour encapsuler ou désencapsuler des clés, procédez comme suit :

  • Dans la bibliothèque PCKS #11, sélectionnez le mécanisme approprié pour les fonctions C_WrapKey et C_UnWrapKey, comme indiqué dans le tableau suivant.

  • Dans le fournisseur JCE, sélectionnez l'algorithme, le mode et la combinaison de remplissage appropriés, en implémentant les méthodes de chiffrement Cipher.WRAP_MODE et Cipher.UNWRAP_MODE, comme indiqué dans le tableau suivant.

  • Dans la CLI CloudHSM, choisissez l'algorithme approprié dans la liste étui pour clés des algorithmes déballage des clés pris en charge, comme indiqué dans le tableau suivant.

  • Dans key_mgmt_util (KMU), utilisez les commandes wrapKey et unWrapKey avec les valeurs m appropriées, comme indiqué dans le tableau suivant.

Algorithme d'encapsulage des clés AES Mécanisme PKCS #11 Méthode Java Sous-commande CLI CloudHSM Argument de l'utilitaire de gestion des clés (KMU)
Encapsulage des clés AES avec remplissage à l'aide de zéros
  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD (mécanisme défini par le fournisseur)

AESWrap/ECB/ZeroPadding aes-zero-pad m = 6
Encapsulage des clés AES sans remplissage
  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD (mécanisme défini par le fournisseur)

AESWrap/ECB/NoPadding aes-no-pad m = 5
Encapsulage des clés AES avec remplissage PKCS #5
  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD (mécanisme défini par le fournisseur)

AESWrap/ECB/PKCS5Padding aes-pkcs5-pad m = 4