一种基于全同态加密的云环境数据完整性验证方法技术

技术编号:19703033 阅读:31 留言:0更新日期:2018-12-08 14:24
一种基于全同态加密的云环境数据完整性验证方法,包括初始化参数、初始化秘钥、生成同态标签、存储文件和标签、用户发起验证挑战、产生完整性证据、验证完整性证据的步骤;采用全同态加密算法和混合数据动态数据操作算法分别进行数据加密、安全性验证和性能优化,达到对云平台上存储数据安全性验证的目的。该验证方法首先采用全同态加密的方法生成同态标签;其次,利用同态标签对数据进行远程数完整性验证;再者,采用混合数据动态操作的分析方法对加密后数据进行动态操作;最后进行安全性分析。不仅能高效地支持用户多粒度的动态操作,而且能够减轻用户执行动态操作过程和审计者执行远程数据完整性验证过程的通信开销。

【技术实现步骤摘要】
一种基于全同态加密的云环境数据完整性验证方法
本专利技术涉及信息安全
,更具体地说,涉及一种基于全同态加密的云环境数据完整性验证方法。
技术介绍
本质上,在大数据应用中的数据是动态的,如监视数据,互联网数据等。而事实上,除了一些大的静态数据,如图书馆和电子档案等,在大的数据应用中的数据一直在进行不断的更新操作。在许多应用中,数据更新是非常频繁的,如社交网络和业务交易。因此,它是非常重要的云安全机制,如一个公共审计方案,来有效地支持动态数据。安全问题主要涉及三个方面:完整性、保密性及可用性。针对完整性,公共审计或审计云数据即从外部的组织验证数据完整性,近年来已成为被广泛调查研究的问题。由于用户接触不到存储在云存储服务器(CSS)上的数据,不管声称服务器端的机制如何地强大,要求对客户,数据使用者或是一个第三方审计者的审计是非常有必要的。所以针对上述问题归纳并总结近年来的相关工作,提出可能解决上述安全问题的公开解决方案,改进原有的算法,并提出了一种新的数据完整性验证方案。现有的数据完整性方法外包数据存储的完整性验证已经引起了广泛的研究兴趣。JulesandKalisk提出了可追溯证明的概念以及它的第一个模型。但是,他们的方案只适用于静态数据存储,如归档或库。在同一年,Ateniese等人提出了一个类似的名为“可证明的数据占有”模型。他们的方案提供无块验证,即验证者可以通过验证一个他们称之为同态验证标签(HVT)或同态线性认证(HLAS)的预先计算好的文件标签的组合来验证部分外包文件的完整性。ShachamandWaters提出了一种改进的无状态验证POR模型。Erway等人提出了第一个可以支持完全动态数据更新验证PDP方案。用一个改进的认证数据结构来验证更新成为后来PDP以及POR工作中支持可验证更新的普遍方法。他们使用的是基于等级的认证跳表(RASL)ADS。然而,他们的框架不支持公开审计和可变大小的文件块。为了支持更新验证,他们使用了另一种称为Merkle哈希树的ADS。然而,他们对ADS的使用是不完美的;在没有正确的块索引验证的情况下当一个挑战块遭到损坏,一个恶意的服务器可以通过计算其他块的有效证明来欺骗客户。综上所述,现有的云存储去重方案依然存在很大安全隐患,特别是密钥的安全性是开放的问题。另外,针对不同的POW证明方案,如何保证其与密钥体系相适应,并且具有高效性,仍然是需要考虑的问题。现有的关于数据完整性验证方案,还存在以下不足:1.只能进行有限次数据完整性验证;2.大部分数据完整性验证方案是基于公钥加密技术,其计算开销太大;3.有些方案不支持公开性验证;4.有些方案不适用于云存储海量数据服务模式问题。基于全同态加密的云环境数据完整性验证方法是指针对云平台上数据安全性保障展开研究,该方法首先采用同态加密的方法生成同态标签;其次,利用同态标签对数据进行远程数完整性验证;再者,采用混合数据动态操作的分析方法对加密后数据进行动态操作;最后进行安全性分析。仿真结果表明,本技术方案不仅能高效地支持用户多粒度的动态操作,而且能够减轻用户执行动态操作过程和审计者执行远程数据完整性验证过程的通信开销。
技术实现思路
有鉴于此,为解决上述现有技术的不足,本专利技术的目的在于提供一种基于全同态加密的云环境数据完整性验证方法,逻辑紧密,效果显著,采用全同态加密算法和混合数据动态数据操作算法分别进行数据加密、安全性验证和性能优化,达到对云平台上存储数据安全性验证的目的。不仅能高效地支持用户多粒度的动态操作,而且能够减轻用户执行动态操作过程和审计者执行远程数据完整性验证过程的通信开销。为实现上述目的,本专利技术所采用的技术方案是:一种基于全同态加密的云环境数据完整性验证方法,包括以下步骤:步骤1、初始化参数:由用户和云存储服务器协商产生一组双方共享的参数;步骤2、初始化秘钥:用户在初始化秘钥后将公钥公开,私钥则由用户秘密保存;步骤3、生成同态标签:用户在将文件上传到云存储服务器之前,首先按照一定大小对文件进行分块,之后用户在本地通过计算产生同态标签,一个文件块对应一个标签,文件块和用户的私钥将作为输入,同态标签则是对应的输出;步骤4、存储文件和标签:在产生同态标签后,用户将对文件本身和标签进行存储管理,用户将文件本身移动到云端进行在线存储,移动完成后删除本地的文件副本以释放本地的存储空间,同态标签存储在用户本地或者使用对称加密算法进行加密后上传到云存储服务器中进行保存;步骤5、用户发起验证挑战:用户在本地产生若干随机数,构造挑战消息,并将该消息传输给服务器;步骤6、产生完整性证据:服务器解析用户发送的挑战消息,读取对应的文件块,计算完整性证据的算法包括3个输入:文件块、挑战信息和步骤1得到的参数,计算过程的输出则是文件块的完整性证据,服务器将产生的完整性证据返回到挑战发起者;步骤7、验证完整性证据:用户接收到完整性证据后对其进行合法性验证,该步骤中使用的算法包括3个输入:完整性证据、同态标签和用户公钥,输出则是一个代表完整性证据是否有效的布尔值。进一步的,该验证方法包括Diffie-Hellman体制、RSA体制和双线性对等若干具有同态性质的算法。进一步的,该验证方法用到的安全模型,包括以下步骤:A1、初始化:挑战者运行初始化算法,输入相关安全参数k、λp、λq以及m、s,得到具有同态性质的密钥K和私钥sk,同时把公钥传给对手,公钥为:KeyGen(1k,λp,λq,m,s)→(K,sk),其中,m为消息扇区数目,s为随机种子;A2、阶段1:这一阶段是由数据所有者执行,以生成文件的标记,输入同态密钥K、私钥sk以及文件F,得到用于表示每个块的标记的顺序集合的输出标签集T:TagGen(K,sk,F)→T;A3、挑战:数据所有者执行该算法以生成质疑信息,它以被挑战的块计数c作为输入,并输出挑战chall,其表达式为:Challenge(c)→chall;A4、猜测:CSS执行该算法生成完整性验证P,它输入文件F、标签集T和质疑集chall,并输出验证P,其表达式为:ProofGen(F,T,chall)→P;A5、证明:数据所有者执行该算法,使用CSS返回的验证P检查文件的完整性,输入同态密钥K、私钥sk、挑战chall以及验证P,如果P正确则输出1,否则P错误则输出0,其表达式为:Verify(K,sk,chall,P)→{1,0}。进一步的,步骤1-7均以数据块作为最小单位进行。进一步的,该验证方法还包括混合数据动态数据操作方法,该操作方法包括三个概率多项式时间算法,具体包括以下子步骤:B1、PrepareUpdate(pk,sk,m')→Info:由用户执行的生成更新请求算法,用户根据需求,输入公钥pk、私钥sk、新的数据信息m',输出更新请求信息Info,更新请求中包括更新的数据信息,以及操作类型Modify,Insert或Delete分别表示修改、插入或删除操作;B2、PerformUpdate(Info,F,φ)→{F',φ',P'}:由云存储服务器CSS执行的更新算法,输入接收到的更新请求Info、保存的用户数据F和元数据φ,输出更新后的数据集合F'、新的元数据φ'、CSS执行更新操作的证据P';B3、Ve本文档来自技高网
...

【技术保护点】
1.一种基于全同态加密的云环境数据完整性验证方法,其特征在于:包括以下步骤:步骤1、初始化参数:由用户和云存储服务器协商产生一组双方共享的参数;步骤2、初始化秘钥:用户在初始化秘钥后将公钥公开,私钥则由用户秘密保存;步骤3、生成同态标签:用户在将文件上传到云存储服务器之前,首先按照一定大小对文件进行分块,之后用户在本地通过计算产生同态标签,一个文件块对应一个标签,文件块和用户的私钥将作为输入,同态标签则是对应的输出;步骤4、存储文件和标签:在产生同态标签后,用户将对文件本身和标签进行存储管理,用户将文件本身移动到云端进行在线存储,移动完成后删除本地的文件副本以释放本地的存储空间,同态标签存储在用户本地或者使用对称加密算法进行加密后上传到云存储服务器中进行保存;步骤5、用户发起验证挑战:用户在本地产生若干随机数,构造挑战消息,并将该消息传输给服务器;步骤6、产生完整性证据:服务器解析用户发送的挑战消息,读取对应的文件块,计算完整性证据的算法包括3个输入:文件块、挑战信息和步骤1得到的参数,计算过程的输出则是文件块的完整性证据,服务器将产生的完整性证据返回到挑战发起者;步骤7、验证完整性证据:用户接收到完整性证据后对其进行合法性验证,该步骤中使用的算法包括3个输入:完整性证据、同态标签和用户公钥,输出则是一个代表完整性证据是否有效的布尔值。...

【技术特征摘要】
1.一种基于全同态加密的云环境数据完整性验证方法,其特征在于:包括以下步骤:步骤1、初始化参数:由用户和云存储服务器协商产生一组双方共享的参数;步骤2、初始化秘钥:用户在初始化秘钥后将公钥公开,私钥则由用户秘密保存;步骤3、生成同态标签:用户在将文件上传到云存储服务器之前,首先按照一定大小对文件进行分块,之后用户在本地通过计算产生同态标签,一个文件块对应一个标签,文件块和用户的私钥将作为输入,同态标签则是对应的输出;步骤4、存储文件和标签:在产生同态标签后,用户将对文件本身和标签进行存储管理,用户将文件本身移动到云端进行在线存储,移动完成后删除本地的文件副本以释放本地的存储空间,同态标签存储在用户本地或者使用对称加密算法进行加密后上传到云存储服务器中进行保存;步骤5、用户发起验证挑战:用户在本地产生若干随机数,构造挑战消息,并将该消息传输给服务器;步骤6、产生完整性证据:服务器解析用户发送的挑战消息,读取对应的文件块,计算完整性证据的算法包括3个输入:文件块、挑战信息和步骤1得到的参数,计算过程的输出则是文件块的完整性证据,服务器将产生的完整性证据返回到挑战发起者;步骤7、验证完整性证据:用户接收到完整性证据后对其进行合法性验证,该步骤中使用的算法包括3个输入:完整性证据、同态标签和用户公钥,输出则是一个代表完整性证据是否有效的布尔值。2.根据权利要求1所述的一种基于全同态加密的云环境数据完整性验证方法,其特征在于:该验证方法包括Diffie-Hellman体制、RSA体制和双线性对等若干具有同态性质的算法。3.根据权利要求1所述的一种基于全同态加密的云环境数据完整性验证方法,其特征在于:该验证方法用到的安全模型,包括以下步骤:A1、初始化:挑战者运行初始化算法,输入相关安全参数k、λp、λq以及m、s,得到具有同态性质的密钥K和私钥sk,同时把公钥传给对手,公钥为:KeyGen(1k,λp,λq,m,s)→(K,sk),其中,m为消息扇区数目,s为随机种子;A2、阶段1:这一阶段是由数据所有者执行,以生成...

【专利技术属性】
技术研发人员:吴庆涛朱军龙宁召柯张明川郑瑞娟张静杰陈军亚孟维鸣王倩玉
申请(专利权)人:河南科技大学
类型:发明
国别省市:河南,41

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

1