Secure Data Deduplication with Dynamic AccessControl for Mobile Cloud Storage

Secure Data Deduplication With Dynamic Access Control for Mobile Cloud Storage | IEEE Journals & Magazine | IEEE Xplore

Saiyu Qi∗ , Wei Wei† , Senior Member, IEEE, Jianfeng Wang‡ , Shi-Feng Sun§ , Leszek Rutkowskik‡‡, Fellow, IEEE, Tingwen Huang∗∗, Fellow, IEEE, Janusz Kacprzyk††, Fellow, IEEE, Yong Qi∗

简介

问题介绍

        REED【1】容易受到保留密钥攻击和保留存根攻击,导致不安全的访问撤销,无法支持安全的动态访问控制。文中指出,AC-Dedup是第一个同时实现安全数据去重和安全动态访问控制的实用系统。使用真实的物联网数据集,在移动设备和云平台上进行了安全性分析和实验评估。实验结果表明,AC-Dedup在保证重复数据删除有效性的同时,实现了安全高效的动态访问控制。

解决思路:

        首先,AC-Dedup提出了一种混合消息锁定加密(MMLE)方案,以防止密钥保留攻击。其次,AC-Dedup提出了随机stub重加密协议,以防止stub保留攻击。

主要贡献:

        1)分析了REED协议在撤销访问权限时的脆弱性,指出REED协议不能抵抗密钥保留攻击和存根保留攻击。

        2)设计了AC-Dedup,一种支持安全动态访问控制的移动云存储加密重复数据删除系统。AC-Dedup使用两种新的加密技术分别防止上述两种类型的攻击。此外,AC-Dedup保留了REED协议高效的访问撤销特性,并利用边缘节点优化了重复数据删除效率。

        3)我们提供安全分析和性能评估基于真实物联网数据集的移动设备和云平台AC-Dedup系统模型结果表明:(1)AC- Dedup能够实现安全的动态访问控制;(2) AC-Dedup的性能与REED相当。

背景介绍

系统模型:

        系统模型包括四种类型的实体:云、管理员、少量边缘节点和大量用户。

        1)用户:     用户使用他们的设备生成文件并通过边缘节点将它们提交到云端进行共享。

        2)云:    云是提供数据存储和共享服务的中心化服务。

        3)边缘节点:  边缘节点位于不同地理位置,提供网络服务。用户上传/下载加密文件到/从云端。

        4)管理员:     :管理员负责管理用户的访问权限。它通过向用户分发密钥来分配访问权限,并通过更新文件的访问策略来撤销用户的访问权限。

威胁模型

        考虑了一个理性的威胁模型,其中攻击者希望以最小的本地存储开销获取存储在云端的原始文件内容。攻击者可以妥协云端和边缘节点来访问所有存储的文件,也可以与一小部分用户勾结来获取超出被勾结用户访问范围的原始文件内容。假设管理员是诚实的。我们还假设用户、管理员和云通过安全的网络通道(如SSL)通信。

设计目标:

        1)保护文件机密性。

        2)实现动态访问控制。

                (1)访问控制    (2)访问权限撤销。对于(1)访问控制,AC-Dedup对文件实施细粒度的访问策略,只有用户的访问权限满足该文件的访问策略才能访问该文件。对于(2)撤销访问权限,AC-Dedup通过更新文件的访问策略来撤销用户对文件的访问权限。

        3)效率和去重功能。

                它采用加密技术保护文件,并允许根据访问策略和权限撤销来控制访问。同时,它还保持高效的计算和通信,并保留去重功能。    

前期工作分析

                REED是一个支持动态访问控制的加密去重系统,通过使用两种类型的密钥(文件级对称密钥和块级MLE密钥)对文件进行加密,实现了对文件的访问控制。同时,REED使用CAONT方案将MLE密文转换为CAONT包,并使用文件密钥加密其中的一小部分(称为“stub”),而其余部分(称为“trimmed package”)则用于去重。

                撤销所有权的用户保留存根或秘钥后可以以本地存储的很小的代价获取相关明文的信息。

这里熟悉REED都会发现这两种攻击方式。原文请查看引用 1.

系统介绍:

基本加密思路

                文件F对应文件秘钥$k_F$:每个块M\in\{M\}对用块秘钥$k_{ML}$.AC-Dedup有两层加密。第一层使E\left ( M,K_{ML} \right )\rightarrow C_{ML}. 第二层从C_{ML}中选取一个存根包stub_p,使用对称加密算法将其加密,得到密文C_{stub_p}. 存根包是两个存根的连接。C_{ML}的剩余部分被视为修剪后的包C_{trim},用于重复数据删除。通过这种方式,AC-Dedup利用文件密钥对所有MMLE密文的存根包进行加密,同时保持块级重复数据删除。

        AC-Dedup通过将文件F与文件访问策略\gamma关联来支持动态访问策略,\gamma提供了那些属性的用户能够访问F。通过两层加密后,利用\gamma\{k_{ML}\}k_F进行CP-ABE加密,得到ABE密文CT。管理员为每个用户分配一个ABE私钥SKABE,该私钥对应一组属性。只有满足\gamma属性的用户。管理员为每个用户分配一个与一组属性对应的ABE私钥SK_{ABE}。如果用户的属性满足\gamma,则可以使用SK_{ABE}CT进行解密,再使用解密后的\{k_{ML}\}k_F\{M\}进行解密。

       所有权撤销方法

        为了撤销用户对F的访问权限,管理员用一个新的文件密钥k_F'重新加密每个M\in\{M\}的存根包,ABE用一个新的访问策略\gamma'重新加密k_F'||\{k_{ML}\} 。这样,AC-Dedup保留了REED协议的高效重加密特性,即只需对文件中每个分块的存根包进行重加密即可刷新文件密钥。为了保证安全的动态访问控制,AC- Dedup采用了两种新的加密技术,即MMLE方案和随机存根重加密协议,分别防止了密钥保留攻击和存根保留攻击。

        MMLE方案

                抵抗密钥保留攻击方法

                MMLE在生成存根和修建包时取消了CAONT 中密钥k_C的使用。

                MMLE方案通过在加密过程中混合消息内容对MLE方案进行了扩充。它使用混合加密模式作为底层密码原语。与CAONT方案相比,混合加密模式虽然以密钥作为输入,但其混合过程不依赖密钥对消息进行掩码。因此,即使保留密钥,在不获取完整密文的情况下恢复底层消息也是计算上不可行的。混合加密模式的原始设计禁止重复数据删除,因为其加密使用随机密钥作为输入。与之不同的是,MMLE方案用确定的分块派生密钥代替随机密钥来加密分块。由于相同的消息被加密成相同的密文,这保持了重复数据删除的有效性 。混合加密模式的最初使用是为了实现高效的数据访问撤销。撤销消息的访问权限时,管理员可以使被撤销的用户无法恢复消息的一小部分密文,从而阻止被撤销的用户解密消息。

               随机存根重加密协议

                AC-Dedup使用随机存根重加密协议将每个M\in\{M\}的存根包stubp用新的文件密钥重新加密为一个随机选择的新存根,以抵抗保留存根攻击。我们对前期工作中的随机位置重加密方案进行了改进,设计了随机存根重加密协议。原始随机位置重加密方案依赖边缘节点和数据拥有者承担重加密任务。我们的观察结果是,由于管理员拥有CP-ABE的主密钥,所以可以直接从其ABE密文中获取旧的文件密钥。基于此,我们将重加密任务委派给集中式管理员来完成。这样,新生成的文件密钥不需要同步到边缘节点层。随机存根重加密协议是管理员持有旧文件密钥和新文件密钥,云持有MMLE密文并使用旧文件密钥加密存根包之间的交互协议。

        一个直接的设计如下:(1)管理员从云端下载加密的存根包,用旧的文件密钥解密,并将解密后的存根包返回给云端。(2)管理员随机选择一个MMLE密文块作为新的存根包,并从云端下载。(3)管理员使用新的文件密钥对新的存根包进行加密,并将加密结果上传到云端。然而,这样的设计在步骤(1)中将旧的存根包暴露给了云端,使其能够恢复整个MMLE密文。针对该问题,选取MMLE密文中的两个分块作为两个存根,并将它们连接成一个存根包stub_p=stub_d||stub_f,其中stub_d是动态存根,stub_f是固定存根。在协议中,选择了一个新的存根包stub_p'=stub_d'||stub_f进行加密。Stub '_p由一个随机选择的新动态存根Stub '_d组成,而固定存根stub_f不变。因此云永远无法得到完整的密文。

混合加密模式

                混合加密模式[2]使用对称分组密码在块级加密消息。对称分组密码保证了加密结果在分组级完全依赖于输入的每一个比特。如果丢失了某个加密版本块的某些比特位,恢复原始块的唯一方法是执行暴力攻击,尝试对丢失比特位的所有可能的值组合进行暴力攻击。对称分组密码的直接使用只提供了块级的混合。混合加密模式通过多轮加密,将加密过程从小块扩展到大宏块。为此,混合加密模式引入了3个级别的消息块。(1) Mini-block:一个比特序列。(2)分组(Block):对称分组密码的min-block输入序列。(3)宏块:块的序列。考虑一个宏块由b个Block块组成,每个Block块由n个小块组成。混合加密模式需要b=n^{x-1},其中x是配置宏块大小的参数。为了混合宏块,混合加密模式使用x轮加密,每轮由b轮加密组成。在每一轮中,由前一轮不同加密操作生成的min-block块组成的block块。

        图5显示了宏块的混合过程。宏块由4个block块组成,每个block块由4个min-block块组成。在本例中,b=4, n=4, x=2。混合加密模式采用2轮加密,每轮由2次加密组成,对宏块进行混合加密。

        安全性保证:混合加密模式保证了攻击者在不获取整个宏块密文的情况下恢复其底层宏块在计算上是不可行的。如果宏块丢失了一些密文位,攻击者就必须执行暴力破解,尝试对丢失位的所有可能的值组合进行解密操作。具体来说,敌手必须尝试对所有可能的组合进行2次miss解密操作,其中miss是缺失比特的长度。

本文的加密方法

图6显示了在AC-Dedup中MMLE方案的使用情况。给定一个文件F,数据所有者首先将F分成一组块{M}。对于每个M\in\{M\},数据拥有者计算M的MMLE密钥k_{ML},并使用MMLE方案用k_{ML}对M加密,得到一个MMLE密文C_{ML}。  然后数据拥有者选择C_{ML}的最后两个块作为动态存根stub_d和固定存根stub_f,得到一个存根包stub_p=stub_d||stub_f ||L,其中L是stub_d在CML中的位置。然后,数据拥有者使用对称加密方案,用文件密钥k_F对存根包进行加密,得到加密后的存根包C_{stub_p};CML的其余部分被视为修剪后的包C_{trim}。这样,M就被加密为(C_{trim},  C_{stub_p})。

随机存根重加密协议

        Re-EncREE[administrator (k_F , k_F') ↔cloud (C_{trim}, C_{stub_p})] 是管理员和云之间的交互协议。管理员以两个文件密钥(k_F, k_F')作为输入,云以一个MMLE密文 (C_{trim}, C_{stub_p})]作为输入,其中存根包stub_pk_F加密。在该协议中,管理员使用新的文件密钥k_F'将存根包重新加密为一个随机选择的新包。              

随机存根重加密协议的细节见算法3。

图7显示了在F的两个简洁的访问权限撤销操作中使用随机存根重加密协议。每次操作后,为每个M∈{M}随机选择一个新的存根包,并由一个新的文件密钥加密。

系统设计

        系统设计部分就相对简单。传统的加密去重操作过程。

数据上传阶段:

数据下载

访问权限撤销

撤销访问权限撤销操作的流程如算法6所示。为了撤销某些数据消费者对文件F的访问权限,管理员下载文件F的属性ABE密文CT,并使用属性基私钥SK_{ABE}解密。然后,管理员生成一个新的文件密钥k ' _f,使用CP-ABE方案用新的访问策略\gamma '加密k ' _f ||{k_{ML}},并将得到的ABE密文CT '上传到云端。对于每个加密的chunk (C_{trim}, C_{stub_p})∈{(C_{trim}, C_{stub_p})},管理员与云端运行随机存根重加密协议,将(C_{trim}, C_{stub_p})的存根包stub_p使用新的文件密钥重加密为随机选择的新存根包stub '_p 。管理员可以与云并行地为所有{(C_{trim}, C_{stub_p})}运行随机存根重加密协议。这样,管理员将F的加密版本({(C_{trim}, C_{stub_p})}, fr, CT)重加密为({(C_{trim}, C_{stub ' _p})}, fr, CT')。

实际上,数据拥有者可以灵活选择委托管理员管理数据的访问策略,也可以自己管理数据的访问策略。

看法

1)加密方式的不同,CAONT->混合加密

2)引入管理员进行策略选定。存根中加入固定部分,保证云端永远无法得到完整的密文。

【1】J. Li, C. Qin, P. P. C. Lee, and J. Li. Rekeying for encrypted deduplication storage. In 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, DSN 2016, Toulouse, France, June 28 - July 1, 2016, pages 618–629, 2016.

【2】E. Bacis, S. D. C. di Vimercati, S. Foresti, S. Paraboschi, M. Rosa, and P. Samarati. Mix&slice: Efficient access revocation in the cloud. ACM SIGSAC Conference on Computer and Communications Security, 2016.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值