Qu'est-ce que 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.

Qu'est-ce que AWS Encryption SDK ?

Le kit AWS Encryption SDK est une bibliothèque de chiffrement client conçue pour faciliter pour tous le chiffrement et le déchiffrement de données à l'aide des normes du secteur et des bonnes pratiques. Il vous permet de vous concentrer sur les fonctionnalités intrinsèques de votre application, plutôt que sur la meilleure façon de chiffrer et de déchiffrer vos données. Le kit AWS Encryption SDK est fourni gratuitement dans le cadre de la licence Apache 2.0.

Le kit AWS Encryption SDK répond aux questions suivantes :

  • Quel algorithme de chiffrement dois-je utiliser ?

  • Comment, ou dans lequel mode, devrais-je utiliser cet algorithme ?

  • Comment puis-je générer la clé de chiffrement ?

  • Comment puis-je protéger la clé de chiffrement, et où dois-je la stocker ?

  • Comment puis-je rendre mes données chiffrées portables ?

  • Comment puis-je m'assurer que le destinataire prévu peut lire mes données chiffrées ?

  • Comment puis-je m'assurer que mes données chiffrées ne sont pas modifiées entre leur écriture et leur lecture ?

  • Comment utiliser les clés de données AWS KMS renvoyées ?

Avec leAWS Encryption SDK, vous définissez un fournisseur de clés principales (Java et Python) ou un jeu de clés (C, C#/.NET et JavaScript) qui détermine les clés d'encapsulation que vous utilisez pour protéger vos données. Ensuite, vous chiffrez et déchiffrez vos données à l'aide de méthodes simples fournies par le kit AWS Encryption SDK. Le kit AWS Encryption SDK se charge du reste.

Sans le kit AWS Encryption SDK, il est possible que vous consacriez plus d'efforts au développement d'une solution de chiffrement qu'aux fonctionnalités intrinsèques de votre application. Le kit AWS Encryption SDK répond à ces questions en fournissant les éléments suivants.

Une implémentation par défaut qui respecte les bonnes pratiques de chiffrement

Par défaut, le kit AWS Encryption SDK génère une clé de données unique pour chaque objet de données qu'il chiffre. Cette opération respecte la bonne pratique de chiffrement qui consiste à utiliser des clés de données uniques pour chaque opération de chiffrement.

Le kit AWS Encryption SDK chiffre vos données à l'aide d'un algorithme de clé symétrique sécurisé et authentifié. Pour en savoir plus, consultez Suites d'algorithmes prises en charge dans le kit AWS Encryption SDK.

Un cadre pour protéger les clés de données à l'aide de clés d'encapsulation

AWS Encryption SDKprotège les clés de données qui chiffrent vos données en les chiffrant sous une ou plusieurs clés d'encapsulation. En fournissant un cadre permettant de chiffrer les clés de données à l'AWS Encryption SDKaide de plusieurs clés d'encapsulation, vous contribuez à rendre vos données chiffrées portables.

Par exemple, chiffrez les données sous une AWS KMS key clé d'entrée AWS KMS et une clé à partir de votre HSM local. Vous pouvez utiliser l'une ou l'autre des clés d'encapsulation pour déchiffrer les données, au cas où l'une d'entre elles ne serait pas disponible ou si l'appelant n'est pas autorisé à utiliser les deux clés.

Un message formaté qui stocke les clés de données chiffrées avec les données chiffrées

Le kit AWS Encryption SDK stocke les données chiffrées et la clé de données chiffrée dans un message chiffré qui utilise un format de données défini. Cela signifie que vous n'avez pas besoin d'effectuer le suivi ou de protéger les clés de données utilisées pour chiffrer vos données, car le kit AWS Encryption SDK s'en charge.

Certaines implémentations linguistiques du AWS Encryption SDK nécessitent un AWS SDK, mais AWS Encryption SDK cela n'en nécessite pas Compte AWS et cela ne dépend d'aucun AWS service. Vous Compte AWS n'en avez besoin que si vous choisissez de l'utiliser AWS KMS keyspour protéger vos données.

Développé dans des référentiels open source

AWS Encryption SDKIl est développé dans des référentiels open source sur. GitHub Vous pouvez utiliser ces référentiels pour consulter le code, lire et signaler les problèmes, et trouver des informations spécifiques à l'implémentation de votre langage.

Compatibilité avec les bibliothèques et services de chiffrement

AWS Encryption SDKIl est pris en charge dans plusieurs langages de programmation. Toutes les implémentations de langage sont interopérables. Vous pouvez chiffrer avec une implémentation de langage et déchiffrer avec une autre. L'interopérabilité peut être soumise à des contraintes de langage. Si c'est le cas, ces contraintes sont décrites dans la rubrique relative à l'implémentation du langage. En outre, lors du chiffrement et du déchiffrement, vous devez utiliser des porte-clés compatibles, ou des clés principales et des fournisseurs de clés principales. Pour plus de détails, consultez Compatibilité du porte-clés.

Cependant, le kit AWS Encryption SDK ne peut pas interopérer avec d'autres bibliothèques. Comme chaque bibliothèque renvoie des données chiffrées dans un format différent, vous ne pouvez pas chiffrer avec une bibliothèque et déchiffrer avec une autre.

Client de chiffrement DynamoDB et chiffrement côté client Amazon S3

AWS Encryption SDKImpossible de déchiffrer les données chiffrées par le client de chiffrement DynamoDB ou le chiffrement côté client Amazon S3. Ces bibliothèques ne peuvent pas déchiffrer le message crypté qu'elles AWS Encryption SDK renvoient. 

AWS Key Management Service (AWS KMS)

Les clés de données AWS Encryption SDK peuvent être utilisées AWS KMS keyspour protéger vos données, y compris les clés KMS multirégionales. Par exemple, vous pouvez configurer le AWS Encryption SDK pour crypter vos données sous un ou plusieurs AWS KMS keys de vosCompte AWS. Toutefois, vous devez utiliser le AWS Encryption SDK pour déchiffrer ces données.

AWS Encryption SDKImpossible de déchiffrer le texte chiffré renvoyé par les opérations de AWS KMS chiffrement ou de chiffrement. ReEncrypt De même, l'opération AWS KMS Decrypt ne peut pas déchiffrer le message chiffré renvoyé par AWS Encryption SDK.

Le ne AWS Encryption SDK prend en charge que les clés KMS de chiffrement symétriques. Vous ne pouvez pas utiliser de clé KMS asymétrique pour le chiffrement ou la connexion auAWS Encryption SDK. Le AWS Encryption SDK génère ses propres clés de signature ECDSA pour les suites d'algorithmes qui signent des messages.

Pour vous aider à choisir la bibliothèque ou le service à utiliser, voir Comment choisir un outil ou un service de AWS chiffrement dans Services et outils de chiffrement.

Support et maintenance

Il AWS Encryption SDK utilise la même politique de maintenance que le AWS SDK et les outils, y compris ses phases de version et de cycle de vie. La meilleure pratique consiste à utiliser la dernière version disponible du AWS Encryption SDK pour votre langage de programmation et à effectuer une mise à niveau au fur et à mesure que de nouvelles versions sont publiées. Lorsqu'une version nécessite des modifications importantes, telles que la mise à niveau depuis des AWS Encryption SDK versions antérieures à 1.7. x vers les versions 2.0. x et versions ultérieures, nous fournissons des instructions détaillées pour vous aider.

Chaque implémentation du langage de programmation AWS Encryption SDK est développée dans un GitHub référentiel open source distinct. Le cycle de vie et la phase de support de chaque version sont susceptibles de varier selon les référentiels. Par exemple, une version donnée de AWS Encryption SDK peut être en phase de disponibilité générale (support complet) dans un langage de programmation, mais en end-of-support phase dans un autre langage de programmation. Nous vous recommandons d'utiliser une version entièrement prise en charge dans la mesure du possible et d'éviter les versions qui ne sont plus prises en charge.

Pour connaître la phase du cycle de vie des AWS Encryption SDK versions de votre langage de programmation, consultez le SUPPORT_POLICY.rst fichier de chaque AWS Encryption SDK référentiel.

Pour plus d'informations, consultez la section « Politique de maintenance AWS des SDK Versions du AWS Encryption SDK et des outils » dans le Guide de référence AWS des SDK et des outils.

En savoir plus

Si vous souhaitez en savoir plus sur le kit AWS Encryption SDK et le chiffrement côté client, veuillez consulter ces sources.

Pour de plus amples informations sur l'implémentation du kit AWS Encryption SDK dans différents langages de programmation.

Envoyer un commentaire

Nous apprécions vos commentaires. Si vous avez une question ou un commentaire, ou un problème à signaler, veuillez utiliser les ressources suivantes.

  • Si vous découvrez une vulnérabilité de sécurité potentielle dans le kit AWS Encryption SDK, veuillez avertir la sécurité AWS. Ne créez pas de GitHub problème public.

  • Pour fournir des commentaires sur leAWS Encryption SDK, signalez un problème dans le GitHub référentiel du langage de programmation que vous utilisez.

  • Pour nous faire part de vos commentaires sur cette documentation, utilisez les liens de commentaires sur cette page. Vous pouvez également déposer un problème ou contribuer au aws-encryption-sdk-docsréférentiel open source pour cette documentation sur GitHub.