当前位置: 首页 > 专利查询>湘潭大学专利>正文

一种基于区块链的数据加密存证与共享方法技术

技术编号:29963758 阅读:31 留言:0更新日期:2021-09-08 09:27
本发明专利技术公开了一种基于区块链的数据加密存证与共享方法,属于区块链技术应用领域,包括以下步骤:为用户分发公私钥对;系统生成随机数并分割存储,用户加密数据上传存储系统;共享数据时,数据请求方经拥有方同意并验证创建交易;数据请求方下载加密数据至本地,获得数据拥有方秘密份额后与链上节点达成共识合成随机数并处理为密钥;数据请求方利用密钥解密数据。本发明专利技术将数据加密存储,同时对加密密钥分割存储,从而保障数据存储安全,并利用区块链不可篡改的特性,记录数据以及数据共享时的信息,留痕存证,加强数据共享安全可控能力。加强数据共享安全可控能力。加强数据共享安全可控能力。

【技术实现步骤摘要】
一种基于区块链的数据加密存证与共享方法


[0001]本专利技术涉及数据加密存证与共享,具体涉及一种基于区块链的数据加密存证与共享方法。

技术介绍

[0002]随着网络应用的快速发展,数字时代来临,数据共享是大势所趋,但是传统的数据共享参与方不情愿共享数据。其原因主要有以下难点:
[0003]数据确权难。数据在共享及流通过程中很容易被复制。如果不能对数据确权,拥有明确数据的产生者、使用者、管理者的电子证据,将无法很好实现数据的精准授权,阻碍数据的共享流通。
[0004]数据安全难保障。传统电子数据与数据证据被存储在自有服务器或云服务器中,数据证据在备份、传输等过程中容易受损,导致证据不完整或被破坏。数据和证据在被传输到云服务器的过程均有遭受攻击和篡改的风险,降低了电子证据可信度。电子数据在云存储上大多是明文存储,即使一些数据存储方提供数据加密服务,加密数据的密钥也集中由数据存储方保管,一旦存储方单方面使用密钥查看用户数据或者泄露密钥,用户隐私数据就会被存储方轻松的获取,无法有效保证数据隐私性、安全性。
[0005]区块链技术具有“不可伪造”“全程留痕”等特征,专利技术人由此受启发,利用区块链技术证明数据所有权电子证据,同时结合对称加密技术对用户存储数据进行加密,并利用秘密共享技术将密钥分割存储在不同节点,防止用户虽然对数据进行了加密存储,但存储方保有完整的数据加解密密钥从而可能造成会大量泄露密钥或者私自查看用户数据等问题。从而完美解决传统的数据存证与共享面临的安全问题。

技术实现思路
r/>[0006]本专利技术所要解决的技术问题是,现有云存储技术明文存储数据或者虽然进行了加密存储但存储方保有完整的数据加解密密钥的数据用户隐私可能被存储方获取,数据的所有者信息不能存证记录,数据共享时密钥可能泄露,以及数据和证据在被传输到云服务器的过程均有遭受攻击和篡改的风险。
[0007]为解决上述问题,本专利技术提供一种基于区块链的数据加密存证与共享方法,包括以下步骤:
[0008]1)接受人们录入身份信息在区块链系统中注册为用户,并使用SM2算法为每个用户生成公私密钥对;
[0009]2)加密数据时区块链系统生成一个随机数处理为加密密钥;用户对需要共享的数据选用AES算法或者SM4算法在本地客户端使用加密密钥进行加密,形成的加密数据上传至数据存储系统,所述的数据存储系统反馈所述的加密数据对应的存储地址与哈希值给该用户;
[0010]3)对所述的随机数使用Asmuth

Bloom门限方案分割至不同的节点存储,用于在区
块链系统触发解密合约后进行还原并经处理后生成加密的密钥;
[0011]4)采用SM2算法利用用户自身公钥加密用户身份信息得到加密身份信息,采用SM3算法计算所述加密身份信息的哈希值,将所述加密数据的哈希值、名称、数据存储系统反馈的存储地址、用户上传数据时输入的大致描述与地址、加密身份信息及加密身份信息的哈希值组成的字符串使用存证智能合约签名写入区块链存证;
[0012]5)数据请求方发送签名请求至拥有加密数据的用户请求共享数据,若数据拥有方同意,则创建交易共享数据,否则无法创建交易;
[0013]6)数据拥有方签名交易后上传区块链,共识节点采用SM2签名验签算法验证交易正确后共识记链完成交易,否则交易无效;
[0014]7)数据请求方从数据存储系统下载加密数据至本地,获得数据拥有方保有的秘密份额与初始向量后使用自身私钥解密,采用SM2算法解密,然后通过解密合约将随机数合成,当区块链系统执行解密共识协议达成解密共识后,系统触发解密合约来恢复生成对称密钥的随机数,并在本地客户端处理为解密密钥,然后利用解密密钥与初始向量解密加密数据。
[0015]进一步地,所述的选用AES算法或者SM4算法所有需要的初始向量的生成方式为:发送方生成一个随机数,使用SM3算法计算此随机数的哈希值,取此哈希值的前64bit与最后64bit共128bit为初始向量,用户可将初始向量保存在本地。
[0016]进一步地,在步骤2)中加密的数据可以是文本、文档、PDF、图片等中的一种或多种。
[0017]进一步地,所述的用户身份信息包括身份证号和姓名。
[0018]进一步地,步骤5)所述的“数据拥有方同意”还包括对经数据拥有方用户进行身份验证的步骤:收集数据拥有方用户输入的身份证号及姓名,采用SM2算法利用用户自身公钥加密身份信息并计算其哈希值,对比此哈希值与存证信息中加密身份信息的哈希值是否一致,若一致则创建交易共享数据,通过数据共享智能合约录入使用请求数据方的公钥加密的秘密份额与初始向量,否则交易无效。
[0019]进一步地,步骤3)所述的Asmuth

Bloom门限方案具体方式为:
[0020]设有n个用户及区块链中的节点的集合P={P1,P2,...P
n
}门限值为t,区块链系统生成的随机数为S并选取大素数p(p>S),n个正整数序列m=(m1,m2,...m
n
)满足如下条件:
[0021](1)m1,m2,m3...m
n
严格递增;
[0022](2)(m
i
,m
j
)=1(i≠j)
[0023](3)(m
i
,p)=1(i=1,2,3,...,n)
[0024](4)
[0025]其中(m
i
,m
j
)=1表示m
i
与m
j
的最大公因数为1,(m
i
,p)=1表示m
i
与p的最大公因数为1,选取整数R满足
[0026]分发秘密份额时,计算x=S+Rp,x
i
=x mod m
i
(i=1,2,

,n),将(x
i
,m
i
)作为秘密份额发给区块链节点P
i
(i=1,2,

n),其中(x1,m1)加密数据拥有方保有,将n

1个秘密份额通过秘密共享智能合约分发给区块链中其他的不同节点,使得要还原随机数S需知道至少t
个秘密份额。
[0027]进一步地,步骤7)所述的“恢复生成对称密钥的随机数”采用如下方式进行:
[0028]只要知道所述Pi节点中的任意t个秘密份额,就可以应用中国剩余定理求出x:
[0029]y≡x(mod D)
[0030]是联立同余式:
[0031]y≡x1(mod m1)
[0032]y≡x2(mod m2)
[0033]...
[0034]y≡x
t
(mod m
t
)
[0035]的解,其中有:
[0036]D=m1m2...m
t
[本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据加密存证与共享方法,其特征在于:包括以下步骤:1)接受人们录入身份信息在区块链系统中注册为用户,并使用SM2算法为每个用户生成公私密钥对;2)加密数据时区块链系统生成一个随机数处理为加密密钥;用户对需要共享的数据选用AES算法或者SM4算法在本地客户端使用加密密钥进行加密,形成的加密数据上传至数据存储系统,所述的数据存储系统反馈所述的加密数据对应的存储地址与哈希值给该用户;3)对所述的随机数使用Asmuth

Bloom门限方案分割至不同的节点存储,用于在区块链系统触发解密合约后进行还原并经处理后生成加密的密钥;4)采用SM2算法利用用户自身公钥加密用户身份信息得到加密身份信息,采用SM3算法计算所述加密身份信息的哈希值,将所述加密数据的哈希值、名称、数据存储系统反馈的存储地址、用户上传数据时输入的大致描述与地址、加密身份信息及加密身份信息的哈希值组成的字符串使用存证智能合约签名写入区块链存证;5)数据请求方发送签名请求至拥有加密数据的用户请求共享数据,若数据拥有方同意,则创建交易共享数据,否则无法创建交易;6)数据拥有方签名交易后上传区块链,共识节点采用SM2签名验签算法验证交易正确后共识记链完成交易,否则交易无效;7)数据请求方从数据存储系统下载加密数据至本地,获得数据拥有方保有的秘密份额与初始向量后使用自身私钥解密,采用SM2算法解密,然后通过解密合约将随机数合成,当区块链系统执行解密共识协议达成解密共识后,系统触发解密合约来恢复生成对称密钥的随机数,并在本地客户端处理为解密密钥,然后利用解密密钥与初始向量解密加密数据。2.根据权利要求1所述的一种基于区块链的数据加密存证与共享方法,其特征在于:所述的选用AES算法或者SM4算法所有需要的初始向量的生成方式为:发送方生成一个随机数,使用SM3算法计算此随机数的哈希值,取此哈希值的前64bit与最后64bit共128bit为初始向量,用户可将初始向量保存在本地。3.根据权利要求1所述的一种基于区块链的数据加密存证与共享方法,其特征在于:在步骤2)中加密的数据可以是文本、文档、PDF、图片等中的一种或多种。4.根据权利要求1所述的一种基于区块链的数据加密存证与共享方法,其特征在于:所述的用户身份信息包括身份证号和姓名。5.根据权利要求1所述的一种基于区块链的数据加密存证与共享方法,其特征在于:步骤5)所述的“数据拥有方同意”还包括对经数据拥有方用户进行身份验证的步骤:收集数据拥有方用户输入的身份证号及姓名,采用SM2算法利用用户自身公钥加密身份信息并计算其哈希值,对比此哈希值与存证信息中加密身份信息的哈希值是否一致,若一致则创建交易共享数据,通过数据共享智能合约录入使用请求数据方的公钥加密的秘密份额与初始向量,否则交易无效。6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:欧阳建权胡长林唐欢容
申请(专利权)人:湘潭大学
类型:发明
国别省市:

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

1