一种基于区块链的数据完整性验证方法及系统技术方案

技术编号:37504493 阅读:22 留言:0更新日期:2023-05-07 09:40
本发明专利技术公开了一种基于区块链的数据完整性验证方法及系统,属于区块链领域;所述方法包括:将原始数据上链,验证数据的真实性与数据内容的完备性,确保原始数据不被篡改;将原始数据的哈希值经过处理后存入以太坊的智能合约中;将需要验证的用户数据作为目标数据,将目标数据进行与原始数据类似的哈希算法加密流程得到一个哈希值,将得到的哈希值与以太坊区块链数据的哈希值进行对比,利用哈希值特性验证该目标用户数据的完整性;本发明专利技术使用区块链存储用户原始数据,利用其不可篡改,去中心化的特性,可以有效避免数据完整性验证传统方法中不可信第三方带来的安全威胁。方法中不可信第三方带来的安全威胁。方法中不可信第三方带来的安全威胁。

【技术实现步骤摘要】
一种基于区块链的数据完整性验证方法及系统


[0001]本专利技术公开一种基于区块链的数据完整性验证方法及系统,涉及区块链


技术介绍

[0002]随着云计算服务的出现,云服务供应商为数据存储提供了新的思路和方法。越来越多的用户开始将数据保存到云存储当中,当用户采用云存储模式后,云存储的安全问题渐渐引人注目,用户将数据放入云存储后一般不会在本地保存副本,因此云存储的数据完整性关乎用户的切身利益。
[0003]区块链本身也是一种分布式数据库技术,它有不可篡改、去中心化的特性,利用区块链的安全特性可以保证云存储的数据完整性,有效避免不可信第三方或假冒、被篡改、过期数据带来的危害。
[0004]故现专利技术一种基于区块链的数据完整性验证方法及系统,以解决上述问题。

技术实现思路

[0005]本专利技术针对现有技术的问题,提供一种基于区块链的数据完整性验证方法及系统,所采用的技术方案为:一种基于区块链的数据完整性验证方法,所述方法包括:
[0006]将原始数据上链,验证数据的真实性与数据内容的完备性,确保原始数据不被篡改;将原始数据的哈希值经过处理后存入以太坊的智能合约中;
[0007]将需要验证的用户数据作为目标数据,将目标数据进行与原始数据类似的哈希算法加密流程得到一个哈希值,将得到的哈希值与以太坊区块链数据的哈希值进行对比,利用哈希值特性验证该目标用户数据的完整性。
[0008]所述原始数据在上链前进行预处理:
[0009]输入任意长度的原始数据通过哈希函数将其转换成固定长度的数据,作为原始数据的哈希值;
[0010]将原始数据的哈希值和原始数据的伴随信息I代替原始数据本身映射到以太坊智能合约中
[0011]所述原始数据的伴随信息I具体为存入的时间戳、存入用户和存储节点签名;
[0012]将原始数据的哈希值、存入的时间戳、存入用户和存储节点签名作为验证结构I经过哈希算法加密后上链。
[0013]所述存储节点签名即节点CA对哈希值进行签名,得到数字签名sign;
[0014]所述CA负责为公钥系统中的用户办理数字证书,绑定主题的身份以及与公钥的匹配关系。
[0015]所述目标数据在验证用户完整性服务前进行预处理:
[0016]将待验证的目标数据进行哈希加密生成哈希值,
[0017]使用用户的私钥对生成的哈希值进行签名,得到新数字签名nsign;
[0018]根据私钥导出相应的公钥。
[0019]所述将得到的哈希值与以太坊区块链数据的哈希值进行对比,具体包括:
[0020]用户新数字签名nsign根据公钥和私钥签名证书之间的关系,在以太坊区块链中查找用户原始数据组,得到原始数据的加密哈希值。
[0021]所述利用哈希值特性验证该目标用户数据的完整性,即通过比较原始数据的加密哈希值与目前用户数据的哈希值是否相同得到用户数据完整性结果。
[0022]一种基于区块链的数据完整性验证系统,所述系统包括原始数据上链模块和用户验证模块:
[0023]数据处理模块:将原始数据上链,验证数据的真实性与数据内容的完备性,确保原始数据不被篡改;将原始数据的哈希值经过处理后存入以太坊的智能合约中;
[0024]用户验证模块:将需要验证的用户数据作为目标数据,将目标数据进行与原始数据类似的哈希算法加密流程得到一个哈希值,将得到的哈希值与以太坊区块链数据的哈希值进行对比,利用哈希值特性验证该目标用户数据的完整性。
[0025]所述系统还包括上链预处理模块:原始数据在上链前进行预处理;
[0026]在所述系统中输入任意长度的原始数据通过哈希函数将其转换成固定长度的数据,作为原始数据的哈希值;
[0027]所述上链预处理模块将原始数据的哈希值和原始数据的伴随信息I代替原始数据本身映射到以太坊智能合约中。
[0028]本专利技术的有益效果为:
[0029](1)避免不可信第三方带来的影响
[0030]使用区块链存储用户原始数据,利用其不可篡改,去中心化的特性,可以有效避免数据完整性验证传统方法中不可信第三方带来的安全威胁。
[0031](2)数据完整性验证的可信
[0032]利用哈希算法的特点,即使两个数据源有细微的差别,通过哈希算法加密后得到的哈希值也会不同,同时利用以太坊CA非对称加密,可以保证用户原始数据的真实性和匹配性。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1是本专利技术实施例提供的一种基于区块链的数据完整性验证方法流程图。
具体实施方式
[0035]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。
[0036]实施例一:
[0037]一种基于区块链的数据完整性验证方法,如图1所示一种基于区块链的数据完整
性验证方法流程图,所述方法包括:
[0038]将原始数据上链,验证数据的真实性与数据内容的完备性,确保原始数据不被篡改;将原始数据的哈希值经过处理后存入以太坊的智能合约中;
[0039]将需要验证的用户数据作为目标数据,将目标数据进行与原始数据类似的哈希算法加密流程得到一个哈希值,将得到的哈希值与以太坊区块链数据的哈希值进行对比,利用哈希值特性验证该目标用户数据的完整性。
[0040]在本实施例中,验证数据的完整性,即验证数据的真实性与验证数据内容的完备性,将原始数据上链可以很好的利用区块链的先天优势,确保原始数据不被篡改。
[0041]由于直接将原始数据存入以太坊面临着难以承受的高额成本,所以本专利技术采用将元数据的哈希值经过处理后存入以太坊的智能合约中。
[0042]当用户需要验证用户数据的数据完整性时,需要将目标用户数据进行与原始数据类似的哈希算法加密的流程,得到一个哈希值,再去与以太坊区块链原始数据的哈希值进行对比,利用哈希值的特性来验证数据完整性。
[0043]实施例二:
[0044]在实施例一的基础上,进一步的,所述原始数据在上链前进行预处理:
[0045]输入任意长度的原始数据通过哈希函数将其转换成固定长度的数据,作为原始数据的哈希值;
[0046]将原始数据的哈希值和原始数据的伴随信息I代替原始数据本身映射到以太坊智能合约中
[0047]所述原始数据的伴随信息I具体为存入的时间戳、存入用户和存储节点签名;
[0048]将原始数据的哈希值、存入的时间戳、存入用户和存储节点签名作为验证结构I经过哈希算法加密后上链。
[0049]哈希函数(H(x本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据完整性验证方法,其特征是所述方法包括:将原始数据上链,验证数据的真实性与数据内容的完备性,确保原始数据不被篡改;将原始数据的哈希值经过处理后存入以太坊的智能合约中;将需要验证的用户数据作为目标数据,将目标数据进行与原始数据类似的哈希算法加密流程得到一个哈希值,将得到的哈希值与以太坊区块链数据的哈希值进行对比,利用哈希值特性验证该目标用户数据的完整性。2.根据权利要求1所述的方法,其特征是所述原始数据在上链前进行预处理:输入任意长度的原始数据通过哈希函数将其转换成固定长度的数据,作为原始数据的哈希值;将原始数据的哈希值和原始数据的伴随信息I代替原始数据本身映射到以太坊智能合约中。3.根据权利要求2所述的方法,其特征是所述原始数据的伴随信息I具体为存入的时间戳、存入用户和存储节点签名;将原始数据的哈希值、存入的时间戳、存入用户和存储节点签名作为验证结构I经过哈希算法加密后上链。4.根据权利要求3所述的方法,其特征是所述存储节点签名即节点CA对哈希值进行签名,得到数字签名sign;所述CA负责为公钥系统中的用户办理数字证书,绑定主题的身份以及与公钥的匹配关系。5.根据权利要求1所述的方法,其特征是所述目标数据在验证用户完整性服务前进行预处理:将待验证的目标数据进行哈希加密生成哈希值,使用用户的私钥对生成的哈希值进行签名,得到新数字签名n...

【专利技术属性】
技术研发人员:张兴民
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1