当前位置: 首页 > news >正文

对象存储服务的加密特性

实现思路

加密特性的方案,涉及如下设计点:

  • 密钥的用途
  • 加密的位置
  • 加密的算法
  • 加密密钥的使用
  • 加密密钥的管理

密钥的用途

密钥的用途分为管理密钥和数据密钥。
管理密钥用于加密数据密钥,需要定期更换,更换成本低;假如管理密钥丢失,则导致数据密钥无法解密,从而丢失数据。
数据密钥用于加密数据,需要妥善管理,使用数据密钥加密数据后,如果丢失数据的加密密钥,则导致丢失数据。
数据密钥的生命周期一般和对象的生命周期保持一致。

加密的位置

包括客户端和服务端。

客户端加密
方案一,加密操作完全由客户端自行实现。
使用客户自定义的加密方式、加密算法、加密密钥,对数据进行加密,相关实现由客户的开发团队提供。
此时算法、密钥均可由客户端管理,对象存储完全不感知相关操作。

方案二,加密操作由对象存储客户端SDK提供,客户应用负责集成SDK。
此时算法、密钥等,可以由对象存储的客户端SDK管理,也可由客户应用管理。

服务侧加密
使用服务侧提供的方式,在数据持久层完成加密、解密操作,客户端上传、下载时均访问明文。

客户和服务同时提供加密
可以在客户端、服务端同时实现加密特性,对于数据的安全提供双重的保障,当然引入了更多的管理成本,更多的算力的需求。

加密算法

对于存储系统而言,可行的算法比如AES-XTSAES-GCM等。
密钥的长度,比如128、256等。

参考资料如下:

  • XTS-AES模式主要是解决什么问题,是怎样解决的?
  • AES-GCM 加密简介
  • 简单学习一下AES算法:GCM、ECB、CFB、OFB等

加密密钥的使用

主要考虑加密密钥的使用范围,对于对象存储而言,数据密钥的影响范围,比如可以有

  • 租户,即租户下所有的桶,均使用本密钥。
  • 子用户,即子用户下所有的桶,均使用本密钥。
  • 桶,即桶下的所有对象,均使用本密钥。
  • 对象,按照对象来指定加密的密钥。

加密密钥的管理

实现方案需考虑如下几点:

  • 管理角色
  • 存储位置
  • 轮换策略

密钥的管理职责,可由客户端、对象存储服务、第三方密钥管理服务来承载。
在上述方案做出选择后,决定了密钥的存储服务和轮换策略。

参考资料

AWS S3

  • Protecting data with encryption
  • Protecting data with server-side encryption
  • Amazon S3 now automatically encrypts all new objects
  • Using server-side encryption with Amazon S3 managed keys (SSE-S3)

    Amazon S3 now applies server-side encryption with Amazon S3 managed keys (SSE-S3) as the base level of encryption for every bucket in Amazon S3. Starting January 5, 2023, all new object uploads to Amazon S3 are automatically encrypted at no additional cost and with no impact on performance.

  • Using server-side encryption with AWS KMS keys (SSE-KMS)
  • Using dual-layer server-side encryption with AWS KMS keys (DSSE-KMS)
  • Using server-side encryption with customer-provided keys (SSE-C)
  • Protecting data by using client-side encryption

华为云

  • 服务端加密简介
  • 服务端加密SSE-KMS方式
  • 服务端加密SSE-OBS方式
  • 服务端加密SSE-C方式
  • 与服务端加密相关的接口

相关文章:

  • Flask快速入门(路由、CBV、请求和响应、session)
  • 一杯咖啡的艺术 | 如何利用数字孪生技术做出完美的意式浓缩咖啡?
  • 内网安全--隧道技术代理技术
  • 学习AI 机器学习,深度学习需要用到的python库
  • 技术革命的十年:计算机、互联网、大数据、云计算与AI
  • 【新手必看】修复Windows11蓝牙连接问题的7个方法!
  • 2台nginx只需配置一台,另外一台直接生效
  • 【智能算法应用】基于A星算法求解六边形栅格地图路径规划
  • uniapp使用vue3语法构建自定义导航栏,适配小程序胶囊
  • 个人博客搭建
  • 文心一言使用技巧
  • 【全开源】旅行吧旅游门票预订系统源码(FastAdmin+ThinkPHP+Uniapp)
  • web前端开发和前端开发区别
  • 三端植物大战僵尸杂交版来了
  • Windows本地使用SSH连接VM虚拟机
  • RabbitMQ-topic exchange使用方法
  • Python学习笔记7:入门知识(七)
  • 常见排序算法——插入排序(直接插入排序 希尔排序)
  • MediaRecorder + Camera2 视频录制最佳实践
  • 【通信协议-RTCM】GPS-RTK可观测消息 ---- 对应RTCM十六进制 编码ID(3E9 3EA 3EB 3EC)
  • 商务部:自5月7日起对原产于印度的进口氯氰菊酯征收反倾销税
  • 媒体:南京秦淮区卫健委回应一医院涉嫌违规提供试管婴儿服务
  • 对谈|“对工作说不”是不接地气吗?
  • “五一”假期首日:国铁南宁局发送旅客81.7万人次
  • 奥斯卡新规:评委必须看完影片再投票;网友:以前不是啊?
  • 新华时评:需要“重新平衡”的是美国心态