使用KMS托管密钥进行加解密
KMS(Key Management Service)是阿里云提供的一款安全、易用的管理类服务。用户无需花费大量成本来保护密钥的保密性、完整性和可用性,借助密钥管理服务,用户可以安全、便捷的使用密钥,专注于开发加解密功能场景。用户可以通过KMS控制台中查看和管理KMS密钥。
除了采用AES-256加密算法外,KMS负责保管用户主密钥CMK(Customer Master Key,对数据密钥进行加密的密钥),以及生成数据加密的密钥,通过信封加密机制,进一步防止未经授权的数据访问。
SSE-KMS服务器端加密的逻辑示意图如下。
**关于CMK的生成方式有多种: ** 使用OSS默认托管的KMS密钥 您可以将Bucket默认的服务器端加密方式设置为KMS且不指定具体的CMK ID,也可以在上传Object或修改Object的meta信息时,在请求中携带X-OSS-server-side-encryption并指定其值为KMS且不指定具体的CMK ID。OSS将使用默认托管的CMK生成不同的密钥来加密不同的对象,并且在下载时自动解密。
**使用BYOK进行加密 ** 服务器端加密支持使用BYOK进行加密,您可以将Bucket默认的服务器端加密方式设置为KMS并指定具体的CMK ID,也可以在上传Object或修改Object的meta信息时,在请求中携带X-OSS-server-side-encryption,指定其值为KMS,并指定X-OSS-server-side-encryption-key-id为具体的CMK ID。OSS将使用指定的CMK生成不同的密钥来加密不同的对象,并将加密Object的CMK ID记录到对象的元数据中,因此具有解密权限的用户下载对象时会自动解密。
**使用的BYOK材料来源有两种: ** - 由阿里云提供的BYOK材料:在KMS平台创建密钥时,选择密钥材料来源为阿里云KMS。 - 使用用户自有的BYOK材料:在KMS平台创建密钥时,选择密钥材料来源为外部,并按照要求导入外部密钥材料。导入外部密钥可参考文档导入密钥材料。
使用OSS完全托管加密 数据加密密钥的生成和管理,由OSS负责,并采用高强度、多因素的安全措施进行保护。数据加密的算法采用使用行业标准的强加密算法AES-256(即256位高级加密标准)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。