Qu'est-ce que c'est 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 c'est AWS Encryption SDK ?

AWS Encryption SDK Il s'agit d'une bibliothèque de chiffrement côté client conçue pour permettre à chacun de chiffrer et de déchiffrer facilement les données conformément aux normes et aux meilleures pratiques du secteur. 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. AWS Encryption SDK Il est fourni gratuitement sous la licence Apache 2.0.

Les AWS Encryption SDK réponses à des questions telles que les suivantes s'adressent à vous :

  • 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 le AWS Encryption SDK, vous définissez un fournisseur de clés principales (Python) ou un trousseau de clés (C, C#/). NET, Java et JavaScript) qui détermine les clés d'encapsulation que vous utilisez pour protéger vos données. Ensuite, vous cryptez et déchiffrez vos données à l'aide de méthodes simples fournies par le. AWS Encryption SDK Il AWS Encryption SDK fait le reste.

Sans cela AWS Encryption SDK, vous pourriez consacrer plus d'efforts à la création d'une solution de chiffrement qu'aux fonctionnalités de base de votre application. Les AWS Encryption SDK réponses à 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 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.

AWS Encryption SDK Chiffre vos données à l'aide d'un algorithme de clé symétrique sécurisé et authentifié. Pour de plus amples informations, veuillez consulter 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 SDK protè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'aide de plusieurs clés d'encapsulation, AWS Encryption SDK cela contribue à rendre vos données chiffrées portables.

Par exemple, chiffrez les données à l'aide d'une clé AWS KMS key d' AWS KMS entrée et d'une clé depuis votre site. HSM 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

Les AWS Encryption SDK données cryptées et la clé de données cryptées sont stockées ensemble dans un message crypté utilisant un format de données défini. Cela signifie que vous n'avez pas besoin de suivre ou de protéger les clés de données qui chiffrent vos données, car elles le AWS Encryption SDK font pour vous.

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 SDK Il 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 SDK Il 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, ils AWS Encryption SDK ne peuvent pas interagir 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 SDK Impossible 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)

AWS Encryption SDK Les clés d'utilisation AWS KMS keyset de données pour protéger vos données, y compris les KMS clés multirégionales. Par exemple, vous pouvez configurer le AWS Encryption SDK pour crypter vos données sous un ou plusieurs AWS KMS keys de vos Compte AWS. Cependant, vous devez utiliser le AWS Encryption SDK pour déchiffrer ces données.

AWS Encryption SDK Impossible 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 de AWS KMS déchiffrement ne peut pas déchiffrer le message chiffré renvoyé. AWS Encryption SDK

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

Support et maintenance

AWS Encryption SDK utilise la même politique de maintenance que les outils AWS SDK et, notamment, ses phases de gestion des versions 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 les sections Versions du AWS Encryption SDK et AWS SDKset Politique de maintenance des outils dans le Guide de référence des outils AWS SDKs et outils.

En savoir plus

Pour plus d'informations sur le chiffrement côté client AWS Encryption SDK et côté client, essayez ces sources.

Pour plus d'informations sur les implémentations du 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 faille de sécurité potentielle dans le AWS Encryption SDK, veuillez en informer le service AWS de sécurité. Ne créez pas de GitHub problème public.

  • Pour fournir des commentaires sur le AWS 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.