[发明专利]基于区块链的保护隐私的外包物联网数据及其备份的完整性校验方法有效
申请号: | 202010812094.8 | 申请日: | 2020-08-13 |
公开(公告)号: | CN112054897B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王骞;李因立;陈典;胡胜山;沈超;李琦 | 申请(专利权)人: | 武汉大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 罗飞 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 保护 隐私 外包 联网 数据 及其 备份 完整性 校验 方法 | ||
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.2:用户根据λ生成一对用于签名的云公私钥(spkS,sskS),随机选取元素xS∈Zp,αS∈G1,计算得到用于云公钥pkS=(spkS,vS,g2,αS)和云私钥skS=(xS,sskS);
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.2:根据用户私钥skU对每一个文件块mi计算验证元θi,其中,Wi=tag||i,||表示字符串的串接,tag表示原始数据唯一标识;
S2.3:利用签名私钥sskU对标签tag进行签名:其中w0=tag||n,表示用私有密钥sskU进行签名;
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.3:对于副本的每一个文件块Ri,云服务器计算其签名得到该文件块的第二辅助验证信息
S3.4:同时对于第i个存储节点Fi,云服务器计算存储签名摘要并将(Ri,addi′,sigi)发送给该存储节点,其中,h3为安全哈希函数,用以将任意长度的比特流映射为长度固定的比特流,表示利用私钥sskS进行签名的签名算法;
S4具体包括:
S4.1:云服务器将Btmp作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中,I为[0,n]的子集,vi∈Zp,Btmp表示存储节点保存备份数据结束时的区块链节点;
S4.2:云服务器根据生成的挑战计算μ′=∑i∈Ivimi,其中,vi表示原始数据在验证阶段的随机挑战值,μ′表示云服务器计算第一证明过程中抽样原始数据的线性聚合值,θ表示抽样数据对应验证元聚合值;
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表示存储节点保存备份数据结束时的区块链节点;
S5.2:存储节点根据生成的挑战计算其中,表示第i个备份数据段在证明阶段经过抽样后的线性聚合值,表示被抽样数据对应的验证元聚合值,表示存储节点提供的针对第i个备份数据段的完整性最终证明集合;
S5.3:根据S5.2的计算结果生成第二证明,将第二证明发送给矿工节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010812094.8/1.html,转载请声明来源钻瓜专利网。