AWS 中 S3 的 server-side encryption 解释与说明

Amazon S3 的服务器端加密(Server-Side Encryption, SSE) 是 AWS 提供的一项核心安全机制,用于自动加密对象在持久化存储时的数据(即"静态数据加密")。启用 SSE 后,S3 会在将对象写入磁盘前对其进行加密,并在授权用户或应用程序请求访问时自动解密,整个过程对用户透明。

Amazon S3 支持三种主要的 SSE 加密方式:

  • SSE-S3:Amazon S3 全权管理加密密钥,管理所有的加密和解密过程
  • SSE-KMS:AWS Key Management Service (KMS) 管理加密密钥,可以设置使用权限,审计密钥使用情况
  • SSE-C:客户自己提供并管理加密密钥,每次请求必须提供密钥(通过 HTTPS 头部),S3 仅用于加密/解密操作

S3 的服务器端加密(SSE)过程:

  • 上传时(加密):当上传的数据到达 AWS S3 服务器后,S3 会在数据写入磁盘存储之前使用相应的密钥对其进行加密,数据以加密形式存储在 S3 的物理存储设备上
  • 下载时(解密): S3 从存储中读取加密数据后,会使用相应的密钥在服务器端即时解密,然后将解密后的明文数据通过 HTTPS/TLS 传输回客户端

结论: S3 保证的是数据在 AWS 存储介质上是加密的,但它在传输给授权用户时会自动解密。

DEK (Data Encryption Key) :DEK 是实际用于加密和解密对象数据(即上传的文件内容)的密钥

上传 (加密) 过程:

  1. AWS KMS 随机生成一个一次性的对称 DEK
  2. S3 使用这个 DEK 快速地对上传的对象明文数据进行加密,生成密文
  3. S3 再使用 KMS Key (CMK) 对这个 DEK 本身进行加密,生成一个加密的 DEK
  4. S3 将对象密文和加密的 DEK 一起存储在 S3 上

下载 (解密) 过程:

  1. 用户请求下载对象
  2. S3 提取加密的 DEK,并发送给 KMS
  3. KMS 使用 KMS Key (CMK) 对加密的 DEK 进行解密,将明文 DEK 返回给 S3
  4. S3 使用这个明文 DEK 快速解密对象密文,并将明文数据通过 HTTPS 发送给用户
相关推荐
小白的码BUG之路8 小时前
linux -- ssh两台机器相连
运维·服务器·ssh
缓慢更新9 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
续写烂尾10 小时前
贴片 SD NAND、eMMC、TF 卡规格怎么定?硬件工程师选型清单
运维·服务器·网络
迪康妍妍10 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
sxgzzn10 小时前
如何选择合适的开关柜在线监测工具?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统
zxcvb15311 小时前
运维经验分享:监控网页更新内容的几种思路
运维
云飞云共享云桌面12 小时前
设计师共享单台图形服务器,解决 SolidWorks大装配卡顿难题
运维·服务器·3d·自动化·电脑·制造
无足鸟ICT12 小时前
【RHCA+】RPM包命名规则
linux·运维·服务器
迪康Defender13 小时前
终端安全运维:浅谈迪康端点安全一体化管理系统工具箱实用能力
运维·安全·信息可视化·自动化·运维开发·学习方法·远程工作
广东帝工智能安防13 小时前
航道数智化升级实战:基于“云-网-数-智“架构的信息化基础设施建设方案
大数据·运维·人工智能