一种面向云存储的远程数据完整性验证方法技术

技术编号:9856131 阅读:466 留言:0更新日期:2014-04-02 18:25
本发明专利技术提出一种面向云存储的远程数据完整性验证方法,利用聚合签名、指定证明人签名技术,实现了用户以及第三方审计人对用户数据完整性的验证功能,同时保证用户用于数据完整性的信息不被泄露;通过零知识证明技术实现了验证信息的透明度控制,当用户和服务器发生争议时,第三方审计人可以通过一种非交互式的零知识证明技术,产生不可否认的高置信度证明。本发明专利技术在云存储服务提供商不可信的情况下,也能够保证云数据完整性验证的准确性,具有易于实现,成本低,数据保护性强,支持第三方审计,隐私保护机制灵活等优点。

【技术实现步骤摘要】

本专利技术涉及,具体涉及根据数据完整性验证、指定证明人签名和零知识证明理论,为云存储中的数据提供安全高效、支持公共认证、第三方验证以及具有隐私保护的完整性验证方法,属于信息安全

技术介绍
云计算的数据服务外包可以减少数据所有者本地的存储和维护压力,然而云计算在给用户带来便利的同时,也为用户数据带来了新的安全挑战。由于用户失去了对数据可靠性和安全性的物理控制,云存储中的数据完整性成为用户担心的安全问题之一。由于大规模数据所导致的巨大通信代价,用户不可能将数据下载到本地后再验证其正确性。因此,如何保障云服务器中数据的安全,如何帮助用户进行数据完整性验证就成为一个研究热点。经对现有技术文献的检索发现,实现数据完整性验证的方法主要基于数字签名(Digital Signatures)和梅克尔散列树(Merkle Hash Tree)。典型的工作包括:数据可恢复性证明(Proofs of Retrievabi I ity, P0R)和可证明数据拥有(ProvableData Possession, PDP)。Shacham 和 Waters2008 年在发表于《Thel4th InternationalConference on the Theory and Application of Cryptology and InformationSecurity (第14届密码学与信息安全理论与应用国际会议)》的论文《Compact Proofs ofRetrievability (紧凑的可恢复性证明)》中提出了一种普遍的紧凑可恢复性证明模型,该模型基于数据分片技术的通用思想,使用数学上的同态性质,对于t个挑战块构成的证明,能够在0(t)计算复杂性下聚合该证明,生成一个0(1)长度认证值。Wang等人于2009年发表在〈〈The 14th European Symposium on Research in Computer Security (第 14 届欧洲计算机安全性研究讨论年会)》的论文《Enabling Public Verifiability and DataDynamics for Storage Security in Cloud Computing (云计算中具有公开验证和数据动态化的安全存储方法》中提出了一种结合同态认证和梅克尔散列树(MHT),在云计算环境下支持公开验证和数据动态化的存储方法。然而在这些方案中,攻击者仍然有可能利用公开验证协议收集足够多的信息,破解出数据,造成数据所有者的数据泄密。因此这些方案存在着信息泄露的风险,不适合实际工程应用。
技术实现思路
本专利技术要克服现有技术的不足,提供一种基于指定证明人签名方法和零知识证明技术面向云存储的远程数据完整性验证方法,签名人采用不可否认数字签名,但在计算签名的时候结合了证明人的公钥,验证必须在签名人或指定证明人的配合下才能进行,加强签名者的不可否认性,在用户数量大、服务器不可靠等复杂的实际工程中,保证用户远程验证云数据的完整性,支持数据动态更新、公开验证、第三方验证、保护用户隐私。为实现上述目的,本专利技术首先进行系统初始化,用户(User, U)使用Reed-Solomon编码将被存储的文件分割为若干个数据块。用户通过“挑战-应答”模式向云存储服务器中提出文件完整性验证的请求。云存储服务器(Cloud Storage Server, CSS)根据被抽查到的数据块,生成一个消息聚合和关于该消息聚合的指定证明人签名,同时加入根节点的信息,生成一个用户可直接计算的数据完整性证明。用户对该证明进行一定的计算即可验证所存储的数据文件是否有所缺损。同时,因为生成的指定证明人签名嵌入了第三方审计人(Third Party Auditor, TPA)的公钥,第三方审计人也可以对该数据完整性进行同等程度的计算验证。另一方面,为了防止用户误用/滥用数据完整性信息,第三方审计人在必要时为数据完整性证明提供一个非交互式的零知识证明,任何人都可以验证该零知识证明以获知数据完整性信息,达到有效保护和灵活控制用户验证数据完整性信息的目的。本专利技术的方法通过以下具体步骤实现:I系统初始化系统运行双线性Diffie-Hellman (Bilinear Diffie-Hellman, BDH)参数生成器,产生两个阶为素数q的双线性群G,Gt,g是群G的生成元e:GXG — Gt为双线性对运算,定义一个安全的Hash函数H: {0,1}* —G。给定文件F,系统使用Reed-Solomon编码将文件分为η块FOii1.ηι2,...,mn)其中mi € Z*o2系统生成密钥系统运行密钥生成算法KeyGen,为用户U生成私钥:随机数々effZ〗,则相应的公钥为也-=firr;类似地,系统为第三方审计人TPA生成私钥:随机数々m Cu ZJ5则相应的本文档来自技高网
...

【技术保护点】
一种面向云存储的远程数据完整性验证方法,其特征在于包括以下步骤:步骤1,系统初始化系统运行双线性Diffie‑Hellman(Bilinear Diffie‑Hellman,BDH)参数生成器,产生两个阶为素数q的双线性群G,Gt,g是群G的生成元,e:G×G→Gt为双线性对运算,定义一个安全的Hash函数H:{0,1)*→G;给定文件F,系统使用Reed‑Solomon编码将文件分为n块F(m1,m2,...,mn)其中步骤2,系统生成密钥系统运行密钥生成算法KeyGen,为用户U生成私钥:随机数则相应的公钥为类似地,系统为第三方审计人TPA生成私钥:随机数则相应的公钥为 y TPA = g x TPA ; 步骤3,用户存储文件用户运行签名生成算法SigGen(skU,F)为每一个数据块mi生成一个同态认证值(homomorphic authenticator):作为文件的元数据,所有数据块的同态认证值是可以聚集成一个标签值:φ={σi},1≤i≤n;用户采用Merkle哈希树将各数据块结构化,同时对根节点R进行签名将{F,φ,σR}发送给云存储服务器CSS。步骤4,一般完整性验证4.1用户发出挑战请求用户U对文件F进行数据完整性验证时,生成一组挑战信息发送给云存储服务器CSS,其中I={s1,...,sc},s1≤i≤sc,对于每一个si∈I,si表示第i个数据块mi的索引,随机数4.2服务器生成证明云存储服务器CSS接收到用户U发送的挑战信息之后,计算生成一段证明: ζ i = y TPA r i , μ i = σ i · g r i , ζ = Π i = s 1 s c ζ i , μ = Π i = s 1 s c μ i , θ = Σ i s c m i - - - ( 1 ) 同时,CSS提供给用户一组辅助信息:{Ωi},s1≤i≤sc,表示第i个叶子节点(存储了H(mi))到根节点R的路径上所有兄弟节点的集合,最后,CSS发给用户U一段证明:P={(ζ,μ,θ),{H(mi)},{Ωi),σR}           (2)其中sl≤i≤sc,而(ζ,μ)则是关于θ的指定证明人签名。;4.3用户完整性验证用户U收到云存储服务器发送来的证明P之后,首先利用{H(mi)}{Ωi)生成根节点R。然后通过计算等式e(σR,g)≡e(H(R),yU)是否成立,来验证R值是否被篡改。如果等式不成立,则U拒绝验证该证明,并输出失败信息。如果上述等式成立,则U继续计算下列等式是否成立: e ( μ , y TPA ) ≡ e ( ζ , g ) · e ( Π i = s 1 ...

【技术特征摘要】
1.一种面向云存储的远程数据完整性验证方法,其特征在于包括以下步骤: 步骤1,系统初始化 系统运行双线性 Diffie-Hellman (Bilinear Diffie-Hellman, BDH)参数生成器,产生两个阶为素数q的双线性群G,Gt, g是群G的生成元,e:GXG → Gt为双线性对运算,定义一个安全的Hash函数H: {0,1)* → G; 给定文件F,系统使用Reed-Solomon编码将文件分为η块FOii1, m2,..., mn)其中mi, ∈ Z*q, 步骤2,系统生成密钥 系统运行密钥生成算法KeyGen,为用户U生成私钥:随机数《V ,则相应的公钥为yu=grv 类似地,系统为第三方审计人TPA生成私钥:随机数则相应的公钥为yTpA = gxtpa 步骤3,用户存储文件 用户运行签名生成算法SigGenkku,F)为每...

【专利技术属性】
技术研发人员:夏莹杰夏伏彪刘雪娇王贵林
申请(专利权)人:杭州师范大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1