CloudS:具备多级安全的多云存储系统
立即解锁
发布时间: 2025-08-20 00:56:53 阅读量: 1 订阅数: 12 

# CloudS:具备多级安全的多云存储系统
随着云存储服务和宽带互联网接入的普及,云存储中的数据机密性、完整性和可用性问题逐渐受到关注。为解决这些问题,众多多云存储系统应运而生。本文将介绍一种名为 CloudS 的多级安全系统,以及一种新的基于 XOR 的非系统纠删码 PPC Code。
## 1. 相关工作
云存储服务和宽带互联网接入日益普及,云存储的数据机密性、完整性和可用性问题逐渐引发关注。为解决这些问题,许多多云存储系统被提出,利用信息分散、复制和纠删码(如 MDS)来提供数据完整性和高可用性。对于数据机密性,Shamir 的秘密共享和 Rabin 的信息分散被广泛应用。
在多云环境中,也出现了许多性能良好的系统:
- Depsky:一个虚拟存储云系统,解决了数据的可用性和机密性问题。
- RACS:一个代理,通过类似 RAID 的技术将存储负载透明地分散到多个提供商,以提供云中存储数据的高可用性,并避免供应商锁定成本。
- HAIL:一个分布式加密多云系统,结合了可检索性证明(PORs)和数据持有证明(PDPs),旨在保证数据的完整性和可用性。
- ICStore:通过使用复制和 Shamir 的秘密共享来解决数据的机密性、完整性、可靠性和一致性问题。
然而,上述系统没有考虑不同数据和/或不同用户的各种安全要求。本文提出了一个名为 CloudS 的多级安全系统,并设计了一种新的基于 XOR 的非系统纠删码 PPC Code,用于在低存储和计算成本下保证数据的机密性和完整性,并将其应用于 CloudS。与系统纠删码相比,PPC 在云环境中更值得信赖,即使一个云服务器受到攻击,仍能确保数据安全。
## 2. 框架设计
### 2.1 系统模型
系统模型包含三个部分:用户、CloudS 代理和不同云供应商提供的公共云服务器。用户可抽象为单个 Web 浏览器,无需在本地执行代码,也无需安装任何插件,避免了因本地计算机故障或更换带来的不便。在这个模型中,CloudS 作为用户和云提供商之间的第三方代理。
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(用户):::process --> B(CloudS 代理):::process
B --> C(公共云服务器):::process
```
### 2.2 CloudS 架构
CloudS 架构由四层组成:
| 层次 | 功能 |
| ---- | ---- |
| 用户层 | 接受用户请求并提交给系统层,是用户与 CloudS 交互的“门户” |
| 接口层 | 设计统一接口,以实现良好的可扩展性,适应不同云提供商的 API |
| 网络层 | 通过发送和接收 http/https 数据包实现 CloudS 与云服务器之间的数据传输 |
| 系统层 | CloudS 的核心,承担所有计算任务,主要由操作处理单元、授权单元和令牌管理单元组成 |
系统层的操作处理单元是数据操作模块,其中目录树管理器用于目录操作和元数据记录,文件系统管理器用于处理用户数据,并通过一系列机制确保数据安全。CloudS 提供不同的加密、压缩和编码方案组合,以满足不同的安全级别,用户可根据自身需求进行选择,使系统更加灵活。同时,PPC 作为编码方案在该模块中实现。
## 3. PPC 设计与实现
### 3.1 术语定义
- **Chunk**:存储数据和/或编码(“奇偶校验”)信息的基本存储单元,在传统存储系统中也称为条带单元或条带。
- **Stripe**:用户文件被分割成 k 个块,然后编码成由 n(= k + m) 个块组成的条带,这些块分布在 n 个节点上,以提供高可靠性和可用性。从理论上讲,条带是一个码字,是一起编码和解码的(数据和奇偶校验)位的最小(且完整)集合。
- **Node**:一个独立的存储容器,用于存储数据和奇偶校验块,可以是云存储服务、对等系统中的节点等。
### 3.2 隐私保护指标
- **隐私度(Privacy Degree)**:PPC 码的隐私度为 t,如果它能抵抗任何 t 次攻击。即给定 n 个奇偶校验块中的任意 t 个,无法重构任何数据块,且存在 (t + 1) 个奇偶校验块可以重构一些(不一定是全部)数据块。由于 PPC 码是一种非系统纠删码,不保留原始数据,所以隐私度必须大于 1。本文定义 PPC(k, n, t) 表示 k 个原始数据块生成 n 个编码块,至少持有 k 个编码块时可恢复所有原始块,实现 (n - k) 次纠删校正,t 表示隐私度。
- **安全组和不安全组(Safe and Unsafe Group)**:设 S 是条带中块的子集,如果无法从子集 S 重构任何数据块,则称 S 为安全组,否则为不安全组。
- **最佳情况隐私度(Best Case Privacy Degree)**:PPC 码的最佳情况隐私度为 tBC,如果其最大安全组的大小为 tBC。
- **S - 安全可分和 S - 安全划分(S - safe Partible and S - safe Partition)**:如果 PPC 码的条带可以分割成 s 个安全组,则称该 PPC 码是 s - 安全可分的,这些组构成该 PPC 码的 s - 安全划分。
### 3.3 PPC(k, k + 1, t) 的结构性质
PPC 是一种基于 XOR 的(二进制)码,其编码和解码可通过生成矩阵与原始数据块相乘实现。对于 PPC(k, k + 1, t),需要一个 (k + 1) × k 的生成矩阵 G,该矩阵必须具有以下性质:
1. **线性独立性**:G 的任意 k 个行向量线性独立,即 G 的每个 k × k 方子矩阵都是可逆的。这一性质确保了 PPC 的容错性,如果一个编码块不可用,删除 G 中对应的行,剩余的 k 行形成一个 k × k 方阵,若 G 满足该性质,则所有这样的子矩阵都是可逆的,可通过矩阵乘法使用子矩阵的逆和剩余的 k 个编码块恢复原始数据块。
2. **行向量权重**:随意选择 G 中的一行 v,ONES(v) ≥ 2。这里 ONES(v) 定义为向量 v 的权重,即 v 中‘1’的数量。该性质确保了数据隐私,因为 PPC 的隐私度大于 1,所以只使用由权重大于或等于 2 的行向量组成的生成矩阵。
### 3.4 PPC(k, k + 1
0
0
复制全文
相关推荐









