Chiffrement côté client et côté serveur - 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.

Chiffrement côté client et côté serveur

Le client de chiffrement DynamoDB prend en chargeChiffrement côté client, où vous chiffrez les données de vos tables avant de les envoyer à DynamoDB. Toutefois, DynamoDB fournit un côté serveurChiffrement au reposqui chiffre votre table de façon transparente quand elle est conservée sur disque et la déchiffre quand vous y accédez.

Les outils que vous choisissez dépendent de la sensibilité de vos données et des exigences de sécurité de votre application. Vous pouvez utiliser le client de chiffrement DynamoDB et le chiffrement au repos. Lorsque vous envoyez des éléments chiffrés et signés à DynamoDB, DynamoDB ne reconnaît pas les éléments comme étant protégés. Il détecte simplement les éléments de table classiques avec ses valeurs d'attribut binaires.

Chiffrement côté serveur au repos

Prise en charge de DynamoDBChiffrement au repos, unchiffrement côté serveurdans laquelle DynamoDB chiffre automatiquement de façon transparente vos tables quand la table est conservée sur disque et les déchiffre quand vous accédez aux données de la table.

Avec le chiffrement côté serveur, vos données sont chiffrées en transit via une connexion HTTPS, déchiffrées au point de terminaison DynamoDB, puis à nouveau chiffrées avant d'être stockées dans DynamoDB.

  • Chiffrement par défaut. DynamoDB chiffre et déchiffre de façon transparente toutes les tables quand elles sont écrites sur le disque. Aucune option ne permet d'activer ou de désactiver le chiffrement au repos.

  • DynamoDB crée et gère les clés de chiffrement.La clé unique de chaque table est protégée par uneAWS KMS keyqui ne part jamaisAWS Key Management Service(AWS KMS) non chiffré. Par défaut, DynamoDB utilise unClé détenue par AWSdans le compte de service DynamoDB, mais vous pouvez choisir unClé gérée par AWSouclé gérée par le clientdans votre compte pour protéger une partie ou la totalité de vos tables.

  • Toutes les données des tables sont chiffrées sur disque.Lorsqu'une table chiffrée est enregistrée sur le disque, DynamoDB chiffre toutes les données de la table, inclus leclé primaireet local et mondialIndex secondaires. Si votre table a une clé de tri, certaines clés de tri qui marquent les limites de plage sont stockées en texte brut dans les métadonnées de la table.

  • Les objets liés aux tables sont également chiffrés. Le chiffrement au repos protègeDynamoDB Streams,Tables globales, etsauvegardeschaque fois qu'ils sont écrits sur des supports durables.

  • Vos éléments sont déchiffrés lorsque vous y accédez.Lorsque vous accédez à la table, DynamoDB déchiffre la partie de la table qui inclut votre élément cible et vous retourne l'élément en texte brut.

 

Client de chiffrement DynamoDB

Le chiffrement côté client fournitend-to-endla protection de vos données, en transit et au repos, depuis sa source jusqu'au stockage dans DynamoDB. Vos données en texte brut ne sont jamais exposées à une partie tierce, AWS inclus. Toutefois, le client de chiffrement DynamoDB est conçu pour être implémenté dans de nouvelles bases de données non remplies. Vous devez ajouter les fonctions de chiffrement à vos applications DynamoDB avant d'envoyer des données à DynamoDB.

  • Vos données sont protégées en transit et au repos. Elles ne sont jamais exposées à une partie tierce, inclusAWS.

  • Vous pouvez signer les éléments de vos tables. Vous pouvez demander au client de chiffrement DynamoDB de calculer une signature sur tout ou partie d'un élément de table, attributs de clé primaire et nom de table inclus. Cette signature vous permet de détecter les modifications non autorisées sur l'élément comme un tout, y compris l'ajout ou la suppression d'attributs, ou le remplacement d'une valeur d'attribut par une autre.

  • Vous choisissez de quelle façon vos clés de chiffrement sont générées et protégées. Vous pouvez les créer et les gérer vous-même, ou utiliser un service de chiffrement comme AWS Key Management Service ou AWS CloudHSM pour générer et protéger vos clés.

  • Vous déterminez la façon dont vos données sont protégées en sélectionnant un fournisseur CMP ou en en écrivant un. Le CMP détermine la stratégie de chiffrement utilisée, y compris à quel moment les clés uniques sont générées, ainsi que les algorithmes de chiffrement et de signature utilisés.

  • Le client de chiffrement DynamoDB ne chiffre pas la totalité de la table. Vous pouvez chiffrer les éléments sélectionnés dans une table, ou les valeurs d'attribut sélectionnées dans tout ou partie des éléments. Cependant, le client de chiffrement DynamoDB ne chiffre pas la totalité d'un élément. Il ne chiffre pas les noms d'attribut, ou les noms ou valeurs des attributs de clé primaire (clé de partition et clé de tri). Pour plus d'informations sur ce qui est chiffré (et ce qui ne l'est pas), consultez Quels sont les champs chiffrés et signés ?.

 

AWS Encryption SDK

Si vous chiffrez les données que vous stockez dans DynamoDB, nous vous recommandons d'utiliser DynamoDB Chiffrement Client.

Le kit AWS Encryption SDK est une bibliothèque de chiffrement côté serveur qui vous aide à chiffrer et déchiffrer les données génériques. Même s'il peut protéger tout type de données, il n'est pas conçu pour fonctionner avec des données structurées, comme les enregistrements de base de données. Contrairement au client de chiffrement DynamoDB, leAWS Encryption SDKne peut pas fournir de contrôle d'intégrité au niveau élément et n'a pas de logique pour reconnaître les attributs ou empêcher le chiffrement des clés primaires.

Si vous utilisez le pluginAWS Encryption SDKPour chiffrer un élément de votre table, n'oubliez pas qu'il n'est pas compatible avec le client de chiffrement DynamoDB. Vous ne pouvez pas chiffrer avec une bibliothèque et déchiffrer avec l'autre.