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.
Fonctionnement du SDK AWS de chiffrement de base de données
Notre bibliothèque de chiffrement côté client a été renommée AWS Database Encryption SDK. Ce guide du développeur fournit toujours des informations sur le client de chiffrement DynamoDB. |
Le SDK AWS Database Encryption fournit des bibliothèques de chiffrement côté client conçues spécifiquement pour protéger les données que vous stockez dans des bases de données. Les bibliothèques incluent les implémentations sécurisées que vous pouvez étendre ou utiliser inchangées. Pour plus d'informations sur la définition et l'utilisation de composants personnalisés, consultez le GitHub référentiel correspondant à l'implémentation de votre base de données.
Les flux de travail de cette section expliquent comment le SDK AWS Database Encryption chiffre, signe, déchiffre et vérifie les données de votre base de données. Ces flux de travail décrivent le processus de base à l'aide d'éléments abstraits et des fonctionnalités par défaut. Pour plus d'informations sur la façon dont le SDK AWS de chiffrement de base de données fonctionne avec l'implémentation de votre base de données, consultez la rubrique Qu'est-ce qui est crypté pour votre base de données ?
Le SDK AWS Database Encryption utilise le chiffrement d'enveloppe pour protéger vos données. Chaque enregistrement est crypté sous une clé de données unique. La clé de données est utilisée pour obtenir une clé de chiffrement de données unique pour chaque champ marqué ENCRYPT_AND_SIGN
dans vos actions cryptographiques. Ensuite, une copie de la clé de données est cryptée par les clés d'encapsulation que vous spécifiez. Pour déchiffrer l'enregistrement crypté, le SDK AWS de chiffrement de base de données utilise les clés d'encapsulation que vous avez spécifiées pour déchiffrer au moins une clé de données cryptée. Il peut ensuite déchiffrer le texte chiffré et renvoyer une entrée en texte brut.
Pour plus d'informations sur les termes utilisés dans le SDK AWS de chiffrement de base de données, consultezAWSConcepts du SDK de chiffrement de base de données.
Chiffrer et signer
À la base, le SDK AWS de chiffrement de base de données est un crypteur d'enregistrements qui chiffre, signe, vérifie et déchiffre les enregistrements de votre base de données. Il contient des informations sur vos enregistrements et des instructions concernant les champs à crypter et à signer. Il obtient le matériel de chiffrement et les instructions sur la façon de les utiliser à partir d'un gestionnaire de matériel cryptographique configuré à partir de la clé d'encapsulation que vous avez spécifiée.
La procédure pas à pas suivante décrit comment le SDK AWS Database Encryption chiffre et signe vos entrées de données.
-
Le gestionnaire de matériel cryptographique fournit au SDK AWS de chiffrement de base de données des clés de chiffrement de données uniques : une clé de données en texte brut, une copie de la clé de données cryptée par la clé d'encapsulage spécifiée et une clé MAC.
Note
Vous pouvez crypter la clé de données sous plusieurs clés d'encapsulation. Chacune des clés d'encapsulation chiffre une copie distincte de la clé de données. Le SDK AWS Database Encryption stocke toutes les clés de données cryptées dans la description du matériau. Le SDK AWS Database Encryption ajoute un nouveau champ (
aws_dbe_head
) à l'enregistrement qui contient la description du matériau.Une clé MAC est dérivée pour chaque copie cryptée de la clé de données. Les clés MAC ne sont pas enregistrées dans la description du matériel. Au lieu de cela, la méthode de déchiffrement utilise les clés d'encapsulation pour dériver à nouveau les clés MAC.
-
La méthode de cryptage chiffre chaque champ marqué comme
ENCRYPT_AND_SIGN
dans les actions cryptographiques que vous avez spécifiées. -
Le procédé de chiffrement
commitKey
dérive a de la clé de données et l'utilise pour générer une valeur d'engagement de clé, puis supprime la clé de données. -
La méthode de cryptage ajoute une description du matériau à l'enregistrement. La description du matériel contient les clés de données cryptées et les autres informations relatives à l'enregistrement crypté. Pour une liste complète des informations incluses dans la description du matériau, voir Format de description du matériau.
-
La méthode de chiffrement utilise les clés MAC renvoyées à l'étape 1 pour calculer les valeurs du code d'authentification des messages basé sur le hachage (HMAC) en fonction de la canonicalisation de la description du matériel, du contexte de cryptage et de chaque champ marqué
ENCRYPT_AND_SIGN
ou figurantSIGN_ONLY
dans les actions cryptographiques. Les valeurs HMAC sont stockées dans un nouveau champ (aws_dbe_foot
) que la méthode de chiffrement ajoute à l'enregistrement. -
La méthode de chiffrement calcule une signature ECDSA en fonction de la canonisation de la description du matériau, du contexte de chiffrement et de chaque champ marqué
ENCRYPT_AND_SIGN
ouSIGN_ONLY
et stocke les signatures ECDSA dans le champ.aws_dbe_foot
Note
Les signatures ECDSA sont activées par défaut, mais ne sont pas obligatoires.
-
La méthode de cryptage stocke l'enregistrement crypté et signé dans votre base de données
Décrypter et vérifier
-
Le gestionnaire de documents cryptographiques (CMM) fournit le procédé de déchiffrement avec les matériaux de déchiffrement stockés dans la description du matériau, y compris la clé de données en texte brut et la clé MAC associée.
-
Le CMM déchiffre la clé de données cryptée à l'aide des clés d'encapsulation du jeu de clés spécifié et renvoie la clé de données en texte brut.
-
-
La méthode de déchiffrement compare et vérifie la valeur d'engagement clé figurant dans la description du matériel.
-
La méthode de déchiffrement vérifie les signatures dans le champ de signature.
Il identifie les champs qui sont marqués
ENCRYPT_AND_SIGN
etSIGN_ONLY
à partir de la liste des champs non authentifiés autorisés que vous avez définis. La méthode de déchiffrement utilise la clé MAC renvoyée à l'étape 1 pour recalculer et comparer les valeurs HMAC pour les champs marqués ou.ENCRYPT_AND_SIGN
SIGN_ONLY
Il vérifie ensuite les signatures ECDSA à l'aide de la clé publique stockée dans le contexte de chiffrement. -
La méthode de déchiffrement utilise la clé de données en texte brut pour déchiffrer chaque valeur marquée.
ENCRYPT_AND_SIGN
Le SDK AWS de chiffrement de base de données supprime ensuite la clé de données en texte brut. -
La méthode de déchiffrement renvoie l'enregistrement en texte brut.