1、使用主密钥进行加解密数据
使用主密钥加解密数据主要适用于少量(小于4KB)数据的加解密。用户的数据会通过安全信道传递到KMS服务端,服务端完成加密、解密后,操作结果通过安全信道返回给用户。
关于使用主密钥进行加解密数据的步骤如下所示。
加密:
调用CreateKey API接口或通过控制台创建用户主密钥。
调用Encrypt接口,对敏感信息明文进行加密操作。
返回敏感信息加密后的密文。
解密:
当需要使用敏感信息时,调用Decrypt接口,对密文进行解密;
返回敏感信息明文。
此外,在使用KMS服务时,您还应当确保本地网络和密钥管理服务所在网络是通的,因为加密后的密文和解密后的明文需要在本地和密钥管理服务之间进行传输。
2、使用信封本地加解密数据
使用信封加密在本地加解密数据适用于大量数据的加解密。使用KMS创建一个主密钥,使用主密钥生成一个数据密钥,再使用数据密钥在本地加解密数据。数据无需通过网络传输即可实现加解密,在保证安全性的同时降低了成本。
关于使用信封加密进行本地加解密数据的步骤如下所示。
数据信息加密:
调用CreateKey API接口或通过控制台创建用户主密钥。
调用密钥管理服务提供的GenerateDataKey,产生数据密钥,返回结果中包含一个数据密钥明文和数据密钥密文。
利用得到的数据密钥明文对本地业务数据进行加密操作,得到业务数据密文,并删除数据密钥明文。
将业务数据密文和数据密钥密文持久化到本地。
下次进行数据信封加密操作时,可以跳过步骤1和步骤2,可以直接调用Decrypt接口解密步骤4存储的数据密钥密文,得到数据密钥明文,然后按照步骤3操作进行本地业务数据的加密操作。
数据信封解密:
调用KMS的Decrypt接口,将数据密钥密文进行解密,得到数据密钥明文;
返回数据密钥明文;
获取本地业务数据密文;
利用数据密钥明文对本地业务数据密文进行解密操作,得到业务数据明文,并删除数据密钥明文。
使用密码保险箱安全储存使用密码
用户通过调用ImportKeychain接口或者KMS控制台中的密码保险箱页面将相关敏感信息导入阿里云密码保险箱中托管。托管后,用户可以通过API接口获取到托管的密码,然后进行本地使用密码。