KMS通過使用硬件安全模塊(Hardware Security Module,HSM)保護密鑰安全,幫助用戶輕松創(chuàng)建和管理密鑰,所有的用戶密鑰都由HSM中的根密鑰保護,避免密鑰泄露。
使用場景:
小數(shù)據(jù)加解密
當有少量數(shù)據(jù)(例如:口令、證書、電話號碼等)需要加解密時,用戶可以通過KMS界面使用在線工具加解密數(shù)據(jù),或者調(diào)用KMS的API接口使用指定的用戶主密鑰直接加密、解密數(shù)據(jù)。當前支持不大于4KB的小數(shù)據(jù)加解密。
以保護服務(wù)器HTTPS證書為例,采用調(diào)用KMS的API接口方式進行說明,如圖1所示。
圖1保護服務(wù)器HTTPS證書
流程說明如下:
1.用戶需要在KMS中創(chuàng)建一個用戶主密鑰。
2.用戶調(diào)用KMS的“encrypt-data”接口,使用指定的用戶主密鑰將明文證書加密為密文證書。
3.用戶在服務(wù)器上部署密文證書。
4.當服務(wù)器需要使用證書時,調(diào)用KMS的“decrypt-data”接口,將密文證書解密為明文證書。
大量數(shù)據(jù)加解密
當有大量數(shù)據(jù)(例如:照片、視頻或者 數(shù)據(jù)庫 文件等)需要加解密時,用戶可采用信封加密方式加解密數(shù)據(jù),無需通過網(wǎng)絡(luò)傳輸大量數(shù)據(jù)即可完成數(shù)據(jù)加解密。
加密本地文件流程,如圖2所示。
圖2加密本地文件
流程說明如下:
1.用戶需要在KMS中創(chuàng)建一個用戶主密鑰。
2.用戶調(diào)用KMS的“create-datakey”接口創(chuàng)建 數(shù)據(jù)加密 密鑰。用戶得到一個明文的數(shù)據(jù)加密密鑰和一個密文的數(shù)據(jù)加密密鑰。其中密文的數(shù)據(jù)加密密鑰是由指定的用戶主密鑰加密明文的數(shù)據(jù)加密密鑰生成的。
3.用戶使用明文的數(shù)據(jù)加密密鑰來加密明文文件,生成密文文件。
4.用戶將密文的數(shù)據(jù)加密密鑰和密文文件一同存儲到持久化存儲設(shè)備或服務(wù)中。
解密本地文件流程,如圖3所示。
圖3解密本地文件
流程說明如下:
1.用戶從持久化存儲設(shè)備或服務(wù)中讀取密文的數(shù)據(jù)加密密鑰和密文文件。
2.用戶調(diào)用KMS的“decrypt-datakey”接口,使用對應(yīng)的用戶主密鑰(即生成密文的數(shù)據(jù)加密密鑰時所使用的用戶主密鑰)來解密密文的數(shù)據(jù)加密密鑰,取得明文的數(shù)據(jù)加密密鑰。
若對應(yīng)的用戶主密鑰被誤刪除,會導致解密失敗。因此,需要妥善管理好用戶主密鑰。
3.用戶使用明文的數(shù)據(jù)加密密鑰來解密密文文件。