首页 / 专利库 / 心理学与精神病学 / 感知 / 一种具备位置感知的云数据可验证备份方法

一种具备位置感知数据可验证备份方法

阅读:853发布:2021-06-15

专利汇可以提供一种具备位置感知数据可验证备份方法专利检索,专利查询,专利分析的服务。并且本 发明 属于可信 云 计算技术领域,公开了一种具备 位置 感知 的云数据可验证备份方法。通过Setup、Put、Get、Challenge和Verify这五个协议以及验证器的辅助下,本发明可以在保证不损害数据机密性及完整性的同时帮助数据所有者验证存储在云 服务器 中的文件是否被远程备份到 指定 地理位置的服务器中。本发明——基于位置感知的云数据备份验证系统ReliableBox作为一个安全实用的 中间件 ,胜任对CSP的存储服务是否符合契约保证和数据保护规则的验证工作,有效应对数据完整性和地理 定位 欺骗攻击。,下面是一种具备位置感知数据可验证备份方法专利的具体信息内容。

1.一种具备位置感知数据可验证备份方法,其特征在于,所述具备位置感知的云数据可验证备份方法包括以下步骤:
第一步,ReliableBox系统按照Setup协议初始化;
第二步,按照Put协议客户端将数据备份到服务提供商的服务器,客户端想下载备份数据时触发Get协议;
第三步,Challenge和Verify协议实现客户端验证云存储服务器中的文件是否被远程备份到指定的服务器中。
2.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述具备位置感知的云数据可验证备份方法的相关交互式协议I如下:
I:[p1:in1;...;pn:inn]→[p1:out1;...;pn:outn];
其中,pi为该协议的执行者,ini和outi分别代表pi的输入和输出。
3.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述Setup协议用于初始化ReliableBox系统,是一个由系统各方执行的非交互式协议,如果客户端希望将数据mf外包给云存储服务器,那么客户端将首先生成对称密钥来加密mf,并得到n密文cf=(b1,...,bn);客户端将运行PDP密钥生成算法并在本地计算和存储公钥和私钥对;客户端运行PDP标签生成算法,计算n个标记 在设置阶段云存储服务器
和验证器会对一些用于构建安全通道的公私参数进行初始化设置及维护;云存储服务器中所存数据的相应数据库也在此阶段完成初始化设置。
4.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述Put协议包括;客户端与云存储服务器之间执行Put协议后,cf与验证器将被上传至云存储服务器;同时,系统将派生一个cf的惟一句柄文件ID fid:
Put:[C:pk,sk,cf,T;S:⊥]→[C:fid;S:cf,T,fid]。
5.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述Get协议运行当客户端想要下载cf时,Get协议将被触发,同时客户端会将文件ID fid发送给云存储服务器:
Get:[C:fid;S:DB]→[C:cf;S:⊥];
云存储服务器将会检查其数据库DB是否包含一个文件条目fid;如果包含,将对cf进行定位并将其发送回客户端,客户端解密收到的cf获得源数据mf。
6.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述Challenge协议在客户端、云存储服务器和至少3个验证器{v0,v1,...,vα-1}(α≥3)中执行;
首先,协议借助各个验证器将挑战chal发送到云存储服务器,并运用PDP方案为给定的文件ID fid生成完整性证明;其次,借助数据定位技术,协议辅助客户端生成数据远程备份验证的延迟和距离证明;云存储服务器至少拥有两个相距足够远的验证服务器,每个验证器vi(i∈{θ,θ′,θ″})都被视作网关,将辅助客户端对服务器中潜在的数据情况进行审计,客户端可以从vi(i∈{θ,θ′,θ″})中获得证明,辅助验证与云存储服务器生成的数据完整性和备份证明;
如果i=θ,那么 且
7.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述Verify协议的客户端与每个验证器之间执行Verify协议,该协议允许客户端验证来自各个验证器的证明,确认文件的完整性并检查它们是否已被远程备份到特定地位位置的服务器中;在该协议中,客户端和vθ分别将(pk,sk)和证明Λθ作为输入;当接收到来自vθ的信息Λθ后,客户端计算数据拥有证明b1={0,1}和数据定位b2={0,1};如果b1=1且b2=1,那么客户端将接受云存储服务器返回的证明;否则,客户端将拒绝这些证明;
Verify:[C:pk,sk;vi∈{θ,θ′,θ″}:Λi]→
[C:Λi∈{θ,θ′,θ″},b1,b2;vi∈{θ,θ′,θ″}:⊥]
在Verify环节,系统将借助数据位置验证协议CheckLoc来验证备份数据的地理定位;
CheckLoc将验证器位置{p0,...,pα-1}、目标服务器S(⊥,⊥)和一组距离作为输入,并返回S(⊥,⊥)是否位于与 相关的
区域中, 为借助vi的延迟距离函数计算出的pi和S云存储服务器之间的距离。
8.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述具备位置感知备份功能的云存储数据处理方法还包括:私钥加密和抗碰撞哈希,私钥加密方案是一个概率多项式时间算法元组,元组表示为 其中,密钥生成算法
Gen以安全参数1n为输入,并输出密钥k,k←Gen(1n);加密算法Enc以k和明文消息m∈{0,1}*为输入,并返回密文c,即c←Enck(m);解密算法Dec是一个确定性算法,该算法将k和c作为输入并输出m或者出错,即m:=Deck(c);
抗碰撞哈希,无键抗碰撞哈希函数H:{0,1}*→{0,1}l以任意长度的字符串为输入并返回一个固定长度的字符串。
9.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述具备位置感知的云数据可验证备份方法还包括:可证明数据拥有协议帮助数据拥有者对其存储在云存储服务器上的外包文件的完整性进行审计,在协议中,用户端需要在云存储服务器中存储一个文件集F,该文件集是一个n元有限有序集合:F=(b1,...,bn),并且验证F中的所有文件是否确实存储在相应的云存储服务器S中;可证明数据拥有方案是一个多项式时间算法(KeyGen,TagBlock,GenProof,CheckProof),其中用户执行KeyGen、TagBlock和CheckProof,而服务器执行GenProof;
KeyGen(1k)→(pk,sk)以安全参数k作为输入,同时返回公钥和私钥对(pk,sk),将公钥pk、私钥sk和文件块bi作为输入,并返回验证标签
GenProof(pk,F,chal,∑)→v用于生成一个数据拥有证明;以公钥pk、包含有序块集合的文件F、质询chal和包含与F中的块对应的验证标记的有序集Σ作为输入,并输出F中一个由挑战chal决定的块的数据拥有证明υ;CheckProof(pk,sk,chal,v)→b用于验证云存储服务器中是否存储着相应数据,以公钥pk、私钥sk、挑战chal和拥有证明υ为输入,并返回υ是否是由chal决定的块在云存储服务器中的拥有证明。
10.如权利要求1所述的具备位置感知的云数据可验证备份方法,其特征在于,所述具备位置感知的云数据可验证备份方法还包括:地理坐标及定位,根据多点定位,通过测量某云存储服务器与多个已知位置的验证器间的距离信息便可估算出该云存储服务器的地理位置;
1)距离和延迟距离函数:A、B两点的纬度分别为 和 经度分别为λ1和λ2,
且λ=λ2-λ1;根据Haversine公式得出A与B之间的中心夹为:
其中,hav代表haversine公式hav(θ)=sin2(θ/2)=(1-cos(θ)/2),d代表A、B两点之间的距离,r代表球的半径,其均值为6371km,于是,Haversine距离d由如下公式计算得到:
根据网络延迟与距离之间的强线性关系,为每个验证器设定线性延迟距离函数 如下:
其中T代表通信延迟,通过对一组位置已知的地标与某验证器之间的往返时间RTT延迟和Haversine距离结果进行线性回归,得到该验证器的延迟距离函数;
2)单项延迟(One-wayDelay,OWD)估值:OWD估值算法可以精确估计校验器与服务器之间的时延,将该算法简化为计算三个位置已知的验证器v0、v1、v2和一个位置未知的目标服务器S间的OWD估值;v0和S之间的OWD估值,其中验证器协同工作并各自计算自身到S的单向延迟,以验证器v0为例,vi(i∈{0,1,2})向S发送一条包含当前系统时间τi及其相应签名的消息;S收到该消息后会将其进一步发送给各个验证者vj(j≠i);待接收到来自S的消息后,vj(j≠i)记录接收这一消息的时间τj并验证来自vi的信号消息是否有效;之后,vj计算并将结果共享给vi;其中, 代表从vi到vj的时间延迟τis和τsj的总和;各个验证者计算 vi获知vi和S之间的OWD值

说明书全文

一种具备位置感知数据可验证备份方法

技术领域

[0001] 本发明属于可信云计算技术领域,尤其涉及一种具备位置感知的云数据可验证备份方法。

背景技术

[0002] 云计算可以为用户的各种数据驱动应用提供便捷的存储平台。然而,云存储环境下用户失去了对其存储在云中的数据的物理控制,由此引发了在数据保密性、可用性及可恢复性方面的各种安全问题。云存储用户对自身数据管理权限的缺失和云服务底层机制的抽离等特点,已经令用户对云存储服务的安全性及可靠性产生了不同程度的质疑,例如:云存储提供商(CSP)是否确实能够遵守服务等级协议(SLA)?
[0003] 近年来,学术界研究了多种针对CSP(云服务提供商)的监听技术以保障其能切实遵照用户要求来处理存储器中的数据,如服务器定位、数据复制、数据驻留和数据定位等。例如,服务器定位审计方案[L.Hippelainen,I.Oliver,and S.Lal,“Towards dependably detecting geolocation of cloud servers,”in Proc.of NSS,Helsinki,Finland,August 21-23,2017,pp.643–656.]可以根据服务器的工作负载来验证其精确位置。数据复制审计方案[K.D.Bowers,M.van Dijk,A.Juels,A.Oprea,and R.L.Rivest,“How to tell if your cloud files are vulnerable to drive crashes,”in Proc.Of ACM CCS,Chicago,Illinois,USA,October 17-21,2011,pp.501–514.],[F.Armknecht,L.Barman,J.Bohli,and G.O.Karame,“Mirror:Enabling proofs of data replication and retrievability in the cloud,”in Proc.OfUSENIX Security,Austin,TX,USA,August 
10-12,2016,pp.1051–1068.]和数据驻留审计方案[T.Jiang,X.Chen,J.Li,D.S.Wong,J.Ma,and J.K.Liu,“TIMER:secure and reliable cloud storage against data re-outsourcing,”in Proc.of ISPEC,Fuzhou,China,May 5-8,2014,pp.346–358.],[H.Dang,E.Purwanto,and E.Chang,“Proofs of data residency:Checking whether your cloud files have been relocated,”in Proc.Of ACM AsiaCCS,Abu Dhabi,United Arab Emirates,April 2-6,2017,pp.408–422.]整合了存储证明技术及基于延迟的测量技术,可以准确检测数据备份,数据驻留和数据外包等情况。受技术限制,上述方案难以直接应用于云数据定位中。在这一基础上,方案[K.Benson,R.Dowsley,and H.Shacham,“Do you know where your cloud files are?”in Proc.of ACM CCSW,Chicago,IL,USA,October 21,
2011,pp.73–82]、[M.A.Gondree and Z.N.J.Peterson,“Geolocation of data in the cloud,”in Third ACM Conference on Data and Application Security and Privacy,CODASPY’13,San Antonio,TX,USA,February 18-20,2013,2013,pp.25–36]、[Y.Zhao,H.Yuan,T.Jiang,and X.Chen,“Secure distributed data geolocation scheme against location forgery attack,”Journal of Information Security and Applications,vol.47,pp.50–58,2019.]都进一步配置了额外的验证器,实现了对云数据的定位功能。
[0004] 综上所述,现有技术存在的问题是:现有的云存储数据审计和定位解决方案都需要提前给定一些强制的假设,如客户端一开始就知道网络确切的时延或服务器端计算时间,而恶意云服务提供商通过伪造时延或执行位置欺骗攻击便可以轻易攻破该云服务的安全系统。
[0005] 解决上述技术问题的难度:设计高效的数据拥有证明、可信的服务器端计算成本度量、准确的网络时延估计、精确的地理距离计算。
[0006] 解决上述技术问题的意义:保证云服务具备数据可用性及完整性的同时,使不可信的云服务提供商无法伪造虚假位置数据欺骗云数据所有者,已达到节约云服务提供商的成本的目的。

发明内容

[0007] 针对现有技术存在的问题,本发明提供了一种具备位置感知的云数据可验证备份方法及系统。
[0008] 本发明是这样实现的,一种具备位置感知的云数据可验证备份方法,所述具备位置感知的云数据可验证备份方法包括以下步骤:
[0009] 第一步,ReliableBox系统按照Setup协议初始化;
[0010] 第二步,按照Put协议客户端将数据备份到服务提供商的服务器,客户端想下载备份数据时触发Get协议;
[0011] 第三步,Challenge和Verify协议实现客户端验证云存储服务器中的文件是否被远程备份到指定的服务器中。
[0012] 进一步,所述具备位置感知的云数据可验证备份方法的相关交互式协议I如下:
[0013] I:[p1:in1;...;pn:inn]→[p1:out1;...;pn:outn];
[0014] 其中,pi为该协议的执行者,ini和outi分别代表pi的输入和输出。
[0015] 进一步,所述Setup协议用于初始化ReliableBox系统,是一个由系统各方执行的非交互式协议,如果客户端希望将数据mf外包给云存储服务器,那么客户端将首先生成对称密钥来加密mf,并得到n密文cf=(b1,...,bn);客户端将运行PDP密钥生成算法并在本地计算和存储公钥和私钥对;客户端运行PDP标签生成算法,计算n个标记在设置阶段云存储服务器和验证器会对一些用于构建安全通道的公私参数进行初始化设置及维护;云存储服务器中所存数据的相应数据库也在此阶段完成初始化设置。
[0016] 进一步,所述Put协议包括;客户端与云存储服务器之间执行Put协议后,cf与验证器将被上传至云存储服务器;同时,系统将派生一个cf的惟一句柄文件IDfid:
[0017] Put:[C:pk,sk,cf,T;S:⊥]→[C:fid;S:cf,T,fid]。
[0018] 进一步,所述Get协议运行当客户端想要下载cf时,Get协议将被触发,同时客户端会将文件IDfid发送给云存储服务器:
[0019] Get:[C:fid;S:DB]→[C:cf;S⊥];
[0020] 云存储服务器将会检查其数据库DB是否包含一个文件条目fid;如果包含,将对cf进行定位并将其发送回客户端,客户端解密收到的cf获得源数据mf。
[0021] 进一步,所述Challenge协议在客户端、云存储服务器和至少3个验证器{v0,v1,...,vα-1}(α≥3)中执行;首先,协议借助各个验证器将挑战chal发送到云存储服务器,并运用PDP方案为给定的文件IDfid生成完整性证明;其次,借助数据定位技术,协议辅助客户端生成数据远程备份验证的延迟和距离证明;云存储服务器至少拥有两个相距足够远的验证服务器,每个验证器vi(i∈{θ,θ′,θ″})都被视作网关,将辅助客户端对服务器中潜在的数据情况进行审计,客户端可以从vi(i∈{θ,θ′,θ″})中获得证明,辅助验证与云存储服务器生成的数据完整性和备份证明;
[0022]
[0023] 如果i=θ,那么 且
[0024] 进一步,所述Verify协议的客户端与每个验证器之间执行Verify协议,该协议允许客户端验证来自各个验证器的证明,确认文件的完整性并检查它们是否已被远程备份到特定地位位置的服务器中;在该协议中,客户端和vθ分别将(pk,sk)和证明Λθ作为输入;当接收到来自vθ的信息Λθ后,客户端计算数据拥有证明b1={0,1}和数据定位b2={0,1};如果b1=1且b2=1,那么客户端将接受云存储服务器返回的证明;否则,客户端将拒绝这些证明;
[0025] Verify:[C:pk,sk;vi∈{θ,θ′,θ″}:ΛΛ]→
[0026] [C:Λi∈{θ,θ′,θ″},b1,b2;vi∈{θ,θ′,θ″}:⊥]
[0027] 在Verify环节,系统将借助数据位置验证协议CheckLoc来验证备份数据的地理定位;
[0028]
[0029] CheckLoc将验证器位置{p0,...,pα-1}、目标服务器S(⊥,⊥)和一组距离作为输入,并返回S(⊥,⊥)是否位于与 相关的区域中, 为借助vi的延迟距离函数计算出的pi和S云存储服务器之间的距离。
[0030] 进一步,所述具备位置感知的云数据可验证备份方法还包括:私钥加密和抗碰撞哈希,私钥加密方案 是一个概率多项式时间算法元组,元组表示为其中,密钥生成算法Gen以安全参数1n为输入,并输出密钥k,k←Gen(1n);加密算法Enc以k和明文消息m∈{0,1}*为输入,并返回密文c,即c←Enck(m);解密算法Dec是一个确定性算法,该算法将k和c作为输入并输出m或者出错,即m:=Deck(c);
[0031] 抗碰撞哈希,无键抗碰撞哈希函数H:{0,1}*→{0,1}l以任意长度的字符串为输入并返回一个固定长度的字符串。
[0032] 进一步,所述具备位置感知的云数据可验证备份方法还包括:可证明数据拥有协议帮助数据拥有者对其存储在云存储服务器上的外包文件的完整性进行审计,在协议中,用户端需要在云存储服务器中存储一个文件集F,该文件集是一个n元有限有序集合:F=(b1,...,bn),并且验证F中的所有文件是否确实存储在相应的云存储服务器S中;可证明数据拥有方案是一个多项式时间算法(KeyGen,TagBlock,GenProof,CheckProof),其中用户执行KeyGen、TagBlock和CheckProof,而服务器执行GenProof;
[0033] KeyGen(1k)→(pk,sk)以安全参数k作为输入,同时返回公钥和私钥对(pk,sk),将公钥pk、私钥sk和文件块bi作为输入,并返回验证标签GenProof(pk,F,chal,∑)→v用于生成一个数据拥有证明;以公钥pk、包含有序块集合的文件F、质询chal和包含与F中的块对应的验证标记的有序集Σ作为输入,并输出F中一个由挑战chal决定的块的数据拥有证明υ;CheckProof(pk,sk,chal,υ)→b用于验证云存储服务器中是否存储着相应数据,以公钥pk、私钥sk、挑战chal和拥有证明υ为输入,并返回υ是否是由chal决定的块在云存储服务器中的拥有证明。
[0034] 进一步,所述具备位置感知的云数据可验证备份方法还包括:地理坐标及定位,根据多点定位,通过测量某云存储服务器与多个已知位置的验证器间的距离信息便可估算出该云存储服务器的地理位置;
[0035] 1)距离和延迟距离函数:A、B两点的纬度分别为 和 经度分别为λ1和λ2。定义且λ=λ2-λ1;根据Haversine公式便可得出A与B之间的中心夹为:
[0036]
[0037] 其中,hav代表haversine公式hav(θ)=sin2(θ/2)=(1-cos(θ)/2),d代表A、B两点之间的距离,r代表球的半径,其均值为6371km,于是,Haversine距离d由如下公式计算得到:
[0038]
[0039] 根据网络延迟与距离之间的强线性关系,为每个验证器设定线性延迟距离函数如下:
[0040]
[0041] 其中T代表通信延迟,通过对一组位置已知的地标与某验证器之间的往返时间RTT延迟和Haversine距离结果进行线性回归,得到该验证器的延迟距离函数;
[0042] 2)单项延迟(One-wayDelay,OWD)估值:OWD估值算法可以精确估计校验器与服务器之间的时延,将该算法简化为计算三个位置已知的验证器v0、v1、v2和一个位置未知的目标服务器S间的OWD估值;v0和S之间的OWD估值,其中验证器协同工作并各自计算自身到S的单向延迟,以验证器v0为例,vi(i∈{0,1,2})向S发送一条包含当前系统时间τi及其相应签名的消息;S收到该消息后会将其进一步发送给各个验证者vj(j≠i);待接收到来自S的消息后,vj(j≠i)记录接收这一消息的时间τj并验证来自vi的信号消息是否有效;之后,vj计算 并将结果共享给vi;其中, 代表从vi到vj的时间延迟τis和τsj的总和;各个验证者计算 vi获知vi和S之间的OWD值
[0043] 综上所述,本发明的优点及积极效果为:本发明基于位置感知的云数据备份验证系统的ReliableBox作为一个安全实用的中间件,可以胜任对CSP(云服务提供商)的存储服务是否符合契约保证和数据保护规则的验证工作,可以有效应对数据完整性和地理定位欺骗这两种攻击。可以有效验证用户数据是否真实存储于特定云存储服务器,同时可以精确定位其备份数据位置。也可以借助定时质询-响应协议和可信技术有效应对某些自私、恶意的CSP故意违反SLA(ServiceLevel Agreement,灾难恢复服务平约定)并极隐藏行迹的恶意行为。同时即使面对不诚实的云服务提供者,ReliableBox仍可以为云用户提供高效可靠的数据完整性存储和远程备份服务。使云服务具备数据可用性及位置感知备份认证功能的同时,在应对潜在的自私或恶意的云服务提供商时具有一定的鲁棒性。附图说明
[0044] 图1是本发明实施例提供的具备位置感知的云数据可验证备份方法流程图
[0045] 图2是本发明实施例提供的具备位置感知的云数据可验证备份系统的结构示意图;
[0046] 图中:1、客户端;2、验证器;3、云存储服务器。
[0047] 图3是本发明实施例提供的ReliableBox的网络模型结构示意图。
[0048] 图4是本发明实施例提供的系统Setup协议流程图。
[0049] 图5是本发明实施例提供的系统Get协议流程图。
[0050] 图6是本发明实施例提供的云存储服务器的可信证明生成时间示意图。
[0051] 图7是本发明实施例提供的使用三个验证器对数据进行地理定位示意图1。
[0052] 图8是本发明实施例提供的使用三个验证器对数据进行地理定位示意图2。

具体实施方式

[0053] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0054] 针对现有技术存在的问题,本发明提供了一种具备位置感知备份功能的云存储数据处理系统及方法,下面结合附图对本发明作详细的描述。
[0055] 如图1所示,本发明实施例提供的具备位置感知的云数据可验证备份方法包括以下步骤:
[0056] S101:ReliableBox系统按照Setup协议初始化;
[0057] S102:按照Put协议客户端将数据备份到服务提供商的服务器,客户端想下载备份数据时触发Get协议;
[0058] S103:Challenge和Verify协议实现客户端验证云存储服务器中的文件是否被远程备份到指定的服务器中。
[0059] 如图2所示,本发明实施例提供的具备位置感知的云数据可验证备份系统包括:客户端(数据所有者)1,验证器2和配备分布式主机的云存储服务器3。
[0060] 客户端(数据所有者)1,用于验证其存储在云存储服务器3中的文件是否被远程备份到指定的服务器中。
[0061] 验证器2,用于实现数据所有者能够验证其数据是否存储在某指定的云存储服务器3并且对该数据进行地理定位,同时验证该数据在云存储服务器3中是否有备份副本。
[0062] 云存储服务器3,用于存储备份的副本。
[0063] 下面结合附图对本发明的技术方案作进一步的描述。
[0064] 本发明的ReliableBox(可信箱)系统包括一组客户端(数据所有者)C,一组已知地理位置的验证器(v0,v1,…)和一个配备分布式主机的CSP(云服务提供商)S。图3所示为ReliableBox的网络模型,其中,在验证器的辅助下数据所有者能够验证其数据是否存储在某指定的云存储服务器并且对该数据进行地理定位,同时验证该数据在云存储服务器S中是否有备份副本。系统核心组件包括Setup、Put、Get、Challenge及Veify五个协议,通过这五个协议可以在不损害数据机密性及完整性的同时,辅助客户端C(数据所有者)验证其存储在云存储服务器S中的文件是否被远程备份到指定的服务器中。相关交互式协议I如下所述:
[0065] I:[p1:in1;...;pn:inn]→[p1:out1;...;pn:outn];
[0066] 其中,pi为该协议的执行者,ini和outi分别代表pi的输入和输出。各组件运行如下:
[0067] (1)Setup协议用于初始化ReliableBox系统,是一个由系统各方执行的非交互式协议,图4所示为Setup协议运行流程。如果客户端C希望将数据mf外包给S,那么C将首先生成对称密钥来加密mf,并得到n块密文cf=(b1,...,bn)。接下来C将运行PDP密钥生成算法并在本地计算和存储公钥和私钥对。随后,C运行PDP标签生成算法,计算n个标记另一方面,在设置阶段S和验证器会对一些用于构建安全通道的公
私参数进行初始化设置及维护。S中所存数据的相应数据库也在此阶段完成初始化设置。
[0068] (2)Put。C与S之间执行Put协议后,cf与T将被上传至S。同时,系统将派生一个cf的惟一句柄文件IDfid:
[0069] Put:[C:pk,sk,cf,T;S:⊥]→[C:fid;S:cf,T,fid];
[0070] (3)Get协议运行流程如图5所示,当C想要下载cf时,Get协议将被触发,同时C会将文件ID fid发送给S,即:
[0071] Get:[C:fid;S:DB]→[C:cf;S:⊥];
[0072] S将会检查其数据库DB是否包含一个文件条目fid。如果包含,它将对cf进行定位并将其发送回C。C解密收到的cf便可以获得源数据mf。
[0073] (4)Challenge协议在C、S和至少3个验证器({v0,v1,...,vα-1}(α≥3))中执行。本协议有两个设计目标。首先,协议借助各个验证器将挑战chal发送到S,并运用PDP方案为给定的文件IDfid生成完整性证明。其次,借助数据定位技术,协议辅助C生成数据远程备份验证的延迟和距离证明。假设S至少拥有有两个相距足够远的验证服务器,每个验证器vi(i∈{θ,θ′,θ″})都被视作网关,这将辅助C对服务器中潜在的数据情况进行审计。C可以从vi(i∈{θ,θ′,θ″})中获得证明,进而可以辅助验证S生成的数据完整性和备份证明。更准确地说,上述证明包含数据完整性证明(即v)、开始时间(即tcha)和OWDs的结束时间(即tver)以及证明生成的时间成本(即Δt),这些都是关于fid的数据拥有和位置感知数据备份的证明。形式化语言描述如下:
[0074]
[0075] 如果i=θ,那么 且
[0076] (5)Verify。C与每个验证器之间执行Verify协议。该协议允许C验证来自各个验证器的证明,从而确认这些文件的完整性并检查它们是否已被远程备份到特定地位位置的服务器中。在该协议中,C和vθ分别将(pk,sk)和证明Λθ作为输入。当接收到来自vθ的信息Λθ后,C计算数据拥有证明b1={0,1}和数据定位b2={0,1}。如果b1=1且b2=1,那么C将接受S返回的证明。否则,C将拒绝这些证明。
[0077] Verify:[C:pk,sk;vi∈{θ,θ′θ″}:Λi]→
[0078] [C:Λi∈{θ,θ′,θ″},b1,b2;vi∈{θ,θ′,θ″}:⊥]
[0079] 在Verify环节,系统将借助数据位置验证协议CheckLoc来验证备份数据的地理定位。
[0080]
[0081] CheckLoc将验证器位置{p0,...,p、目标服务器S(和一组距离 作为输入,并返回S(是否位于与 相关的区域中。这里,为借助vi的延迟距离函数计算出的pi和S之间的距离。
[0082] 如果C将数据外包给云存储服务器S后,要求整个数据在远程服务器上有一个备份副本。但是S可能由于某些经济利益因素(如节省通信或存储成本)而没有遵循协议,借助Challenge与Verify协议,C便可以定期查验其外包数据是否存储在多个(至少两个)具有不同地理位置的云存储服务器中。
[0083] 为了抵御外部攻击,ReliableBox在将C的数据外包给S前,会先对该数据进行对称加密。同时,通过基于同态签名的可证明数据拥有(PDP)技术和基于延迟的多重定位技术,ReliableBox可以辅助系统验证客户数据是否存储在相应的云存储服务器并备份存储在远程云存储服务器中。鉴于不诚实的云存储服务器有可能伪造证明生成的服务器端时间成本,因而仅依靠安全的PDP方案与延迟评估技术并不能完全实现位置感知数据备份功能。针对这一问题,ReliableBox将借助一种可信计算技术Intel SGX以确保S可以为每个服务器端证明生成提供正确计算时间。事实上,云存储服务器中存储的文件数目时有增减,如果设计的方案需要对云存储服务器的所有存储文件进行验证,其效率显然不尽如人意。设计的ReliableBox将采用概率认证算法满足上述性能目标,即每次执行验证时都是针对块的随机子集进行采样访问。同时,ReliableBox借助OWD(One-way Delay,单项延迟)测量精度和延迟距离函数实现多重数据地理定位。基于延迟的地理定位技术为服务器主机本地化提供了计时器限制,因而任一合法客户端都可以验证其数据是否远程备份。此外,借助自过期URL,ReliableBox可以支持数据安全访问功能。也就是说,当用户想要访问其上传到云存储服务器中的数据时,服务器会为该数据动态生成一个URL,而该URL在短时间使用后即过期。
[0084] 在本发明的优选实施例中,私钥加密和抗碰撞哈希,私钥加密方案 是一个概率多项式时间算法元组,该元组可以表示为 其中,密钥生成算法Gen以安全参数1n为输入,并输出密钥k,即k←Gen(1n);加密算法Enc以k和明文消息m∈{0,1}*为输入,并返回密文c,即c←Enck(m);解密算法Dec是一个确定性算法,该算法将k和c作为输入并输出m或者出错,即m:=Deck(c)。
[0085] 抗碰撞哈希。无键抗碰撞哈希函数H:{0,1}*→{0,1}l以任意长度的字符串为输入并返回一个固定长度的字符串,同时强调H中的碰撞是难以被发现的。
[0086] 在本发明的优选实施例中,可证明数据拥有(Provable Data Possession,PDP),可证明数据拥有协议可以帮助数据拥有者对其存储在云存储服务器上的外包文件的完整性进行审计。在该协议中,用户端C需要在云存储服务器S中存储一个文件集F(该文件集是一个n元有限有序集合:F=(b1,...,bn)),并且可以验证F中的所有文件是否确实存储在相应的云存储服务器S中。可证明数据拥有方案是一个多项式时间算法(KeyGen,TagBlock,GenProof,CheckProof),其中用户执行KeyGen、TagBlock和CheckProof,而服务器执行GenProof。
[0087] KeyGen(1k)→(pk,sk)是一种概率密钥生成算法,该算法以安全参数k作为输入,同时返回公钥和私钥对(pk,sk)。 将公钥pk、私钥sk和文件块bi作为输入,并返回验证标签 GenProof(pk,F,chal,∑)→ν用于生成一个数据拥有证明。它以公钥pk、包含有序块集合的文件F、质询chal和包含与F中的块对应的验证标记的有序集Σ作为输入,并输出F中一个由挑战chal决定的块的数据拥有证明υ。CheckProof(pk,sk,chal,υ)→b用于验证云存储服务器中是否存储着相应数据,它以公钥pk、私钥sk、挑战chal和拥有证明υ为输入,并返回υ是否是由chal决定的块在云存储服务器中的拥有证明。
[0088] 在本发明的优选实施例中,地理坐标及定位,根据多点定位技术,通过测量某云存储服务器与多个已知位置的验证器间的距离信息便可估算出该云存储服务器的地理位置。事实上,该技术的关键难点就是如何精确测量服务器与相关验证器之间的距离,为此进一步将之简化为测量服务器与多个验证器之间的延迟距离关系,那么问题便迎刃而解。
[0089] 1)距离和延迟距离函数:假设A、B两点的纬度分别为 和 经度分别为λ1和λ2。定义 且λ=λ2-λ1。于是,根据Haversine公式便可得出A与B之间的中心夹角为:
[0090]
[0091] 其中,hav代表haversine公式hav(θ)=sin2(θ/2)=(1-cos(θ)/2),d代表A、B两点之间的距离,r代表球的半径,其均值为6371km,于是,Haversine距离d可以由如下公式计算得到:
[0092]
[0093] 根据网络延迟与距离之间的强线性关系,为每个验证器设定线性延迟距离函数如下:
[0094]
[0095] 其中T代表通信延迟。实际应用中,通过对一组位置已知的地标与某验证器之间的往返时间(Round-Trip Time,RTT)延迟和Haversine距离结果进行线性回归,便可得到该验证器的延迟距离函数。
[0096]
[0097] 2)单项延迟(One-way Delay,OWD)估值:OWD估值算法可以精确估计校验器与服务器之间的时延。将该算法简化为计算三个位置已知的验证器v0、v1、v2和一个位置未知的目标服务器S间的OWD估值。算法1描述v0和S之间的OWD估值,其中验证器可以协同工作并各自计算自身到S的单向延迟。以验证器v0为例,vi(i∈{0,1,2})向S发送一条包含当前系统时间τi及其相应签名的消息。S收到该消息后会将其进一步发送给各个验证者vj(j≠i)。待接收到来自S的消息后,vj(j≠i)便会记录接收这一消息的时间τj并验证来自vi的信号消息是否有效。之后,vj计算 并将结果共享给vi。其中, 代表从vi到vj的时间延迟τis和τsj的总和。随后,各个验证者计算 最后,vi便可以获知vi和S之间的OWD值
[0098] 在本发明的优选实施例中,首先介绍PDP使用的一些符号。其中,令p=2p′+1和q=2q′+1为安全素数,N=pq为RSA模数。此外,令g代表QRN的生成器,它是命令p’q’的 的惟一循环子组。于是有g=a2,其中, gcd(a±1)=1gcd(a±1,N)=1。所有指数运算都在*
modulo N上执行。设h:{0,1} →QRN是一个安全的确定性散列函数,它将字符串统一映射到QRN。令κΔlΔλ为安全参数(λ是一个正整数),H代表一个加密全域哈希函数,于是可以得到除此之外,使用伪随机函数(PRF)h和伪随机置换(PRP)π,于是

[0099] 1)Setup程序概述:C首先通过运行私有密钥生成算法k←Gen(1n)来计算密钥k,之后运行KeyGen(1k)来生成pk=(N,g)和sk=(e,d,v),其中,ed≡1(mod p′q′),e>λ是一个很大的秘密,d>λ,g用于生成QRN且 当C想要将数据mf上传到S时,他/她将首先对mf进行加密并获得密文cf←Enck(mf)。这里,假定cf为块的有限有序集合,即cf=(b1,...,bn)。
[0100] 客户端C运行TagBlock(pk,sk,bi)并计算Wi=v||i,与此同时,C为bi(1≤i≤n)计算
[0101] 2)Put程序概述:在这一环节,C首先计算cf的文件IDfid=h(cf),并通过安全通道发送fid以此向S发出上传请求。如果C之前存储了一个由fid索引的文件,那么S在接收到该请求后将对其数据库DB进行检查。如果cf之前并没有被存储在服务器中,S将为C生成一个定时URL urlf。当接收到urlf后,C会在URL过期之前将pk,cf和标签 发送到S存储。一旦接收到来自C消息,S将在其数据库DB中存储所有的receive参数。截止目前为止,C可以从它的本地存储中删除mf、cf和所有标记。如果cf之前曾经被记录过,S将生成一个定时的urlf并直接将其发送给C以便后期执行数据访问命令。
[0102] 3)Get程序概述:为了下载索引为fid的文件,C首先向S发送fid。在接收到fid之后,S为C生成一个定时URL用于下载相应文件cf。值得注意的是,与fid关联的解密密钥k存储在本地的C中,因而可以计算mf=Deck(cf)。
[0103]
[0104]
[0105] 4)Challenge程序概述:当C想要验证cf的完整性以及cf是否被S备份到远程服务器时,他/她将使用三个验证器vi(i∈{θ,θ′,θ″})启动这一命令。以vθ为例,算法1对Challenge程序进行了详细描述。这一环节假设证明生成时间无法预估,并且可能被不诚实的服务器操纵。图5所示为借助Intelr SGX可信时间服务得到的证明生成时间分布图。该系统允许存储区域在Intel SGX SDK[9]上使用可信库API函数sgx_get_trusted_time()来对证明生成期间起始点(第3行)和结束点(第5行)的当前时间进行检索。最后,系统将消息以及相应的消息验证代码(CMACSMK(Proof|time|...)(如图3第7行所示)发送给验证者。这里,SMK是由验证器和Intel SGX共享的对称密钥。
[0106]
[0107]
[0108] 5)Verify程序概述:当收到来自vθ,vθ’和vθ”的证明后,C在算法2中启动Verify程序。首先,C将对数据持有证明的正确性进行验证。如果所有的证明都是正确的,那么b1=1,否则b1=0。之后,C根据计算每个验证器和S之间的OWD。例如,通过删除证明生成时间成本,可以通过下式计算vθ和S之间的OWD。
[0109]
[0110] 在得到 后,matC借助vi的延迟距离方程来计算S和vi之间的距离:
[0111]
[0112] 这里需要指出,根据vi和所有地标之间的延迟距离关系的线性回归可以计算出和 之后,针对每个备份服务器位置,C启动CheckLoc协议来并验证三个环的交集是否存在。如果在指定的地理位置中存在交集,那么b2=1,否则b2=0。其中,◎(O,r,R)为两个圆心为O,半径分别为r和R的同心圆的交点。对于任一认证,如果b1=1且b2=1,协议输出“accept”。否则,输出“reject”。
[0113] 下面结合模拟对本发明的技术效果作详细的描述。
[0114] 本发明模拟实现了ReliableBox并将其部署到不同的商业云服务器(如中国的阿里云和美国的Amazon S3)上充当后端存储。搭建了一组已知地理位置的装有CentOS系统的云主机(如美国的亚逊AWS和中国的阿里云)作验证器。实验中通过对一些参数以及干扰的多次调整,借助一些工具相继得到了一些美国和中国境内存储的云数据备份结果,如图7和图8所示。仿真结果表明,可以分别用每次测得距离的1.1倍和0.9倍作为距离的上下边界值来定位每台服务器(如图中黑点)。显然,通过在云服务器附近部署使用足够数量的验证器,客户端可以轻易对100公里内的数据存储/备份状态进行验证。
[0115] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
相关专利内容
标题 发布/更新时间 阅读量
感知导盲鞋 2020-05-12 71
感知装置 2020-05-11 491
上下文感知推荐 2020-05-13 901
含氧感知器 2020-05-12 604
感知装置 2020-05-11 933
感知盲道 2020-05-11 500
速度感知器 2020-05-12 941
感知无线网络的协作频谱感知方法和感知节点 2020-05-13 529
感知装置 2020-05-11 86
感知楼梯 2020-05-12 617
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈