Clés HMAC dans AWS KMS
Les clés KMS du code d'authentification de message utilisant hash (HMAC) sont des clés symétriques que vous utilisez pour générer et vérifier les HMAC dans AWS KMS. Les éléments de clé uniques associés à chaque clé KMS HMAC fournissent la clé secrète requise par les algorithmes HMAC. Vous pouvez utiliser une clé KMS HMAC avec les opérations GenerateMac
et VerifyMac
pour vérifier l'intégrité et l'authenticité des données dans AWS KMS.
Les algorithmes HMAC combinent une fonction de hachage cryptographique et une clé secrète partagée. Ils prennent un message et une clé secrète, comme les éléments de clé d'une clé KMS HMAC, et renvoient un code unique de taille fixe ou une balise. Si même un caractère du message change ou si la clé secrète n'est pas identique, la balise obtenue est entièrement différente. En exigeant une clé secrète, HMAC fournit également une authenticité ; il est impossible de générer une balise HMAC identique sans la clé secrète. Les HMAC sont parfois appelés signatures symétriques, car ils fonctionnent comme des signatures numériques, mais utilisent une seule clé à la fois pour la signature et la vérification.
Les clés KMS HMAC et les algorithmes HMAC qu'utilise AWS KMS sont conformes aux normes du secteur définies dans RFC 2104
Vous pouvez utiliser les clés KMS HMAC pour déterminer l'authenticité d'un message, comme un jeton Web JSON (JWT), des informations de carte de crédit tokenisée ou un mot de passe envoyé. Ils peuvent également être utilisés comme fonctions de dérivation de clé (KDF) sécurisées, surtout dans les applications nécessitant des clés déterministes.
Les clés KMS HMAC offrent un avantage par rapport aux HMAC des logiciels d'application, car les éléments de clé sont générés et utilisés entièrement dans AWS KMS, sous réserve des contrôles d'accès que vous avez définis sur la clé.
Les bonnes pratiques recommandent de limiter la durée pendant laquelle tout mécanisme de signature, y compris un HMAC, est effectif. Cela dissuade une attaque où l'acteur utilise un message signé pour établir la validité à plusieurs reprises ou longtemps après le remplacement du message. Les balises HMAC n'incluent pas d'horodatage, mais vous pouvez inclure un horodatage dans le jeton ou le message pour vous aider à détecter le moment où il convient d'actualiser le HMAC.
Vous pouvez créer, gérer et utiliser les clés KMS HMAC dans votre compte AWS. Cela comprend l'activation et la désactivation des clés, la définition et la modification d'alias et de balises, ainsi que la suppression de la planification de clés KMS HMAC. Vous pouvez également contrôler l'accès aux clés KMS HMAC à l'aide de politique de clé, de politiques IAM et d'octrois. De plus, vous pouvez auditer toutes les opérations qui utilisent ou gèrent vos clés KMS HMAC dans AWS dans les journaux AWS CloudTrail. Vous pouvez également créer des clés KMS multi-région HMAC qui se comportent comme des copies de la même clé KMS HMAC dans plusieurs Régions AWS.
Les clés HMAC KMS prennent uniquement en charge les opérations de chiffrement GenerateMac
et VerifyMac
. Vous ne pouvez pas utiliser de clés KMS HMAC pour chiffrer des données ou signer des messages, ni pour utiliser tout autre type de clé KMS dans les opérations HMAC. Lorsque vous utilisez l'opération GenerateMac
, vous fournissez un message pouvant atteindre 4 096 octets, une clé KMS HMAC et l'algorithme MAC compatible avec la spécification de clé HMAC, tandis que GenerateMac
calcule la balise HMAC. Pour vérifier une balise HMAC, vous devez fournir la balise HMAC, ainsi que le même message, la clé KMS HMAC et l'algorithme MAC que GenerateMac
a utilisé pour calculer la balise HMAC d'origine. L'opération VerifyMac
calcule la balise HMAC et vérifie qu'elle est identique à la balise HMAC fournie. Si les balises HMAC en entrée et calculées ne sont pas identiques, la vérification échoue.
Les clés KMS HMAC ne prennent pas en charge la rotation automatique des clés ou les éléments de clé importés, et vous ne pouvez pas créer de clé KMS HMAC dans un magasin de clés personnalisé.
Si vous créez une clé KMS pour chiffrer des données dans un service AWS, utilisez une clé de chiffrement symétrique. Vous ne pouvez pas utiliser de clé KMS HMAC.
Les clés KMS HMAC sont prises en charge dans toutes les Régions AWS prises en charge par AWS KMS, à l'exception des régions Chine (Beijing) et Chine (Ningxia).
En savoir plus
-
Pour obtenir de l'aide sur le choix d'un type de clé KMS, veuillez consulter Choix d'un type de clé KMS.
-
Pour obtenir un tableau comparatif des opérations d'API AWS KMS prises en charge par chaque type de clé KMS, veuillez consulter Référence des types de clés.
-
Pour plus d'informations sur la création de clés KMS HMAC multi-région, veuillez consulter Clés multi-régions dans AWS KMS.
-
Pour examiner la différence dans la politique de clé par défaut définie par la console AWS KMS pour les clés KMS HMAC, veuillez consulter Permet aux utilisateurs de clé d'utiliser la clé KMS avec les services AWS..
-
Pour plus d'informations sur la tarification des clés KMS HMAC, veuillez consulter la tarification AWS Key Management Service
. -
Pour de plus amples informations sur les quotas qui s'appliquent aux clés KMS HMAC, veuillez consulter Quotas de ressources et Quotas de demande.
-
Pour plus d'informations sur la suppression de clés KMS HMAC, veuillez consulter Suppression de AWS KMS keys.
-
Pour en savoir plus sur l'utilisation de HMAC pour créer des jetons web JSON, veuillez consulter Comment protéger les HMAC dans AWS KMS
dans le blog de sécurité AWS. -
Écoutez le podcast :Présentation de HMAC pour AWS Key Management Service
sur Le podcast AWS officiel.
Rubriques
Spécifications de clé pour les clés KMS HMAC
AWS KMS prend en charge les clés HMAC symétriques de longueurs variables. La spécification de clé que vous sélectionnez peut dépendre de vos exigences de sécurité, réglementaires ou métier. La longueur de la clé détermine l'algorithme MAC utilisé dans les opérations GenerateMac et VerifyMac. En général, les clés plus longues sont plus sécurisées. Utilisez la clé la plus longue qui est pratique pour votre cas d'utilisation.
Spécification de clé HMAC | Algorithme MAC |
---|---|
HMAC_224 | HMAC_SHA_224 |
HMAC_256 | HMAC_SHA_256 |
HMAC_384 | HMAC_SHA_384 |
HMAC_512 | HMAC_SHA_512 |