CN112054897B - 基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 - Google Patents
基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 Download PDFInfo
- Publication number
- CN112054897B CN112054897B CN202010812094.8A CN202010812094A CN112054897B CN 112054897 B CN112054897 B CN 112054897B CN 202010812094 A CN202010812094 A CN 202010812094A CN 112054897 B CN112054897 B CN 112054897B
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- storage node
- cloud
- node
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012946 outsourcing Methods 0.000 title claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004220 aggregation Methods 0.000 claims description 28
- 230000002776 aggregation Effects 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000005065 mining Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 238000013496 data integrity verification Methods 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004576 sand Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- 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/3236—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 cryptographic hash functions
-
- 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/3247—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 involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明利用了区块链的开放性、防篡改性等特点,并结合智能合约以及密码学的相关知识,提出了一种针对物联网场景的基于区块链的保护隐私的外包数据及其备份的完整性校验方法。与现有的数据外包和外包数据完整性校验过程相比,本发明解决了用户自行验证数据开销过大,或者外包依赖可信第三方问题;此外,本发明提出了新的贡献度量标准以及奖励分配机制,使得每一个参与者都能够得到相应的激励。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法。
背景技术
随着物联网技术的不断发展,以云为后台的物联网系统得到了广泛地应用。物联网设备所收集的大量数据往往上传云端进行统一地管理、运算。目前知名的云服务厂商纷纷推出针对于物联网应用的云端服务。多数提供物联网服务的企业受经费、技术等限制,青睐于将物联网设备收集到的海量数据外包给云服务器供应商(下称云)。尽管数据外包有着方便管理、转移等诸多优势,但是由于数据持有者(下称用户)脱离了对数据的直接控制,这可能会造成隐私泄露或者是数据损坏等安全问题。例如在2018年7月,由于腾讯云的技术故障,导致创业公司前沿数控的数据全部丢失,其他如阿里云,亚马逊AWS,微软Azure也曾出现过宕机或是硬件损坏等事故。以上示例表明,能够及时校验存储在云的数据及其副本的完整性和正确性是至关重要的。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
为了检验数据及其副本的正确性和完整性,现有的方法或是要求用户自己对外包的数据进行周期性地校验,或是外包给一个“半可信的”第三方机构来执行校验工作。然而上述方案却存在着如下的问题:(1)限于网络带宽的原因,让用户执行验证操作往往是耗费时间且昂贵的。(2)如果云和验证机构基于某种原因合谋,云即使没有正确的存储数据也能轻松通过验证。(3)云和第三方验证机构可能由于区域性断电等不可预测的意外或者遭遇DDoS等恶意攻击造成数据的损毁或是不能进行正确地检验。
由此可知,现有技术的方法存在安全性不高的技术问题。
发明内容
本发明提出基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法,用于解决或者至少部分解决现有技术的方法存在的安全性不高的技术问题
为了解决上述技术问题,本发明提供了基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法,包括:
S1:用户选择所需的安全级别,并根据预设参数和函数生成用户公私钥对、云公私钥对、原始数据唯一标识以及副本唯一标识,用户和云服务器协商确定云交易相关参数和存储节点交易相关参数;
S2:用户将原始数据划分多个相同大小的文件块,并利用签名算法和用户私钥为每一个文件块生成验证元,并基于验证元生成第一验证辅助信息,将文件块、第一验证辅助信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;用户将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点,用户将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点;
S3:云服务器通过对称加密算法对接收到的文件块进行加密后进行编码得到原始数据的副本,将副本划分多个相同大小的文件块,再将每一个文件块进一步划分为数据段,并利用签名算法和云私钥为每一个文件块生成验证元,并基于验证元生成第二验证辅助信息,将副本文件块和第二验证辅助信息发送给存储节点;
S4:云服务器利用当前区块链节点作为随机源产生挑战;基于原始数据文件块和第一验证辅助信息计算用于验证原始数据完整性的第一证明,并将第一证明传送给矿工节点,以通过矿工节点验证产生的第一证明,其中,原始数据为外包物联网数据;
S5:存储节点利用当前区块链节点作为随机源产生挑战;基于副本文件块以及第二验证辅助信息计算用于验证副本完整性的第二证明,并将第二证明传送给矿工节点;矿工节点验证产生的证明,其中,副本为外包物联网数据的备份。
在一种实施方式中,所述方法还包括:
当存储节点需要进行数据转移时,向矿工节点发送数据转移请求,当转移请求通过后,存储节点向其他存储节点转移数据;存储节点转移数据成功后矿工节点根据贡献率计算奖励,并将奖励发送给存储节点。
在一种实施方式中,当存储节点将所有副本转移给其他存储节点后,所述方法还包括:
存储节点向通知矿工节点申请退出;矿工节点验证并决定是否退回返还押金。
在一种实施方式中,S1具体包括:
S1.1:用户选取安全参数λ,并根据λ,生成一对用于签名的用户公私钥(spkU,sskU),随后随机选取元素xU∈Zp,αU∈G1,g*∈G1,以及G2的生成元g2,计算得到用于用户公钥pku=(spkU,αU,vU,e(αU,vU),g*)和用户私钥skU=(xU,sskU),其中,Zp表示一个域,G1,G2分别为模素数p下的乘法循环群,e表示一个双线性映射,e(αU,vU)表示将元素αU、vU进行双线性映射后得到的元素;
s1.3:用户基于域Zp生成原始数据唯一标识tag以及副本唯一标识tagrep,其中,tag∈Zp,tagrep∈Zp;
S1.4:用户和云服务器协商云交易相关参数和存储节点交易相关参数,其中,云交易相关参数包括IS,pS,rS,存储节点相关交易参数包括IF,pF,rF,其中,IS,IF表示云验证数据完整性的间隔、存储节点验证数据完整性的间隔,rS,rF表示云验证的延缓时间、存储节点验证的延缓时间,pS,pF表示每次验证数据完整性成功时用户交付云的金额、存储节点的金额。
在一种实施方式中,S2的具体包括:
S2.1:用户采用纠删码对原始数据进行冗余编码生成n个数据块d*={mi}i∈[1,n];
S2.4:根据签名信息和验证元计算第一辅助验证信息add,其中,add=({θi}i∈[1,n],w);
S2.5:将文件块、第一辅助验证信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;
S2.6:将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点;
S2.7:将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点。
在一种实施方式中,S3具体包括:
S3.1:云服务器选取安全的对称加密算法,随机产生对称加密密钥ek,并利用ek对原始数据文件块d*进行加密,将加密后的信息R′利用高冗余率的纠删码进行编码得到副本R;
S3.2:云服务器将副本R分成K个文件块,每一个文件块包含s个数据段,即R={mi,j}{1≤i≤K,1≤j≤s};对于每一个数据段,云服务器计算相应的验证元 其中W′i,j=tagrep||tag||i||j;tag表示原始数据唯一标识,tagrep表示副本唯一标识,αS∈G1,G1为模素数p下的乘法循环群,h1为安全哈希函数,用以将比特流映射到G1中的点;
S3.4:同时对于第i个存储节点Fi,云服务器计算存储签名摘要 并将(Ri,addi′,sigi)发送给该存储节点,其中,h3为安全哈希函数,用以将任意长度的比特流映射为长度固定的比特流,表示利用私钥sskS进行签名的签名算法。
在一种实施方式中,S4具体包括:
S4.1:云服务器将Btmp作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中,I为[0,n]的子集,vi∈Zp,Btmp表示存储节点保存备份数据结束时的区块链节点;
S4.3:云服务器生成三个随机Zp域元素rσ、rm、ρ,并计算 γ=h2(T)∈Zp、μ=rm+γμ′、∑=θ·(g*)ρ、ι=rσ+γρ,其中,T表示辅助验证值,在验证用于抵消为保护隐私而添加的随机数,γ表示辅助验证值T的散列值,rm,ρ表示随机值,用于保护数据聚合值、验证元聚合值的隐私性保护,μ和∑分别表示经过隐私保护后的数据聚合值和验证元聚合值,ι表示对ρ的随机混淆,随机性由随机元素rδ实现,ξ表示云最终提供的证明集合;
S4.5:根据S4.3的计算结果生成第一证明,向矿工节点发送第一证明ξ=(w,ι,μ,∑,T,Btmp)。
在一种实施方式中,S5具体包括:
S5.1:存储节点利用Btmp作为随机数种子,生成挑战{(j,vj)}j∈J,其中,j是[0,s)的子集,vj∈Zp,表示备份数据验证阶段的随机挑战值,Btmp表示存储节点保存备份数据结束时的区块链节点;
在一种实施方式中,存储节点贡献率的计算方法为:
定义服务器端请求副本次数NumAsk,存储节点成功回复的次数NumReply,贡献率cr;若NumAsk=0则cr=1,否则cr=NumReply/NumAsk。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
利用了区块链的开放性、防篡改性等特点,并结合智能合约以及密码学的相关知识,提出了一种针对物联网场景的基于区块链的保护隐私的外包数据及其备份的完整性校验方法。与现有的数据外包和外包数据完整性校验过程相比,本发明解决了用户自行验证数据开销过大,或者外包依赖可信第三方而导致的隐私数据泄露问题,提高了安全性。
进一步地,本发明提出了新的贡献度量标准以及奖励分配机制,使得每一个参与者都能够得到相应的激励。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于区块链的保护隐私的外包数据及其备份的完整性校验方法的整体架构图;
图2为本发明的检查周期图。
具体实施方式
本申请发明人通过大量的研究与实践发现,目前的文献或者技术没有考虑到一个“经济理性”的云的意愿,即云愿意保存用户的原始数据,并利用其进行数据分析工作;但是为了节省磁盘空间,云往往不愿意为原始数据保留副本。另一方面,很多拥有闲置硬盘空间的个人用户或者节点,愿意出售存储空间以换取一定的报酬。
本发明的主要构思如下:
一种基于区块链的保护隐私的外包数据及其备份的完整性校验方法。该方案系统模型由4类实体组成,分别是:
用户(U):即数据拥有者。用户将数据外包给云;并向矿工节点提交押金以及验证相关参数。
云(S):即云服务器。存储用户外包的数据;将加密处理后的数据副本派发给存储节点,以及将验证相关参数传递给矿工节点;并且周期性地向矿工节点发送用于验证存储数据完整性的证明。
矿工节点(M):保存分布式账本、执行智能合约的节点。记录交易和验证相关参数;验证云和存储节点生成的证明。
存储节点(F):保存用户备份数据的节点,例如小型私有服务器或者个人电脑。存储用户数据的副本,并周期性地向矿工节点发送用于验证副本完整性的证明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法,包括:
S1:用户选择所需的安全级别,并根据预设参数和函数生成用户公私钥对、云公私钥对、原始数据唯一标识以及副本唯一标识,用户和云服务器协商确定云交易相关参数和存储节点交易相关参数;
S2:用户将原始数据划分多个相同大小的文件块,并利用签名算法和用户私钥为每一个文件块生成验证元,并基于验证元生成第一验证辅助信息,将文件块、第一验证辅助信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;用户将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点,用户将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点;
S3:云服务器通过对称加密算法对接收到的文件块进行加密后进行编码得到原始数据的副本,将副本划分多个相同大小的文件块,再将每一个文件块进一步划分为数据段,并利用签名算法和云私钥为每一个文件块生成验证元,并基于验证元生成第二验证辅助信息,将副本文件块和第二验证辅助信息发送给存储节点;
S4:云服务器利用当前区块链节点作为随机源产生挑战;基于原始数据文件块和第一验证辅助信息计算用于验证原始数据完整性的第一证明,并将第一证明传送给矿工节点,以通过矿工节点验证产生的第一证明,其中,原始数据为外包物联网数据;
S5:存储节点利用当前区块链节点作为随机源产生挑战;基于副本文件块以及第二验证辅助信息计算用于验证副本完整性的第二证明,并将第二证明传送给矿工节点;矿工节点验证产生的证明,其中,副本为外包物联网数据的备份。
具体来说,S1~S5分别为初始化步骤、外包原始数据步骤、派发副本步骤、原始数据完整性验证步骤以及副本完整性验证步骤。
S1的初始化步骤是生成完整性校验的相关参数,S2中,用户通过对需要外包的物联网数据即原始数据进行编码和划分后,生成对应的辅助验证信息发送给云服务器。将副本唯一标识,存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点。
S3中,当符合要求的存储节点希望存储副本时,存储节点将押金发送给矿工节点。然后云服务器执行对原始数据文件块的相关操作。
在一种实施方式中,所述方法还包括:
当存储节点需要进行数据转移时,向矿工节点发送数据转移请求,当转移请求通过后,存储节点向其他存储节点转移数据;存储节点转移数据成功后矿工节点根据贡献率计算奖励,并将奖励发送给存储节点。
在一种实施方式中,当存储节点将所有副本转移给其他存储节点后,所述方法还包括:
存储节点向通知矿工节点申请退出;矿工节点验证并决定是否退回返还押金。
本实例提供一种基于区块链的保护隐私的外包数据及其备份的完整性校验方法,实验流程如图1所示,共包含4类实体:用户(U)、云服务器(S)、矿工节点(M)、存储节点(F);包含7个步骤。
本发明所提出的方案所用到的符号声明如下:
1.双线性映射e:G1×G2→GT,其中G1,G2,GT分别是模素数p下的乘法循环群。
2.安全哈希函数h1:{0,1}*→G1,函数将比特流映射到G1中的点。
3.安全哈希函数h2:GT→Zp,函数将GT中的点映射到域Zp中。
4.安全哈希函数h3:{0,1}*→{0,1}λ,函数将任意长度的比特流映射为长度固定的比特流。
5.νi,νj为Zp域上元素,表示在原始数据和备份数据审计阶段的随机挑战值。
6.μ′表示云计算证明过程中抽样原始数据的线性聚合值,θ表示抽样数据对应验证元聚合值,T表示辅助验证值,在验证用于抵消为保护隐私而添加的随机数,γ表示辅助验证值T的散列值,rm,ρ表示随机值,用于保护数据聚合值、验证元聚合值的隐私性保护。μ和∑分别表示经过隐私保护后的数据聚合值和验证元聚合值。ι表示对ρ的随机混淆,随机性由随机元素rδ实现,ξ表示云最终提供的证明集合。
8.Bnow表示最新的区块链节点,Bstart表示存储节点开始存备份数据的区块链节点,Bend表示存储节点保存备份数据结束时的区块链节点,Blast表示上一次云或者存储节点进行验证的区块链节点,Btmp表示选取的验证节点。
9.IS,IF表示云(S)或存储节点(F)验证数据完整性的间隔,rS,rF表示云(S)或存储节点(F)验证的延缓时间(可参考图2),pS,pF表示每次验证数据完整性成功时用户交付云(S)或存储节点(F)的金额。
10.DS表示用户预支的用于支付给云的押金,DF表示用户预支的用于支付给存储节点的押金,D表示存储节点在提供副本存储服前支付给矿工节点的押金。
11.tag表示原始数据唯一标识,tagrep表示副本唯一标识。
12.NumAsk表示云请求取回备份数据的总次数,NumReply表示存储节点响应的总次数。
13.L为区块链中去中心化的账单,由矿工节点M保存;L中存储的信息分别为字典L.Roster,L.Origin,L.Replica,其中L.Roster存储D、Bstart、Bend、services(services是记录存储节点存储的副本);L.Origin存储DS、Blast、pkU、IS、pS、rS且由tag索引;L.Replica存储DF、pkS、IF、pF、rF、ψ且由tagrep索引,其中ψ是由存储节点Fi的地址(Fi.Addr)索引的字典,存储参数为NumAsk,NumReply,D,sigi,Blast(sigi是副本文件块Ri的签名)。
14.针对数据结构字典Dict(即13中Roster,Origin,Replica,ψ),Dict(key)表示提取由key索引的值。针对被索引值是多个元素的集合,本发明使用具体元素别名来进行区分,如Dict(key).val1表示获取字典Dict中由key索引的元素集合中名为val1的元素。字典结构可多层嵌套。
在一种实施方式中,S1具体包括:
S1.1:用户选取安全参数λ,并根据λ,生成一对用于签名的用户公私钥(spkU,sskU),随后随机选取元素xU∈Zp,αU∈G1,g*∈G1,以及G2的生成元g2,计算得到用于用户公钥pku=(spkU,αU,vU,e(αU,vU),g*)和用户私钥skU=(xU,sskU),其中,Zp表示一个域,G1,G2分别为模素数p下的乘法循环群,e表示一个双线性映射,e(αU,vU)表示将元素αU、vU进行双线性映射后得到的元素;
S1.3:用户基于域Zp生成原始数据唯一标识tag以及副本唯一标识tagrep,其中,tag∈Zp,tagrep∈Zp;
S1.4:用户和云服务器协商云交易相关参数和存储节点交易相关参数,其中,云交易相关参数包括IS,pS,rS,存储节点相关交易参数包括IF,pF,rF,其中,IS,IF表示云验证数据完整性的间隔、存储节点验证数据完整性的间隔,rS,rF表示云验证的延缓时间、存储节点验证的延缓时间,pS,pF表示每次验证数据完整性成功时用户交付云的金额、存储节点的金额。
在一种实施方式中,S2的具体包括:
S2.1:用户采用纠删码对原始数据进行冗余编码生成n个数据块d*={mi}i∈[1,n];
S2.4:根据签名信息和验证元计算第一辅助验证信息add,其中,add=({θi}i∈[1,n],w);
S2.5:将文件块、第一辅助验证信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;
S2.6:将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点。
S2.7:将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点。
具体实施过程中,矿工节点收到用户发送的云相关参数后,初始化被tag索引的空条目L.Origin,将Blast设置为Bnow,之后将Blast、DS、pkU、IS、pS、rS存储于L.Origin(tag)。矿工节点接收到用户发送的存储节点相关参数后,初始化被tagrep索引的空条目L.Replica和空字典ψ;将DF、pkS、IF、pF、rF、ψ存储于L.Replica(tagrep)。当存储节点Fi愿意出售空闲的磁盘空间时,需要预先将押金D发送给矿工节点。存储节点将D存储于L.Replica(tagrep).ψ(Fi.Addr)中(其中Fi.Addr表示存储节点Fi的地址标识)。
在一种实施方式中,S3具体包括:
S3.1:云服务器选取安全的对称加密算法,随机产生对称加密密钥ek,并利用ek对原始数据文件块d*进行加密,将加密后的信息R′利用高冗余率的纠删码进行编码得到副本R;
S3.2:云服务器将副本R分成K个文件块,每一个文件块包含s个数据段,即R={mi,j}{1≤i≤K,1≤j≤s};对于每一个数据段,云服务器计算相应的验证元 其中W′i,j=tagrep||tag||i||j;tag表示原始数据唯一标识,tagrep表示副本唯一标识,αS∈G1,G1为模素数p下的乘法循环群,h1为安全哈希函数,用以将比特流映射到G1中的点;
S3.4:同时对于第i个存储节点Fi,云服务器计算存储签名摘要 并将(Ri,addi′,sigi)发送给该存储节点,其中,h3为安全哈希函数,用以将任意长度的比特流映射为长度固定的比特流,表示利用私钥sskS进行签名的签名算法。
具体来说,当有K个以上的存储节点支付押金给矿工节点之后,云开始生成备份数据,然后执行上述步骤S3.1~S3.3。
存储节点Fi接收到云发来的信息后,在本地存储副本Ri,并将sigi发送给矿工节点。
矿工节点接收到存储节点Fi发来的参数后将L.Replica(tagrep).ψ(Fi.Addr)存储的参数更新为(0,0,D,sigi,Bnow),并将tagrep加入到L.Roster(Fi.Addr).services中。其中,L.Replica(tagrep).ψ(Fi.Addr)表示通过索引方式得到的信息,首先在L.Replica字典中通过tagrep索引到相关信息后,由Fi.Addr索引到存储节点的地址,其他的数据结构类似。
在一种实施方式中,S4具体包括:
S4.1:云服务器将Btmp作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中,I为[0,n]的子集,vi∈Zp,Btmp表示存储节点保存备份数据结束时的区块链节点;
S4.3:云服务器生成三个随机Zp域元素rσ、rm、ρ,并计算 γ=h2(T)∈Zp、μ=rm+γμ′、∑=θ·(g*)ρ、ι=rσ+γρ,其中,T表示辅助验证值,在验证用于抵消为保护隐私而添加的随机数,γ表示辅助验证值T的散列值,rm,ρ表示随机值,用于保护数据聚合值、验证元聚合值的隐私性保护,μ和∑分别表示经过隐私保护后的数据聚合值和验证元聚合值。ι表示对ρ的随机混淆,随机性由随机元素rδ实现,ξ表示云最终提供的证明集合;
S4.5:根据S4.3的计算结果生成第一证明,向矿工节点发送第一证明ξ=(w,ι,μ,∑,T,Btmp)。
具体来说,云选取Btmp=Bnow,并根据数据d*和验证辅助信息add计算得到用于验证原始数据完整性的第一证明ξ,接着将第一证明ξ发送给矿工节点。
具体实施过程中,矿工节点接收到云服务器发送的一证明后,利用用户事先发送的公钥pkU验证第一证明的正确性。验证的具体过程如下:首先用spkU检验w中签名的正确性,如果不合法,则验证失败;否则从w0中回复原始数据唯一标识tag和原始数据块数n,并从L.Origin(tag)中获取Blast,IS,rS;矿工节点检验证明是否满足验证周期:Blast+IS=Btmp≤Bnow≤Blast+IS+rS,如果不满足,则本次验证失败;如果满足,则矿工节点计算γ=h2(T),并利用Btmp作为随机源计算产生和云相同的挑战{(i,vi)}i∈I;根据挑战和云发来的证明验证等式:若等式不成立,则验证失败;若验证成功,则矿工节点更新L.Origin(tag).Blast=Btmp,并从用户押金L.Origin(tag).DS中扣除L.Origin(tag).pS作为给云的报酬。
在一种实施方式中,S5具体包括:
S5.1:存储节点利用Btmp作为随机数种子,生成挑战{(j,vj)j∈J,其中,j是[0,s)的子集,vj∈Zp,表示备份数据验证阶段的随机挑战值,Btmp表示存储节点保存备份数据结束时的区块链节点;
具体来说,存储节点证明过程类似,以下选取存储节点Fi泛指存储节点。存储节点选取Btmp=Bnow;并根据存储在本地的副本文件块Ri和验证辅助信息add′i计算得到用于验证原始数据的完整性的第二证明ξ′i,接着将第二证明ξ′i发送给矿工节点。
具体实施过程中,矿工节点接受到存储节点Fi的第二证明后,利用公钥pkS验证存储节点证明的正确性,验证的具体过程如下:首先矿工节点利用spkS检验Ωi中签名的正确性,如果不合法,则验证失败;否则矿工节点从Ωi中恢复tagrep;矿工节点根据tagrep分别从L.Replica(tagrep).ψ(Fi.Addr)中获得Blast,从L.Replica(tagrep)中获得IF、rF;矿工节点首先验证存储节点的服务是否过期:Bnow≤L.Roster(Fi.Addr).Bend,并在前式成立下验证存储节点的证明是否满足验证周期:Blast+IF=Btmp≤Bnow≤Blast+IF+rF;若前式均满足,矿工节点继续利用Btmp作为随机源计算产生和存储节点相同的挑战{(j,vj)}j∈J,根据挑战和存储节点的证明验证等式:如果等式不成立,则验证失败;若验证成功,则矿工节点更新L.Replica(tagrep).ψ(Fi.Addr).Blast=Btmp;此外,矿工节点令p=L.Replica(tagrep).pF,并从L.Replica(tagrep).DF中扣除p,其中β·p作为奖励发送给存储节点(系数β∈[0,1]),剩下的金额(1-β)·p将存入L.Replica(tagrep).ψ(Fi.Addr).D。
每次进行副本完整性验证时总验证次数NumAsk增加1,如果存储节点响应,则存储节点响应次数NumReply增加1,若不响应,则NumReply不变。
在一种实施方式中,存储节点贡献率的计算方法为:
定义服务器端请求副本次数NumAsk,存储节点成功回复的次数NumReply,贡献率cr;若NumAsk=0则cr=1,否则cr=NumReply/NumAsk。
在进行副本转移时,存储节点间转移数据副本类似,此处用Fa泛指副本传出节点,Fb泛指副本传入节点。Fa选取随机种子r计算ind=h3(r),并将tagrep和ind发送给矿工节点。
矿工节点接收到存储节点Fa发送的参数后,分别从L.Replica(tagrep)获取IF、从L.Replica(tagrep).ψ(Fa.Addr)中获取Blast以及从L.Roster(Fa.Addr)中获取Bend;验证服务是否已经到期:Bend≤Bnow以及0≤Bend-Blast<IF,若等式不成立,则拒绝转移副本,若等式成立,则存储ind并在区块链中广播tagrep。
当新的存储节点Fb加入时,Fa将副本和随机种子r发送给Fb。Fb从L.Replica(tagrep).ψ(Fa.Addr)中获得sigi;利用sigi验证副本是否合法,如验证不合法,则服务取消;若验证为合法,则存储节点Fb将r、Fb.Addr、tagrep、D发送给矿工节点。
矿工节点接收到Fb发来的参数后,验证ind=h3(r),并分别从L.Roster(Fa.Addr).services中移除tagrep以及L.Replica(tagrep).ψ中移除Fa;随后矿工节点计算Fa的贡献率cr=NumReply/NumAsk,并根据Fa的贡献率cr返回剩下的奖励:cr×L.Replica(tagrep).ψ(Fa.Addr).D给Fa,剩下的则退还给用户;最后矿工节点在L.Replica(tagrep).ψ(Fb.Addr)中添加新的参数集合(0,0,D,sigi,Bnow)。
在进行存储节点注销时:
存储节点首先通过副本转移的步骤将其所保存的所有的副本转移给其他存储节点;随后存储节点向矿工节点申请注销。
矿工节点接收到存储节点的收到消息后,从L.Roster(Fa.Addr)中获得Bend;验证服务是否到期:Bend≤Bnow以及L.Roster(Fa.Addr).services为空;如果验证成功,则退还Fa的押金;否则注销失败。
本发明中所描述的具体实施的例子仅仅是对本发明的方法和步骤的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形(即采用类似的替代方式),但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。
Claims (4)
1.基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法,其特征在于,包括:
S1:用户选择所需的安全级别,并根据预设参数和函数生成用户公私钥对、云公私钥对、原始数据唯一标识以及副本唯一标识,用户和云服务器协商确定云交易相关参数和存储节点交易相关参数;
S2:用户将原始数据划分多个相同大小的文件块,并利用签名算法和用户私钥为每一个文件块生成验证元,并基于验证元生成第一验证辅助信息,将文件块、第一验证辅助信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;用户将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点,用户将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点;
S3:云服务器通过对称加密算法对接收到的文件块进行加密后进行编码得到原始数据的副本,将副本划分多个相同大小的文件块,再将每一个文件块进一步划分为数据段,并利用签名算法和云私钥为每一个文件块生成验证元,并基于验证元生成第二验证辅助信息,将副本文件块和第二验证辅助信息发送给存储节点;
S4:云服务器利用当前区块链节点作为随机源产生挑战;基于原始数据文件块和第一验证辅助信息计算用于验证原始数据完整性的第一证明,并将第一证明传送给矿工节点,以通过矿工节点验证产生的第一证明,其中,原始数据为外包物联网数据;
S5:存储节点利用当前区块链节点作为随机源产生挑战;基于副本文件块以及第二验证辅助信息计算用于验证副本完整性的第二证明,并将第二证明传送给矿工节点;矿工节点验证产生的证明,其中,副本为外包物联网数据的备份;
其中,S1具体包括:
S1.1:用户选取安全参数λ,并根据λ,生成一对用于签名的用户公私钥(spkU,sskU),随后随机选取元素xU∈Zp,αU∈G1,g*∈G1,以及G2的生成元g2,计算得到用于用户公钥pku=(spkU,αU,vU,e(αU,vU),g*)和用户私钥skU=(xU,sskU),其中,Zp表示一个域,G1,G2分别为模素数p下的乘法循环群,e表示一个双线性映射,e(αU,vU)表示将元素αU、vU进行双线性映射后得到的元素;
S1.3:用户基于域Zp生成原始数据唯一标识tag以及副本唯一标识tagrep,其中,tag∈Zp,tagrep∈Zp;
S1.4:用户和云服务器协商云交易相关参数和存储节点交易相关参数,其中,云交易相关参数包括IS,pS,rS,存储节点相关交易参数包括IF,pF,rF,其中,IS,IF表示云验证数据完整性的间隔、存储节点验证数据完整性的间隔,rS,rF表示云验证的延缓时间、存储节点验证的延缓时间,pS,pF表示每次验证数据完整性成功时用户交付云的金额、存储节点的金额;
步骤S2具体包括:
S2.1:用户采用纠删码对原始数据进行冗余编码生成n个数据块d*={mi}i∈[1,n];
S2.4:根据签名信息和验证元计算第一辅助验证信息add,其中,add=({θi}i∈[1,n],w);
S2.5:将文件块、第一辅助验证信息、云公私钥对、原始数据唯一标识、副本唯一标识发送给云服务器;
S2.6:将原始数据唯一标识、云交易相关参数和预支的用于支付给云服务器的押金发送给矿工节点;
S2.7:将副本唯一标识、存储节点交易相关参数和预支的用于支付给存储节点的押金发送给矿工节点;
S3具体包括:
S3.1:云服务器选取安全的对称加密算法,随机产生对称加密密钥ek,并利用ek对原始数据文件块d*进行加密,将加密后的信息R′利用高冗余率的纠删码进行编码得到副本R;
S3.2:云服务器将副本R分成K个文件块,每一个文件块包含s个数据段,即R={mi,j}{1≤i≤K,1≤j≤s};对于每一个数据段,云服务器计算相应的验证元其中W′i,j=tagrep||tag||i||j;tag表示原始数据唯一标识,tagrep表示副本唯一标识,αS∈G1,G1为模素数p下的乘法循环群,h1为安全哈希函数,用以将比特流映射到G1中的点;
S3.4:同时对于第i个存储节点Fi,云服务器计算存储签名摘要 并将(Ri,addi′,sigi)发送给该存储节点,其中,h3为安全哈希函数,用以将任意长度的比特流映射为长度固定的比特流,表示利用私钥sskS进行签名的签名算法;
S4具体包括:
S4.1:云服务器将Btmp作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中,I为[0,n]的子集,vi∈Zp,Btmp表示存储节点保存备份数据结束时的区块链节点;
S4.3:云服务器生成三个随机Zp域元素rσ、rm、ρ,并计算 γ=h2(T)∈Zp、μ=rm+γμ′、∑=θ·(g*)ρ、l=rσ+γρ,其中,T表示辅助验证值,在验证用于抵消为保护隐私而添加的随机数,γ表示辅助验证值T的散列值,rm,ρ表示随机值,用于保护数据聚合值、验证元聚合值的隐私性保护,μ和Σ分别表示经过隐私保护后的数据聚合值和验证元聚合值,ι表示对ρ的随机混淆,随机性由随机元素rδ实现,ξ表示云最终提供的证明集合;
S4.5:根据S4.3的计算结果生成第一证明,向矿工节点发送第一证明ξ=(w,ι,μ,∑,T,Btmp);
S5具体包括:
S5.1:存储节点利用Btmp作为随机数种子,生成挑战{(j,vj)}j∈J,其中,j是[0,s)的子集,vj∈Zp,表示备份数据验证阶段的随机挑战值,Btmp表示存储节点保存备份数据结束时的区块链节点;
2.如权利要求1所述的完整性校验方法,其特征在于,所述方法还包括:
当存储节点需要进行数据转移时,向矿工节点发送数据转移请求,当转移请求通过后,存储节点向其他存储节点转移数据;存储节点转移数据成功后矿工节点根据贡献率计算奖励,并将奖励发送给存储节点。
3.如权利要求1所述的完整性校验方法,其特征在于,当存储节点将所有副本转移给其他存储节点后,所述方法还包括:
存储节点向通知矿工节点申请退出;矿工节点验证并决定是否退回返还押金。
4.如权利要求2所述的完整性校验方法,其特征在于,存储节点贡献率的计算方法为:
定义服务器端请求副本次数NumAsk,存储节点成功回复的次数NumReply,贡献率cr;若NumAsk=0则cr=1,否则cr=NumReply/NumAsk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812094.8A CN112054897B (zh) | 2020-08-13 | 2020-08-13 | 基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812094.8A CN112054897B (zh) | 2020-08-13 | 2020-08-13 | 基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112054897A CN112054897A (zh) | 2020-12-08 |
CN112054897B true CN112054897B (zh) | 2021-08-03 |
Family
ID=73602432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010812094.8A Active CN112054897B (zh) | 2020-08-13 | 2020-08-13 | 基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112054897B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113285812A (zh) * | 2021-07-26 | 2021-08-20 | 西南石油大学 | 基于sgx和以太坊区块链的云存储自审计方法 |
CN113422688B (zh) * | 2021-08-19 | 2021-10-29 | 西南石油大学 | 一种云存储数据的快速审计方法 |
CN113568785B (zh) * | 2021-09-23 | 2021-12-31 | 四川大学 | 一种基于区块链的数据备份方法、装置、设备及存储介质 |
CN114362969B (zh) | 2022-03-17 | 2022-06-10 | 北京百度网讯科技有限公司 | 一种基于区块链的数据验证方法、装置、设备及存储介质 |
CN116909161B (zh) * | 2023-09-11 | 2023-12-12 | 南昌理工学院 | 基于可穿戴设备的智能家居控制方法、系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721158A (zh) * | 2016-01-20 | 2016-06-29 | 青岛一帆风顺软件有限公司 | 云安全隐私性和完整性保护方法和系统 |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
CN109768987A (zh) * | 2019-02-26 | 2019-05-17 | 重庆邮电大学 | 一种基于区块链的数据文件安全隐私存储和分享方法 |
CN109889497A (zh) * | 2019-01-15 | 2019-06-14 | 南京邮电大学 | 一种去信任的数据完整性验证方法 |
CN110691088A (zh) * | 2019-09-29 | 2020-01-14 | 广东电网有限责任公司 | 一种基于区块链的物联网设备认证方法 |
WO2020069735A1 (en) * | 2018-10-03 | 2020-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for secure and verifiable composite service execution and fault management on blockchain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227653A1 (en) * | 2008-11-29 | 2013-08-29 | Yu Yung Choi | System and method for streamlined registration of products over a communication network and for verification and management of information related thereto |
CN202068583U (zh) * | 2010-12-28 | 2011-12-07 | 中国移动通信集团广东有限公司 | 一种数码终端和物联网交易系统 |
US11130042B2 (en) * | 2016-02-02 | 2021-09-28 | Bao Tran | Smart device |
CN109003099A (zh) * | 2018-06-19 | 2018-12-14 | 西安邮电大学 | 区块链节点数据处理方法、设备和存储介质 |
US11159307B2 (en) * | 2018-08-08 | 2021-10-26 | International Business Machines Corporation | Ad-hoc trusted groups on a blockchain |
-
2020
- 2020-08-13 CN CN202010812094.8A patent/CN112054897B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721158A (zh) * | 2016-01-20 | 2016-06-29 | 青岛一帆风顺软件有限公司 | 云安全隐私性和完整性保护方法和系统 |
CN108924092A (zh) * | 2018-06-07 | 2018-11-30 | 北京航空航天大学 | 基于区块链的可公开仲裁分布式云存储方法及系统 |
WO2020069735A1 (en) * | 2018-10-03 | 2020-04-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for secure and verifiable composite service execution and fault management on blockchain |
CN109889497A (zh) * | 2019-01-15 | 2019-06-14 | 南京邮电大学 | 一种去信任的数据完整性验证方法 |
CN109768987A (zh) * | 2019-02-26 | 2019-05-17 | 重庆邮电大学 | 一种基于区块链的数据文件安全隐私存储和分享方法 |
CN110691088A (zh) * | 2019-09-29 | 2020-01-14 | 广东电网有限责任公司 | 一种基于区块链的物联网设备认证方法 |
Non-Patent Citations (4)
Title |
---|
Enhancing Traceability in Pharmaceutical Supply Chain using Internet of Things (IoT) and Blockchain;Krishna Mohan Botcha;《IEEE》;20190630;全文 * |
基于区块链的云数据完整性保护机制;刘广沛;《中国优秀硕士学位论文全文数据库.信息科技辑》;20190215(第2期);全文 * |
基于区块链的数据完整性审计和私密性保护研究;姜亚南;《中国优秀硕士学位论文全文数据库.电子期刊》;20200615(第6期);全文 * |
基于区块链的电力物联网接入认证技术研究;沈超;《电子技术应用》;20191106(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112054897A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112054897B (zh) | 基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法 | |
JP6908700B2 (ja) | 情報保護のためのシステム及び方法 | |
CN110741600A (zh) | 提供去中心化协议以找回加密资产的计算机实现的系统和方法 | |
CN102223374B (zh) | 一种基于电子证据在线保全的第三方认证保全系统及方法 | |
US10892888B2 (en) | System and method for information protection | |
US10938549B2 (en) | System and method for information protection | |
JP2020507222A (ja) | 情報保護のためのシステム及び方法 | |
CN108923932A (zh) | 一种去中心化协同验证模型及验证算法 | |
Nirmala et al. | Data confidentiality and integrity verification using user authenticator scheme in cloud | |
CN110750796B (zh) | 一种支持公开审计的加密数据去重方法 | |
CN110888933B (zh) | 信息提供方法、装置及系统和信息获取方法及装置 | |
CN109241754A (zh) | 一种基于区块链的云文件重复数据删除方法 | |
He et al. | Public integrity auditing for dynamic regenerating code based cloud storage | |
Xu et al. | A generic integrity verification algorithm of version files for cloud deduplication data storage | |
CN114362958B (zh) | 一种基于区块链的智能家居数据安全存储审计方法及系统 | |
CN107395355B (zh) | 一种基于隐式可信第三方的云存储数据完整性验证方法 | |
CN102833239B (zh) | 基于网络身份标识实现客户端账户信息嵌套保护的方法 | |
AU2019101581A4 (en) | System and method for information protection | |
Zhou et al. | Fair cloud auditing based on blockchain for resource-constrained IoT devices | |
CN116830181A (zh) | 服务提供系统 | |
Pei et al. | Ensuring replication-based data integrity and availability in multicloud storage | |
Abraham et al. | Proving possession and retrievability within a cloud environment: A comparative survey | |
Chen et al. | Regenerating-codes-based efficient remote data checking and repairing in cloud storage | |
CN108256048A (zh) | 支持用户文件数据恢复的第三方审计方法 | |
George et al. | Safest Secure and Consistent Data Services in the Storage of Cloud Computing |
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 |