2
我已將密鑰上傳到AWS Key Management Service。使用它我可以加密事物,然後使用該服務解密它們。但是,我想讓我放心,我可以使用我放入KMS的密鑰(證明它是我的密鑰)來解密Ciphertext Blob,並且爲了備份目的(如果KMS失敗)。使用客戶提供的密鑰解密來自AWS KMS的密文blob
我找不到KMS使用的加密格式和方法。
任何人都可以提供示例(openssl/python等)。
我已將密鑰上傳到AWS Key Management Service。使用它我可以加密事物,然後使用該服務解密它們。但是,我想讓我放心,我可以使用我放入KMS的密鑰(證明它是我的密鑰)來解密Ciphertext Blob,並且爲了備份目的(如果KMS失敗)。使用客戶提供的密鑰解密來自AWS KMS的密文blob
我找不到KMS使用的加密格式和方法。
任何人都可以提供示例(openssl/python等)。
我發現的有關KMS密文blob的唯一信息是this document。從第23頁的底部開始,它說:
每當元素在CMK下加密時,生成的對象就是客戶密文。密文將包含兩部分:未加密的頭部(或明文部分),由經過驗證的加密方案 作爲額外的驗證數據和加密部分進行保護。明文 部分將包含HSA備份密鑰標識符(HBKID)。
我找不到任何更具體的格式,甚至沒有:
但是,如果要在KMS失敗的情況下進行備份,則在使用envelope encryption時,僅備份數據密鑰就足夠了。最後,這是解密數據所需的唯一密鑰。當然,存儲這種密鑰備份必須與存儲導入的密鑰資料時一樣謹慎。
檢查:http://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/example-code.html –
謝謝 - 這實際上可能是一個更好的方式來實現我想要的東西 - 一次使用AWS和一次使用服務器上的公用密鑰加密密鑰兩次;然而,它仍然沒有解釋加密KWS如何在不使用他們的服務的情況下將隨機字符串+客戶密鑰I提供到CipherText blob(或如何將其反轉)。 –