Suites d'algorithmes prises en charge dans le AWS Encryption SDK - AWS Encryption SDK

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.

Suites d'algorithmes prises en charge dans le AWS Encryption SDK

Une suite d'algorithmes est un ensemble d'algorithmes de chiffrement et de valeurs connexes. Les systèmes de chiffrement utilisent l'implémentation de l'algorithme pour générer le message du texte chiffré.

La suite d'algorithmes utilise l' AWS Encryption SDK algorithme Advanced Encryption Standard (AES) en mode Galois/Counter (GCM), connu sous le nom d'AES-GCM, pour chiffrer les données brutes. Il AWS Encryption SDK prend en charge les clés de chiffrement 256 bits, 192 bits et 128 bits. La longueur du vecteur d'initialisation (IV) est toujours de 12 octets. La longueur de la balise d'authentification est toujours de 16 octets.

Par défaut, il AWS Encryption SDK utilise une suite d'algorithmes avec AES-GCM avec une fonction de dérivation de extract-and-expand clé basée sur HMAC (HKDF), une signature et une clé de chiffrement 256 bits. Si la politique d'engagement exige un engagement clé, elle AWS Encryption SDK sélectionne une suite d'algorithmes qui prend également en charge l'engagement clé ; sinon, elle sélectionne une suite d'algorithmes avec dérivation et signature de clés, mais pas d'engagement clé.

AWS Encryption SDK Il recommande une suite d'algorithmes qui déduit une clé de chiffrement AES-GCM en fournissant une clé de chiffrement de données de 256 bits à la fonction de dérivation de clés basée sur le HMAC extract-and-expand (HKDF). AWS Encryption SDK Ajoute une signature ECDSA (Elliptic Curve Digital Signature Algorithm). Pour soutenir l'engagement des clés, cette suite d'algorithmes déduit également une chaîne d'engagement clé (un identifiant de clé de données non secret) qui est stockée dans les métadonnées du message crypté. Cette chaîne d'engagement de clé est également dérivée via HKDF en utilisant une procédure similaire à la dérivation de la clé de chiffrement des données.

AWS Encryption SDK Suite d'algorithmes
Algorithme de chiffrement Longueur de la clé de chiffrement des données (en bits) Algorithme de dérivation de clé Algorithme de signature Engagement clé
AES-GCM 256 HKDF avec SHA-384 ECDSA avec P-384 et SHA-384 HKDF avec SHA-512

Le HKDF vous aide à éviter la réutilisation accidentelle d'une clé de chiffrement de données et réduit le risque d'utilisation abusive d'une clé de données.

Pour la signature, cette suite d'algorithmes utilise l'ECDSA avec un algorithme de fonction de hachage cryptographique (SHA-384). ECDSA est utilisé par défaut, même lorsqu'il n'est pas spécifié par la stratégie pour la clé principale sous-jacente. La signature des messages vérifie que l'expéditeur du message était autorisé à chiffrer les messages et garantit la non-répudiation. Cela s'avère particulièrement utile lorsque la stratégie d'autorisation pour une clé principale autorise un ensemble d'utilisateurs à chiffrer des données et un autre ensemble d'utilisateurs à déchiffrer des données.

Des suites d'algorithmes dotées d'un engagement clé garantissent que chaque texte chiffré est déchiffré en un seul texte clair. Pour ce faire, ils valident l'identité de la clé de données utilisée comme entrée dans l'algorithme de chiffrement. Lors du chiffrement, ces suites d'algorithmes dérivent une chaîne d'engagement clé. Avant le déchiffrement, ils vérifient que la clé de données correspond à la chaîne d'engagement de la clé. Dans le cas contraire, l'appel de déchiffrement échoue.

Autres suites d'algorithmes prises en charge

Il AWS Encryption SDK prend en charge les suites d'algorithmes alternatives suivantes pour une compatibilité descendante. En général, nous vous déconseillons ces suites d'algorithme. Cependant, nous sommes conscients que la signature peut nuire considérablement aux performances. C'est pourquoi nous proposons une suite de validation clé avec dérivation de clés pour ces cas. Pour les applications qui doivent faire des compromis de performance plus importants, nous continuons à proposer des suites dépourvues de signature, d'engagement clé et de dérivation des clés.

AES-GCM sans engagement clé

Les suites d'algorithmes sans engagement de clé ne valident pas la clé de données avant le déchiffrement. Par conséquent, ces suites d'algorithmes peuvent déchiffrer un seul texte chiffré en différents messages en texte brut. Cependant, étant donné que les suites d'algorithmes avec engagement par clé produisent un message chiffré légèrement plus volumineux (+30 octets) et prennent plus de temps à traiter, elles ne constituent peut-être pas le meilleur choix pour toutes les applications.

Il AWS Encryption SDK prend en charge une suite d'algorithmes avec dérivation clé, engagement clé, signature, et une autre avec dérivation clé et engagement clé, mais pas de signature. Nous vous déconseillons d'utiliser une suite d'algorithmes sans engagement clé. S'il le faut, nous recommandons une suite d'algorithmes avec dérivation des clés et engagement des clés, mais pas de signature. Toutefois, si le profil de performance de votre application prend en charge l'utilisation d'une suite d'algorithmes, il est recommandé d'utiliser une suite d'algorithmes avec engagement, dérivation de clés et signature.

AES-GCM sans signature

Les suites d'algorithmes sans signature ne possèdent pas la signature ECDSA qui garantit l'authenticité et la non-répudiation. N'utilisez ces suites que lorsque les utilisateurs qui chiffrent les données et ceux qui les déchiffrent jouissent de la même confiance.

Lorsque vous utilisez une suite d'algorithmes sans signature, nous vous recommandons d'en choisir une avec une dérivation et un engagement clés.

AES-GCM sans dérivation de clé

Les suites d'algorithmes sans dérivation de clé utilisent la clé de chiffrement des données comme clé de chiffrement AES-GCM, au lieu d'utiliser une fonction de dérivation de clé pour obtenir une clé unique. Nous vous déconseillons d'utiliser cette suite pour générer du texte chiffré, mais elle la AWS Encryption SDK prend en charge pour des raisons de compatibilité.

Pour plus d'informations sur la façon dont ces suites sont représentées et utilisées dans la bibliothèque, consultez AWS Encryption SDK référence aux algorithmes.