数据加密
QingStor 对象存储支持由用户提供密钥的加密方式,服务端用用户提供的密钥对上传的 对象进行加密处理。一般来说, 用户可以通过 sdk 来指定密钥等信息。加密解密在服务端完成。
具体内容, 请参考 加密相关的 API 列表
QingStor 对象存储服务端不保存用户的密钥。
加密过程
- 客户端生成密钥及密钥的 MD5 值,在上传对象的 PUT Object 请求的请求头中指定加密算法、密钥、和密钥 MD5 值。
- 服务端根据密钥生成 MD5 值,与用户上传的密钥 MD5 值比对,以确认密钥在传输过程中的完整性。
- 服务端对上传的对象进行加密。
- 服务端丢弃用户上传的密钥,只保存加密算法和密钥 MD5 值。
解密过程
- 客户端在获取对象的 GET Object 请求的请求头中指定加密算法、密钥、密钥 MD5 值。密钥须为上传时所指定的加密密钥。
- 服务端根据密钥生成 MD5 值,与用户上传的密钥 MD5 值比对,以确认密钥在传输过程中的完整性。
- 服务端比对上传对象时保存的 MD5 值和请求中的密钥的 MD5 值,以验证密钥是否正确。
- 服务端将对象用请求头中指定的密钥解密并返回。