CN102647433B - 一种云存储数据持有性验证方法 - Google Patents

一种云存储数据持有性验证方法 Download PDF

Info

Publication number
CN102647433B
CN102647433B CN201210159377.2A CN201210159377A CN102647433B CN 102647433 B CN102647433 B CN 102647433B CN 201210159377 A CN201210159377 A CN 201210159377A CN 102647433 B CN102647433 B CN 102647433B
Authority
CN
China
Prior art keywords
user
data
server
challenge
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210159377.2A
Other languages
English (en)
Other versions
CN102647433A (zh
Inventor
毛剑
张晏
刘建伟
徐先栋
冯克
尚涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201210159377.2A priority Critical patent/CN102647433B/zh
Publication of CN102647433A publication Critical patent/CN102647433A/zh
Application granted granted Critical
Publication of CN102647433B publication Critical patent/CN102647433B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

一种云存储数据持有性验证方法,该方法有七大步骤:步骤1:文件分块{F→(f1,f2…fl)};步骤2:标签的计算{(sk,F)→Ti};步骤3:数据的云端存储{(F,Ti)→S};步骤4:用户发起挑战{chal};步骤5:服务器作出响应;步骤6:验证{(R,sk)→("success","failure")};步骤7:报告{Report}:如果验证输出为“failure”,则用户向服务器发送警告通知。本发明中运用了双线对技术实现云端数据的持有性验证,在挑战-响应交互过程中,对数据块随机抽样,通信量小且固定,与文件的大小无关,而且验证次数不受限制。它在云计算安全技术领域里具有较好的实用价值和广阔的应用前景。

Description

一种云存储数据持有性验证方法
(一)技术领域
本发明涉及一种云存储数据持有性验证方法,尤其涉及云存储环境中一种基于双线性映射的数据持有性验证方法,它可使得用户自主地检验存储于云服务器中的数据的完整性和持有性,属于云计算安全领域。
(二)背景技术
云计算作为一种信息系统有着吸引人的优势,但它也给数据保护带来了新的安全挑战与威胁。由于云计算自身的一些优势:按需自助服务,普遍存在的网络接入,位置独立的资源库,扩展性,更快的产品研发,风险转移等,它被看作是IT企业下一代的架构。作为一项有深远意义的技术,云计算正在改变商业机构使用信息技术的特性。其中一个基本的方面是数据正在被集中或者外包到云中。从用户的角度来看,包括个人和企业,将数据按需灵活的存储到云中带来了吸引人的利益:减轻存储管理的负担,任意物理地址的数据接入,减少硬件、软件和个人维护的资本投入等。尽管如此,它也存在着巨大的安全挑战。由于云服务提供商是一个独立的个体,数据外包这种方式实际上是使用户放弃了对数据命运的最高控制权。因此,云中数据就要遭受风险:首先虽然云计算下的设施比个人计算设备更加强大和可靠,但它们仍然面临内部和外部的数据完整性威胁,大量觊觎云端数据的黑客们他们不停的挖掘着服务商Web应用上的漏洞,以期望打开缺口,获得有价值的数据;其次,具有数据优先访问权的并不是企业自己,而是云计算服务商。由于利益问题,云服务供应商对云用户的数据就可能存在不诚实行为,例如云服务供应商因为资金问题丢弃了很少被访问的数据,甚至隐藏数据丢失的事实以维护自己的声誉。总而言之,尽管数据外包到云从长远和大量存储方面上看,花费和复杂性计算相对经济,但它不能够保证数据的完整性和可用性,这一个问题如果不能得到正确的处理,将会极大的阻碍云架构的实施
Internet网络应用技术快速发展普及,加之Web2.0的发展导致网络用户和网络数据量高速增长,用户对数据的处理能力提出了更高的要求,云计算的特点迎合了这些需求。因此,在云计算的实际应用中,设计能够保证数据正确存储的健壮安全的方案尤为重要。对云存储这种海量数据存储,要时刻考虑到数据的保护,尤其是其在云服务器中的存在性和完整性。基于此,我们发明了本方法,涉及的主要技术理论为双线性映射。
双线性映射是目前构建密码体制的新工具,在密码学中引起和广泛的关注,并在数字签名中得到广泛的运用。本发明运用了双线性映射的性质,对变化后的消息进行签名,最后对签名进行验证。双线性映射的描述如下:
设G,G1分别是阶为p(p为素数)的乘法群,g为G的生成元,定义双线性映射为e:G×G→G1,并满足一下特性:
(1)双线性。如果u,v∈Zp,则满足e(gu,gv)=e(g,g)uv
(2)非退化性。e(g,g)≠1。
(3)可计算性。对于u∈Zp,存在一个有效算法计算e(g,gu)。
(三)发明内容
(1)发明目的
本发明的目的是提供一种云存储数据持有性验证方法,用户将数据存储在云服务器失去对数据控制权的情况下,它可使用户对其存储在云端的数据的完整性和持有性的进行验证。本发明具有验证次数不受限制,用户可随时验证,验证时采用随机抽取数据块,交互量小等优点。
(2)技术方案
为了达到上述目的,本发明运用了双线性映射性质实现了数据的持有性验证,其技术方案如下。
本发明涉及的云存储模型包括两个网络实体:将数据存储在云端的个人或企业机构,即用户,有专门的资源和计算能力的云服务器;以下将结合附图对所述的持有性验证的技术方案进行阐述,图1为本发明流程框图;图2为数据预处理示意图;图3为挑战-响应机制流 程图。
如图1,本发明的方法共包括7步,按照执行阶段其可分为数据预处理、挑战-响应和验证与报告操作三个阶段。
本发明一种云存储数据持有性验证方法,该方法的具体步骤如下:
阶段1:数据预处理:包括第(1)~(3)步,数据块F的拥有者执行数据分块操作,标签Ti的生成{(sk,F)→Ti}操作,然后将分块数据fi和其对应的标签Ti外包到云端进行存储和管理,用户需严格保证私钥的安全。
步骤1:文件分块{F→(f1,f2…fl)}:用户首先对原始文件F进行预处理,F被分成l个等大小的数据块{f1,f2,…,fl}。
步骤2:标签的计算{(sk,F)→Ti}:对于每一个数据块fi,用户根据系统参数和公私钥为其计算标签Ti
步骤3:数据的云端存储{(F,Ti)→S}:用户将标签(T1,T2,…,Tl)和数据块(f1,f2,…fl)一起存入云端的服务器中,用户则自己存储私钥。
阶段2:挑战-响应:包括第(4)~(5)步,用户生成挑战,指定其要检测的随机数据块,根据用户挑战,云服务器通过执行生成证据{(chal,Ti,F)→R}操作作出响应。
步骤4:用户发起挑战{chal}:当用户想要验证服务器是否正确持有数据的时,用户向其发出挑战:用户生成一个挑战chal,发送给服务器。
步骤5:服务器作出响应:生成证据{(chal,Ti,F)→R}:当服务器收到挑战chal时,服务器根据挑战计算一个证据R=(T,ρ)。之后,服务器将R返回给用户。
阶段3:验证与报告操作:包括第(6)~(7)步,最后用户根据服务器的响应,执行验证{(R,sk)→("success","failure")}操作,作出最后的数据检测结果判断。如果验证操作的输出结果为“success”则表明服务器正确持有用户数据,否则说明服务器出现了存储错误,用户作出“failure”报告。
步骤6:验证{(R,sk)→("success","failure")}:当用户收到服务器返回的R时,利用自己的私钥sk进行运算,对其服务器存储的数据状态进行判断,结果为“success”或者“failure”。
步骤7:报告{Report}:如果验证输出为“failure”,则用户向服务器发出错误警告。
其中,步骤2中所述的“对于每一个数据块fi,用户根据系统参数和公私钥为其计算标签Ti;”,是采用了基于双线性对的签名算法。
(3)优点及功效 
本发明一种云存储数据持有性验证方法,涉及数据分割,标签计算和数据验证。其优点和功效是:1)本地存储数据量小,用户只需存储私钥等几个安全参数;2)挑战-响应交互中数据通信量小,用户发出的挑战和服务器的响应的通信量固定的,与存储数据大小无关;3)用户可发起的持有性验证挑战次数不受限制;4)采用随机抽样计算校验块的方法,在减小服务器计算开销的同时,仍可保证检查的高置信度;5)采用双线性映射技术,减小了计算开销并有高的安全可靠性。
(四)附图说明
图1为本发明流程框图
图2为本发明数据预处理示意图
图3为本发明挑战-响应机制流程图
图中符号说明如下:
F为用户将要存储的文件,分成了l块,每一块为fi,对每一块进行标签的计算,得到的标签Ti,T表示所有标签。
(五)具体实施方式
本发明包括两个实体,用户和云端服务器。以下将结合附图对所述的数据持有效验证方法进行详细阐述,图1为本发明流程框图;图2为本发明数据块标签的计算图;图3为本发明数据持有性认证交互流程图。
主要的符号及算法解释:
(1)π=(p,G,GT,e,g)是系统参数,其中,p为大素数,为循环群G的阶;e:G×G→GT为非退化的双线性映射。G=<g>,g为G的生成元;
(2)x1,x2,…xl是为群G中的随机数,由带密钥的伪随机数发生器产生,用户只需要存储对应的密钥k1
(3)πk(·)是一个伪随机置换(pseudorandom permutation,PRP),即满足 k为密钥,用于确定每次随机抽取的数据块的位置;
(4)h(·)是一个哈希函数,满足{0,1}*→G,将数据映射到群G上。
技术方案可分为数据的预处理、挑战-响应、验证与报告三个阶段。见图1,本发明一种云存储数据持有性验证方法,该方法具体步骤如下:
1.数据预处理阶段
本阶段中,数据的分块和各数据块的标签的计算如图2所示。
步骤1:文件分块: 
(1)用户将要存储到云端服务器的数据文件F进行分块,每一块都可表示为伽罗华域中的元素GF(p),其中p为大素数。用数组表示即为:
F=(f1,f2,…,fl)
步骤2:标签的计算:
(1)用户生成系统参数π,h(·),π(·),并生成公私钥sk,pk和秘密参数xi:i→1,l,其中私钥sk=(r,r1,X),r,X∈G\{1};公钥pk=(Q,R,A),R=g-r,A=e(X,g);xi∈G为随机数,由带密钥k1的伪随机数发生器产生,用户保存k1
(2)用户计算出每个数据块fi的标签从而得到所有数据块的标签块为T=(T1,T2,…,Tl)。
步骤3:数据的云端存储:
用户将标签T和数据文件F一起存入云端服务器,用户则自己存储私钥。
2.挑战-响应阶段
本阶段中,用户和服务器的交互操作流程如图3所示。
步骤4:用户发起挑战:
当用户想要验证云端的服务器是否正确持有数据的时,用户向其发出挑战:用户生成一个挑战chal=(c,k,Qs),发送给服务器。其中,c∈Z1≤c≤l,k为伪随机置换函数πk(·)的 密钥,Qs=Qs,用户每次发起挑战时,选择不同的s∈Zp-1生成Qs
步骤5:服务器作出响应:
(1)云端存储用户数据服务器根据挑战chal,对于每一个1≤r≤c计算出再由ir计算: T &equiv; T f i 1 . . . . . . T f ic , &rho; = Q s ( f i 1 + f i 2 + &CenterDot; &CenterDot; &CenterDot; + f i c )
(2)服务器将计算的证据R=(T,ρ)返回给用户。
3.验证与报告阶段
步骤6:用户验证服务器返回的证据:
(1)用户收到云端服务器返回的证据R=(T,ρ)后,根据自己发出的挑战chal和s,执行如下计算ir=πk(r),其中r从1到l。
(2)用户验证e(T(i),Qs)e(ρ(i),R)=Acs,若相等则验证成功(success),说明该服务器正确持有用户的数据;否则,则说明该服务器数据存储出现了错误。
步骤7:报告:
当用户验证不通过时,输出“failure”结果,并向服务器发送错误警告,通知服务器数据发生了错误。

Claims (2)

1.一种云存储数据持有性验证方法,其特征在于:该方法的具体步骤如下:
阶段1:数据预处理:包括第1~3步,数据块F的拥有者执行数据分块操作,标签Ti的生成{(sk,F)→Ti}操作,然后将分块数据fi和其对应的标签Ti外包到云端进行存储和管理,用户需严格保证私钥的安全;
步骤1:文件分块{F→(f1,f2…fl)}:用户首先对原始文件F进行预处理,F被分成l个等大小的数据块{f1,f2,…,fl};
步骤2:标签的计算{(sk,F)→Ti}:对于每一个数据块fi,用户根据系统参数和公私钥为其计算标签Ti
步骤3:数据的云端存储{(F,Ti)→S}:用户将标签(T1,T2,…,Tl)和数据块(f1,f2,…fl)一起存入云端的服务器中,用户则自己存储私钥;
阶段2:挑战-响应:包括第4~5步,用户生成挑战,指定其要检测的随机数据块,根据用户挑战,云服务器通过执行生成证据{(chal,Ti,F)→R}操作作出响应;
步骤4:用户发起挑战{chal}:当用户想要验证服务器是否正确持有数据的时,用户向其发出挑战:用户生成一个挑战chal,发送给服务器;
步骤5:服务器作出响应:生成证据{(chal,Ti,F)→R}:当服务器收到挑战chal时,服务器根据挑战计算一个证据R=(T,ρ);之后,服务器将R返回给用户;其中T为挑战chal所选中的数据块的标签的乘积;
其中,ρ由公式计算得到,其中Qs=Qs,用户每次发起挑战时,选择不同的s∈Zp-1生成Qs,而其中g为P阶循环群G的生成元且 为各个数据块,数据块的编号1≤r≤c,其中c满足c∈Z且1≤c≤l,而为一个伪随机置换,其中k3为密钥,用于确定每次随机抽取的数据块的位置;
xi∈G为随机数,由带密钥k1的伪随机数发生器产生,用户保存k1
阶段3:验证与报告操作:包括第6~7步,最后用户根据服务器的响应,执行验证{(R,sk)→("success","failure")}操作,作出最后的数据检测结果判断;如果验证操作的输出结果为“success”则表明服务器正确持有用户数据,否则说明服务器出现了存储错误,用户作出“failure”报告;
步骤6:验证{(R,sk)→("success","failure")}:当用户收到服务器返回的R时,利用自己的私钥sk进行运算,对其服务器存储的数据状态进行判断,结果为“success”或者“failure”;
步骤7:报告{Report}:如果验证输出为“failure”,则用户向服务器作出警告通知。
2.根据权利要求1所述的一种云存储数据持有性验证方法,其特征在于:步骤2中所述的“对于每一个数据块fi,用户根据系统参数和公私钥为其计算标签Ti;”,是采用了基于双线性对的签名算法。
CN201210159377.2A 2012-05-21 2012-05-21 一种云存储数据持有性验证方法 Expired - Fee Related CN102647433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210159377.2A CN102647433B (zh) 2012-05-21 2012-05-21 一种云存储数据持有性验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210159377.2A CN102647433B (zh) 2012-05-21 2012-05-21 一种云存储数据持有性验证方法

Publications (2)

Publication Number Publication Date
CN102647433A CN102647433A (zh) 2012-08-22
CN102647433B true CN102647433B (zh) 2015-04-22

Family

ID=46660007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210159377.2A Expired - Fee Related CN102647433B (zh) 2012-05-21 2012-05-21 一种云存储数据持有性验证方法

Country Status (1)

Country Link
CN (1) CN102647433B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916851B (zh) * 2012-09-24 2016-03-23 浪潮(北京)电子信息产业有限公司 一种网络流量预测方法及装置
CN103002040B (zh) * 2012-12-14 2015-04-08 南京邮电大学 一种云计算用户数据检查的方法
CN103763315B (zh) * 2014-01-14 2016-12-07 北京航空航天大学 一种应用于移动设备云存储的可信数据存取控制方法
CN104504346B (zh) * 2014-12-17 2017-08-11 清华大学 远程数据完整性概率检验方法及系统
CN104618111A (zh) * 2015-01-16 2015-05-13 北京科技大学 一种基于随机动态的云应用数据完整性检测方法
CN104601605B (zh) * 2015-02-28 2018-01-02 北方工业大学 云存储中基于变色龙哈希函数的高效隐私保护审计方法
CN105491069B (zh) * 2016-01-14 2018-08-21 西安电子科技大学 云存储中基于抵抗主动攻击的完整性验证方法
CN106611135A (zh) * 2016-06-21 2017-05-03 四川用联信息技术有限公司 一种存储数据完整性验证及恢复方法
CN106899406B (zh) * 2016-12-15 2019-07-19 中国电子科技集团公司第三十研究所 一种云端数据存储完整性的证明方法
CN109063513B (zh) * 2018-06-20 2022-05-17 北京航空航天大学 一种基于Hadoop平台的动态数据完整性验证方法
CN109784094B (zh) * 2019-01-21 2023-05-30 桂林电子科技大学 一种支持预处理的批量外包数据完整性审计方法及系统
CN112311548A (zh) * 2020-03-25 2021-02-02 北京沃东天骏信息技术有限公司 数据持有性验证方法、系统、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛剑等.云计算环境下隐私保护方案.《清华大学学报(自然科学版)2011》.2011,第51卷(第10期), *

Also Published As

Publication number Publication date
CN102647433A (zh) 2012-08-22

Similar Documents

Publication Publication Date Title
CN102647433B (zh) 一种云存储数据持有性验证方法
CN102710757B (zh) 一种分布式云存储数据完整性保护方法
Nemec et al. The return of coppersmith's attack: Practical factorization of widely used rsa moduli
EP3563553B1 (en) Method for signing a new block in a decentralized blockchain consensus network
Ren et al. Mutual verifiable provable data auditing in public cloud storage
CN106254374B (zh) 一种具备去重功能的云数据公开审计方法
CN103268460B (zh) 一种云存储数据完整性验证方法
CN103414690B (zh) 一种可公开验证云端数据持有性校验方法
CN105227317B (zh) 一种支持认证器隐私的云数据完整性检测方法和系统
CN103605784A (zh) 一种多重云环境下数据完整性验证方法
US11184168B2 (en) Method for storing data on a storage entity
CN109889497A (zh) 一种去信任的数据完整性验证方法
CN105262843A (zh) 一种针对云存储环境的数据防泄漏保护方法
CN106790303B (zh) 云存储中借助第三方完成的数据完整性验证方法
Harn et al. Verifiable secret sharing based on the Chinese remainder theorem
CN104038349A (zh) 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN105721158A (zh) 云安全隐私性和完整性保护方法和系统
CN103986732A (zh) 抵御密钥泄露的云存储数据审计方法
CN108833117B (zh) 一种私钥存储和读取方法、装置及硬件设备
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN106209371B (zh) 应用于rsa算法生成密钥的外包方法
CN104270448A (zh) 可外包重构的电子医疗记录的秘密共享云存储方法
CN104184736B (zh) 一种实现安全云计算的方法和系统
CN109067709A (zh) 一种漏洞管理方法、装置、电子设备及存储介质
CN104009847A (zh) 一种基于格的大数据存储完整性验证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150422

CF01 Termination of patent right due to non-payment of annual fee