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
Note
Notre bibliothèque de chiffrement côté client a été renommée AWS Database Encryption SDK. La rubrique suivante fournit des informations sur les versions 1. x —2. x du client de chiffrement DynamoDB pour Java et versions 1. x —3. x du client de chiffrement DynamoDB pour Python. Pour plus d'informations, consultez la section SDK AWS de chiffrement de base de données pour la prise en charge des versions DynamoDB.
Cette rubrique explique les concepts et la terminologie utilisés dans le client de chiffrement Amazon DynamoDB.
Pour savoir comment les composants du client de chiffrement DynamoDB interagissent, consultez. Fonctionnement du client de chiffrement DynamoDB
Rubriques
Fournisseur CMP (Cryptographic Materials Provider)
Lorsque vous implémentez le client de chiffrement DynamoDB, l'une de vos premières tâches consiste à sélectionner un fournisseur de matériel cryptographique (CMP) (également appelé fournisseur de matériel 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 modèles de CMPs la bibliothèque. La plupart CMPs sont disponibles pour plusieurs langages de programmation.
Chiffreurs d'éléments
Le chiffreur d'éléments est un composant de niveau inférieur qui effectue des 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, le client de chiffrement DynamoDB pour Java inclut AttributeEncryptor
une classe d'assistance que vous pouvez utiliser avec DynamoDBMapper
le chiffreur d'éléments, au lieu d'interagir directement avec celui-ci. DynamoDBEncryptor
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 — Chiffrez la valeur de l'attribut. Incluez l'attribut (nom et valeur) dans la signature de l'élément.
-
Signe uniquement — Incluez l'attribut dans la signature de l'article.
-
Ne rien faire : ne chiffrez pas et ne signez pas 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 les éléments de votre table, vous ne pouvez pas modifier l'action d'un attribut sans risquer une erreur de validation de signature. Pour plus de détails, consultez Modification de votre modèle de données.
Avertissement
Ne chiffrez pas les attributs de la clé primaire. Ils doivent rester en texte brut pour que DynamoDB puisse trouver l'élément sans exécuter une analyse complète du tableau.
Si le contexte de chiffrement DynamoDB identifie les attributs de votre 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 le client de chiffrement DynamoDB, la description matérielle fait référence à trois éléments connexes :
- Description du matériau demandé
-
Certains fournisseurs de matériel cryptographique (CMPs) vous permettent de définir des options avancées, telles qu'un algorithme de chiffrement. Pour indiquer vos choix, vous ajoutez des paires nom-valeur à la propriété de description matérielle du contexte de chiffrement DynamoDB dans votre demande de chiffrement d'un élément de table. 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 matérielle renvoyée par les fournisseurs de matériel cryptographique (CMPs) est connue sous le nom de description matérielle réelle. 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
Le contexte de chiffrement DynamoDB fournit des informations sur la table et l'élément au fournisseur de matériel cryptographique (CMP). Dans les implémentations avancées, le contexte de chiffrement DynamoDB peut inclure une description matérielle demandée.
Lorsque vous chiffrez des éléments de table, le contexte de chiffrement DynamoDB est lié cryptographiquement aux valeurs d'attributs chiffrées. Lorsque vous déchiffrez, si le contexte de chiffrement DynamoDB ne correspond pas exactement, en distinguant majuscules et minuscules, au contexte de chiffrement DynamoDB utilisé pour le chiffrement, l'opération de déchiffrement échoue. Si vous interagissez directement avec le chiffreur d'éléments, 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 le contexte de chiffrement DynamoDB pour vous.
Note
Le contexte de chiffrement DynamoDB dans le client de chiffrement DynamoDB n'est pas lié au contexte de chiffrement dans () et le. AWS Key Management Service AWS KMS AWS Encryption SDK
Le contexte de chiffrement DynamoDB peut inclure les champs suivants. Tous les champs et valeurs sont facultatifs.
-
Nom de la table
-
Nom de la clé de partition
-
Nom de la clé de tri
-
Paires nom-valeur des attributs
Magasin de fournisseur
Une boutique de fournisseurs est un composant qui renvoie des fournisseurs de matériel cryptographique (CMPs). Le magasin du fournisseur peut les créer CMPs ou les obtenir à partir d'une autre source, telle qu'un autre magasin du fournisseur. Le magasin du fournisseur enregistre les versions CMPs qu'il crée dans un stockage persistant dans lequel chaque CMP stocké est identifié par le nom matériel du demandeur et le numéro de version.
Le fournisseur le plus récent du client de chiffrement DynamoDB l'obtient CMPs auprès d'un magasin du fournisseur, mais vous pouvez utiliser le magasin du fournisseur pour CMPs approvisionner n'importe quel composant. Chaque fournisseur le plus récent est associé à une boutique de fournisseurs, mais une boutique de fournisseurs peut fournir des CMPs informations à de nombreux demandeurs sur plusieurs hôtes.
Le magasin du fournisseur crée de nouvelles versions CMPs de On Demand et renvoie 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 MetaStoreun magasin fournisseur qui crée des clés CMPs Wrapped qui sont stockées dans DynamoDB et chiffrées à l'aide d'un client de chiffrement DynamoDB interne.
En savoir plus :