KMS通过使用硬件安全模块(Hardware Security Module,HSM)保护密钥安全,帮助用户轻松创建和管理密钥,所有的用户密钥都由HSM中的根密钥保护,避免密钥泄露。
使用场景:
小数据加解密
当有少量数据(例如:口令、证书、电话号码等)需要加解密时,用户可以通过KMS界面使用在线工具加解密数据,或者调用KMS的API接口使用指定的用户主密钥直接加密、解密数据。当前支持不大于4KB的小数据加解密。
以保护服务器HTTPS证书为例,采用调用KMS的API接口方式进行说明,如图1所示。
图1保护服务器HTTPS证书
流程说明如下:
1.用户需要在KMS中创建一个用户主密钥。
2.用户调用KMS的“encrypt-data”接口,使用指定的用户主密钥将明文证书加密为密文证书。
3.用户在服务器上部署密文证书。
4.当服务器需要使用证书时,调用KMS的“decrypt-data”接口,将密文证书解密为明文证书。
大量数据加解密
当有大量数据(例如:照片、视频或者 数据库 文件等)需要加解密时,用户可采用信封加密方式加解密数据,无需通过网络传输大量数据即可完成数据加解密。
加密本地文件流程,如图2所示。
图2加密本地文件
流程说明如下:
1.用户需要在KMS中创建一个用户主密钥。
2.用户调用KMS的“create-datakey”接口创建 数据加密 密钥。用户得到一个明文的数据加密密钥和一个密文的数据加密密钥。其中密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。
3.用户使用明文的数据加密密钥来加密明文文件,生成密文文件。
4.用户将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。
解密本地文件流程,如图3所示。
图3解密本地文件
流程说明如下:
1.用户从持久化存储设备或服务中读取密文的数据加密密钥和密文文件。
2.用户调用KMS的“decrypt-datakey”接口,使用对应的用户主密钥(即生成密文的数据加密密钥时所使用的用户主密钥)来解密密文的数据加密密钥,取得明文的数据加密密钥。
若对应的用户主密钥被误删除,会导致解密失败。因此,需要妥善管理好用户主密钥。
3.用户使用明文的数据加密密钥来解密密文文件。