CN109391621B - 基于区块链的公共云存储数据完整性检验方法 - Google Patents
基于区块链的公共云存储数据完整性检验方法 Download PDFInfo
- Publication number
- CN109391621B CN109391621B CN201811245149.0A CN201811245149A CN109391621B CN 109391621 B CN109391621 B CN 109391621B CN 201811245149 A CN201811245149 A CN 201811245149A CN 109391621 B CN109391621 B CN 109391621B
- Authority
- CN
- China
- Prior art keywords
- tpa
- data
- user
- key
- cloud server
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于区块链的公共云存储数据完整性检验方法,基于以太坊区块链技术,其安全性依赖于以太坊区块链的安全性,与现有的云数据完整性检验方案相比本方案可以有效的抵御恶意TPA与懒惰的TPA:当TPA背离正确的协议内容时,不会威胁到本方案的安全性,不能成功的欺骗云用户;当TPA不在规定时间进行数据完整性检验时,用户会发现TPA的懒惰行为。
Description
技术领域
本发明是一个能够抵抗懒惰和恶意审计者的云存储数据完整性检验方法,它属于通信技术领域,解决了存储于云服务器上的数据完整性保证问题,因其利用了以太坊区块链技术,故解决了传统的数据完整性检验方法中存在的无法抵抗懒惰审计者和恶意审计者的问题,提供了更强的安全性保证。
背景技术
云存储服务为用户提供了一种简便、高效的数据管理方式,使用户可以将自己的海量数据存储于云服务器中,按需访问外包存储的数据。云存储服务使用户免于本地数据存储与维护的压力,并为用户提供了极为灵活便捷的数据存取方式。数据外包至云中存储是当前数据存储的重要手段和趋势。
和传统的数据存储方式相比,云存储服务具有巨大的优势。然而,外包存储的数据也面临着新的安全挑战。由于用户将自己的数据存储于云服务器后,数据便完全受控于服务器,这使存储于云上的数据的完整性面临着严重的安全威胁,主要表现在以下几个方面:
1.外部安全威胁。尽管云服务器利用了更加安全的存储技术并提供了更加可靠的存储设备,但是,在实际的云环境中,存在着众多恶意的敌手,他们出于各自的利益,试图篡改或毁坏存储于云服务器上的用户数据。
2.内部安全威胁。对云服务提供商自己而言,在经济利益的驱使下,他们很有可能不会将数据的真实状态回馈给用户。确切的说,如果存储于云服务器上的数据由于云服务提供商自己的过失而遭到破坏,为了逃避责任或维护声誉,云服务提供商很可能会隐瞒数据已经遭到破坏的事实。
为了解决上述问题,我们需要周期性的对存储于云上的数据进行完整性检验。近年来,公共检验技术成为了数据完整性检验的核心技术之一,并得到了广泛的应用。公共检验将检验外包存储的数据完整性工作委托给一个有能力的独立第三方(Third-partyAuditor,TPA)进行,在检验的过程中无需用户参与,因此公共检验技术在外包数据的完整性方面为用户提供了强有力的安全保证。
Ateniese等人对于公共检验技术进行了先行研究,他们提出了一种名为数据可回取证明技术(proofs of retrievability,POR)。利用该技术对云数据完整性的进行检验能够极大的减少了用户的计算开销与通信开销。后续Hovav Shacham与Brent Waters提出了一种简洁的POR技术,其中支持公共审计的方案则是利用一个BLS短签名来进行数据完整性检验的。在Hovav Shacham与Brent Waters的工作之上,诸多公共完整性审计方案都被提出,但是绝大多数公共完整性审计方案中,都假设TPA是一个完全可信的实体,相应地,当TPA有恶意行为时,这些方案都面临着严重的安全威胁。详细来说,TPA的恶意行为主要是它与云服务器合谋,来欺骗用户。第一种欺骗是TPA与云服务器合谋,在外包存储在云上的数据的完整性遭到破坏后,依然欺骗用户,隐瞒数据遭到破坏的事实;第二种欺骗是TPA与云服务器合谋,不在规定的时间检验外包存储的数据完整性,我们称这样的TPA为懒惰的TPA。这种恶意行为会从根本上破坏公共检验的功能性,使得用户不能在数据完整性遭到破坏后尽快得知。
发明内容
本发明所要解决的技术问题是,提供一种能够抵抗恶意和懒惰审计者的云存储数据完整性公共检验方法。
本发明为解决上述技术问题所采用的技术方案是,基于区块链的公共云存储数据完整性检验方法,包括步骤:
系统初始化阶段:系统生成必要的公共参数,并生成用户的签名密钥与对应的认证密钥。
用户处理数据阶段:用户将自己将要外包存储的文件分为n个数据块,然后对每一个数据块使用一个签名算法进行签名。最后将文件与对应的所有签名上传至云服务器。云服务器收到这些数据后,验证数据是否正确上传。
TPA审计云服务器阶段:为了检验外包存储于云服务器上的数据的完整性,TPA首先产生一个挑战信息,并将挑战信息发送给云服务器。云服务器收到挑战信息后,产生对应的证明信息,并将证明信息发回给TPA。TPA得到证明信息后,检验证明信息的合法性。如果检验失败,则拒绝;检验成功,则接受,并将收到的证明信息作为一个条目,存储于一个日志文件中。与此同时,TPA将该证明信息上传至以太坊区块链上。
用户审计TPA阶段:用户通过审计日志文件的合法性来检验TPA执行协议的正确性。用户产生一个日志文件中所有条目索引的子集,然后检验这些子集所对应的条目是否合法。如果检验通过,则接受;若失败,则用户认为其数据完整性已遭到破坏,并且云服务器与TPA至少有一方背离了正确的协议步骤。
本发明的有益效果是,基于以太坊区块链技术,其安全性依赖于以太坊区块链的安全性,与现有的云数据完整性检验方案相比本方案可以有效的抵御恶意TPA与懒惰的TPA:当TPA背离正确的协议内容时,不会威胁到本方案的安全性,不能成功的欺骗云用户;当TPA不在规定时间进行数据完整性检验时,用户会发现TPA的懒惰行为。
具体实施方式
本发明中应用到双线性映射,其说明如下:
一个双线性映射e:G×G→GT,其中G和GT为乘法循环群,它们的阶为素数p,生成元为g,e具有双线性性,可计算性与不可退化性。
(一)系统初始化阶段
2.从Zp中随机选取一个α作为私钥,并计算v=gα作为公钥,其中g为G的一个生成元。
3.选择一个伪随机函数f()和一个伪随机置换函数π()。
4.选择合适的哈希函数H:{0,1}*→G,h:{0,1}*→Zp,h1:{0,1}*→π.key,h2:{0,1}*→f.key,其中π.key为伪随机置换函数π()的密钥空间,f.key为伪随机函数f()的密钥空间。
(二)用户处理数据阶段
给定数据M,用户首先将其分为n个数据块,并将每个数据块进一步分为s个扇区,形式为M={mij}(i∈[1,n],j∈[1,s])。随后,选择一个随机元素name∈Zp来对该文件文件进行命名。然后,为每一个数据块mij(i∈[1,n],j∈[1,s])以如下方式产生一个签名:
1.从G中随机选择s个元素u1,…,us。
2.计算一个文件标签τ=h(name||n||s||g||u1,…,us)。
4.输出mi的签名σi,其中mi=mi1||mi2||…||mis。
(三)TPA审计云服务器阶段具体包括以下步骤:
1.在规定的审计时间t,TPA以如下方式产生一个挑战信息:
2.基于当前的时间t,在以太坊区块链中获取在离t时刻最近时间产生的连续12个数据块的哈希值Blt-11,Blt-10,…,Blt。
3.将(Blt-11,Blt-10,…,Blt,t,c)设置为挑战信息,其中c为要检验的数据块总量。
1.计算密钥k1=h1(Blt-11||Blt-10||…||Blt),密钥k2=h2(Blt-11||Blt-10||…||Blt)。
4.输出证明信息为{σ,μ1,…,μs}。
在收到证明信息后,TPA以如下方式检验数据完整性:
1.计算τ=h(name||n||s||g||u1,…,us)。
2.计算k1=h1(Blt-11||Blt-10||…||Blt),k2=h2(Blt-11||Blt-10||…||Blt)。
4.检验下面等式是否成立:
若不成立,则TPA将审计结果设为Reject。若成立,则将审计结果设为Accept,并执行接下来的步骤。
5.TPA创建一个如下形式的条目:{Blt,σ,μ1,…,μs}。然后,TPA将该条目存入一个如下表所示的日志文件中。
其中上标括号表示在此周期内审计任务的次序。于此同时,TPA在以太坊区块链上创建一笔交易,其中交易内容为TPA从自己的以太坊账户中转0以太币至用户的账户中,并且将交易中的“Data”字段设置为h(Blt-11||Blt-10||…||Blt||σ||μ1||…||μs)。为了简单起见,此处我们假设TPA产生的这笔交易记录在哈希值为Blt的区块的下一个区块中。
(四)用户审计TPA阶段具体包括以下步骤:
需要强调的是,上述步骤的第一步中,如果提取参数失败,则说明TPA没有在规定的时间检验数据的完整性,因此在所提方案中,若TPA不在规定时间内检验外包数据的完整性,则无法通过用户的检验。因此,所提方案能够抵抗懒惰审计者。
日志文件中的多个条目可以同时进行检验,方法与单个类似。
Claims (5)
1.基于区块链的公共云存储数据完整性检验方法,其特征在于,包括以下步骤:
系统初始化阶段:系统生成公共参数,生成各用户的签名密钥;
用户处理数据阶段:用户将要外包存储的文件分为n个数据块,然后对每一个数据块使用签名密钥进行签名,最后将文件与对应的所有签名上传至云服务器;云服务器收到文件与对应的所有签名后验证是否上传正确,正确则存储接收所述文件与对应的所有签名;
TPA审计云服务器阶段:TPA从以太坊区块链获取数值产生一个挑战信息,并将挑战信息发送给云服务器;云服务器根据收到的挑战信息以及存储的文件来产生证明信息,并将证明信息发回给TPA;TPA得到证明信息后,检验证明信息的完整性,如检验失败,则通知用户,数据完整性可能遭到破坏,并不再进行后续步骤;如检验成功,则将收到的证明信息作为一个条目,存储于日志文件中,同时TPA将数值与证明信息进行运算后的一个运算结果上传至以太坊区块链上;
用户审计TPA阶段:用户从以太坊区块链中请求数值并提取证明信息进行运算后的运算结果,如运算结果提取失败,则TPA没有在规定的时间检验数据的完整性;如运算结果提取成功,则对日志文件中存储的相应条目进行一致性审计,如一致,则对应文件的完整性检验通过;否则,认为对应文件的完整性已遭到破坏。
2.如权利要求1所述方法,其特征在于,系统初始化阶段具体步骤为:
2)从整数环Zp中选取一个随机数α作为私钥,并计算公钥v=gα;
4)选择哈希函数H、h、h1以及h2发送至云服务器以及TPA,H:{0,1}*→G,h:{0,1}*→Zp,h1:{0,1}*→π.key,h2:{0,1}*→f.key,其中,π.key为伪随机置换函数π()的密钥空间,f.key为伪随机函数f()的密钥空间,*表示任意长度;
3.如权利要求2所述方法,其特征在于,用户处理数据阶段具体步骤为:
1)从乘法循环群G中随机选择s个元素u1,…,us;
2)计算一个文件标签τ=h(name||n||s||g||u1,…,us),||表示字符串联;
其中,e为双线性数据集合运算符。
4.如权利要求3所述方法,其特征在于,TPA审计云服务器阶段具体步骤为:
1)TPA以如下方式产生一个挑战信息:
基于当前的时间t,在以太坊区块链中获取在离t时刻最近时间产生的连续12个数据块的哈希值Blt-11,Blt-10,…,Blt,将(Blt-11,Blt-10,…,Blt,t,c)设置为挑战信息,其中c为要检验的数据块总量;
2-1)计算伪随机置换函数的密钥k1=h1(Blt-11||Blt-10||…||Blt)以及伪随机函数的密钥k2=h2(Blt-11||Blt-10||…||Blt);
2-4)输出证明信息为{σ,μ1,…,μs};
3)在收到证明信息后,TPA以如下方式检验数据完整性:
3-1)计算文件标签τ=h(name||n||s||g||u1,…,us);
3-2)计算密钥k1=h1(Blt-11||Blt-10||…||Blt),以及密钥k2=h2(Blt-11||Blt-10||…||Blt);
3-4)检验下面等式是否成立:
若不成立,则TPA检验失败,则通知用户,数据完整性可能遭到破坏,并不再进行后续步骤;若成立,则检验成功,表示数据完整,进入步骤4);
4)TPA创建一个条目{Blt,σ,μ1,…,μs},并存入日志文件中:
其中,上标括号(l)表示在此周期内审计任务的次序,l∈[1,b],b为日志文件中条目总数;
其中k1 (l)=h1(Blt (l)),k2 (l)=h2(Blt (l)),ξ=1,2,…,c;
若成立,则一致性检验通过;否则,检验失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245149.0A CN109391621B (zh) | 2018-10-24 | 2018-10-24 | 基于区块链的公共云存储数据完整性检验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811245149.0A CN109391621B (zh) | 2018-10-24 | 2018-10-24 | 基于区块链的公共云存储数据完整性检验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391621A CN109391621A (zh) | 2019-02-26 |
CN109391621B true CN109391621B (zh) | 2021-07-06 |
Family
ID=65428079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811245149.0A Active CN109391621B (zh) | 2018-10-24 | 2018-10-24 | 基于区块链的公共云存储数据完整性检验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391621B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278076B (zh) * | 2019-05-29 | 2022-06-03 | 电子科技大学 | 一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法 |
CN110225012B (zh) * | 2019-05-30 | 2021-09-24 | 电子科技大学 | 一个基于联盟链的外包数据的拥有权检查和更新方法 |
CN113285812A (zh) * | 2021-07-26 | 2021-08-20 | 西南石油大学 | 基于sgx和以太坊区块链的云存储自审计方法 |
CN115052007A (zh) * | 2022-05-23 | 2022-09-13 | 重庆第二师范学院 | 一种云存储数据完整性可溯源公开验证方法、系统及终端 |
CN117749380A (zh) * | 2022-09-13 | 2024-03-22 | 中兴通讯股份有限公司 | 数据处理方法、计算机设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611749A (zh) * | 2012-01-12 | 2012-07-25 | 电子科技大学 | 一种云存储数据安全审计方法 |
CN103699851A (zh) * | 2013-11-22 | 2014-04-02 | 杭州师范大学 | 一种面向云存储的远程数据完整性验证方法 |
CN104023044A (zh) * | 2014-01-01 | 2014-09-03 | 电子科技大学 | 一种具有隐私保护的云存储数据轻量级公共审计的方法 |
CN104993937A (zh) * | 2015-07-07 | 2015-10-21 | 电子科技大学 | 一种用于云存储数据完整性的检验方法 |
CN107046465A (zh) * | 2017-04-28 | 2017-08-15 | 安徽大学 | 入侵容忍的云存储数据审计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10333908B2 (en) * | 2015-02-03 | 2019-06-25 | SecuritiNet Inc. | Transaction-based secure information delivery and assessment |
KR102514457B1 (ko) * | 2017-01-10 | 2023-03-29 | 한국전자통신연구원 | 블록체인을 이용한 공공 단체의 거래 정보 관리 방법 및 시스템 |
-
2018
- 2018-10-24 CN CN201811245149.0A patent/CN109391621B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611749A (zh) * | 2012-01-12 | 2012-07-25 | 电子科技大学 | 一种云存储数据安全审计方法 |
CN103699851A (zh) * | 2013-11-22 | 2014-04-02 | 杭州师范大学 | 一种面向云存储的远程数据完整性验证方法 |
CN104023044A (zh) * | 2014-01-01 | 2014-09-03 | 电子科技大学 | 一种具有隐私保护的云存储数据轻量级公共审计的方法 |
CN104993937A (zh) * | 2015-07-07 | 2015-10-21 | 电子科技大学 | 一种用于云存储数据完整性的检验方法 |
CN107046465A (zh) * | 2017-04-28 | 2017-08-15 | 安徽大学 | 入侵容忍的云存储数据审计方法 |
Non-Patent Citations (3)
Title |
---|
Cryptographic Public Verification of Data Integrity for Cloud Storage Systems;Yuan Zhang;《IEEE Cloud Computing》;20161111;第3卷(第5期);全文 * |
SCLPV: Secure Certificateless Public Verification for Cloud-Based Cyber-Physical-Social Systems Against Malicious Auditors;Yuan Zhang;《IEEE Transactions on Computational Social Systems》;20151231;第2卷(第4期);全文 * |
基于TPA云联盟的数据完整性验证模型;田俊峰;《通信学报》;20180831;第39卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109391621A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391621B (zh) | 基于区块链的公共云存储数据完整性检验方法 | |
RU2747947C2 (ru) | Системы и способы персональной идентификации и верификации | |
CN104993937B (zh) | 一种用于云存储数据完整性的检验方法 | |
US9961077B2 (en) | System and method for biometric authentication with device attestation | |
US10484426B2 (en) | Auto-generated synthetic identities for simulating population dynamics to detect fraudulent activity | |
CN109951296A (zh) | 一种基于短签名的远程数据完整性验证方法 | |
CN105227317B (zh) | 一种支持认证器隐私的云数据完整性检测方法和系统 | |
US20150256542A1 (en) | User authentication | |
CN101312453A (zh) | 用户终端、登录网络服务系统的方法和绑定/解绑定方法 | |
CN110677376A (zh) | 认证方法、相关设备和系统及计算机可读存储介质 | |
Cavoukian et al. | Advances in biometric encryption: Taking privacy by design from academic research to deployment | |
CN113472521A (zh) | 基于区块链的实名数字身份管理方法、签名设备和验证设备 | |
Sarier | Privacy preserving biometric identification on the bitcoin blockchain | |
CN113836554A (zh) | 基于区块链管理凭证信息的方法及电子设备、存储介质 | |
CN108540447A (zh) | 一种基于区块链的证书验证方法及系统 | |
CN110113168B (zh) | 一种信息认证方法、客户端、系统及计算机可读存储介质 | |
Xu et al. | Secure fuzzy identity-based public verification for cloud storage | |
CN113849797A (zh) | 数据安全漏洞的修复方法、装置、设备及存储介质 | |
CN111480316B (zh) | 生成和验证密码的方法和设备 | |
CN104751042A (zh) | 基于密码哈希与生物特征识别的可信性检测方法 | |
FR3033205A1 (fr) | Procede de transaction sans support physique d'un identifiant de securite et sans jeton, securise par decouplage structurel des identifiants personnels et de services. | |
CN114297672A (zh) | 一种防伪标签防伪验证方法、系统及存储介质 | |
CN113326527A (zh) | 一种基于区块链的可信数字签名系统及方法 | |
CN112637247A (zh) | 一种构建匿名式实名注册装置的方法及装置 | |
CN111539031A (zh) | 一种云存储标签隐私保护的数据完整性检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |