【技术实现步骤摘要】
一种支持用户全动态并行操作的抗泄露公开云审计方法
本专利技术属于云计算中外包云存储数据安全的
,具体是基于动态累加器提出的一种支持用户动态操作的抗泄露公开云审计方法。
技术介绍
云存储是云计算的一个重要分支,允许数据拥有者(DataOwner,DO)将数据远程存到云端,并为用户提供强大的外包计算和存储服务。近年来,由于功能日趋强大的处理器、丰富的带宽资源和灵活的网络连接,越来越多的客户选择将数据外包给云服务提供商(CloudServerProvider,CSP),以减轻本地购买硬件、数据维护等人力物力的投资。虽然这种新的数据存储模式被认为是互联网上一个很有前景的服务平台,但高度集中的计算资源给云存储在安全性和性能方面带来了严峻的挑战。首先,数据拥有者DO将数据存储到云端后,就失去了对数据的物理控制能力,这种数据所有权和控制权的分离,确实给管理带来了困难。对数据拥有者DO而言,如何确定云服务器是否完整、安全地存储着数据拥有者DO的数据是最值得关注的问题之一,造成这种问题的实际原因如下:(1)无论云存储服务提供商CSP采取多可靠的措施,偶尔也会因软件失效或硬件损坏的原因丢失数据。更糟糕的情况是,云存储服务提供商CSP可能为了自己的利益而决定对用户隐瞒这些数据错误。(2)云存储服务提供商CSP可能会丢弃未被访问过或很少被访问的数据,以节省存储空间,并声称这些数据仍然被正确地存储在云服务器上。因此,开发有效的审计技术,使用户确信数据被安全完整地存储在远程云服务器上是至关重要的,其核心是如何有效地远程验证数据完整性。其次,解决上述问题的方案根据验证者的不同分为 ...
【技术保护点】
1.一种抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法
【技术特征摘要】
1.一种抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法生成密钥,具体为:挑选两个随机数α←Zp和随机数γ←Zp;计算得到u←gα,进而得私钥sk=(α,γ)和公钥数据拥有者DO初始化值计算公开参数公开公开参数pub;2)存储2.1)存储准备:2.1.1)文件分块:数据拥有者DO利用分块算法FileSplit(F,n)→(d1,d2,…,dn)对文件F进行分块,具体为:将文件F分为n块{d1,d2,…,dn},其中di∈Zp且di≤N,i=1,2,…,n,文件F表示为F={d1,d2,…,dn},对应数据块索引集合为{1,2,…,n};2.1.2)数据块版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(F)→(VI)创建所有数据块的版本信息,具体为:数据块的版本信息VI={(vi,ti)|i=1,2,…,n},其中vi和ti分别表示数据块di的版本信息和建立版本信息时的时间戳;2.1.3)生成数据块累加值:数据拥有者DO利用累加值生成算法AccGen(F,pub)→accF计算所有数据块的累加值,具体为:计算累加值2.1.4)生成数据块签名:数据拥有者DO利用签名生成算法SigGen(F,VI,sk,pub)→(Φ)计算所有数据块对应的签名,具体为:计算签名令表示所有数据块对应的签名集合;2.2)分发:数据拥有者DO将文件F={d1,d2,…,dn}和签名集合发送给云存储服务提供商CSP,云存储服务提供商CSP按数据块对应顺序存储文件F和签名集合Φ的内容;同时数据拥有者DO将数据块的版本信息VI={(vi,ti)|i=1,2,…,n}和累加值发送给第三方审计者TPA,第三方审计者TPA将版本信息添加到双链的动态哈希表中存储,并存储数据块的累加值accF;确定云存储服务提供商CSP和第三方审计者TPA存储成功后,数据拥有者DO从本地存储中删除{F,Φ,VI},保留accF;2.3)生成数据块标签:云存储服务提供商CSP利用数据块标签生成算法TagGen(F,pub)→(Ω)生成每个数据块di的对应标签其中i=1,2,…,n,具体为:计算标签令表示所有数据块对应的标签集合;云存储服务提供商CSP存储标签集合Ω;3)审计3.1)生成挑战请求:第三方审计者TPA利用挑战请求算法ChalGen(n,c)→chal生成审计挑战,具体为:从文件F的数据块索引集合{1,2,…,n}中随机挑取出c个索引,记为chal={s1,s2,…,sc}c≤n,作为挑战请求信息发送给云存储服务提供商CSP;3.2)证据生成:云存储服务提供商CSP利用证据生成算法ProofGen(F,Φ,Ω,chal,pub)→P,生成完整性证据P,具体为:云存储服务提供商CSP作为证明者,根据存储在其服务器上的文件及其对应的签名集合和标签集合{F,Φ,Ω}和接收到的挑战信息chal={s1,s2,…,sc}c≤n,生成完整性证据P=(ω,σ,τ),其中然后将完整性证据P=(ω,σ,τ)作为存储数据的完整性证明发送给第三方审计者TPA;3.3)证据验证:第三方审计者TPA利用验证算法ProofCheck(P,chal,VI,pk)→{TRUE/FALSE}进行验证,具体为:第三方审计者TPA根据双链动态哈希表中的信息VI,对挑战的所有数据块对应的版本信息计算哈希值{H(vi||ti)|i∈chal};检验等式一验证τ的合法性:检验等式一若检验等式一不成立,则第三方审计者TPA输出FALSE,表示验证失败;否则,第三方审计者TPA再检验等式二是否成立:检验等式二若检验等式二成立,则第三方审计者TPA输出TRUE,表示验证成功,完整性验证通过;否则输出FALSE,表示验证失败。2.一种支持用户全动态并行操作的抗泄露公开云审计方法,包括以下步骤:1)建立1.1)系统参数生成:云存储服务提供商CSP利用参数生成算法ParamGen(1k)→(p,G,GT,g,e,H,N)生成系统参数cp并公开所生成的系统参数,具体为:系统参数cp=(p,G,GT,g,e,H,N),其中大素数p取值是由安全参数k所决定,G、GT是阶为大素数p的乘法循环群,g为乘法循环群G的生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G是一个密码学安全的哈希函数,正整数N<2p;1.2)密钥生成:数据拥有者DO利用密钥生成算法生成密钥,具体为:挑选两个随机数α←Zp和随机数γ←Zp;计算得到u←gα,进而得私钥sk=(α,γ)和公钥数据拥有者DO初始化值计算公开参数公开公开参数pub;2)存储2.1)存储准备:2.1.1)文件分块:数据拥有者DO利用分块算法FileSplit(F,n)→(d1,d2,…,dn)对文件F进行分块,具体为:将文件F分为n块{d1,d2,…,dn},其中di∈Zp且di≤N,i=1,2,…,n,文件F表示为F={d1,d2,…,dn},对应数据块索引集合为{1,2,…,n};2.1.2)数据块版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(F)→(VI)创建所有数据块的版本信息,具体为:数据块的版本信息VI={(vi,ti)|i=1,2,…,n},其中vi和ti分别表示数据块di的版本信息和建立版本信息时的时间戳;2.1.3)生成数据块累加值:数据拥有者DO利用累加值生成算法AccGen(F,pub)→accF计算所有数据块的累加值,具体为:计算累加值2.1.4)生成数据块签名:数据拥有者DO利用签名生成算法SigGen(F,VI,sk,pub)→(Φ)计算所有数据块对应的签名,具体为:计算签名令表示所有数据块对应的签名集合;2.2)分发:数据拥有者DO将文件F={d1,d2,…,dn}和签名集合发送给云存储服务提供商CSP,云存储服务提供商CSP按数据块对应顺序存储文件F和签名集合Φ的内容;同时数据拥有者DO将数据块的版本信息VI={(vi,ti)|i=1,2,…,n}和累加值发送给第三方审计者TPA,第三方审计者TPA将版本信息添加到双链的动态哈希表中存储,并存储数据块的累加值accF;确定云存储服务提供商CSP和第三方审计者TPA存储成功后,数据拥有者DO从本地存储中删除{F,Φ,VI},保留accF;2.3)生成数据块标签:云存储服务提供商CSP利用数据块标签生成算法TagGen(F,pub)→(Ω)生成每个数据块di的对应标签其中i=1,2,…,n,具体为:计算标签令表示所有数据块对应的标签集合;云存储服务提供商CSP存储标签集合Ω;3)动态更新:对已存储的文件F进行动态操作并更新相关数据,得到新文件F'和对应的更新后相关数据;4)动态更新验证:验证云存储服务提供商CSP是否正确执行了数据更新的操作。3.根据权利要求2所述的支持用户全动态并行操作的抗泄露公开云审计方法,其特征在于:步骤3)动态更新操作为插入数据块,具体为:3.a1)插入准备:3.a1.1)数据拥有者DO确定插入文件F中的插入数据块新文件形式化表示为F'=F∪D*;数据拥有者DO确定在文件F中的插入位置索引集合X和每个位置之后将被插入数据块的数量所组成的集合Y,其中X为文件F的索引集合{1,2,…,n}的子集X={i1,i2,…,ix},1≤x≤m,表示X中的每个位置之后将要被插入数据块的数量,其中且具体描述为:在文件F第i1块之后插入个数据块、第i2块之后插入个数据块、…、第ix的块之后插入个数据块;3.a1.2)插入数据块D*的版本信息初始化:数据拥有者DO利用数据版本信息初始化算法VIGen(D*)→(VI*)创建所有插入数据块对应的版本信息其中和分别表示插入数据块的版本信息和建立版本信息时的时间戳;3.a1.3)更新数据块累加值:数据拥有者DO利用插入数据块D*和保存在本地的原始累加值accF计算更新累加值3.a1.4)生成插入数...
【专利技术属性】
技术研发人员:李艳平,吴姣姣,梁岩荣,
申请(专利权)人:陕西师范大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。