Zahra Pooranian , Member, IEEE, Mohammad Shojafar , Senior Member, IEEE, Sahil Garg , Member, IEEE, Rahim Taheri , and Rahim Tafazolli , Senior Member, IEEE
目标
这篇文章提出了一种在上传CCPS用户和云存储之间使用永不解密同态加密(LEVER)协议的消息锁加密,以协调加密和数据去重。
安全问题
攻击1:
毒化攻击【1】 目的是实现存储块与标签
之间不一致。后续使用
的用户在进行重复检查后,就会在云上有一个伪造的副本。特别地,外部攻击者可以通过发送标签
但上传文件
,使云由于标签匹配将所有与标签
相关的后续用户关联到
。最后,本应从云端接收
的用户将获得伪造的块
。
攻击2:
旁路攻击【2】会引起隐私保护问题。特别地,外部攻击者可以从标签响应中获得f的存在状态。由于真实世界中的内容具有较低的最小熵特性,这些额外的信息使攻击者能够采用蛮力破解的策略来破解敏感内容。
攻击3:
暴力破解等基础攻击方式。
问题
1)在CPS中设计一种高效的加密数据去重算法是否可行?
2)能否保证所提算法在保证数据隐私的同时,相对于已有算法具有较高的实用性能?
3)加密方法如何支持上传者与云服务器的两方交互?
目标
1)暴力破解的弹性: 实际应用通常会具有较低的最小熵(即,可预测)内容,这使得暴力破解策略很容易找出当前去重加密编码的敏感信息。因此,即使对于可预测的内容,抵抗暴力恢复也应该是一个安全目标。
2)两方交互: 使用独立的可信服务器(或任何可信组件)可以简化系统设计。尽管如此,独立服务器最关键的弱点是在没有业务理由的情况下运行它们是不切实际的。因此,在上层的系统设计中,上传和下载只涉及上传用户与云端的交互。
3)计算效率:仅使用轻量级密码原语或尽量少使用重量级密码原语可以保持计算效率,避免因性能下降而对重复数据删除粒度和收益造成严重影响
文章贡献
1)第一个贡献是开发一种永不解密的同态加密(LEVER)消息锁加密,利用同态加密无需进一步解密的特性,并可抵抗外部攻击者的暴力破解。
2)在LEVER中,只有上传者和云端参与上传过程,而目前大多数方案需要第三方参与CPS。
3) LEVER可以透明地与当前任何与CPS用户链接的云存储工作,而不需要云存储提供商在后端进行工程工作。
4)使用Enron[12]和Oxford[13]两个数据集,在通信和去重成本方面验证了LEVER。
5)最后,除了分析和数值模拟,我们还搭建了一个原型来演示。
问题陈述
系统架构
图1所示。建议的架构,其中图1(a)是CCCPS,以及图1(b)为CDD。(a)CCCPS。(b) CDD。
Fig1.(a)来自CPS 1的用户1和来自CPS 2的用户2上传了同一个文件到CDD中[参见图1(a)中的连续箭头]。与此同时,敌手的目标是获取文件f的信息并访问加密数据,以改变其在CDD中的完整性[参见图1(a)中的逻辑虚线链接]。在满足系统重复数据删除技术的同时,我们要求强制云服务器保护数据的安全性和隐私性。
重复数据删除架构
Fig1.(b)描述了重复数据删除的过程。考虑云存储(),它适用于跨用户客户端固定大小的分块级数据去重。我们有一个用户(
),他通过与云交换消息来对数据块执行重复检查。重复检查的过程如下,当用户想要上传一个文件f(即chunk)时,他首先使用
(即chunk)计算哈希值(即,也称为文件f的标签)。
它是一个加密的散列函数(SHA-256).然后,他将其发送到云端(例如,“
在云端吗?”)。如果云在内存中找到
的副本,他将收到一个积极的标签响应,不需要再次上传
。否则,用户将收到否定的标签响应并上传
,并且云将
保存在内存中以备将来进行重复检查。
安全模型
存储模型:云存储执行跨用户分块级客户端重复数据删除,试图降低存储和网络带宽成本。用户
拥有一个单独的密钥
,它不会与任何人共享。对称加密
(例如AES-CBC)和加密散列函数
(例如SHA256)可以使用了。在这项工作中,用户
试图在
中存储一个低熵(即,可预测)的块
。所有候选f的集合称为
。用户
可以访问长度完整的块哈希
和截断哈希(也称为短哈希)
。
的部分比特可以被认为是短哈希值
。从字面上看,
具有很高的碰撞率,因此攻击者不能确信是特定的
意味着
,从而减轻暴力威胁。本质上,
的目的是计算用于加密f的块密钥
并上传
。
威胁模型:
考虑一个合法但恶意的用户(外部攻击者)和一个诚实但好奇的云
(内部攻击者);它们的共同目标是恢复合法用户
拥有的
或
。在这里,由于块只有较低的最小熵,
和
可能分别考虑外部暴力和内部暴力策略来恢复
或
。在外部(内部)暴力攻击中,
窃听(
接收)一个低最小熵内容的确定性表示(例如,
),然后构建所有候选块的确定性表示,以查看哪个与窃听(接收)的内容相匹配。由于
是可预测的,因此
的随机程度决定了暴力破解是否有效。
LEVER 建议的方法
将加密数据重复删除分为三个阶段;用
户在第一阶段导出待上传数据块的块密钥.在第二阶段将待上传数据块转换为加密形式,然后在第三阶段运行普通重复数据删除协议。
加密重复数据删除的设计难题是高最小熵密钥只能对数据块进行加密。但是,对于具有相同的不同用户来说,计算标准的高最小熵密钥仍然很困难。我们有以下标准
1)数据块只能用一个高最小熵密钥进行加密,其中
是
的高最小熵密钥。
2)由于块密钥需要存储在云端,使用高最小熵密钥只能对其进行加密。
设是由显式上传f的用户计算并发送的索引。如果
是较高的最小熵值,那么它可以抵抗暴力攻击。
指的是
和
。我们希望有一个块依赖密钥提取函数
,其中
和
表示来自云存储的材料,
表示用户的块,使得
提取
的块密钥
。
1)如果索引来自
,
正确地提取块键
。
2)如果索引不是来自
,
输出一个随机位串。
具体块的上传分为三种情况;
第一种情况指的是云没有要考虑的块的副本,并且无法在索引表中找到短散列的匹配项。
第二种情况指的是云没有块的副本,但可以在索引表中找到短散列的匹配项。
第三种情况指的是云中已经有了块的副本。
协议描述如算法1所示。该算法首先计算短哈希值并将其上传到云存储。由于碰撞率高,短哈希不会泄露敏感内容,能够抵抗穷举攻击。然后,
在索引表I中查找匹配项(算法1中的案例1)。第2行表示云在索引表中找不到短哈希的匹配项。因此,用户知道他是第一个上传f的人。用户生成一个高最小熵随机密钥
(第3行)。之后,用户计算并上传
,以及必要的索引
和
到云端(第4行和第5行)。用户将
保存在本地存储中并删除所有中间材料。图2为LEVER案例1的模型
LEVER的协议描述见算法1
第五行,用户U需要将保存在本地。
Fig 3 解释了case 2a,有人上传过的情况。
Fig 4 则为没有人上传过该文件,但是短哈希匹配成功。即case 2b.
【1】M. Bellare, S. Keelveedhi, and T. Ristenpart, “Message-locked encryption and secure deduplication,” in Proc. Annu. Int. Conf. Theory Appl. Cryptographic Techn., 2013, pp. 296–312.
【2】D. Harnik, B. Pinkas, and A. Shulman-Peleg, “Side channels in cloud services: Deduplication in cloud storage,” IEEE Secur. Privacy, vol. 8, no. 6, pp. 40–47, Nov. 2010.