TOS中如何通过SSE-C保护数据

前言

本文介绍如何通过SSE-C来保护TOS中数据

服务器端加密是为了保护TOS中静态数据。服务器端加密仅加密对象数据而不是对象元数据。使用客户提供加密密钥的服务器端加密 (SSE-C) 使用您提供的秘钥作为请求的一部分,TOS在其写入磁盘时管理加密,并在您访问对象时管理解密。因此,您不需要维护任何代码来执行数据加密和解密。您只需管理您提供的加密密钥。

解决方案

1.先生成一个256位的秘钥,在Linux 上生成秘钥,命令如下

echo -n secret-string | openssl dgst -sha256 -binary > aes256.key

2.使用刚才生成的秘钥,上传对象,采用S3协议的CLI

命令如下:

aws s3api put-object --bucket xxxx --key perf.data --body ../out.perf --sse-customer-algorithm "AES256" --sse-customer-key=fileb://aes256.key   --endpoint-url=https://tos-s3-cn-beijing.volces.com

3.通过下载来查看是否上传的对象已经加密

命令如下:

aws s3api get-object --bucket xxxx --key perf.data --sse-customer-algorithm AES256 --sse-customer-key=fileb://aes256.key perf.data --endpoint-url=https://tos-s3-cn-beijing.volces.com

可以看到加密算法跟加密秘钥的MD5值

4.使用错误的秘钥来下载对象,验证错误的秘钥不可以下载

命令如下:

aws s3api get-object --bucket xxxx --key perf2.data --sse-customer-algorithm AES256 --sse-customer-key=fileb://aes256.key perf.data --endpoint-url=https://tos-s3-cn-beijing.volces.com

可以发现只能通过正确的秘钥才能下载对象,保护了静态数据。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论