一种云存储数据共享中可追踪的有效公开审计方法和系统与流程

文档序号:11234830阅读:437来源:国知局
一种云存储数据共享中可追踪的有效公开审计方法和系统与流程
本发明涉及云计算安全技术,具体涉及一种在云存储中多用户数据共享环境下可追踪的有效公开审计方法和云计算应用系统。
背景技术
:云存储是云计算中一项非常重要和普遍的服务形式(例如:dropbox,amazons3,icloud),是将存储资源放到云服务商上供人存取的一种服务。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。用户为了减少在本地对数据的维护和计算负担,将它们的数据存储在云服务器上。由于云服务器不可信,它可能为了节省存储空间,丢掉一些用户很少访问或几乎不访问的数据,还有可能为了维护自己的声誉,隐藏数据丢失情况,所以我们在使用数据之前需要对云上数据进行定期检测。然而,云可以无所不在被访问,多个用户通过云存储服务访问共享数据是比较便捷的。实际上,数据共享被允许一个组里多个用户来访问数据是一个传统的实例,比如一个公司同一个部门的员工存储一个日志报告在云服务器上,他们能够按照他们的需要很方便的访问数据。对于工作在同一组的用户来说具有很大意义。为了满足这个需求,很多云存储服务提供者都提供数据共享并把它作为主要服务。由于客户端的计算资源是有限的,由客户端来审计云上共享数据的完整性,这样会给客户端带来一定的负担,所以第三方审计(tpa)被用来代替客户端完成审计任务。为了检测云上共享数据的完整性,tpa必须获得用户的公钥才能完成审计任务,但是在pki中公钥与身份信息之间存在唯一绑定的关系,由于不同的数据块可以由不同的用户进行操作并产生验证标签,当tpa执行一次审计任务时,tpa可能会知道哪个用户产生了验证标签,在共享数据中就会暴露用户的身份信息。所以在数据共享中存在用户身份隐私暴露的问题。所以在多用户数据共享的情况下,需要保护用户的身份隐私,实现用户的匿名性,但是无限制的匿名会带来一个新的问题,组内用户可能是不诚实的,用户可能为了自己的利益对数据进行恶意修改,所以一个用户可能会恶意修改共享数据,由于实现了用户的匿名性,恶意用户将不会担心被发现,这种不受控制的恶意修改可能会破坏共享数据的使用性,所以我们需要对这个恶意用户进行追踪,并揭示恶意用户身份。传统方法是利用环签名保护用户的身份隐私,但是数据标签的大小会随着组内成员数目的增加而线性增加,当组内成员很大的时候会造成很大的开销,而且不能实现可追踪性。而利用群签名来保护用户的身份隐私,虽然数据标签不会随着组内成员的增加而线性增加,而且能实现可追踪性,但是这个方案通讯开销比较大而且不支持公开验证。由于现在的方法存在这些缺点,为此,在实施本发明的过程中,我们将利用属性签名来保护用户的身份隐私,并能满足上述所有要求,同时采用一个门限shamir(t,n)方案来追踪恶意用户。技术实现要素:本发明的目的在于提供一种云存储数据共享中可追踪的有效公开审计方法,以在多用户数据共享环境下保护用户身份隐私,同时实现恶意用户可追踪性和实现追踪的合理存储开销。本发明的目的还在于提供一种云计算应用系统,用于云存储中多用户数据共享环境,追踪恶意用户并揭示其身份。为此,本发明一方面提供了一种云存储数据共享中可追踪的有效公开审计方法,包括以下步骤:(1)系统初始化阶段。属性授权机构随机选取一个不同密钥的概率加密方案,初始化一个门限秘密共享方案实例,最后属性授权机构生成主私钥和公开参数。(2)属性私钥提取阶段。属性授权机构根据用户属性为每个用户生成属性私钥,利用概率加密方案将用户身份加密嵌入到属性私钥中,将属性私钥通过安全通道发送给用户。(3)数据上传阶段。数据拥有者制定一个签名策略,利用属性私钥为每个数据块生成数据标签,数据拥有者将签名策略、数据和数据标签上传到云服务器。(4)数据修改阶段。满足签名策略的用户可以对云上数据修改,数据修改之后利用属性私钥对相应数据重新计算数据标签,将修改后数据块与标签上传到云服务器。(5)标签验证阶段。云服务器验证标签有效性,如果验证成功,则云服务器更新数据块及其标签。(6)挑战阶段。验证者采用随机取样策略向云服务器发送一个挑战信息。(7)产生证据阶段。云服务器收到挑战之后,将数据块和对应的标签进行线性聚合作为审计证据。将审计证据发送给验证者。(8)证据验证阶段。验证者收到证据之后,利用公开信息验证证据的正确性,如果正确,则表明存储在云上数据是完整的。反之,数据被破坏。(9)追踪阶段。当云上数据被破坏,属性机构采用一个门限秘密共享方案根据损坏数据块的标签提取出用户身份信息,利用拉格朗日插值得出一个秘密值判断该用户是不是恶意用户。如果是恶意用户则揭示该用户身份。反之,输出特殊符号表明数据破坏是云服务器的不诚实所为。进一步的,所述步骤(1)的具体过程为:(11)属性机构执行初始化算法,输入安全参数k,生成两个生成元为g的p阶循环群g1、g2,一个双线性配对e:g1×g1→g2,和一个安全的哈希函数h:{0,1}*×g1→g1。随机选取α∈zp,g2∈g1,并计算g1=gα,gd=(p,g1,g2,e)。设且i∈s,定义拉格朗日系数随机选取k+1个元素ti∈g,其中1≤i≤k+1,定义函数t为其中i=(1,2,...,k+1)。(12)属性机构随机选取一个不同密钥k1,k2∈zp的概率加密方案(enc,dec)。(13)初始化一个shamir’s(t,n)门限实例ins(t,n),并存储一个多项式f(x)和f(x)上t-1个点{(x1,y1),(x2,y2),...,(xt-1,yt-1)}。(14)属性机构生成主私钥mk=(α,k1,k2),公开参数pp=(d,g,g1,g2,t1,...,tk+1,gd,h)。进一步的,所述步骤(2)的具体过程为:(21)对于用户id,属性机构为用户定义用户属性ω。(22)属性机构选取一个阶为d-1的多项式q(x),q(0)=α。(23)对每个i∈ω,属性机构随机选取ri∈zp,计算(24)属性机构计算y=f(x),(25)属性机构输出属性私钥skω=(c,{(di,1,di,2)i∈ω}),将属性私钥通过安全通道发送给用户。进一步的,所述步骤(3)的具体过程为:(31)数据拥有者属性集合为ω,首先为数据块制定签名策略,随机选取属性集合|ω|≥d,再随机选取属性集合ω',其中ω∩ω'=φ,令ψ=ω∪ω',签名策略为υ=(ψ,d,φ”)。(32)数据拥有者将数据分成n个数据块,并且将每个数据块分为s个区。利用属性私钥为每个数据块生成数据标签。随机选取a∈zp,计算ρ=ga。对所有i∈ψ,随机选取r'i,j∈zp,计算当i∈ω时,当i∈ω'时,最后计算(33)数据拥有者为每个数据块生成的标签为σj=({σi,j}i∈ψ,σ0,j,c)。(34)数据拥有者将签名策略,数据和相应的数据块标签上传到云服务器。进一步的,所述步骤(4)的具体过程为:(41)满足签名策略的用户可以对云上数据进行访问并修改,修改之后调用标签生成算法为修改后数据块重新计算标签。(42)将修改后的数据及对应的数据标签上传到云服务器。进一步的,所述步骤(5)的具体过程为:(51)当云服务器收到用户修改的数据和对应的标签时,通过等式验证标签的有效性。(52)如果验证成功,云服务器更新数据块及相应标签,反之,云服务器拒绝更新。进一步的,所述步骤(6)的具体过程为:(61)验证者随机从数据块集合[1,n]中挑选c个数据块的索引作为一个子集合j。并且产生一个随机数yj∈zp。产生挑战信息chal={j,yj}j∈j。(62)验证者将挑战信息发送给云服务器。进一步的,所述步骤(7)的具体过程为:(71)云服务器收到挑战信息,将挑战的数据块和数据标签进行聚合μl=∑j∈jyjmj,l,(72)将步骤(71)中的数据标签展开计算可以得到σ={σ0,σi}。(73)云服务器将proof={μ,σ,ρ},μ=(μ1,...,μk)作为审计证据发送给验证者。进一步的,所述步骤(8)的具体过程为:(81)验证者根据审计证据和挑战信息通过等式验证存储在云上数据是否被破坏。如果正确则数据是完整的,反之数据被破坏。(82)将审计结果通知给系统。进一步的,所述步骤(9)的具体过程为:(91)根据步骤(82)中的审计结果,如果云上数据被破坏,首先需要对用户进行追踪。属性机构从损坏数据的标签中提取(x*=x,y*=y)。(92)如果(x*=x,y*=y)∈{(x1,y1),(x2,y2),...,(xt-1,yt-1)},直接对x*解密得到恶意用户身份id。否则,执行下一步。(93)属性机构由ins(t,n)通过拉格朗日插值有t-1个点{(x1,y1),(x2,y2),...,(xt-1,yt-1)}和(x*=x,y*=y)来恢复秘密值如果对x*解密得到恶意用户身份id,否则输出特殊符号,表明是云服务器的不诚实所为。根据本发明的另一方面,提供了一种云计算应用系统,用于云存储中多用户数据共享环境,追踪恶意用户并揭示其身份,包括数据拥有者、用户(数据使用者)、属性机构、云服务器、验证者。属性机构为每个用户颁发属性私钥,数据拥有者利用属性私钥为数据生成标签,然后将数据及标签存储在云端,用户可以对云端数据访问并修改,验证者定期检测云端数据是否是完整的。当发现云端数据被破坏,属性机构可以根据损坏的数据标签追踪到恶意用户。与现有技术相比,本发明具有以下的优点:1)本发明考虑到实际应用场景中多个用户共享存储在云端数据的情况,在这种环境下,利用属性签名的思想保护了用户身份隐私,即验证者在审计云端数据的过程中不能得到用户身份信息。这里验证者是一个公开验证者,可以是系统中任何一个实体、也可以是一个半可信的第三方来替换用户执行审计任务。2)本发明考虑到实际应用中大用户数组的情况,用户与验证者的计算开销与用户数大小无关。适用于实际场景中大用户数组访问云端数据。3)本发明提供云端数据被破坏时的追踪问题,考虑到实际应用中云端数据被破坏不一定都是云服务器的不诚实所为,还有可能是用户为了自己的利益恶意修改了云端数据,所以要对破坏数据者追踪。同时本发明实现追踪的存储开销为常量。由此可见,本发明在多用户数据共享环境下保护了用户身份隐私,同时实现了恶意用户可追踪性,并且实现追踪的存储开销为常量。除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。附图说明构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为根据本发明的可追踪的有效公开审计方法的流程图;图2为根据本发明的云计算应用系统的功能架构示意图;以及图3为本发明云计算应用系统的功能架构的执行流程图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。本发明中的技术术语的解释和说明:属性授权机构:对用户进行属性认证,根据用户属性为用户颁发属性私钥;数据拥有者:数据的拥有者,为数据制定签名策略,并且为每个数据块计算数据块标签,将签名策略、数据及数据块标签上传到云服务器;用户:满足签名策略的用户可以对数据拥有者上传的数据进行访问和修改;云服务器:拥有大量存储和计算资源的分布式存储系统,为用户提供数据存储、计算等服务;验证者:验证云存储服务器上数据的完整性,可以是系统中任何一个实体、也可以是一个半可信的第三方来实现公开审计;以下结合实施例和附图对本发明做进一步说明。如图1所示,本发明的云存储数据共享中可追踪的有效公开审计方法,包含以下步骤:(1)系统初始化阶段。属性授权机构随机选取一个不同密钥的概率加密方案,初始化一个门限秘密共享方案实例,最后属性授权机构生成主私钥和公开参数。(2)属性私钥提取阶段。属性授权机构根据用户属性为每个用户生成属性私钥,利用概率加密方案将用户身份加密嵌入到属性私钥中,将属性私钥通过安全通道发送给用户。(3)数据上传阶段。数据拥有者制定一个签名策略,利用属性私钥为每个数据块生成数据标签,数据拥有者将签名策略、数据和数据标签上传到云服务器。(4)数据修改阶段。满足签名策略的用户可以对云上数据修改,数据修改之后利用属性私钥对相应数据重新计算数据标签,将修改后数据块与标签上传到云服务器。(5)标签验证阶段。云服务器验证标签有效性,如果验证成功,则云服务器更新数据块及其标签。(6)挑战阶段。公开验证者采用随机取样策略向云服务器发送一个挑战信息。(7)产生证据阶段。云服务器收到挑战之后,将数据块和对应的标签进行线性聚合作为审计证据。将审计证据发送给公开验证者。(8)证据验证阶段。公开验证者收到证据之后,利用公开信息验证证据的正确性,如果正确,则表明存储在云上数据是完整的。反之,数据被破坏。(9)追踪阶段。当云上数据被破坏,属性机构采用一个门限秘密共享方案根据损坏数据块的标签提取出用户身份信息,利用拉格朗日插值得出一个秘密值判断该用户是不是恶意用户。如果是恶意用户则揭示该用户身份。反之,输出特殊符号表明数据破坏是云服务器所为。如图2和图3所示,将上述云存储数据共享中可追踪的有效公开审计方法应用于云计算系统,该系统包括属性授权机构、数据拥有者、用户、云服务器以及验证者。本发明的详细步骤为:步骤(1)具体实施过程如下:1)属性机构执行初始化算法,输入安全参数k,生成两个生成元为g的p阶循环群g1、g2,一个双线性配对e:g1×g1→g2,和一个安全的哈希函数h:{0,1}*×g1→g1。随机选取α∈zp,g2∈g1,并计算g1=gα,gd=(p,g1,g2,e)。设且i∈s,定义拉格朗日系数随机选取k+1个元素ti∈g,其中1≤i≤k+1,定义函数t为其中i=(1,2,...,k+1)。2)属性机构随机选取一个不同密钥k1,k2∈zp的概率加密方案(enc,dec)。3)初始化一个shamir’s(t,n)门限实例ins(t,n),并存储一个多项式f(x)和f(x)上t-1个点{(x1,y1),(x2,y2),...,(xt-1,yt-1)}。4)属性机构生成主私钥mk=(α,k1,k2),公开参数pp=(d,g,g1,g2,t1,...,tk+1,gd,h)。步骤(2)具体实施过程如下:1)对于用户id,属性机构为用户定义用户属性ω。2)属性机构选取一个阶为d-1的多项式q(x),q(0)=α。3)对每个i∈ω,属性机构随机选取ri∈zp,计算4)属性机构计算y=f(x),5)属性机构输出属性私钥skω=(c,{(di,1,di,2)i∈ω}),将属性私钥通过安全通道发送给用户。步骤(3)具体实施过程如下:1)数据拥有者属性集合为ω,首先为数据块制定签名策略,随机选取属性集合|ω|≥d,再随机选取属性集合ω',其中ω∩ω'=φ,令ψ=ω∪ω',签名策略为υ=(ψ,d,φ”)。2)数据拥有者将数据分成n个数据块,并且将每个数据块分为s个区。利用属性私钥为每个数据块生成数据标签。随机选取a∈zp,计算ρ=ga。对所有i∈ψ,随机选取r'i,j∈zp,计算当i∈ω时,当i∈ω'时,最后计算3)数据拥有者为每个数据块生成的标签为σj=({σi,j}i∈ψ,σ0,j,c)。4)数据拥有者将签名策略,数据和相应的数据块标签上传到云服务器。步骤(4)具体实施过程如下:1)满足签名策略的用户可以对云上数据进行访问并修改,修改之后对修改的数据块重新计算标签。2)将修改后的数据及对应的数据标签上传到云服务器。步骤(5)具体实施过程如下:1)当云服务器收到用户修改的数据和对应的标签时,通过等式验证标签的有效性。2)如果验证成功,云服务器更新数据块及相应标签,反之,云服务器拒绝更新。步骤(6)具体实施过程如下:1)验证者随机从数据块集合[1,n]中挑选c个数据块的索引作为一个子集合j。并且产生一个随机数yj∈zp。产生挑战信息chal={j,yj}j∈j。2)验证者将挑战信息发送给云服务器。步骤(7)具体实施过程如下:1)云服务器收到挑战信息,将挑战的数据块和数据标签进行聚合μl=∑j∈jyjmj,l,2)将数据聚合的标签展开计算可以得到σ={σ0,σi}。3)云服务器将proof={μ,σ,ρ},μ=(μ1,...,μk)作为审计证据发送给验证者。步骤(8)具体实施过程如下:1)验证者根据审计证据和挑战信息通过以下等式验证存储在云上数据是否被破坏:如果正确则数据是完整的,反之数据被破坏。2)将审计结果通知给系统。步骤(9)具体实施过程如下:1)如果云上数据被破坏,首先需要对用户进行追踪。属性机构从损坏数据的标签中提取(x*=x,y*=y)。2)如果(x*=x,y*=y)∈{(x1,y1),(x2,y2),...,(xt-1,yt-1)},直接对x*解密得到恶意用户身份id。否则,执行下一步。3)属性机构由ins(t,n)通过拉格朗日插值有t-1个点{(x1,y1),(x2,y2),...,(xt-1,yt-1)}和(x*=x,y*=y)来恢复秘密值如果对x*解密得到恶意用户身份id,否则输出特殊符号,表明是云服务器的不诚实所为。方案分析1、方案正确性2、方案安全性(1)标签不可伪造性标签不可伪造性的证明思想是规约到cdh困难问题,给定一个多项式时间敌手a和一个模拟器s,该模拟器模拟真实环境使得敌手不可区分模拟环境和真实环境。模拟器将困难问题的参数嵌入到公开参数pp=(d,g,g1=gα,g2=gβ,g2,t1,...,tk+1,gd,h)中,然后模拟器将公开参数发送给敌手。随机选择度为k的多项式f(x)和一个多项式首先,敌手可以选择一些用户属性对模拟器进行私钥询问,模拟器收到用户属性计算相应的私钥返回给敌手。然后,敌手对模拟器进行哈希询问,敌手选择一些数据块号及数据名发送给模拟器,模拟器收到敌手发送的信息计算相应的哈希值可以计算返回给敌手。最后,敌手对模拟器进行签名询问,敌手选择一些数据块发送给模拟器,模拟器收到数据块计算相应的签名,模拟器计算ρ=ga,返回给敌手。敌手根据询问的结果伪造一个数据块及相应的标签(m*,σ*),伪造的数据及标签是以上没有询问过的。令如果模拟器根据敌手伪造的数据及标签通过等式能够计算得到则表明模拟器能够解决一个困难性难题,这里利用反证法的思想表明签名是不可伪造的。(2)审计证据不可伪造性在标签不可伪造情况下,审计证据不可伪造的证明可以规约到dl困难问题,假设存储在云端数据是正确的,当验证者向云端发送一个挑战,云服务器收到挑战计算一个有效的审计证据proof=(μ,σ,ρ),这个审计证据能够通过验证者的等式验证,当云端某以数据被恶意修改,同样云服务器计算一个无效的审计证据proof=(μ',σ,ρ),假设这个审计能够通过验证者的等式验证。δμl=μ'l-μl,{δμl}中至少有一个元素是非零的,根据上面两个的等式计算得到进一步可以计算得出g=hx,模拟器能够解决dl困难性问题,则表明审计证据是不可伪造的。3、效率分析本发明中,定义tp表示执行一次双线性配对的时间,te表示在群g1中执行一次取幂的时间,tm表示在群g1中执行一次乘法操作的时间。|t|表示元素在群g1的大小,|p|表示元素在域zp上的大小。忽略其他的操作时间。定义n表示数据的总块数,c表示验证者挑战的数据块数,w表述用户数,d表示用户属性个数。表1分别从标签生成、证据产生、验证的计算复杂度进行比较。表2从用户计算标签上传到云服务器和云服务器计算审计证据返回给验证者两个方面比较通信开销。表1计算复杂度比较标签大小证据大小knox5|t|+6|p|2c|p|+10c|t|orutaw|t|2|p|+w|t|本发明(n+d)|t||p|+d|t|表2通信复杂度比较从表1和表2中可以看到oruta的方案计算开销和通信开销都随着用户数的增加而增加,所以不适合大用户数组。在表1可以看到本发明虽然验证的计算时间比knox方案略高,但是标签计算与审计证据计算相对比较低。在表2中本发明上传标签的通信开销比knox略高,但云服务器返回审计证据的开销比较小,而且本发明实现了公开验证。总体而言,本发明在计算和通信开销合理的情况完成的功能优于另外两个方法。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1