[发明专利]一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法有效
申请号: | 201910457102.9 | 申请日: | 2019-05-29 |
公开(公告)号: | CN110278076B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 许春香;李闪闪;白兰华;刘大为;温昕晟 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/06;H04L9/40;G06F21/64;G06F21/60 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 甘茂 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 透明 数据 完整性 审计 加密 方法 | ||
1.一种基于区块链的透明化数据完整性审计和透明化加密数据去重方法,所述方法包括三个主体:用户、n个密钥服务器与云服务器,具体包括:
初始化:系统初始化安全系数和参数,每个用户生成自身公钥和私钥,n个密钥服务器共享一个秘密值,密钥服务器相互交互,计算自身子秘密;
用户与n个密钥服务器交互,获取数据的加密密钥:用户选择随机数,并利用该随机数对上传数据的哈希值进行盲化,把盲化值发送给n个密钥服务器;每个密钥服务器收到盲化值后,用自身子秘密做签名,签名结果返回给用户;用户随机选择t个密钥服务器返回的合法签名后去盲化,并计算数据的加密密钥;
用户与云服务器通信,实现数据的双向拥有性检验:用户用加密密钥加密数据,并用哈希函数生成该数据的标签值;用户选取一个随机数,并且发送该随机数和数据的标签值给云服务器;云服务器通过检查数据的标签值是否已经存储,进而判断该数据是否已经存储于云服务器:若数据没有存储,云服务器要求用户上传数据密文;若数据已经存储,云服务器选取一个随机数,并把该随机数与用户选取的随机数以及数据密文使用哈希函数做运算,得到一个承诺,之后云服务器发送自己选取的随机数和承诺给用户;用户收到承诺后,验证该承诺是否为真,若为真,用户将自己选取的随机数和云服务器选择的随机数以及数据密文使用哈希函数做运算,得到一个新的承诺,并将新承诺发送给云服务器;云服务器验证该承诺是否为真,若为真,云服务器将用户添加到数据拥有者列表中;
透明化数据完整性审计和透明化数据去重:云服务器利用区块链中未生成区块的哈希值的不可预测性,生成随机种子,再利用该随机种子生成数据样本和随机挑战块;云服务器利用数据样本的用户信息构造Merkle hash树,并生成去重等级的证明信息;同时,云服务器生成随机挑战块的证明信息;云服务器在区块链公布生成的证明信息,每个用户进行验证并公布验证结果;具体过程为:
1)云服务器获取当前时间,并选取当前时间最近的周期ep;
2)云服务器计算种子:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3)
其中,{BT,BT-1,BT-2,BT-3,...,BT-11}是最新确认的12个块的哈希值,T是当前时间最新被验证的块的序列号;h1()表示哈希函数;
3)云服务器利用θ3作为种子在周期ep中选取数据样本密文C′,并且生成其中,φ为包括数据样本的证明信息的证明,C′ID为数据样本密文C′的文件标识,CC′ID为数据样本密文C′的用户列表,是Merkle hash树的根节点签名,具体构造如下:
3.1)云服务器根据数据样本拥有者列表构造Merkle hash树:
拥有相同样本数据的用户充当非零叶子结点,每一个用户计算作为叶子节点,其中,W(·)为哈希函数,IDu为用户身份,ep为周期;云服务器利用叶子节点构造树高为的Merkle hash树,其中,需要填充的叶子节点作为零节点,零节点表示为W(0);
3.2)云服务器计算Merkle hash树的树根rootC′,并对其进行签名其中Sig()为签名算法;
3.3)云服务器生成每个用户u的证明,云服务器计算叶子结点用户u到达根节点的兄弟路径apmC′;云服务器获取Merkle hash树的最右非零叶子节点hC′,并计算最右非零叶子节点hC′到达根节点的兄弟路径apcC′;
3.4)云服务器生成去重等级的证明φ=(apmC′,hC′,apcC′);
4)云服务器利用{θ1,θ2}种子,生成随机挑战块,并计算相应的证明;c为挑战块的块数;具体计算如下:
4.1)云服务器计算一系列的挑战块I={ki},1≤i≤c,其中,并计算πkey(·)表示基于key的伪随机置换函数,fkey(·)表示基于key的伪随机函数;
4.2)云服务器计算并计算之后云服务器生成数据完整性审计的证明({μ1,μ2,…,μq},δ);c′ij为样本密文C′={c′11…c′1q,c′21…c′2q,……,c′c1…c′cq}的第i块第j扇区;q表示扇区总数,{U1,U2,…,Uq}为随机数集合,K为数据M的MLE密钥,name为数据M的名字,H()为哈希函数;
5)云服务器公布数据样本和挑战块的证明于区块链:
6)数据样本的用户验证区块链上的证明,具体为:
6.1)透明化去重验证过程如下:
6.1.1)用户u首先获取到T、θ3,然后验证下述等式是否成立:
θ3=h1(BT||BT-1||BT-2||BT-3||...||BT-11||3),
若成立、进行6.1.2),否则、进行6.1.5);
6.1.2)用户验证基于θ3生成的数据样本密文C′与公布的是否一致,若是、进行6.1.3),否则、进行6.1.5);
6.1.3)用户u从区块链上获取并且根据CC′ID验证去重等级:
6.1.3.1)用户u获取并且验证兄弟路径,确保该用户的身份信息包含在数据样本拥有者列表CC′ID中;若验证成功、进行6.1.3.2),否则、进行6.1.5);
6.1.3.2)用户u获取(apmC′,hC′,apcC′),并且验证最右非零节点以及该最右非零节点的兄弟路径;若验证成功、进行6.1.4),否则、进行6.1.5);
6.1.4)用户u验证是否只有一个数据样本拥有者列表若是、用户记录云服务器所公布的信息正确,否则、进行6.1.5);
6.1.5)用户记录云服务器所公布的信息不正确;
6.2)透明化数据完整性审计过程如下:
6.2.1)用户u获取T、θ1、θ2、c,再验证下述等式是否成立:
θ1=h1(BT||BT-1||BT-2||BT-3||...||BT-11||1)
θ2=h1(BT||BT-1||BT-2||BT-3||...||BT-11||2)
若成立、进行6.2.2),否则、进行6.2.4);
6.2.2)用户u计算随机挑战块I={ki},1≤i≤c,其中,并计算
6.2.3)用户u从区块链上获取{({μ1,μ2,…,μq},δ),{U1,U2,…,Uq}},并且验证等式是否成立;若等式成立,则证明了外存数据的完整性;否则,进行6.2.4);e表示双线性映射,P表示加法群G的生成元;
6.2.4)用户公布外存数据完整性被破坏。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910457102.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置