华为云服务如何使用KMS加密数据?
华为云服务一般使用KMS的信封加密方式来保护用户的数据。

信封加密方式,是一种加密手段,将加密数据的数据密钥封入信封中存储、传递和使用,不再使用用户主密钥直接加解密数据。
信封加密方式加解密原理
- 加密本地文件流程,如图1所示。
流程说明如下:
- 用户需要在KMS中创建一个用户主密钥。
- 用户调用KMS的“create-datakey”接口创建数据加密密钥。用户得到一个明文的数据加密密钥和一个密文的数据加密密钥。其中密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。
- 用户使用明文的数据加密密钥来加密明文文件,生成密文文件。
- 用户将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。
- 解密本地文件流程,如图2所示。
流程说明如下:
- 用户从持久化存储设备或服务中读取密文的数据加密密钥和密文文件。
- 用户调用KMS的“decrypt-datakey”接口,使用对应的用户主密钥(即生成密文的数据加密密钥时所使用的用户主密钥)来解密密文的数据加密密钥,取得明文的数据加密密钥。
如果对应的用户主密钥被误删除,会导致解密失败。因此,需要妥善管理好用户主密钥。
- 用户使用明文的数据加密密钥来解密密文文件。
关于使用KMS加解密数据的实践教程,请参见云服务使用KMS加密数据教程。