OSS服务器端加密之初体验

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 本文介绍如何基于ossutil工具,体验oss服务器端加密功能。 关于服务器端加密 OSS支持在服务器端对用户上传的数据进行加密编码(Server-Side Encryption):用户上传数据时,OSS对收到的用户数据进行加密编码,然后再将得到的加密数据持久化保存下来;用户下载数据时,OSS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。

本文介绍如何基于ossutil工具,体验oss服务器端加密功能。

关于服务器端加密

OSS支持在服务器端对用户上传的数据进行加密编码(Server-Side Encryption):用户上传数据时,OSS对收到的用户数据进行加密编码,然后再将得到的加密数据持久化保存下来;用户下载数据时,OSS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。

OSS服务器端加密目前支持2种:

  • 使用由OSS完全托管的服务端加密(简称AES256加密)
  • 使用由KMS托管密钥的服务端加密(简称KMS加密)

详情请参考oss官网服务器端加密编码

关于ossutil

ossutil工具旨在为用户提供一个方便的,以命令行方式管理OSS数据的途径。本文将使用ossutil管理文件(上传、下载、查看元数据信息等),进而体验OSS服务器端加密功能。请先安装和配置ossutil,具体参考oss官网ossutil

AES256加密

本文测试用的bucket是test-oss-encryption,位于北京region.
1.从本地上传1个测试文件到oss,并声明加密类型为AES256

ossutil cp /tmp/test.file oss://test-oss-encryption/encryption_aes256_001 --meta=x-oss-server-side-encryption:AES256

说明:--meta字段用来添加http请求的header字段,这里是添加了x-oss-server-side-encryption这个header,对应value为AES256,这样OSS就会对该文件进行AES256加密了。

2.查看刚上传的文件meta信息。

ossutil stat oss://test-oss-encryption/encryption_aes256_001

输出结果类似如下:
aes256
可以看到该文件的属性中已经多了一项说明:X-Oss-Server-Side-Encryption: AES256,说明该文件在服务器端已经启用了AES256加密存储

KMS加密

其实使用KMS加密跟AES256加密类似,只需声明加密算法为KMS即可。

注意

  1. 使用KMS加密算法的前提是,用户已经开通了KMS密钥托管服务,关于该服务请参考官网主页密钥管理服务
  2. 用户开通KMS服务后,如果向OSS上传文件时使用KMS加密方式,OSS会为用户在当前region创建主密钥,且只会创建1次。OSS为用户创建的KMS主密钥不收管理费用。
  3. 当用户使用KMS方式上传文件或读取经过KMS加密的文件时,KMS会额外收取少许加解密费用,具体请参考KMS计费标准

下面开始体验KMS加密功能
1.从本地上传1个测试文件到oss,并申明加密类型为KMS

ossutil cp /tmp/test.file oss://test-oss-encryption/encryption_kms_001 --meta=x-oss-server-side-encryption:KMS

只需要将加密算法声明为KMS即可。

2.查看刚上传的文件meta信息。

ossutil stat oss://test-oss-encryption/encryption_kms_001

输出结果类似下面
kms
可以看到除了X-Oss-Server-Side-Encryption值为KMS外,还有1个特殊字段X-Oss-Server-Side-Encryption-Key-Id
X-Oss-Server-Side-Encryption-Key-Id对应的值d66363ea-d18a-4270-9c63-669b79ba8b78,其实就是OSS给用户在KMS上创建的主密钥的ID。

kms_key
上图就是我的kms控制台截图,可以看到华北2(北京region)中有1个key, 该key前面有1个阿里云图标。这个key就是OSS给用户在华北2区域创建的主密钥,而密钥ID和我们查看oss文件meta信息时看到的一致。

文件读取

无论是AES256加密还是KMS加密,读取文件时都不需要特殊参数,OSS会自动解密并将解密后的结果返回给用户。

目录
相关文章
|
存储 安全 API
oss客户端加密密钥管理
阿里云OSS数据加密涉及SSE-C和SSE-KMS两种方案。SSE-C中,客户端自动生成并管理DEK,负责加密和解密数据,需确保密钥的安全存储和访问控制。SSE-KMS则利用KMS生成和管理密钥,客户端通过API请求加密/解密密钥,实现更安全的密钥管理。无论哪种方式,都需要遵循密钥生命周期管理、访问控制、安全存储和定期轮换等最佳实践。选择SSE-C需要客户端有安全的密钥存储,而SSE-KMS则需关注与KMS的API交互和访问策略。
549 3
|
存储 安全 开发工具
oss加密存储
阿里云OSS为数据安全提供多种加密机制,包括服务器端的SSE-S3(AES-256透明加密)、SSE-C(用户管理密钥)和CSE-KMS(结合KMS进行密钥管理)。此外,OSS支持客户端加密SDK和HTTPS传输加密,确保数据在传输和存储时的安全。通过ACL、Bucket策略和访问密钥身份验证,实现权限控制与身份验证,全方位保障用户数据的安全性和隐私。用户可按需选择适合的加密方式。
1100 2
|
8月前
|
安全 关系型数据库 网络安全
安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中
通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。
406 0
|
网络协议 安全 网络安全
DNS服务器加密传输
【8月更文挑战第18天】
2371 15
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
|
存储 安全 开发工具
oss客户端加密
阿里云OSS支持客户端加密,允许用户在本地加密数据后上传,确保数据在传输和存储时的隐私安全。用户管理主密钥,控制数据密钥加密与解密,增强数据控制和合规性。此机制适用于高安全需求场景,如金融、医疗等,但用户需负责密钥管理和加密操作。
596 8
|
存储 安全 API
oss服务器端加密(SSE)
阿里云OSS提供服务器端加密(SSE),自动加密上传的数据并透明解密下载,保护云端对象的隐私和机密性。SSE支持两种方式:SSE-KMS(使用KMS托管CMK)和SSE-OSS(OSS管理加密密钥)。加密过程在服务器端完成,对用户应用透明且兼容标准HTTP接口。云盒和ossutil工具也支持此功能,让用户轻松管理加密对象,确保数据存储和传输安全。用户可按需选择密钥管理方式。
740 4
|
存储 安全 开发工具
oss客户端密钥管理数据密钥加密与上传
阿里云OSS实现数据安全加密和访问控制,通过KMS托管CMK或客户端加密管理DEK。数据加密流程中,可使用KMS加密DEK后存储在OSS元数据,或利用SDK在本地加密文件再上传。上传时,HTTP请求头含加密参数,通过RAM临时凭证初始化SDK客户端,调用API上传加密文件,确保数据传输和存储的安全。
669 2
|
5月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
7月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。

相关产品

  • 对象存储