一种基于区块链的数据存储加密方法技术

技术编号:29703714 阅读:13 留言:0更新日期:2021-08-17 14:32
本发明专利技术提出一种基于区块链的数据存储加密方法,利用区块链的节点作为加解密监听节点,将数据分割成多份,再将多份数据分别存放到区块链的其它节点上,进行单独加密,本发明专利技术对数据进行节点加密多节点存储,要破解数据就要破解所有节点的秘钥,使不法分子算力破解所需时间超过预期,增加解密难度,有效震慑不法分子,此外由于区块链链上内容不可更改,就算破解数据也无法篡改数据,直接劝退一些有目的性篡改数据的不法分子,本发明专利技术安全性高,对不法分子的震慑性强。

【技术实现步骤摘要】
一种基于区块链的数据存储加密方法
本专利技术涉及数据存储加密
,尤其是一种基于区块链的数据存储加密方法。
技术介绍
随着互联网技术的不断发展,互联网已经成为人们生活、工作和娱乐的重要组成部分。人们通过互联网,可以浏览各种各样的信息,并且可以进行支付、收发文件、即时通信等活动。随着人们对互联网越来越依赖,互联网中的信息安全也显得尤为重要。当前,互联网中产生的部分数据流量中,可能会携带固定特征,该固定特征例如可以表现为长度固定的一个字符串。这样,不法分子通过截获数据流量,然后对其中的固定特征进行分析,从而可以确定当前的数据流量是采用哪种协议进行传输的。进一步地,不法分子会根据确定出的协议,对该数据流量有针对性地进行盗取或者篡改,这样会危及用户的信息安全。参考中国专利授权公开号为CN103888424B的一种集群式数据加密系统中的数据加密请求分配方法和装置,主要包括:在数据服务器接收到数据加密请求后,根据数据服务器中存储的数据加密设备信息列表获取最近一次被分配的数据加密设备;根据最近一次被分配的数据加密设备的位置信息和设定的分配规则,将数据加密请求分配给数据加密设备信息列表中的状态为空闲的某个数据加密设备。设有数据加密设备,数据加密设备为物理载体,也有具体数量,不法分子通过花费一定时间还是能轻易攻破,不能给予震慑,因此,目前亟需一种能够提高数据流量安全性的方法。
技术实现思路
本专利技术解决了现有集群式数据加密系统还是能够被攻破,安全性差、震慑效果差的问题,提出一种基于区块链的数据存储加密方法,利用区块链进行多节点加解密,安全性高。为实现上述目的,提出以下技术方案:一种基于区块链的数据存储加密方法,包括以下步骤:加密:步骤A)设立加解密监听节点,加解密监听节点收到请求者发来的待加密数据Dk后,将待加密数据Dk分割为若干个数据块dki,i∈[1,n],n为数据块数量,将数据块dki加密为数据块d′ki,加密秘钥记为keyk0;步骤B)在区块链上发布智能合约,所述智能合约记录有数据标识k、公开数Bk、参与奖励、参与节点标识列表、节点秘钥生成数列表、数据块d′ki存放地址和预设的加密后存放地址;步骤C)区块链节点Pj,j∈[1,n]将自己的标识写入智能合约中的参与节点标识列表,直到参与节点标识列表被填满;步骤D)区块链节点Pj生成节点秘钥生成数Cki,根据公开数Bk和节点秘钥生成数Cki生成加密秘钥keyki;步骤E)区块链节点Pj从数据块d′ki存放地址读取数据块d′ki,使用加密秘钥keyki加密数据块d′ki,得到加密后的数据块d″ki,将数据块d″ki存入对应的加密后存放地址,将节点秘钥生成数Cki写入智能合约节点秘钥生成数列表相应位置,区块链节点Pj保存加密秘钥keyki;步骤F)当全部数据块d″ki都被写入预设的加密后存放地址时,请求者通过区块链节点从智能合约上将加密秘钥keyk0、参与节点标识列表和节点秘钥生成数列表下载到本地,并从预设的加密后存放地址读取加密后的数据块d″ki,数据块d″ki拼接成加密数据D′k,请求者将加密秘钥keyk0、参与节点标识列表和节点秘钥生成数列表与加密数据D′k关联后存储;解密:步骤G)请求者将加密秘钥keyk0、参与节点标识列表和加密数据D′k发送给加解密监听节点,加解密监听节点将加密数据D′k拆解成数据块d″ki,i∈[1,n],加解密监听节点根据参与节点标识列表,将数据块d″ki,i∈[1,n]发送给对应的区块链节点Pj,区块链节点Pj使用存储在本地的加密秘钥keyki解密数据块d″ki获得数据块d′ki,加解密监听节点将全部数据块d′ki解密后拼接获得数据Dk,加解密监听节点将数据Dk发送给请求者。区块链是一种去中心化的分布式存储数据库,其具有去中心化存储、分布式共识、链上内容不可更改等特点。本专利技术利用区块链的节点作为加解密监听节点,将数据分割成多份,再将多份数据分别存放到区块链的其它节点上,进行单独加密,本专利技术这样设置的目的是对数据进行节点加密多节点存储,要破解数据就要破解所有节点的秘钥,使不法分子算力破解所需时间超过预期,增加解密难度,有效震慑不法分子,此外由于区块链链上内容不可更改,就算破解数据也无法篡改数据,直接劝退一些有目的性篡改数据的不法分子,本专利技术安全性高,对不法分子的震慑性强。作为优选,还包括验证步骤:在步骤E)中,区块链节点Pj提取数据块d′ki和数据块d″ki的数字指纹并上链存储,在步骤G)中,区块链节点Pj收到数据块d″ki,i∈[1,n]后,验证其数字指纹,若验证通过则进行解密,并将解密获得的数据块d″ki验证数字指纹后发送给加解密监听节点,若验证不通过,则发送错误信息至加解密监听节点。数据流通时是多个数据块d′ki和数据块d″ki一起流通的,不同数据块d′ki和数据块d″ki的数字指纹不同,不同区块链节点Pj对应不同数字指纹用于加解密,本专利技术这样设置的目的是在加解密前先验证数据块d′ki和数据块d″ki是否与区块链节点Pj对应,有效避免区块链节点Pj误加解密其他节点的数据块d′ki和数据块d″ki,提高加解密效率。作为优选,步骤D)中,区块链节点Pj生成的节点秘钥生成数Cki是随机数,根据公开数Bk和节点秘钥生成数Cki生成加密秘钥keyki,即存在函数关系keyki=H(Bk,Cki),所述的函数关系H由函数关系库HN中随机选取而来,所述函数关系库HN由智能合约提供,所述函数关系库HN中包括至少两个函数关系H,所述函数关系库HN对请求者保密。作为优选,还包括破解步骤:步骤H)当某个区块链节点Pj意外脱离区块链时,在需要解密数据块d″ki时离线,则加解密监听节点读取对应的公开数Bk和节点秘钥生成数Cki,从函数关系库HN依次选取函数关系H,用获得的秘钥解密数据块d″ki,而后再使用加密秘钥keyk0,发送给申请者判断是否得到正确的明文,若得到则解密成功,若未得到明文则使用下一个函数关系H尝试。本专利技术这样设置的目的是在区块链节点Pj意外脱离区块链时也能对需要解密的数据进行解密,提高数据解密的鲁棒性。作为优选,所述节点秘钥生成数Cki和加密秘钥keyki的长度固定。本专利技术这样设置的目的是使得从加密秘钥keyki的结果上看不出所选用的函数关系H。作为优选,步骤A)中,加解密监听节点收到请求者发来的待加密数据Dk后,将待加密数据Dk的数字指纹上链存储,将待加密数据Dk分割为若干个数据块dki,i∈[1,n],将数据块dki加密为数据块d′ki,提取数据块d′ki的数字指纹上链存储。作为优选,步骤B)中,所述加解密监听节点不定期更新公开数Bk,并维护公开数Bk的历史记录。本专利技术这样设置的目的是以增加破解的难度,使得对于任一个区块链节点而言,使不法分子算力破解所需时间超过预期。作为优选,所述公开数Bk的历史记录包含粗略时间戳,粗略时间戳的时间范围内,对应多个公开数Bk。本本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据存储加密方法,其特征在于,包括以下步骤:/n加密:/n步骤A)设立加解密监听节点,加解密监听节点收到请求者发来的待加密数据D

【技术特征摘要】
1.一种基于区块链的数据存储加密方法,其特征在于,包括以下步骤:
加密:
步骤A)设立加解密监听节点,加解密监听节点收到请求者发来的待加密数据Dk后,将待加密数据Dk分割为若干个数据块dki,i∈[1,n],n为数据块数量,将数据块dki加密为数据块d′ki,加密秘钥记为keyk0;
步骤B)在区块链上发布智能合约,所述智能合约记录有数据标识k、公开数Bk、参与奖励、参与节点标识列表、节点秘钥生成数列表、数据块d′ki存放地址和预设的加密后存放地址;
步骤C)区块链节点Pj,j∈[1,n]将自己的标识写入智能合约中的参与节点标识列表,直到参与节点标识列表被填满;
步骤D)区块链节点Pj生成节点秘钥生成数Cki,根据公开数Bk和节点秘钥生成数Cki生成加密秘钥keyki;
步骤E)区块链节点Pj从数据块d′ki存放地址读取数据块d′ki,使用加密秘钥keyki加密数据块d′ki,得到加密后的数据块d″ki,将数据块d″ki存入对应的加密后存放地址,将节点秘钥生成数Cki写入智能合约节点秘钥生成数列表相应位置,区块链节点Pj保存加密秘钥keyki;
步骤F)当全部数据块d″ki都被写入预设的加密后存放地址时,请求者通过区块链节点从智能合约上将加密秘钥keyk0、参与节点标识列表和节点秘钥生成数列表下载到本地,并从预设的加密后存放地址读取加密后的数据块d″ki,数据块d″ki拼接成加密数据D′k,请求者将加密秘钥keyk0、参与节点标识列表和节点秘钥生成数列表与加密数据D′k关联后存储;
解密:
步骤G)请求者将加密秘钥keyk0、参与节点标识列表和加密数据D′k发送给加解密监听节点,加解密监听节点将加密数据D′k拆解成数据块d″ki,i∈[1,n],加解密监听节点根据参与节点标识列表,将数据块d″ki,i∈[1,n]发送给对应的区块链节点Pj,区块链节点Pj使用存储在本地的加密秘钥keyki解密数据块d″ki获得数据块d′ki,加解密监听节点将全部数据块d′ki解密后拼接获得数据Dk,加解密监听节点将数据Dk发送给请求者。


2.根据权利要求1所述的一种基于区块链的数据存储加密方法,其特征在于,
还包括验证步骤:
在步骤E)中,区块链节点Pj提取数据块d′ki和数据块d″k...

【专利技术属性】
技术研发人员:张金琳俞学劢
申请(专利权)人:浙江数秦科技有限公司
类型:发明
国别省市:浙江;33

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

1