Faites pivoter votre clé de branche active - AWS Kit SDK de chiffrement des bases de données

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.

Faites pivoter votre clé de branche active

Il ne peut y avoir qu'une seule version active à la fois pour chaque clé de branche. En général, chaque version de clé de branche active est utilisée pour satisfaire plusieurs demandes. Mais vous contrôlez la mesure dans laquelle les clés de branche actives sont réutilisées et vous déterminez la fréquence à laquelle la clé de branche active est pivotée.

Les clés de branche ne sont pas utilisées pour chiffrer les clés de données en texte brut. Ils sont utilisés pour dériver les clés d'encapsulation uniques qui chiffrent les clés de données en texte brut. Le processus de dérivation de la clé d'encapsulation produit une clé d'encapsulation unique de 32 octets avec 28 octets aléatoires. Cela signifie qu'une clé de branche peut obtenir plus de 79 octillions, soit 2 96, clés d'encapsulation uniques avant que l'usure cryptographique ne se produise. Malgré ce très faible risque d'épuisement, vous devrez peut-être alterner vos clés de succursale actives en raison de règles commerciales ou contractuelles ou de réglementations gouvernementales.

La version active de la clé de branche reste active jusqu'à ce que vous la fassiez pivoter. Les versions précédentes de la clé de branche active ne seront pas utilisées pour effectuer des opérations de chiffrement et ne peuvent pas être utilisées pour obtenir de nouvelles clés d'encapsulation, mais elles peuvent toujours être interrogées et fournir des clés d'encapsulation pour déchiffrer les clés de données qu'elles chiffraient lorsqu'elles étaient actives.

Avertissement

La suppression des clés de branche dans les environnements de test est irréversible. Vous ne pouvez pas récupérer les clés de branche supprimées. Lorsque vous supprimez et recréez des clés de branche avec le même identifiant dans des environnements de test, les problèmes suivants peuvent survenir :

  • Les matériaux des tests précédents peuvent rester dans le cache

  • Certains hôtes ou threads de test peuvent chiffrer des données à l'aide de clés de branche supprimées

  • Les données chiffrées avec des branches supprimées ne peuvent pas être déchiffrées

Pour éviter les échecs de chiffrement lors des tests d'intégration :

  • Réinitialisez la référence hiérarchique du trousseau de clés avant de créer de nouvelles clés de branche OU

  • Utiliser une clé de branche unique IDs pour chaque test

Autorisations requises

Pour faire pivoter les clés de branche, vous avez besoin des ReEncrypt autorisations kms : GenerateDataKeyWithoutPlaintext et kms : sur la clé KMS spécifiée dans les actions de votre magasin de clés.

Faire pivoter une clé de branche active

Utilisez cette VersionKey opération pour faire pivoter votre clé de branche active. Lorsque vous faites pivoter la clé de branche active, une nouvelle clé de branche est créée pour remplacer la version précédente. branch-key-idCela ne change pas lorsque vous faites pivoter la clé de branche active. Vous devez spécifier le code branch-key-id qui identifie la clé de branche active actuelle lorsque vous appelezVersionKey.

Java
keystore.VersionKey( VersionKeyInput.builder() .branchKeyIdentifier("branch-key-id") .build() );
C# / .NET
keystore.VersionKey(new VersionKeyInput{BranchKeyIdentifier = branchKeyId});
Rust
keystore.version_key() .branch_key_identifier(branch_key_id) .send() .await?;