本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS KMS ECDH Keyring
我們的客戶端加密庫被重命名為數 AWS 據庫加密SDK。本開發人員指南仍提供 DynamoDB 加密用戶端的相關資訊。 |
重要
AWS KMS ECDH金鑰圈僅適用於材料提供者資源庫的 1.5.0 版。
金 AWS KMS ECDH鑰圈使用非對稱金鑰協定AWS KMS keys來衍生雙方之間的共用對稱包裝金鑰。首先,金鑰圈會使用橢圓曲線 Diffie-Hellman (ECDH) 金鑰合約演算法,從寄件者金鑰組中的私密金鑰和收件者的公開 KMS key pair 衍生共用密碼。然後,金鑰圈會使用共用密碼衍生共用包裝金鑰,以保護您的資料加密金鑰。 AWS 資料庫加密SDK使用 (KDF_CTR_HMAC_SHA384
) 衍生共用包裝金鑰的金鑰衍生函數,符合金鑰衍生的NIST建議
密鑰派生函數返回 64 個字節的鍵控材料。為了確保雙方使用正確的金鑰資料,資料 AWS 庫加密SDK會使用前 32 個位元組做為承諾金鑰,最後 32 個位元組作為共用包裝金鑰。解密時,如果金鑰圈無法重現儲存在加密記錄之 [資料描述] 欄位中的相同承諾金鑰和共用包裝金鑰,作業就會失敗。例如,如果您使用以 Alice 私密金鑰和 Bob 公開金鑰設定的金鑰圈來加密記錄,則使用 Bob 的私密金鑰和 Alice 的公開金鑰設定的金鑰圈將會重現相同的承諾金鑰和共用包裝金鑰,並且能夠解密記錄。如果 Bob 的公開金鑰不是來自 KMS key pair,Bob 可以建立 Raw 金ECDH鑰圈來解密記錄。
金 AWS KMS ECDH鑰環使用-以對稱金鑰加密記錄。AES GCM然後使用-,使用派生的共享包裝密鑰對數據密鑰進AES行包絡加密GCM。每個 AWS KMS ECDH鑰匙圈只能有一個共用包裝金鑰,但您可以在多重鑰匙圈中包含多個 AWS KMS ECDH鑰匙圈,單獨或與其他鑰匙圈一起包含多個鑰匙圈。
AWS KMS ECDH金鑰圈所需的權限
數 AWS 據庫加密SDK不需要 AWS 帳戶,也不依賴於任何 AWS 服務。但是,若要使用 AWS KMS ECDH金鑰圈,您需要一個 AWS 帳戶以及金鑰圈 AWS KMS keys 中的下列最低權限。權限會根據您使用的金鑰合約結構描述而有所不同。
-
若要使用金
KmsPrivateKeyToStaticPublicKey
鑰合約結構描述加密GetPublicKey和解密記錄,寄件者的非對稱 KMS key pair DeriveSharedSecret 上需要 kms: 和 kms:。如果您在實體化金鑰環時直接提供寄件者DER編碼的公開金鑰,您只需要 kms: 寄件者非對稱KMS金鑰組的DeriveSharedSecret權限。 -
若要使用金
KmsPublicKeyDiscovery
鑰協定結構描述解密記錄,您需要指定非對稱 KMS key pair 的 kms: DeriveSharedSecret 和 kms: GetPublicKey 權限。
建立 AWS KMS ECDH金鑰圈
若要建立加密和解密資料的金 AWS KMS ECDH鑰環,您必須使用KmsPrivateKeyToStaticPublicKey
金鑰合約結構描述。若要使用KmsPrivateKeyToStaticPublicKey
金鑰協定結構描述初始化金鑰 AWS KMS ECDH圈,請提供下列值:
-
寄件者 AWS KMS key 識別碼
必須使用
KeyUsage
值來點選不對稱NIST建議的橢圓曲線 (ECC) KMS key pair。KEY_AGREEMENT
發件人的私鑰用於導出共享密鑰。 -
(選擇性) 寄件者的公開金鑰
必須是已DER編碼的 X.509 公開金鑰,也稱為
SubjectPublicKeyInfo
(SPKI),如 5280 中RFC所定義。此 AWS KMS GetPublicKey作業會以必要的DER編碼格式傳回非對稱 KMS key pair 的公開金鑰。
若要減少金鑰圈 AWS KMS 撥打的通話次數,您可以直接提供寄件者的公開金鑰。如果沒有為寄件者的公開金鑰提供值,金鑰圈會呼叫擷 AWS KMS 取寄件者的公開金鑰。
-
收件者的公開金鑰
您必須提供收件者DER編碼的 X.509 公開金鑰,也稱為
SubjectPublicKeyInfo
(SPKI),如 5280 中RFC所定義。此 AWS KMS GetPublicKey作業會以必要的DER編碼格式傳回非對稱 KMS key pair 的公開金鑰。
-
曲線規格
識別指定索引鍵對中的橢圓曲線規格。寄件者和收件者的金鑰配對必須具有相同的曲線規格。
有效值:
ECC_NIST_P256
、ECC_NIS_P384
、ECC_NIST_P512
-
(可選)授予令牌列表
建立 AWS KMS ECDH探索金鑰圈
解密時,最佳做法是指定 AWS 資料庫加密SDK可以使用的金鑰。若要遵循此最佳做法,請使用金 AWS KMS ECDH鑰圈搭配KmsPrivateKeyToStaticPublicKey
金鑰合約結構描述。不過,您也可以建立 AWS KMS ECDH探索金鑰圈,也就是說,可以將指定KMS金 AWS KMS ECDH鑰 key pair 的公開金鑰與加密記錄的材料描述欄位中儲存的收件者公開金鑰相符的任何記錄解密。
重要
當您使用金KmsPublicKeyDiscovery
鑰合約結構描述解密記錄時,您會接受所有公開金鑰,不論其擁有者為何。
若要使用KmsPublicKeyDiscovery
金鑰協定結構描述初始化金鑰 AWS KMS ECDH圈,請提供下列值:
-
收件人的 AWS KMS key 識別碼
必須使用
KeyUsage
值來點選不對稱NIST建議的橢圓曲線 (ECC) KMS key pair。KEY_AGREEMENT
-
曲線規格
識別收件者 KMS key pair 中的橢圓曲線規格。
有效值:
ECC_NIST_P256
、ECC_NIS_P384
、ECC_NIST_P512
-
(可選)授予令牌列表