对象存储服务的加密特性

实现思路

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

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

密钥的用途

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

加密的位置

包括客户端和服务端。

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

方案二,加密操作由对象存储客户端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方式
  • 与服务端加密相关的接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机游戏因为d3dcompiler_47.dll丢失无法启动怎么办?解决只要d3dcompiler_47.dll丢失无法启动游戏软件的方法

d3dcompiler_47.dll 是一个动态链接库文件,属于 Microsoft DirectX 的一部分,主要负责编译和运行 3D 图形程序。它是支持 Direct3D 功能的核心组件,Direct3D 是一种用于编程 3D 图形的 API,广泛应用于游戏和图形密集型应用程序中。…

Linux 如何查看磁盘空间占用

Linux 磁盘空间满会导致的问题 当 Linux 系统的磁盘空间满时,可能会导致一系列问题和不良表现,影响系统性能和稳定性。导致的问题可能是: 系统性能下降:磁盘空间不足会使得系统无法正常写入临时文件,影响系统操作和运…

html实现粘贴excel数据,在页面表格中复制

录入数据时&#xff0c;有时候需要把excel中的数据一条条粘贴到页面中&#xff0c;当数据量过多时&#xff0c;这种操作很令人崩溃。本篇文章实现了从excel复制好多行数据后,可在页面粘贴的功能 具体实现代码 <!DOCTYPE html> <html lang"en"> <head…

ArcGIS for js 4.x FeatureLayer 点选查询

示例&#xff1a; 代码如下&#xff1a; <template><view id"mapView"></view></template><script setup> import "arcgis/core/assets/esri/themes/light/main.css"; import Map from "arcgis/core/Map.js"; im…

SAP ABAP 编码规范

文章目录 前言一、案例介绍/笔者需求二、命名规范 a.类型&#xff08;Type&#xff09; b.全局&#xff08;Global&#xff09; c.局部&#xff08;Local&#xff09; d.子程序&#xff08;Perform&#xff09; e.函数…

11.QLoRA微调ChatGLM3-6B

实战 QLoRA 微调 ChatGLM3-6B 大模型 实战 PEFT 库 QLoRA ChatGLM3-6B 微调数据集 AdvertiseGen AdvertiseGen 数据集获取 使用ChatGLM3-6b Tokenizer处理数据 关于ig nore_label_id 的设置&#xff1a; 在许多自然语言处理和机器学习框架中&#xff0c; ig nore_label_id 被…

Julia 数学函数

Julia 数学函数 Julia 是一种高性能的动态编程语言,特别适合于数值计算和科学计算。在数学领域,Julia 提供了丰富的内置函数,这些函数涵盖了从基本运算到高级数学运算的各个方面。本文将详细介绍 Julia 中的数学函数,并提供一些示例,帮助读者更好地理解和使用这些函数。 …

在VSCode中使用Vim

在VSCode中使用Vim&#xff0c;主要涉及到Vim插件的安装和配置。以下是在VSCode中使用Vim的详细步骤&#xff1a; 1. 安装Vim插件 打开VSCode&#xff1a;首先&#xff0c;启动你的VSCode编辑器。进入扩展面板&#xff1a;在VSCode的左侧活动栏中&#xff0c;点击扩展图标&am…

计算机网络实验(鲁东大学)-cisco-逃课

逃课脚本4-1第二关 以4-1 第二关为例 点开图形化界面&#xff0c;点开工具箱 点复制粘贴 把逃课代码复制粘贴进&#xff0c;点击保存 回到图形化界面&#xff0c;任意位置打开终端 点击shiftctrlv&#xff08;其他方式粘贴进终端也可&#xff09;后敲击回车&#xff0c;在…

[大模型]Phi-3-mini-4k-Instruct Lora 微调

本节我们简要介绍如何基于 transformers、peft 等框架&#xff0c;对 Phi-3-mini-4k-Instruct 模型进行 Lora 微调。Lora 是一种高效微调方法&#xff0c;深入了解其原理可参见博客&#xff1a;知乎|深入浅出 Lora。 这个教程会在同目录下给大家提供一个 nodebook 文件&#x…

代码随想录算法训练营day6| 哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和

day5休息 1. 哈希表理论基础 要了解哈希表的内部实现原理&#xff0c;哈希函数&#xff0c;哈希碰撞&#xff0c;以及常见哈希表的区别&#xff0c;数组&#xff0c;set 和map。 什么时候想到用哈希法&#xff0c;当我们遇到了要快速判断一个元素是否出现集合里的时候&#xf…

sslh一键在一个端口上运行多个服务(KALI工具系列二十三)

目录 1、KALI LINUX 简介 2、sslh工具简介 3、信息收集 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、操作示例 4.1 监听特定端口 4.2 配置SSH 4.3 配置apache 4.4 配置sshl 4.5 验证配置 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、…

基于线性核函数的SVM数据分类算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于线性核函数的SVM数据分类算法matlab仿真&#xff0c;通过程序产生随机的二维数据&#xff0c;然后通过SVM对数据进行分类&#xff0c;SVM通过编程实现&#x…

[大模型]Phi-3-mini-4k-instruct langchain 接入

环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 。 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其中的终端开始环境配置、模型下载和运行演示。 创建工作…

HTML具体应用介绍要点和难点以及优缺点分析

HTML(HyperText Markup Language)是超文本标记语言,它是用于创建网页的标准标记语言。HTML 描述了网页的结构和内容,但它并不包含如何显示这些内容的样式(如字体、颜色、布局等)或如何处理用户输入(如表单提交)的信息。这些通常由 CSS(层叠样式表)和 JavaScript 来实…

Java Android 静态内部类 以及优雅实现单例模式/避免handler内存泄漏

前言 Java 中的静态内部类(Static Nested Class)是定义在另一个类里面的一个静态类。它和普通的内部类有些区别,主要是静态内部类不需要依赖于外部类的实例就可以被创建和访问。这种类的特性使得它非常适合用来作为辅助类,用于支持外部类的功能。 特点以及使用场景 静态内…

云计算时代的等保测评挑战和应对策略

概述 云计算作为一种新兴的计算模式&#xff0c;以其灵活性、可伸缩性和经济性&#xff0c;正逐渐成为企业和组织构建信息系统的首选。然而&#xff0c;云计算环境下的信息安全等级保护&#xff08;以下简称“等保”&#xff09;测评面临着前所未有的挑战。本文将从等保测评的…

RabbitMQ实践——配置Prometheus和Grafana报表

大纲 启用rabbitmq_prometheus插件安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动配置数据源 在《RabbitMQ实践——在Ubuntu上安装并启用管理后台》中我们已经安装成功RabbitMQ及其管理后台。在此基础上&#xff0c;我们将打通它和Prometheus、Gra…

PHP地方门户分类信息网站源码讯客分类信息系统源码(含手机版)

源码介绍 1.上传程序到网站根目录,访问http://域名/install/index.php 进行安装,不要直接打开网址&#xff0c;先直接安装; 2.安装完成后 后台恢复数据即可 默认帐号密码都是admin http://域名/admin/ 3.不要删除任何文件&#xff0c;因为删除文件或者修改代码可能造成错误 运…

渗透测试练习题解析 6 (CTF web)

1、[HCTF 2018]admin 1 考点&#xff1a;二次注入 先注册一个账号看看&#xff0c;注册 admin 会提示该用户名已存在&#xff0c;那我们就换一个用户名 观察页面功能&#xff0c;存在一个修改密码&#xff0c;开始的思路是想看看能否通过该密码功能抓包然后修改用户名为 admin …