数据存储方法、数据节点及存储介质技术

技术编号:21432946 阅读:29 留言:0更新日期:2019-06-22 12:08
本发明专利技术提供一种数据存储方法、数据节点及存储介质。所述数据存储方法包括:对原始数据进行Hash运算,得到数据Hash值;利用加密密钥对所述原始数据进行加密,得到加密数据;对所述加密数据进行分割,获得加密分块;对加密分块进行Hash运算,得到分块Hash值;将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,其中,所述分块Hash值用于区块链网络验证所述加密分块的完整性;所述加密密钥的密钥信息用于解密加密分块恢复出所述原始数据;所述加密密钥的密钥信息与所述数据Hash值共同用于验证所述原始数据的完整性。

【技术实现步骤摘要】
数据存储方法、数据节点及存储介质
本专利技术涉及信息
,尤其涉及一种数据存储方法、数据节点及存储介质。
技术介绍
在相关技术中,有很多数据均是集中存储在本地数据库,若本地数据库遭受到攻击,则数据很可能被盗窃或被篡改。这种数据的存储方法和管理方法,非常容易导致数据的泄露和被非法篡改;故而数据集中存储会有可靠性和安全性低的问题。
技术实现思路
本专利技术提供一种数据存储方法、数据节点及存储介质。一种数据存储方法,包括:对原始数据进行Hash运算,得到数据Hash值;利用加密密钥对所述原始数据进行加密,得到加密数据;对所述加密数据进行分割,获得加密分块;对加密分块进行Hash运算,得到分块Hash值;将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,其中,所述分块Hash值用于区块链网络验证所述加密分块的完整性;所述加密密钥的密钥信息用于解密加密分块恢复出所述原始数据;所述加密密钥的密钥信息与所述数据Hash值共同用于验证所述原始数据的完整性。基于上述方案,所述将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,包括:按照预设数据格式,将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值组合,一起发送给所述区块链网络。基于上述方案,所述利用加密密钥对所述原始数据进行加密,得到加密数据,包括:从加密算法库中选择加密算法,并确定所述加密密钥;所述将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,包括:将所述数据Hash值、所述加密密钥的密钥信息、所述加密算法的算法信息、所述加密分块及分块Hash值,一起发送所述区块链网络。基于上述方案,所述原始数据可为:存储在区块链上的目标数据的存证数据。一种数据存储方法,包括:接收数据Hash值、加密密钥的密钥信息、加密分块及分块Hash值;基于所述分块Hash值对所述加密分块进行分块完整性验证;基于所述加密密钥的密钥信息,解密所述加密分块得到解密分块;组合解密分块,获得解密数据;基于所述数据Hash值,对所述解密数据进行数据的整性验证;在所述分块完整性验证及数据完整性验证均通过后,将所述加密分块存储到区块链上。基于上述方案,所述方法还包括:接收加密算法的算法信息;所述基于所述加密密钥的密钥信息,解密所述加密分块得到解密分块,包括:根据所述算法信息,基于与所述加密算法对应的解密算法及所述加密密钥的密钥信息解密所述加密分块得到所述解密分块。一种数据存储装置,包括:第一Hash模块,用于对原始数据进行Hash运算,得到数据Hash值;加密模块,用于利用加密密钥对所述原始数据进行加密,得到加密数据;分割模块,用于对所述加密数据进行分割,获得加密分块;第二Hash模块,用于对加密分块进行Hash运算,得到分块Hash值;发送模块,用于将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,其中,所述分块Hash值用于区块链网络验证所述加密分块的完整性;所述加密密钥的密钥信息,用于解密加密分块恢复出所述原始数据;所述加密密钥的密钥信息与所述数据Hash值共同用于验证所述原始数据的完整性。一种数据存储装置,包括:解密模块,用于基于所述加密密钥的密钥信息,解密所述加密分块得到解密分块;组合模块,用于组合解密分块,获得解密数据;第二验证模块,用于基于所述数据Hash值,对所述解密数据进行数据的整性验证;区块链模块,用于在所述分块完整性验证及数据完整性验证均通过后,将所述加密分块存储到区块链上。一种数据节点,包括:网络接口;存储器;处理器,分别与所述网络接口及所述存储器连接,用于通过计算机程序的执行,控制所述网络接口的通信及所述存储器的信息存储,并实现一个或多个技术方案提供的数据存储方法。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;所述计算机程序被处理器执行后,能够实现前述一个或多个技术方案提供的数据存储方法。本专利技术提供的技术方案,首先会对原始数据进行Hash运算,会得到整个原始数据的Hash值(即数据Hash),可以用于对原始数据进行完整性验证。同时利用数据分割技术,将加密后的加密数据分割至少两个加密分块,并对每一个加密分块进行Hash运算得到分块Hash值,分块Hash值可以用于加密分块的完整性验证。如此,不管原始数据和/或加密分块被篡改,都能够通过完整性验证发现,确保存储到区块链上的数据自身的可信度;与此同时,结合数据分割技术,将原始数据分割成加密分块存储到区块链上,利用区块链的分布式存储,相对于数据存储本地,提升了数据存储的可靠性和安全性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术实施例提供的一种数据存储方法的流程示意图;图2为本专利技术实施例提供的另一种数据存储方法的流程示意图;图3为本专利技术实施例提供的一种数据存储装置的结构示意图;图4为本专利技术实施例提供的另一种数据存储装置的结构示意图图5为本专利技术实施例提供的再一种数据存储方法的流程示意图;图6位本专利技术实施例提供的另一种数据存储装置的结构示意图。具体实施方式下面结合附图对本专利技术作进一步详细描述。本专利技术实施例提供一种可以实现本专利技术实施例提供的数据存储方法的数据节点。该数据节点可包括一个或多个处理器(例如中央处理器(CentralProcessingUnit,CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccessMemory,RAM)和/或非易失性内存等形式,如只读存储器(Read-OnlyMemory,ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PhaseChangeRAM,PRAM)、静态随机存取存储器(StaticRandomAccessMemory,SRAM)、动态随机存取存储器(DynamicRandomAccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CompactDiscRead-OnlyMemory,CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。如图1所示,本实施例提供一种数据存储方法,包括:步骤S101:对原始数据进行Hash运算,得到数据Hash值;步骤S102:利用加密密钥对所述原始数本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:对原始数据进行Hash运算,得到数据Hash值;利用加密密钥对所述原始数据进行加密,得到加密数据;对所述加密数据进行分割,获得加密分块;对加密分块进行Hash运算,得到分块Hash值;将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,其中,所述分块Hash值用于区块链网络验证所述加密分块的完整性;所述加密密钥的密钥信息用于解密加密分块恢复出所述原始数据;所述加密密钥的密钥信息与所述数据Hash值共同用于验证所述原始数据的完整性。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:对原始数据进行Hash运算,得到数据Hash值;利用加密密钥对所述原始数据进行加密,得到加密数据;对所述加密数据进行分割,获得加密分块;对加密分块进行Hash运算,得到分块Hash值;将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,其中,所述分块Hash值用于区块链网络验证所述加密分块的完整性;所述加密密钥的密钥信息用于解密加密分块恢复出所述原始数据;所述加密密钥的密钥信息与所述数据Hash值共同用于验证所述原始数据的完整性。2.根据权利要求1所述的方法,其特征在于,所述将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,包括:按照预设数据格式,将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值组合,一起发送给所述区块链网络。3.根据权利要求1所述的方法,其特征在于,所述利用加密密钥对所述原始数据进行加密,得到加密数据,包括:从加密算法库中选择加密算法,并确定所述加密密钥;所述将所述数据Hash值、所述加密密钥的密钥信息、所述加密分块及所述分块Hash值发送给区块链网络,包括:将所述数据Hash值、所述加密密钥的密钥信息,、所述加密算法的算法信息、所述加密分块及分块Hash值,一起发送所述区块链网络。4.根据权利要求1至3任一项所述的方法,其特征在于,所述原始数据可为:存储在区块链上的目标数据的存证数据。5.一种数据存储方法,其特征在于,包括:接收数据Hash值、加密密钥的密钥信息、加密分块及分块Hash值;基于所述分块Hash值对所述加密分块进行分块完整性验证;基于所述加密密钥的密钥信息,解密所述加密分块得到解密分块;组合解密分块,获得解密数据;基于所述数据Hash值,对所述解密数据进行数据的整性验证;在所述分块完整性验证及数据完整性验证均通过后,将所述加密分块存储到区块链上。6....

【专利技术属性】
技术研发人员:何彬张磊杨逸尘蒋华超
申请(专利权)人:上海泉坤信息科技有限公司上海百事通法务信息技术有限公司
类型:发明
国别省市:上海,31

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

1