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.
Questions fréquentes (FAQ)
Questions fréquentes (FAQ)
Comment se passe le AWS Encryption SDK différent de AWS Des kits de développement logiciel ?
Comment se passe le AWS Encryption SDK différent du client de chiffrement Amazon S3 ?
Comment est généré le vecteur d'initialisation et où est-il stocké ?
Comment est générée, chiffrée et déchiffrée chaque clé de données ?
Puis-je utiliser mon propre fournisseur de clés principales ?
Puis-je chiffrer des données sous plusieurs clés d'encapsulage ?
Quels types de données puis-je crypter avec AWS Encryption SDK?
Comment fonctionne le AWS Encryption SDK crypter et déchiffrer input/output (I/O) les flux ?
Comment se passe le AWS Encryption SDK différent de AWS Des kits de développement logiciel ?
Les AWS kits SDK
Vous pouvez utiliser les AWS SDK pour interagir AWS KMS, notamment pour chiffrer et déchiffrer de petites quantités de données (jusqu'à 4 096 octets avec une clé de chiffrement symétrique) et générer des clés de données pour le chiffrement côté client. Toutefois, lorsque vous générez une clé de données, vous devez gérer l'ensemble du processus de chiffrement et de déchiffrement, y compris le chiffrement de vos données avec la clé de données extérieure, la suppression de la clé de données en texte brut en toute sécurité AWS KMS, le stockage de la clé de données cryptée, puis le déchiffrement de la clé de données et le déchiffrement de vos données. Il AWS Encryption SDK gère ce processus pour vous.
AWS Encryption SDK Il fournit une bibliothèque qui chiffre et déchiffre les données conformément aux normes et aux meilleures pratiques de l'industrie. Il génère la clé de données, la chiffre à l'aide des clés d'encapsulation que vous spécifiez et renvoie un message chiffré, un objet de données portable qui inclut les données cryptées et les clés de données cryptées dont vous avez besoin pour les déchiffrer. Au moment du déchiffrement, vous transmettez le message crypté et au moins l'une des clés d'emballage (facultatif), puis vous AWS Encryption SDK renvoyez vos données en texte brut.
Vous pouvez les utiliser AWS KMS keys comme clés d'emballage dans le AWS Encryption SDK, mais ce n'est pas obligatoire. Vous pouvez utiliser les clés de chiffrement que vous générez et celles provenant de votre gestionnaire de clés ou de votre module de sécurité matériel local. Vous pouvez l'utiliser AWS Encryption SDK même si vous n'avez pas de AWS compte.
Comment se passe le AWS Encryption SDK différent du client de chiffrement Amazon S3 ?
Le client de chiffrement Amazon S3 inclus dans les AWS kits SDK permet de chiffrer et de déchiffrer les données que vous stockez dans Amazon Simple Storage Service (Amazon S3). Ces clients sont étroitement liés à Amazon S3 et sont destinés à être utilisés uniquement avec les données qui y sont stockées.
AWS Encryption SDK Il permet de chiffrer et de déchiffrer les données que vous pouvez stocker n'importe où. Le client de chiffrement AWS Encryption SDK et Amazon S3 ne sont pas compatibles car ils produisent des textes chiffrés avec des formats de données différents.
Quels algorithmes cryptographiques sont pris en charge par AWS Encryption SDK, et laquelle est la valeur par défaut ?
Il AWS Encryption SDK utilise l'algorithme symétrique Advanced Encryption Standard (AES) en Galois/Counter mode (GCM), connu sous le nom de AES-GCM, pour crypter vos données. Il vous permet de choisir parmi plusieurs algorithmes symétriques et asymétriques pour chiffrer les clés de données qui chiffrent vos données.
Pour AES-GCM, la suite d'algorithmes par défaut comprend une clé AES-GCM de 256 bits, une dérivation de clé (HKDF), des signatures Signatures numériques numériques et un engagement de clé. Engagement clé AWS Encryption SDK prend également en charge les clés de chiffrement 192 bits et 128 bits et les algorithmes de cryptage sans signature numérique ni engagement de clé.
Dans tous les cas, la longueur du vecteur d'initialisation est de 12 octets ; la longueur de la balise d'authentification est de 16 octets. Par défaut, le SDK utilise la clé de données comme entrée de la fonction de dérivation de clé d' HMAC-based extraction et d'expansion (HKDF) pour dériver la clé de AES-GCM cryptage, et ajoute également une signature ECDSA (Elliptic Curve Digital Signature Algorithm).
Pour plus d'informations sur le choix de l'algorithme à utiliser, consultez Suites d'algorithmes prises en charge.
Pour obtenir des détails sur l'implémentation des algorithmes pris en charge, consultez Référence relative aux algorithmes du kit.
Comment est généré le vecteur d'initialisation et où est-il stocké ?
Il AWS Encryption SDK utilise une méthode déterministe pour construire une valeur IV différente pour chaque trame. Cette procédure garantit que les IV ne sont jamais répétées dans un message. (Avant la version 1.3.0 de Kit SDK de chiffrement AWS pour Java and the Kit SDK de chiffrement AWS pour Python, une valeur IV unique était générée de AWS Encryption SDK manière aléatoire pour chaque image.)
L'IV est stocké dans le message crypté qu'il AWS Encryption SDK renvoie. Pour de plus amples informations, veuillez consulter AWS Encryption SDK référence de format de message.
Comment est générée, chiffrée et déchiffrée chaque clé de données ?
La méthode dépend du porte-clés ou du fournisseur de clé principale que vous utilisez.
Les AWS KMS trousseaux de clés et les fournisseurs de clés principales du AWS Encryption SDK système utilisent l'opération AWS KMS GenerateDataKey API pour générer chaque clé de données et la chiffrer sous sa clé d'encapsulation. Pour chiffrer des copies de la clé de données sous des clés KMS supplémentaires, ils utilisent l'opération AWS KMS Encrypt. Pour déchiffrer les clés de données, ils utilisent l'opération AWS KMS Decrypt. Pour plus de détails, voir le AWS KMS
porte-clés
D'autres porte-clés génèrent la clé de données, chiffrent et déchiffrent en utilisant les meilleures méthodes pour chaque langage de programmation. Pour plus de détails, consultez la spécification du porte-clés ou du fournisseur de clé principale dans la section Framework
Comment puis-je effectuer le suivi des clés de données qui ont été utilisées pour chiffrer mes données ?
Il le AWS Encryption SDK fait pour toi. Lorsque vous chiffrez des données, le kit SDK chiffre la clé de données et stocke la clé chiffrée ainsi que les données chiffrées dans le message chiffré qu'il renvoie. Lorsque vous déchiffrez des données, le kit AWS Encryption SDK extrait la clé de données chiffrée du message chiffré, la déchiffre, puis l'utilise pour déchiffrer les données.
Comment fonctionne le AWS Encryption SDK stocker les clés de données cryptées avec leurs données cryptées ?
Les opérations de chiffrement AWS Encryption SDK renvoient un message crypté, une structure de données unique contenant les données cryptées et leurs clés de données cryptées. Le format de message se compose d'au moins deux parties : un en-tête et un corps. L'en-tête du message contient les clés de données chiffrées, ainsi que des informations sur la manière dont le corps du message est formé. Le corps du message contient les données chiffrées. Si la suite d'algorithmes inclut une signature numérique, le format du message inclut un pied de page contenant la signature. Pour de plus amples informations, veuillez consulter AWS Encryption SDK référence de format de message.
Quel est le montant des frais généraux AWS Encryption SDK format de message ajouter à mes données cryptées ?
Le montant des frais généraux ajoutés AWS Encryption SDK dépend de plusieurs facteurs, notamment les suivants :
-
La taille des données en texte brut
-
L'algorithme pris en charge utilisé
-
Le fait que les données authentifiées supplémentaires (données AAD) sont fournies ou non, et la longueur de ces données AAD
-
Le nombre et le type de clés d'emballage ou de clés principales
-
La taille du cadre (lorsque des données encadrées sont utilisées)
Lorsque vous utilisez the AWS Encryption SDK avec sa configuration par défaut (une AWS KMS key comme clé d'encapsulation (ou clé principale), pas d'AAD, des données non encadrées et un algorithme de cryptage avec signature), la surcharge est d'environ 600 octets. En général, vous pouvez raisonnablement considérer que le kit AWS Encryption SDK ajoute une surcharge de 1 Ko au maximum, sans compter les données AAD fournies. Pour de plus amples informations, veuillez consulter AWS Encryption SDK référence de format de message.
Puis-je utiliser mon propre fournisseur de clés principales ?
Oui. Les détails de mise en œuvre varient en fonction du langage de programmation pris en charge que vous utilisez. Cependant, tous les langages pris en charge vous permettent de définir des gestionnaires de matériel cryptographique (MMM) personnalisés, des fournisseurs de clés principales, des porte-clés, des clés principales et des clés d'emballage.
Puis-je chiffrer des données sous plusieurs clés d'encapsulage ?
Oui. Vous pouvez chiffrer la clé de données avec des clés d'encapsulation supplémentaires (ou clés principales) pour ajouter de la redondance lorsque la clé se trouve dans une autre région ou qu'elle n'est pas disponible pour le déchiffrement.
Pour chiffrer les données sous plusieurs clés d'encapsulation, créez un trousseau de clés ou un fournisseur de clé principale avec plusieurs clés d'encapsulation. Lorsque vous travaillez avec des porte-clés, vous pouvez créer un seul porte-clés avec plusieurs clés d'encapsulage ou un porte-clés multiple.
Lorsque vous chiffrez des données à l'aide de plusieurs clés d'encapsulation, une clé d'encapsulation est AWS Encryption SDK utilisée pour générer une clé de données en texte brut. La clé de données est unique et n'est mathématiquement pas liée à la clé d'encapsulation. L'opération renvoie la clé de données en texte brut et une copie de la clé de données chiffrée par la clé d'encapsulation. Ensuite, la méthode de cryptage chiffre la clé de données avec les autres clés d'encapsulation. Le message chiffré qui en résulte comprend les données chiffrées et une clé de données chiffrée pour chaque clé d'encapsulation.
Le message chiffré peut être déchiffré à l'aide de l'une quelconque des clés d'encapsulation utilisées lors de l'opération de chiffrement. Il AWS Encryption SDK utilise une clé d'encapsulation pour déchiffrer une clé de données cryptée. Ensuite, il utilise la clé de données en texte brut pour déchiffrer les données.
Quels types de données puis-je crypter avec AWS Encryption SDK?
La plupart des implémentations de langages de programmation AWS Encryption SDK peuvent chiffrer des octets bruts (tableaux d'octets), des I/O flux (flux d'octets) et des chaînes. Le AWS Encryption SDK for .NET ne prend pas en charge I/O les flux. Nous fournissons des exemples de code pour chacun des langages de programmation pris en charge.
Comment fonctionne le AWS Encryption SDK crypter et déchiffrer input/output (I/O) les flux ?
AWS Encryption SDK Crée un flux de chiffrement ou de déchiffrement qui enveloppe un flux sous-jacent. I/O Le flux de chiffrement ou de déchiffrement effectue une opération de chiffrement sur un appel en lecture ou en écriture. Par exemple, il peut lire les données en texte brut sur le flux sous-jacent et les chiffrer avant de renvoyer le résultat. Ou il peut lire un texte chiffré à partir d'un flux sous-jacent et le déchiffrer avant de renvoyer le résultat. Nous fournissons un exemple de code pour chiffrer et déchiffrer les flux pour chacun des langages de programmation compatibles avec le streaming.
Le AWS Encryption SDK for .NET ne prend pas en charge I/O les flux.