-
再生码是近年来提出的一种适用于分布式数据存储的冗余编码机制,已被证明可以达到存储和修复带宽的最优权衡[1].基于再生码技术的分布式云存储系统,在数据修复时的带宽利用方面具有明显的性能优势.然而,如何保证存储数据的安全可靠性是基于再生码的大数据云存储系统有待解决的关键问题之一[2].
迄今为止,学者们已经提出了众多云计算数据审计方案,但这些方案大多依赖于公钥密码技术,具有很高的计算复杂度,存在着验证效率低下和安全实现条件过于苛刻等问题[3-4],难以适用于需要进行频繁代数编码操作的基于再生码的云存储系统.
当前,基于再生码技术的云存储数据审计也取得一些代表性的成果. Chen等[5]首先利用网络编码和随机采样技术提出了一种远程数据检测方案,但该方案不仅需要将编码向量进行加密操作,而且也要对所有的外包存储向量进行采样编码,计算量和通信量都很高,严重影响了系统存储性能. Chen等[6]采用最大距离可分码(MDS,Maximum Distance Separable)实现了抗拜占庭攻击的编码方案. Ren等[7]利用网络编码(外码)和纠错编码(内码)技术对数据进行双重编码,有效提升了数据的可用性. Sengupta等[8]将网络编码抗污染方案和公钥密码技术进行结合,实现了一种可公开审计的机制,但该方案和文献[6-7]都没有考虑数据的隐私保护. Liu等[9]利用BLS签名设计了一种审计方案,预编码操作代价很大,但被发现存在着一些安全缺陷[10].考虑到存储系统效能,选择私有审计策略是当前基于再生码的云存储系统较为合理的选择. Le等[11]利用消息认证码和线性加密的思想提出了一种性能高效的分布式隐私保护审计方案NC-Audit,但需要服务器知道用户的主密钥,显然是不合理的.此外,该方案Setup阶段的参数设计方法是不安全的. Lakshmi等[12]针对再生码存储系统提出了一种基于纠错码的同态加密方案,可以实现节点数据的加密和纠错,但该方案需要对存储数据进行预加密,同时审计和纠错过程中涉及大量的矩阵乘法计算,计算开销很大.最近,Liang等[13]将区块链技术与再生码技术进行融合,提出了一种区块链网络中的安全数据存储和恢复方案,有效地拓展了再生码的应用领域,但该方案并未考虑存储数据审计问题.
综上所述,现有面向再生码存储的数据审计研究工作虽具有一定的可行性,但在计算开销或安全性能上还很不理想,仍然没有克服分布式存储系统实现效率的性能瓶颈.因此,如何利用代数编码方法能同时实现数据审计和在线隐私保护仍是当前基于再生码技术的分布式安全存储领域一个重要的挑战.
不同于现有离线加密实现隐私保护的云存储审计机制,本文的主要贡献是在审计过程中借助一种隐私计算部分外包的策略,采用基于随机线性掩码的隐私安全技术,提出了一种高效适用于分布式云存储系统具有隐私保护功能的云审计机制.该方案有效地实现了质询响应数据的隐私保护,同时也给出了云存储节点隐私安全计算协同外包的审计策略,与现有方案相比,该方案可以在服务器端在线实施动态隐私加密,不仅具有完备的安全性,而且具有计算量小和通信开销少的特征,可以有效部署在用户资源有限的应用场景.
全文HTML
-
通常基于再生码的分布式存储系统架构包含云存储服务提供商(包含多个分布式存储节点)(CSP,Cloud Storage Provider)、用户和审计者(TPA,Third-Party Auditor)3个实体,如图 1所示.
用户订购云存储平台的存储服务,可以将自己的数据分布式存放在云存储各节点N1,N2,…,NN上,具体过程如下:
首先,用户将待存储文件数据分割成一个在有限域$\mathbb{F}$q上的n维初始消息向量序列v1,v2,…,vm∈$\mathbb{F}$qn;
其次,将初始消息向量vi扩展为n+m维的初始编码向量vi=(vi,ei)∈$\mathbb{F}$qn+m(n$\gg$m),其中ei为第i个元素为1的m维单位向量,i=1,2,…,m;
最后,用户对所有的扩展向量执行参数为(N,K)的MDS编码,即选取相应的编码系数αisj∈$\mathbb{F}$q,生成外包向量$\boldsymbol{y}_{s j}=\sum\limits_{i=1}^{m} \alpha_{i s j}$vi=(ysj,gysj)(j=1,2,…,M)并发送给存储节点Ns(s=1,2,…,N).其中,gysj=(α1sj,α2sj,…,αmsj)称为编码系数向量,由ysj的最后m个元素组成.
根据上述编码方法,如果用户需要恢复某个文件,则在云存储系统中任选K个正常存储节点,下载对应该文件的存储数据,通过MDS译码规则进行解码.如果云系统中某个存储节点数据损坏,则需要从任选的d(这里K≤d≤N-1)个正常存储节点上进行数据下载(每个节点的下载数据量为β)来完成数据的修复.再生码修复机制包含两类:精确修复或功能修复.通过灵活选取参数K、d、β、M和N,可以在分布式系统中构造最小存储再生码和最小带宽存储再生码,前者具有最优的存储效率,而后者在修复时具有最高的带宽利用率.具体设计可见文献[14-15].
TPA在系统中的作用是实时对云存储节点存储的数据进行完整性检测,TPA一旦发现云平台中某个存储节点检测失败且该节点自身无法修复的情况下,将执行云存储节点分布式数据修复过程.
下文叙述中仍将采用本节使用的参数及其符号表示.
-
在基于再生码的分布式云存储系统中,多个存储节点共同合作实现了CSP的功能.假定系统中每个存储节点具有安全的系统防护和密钥管理机制,不会导致用户隐私信息的泄露.同时,各存储节点能严格执行分布式云存储审计协议.但是,CSP可能会贪图节省自己存储开销而故意删除用户极少访问的数据,也有可能为了自己的商业信誉或利益而设法向用户隐瞒存储数据的毁坏.基于再生码分布式修复功能,系统中各存储节点之间可以互相通信,但各实体之间的通信信道可能并不是安全的,因而传输中的消息需要进行认证加密处理以保证隐私数据的安全保护.此外,TPA是一个用户可信的实体,忠实执行审计操作,虽不能与CSP共谋,但有窥探用户隐私的动机和欲望.
1.1. 系统模型
1.2. 安全模型
-
与已有研究不同的是,为了区分各次审计检测任务,协议为每一次审计检测过程设定了唯一的任务标签WID.同时,引入3个伪随机函数(PRF,Pseudo-Random Function),即F1:K×ID×$\mathbb{Z}$+→$\mathbb{F}$q,F2:K×$\mathbb{Z}$+×$\mathbb{Z}$+→$\mathbb{F}$q,F3:K×WID×$\mathbb{Z}$+→$\mathbb{F}$q.其中,记号$\mathbb{Z}$+表示由正整数集合,K为PRF密钥集,ID为文件标识符集合,WID为审计任务的标识符集合.
-
由于用户U对各存储节点的审计方式相同,本部分仅关注U与单存储节点Ns的协议执行过程.
-
1) 系统初始化
系统选定安全参数λ,确定伪随机函数F1,F2和F3,生成CSP与用户共享密钥ke和TPA与用户共享密钥kv.
2) 外包上传
① U和TPA利用文件标识符id和F1,计算向量r∈$\mathbb{F}$qn和r∈$\mathbb{F}$qn+m:
其中,向量r由向量r的前n个元素组成.
② U分别计算外包向量ysj=(ysj,gysj)的认证标签,即
其中j=1,2,…,M;
③ Ns利用F2计算
其中,
上述参数构造实际上要满足如下线性方程组Σ0:
其中,φi=0(i=1,2,…,n-1),φn和φn+1为用户U的专有私密信息.
④ U随机选取τ1,τ2∈$\mathbb{F}$q\{0},计算ω1=τ1-1·φn,ω2=τ2-1·φn+1.
最后,用户U将M个向量zsj=(ysj,tsj)和参数ω1,ω2上传到Ns,将gysj,τ1,τ2发送给TPA.最后,U可以删除文件标识符为id的本地数据,仅需保留gysj和协议密钥即可.
-
1) 审计质询与响应
① TPA任选一个待检测的外包向量索引集合Δ⊆[1,M],随机选取εi∈$\mathbb{F}$q(i∈Δ),生成质询消息chal={〈i,εi〉|i∈Δ},并将chal发送给Ns;
② Ns根据质询消息chal生成聚合响应消息
③ Ns对e进行随机加密,生成密文c,产生响应消息V=〈c,t〉∪{o1,o2},具体步骤如下:
Step 1:计算随机掩码系数βz=F3(ke,wid,z)∈$\mathbb{F}$q(z=1,2,…,n+1)和掩码向量
Step 2:计算
最后,Ns将消息V发送至TPA.
2) 响应消息检测
TPA利用响应消息计算编码系数向量ge,得到待检测消息c=(c,ge),计算
进而判断等式
是否成立.如果成立,针对存储节点Ns的该次审计通过,否则,判断Ns数据存储出错.
上述过程中,TPA利用公式(6)协作完成Nss的质询响应计算工作,完成审计检测.
-
审计响应的外包协同计算是保证上述协议安全的重要操作.用户首先使用τ1,τ2将φn,φn+1随机化为ω1,ω2,将ω1,ω2发送到Ns.由于Ns无法知道向量r,显然Ns无法知晓φn,φn+1.同时,用户U将τ1,τ2发送给了TPA,确保TPA能正确参与审计协作安全计算.审计响应时,服务器利用随机数βn,βn+1再次对ω1,ω2进行了随机化,从而使TPA也无法获取φn,φn+1的值.
该方法不仅实现了对参数φn,φn+1的有效保护,而且能将CSP生成质询响应消息的部分计算外包给了TPA,由TPA协作完成,从而给出了一种适用于数据审计的隐私计算安全外包的运行策略,这种策略在本方案中的作用有两个:一是实现了隐私保护审计参数的隐式安全传递,保证了方案的安全性;二是保证了TPA能正确地执行审计协议,且不会很大程度地影响TPA的工作效率.
2.1. 协议过程描述
2.1.1. Setup阶段
2.1.2. Audit阶段
2.2. 审计响应消息的外包协同计算
-
如果存储节点正确存储了待审计文件,它返回的响应消息必然可以通过本方案的验证.如果待审计文件数据已经受到损坏或被删除,存储节点返回的响应消息将无法通过审计检测.
定理1 如果所有的存储节点严格遵守本方案的协议规则,则TPA可以有效地证明节点存储的安全可靠性.
证 令r=(r,rn+1,rn+2,…,rn+m),可得
其中,0m表示长为m的零向量.
-
本方案可以有效地保证云数据的安全审计和审计响应消息的隐私保护.
定理2 如果F1和F2是理想安全的PRF,CSP能解出向量r的最大概率为q-1.
证 根据参数设置方法,敌手可以构造一个关于向量r(含n个未知量)的线性方程组∑0,即
由于pi∈$\mathbb{F}$qn,则A为一个维数为n×(n-1)的矩阵.又由于A是由安全的PRF生成,所以矩阵A的秩最大值为n-1,则∑0的解空间的维数最小为1.所以,敌手获得向量r的概率最高仅为q-1.即证.
定理2保证了认证向量r的安全性.同理可知,TPA也无法根据已有信息推导出认证向量r的信息.利用类似的方法,可以很容易发现方案NC-Audit是无法保证审计检测的安全性的.根据方案NC-Audit的参数构造方法,CSP可以很容易使用定理2和后文定理4的分析,构造出类似公式(8)的攻击方程组,从而能以很高的概率反解出用户的隐私密钥向量,导致该方案审计功能的丧失.
定理3 如果F1、F2和F3是理想安全的PRF,方案中的加密方法实现了完善的安全性.
证 记pi=(pi1,pi2,…,pi,n)(i=1,2,…,n+1),m=(m1,m2,…,mn).根据公式(3)和(4),敌手可以构造如下以βi(i=1,2,…,n+1)为未知量,由n个线性方程联立组成的方程组Σ2:
在假设条件下,方程组Σ2中所有的βi和pij在敌手看来都是在$\mathbb{F}$q中随机选取的值.令该方程组的系数矩阵的秩为ρ,显然有ρ≤n.
任取t∈[1,n],我们来分析mt的随机性.除了mt外,我们可以先固定方程组等号右边mi(i≠t)的取值.容易看出,无论mt取$\mathbb{F}$q中的任意值,该方程组解空间的维数为n+1-ρ,即可能的解个数都为qn+1-ρ,换句话说,mt的取值与其它mi(i≠t)的取值完全独立,皆是在$\mathbb{F}$q中按均匀分布选取的随机值.即证.
定理3保证了CSP质询响应消息e的安全性.
定理4 如果F1、F2和F3是理想安全的PRF,敌手利用该方案成功选取一个伪造数据向量的合法认证标签的概率最多为q-1.
证 该定理可采用“质询—响应”游戏进行证明.质询者可以随机选择ri∈$\mathbb{F}$q,生成rid=(r1,r2,…,rn+m).敌手可以获得一个文件id值,适应性地选择文件消息向量yi∈$\mathbb{F}$qn+m,向质询者询问该向量的认证标签.随后,质询者将ti=yi·rid(i=1,2,…,m)返回给敌手.
假设敌手最终成功输出一个伪造的多元组(id,y′,t′),则有
此时,敌手完全可以构造一个关于向量rid中个分量ri(j=1,2,…,n+m)的线性方程组Σ3:
令该方程组系数矩阵的秩为ρ,则其解空间的维数为n+m-ρ,可能解的个数为qn+m-ρ.利用定理2的分析方法,可得值t′是$\mathbb{F}$q中按均匀分布选取的随机值.由此可知,t′为向量y′的正确认证标签的概率仅为q-1.即证.
定理2和定理4共同保证了审计策略的安全性.
-
目前适用于再生码云存储系统的审计方案中,方案NC-Audit在计算性能上具有十分显著的优势.最近,文献[12]提出了一种用户在线审计的同类安全方案,但该方案利用一种基于对称密码体制的加法同态加密方案的可验证计算属性来检查外包数据的完整性,是该类方案的最新进展.于是,在相同的安全强度下,本节将本文方案与NC-Audit和文献[12]进行性能比较.
在隐私保护和审计安全性方面,根据定理2的分析,NC-Audit并不能有效防止存储服务器反解出用户的私有审计向量,所以无法保证审计策略的安全性.但是,本文提出的审计私有计算的协同外包机制避免了服务器获得多余的攻击辅助信息,从而有效地保证了用户隐私密钥的机密性,实现了完善的审计安全功能.与本文不同,文献[12]采用数据预加密的方式实现了该方案的隐私安全性.
在计算和通信性能方面,本文方案具有良好的实现性能,如表 1所示.在整个审计过程中,本文方案在计算开销上仅比NC-Audit多了3n+1次乘法计算,这在运行时间上完全可以忽略.此外,本文方案无需在初始消息中填充随机字符,故在通信效率上比NC-Audit高.本文方案也没有因安全功能的实现额外增加系统中各实体的存储开销.由于文献[12]涉及到了较大规模的线性编码和信道译码操作,故计算和通信开销也较大.
为了比较上述3个方案的实际运行性能,本文利用C语言编程在Intel(R) Core(TM) i5-7300HQ 2.50GHz@16G RAM处理器Win10-64bit环境下对本文方案和NC-Audit以及文献[6]中的方案进行在线计算性能的实验测试.实验设定方案安全强度为80bits,参数q=28,n=212,m=200,M=300(即每个节点存储300个编码数据包).实验采用AES的CTR模式(分组长度为128bits)来实现方案中的伪随机函数[16].为统一参数,实验将文献[12]中的s值(每个编码向量分割的子块数目)置为300,且用户本身代替完成了TPA的计算任务.实验忽略了加法运算耗时,重点关注有限域上的乘法计算时间. 表 2给出了在审计运行过程中,当ξ取100和200时,TPA和CSP(每个服务器)在线计算总时间(实验次数均为2000次).结果显示,本文方案在审计运行中达到了与方案NC-Audit同样高效的执行效率.由于文献[12]需要进行复杂的译码操作,故用户端计算负载较大,但服务器端开销较小.
需要说明的是,本文虽未考虑失效节点的数据修复问题,但方案的安全实现并没有抵消再生码系统的性能优势.虽然方案的构造产生了一定的安全认证开销,但由此产生的通信开销在数据修复过程中消耗的带宽资源很少,因而本文方案的实施并不会显著影响再生码技术的带宽利用优势.与之相比,文献[6-7, 9, 12]中的方案虽然具有更高的安全强度,但由于实现中会付出很大的计算和通信开销,其代价可能会造成再生码技术优势在分布式存储系统的严重丢失.
-
外包数据的隐私保护安全审计是基于再生码的分布式云存储系统应用中的关键议题之一.虽然使用公钥密码技术能很容易实现明文的实时隐私保护,但需要付出较大的在线计算开销.本文通过深入挖掘再生码存储系统数据编码特性,并将其与审计计算协作外包的思想进行结合,构造了一种线性随机编码技术,成功实现了一种高效的具有动态隐私保护的云数据审计方案,实现了一种基于对称密码技术的隐私保护和数据认证的高效整合.该方案的实现具有较低的计算复杂度,可在资源受限的环境下具有一定的实用价值.
在数据很少被读取或修改的情况下,例如长期归档、数据托管和监管存储等应用场景,基于再生码的云存储可能是首选的存储方案.但是,如果基于再生码的云存储系统允许用户可以对外包数据进行增删和修改等操作,现有的静态数据审计机制可能将会面临着严重的可用性问题.由于需要编码同步,所以,适用于传统云计算系统的动态数据审计方案都无法直接而又高效地应用于基于再生码的云存储系统.因此,本文下一步的研究工作将致力于解决基于再生码存储的具有隐私保护特性的动态数据审计问题.