View a markdown version of this page

AWS Encryption SDK référence d'algorithmes - 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.

AWS Encryption SDK référence d'algorithmes

Les informations de cette page constituent une référence pour le développement de votre propre bibliothèque de chiffrement compatible avec le kit AWS Encryption SDK. Si vous ne créez pas votre propre bibliothèque de chiffrement compatible, vous n'aurez probablement pas besoin de ces informations.

Pour l'utiliser AWS Encryption SDK dans l'un des langages de programmation pris en charge, consultezLangages de programmation.

Pour la spécification qui définit les éléments d'une AWS Encryption SDK implémentation appropriée, voir la AWS Encryption SDK spécification dans GitHub.

Si vous créez votre propre bibliothèque capable de lire et d'écrire des textes chiffrés compatibles avec AWS Encryption SDK, vous devez comprendre comment elle AWS Encryption SDK implémente les suites d'algorithmes prises en charge pour crypter les données brutes.

Il AWS Encryption SDK prend en charge les suites d'algorithmes suivantes. Toutes les suites d' AES-GCM algorithmes possèdent un vecteur d'initialisation de 12 octets et une balise d'authentification de 16 AES-GCM octets. La suite d'algorithmes par défaut varie en fonction de la AWS Encryption SDK version et de la politique d'engagement clé sélectionnée. Pour plus de détails, voir Politique d'engagement et suite d'algorithmes.

AWS Encryption SDK Suites d'algorithmes
ID de l'algorithme Version du format de message Algorithme de chiffrement Longueur de la clé de données (bits) Algorithme de dérivation de clé Algorithme de signature Algorithme d'engagement clé Longueur des données de la suite d'algorithmes (octets)
05 78 0x02 AES-GCM 256 HKDF avec SHA-512 ECDSA avec et P-384 SHA-384 HKDF avec SHA-512 32 (engagement clé)
04 78 0x02 AES-GCM 256 HKDF avec SHA-512 Aucune HKDF avec SHA-512 32 (engagement clé)
03 78 0x01 AES-GCM 256 HKDF avec SHA-384 ECDSA avec et P-384 SHA-384 Aucune N/A
03 46 0x01 AES-GCM 192 HKDF avec SHA-384 ECDSA avec et P-384 SHA-384 Aucune N/A
02 14 0x01 AES-GCM 128 HKDF avec SHA-256 ECDSA avec et P-256 SHA-256 Aucune N/A
01 78 0x01 AES-GCM 256 HKDF avec SHA-256 Aucune Aucune N/A
01 46 0x01 AES-GCM 192 HKDF avec SHA-256 Aucune Aucune N/A
01 14 0x01 AES-GCM 128 HKDF avec SHA-256 Aucune Aucune N/A
00 78 0x01 AES-GCM 256 Aucune Aucun Aucune N/A
00 46 0x01 AES-GCM 192 Aucune Aucun Aucune N/A
00 14 0x01 AES-GCM 128 Aucune Aucun Aucune N/A
ID de l'algorithme

Valeur hexadécimale sur 2 octets qui identifie de manière unique l'implémentation d'un algorithme. Cette valeur est stockée dans l'en-tête du message chiffré.

Version du format de message

Version du format du message. Les suites d'algorithmes avec engagement clé utilisent le format de message version 2 (0x02). Les suites d'algorithmes sans engagement de clé utilisent le format de message version 1 (0x01).

Longueur des données de la suite d'algorithmes

La longueur en octets des données spécifiques à la suite d'algorithmes. Ce champ n'est pris en charge que dans la version 2 du format de message (0x02). Dans la version 2 du format de message (0x02), ces données apparaissent dans le Algorithm suite data champ de l'en-tête du message. Les suites d'algorithmes qui prennent en charge l'engagement des clés utilisent 32 octets pour la chaîne d'engagement des clés. Pour plus d'informations, voir Algorithme d'engagement clé dans cette liste.

Longueur de la clé de données

Longueur de la clé de données en bits. Il AWS Encryption SDK prend en charge les clés 256 bits, 192 bits et 128 bits. La clé de données est générée par un trousseau de clés ou une clé principale.

Dans certaines implémentations, cette clé de données est utilisée comme entrée dans une fonction de dérivation de clé d' HMAC-basedextraction et d'expansion (HKDF). La sortie de la fonction HKDF est utilisée comme la clé de chiffrement des données dans l'algorithme de chiffrement. Pour plus d'informations, voir Algorithme de dérivation de clés dans cette liste.

Algorithme de chiffrement

Le nom et le mode de l'algorithme de chiffrement utilisé. Les suites d'algorithmes AWS Encryption SDK utilisent l'algorithme de cryptage Advanced Encryption Standard (AES) avec Galois/Counter mode (GCM).

Algorithme d'engagement clé

Algorithme utilisé pour calculer la chaîne d'engagement clé. La sortie est stockée dans le Algorithm suite data champ de l'en-tête du message et est utilisée pour valider la clé de données pour l'engagement de la clé.

Pour une explication technique de l'ajout d'un engagement clé à une suite d'algorithmes, voir Key Committing AEADs in Cryptology ePrint Archive.

Algorithme de dérivation de clé

Fonction de dérivation de HMAC-based clé d'extraction et d'expansion (HKDF) utilisée pour dériver la clé de chiffrement des données. Il AWS Encryption SDK utilise le HKDF défini dans la RFC 5869.

Suites d'algorithmes sans engagement de clé (identifiant de l'algorithme 01xx03xx)

  • La fonction de hachage utilisée est SHA-384 soit SHA-256, selon la suite d'algorithmes.

  • Pour l'étape d'extraction :

    • Aucune valeur salt n'est utilisée. Selon la RFC, le sel est défini sur une chaîne de zéros. La longueur de la chaîne est égale à la longueur de la sortie de la fonction de hachage, qui est de 48 octets pour SHA-384 et 32 octets pour SHA-256.

    • Le matériel de saisie est la clé de données provenant du trousseau de clés ou du fournisseur de clé principale.

  • Pour l'étape de développement :

    • La clé pseudo aléatoire en entrée est la sortie de l'étape d'extraction.

    • Les informations d'entrée sont une concaténation de l'ID de l'algorithme et de l'ID du message (dans cet ordre).

    • La longueur du matériel de saisie de sortie est la longueur de la clé de données. Cette sortie est utilisée comme la clé de chiffrement des données dans l'algorithme de chiffrement.

Suites d'algorithmes avec engagement clé (identifiant d'algorithme 04xx et05xx)

  • La fonction de hachage utilisée est SHA-512.

  • Pour l'étape d'extraction :

    • Le sel est une valeur aléatoire cryptographique de 256 bits. Dans la version 2 du format de message (0x02), cette valeur est stockée dans le MessageID champ.

    • Le matériel de saisie initial est la clé de données du fournisseur du trousseau de clés ou de la clé principale.

  • Pour l'étape de développement :

    • La clé pseudo aléatoire en entrée est la sortie de l'étape d'extraction.

    • L'étiquette de clé correspond aux UTF-8-encoded octets de la DERIVEKEY chaîne dans l'ordre des octets Big Endian.

    • Les informations d'entrée sont une concaténation de l'identifiant de l'algorithme et de l'étiquette de clé (dans cet ordre).

    • La longueur du matériel de saisie de sortie est la longueur de la clé de données. Cette sortie est utilisée comme la clé de chiffrement des données dans l'algorithme de chiffrement.

Version du format de message

Version du format de message utilisé avec la suite d'algorithmes. Pour en savoir plus, consultez Référence Format des messages du kit.

Algorithme de signature

Algorithme de signature utilisé pour générer une signature numérique sur l'en-tête et le corps du texte chiffré. Il AWS Encryption SDK utilise l'algorithme de signature numérique à courbe elliptique (ECDSA) avec les spécificités suivantes :

  • La courbe elliptique utilisée est la P-256 courbe P-384 ou, comme spécifié par l'identifiant de l'algorithme. Ces courbes sont définies dans le document Digital Signature Standard (DSS) (FIPS PUB 186-4).

  • La fonction de hachage utilisée est SHA-384 (avec la P-384 courbe) ou SHA-256 (avec la P-256 courbe).