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

基于区块链的可信数据共享方法技术

技术编号:33243601 阅读:59 留言:0更新日期:2022-04-27 17:50
本发明专利技术涉及一种基于区块链的可信数据共享方法,属于区块链领域,包括以下步骤:S1:生成密码系统参数;S2:用户注册成为合法用户,系统为用户返回安全参数;S3:用户对现有的数据进行共享,对于机密性和敏感程度不高的数据,采用群密钥加密数据;对机密性和敏感程度高的数据,每次系统生成新的密钥加密,同时将密钥返回给用户保存;S4:对于群密钥加密的数据,数据请求者输入自己的安全参数,系统恢复密钥解密数据返回给数据请求者;对于单次密钥加密的数据,数据请求者向数据所有者发送请求获取解密密钥,数据所有者通过请求之后,将请求数据的密钥发送给数据请求者。的密钥发送给数据请求者。的密钥发送给数据请求者。

【技术实现步骤摘要】
基于区块链的可信数据共享方法


[0001]本专利技术属于区块链领域,涉及一种基于区块链的可信数据共享方法。

技术介绍

[0002]随着大数据时代的来临,数据已经成为了一种重要的资源。大型企业、科研院所、政府机关等机构之间需要相互的数据进行生产、研究,迫切需要数据共享。中心化的数据共享方式难以保障数据的可靠性,缺乏可信的数据交换机制,存在着数据确权难的问题。而分布式的数据共享方式也存在着数据共享效率低的问题,严重阻碍了数据的共享。
[0003]共享数据存储的一种典型方式是通过统一的数据库或者大数据平台集中收集、存储,而且数据多以明文形式存储,数据没有隐私保护。一旦数据库被攻击者获取权限,所有数据都会直接暴露。为解决数据安全问题,有些方法先加密数据再存储,但这类方法要么全部数据使用相同的密钥加密,要么每次都使用不同的密钥加密,前者的问题在于一次密钥暴露,所有数据都不安全,后者的问题在于巨大的密钥存储开销。
[0004]针对以上问题,利用联盟区块链,分布式存储技术和密码学技术可以提供有效的解决办法。联盟链是区块链的一种,它是一种许可制的区块链,用户必须在加入网络之前进行验证。这些节点彼此并不完全信任,但它们共同遵守智能合约的约束,并协同工作。利用区块链不可篡改的特点,保障链上数据的可靠性和真实性。在对数据进行加密之前,根据数据的敏感程度高低分别用“一次一密”和“群密钥”的形式加密,提高了数据处理的灵活性和效率,“群密钥”用中国剩余定理分发和恢复,避免暴露密钥明文,减少了密钥存储开销。文件数据经过加密之后存储在云端分布式文件系统中,可以保障数据的机密性和完备性。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种基于区块链的可信数据共享方法。
[0006]为达到上述目的,本专利技术提供如下技术方案:
[0007]一种基于区块链的可信数据共享方法,包括以下步骤:
[0008]S1:系统初始化,加密模块生成密码系统参数;
[0009]S2:用户授权,用户通过区块链数据共享平台注册,通过系统资质审核、授权成为合法用户,系统为用户返回安全参数;
[0010]S3:数据上传存储,用户对现有的数据进行共享,如果是结构化的文本数据,则直接将数据和数据的属性信息存储到区块链上;如果是非结构化的文件数据,则将文件加密存储到云端,同时将文件的索引信息和属性信息存储到区块链上;对于非结构化文件数据,根据数据的机密程度或者敏感程度分为两类;对于机密性和敏感程度不高的数据,采用群密钥加密数据,用户不直接保存群密钥,群密钥通过用户自己保存的安全参数恢复;对机密性和敏感程度高的数据,每次系统生成新的密钥加密,同时将密钥返回给用户保存;
[0011]S4:数据查询获取,其他用户通过区块链数据共享平台查看共享的数据;对于群密钥加密的数据,数据请求者输入自己的安全参数,系统恢复密钥解密数据返回给数据请求
者;对于单次密钥加密的数据,数据请求者向数据所有者发送请求获取解密密钥,数据所有者通过请求之后,将请求数据的密钥发送给数据请求者,数据请求者获得密钥后输入密钥,系统下载文件解密给数据请求者。
[0012]进一步,步骤S4中,数据请求者在向数据所有者发送请求之前,系统先用RSA密钥生成算法生成一对公私钥对,私钥由数据请求者自己保留,数据请求者将公钥、所请求数据的名称、哈希值由群密钥加密之后发送给数据所有者,数据所有者用群密钥解密请求消息,通过请求后用数据请求者的公钥加密请求的数据的密钥返回给数据请求者,数据请求者用自己的私钥解密得到解密数据的密钥。
[0013]进一步,用户在发起数据共享请求时调用添加数据合约,所述添加数据合约为:
[0014]用户通过客户端写入将要共享的数据属性信息,客户端将属性信息传给智能合约;智能合约解析收到的属性信息,用*Record结构体将属性信息封装成数据共享记录信息;智能合约调用账本写数据接口函数,将绑定的结构体数据作为参数传入,接口函数执行后续操作;接口函数返回执行状态和结果,智能合约将添加结果返回给客户端。
[0015]进一步,用户在查看或下载共享数据时调用查询数据合约,所述查询数据合约为:
[0016]用户通过客户端输入请求数据关键词,客户端将查询信息传给智能合约;智能合约解析收到的查询信息,与*Record(包括TextRecord和FileRecord)结构体中的字段匹配,得到结构体标准字段;智能合约调用账本查询接口函数,将结构体标准字段作为参数传入,接口函数执行后续查询操作;接口函数返回执行状态和结果,智能合约将查询结果返回给客户端。
[0017]进一步,用户在删除数据时调用删除数据合约,所述删除数据合约为:
[0018]用户通过客户端输入要删除数据的关键词,客户端将删除信息传给智能合约;智能合约解析收到的删除信息,与*Record结构体中的字段匹配,得到结构体标准字段;智能合约调用账本删除接口函数,将结构体标准字段作为参数传入,接口函数执行后续删除操作;接口函数返回执行状态和结果,智能合约将删除结果返回给客户端。
[0019]进一步,机密性和敏感程度不高的数据,为完全共享型数据,采用群密钥进行加解密,使用中国剩余定理进行密钥管理,具体过程如下:
[0020]系统选择两个随机数x和kg,kg作为群密钥,用于对上传的文件进行加密,x作为恢复群密钥的参数;
[0021]系统随机生成k个大素数m1,m2,

m
k
,且k个数两两互素,用户在通过注册认证之后,系统将m
i
分发给用户作为安全参数;
[0022]根据中国剩余定理理论计算M和M
i

[0023]M=m1m2…
m
k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0024][0025]则同余式组
[0026]X≡b1(mod m1),X≡b2(mod m2),

,X≡b
k
(mod m
k
)
ꢀꢀꢀꢀꢀꢀ
(3)
[0027]有模M的唯一的正整数解
[0028]X≡b
1 M1y1+b
2 M2y2+

+b
k M
k
y
k
(mod M)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0029]其中y
i
是同余式M
i
y
i
≡1(mod m
i
)的正整数解,即y
i
是M
i
模m
i
的逆元(i=1,2,


k);
[0030]根据求和式(4)中的参数,对群密钥kg进行处理。
[0031]λ
i
=M
i...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的可信数据共享方法,其特征在于:包括以下步骤:S1:系统初始化,加密模块生成密码系统参数;S2:用户授权,用户通过区块链数据共享平台注册,通过系统资质审核、授权成为合法用户,系统为用户返回安全参数;S3:数据上传存储,用户对现有的数据进行共享,如果是结构化的文本数据,则直接将数据和数据的属性信息存储到区块链上;如果是非结构化的文件数据,则将文件加密存储到云端,同时将文件的索引信息和属性信息存储到区块链上;对于非结构化文件数据,根据数据的机密程度或者敏感程度分为两类;对于机密性和敏感程度不高的数据,采用群密钥加密数据,用户不直接保存群密钥,群密钥通过用户自己保存的安全参数恢复;对机密性和敏感程度高的数据,每次系统生成新的密钥加密,同时将密钥返回给用户保存;S4:数据查询获取,其他用户通过区块链数据共享平台查看共享的数据;对于群密钥加密的数据,数据请求者输入自己的安全参数,系统恢复密钥解密数据返回给数据请求者;对于单次密钥加密的数据,数据请求者向数据所有者发送请求获取解密密钥,数据所有者通过请求之后,将请求数据的密钥发送给数据请求者,数据请求者获得密钥后输入密钥,系统下载文件解密给数据请求者。2.根据权利要求1所述的基于区块链的可信数据共享方法,其特征在于:步骤S4中,数据请求者在向数据所有者发送请求之前,系统先用RSA密钥生成算法生成一对公私钥对,私钥由数据请求者自己保留,数据请求者将公钥、所请求数据的名称、哈希值由群密钥加密之后发送给数据所有者,数据所有者用群密钥解密请求消息,通过请求后用数据请求者的公钥加密请求的数据的密钥返回给数据请求者,数据请求者用自己的私钥解密得到解密数据的密钥。3.根据权利要求1所述的基于区块链的可信数据共享方法,其特征在于:用户在发起数据共享请求时调用添加数据合约,所述添加数据合约为:用户通过客户端写入将要共享的数据属性信息,客户端将属性信息传给智能合约;智能合约解析收到的属性信息,用*Record结构体将属性信息封装成数据共享记录信息;智能合约调用账本写数据接口函数,将绑定的结构体数据作为参数传入,接口函数执行后续操作;接口函数返回执行状态和结果,智能合约将添加结果返回给客户端。4.根据权利要求1所述的基于区块链的可信数据共享方法,其特征在于:用户在查看或下载共享数据时调用查询数据合约,所述查询数据合约为:用户通过客户端输入请求数据关键词,客户端将查询信息传给智能合约;智能合约解析收到的查询信息,与*Record结构体中的字段匹配,得到结构体标准字段;智能合约调用账本查询接口函数,将结构体标准字段作为参数传入,接口函数执行后续查询操作;接口函数返回执行状态和结果,智能合约将查询结果返回给客户端。5.根据权利要求1所述的基于区块链的可信数据共享方法,其特征在于:用户在删除数据时调用删除数据合约,所述删除数据合约为:用户通过客户端输入要删除数据的关键词,客户端将删除信息传给智能合约;智能合约解析收到的删除信息,与*Record结构体中的字段匹配,得到结构体标准字段;智能合约调用账本删除接口函数,将结构体标准字段作为参数传入,接口函数执行后续删除操作;接口函数返回执行状态和结果,智能合约将删除结果返回给客户端。
6.根据权利要求1所述的基于区块链的可信数据共享方法,其特征在于:机密性和敏感程度不高的数据,为完全共享型数据,采用群密钥进行加解密,使用中国剩余定理进行密钥管理,具体过程如下:系统选择两个随机数x和kg,kg作为群密钥,用于对上传的文件进行加密,x作为恢复群密钥的参数;系统随机生成k个大素数m1,m2,

m
k
,且k个数两两互素,用户在通过注册认证之后,系统将m
i
分发给用户作为安全参数;根据中国剩余定理理论计算M和M
i
:M=m1m2…
m
k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)则同余式组X≡...

【专利技术属性】
技术研发人员:杨吉云李海峰唐波邓佳敏
申请(专利权)人:重庆大学
类型:发明
国别省市:

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

1