AWS Encryption SDK référence du vecteur d'initialisation - 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 du vecteur d'initialisation

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 utiliser le AWS Encryption SDK dans l'un des langages de programmation pris en charge, voirLangages 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.

Le AWS Encryption SDK fournit les vecteurs d'initialisation (IVs) requis par toutes les suites d'algorithmes prises en charge. Il SDK utilise des numéros de séquence de trames pour construire un IV afin que deux trames d'un même message ne puissent pas avoir le même IV.

Chaque vecteur d'initialisation de 96 bits (12 octets) est construit à partir de deux tableaux d'octets de poids fort concaténés dans l'ordre suivant :

  • 64 bits : 0 (réservé pour une utilisation ultérieure)

  • 32 bits : numéro de séquence du cadre. Pour la balise d'authentification de l'en-tête, cette valeur est uniquement constituée de zéros.

Avant l'introduction de la mise en cache des clés de données, ils utilisaient AWS Encryption SDK toujours une nouvelle clé de données pour chiffrer chaque message, et le tout IVs était généré de manière aléatoire. Les données générées aléatoirement IVs étaient sûres du point de vue cryptographique, car les clés de données n'étaient jamais réutilisées. Lorsque la mise en cache des clés de données SDK a été introduite, qui réutilise intentionnellement les clés de données, nous avons changé la façon dont elles sont SDK généréesIVs.

L'utilisation d'un déterministe IVs qui ne peut pas être répété dans un message augmente considérablement le nombre d'invocations pouvant être exécutées en toute sécurité avec une seule clé de données. En outre, les clés de données qui sont mises en cache utilisent toujours une suite d'algorithmes avec une fonction de dérivation de clés. L'utilisation d'un IV déterministe avec une fonction de dérivation de clé pseudo-aléatoire pour dériver des clés de chiffrement à partir d'une clé de données permet de chiffrer 2^32 AWS Encryption SDK messages sans dépasser les limites cryptographiques.