Concepts du client de chiffrement Amazon DynamoDB - Client de chiffrement Amazon DynamoDB

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.

Concepts du client de chiffrement Amazon DynamoDB

Cette rubrique explique les concepts et la terminologie utilisés dans Amazon DynamoDB Encryption Client.

Pour apprendre comment les composants du client de chiffrement DynamoDB interagissent, consultezFonctionnement du client de chiffrement DynamoDB.

Fournisseur CMP (Cryptographic Materials Provider)

Lorsque vous implémentez le client de chiffrement DynamoDB, l'une de vos premières tâches consiste à :Sélection d'un fournisseur CMP(CMP) (également appeléFournisseur de matériaux de chiffrement). Votre choix détermine une grande part du reste de l'implémentation.

Un fournisseur CMP recueille, assemble et retourne les matériaux de chiffrement que le chiffreur d'élément utilise pour chiffrer et signer vos éléments de table. Le CMP détermine les algorithmes de chiffrement à utiliser, ainsi que la façon de générer et de protéger le chiffrement et les clés de signature.

Le fournisseur CMP interagit avec le chiffreur d'élément. Celui-ci demande les matériaux de chiffrement ou de déchiffrement au CMP, et le CMP les retourne au chiffreur d'élément. Puis, celui-ci utilise les matériaux de chiffrement pour chiffrer et signer, ou vérifier et déchiffrer, l'élément.

Vous spécifiez le CMP lorsque vous configurez le client. Vous pouvez créer un CMP personnalisé compatible ou utiliser l'un des nombreux CMP de la bibliothèque. La plupart des CMP sont disponibles en plusieurs langages de programmation.

Chiffreurs d'éléments

LeChiffreur d'élémentest un composant de bas niveau qui effectue les opérations de chiffrement pour le client de chiffrement DynamoDB. Il demande les matériaux de chiffrement auprès d'un fournisseur CMP, puis utilise les matériaux retournés par le CMP pour chiffrer et signer, ou vérifier et déchiffrer, votre élément de table.

Vous pouvez interagir directement avec le chiffreur d'élément ou utiliser les annotations fournis par votre bibliothèque. Par exemple, DynamoDB Encryption Client for Java inclut unAttributeEncryptorclasse d'assistance que vous pouvez utiliser avec leDynamoDBMapper, au lieu d'interagir directement avec leDynamoDBEncryptorChiffreur d'élément. La bibliothèque Python inclut les classes d'annotations EncryptedTable, EncryptedClient et EncryptedResource qui interagissent avec le chiffreur d'éléments pour vous.

Actions d'attribut

Les actions d'attribut informent le chiffreur d'élément des actions à exécuter sur chaque attribut de l'élément.

L'action d'attribut peut avoir l'une des valeurs suivantes :

  • Chiffrer et signer— Chiffrer la valeur d'attribut. Incluez l'attribut (nom et valeur) dans la signature de l'élément.

  • Signer uniquement— Inclure l'attribut dans la signature de l'élément.

  • Ne rien faire— Ne pas chiffrer ou signer l'attribut.

Pour tout attribut pouvant stocker des données sensibles, utilisez Chiffrer et signer. Pour les attributs de clé primaire (clé de partition et clé de tri), utilisez Signer uniquement. L'attribut de description de matériau et l'attribut de signature ne sont pas signés ou chiffrés. Vous n'avez pas besoin de spécifier les actions d'attribut pour ces attributs.

Choisissez soigneusement vos actions d'attribut. En cas de doute, utilisez Chiffrer et signer. Une fois que vous avez utilisé le client de chiffrement DynamoDB pour protéger vos éléments de table, vous ne pouvez pas modifier l'action d'un attribut sans risquer une erreur de validation de signature. Pour en savoir plus, consultez Modification de votre modèle de données.

Avertissement

Ne chiffrez pas les attributs de la clé primaire. Ceux-ci doivent rester en texte brut pour que DynamoDB puisse trouver l'élément sans exécuter une analyse complète de la table.

Si l'icôneClient de chiffrement DynamoDBIdentifie vos attributs de clé primaire, le client génère une erreur si vous essayez de les chiffrer.

La technique que vous utilisez pour spécifier les actions d'attribut dépend du langage de programmation que vous utilisez. Elle peut aussi être spécifique aux classes d'annotations que vous utilisez.

Pour plus d'informations, consultez la documentation de votre langage de programmation.

Description du matériau

La description du matériau pour un élément de table chiffré se compose d'informations, telles que les algorithmes de chiffrement, sur la façon dont l'élément de table est chiffré et signé. Le fournisseur CMP enregistre la description du matériau tandis qu'il rassemble les matériaux de chiffrement pour le chiffrement et la signature. Par la suite, quand il doit rassembler les matériaux de chiffrement pour vérifier et chiffrer l'élément, il utilise la description du matériau comme guide.

Dans DynamoDB Encryption Client, la description du matériau fait référence à trois éléments associés :

Description du matériau demandé

Certains fournisseurs CMP permettent de spécifier des options avancées, comme un algorithme de chiffrement. Pour indiquer vos choix, vous ajoutez des paires nom-valeur à la propriété de description du matériau duClient de chiffrement DynamoDBdans votre demande de chiffrement d'un élément de tableau. L'élément est appelé description du matériau demandé. Les valeurs autorisées pour la description du matériau demandé sont définies par le fournisseur CMP que vous choisissez.

Note

Comme la description du matériau peut remplacer les valeurs par défaut sécurisées, il est recommandé d'omettre la description du matériau demandé à moins que vous n'ayez une excellente raison de l'utiliser.

Description du matériau réel

La description du matériau que les fournisseurs CMP retournent est appelée description du matériau réel. Elle décrit les valeurs réelles que le CMP a utilisées quand il a rassemblé les matériaux de chiffrement. Elle se compose généralement de la description du matériau demandé, le cas échéant, avec les ajouts et les modifications.

Attribut de description du matériau

Le client enregistre la description du matériau réel dans l'attribut de description du matériau de l'élément chiffré. Le nom de l'attribut de description du matériau est amzn-ddb-map-desc et sa valeur est la description du matériau réel. Le client utilise les valeurs de l'attribut de description du matériau pour vérifier et déchiffrer l'élément.

Client de chiffrement DynamoDB

LeClient de chiffrement DynamoDBfournit les informations sur la table et l'élément auFournisseur de matériaux de chiffrement(CMP). Dans les implémentations avancées, le contexte de chiffrement DynamoDB peut inclure unDescription du matériau demandé.

Lorsque vous chiffrez des éléments de table, le contexte de chiffrement DynamoDB est lié cryptographiquement aux valeurs d'attribut chiffrées. Lorsque vous déchiffrez, si le contexte de chiffrement DynamoDB n'est pas une correspondance exacte et sensible à la casse pour le contexte de chiffrement DynamoDB utilisé pour chiffrer, l'opération de déchiffrement échoue. Si vous interagissez avecChiffreur d'élémentdirectement, vous devez fournir un contexte de chiffrement DynamoDB lorsque vous appelez une méthode de chiffrement ou de déchiffrement. La plupart des assistants créent automatiquement le contexte de chiffrement DynamoDB.

Note

LeClient de chiffrement DynamoDBdans DynamoDB Encryption Client n'est pas lié aucontexte de chiffrementdansAWS Key Management Service(AWS KMS) et leAWS Encryption SDK.

Le contexte de chiffrement DynamoDB peut inclure les champs suivants. Tous les champs et valeurs sont facultatifs.

Magasin de fournisseur

Un magasin de fournisseur est un composant qui retourne les fournisseurs CMP. Le magasin de fournisseur peut créer les CMP ou les obtenir d'une autre source, telle qu'un autre magasin de fournisseur. Le fournisseur de magasin enregistre les versions des CMP qu'il crée dans un stockage permanent où chaque fournisseur CMP stocké est identifié par le nom du matériau du demandeur et le numéro de version.

LeÀ propos du fournisseur le plus récentDans DynamoDB Encryption Client, obtient ses fournisseurs CMP d'un magasin de fournisseur, mais vous pouvez utiliser le magasin de fournisseur pour fournir les CMP à quelque composant que ce soit. Chaque fournisseur le plus récent est associé à un magasin de fournisseur, mais un magasin de fournisseur peut fournir les CMP à la plupart des demandeurs sur plusieurs hôtes.

Le magasin de fournisseur crée de nouvelles versions des fournisseurs CMP à la demande, et retourne les versions nouvelles et existantes. Il retourne aussi le dernier numéro de version d'un nom de matériau donné. Le demandeur peut ainsi savoir lorsque le magasin de fournisseur a une nouvelle version de son fournisseur, puis la demander.

Le client de chiffrement DynamoDB inclut unMetaStore, c'est-à-dire un magasin de fournisseur qui crée des fournisseurs CMP encapsulés ; ceux-ci sont stockés dans DynamoDB et chiffrés à l'aide d'un client de chiffrement DynamoDB interne.

En savoir plus :