客户端加密指在把数据上传到云计算平台之前加密数据,有两种密钥选择:
·使用客户端主密钥。
·使用云服务商提供的密钥管理服务托管的主密钥。
1.使用客户端主密钥
使用客户端主密钥加密可实现数据安全传输,主密钥无需上传到云计算平台,当客户丢失加密密钥后是不能解密客户数据。
上传数据的工作过程为:
1)用云服务的客户端库在本地生成1个一次性的数据加密密钥(一般是对称加密密钥),使用该密钥加密客户数据。
2)客户端将加密的数据密钥及其材料说明上传到云端,此后,材料说明帮助客户端确定使用的客户端主密钥解密。
3)客户端将加密数据上传到云端。
下载数据时,客户端首先从云端下载加密数据及其元数据,通过使用元数据中的材料说明,客户端首先确定主密钥,然后解密已加密的数据加密密钥,最后使用数据加密密钥解密加密数据。
2.使用云服务商托管的客户主密钥
如果由客户提供主密钥,则需客户有相应的密钥基础设施并自行管理密钥,这会增加客户负担。客户可选择用云服务商提供的密钥托管服务来提供数据加密密钥。在该工作方式下,客户无需提供任何加密密钥,只需向云服务提供客户主密钥标识信息即可。
这种方式下存储数据的主要工作过程如下:
1)使用客户主密钥标识信息向云服务发送密钥分配请求,请求成功后返回数据加密密钥。
2)客户端用数据密钥进行加密,并将加密后的数据上传到云计算平台。
下载客户数据时,客户端先从云服务的密钥管理服务中获得数据加密密钥,然后使用的数据。