一种基于云服务器的数据存取方法及系统与流程

文档序号:11294963阅读:292来源:国知局
一种基于云服务器的数据存取方法及系统与流程

本发明涉及加密技术领域,尤其涉及一种基于云服务器的数据存取方法及系统。



背景技术:

云存储是云计算中的一个重要的设备,它允许数据用户将他们的本地数据移交给云服务器,并且在保证了云服务器正确存储了本地数据之后本地用户可以删除该数据。数据用户可能会担心数据有没有在云服务器丢失的风险,这是因为无论云服务器的可靠性有多高,它都有被外界攻击的可能性,并且有时候甚至云服务器也有可能是恶意云,即一个恶意云,当它处理数据时,审计查询对其都是透明的,因此,该恶意云知道用户是否接收到了验证信息,此时恶意云就可以伪造审计信息让用户误以为存储的数据是正确的。总而言之,云存储技术一方面为数据用户节省了存储空间,另一方面声明了外包给云服务器的数据是被正确存储的。

传统的云存储,用户检测数据的完整性是基于两方存储审计协议的。然而,在云服务器端或是在用户端产生审计查询都是不合适的,因为它们二者都不能保证可以提供公正的审计结果。在这种情况下,在云存储中利用三方审计就成了一个最佳的选择。一个好的三方审计是通过它的审计效率和是否能保证云服务器和数据用户正确交互来衡量的。

对于三方审计,已经有很多人提出来了相关理论,总结出来可以概括为三点:1)保密性,即审计协议应该保证用户数据对三方审计保密;2)动态审计,即审计协议应该支持数据在云端动态更新;3)批量审计,即审计协议支持应该允许多用户多云服务器进行批量审计。三方审计模型如图1所示:

其中包括三个实体,即数据用户终端100、云服务器200和第三方审计300。本地的数据用户终端100用来生成数据并将其数据存储在云服务器200,云服务器200存储用户的数据并可供用户随时提取数据,第三方审计300可为数据用户终端100和云服务器200提供数据存储审计服务,例如可在数据用户终端100向云服务器200存储数据后,向云服务器200发起挑战,并接收云服务器200返回的证明,以验证数据用户终端100外包给云服务器200的数据是否保持完整。因为若云服务器200保存的数据不完整,用户再提取数据也就没有意义了;同时使用第三方审计300作为一个独立的实体,也可以减轻云服务器200的压力。

然而,在实际操作中,不是只有本地用户来提取云服务器200的外包数据,非本地用户由于实际需要也会提取该外包数据,而现有技术中缺乏对非本地用户提取数据的安全有效的方案。



技术实现要素:

本发明要解决的技术问题是,针对现有技术中缺乏对非本地用户提取数据的安全有效方案的缺陷,提供一种基于云服务器的数据存取方法及系统,通过对加密密钥的次数进行验证来提供非本地的授权用户提取数据方案。

为了解决上述技术问题,本发明采用如下技术方案:

本发明第一方面,提供了一种基于云服务器的数据存取方法,包括:

数据存储步骤:数据用户终端生成加密密钥,并使用所述加密密钥对文件分块加密后将加密数据存储到云服务器;

数据用户提取步骤:所述数据用户终端向云服务器发送提取数据请求以及所述加密密钥的次数t,所述云服务器将解密数据返还给数据用户终端;

授权用户提取步骤:授权用户终端向所述数据用户终端发出授权请求;所述数据用户终端对加密密钥的次数t进行加密得到加密授权请求标签t_sign后返还给所述授权用户终端;所述授权用户终端向云服务器发送提取数据请求以及所述加密授权请求标签t_sign,云服务器对接收的加密授权请求标签t_sign进行解密后得到次数t′,在判断t′与存储的次数t相等时将解密数据返还给授权用户终端,否则不解密数据。

优选地,所述方法还包括:

存储审计步骤:所述数据用户终端在向云服务器存储数据后将所述加密文件的抽象信息发送给第三方审计,所述第三方审计根据所述加密文件的抽象信息向所述云服务器发起挑战,并根据云服务器返回的该挑战的相应证明验证存储在云服务器的数据是否完整,并将验证结果反馈给所述数据用户终端。

优选地,所述方法还包括:

提取审计步骤:所述数据用户终端或者授权用户终端在接收解密数据后将解密文件的抽象信息发送给第三方审计,所述第三方审计根据接收的解密文件的抽象信息判断与原始数据用户终端加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给所述数据用户终端,否则发送需要重新加密的验证信息给所述数据用户终端。

优选地,所述数据存储步骤包括:

密钥生成子步骤:将文件F分成n个数据块,记为mi∈Zp,i∈I,I=[1,n];生成加密密钥,所述加密密钥包括文件的加密密钥key_cml,以及文件分块后每一个数据块的标签密钥skt、哈希密钥skh和标签公钥pkt=(gx,ux);其中,x∈Zp为随机数,skt=ytag,ytag是一个随机素数,ytag1,ytag2,.....,ytagn是与ytag互质的素数,并找到一个随机数s,使得e是一个素数;

文件加密子步骤:文件F分块后每一个数据块的标签记为ti∈Zp,总的标签记为T={ti}i∈[1,n];将生成后的标签附加在对应的数据块上实现数据致盲,记为mi'=mi+ti

数据发送子步骤:将加密数据发送至云服务器,所述加密数据包括文件的加密数据、加密文件的抽象信息和带标签的认证信息;所述文件的加密数据为F′={mi′}i∈[1,n],所述带标签的认证信息为其中Ri=FID||i,FID为识别文件的标识信息,“||”为串联标志。

优选地,所述存储审计步骤包括:

请求发送子步骤:数据用户终端在执行数据存储步骤后将审计请求发送给第三方审计,该审计请求中含有加密文件的抽象信息以及标签公钥pkt

发起挑战子步骤:第三方审计定义挑战并向云服务器发起挑战;其中,vi为加密数据每一块对应产生的随机数,Q=pktq是一个挑战集,q∈Zp是一个随机数;

证明子步骤:所述云服务器接收所述挑战后生成相应证明P=(ρ,ω,ε,τ)返回给所述第三方审计;其中,认证信息ρi为所述加密数据中每一块的去标签认证信息,

验证子步骤:所述第三方审计收到云服务器返回的相应证明后通过公式验证审计证明的正确性,若该等式成立,则判断存储在云服务器的数据是完整的,否则不完整。

本发明第二方面,提供了一种基于云服务器的数据存取系统,至少包括云服务器、数据用户终端和授权用户终端;

所述数据用户终端用于生成加密密钥,并使用所述加密密钥对文件分块加密后将加密数据存储到云服务器;所述数据用户终端还用于在提取数据时向云服务器发送提取数据请求以及所述加密密钥的次数t,并接收所述云服务器返还的解密数据;所述数据用户终端还用于在在接收数据用户终端发送的授权请求时对加密密钥的次数t进行加密后得到加密授权请求标签t_sign后返还给所述授权用户终端;

所述授权用户终端用于向所述数据用户终端发出授权请求以及所述加密授权请求标签t_sign;

所述云服务器用于存储所述数据用户终端发送的加密数据;所述云服务器还用于接收数据用户终端发送的提取数据请求以及所述加密密钥的次数t后将解密数据返还给数据用户终端;所述云服务器还用于在接收授权用户终端发送的提取数据请求和加密授权请求标签t_sign后进行解密后得到次数t′,在判断t′与存储的次数t相等时将解密数据返还给授权用户终端,否则不解密数据。

优选地,所述系统还包括第三方审计,包括:

存储审计模块,用于根据数据用户终端在向云服务器存储数据后提供的加密文件的抽象信息向所述云服务器发起挑战,并根据云服务器返回的该挑战的相应证明验证存储在云服务器的数据是否完整,并将验证结果反馈给数据用户终端;和/或

提取审计模块,用于接收所述数据用户终端或者授权用户终端在接收解密数据后发送的解密文件的抽象信息,并根据接收的解密文件的抽象信息判断与原始数据用户终端加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给所述数据用户终端,否则发送需要重新加密的验证信息给所述数据用户终端。

优选地,所述数据用户终端包括:

密钥生成模块,用于将文件F分成n个数据块,记为mi∈Zp,i∈I,I=[1,n];生成加密密钥,所述加密密钥包括文件的加密密钥key_cml,以及文件分块后每一个数据块的标签密钥skt、哈希密钥skh和标签公钥pkt=(gx,ux);其中,x∈Zp为随机数,skt=ytag,ytag是一个随机素数,ytag1,ytag2,.....,ytagn是与ytag互质的素数,并找到一个随机数s,使得e是一个素数;

文件加密模块,用于将文件F分块后每一个数据块的标签记为ti∈Zp,总的标签记为T={ti}i∈[1,n];将生成后的标签附加在对应的数据块上实现数据致盲,记为mi'=mi+ti

通信模块,用于将加密数据发送至云服务器,所述加密数据包括文件的加密数据、加密文件的抽象信息和带标签的认证信息;所述文件的加密数据为F′={mi′}i∈[1,n],所述带标签的认证信息为其中Ri=FID||i,FID为识别文件的标识信息,“||”为串联标志;所述通信模块还用于将审计请求发送给第三方审计,该审计请求中含有加密文件的抽象信息以及标签公钥pkt

优选地,所述存储审计模块包括:

发起挑战单元,用于定义挑战并向云服务器发起挑战;其中,vi为加密数据每一块对应产生的随机数,Q=pktq是一个挑战集,q∈Zp是一个随机数;

验证单元,用于在所述第三方审计收到云服务器返回的相应证明后通过公式验证审计证明的正确性,若该等式成立,则判断存储在云服务器的数据是完整的,否则不完整。

优选地,所述云服务器包括:

存储模块,用于存储所述数据用户终端发送的加密数据;

证明模块,用于接收第三方审计发送的所述挑战后生成相应证明P=(ρ,ω,ε,τ)返回给所述第三方审计;其中,认证信息ρi为所述加密数据中每一块的去标签认证信息,

解密模块,用于接收数据用户终端发送的提取数据请求以及所述加密密钥的次数t后将解密数据返还给授权用户;所述解密模块还用于在接收授权用户终端发送的提取数据请求和加密授权请求标签t_sign后进行解密后得到次数t′,在判断t′与存储的t相等时将解密数据返还给授权用户终端,否则不解密数据。

实施本发明的基于云服务器的数据存取方法和系统,具有以下有益效果:

1、本发明提供了授权用户终端的数据提取方案,并利用加密密钥的次数对授权用户终端的身份进行验证,一方面使该验证与加密密钥相关,另一方面实施起来更为简单有效,在提高数据存取方法安全性的同时又不会增大运算量。

2、本发明采用的挑战集是在文件分块后将所有标签提取出来,由所有标签组成的挑战集,该计算在一定程度上增加了复杂度,提高了数据传输的安全性,避免了因为密钥被轻易解析而造成数据被截获。另一方面,该挑战的计算复杂度不会过高,以保障运算量在合理的范围内。

3、本发明中数据的解密操作由云服务器来完成,由于云服务器的计算能力远大于用户端,可以在很大程度上减轻用户端的计算量。

附图说明

图1为现有技术中三方审计模型图;

图2为根据本发明优选实施例的基于云服务器的数据存取系统的模型图;

图3为根据本发明优选实施例的基于云服务器的数据存取方法的流程图;

图4为根据本发明优选实施例的基于云服务器的数据存取方法的交互图;

图5为根据本发明优选实施例的第三方审计的功能模块图;

图6为根据本发明优选实施例的数据用户终端的功能模块图;

图7为根据本发明优选实施例的云服务器的功能模块图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图2,为根据本发明优选实施例的基于云服务器的数据存取系统的模型图。如图2所示,该基于云服务器的数据存取系统至少包括数据用户终端100、云服务器200和授权用户终端400。其中数据用户终端100为向云服务器200存储原始数据的本地用户,授权用户终端

请结合参阅图3,为根据本发明优选实施例的基于云服务器的数据存取方法的流程图。该基于云服务器的数据存取方法基于上述数据存取系统实现。如图3所示,本发明优选实施例提供的基于云服务器的数据存取方法至少包括以下步骤:

首先,在步骤S1中,执行数据存储步骤,由数据用户终端100生成加密密钥,并使用所述加密密钥对文件分块加密后将加密数据存储到云服务器200。该加密数据又称为外包数据。

随后,在步骤S2中,执行数据用户提取步骤,由数据用户终端100向云服务器200发送提取数据请求以及所述加密密钥的次数t,该提取数据请求含有前述加密密钥。云服务器200在接收该请求后利用该加密密钥对数据进行解密后得到解密数据,并将解密数据返还给数据用户终端100,同时存储所述加密密钥的次数t备用。

最后,在步骤S3中,执行授权用户提取步骤,由授权用户终端400向数据用户终端100发出授权请求。数据用户终端100确认授权用户终端400的身份后,对所述加密密钥的次数t进行加密得到加密授权请求标签t_sign,并将加密授权请求标签t_sign返还给授权用户终端400。优选地,该数据用户终端100还将加密密钥一并发送给授权用户终端400。之后,授权用户终端400向云服务器200发送提取数据请求以及所述加密授权请求标签t_sign,云服务器200对接收的加密授权请求标签t_sign进行解密后得到次数t′,在判断t′与存储的t相等时将解密数据返还给授权用户终端400,否则不解密数据。本发明利用加密密钥的次数t进行授权用户终端的验证,一方面是与加密密钥相关,另一方面实施起来简单有效,在提高数据存取方法安全性的同时又不会增大运算量。

在本发明更优选的实施方式中,还具有第三方审计功能。相应地,基于云服务器的数据存取系统还包括第三方审计300。该第三方审计300具有存储审计功能和/或提取审计功能。因此,对应地,该基于云服务器的数据存取方法还包括存储审计步骤和/或提取审计步骤。

其中存储审计步骤可在前述步骤S1中数据用户终端100向云服务器200存储数据后执行,该存储审计步骤包括:数据用户终端100在向云服务器200存储数据后将加密文件的抽象信息发送给第三方审计300。第三方审计300根据所述加密文件的抽象信息向云服务器200发起挑战,并根据云服务器返回的该挑战的相应证明验证存储在云服务器200的数据是否完整,并将验证结果反馈给数据用户终端100。

提取审计步骤可在前述步骤S2和/或S3后执行,该提取审计步骤包括:由数据用户终端100或者授权用户终端400在接收解密数据后将解密文件的抽象信息发送给第三方审计300。第三方审计300根据接收的解密文件的抽象信息判断与原始数据用户终端100加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给数据用户终端100,否则发送需要重新加密的验证信息给数据用户终端100。

请结合参阅图4,为根据本发明优选实施例的基于云服务器的数据存取方法的交互图。设本发明中需要存储的数据为文件F,包括图像、文本等各种形式文件,下面以文件F为图像举例进行具体说明。如图4所示,该基于云服务器的数据存取方法具体包括以下步骤:

首先,在步骤S401-S403中执行数据存储步骤,具体包括:

S401、执行密钥生成子步骤KeyGen→(key_cml,pkt,skt,skh):由数据用户终端100将文件F例如输入的图像分成n个数据块,记为mi∈Zp,i∈I,I=[1,n]。数据用户终端100要将本地的图像存储到云服务器200,需要先对图像进行加密,加密后的图像每一块都对应一块标签,标签也需要进行加密,然后再存储到云端,因此该步骤中需要先生成加密密钥,该加密密钥包括文件的加密密钥key_cml,以及文件分块后每一个数据块的标签密钥skt、哈希密钥skh和标签公钥pkt=(gx,ux);其中,x∈Zp为一个随机数,skt=ytag,ytag是一个随机素数,ytag1,ytag2,.....,ytagn是与ytag互质的素数,并找到一个随机数s,使得e是一个素数。在标签公钥pkt=(gx,ux)中,若G为一个群,若G中存在一个元素g,对于属于G中的任意x,都存在整数k,使x=gk,则称G为G生成的循环群,g为群的生成元。

若存在最小正整数n,使得e=gn,称n为生成元的阶。G1,G2都是循环乘法群。g,u分别为G1,G2的生成元。

S402、执行文件加密子步骤TagGen→T:文件F分块后每一个数据块的标签记为ti∈Zp,总的标签记为T={ti}i∈[1,n];数据用户终端100将生成后的标签附加在对应的数据块上实现数据致盲,记为m′i=mi+ti

S403、执行数据发送子步骤:数据用户终端100将加密数据发送至云服务器200,所述加密数据包括文件的加密数据、加密文件的抽象信息和带标签的认证信息。所述文件的加密数据为F′={mi′}i∈[1,n],所述带标签的认证信息为其中Ri=FID||i,FID为识别文件的标识信息,“||”为串联标志。其中,H(skh,Ri)为哈希函数,skh和Ri均为该哈希函数的输入参数。本发明中加密文件或者解密文件的抽象信息为文件的名称、文件分块的个数n、标签的个数和用户终端的类别。由于本发明中对每块数据设立一个标签,所以此处标签的个数与文件分块的个数相等,也为n。

随后,在步骤S404-S407中执行存储审计步骤,具体包括:

S404、执行请求发送子步骤:数据用户终端100在执行数据存储步骤后将审计请求发送给第三方审计300,优选地,该审计请求中含有加密文件的抽象信息以及标签公钥pkt

S405、执行发起挑战子步骤第三方审计300定义挑战并向云服务器200发起挑战;其中,vi为加密数据每一块对应产生的随机数,Q=pktq是一个挑战集,q∈Zp是一个随机数。本发明的另一个创新之处在于此处优化了挑战的生成方法,本发明挑战的构成不一样,并且生成挑战的输入中含有标签公钥。传统的Q是在文件分块后取出部分数据的标签构成挑战集,而本发明采用的挑战集是在文件分块后将所有标签提取出来,由所有标签组成的挑战集,该计算在一定程度上增加了复杂度,提高了数据传输的安全性,避免了因为密钥被轻易解析而造成数据被截获。另一方面,该挑战的计算复杂度不会过高,以保障运算量在合理的范围内。

S406、执行证明子步骤Proof→Ρ:云服务器200接收所述挑战后,对这个挑战做出响应,生成相应证明P=(ρ,ω,ε,τ)返回给所述第三方审计;其中,认证信息ρi为所述加密数据中每一块的去标签认证信息:

S407、验证子步骤Verify→ν(0/1),第三方审计300收到云服务器200返回的相应证明后通过以下公式验证审计证明的正确性,得到相应的验证结果:

若该等式成立,则判断存储在云服务器200的数据是完整的,否则不完整。

数据用户终端100根据云服务器200返回的验证结果选择是否删除本地数据。

当外界需要提取云服务器200的外包数据时,需要有加密数据的密钥才能获取外包数据,此时分两种情况,即数据用户提取步骤和授权用户提取步骤,分别对应本地用户和非本地用户提取的情况。

当本地的数据用户终端100需要向云服务器200提取数据时,在步骤S408-S409中执行数据用户提取步骤,具体包括:

S408、由数据用户终端100向云服务器200发送提取数据请求以及所述加密密钥的次数t,该提取数据请求中还含有前述加密密钥。

S409、云服务器200在接收该请求后利用该加密密钥对数据进行解密后得到解密数据,并将解密数据返还给数据用户终端100,同时存储所述加密密钥的次数t备用。传统的云存储数据方法中数据的加密和解密均是由用户终端来完成,而本发明中数据的解密操作由云服务器200来完成,由于云服务器200的计算能力远大于用户端,可以在很大程度上减轻用户端的计算量。

随后,在步骤S410-S411中执行提取审计步骤,具体包括:

S410、由数据用户终端100在接收解密数据后将解密文件的抽象信息发送给第三方审计300。

S411、第三方审计300根据接收的解密文件的抽象信息判断与原始数据用户终端100加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给数据用户终端100,否则发送需要重新加密的验证信息给数据用户终端100。第三方审计300主要通过抽象信息中用户终端的类别,例如id号,来判断该发送抽象信息的用户是否为本地的数据用户终端100。如果是数据用户终端100,则抽象信息必然相等,第三方审计300返回一个提取的验证信息extract=0。数据用户终端100收到extract=0时,保持不变。

当非本地的授权用户终端400需要向云服务器200提取数据时,在步骤S412-S415中执行授权用户提取步骤,具体包括:

S412、授权用户终端400需要获取外包数据时,首先需要向数据用户终端100发出授权请求。

S413、数据用户终端100在接收授权请求后确认授权用户终端400的身份,当给予授权时,对数据存储步骤中采用的原始加密文件的加密密钥的次数t进行加密得到加密授权请求标签t_sign,并将加密授权请求标签t_sign返还给授权用户终端400。优选地,数据用户终端100可以使用标签密钥skt对次数t进行加密得到加密授权请求标签t_sign。该数据用户终端100还将加密密钥一并发送给授权用户终端400。

S414、授权用户终端400向云服务器200发送提取数据请求以及所述加密授权请求标签t_sign。该授权用户终端400发送的提取数据请求中含有数据用户终端100发送的加密密钥。

S415、云服务器200对接收的加密授权请求标签t_sign进行解密后得到次数t′,并判断次数t′与预先存储的次数t是否相等,若相等则利用授权用户终端400发送的加密密钥解密外包数据,然后将解密数据返还给授权用户终端400。如果次数t′与预先存储的次数t不相等,则不解密数据。

最后,在步骤S416-S417中执行提取审计步骤,具体包括:

S416、由授权用户终端400在接收解密数据后将解密文件的抽象信息发送给第三方审计300。

S417、第三方审计300根据接收的解密文件的抽象信息判断与原始数据用户终端100加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给数据用户终端100,否则发送需要重新加密的验证信息给数据用户终端100。如果是授权用户终端400发送的解密文件的抽象信息,由于用户终端的类别不同,则该抽象信息必然与原始加密文件的抽象信息不相同,第三方审计300返回一个提取的验证信息extract=1。数据用户终端100收到extract=1时,重新生成密钥对原始的文件数据进行加密。因此,本发明充分地考虑了本地用户和非本地用户的安全性需求,当是本地的数据用户终端100提取云服务器200的加密数据时,保持与云服务器的加密数据不变;当是非本地的授权用户终端400提取云服务器200的加密数据时,本地的数据用户终端100会重新生成新的加密密钥对数据进行加密,然后将加其存储在云端。

本发明相应地提供了一种基于云服务器的数据存取系统,该数据存取系统至少包括云服务器200、数据用户终端100和授权用户终端400。

其中,数据用户终端100用于生成加密密钥,并使用所述加密密钥对文件分块加密后将加密数据存储到云服务器200;所述数据用户终端100还用于在提取数据时向云服务器200发送提取数据请求以及所述加密密钥的次数t,并接收所述云服务器200返还的解密数据;所述数据用户终端100还用于在在接收数据用户终端100发送的授权请求时对加密密钥的次数t进行加密后得到加密授权请求标签t_sign后返还给所述授权用户终端400。

授权用户终端400用于向数据用户终端100发出授权请求以及所述加密授权请求标签t_sign。

云服务器200用于存储所述数据用户终端100发送的加密数据。云服务器200还用于接收数据用户终端100发送的提取数据请求以及所述加密密钥的次数t后将解密数据返还给数据用户终端100。云服务器200还用于在接收授权用户终端400发送的提取数据请求和加密授权请求标签t_sign后进行解密后得到次数t′,在判断t′与存储的次数t相等时将解密数据返还给授权用户终端400,否则不解密数据。

在本发明更优选的实施方式中,基于云服务器的数据存取系统还包括第三方审计300。本发明也相应提供了一种第三方审计300。请参阅图5,为根据本发明优选实施例的第三方审计的功能模块图。如图5所示,该第三方审计300包括存储审计模块310和/或提取审计模块320。

其中存储审计模块310用于根据数据用户终端100在向云服务器200存储数据后提供的加密文件的抽象信息向所述云服务器200发起挑战,并根据云服务器200返回的该挑战的相应证明验证存储在云服务器200的数据是否完整,并将验证结果反馈给数据用户终端100。

存储审计模块310可以进一步包括发起挑战单元和验证单元。其中发起挑战单元用于定义挑战并向云服务器200发起挑战;其中,vi为加密数据每一块对应产生的随机数,Q=pktq是一个挑战集,q∈Zp是一个随机数。验证单元用于在所述第三方审计300收到云服务器200返回的相应证明后通过公式验证审计证明的正确性,若该等式成立,则判断存储在云服务器200的数据是完整的,否则不完整。

提取审计模块320用于接收所述数据用户终端100或者授权用户终端400在接收解密数据后发送的解密文件的抽象信息,并根据接收的解密文件的抽象信息判断与原始数据用户终端100加密时发送的加密文件的抽象信息是否相等,是则发送无需重新加密的验证信息给所述数据用户终端100,否则发送需要重新加密的验证信息给所述数据用户终端100。

请参阅图6,为根据本发明优选实施例的数据用户终端的功能模块图。本发明也相应提供了该数据用户终端100。如图6所示,该数据用户终端100包括密钥生成模块110、文件加密模块120和通信模块130。

其中密钥生成模块110用于将文件F分成n个数据块,记为mi∈Zp,i∈I,I=[1,n];密钥生成模块110生成加密密钥,所述加密密钥包括文件的加密密钥key_cml,以及文件分块后每一个数据块的标签密钥skt、哈希密钥skh和标签公钥pkt=(gx,ux);其中,x∈Zp为随机数,skt=ytag,ytag是一个随机素数,ytag1,ytag2,.....,ytagn是与ytag互质的素数,并找到一个随机数s,使得e是一个素数。

文件加密模块120用于将文件F分块后每一个数据块的标签记为ti∈Zp,总的标签记为T={ti}i∈[1,n];并将生成后的标签附加在对应的数据块上实现数据致盲,记为mi'=mi+ti

通信模块130用于将加密数据发送至云服务器200,所述加密数据包括文件的加密数据、加密文件的抽象信息和带标签的认证信息;所述文件的加密数据为F′={mi′}i∈[1,n],所述带标签的认证信息为其中Ri=FID||i,FID为识别文件的标识信息,“||”为串联标志;所述通信模块130还用于将审计请求发送给第三方审计300,该审计请求中含有加密文件的抽象信息以及标签公钥pkt

请参阅图7,为根据本发明优选实施例的云服务器的功能模块图。本发明也相应提供了该云服务器200。如图7所示,该云服务器200包括存储模块210、证明模块220和解密模块230。

其中,存储模块210用于存储所述数据用户终端100发送的加密数据。

证明模块220用于接收第三方审计300发送的所述挑战后生成相应证明P=(ρ,ω,ε,τ)返回给所述第三方审计300;其中,认证信息ρi为所述加密数据中每一块的去标签认证信息,

解密模块230用于接收数据用户终端100发送的提取数据请求以及所述加密密钥的次数t后将解密数据返还给授权用户;所述解密模块230还用于在接收授权用户终端400发送的提取数据请求和加密授权请求标签t_sign后进行解密后得到次数t′,在判断t′与存储的t相等时将解密数据返还给授权用户终端400,否则不解密数据。

本发明还相应提供了上述授权用户终端400,用于发送授权请求和数据用户终端100,并将数据用户终端100返回的加密授权请求标签t_sign和加密密钥后发送提取数据请求给云服务器200,并接收云服务器200返回的解密数据。

综上所述,本发明增添了一个实体即授权用户终端400,授权用户终端400要获取云服务器200的本地数据,必须主动向本地的数据用户终端100请求授权,经本地用户授权后才能向云服务器200发出请求获取数据。出于安全性的考虑,当是本地的数据用户终端100提取云服务器200的加密数据时,保持与云服务器200的加密数据不变;当是授权用户终端400提取云服务器200的加密数据时,本地的数据用户终端100重新生成新的密钥对数据进行加密,然后将加其存储在云服务器200。

应该理解地是,本发明的基于云服务器的数据存取方法和系统的原理和实现过程相同,因此对基于云服务器的数据存取方法的实施例的详细阐述也适用于基于云服务器的数据存取系统。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1