[发明专利]一种基于区块链的数据完整性审计方法和系统有效
申请号: | 201910531077.4 | 申请日: | 2019-06-19 |
公开(公告)号: | CN110263584B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 李春花;周可;胡家琦;张洲 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F16/27 |
代理公司: | 武汉臻诚专利代理事务所(普通合伙) 42233 | 代理人: | 宋业斌 |
地址: | 430074 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 数据 完整性 审计 方法 系统 | ||
1.一种基于区块链的数据完整性审计方法,其是应用在包括客户端、服务端、以及区块链平台的云环境中,其特征在于,所述数据完整性审计方法包括以下步骤:
(1)客户端向区块链平台发送审计请求;
(2)区块链平台在收到来自客户端的审计请求后产生p个不重复的随机数,使用所有p个随机数{s1,s2,…sp}作为索引号,分别获取存储在区块链平台的映射数组中对应位置的块号v,所有块号组成挑战数组chal={v1,v2,…vp},将挑战数组chal封装在审计挑战请求中,并将审计挑战请求发送到服务端,其中随机数集合中的每个随机数均小于映射数组的大小n;本步骤中的映射数组是通过以下步骤生成:
(2-1)客户端接收用户输入的随机数α,并调用封装了双线性运算功能的Java类库接口生成随机元素g;
(2-2)客户端根据随机数α和随机元素g并使用双线性运算算法生成用户公钥w;
(2-3)客户端生成新的随机数u,将待审计文件根据分块大小平均分成n个分块,其初始状态下的块号为1,2,3,…,n,根据双线性运算算法、并利用私钥α和随机数u对每个分块进行处理,以得到每个分块的标签,将所有分块及其标签上传到服务端,将随机元素g、随机数u、用户公钥w、分块的数量n上传到区块链平台;
(2-4)区块链平台根据接收到的分块的数量n产生大小为n的映射数组,并调用存储接口将映射数组、该映射数组中块号的最大值max、随机元素g、随机数u、用户公钥w保存在区块链平台中;
(3)服务端对来自区块链平台的审计挑战请求进行解析,从而得到挑战数组chal,对该挑战数组chal进行遍历,以得到其中每个元素j对应的分块mj和标签σj,根据双线性运算算法对元素j、分块mi、以及标签σi进行运算,以产生审计结果μ和β,并将审计结果μ和β、挑战数组chal、分块mi的哈希值h(mi)发送到区块链平台,其中j∈[v1,v2,…vp];
(4)区块链平台根据来自服务端的审计结果μ和β、挑战数组chal、哈希值h(mi)判断审计是否成功,并将审计的最终结果通知客户端。
2.根据权利要求1所述的数据完整性审计方法,其特征在于,审计请求中存储有待审计文件的文件ID。
3.根据权利要求1所述的数据完整性审计方法,其特征在于,步骤(2)中产生的随机数个数p的取值是取决于审计请求对应的数据块挑中损坏数据块的概率Px、数据块的总数f、以及损坏数据块的数量x。
4.根据权利要求1所述的数据完整性审计方法,其特征在于,第i个分块的标签其中i表示序号,且i∈[1,n],mi表示第i个分块,h(·)表示密码学hash函数,Cover(·)表示{0,1}*→G的一个映射函数,H(·)表示{0,1}*→Zr的映射函数,G表示阶数为p的乘法循环群。
5.根据权利要求1所述的数据完整性审计方法,其特征在于,
当区块链平台接收到来自于客户端的文件分块更新请求时,对其进行解析,从而获取更新操作的类型、更新操作的位置、以及更新操作的文件ID;
当更新操作是插入操作时,在映射数组中该更新操作的位置处插入块号max+1,并将max更新为max+1;
当更新操作是删除操作时,则删除映射数组中该更新操作的位置处的块号;
当更新操作是替换操作时,则将映射数组中该更新操作的位置处的块号替换为max+1,并将max更新为max+1。
6.根据权利要求1所述的数据完整性审计方法,其特征在于,步骤(3)中的审计结果是通过以下公式进行计算:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910531077.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置