輪換作用中分支金鑰 - AWS Encryption SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

輪換作用中分支金鑰

每個分支索引鍵一次只能有一個作用中版本。一般而言,每個作用中分支金鑰版本都會用來滿足多個請求。但是,您可以控制重複使用作用中分支金鑰的程度,並決定作用中分支金鑰的輪換頻率。

分支金鑰不會用來加密純文字資料金鑰。它們用於衍生加密純文字資料金鑰的唯一包裝金鑰。包裝金鑰衍生程序會產生唯一的 32 位元組包裝金鑰,具有 28 個位元組的隨機性。這表示分支金鑰在發生密碼編譯耗損之前,可以衍生超過 79 個八位元組或 296 個唯一的包裝金鑰。雖然耗盡風險極低,但由於業務或合約規則或政府法規,您可能需要輪換作用中的分支金鑰。

分支金鑰的作用中版本會保持作用中,直到您將其輪換為止。舊版的作用中分支金鑰不會用來執行加密操作,也無法用來衍生新的包裝金鑰,但仍可以查詢它們並提供包裝金鑰,以解密它們在作用中加密的資料金鑰。

所需的許可

若要輪換分支金鑰,您需要金鑰存放區動作中指定KMS金鑰的 kms:GenerateDataKeyWithoutPlaintextkms:ReEncrypt 許可。

輪換作用中分支金鑰

使用 VersionKey操作來輪換作用中分支金鑰。當您輪換作用中分支金鑰時,會建立新的分支金鑰以取代先前的版本。當您輪換作用中分支金鑰時, branch-key-id 不會變更。當您呼叫 時,您必須指定可識別目前作用中分支金鑰branch-key-idVersionKey

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