基于区块链和ibe的数据安全共享系统
技术领域
1.本发明涉及区块链技术领域,具体地,涉及一种基于区块链和ibe的数据安全共享系统。
背景技术:2.现有的数据共享方案,为进行身份认证和保证共享数据安全,一般采用pki体系进行数据方身份认证以及数据安全保护,为了能获取对方的加密密钥,共享方之间需要事先交换数字证书,密钥更新后也需要重新交换数字证书。而且数据共享方的id与密钥没有直接关系,还需要用户做好对应关系的管理。公钥证书库的管理和维护需要巨大的计算、通信和存储代价。
3.基于身份的密码体制被提出的重要原因就是为了简化传统的公钥基础设施中对用户公钥证书的管理,其基本思想是将用户的身份与其公钥以最自然的方式绑定:用户的身份信息即为用户的公钥。而区块链具有不可篡改、分布式存储、唯一性、智能合约等特征,适合用于用户的管理和数据的存储等。
4.公开号为cn111444264a的发明专利,公开了一种基于区块链的数据安全共享方法,包括s1、数据提供者、数据所需者、数据共享平台和平台监管者作为节点构建一条数据安全共享链;s2、数据提供者将数据上传至数据共享平台;s3、数据共享平台将数据存入区块链;s4、数据所需者和数据共享平台达成数据共享协议;s5、数据共享平台按照数据所需者从区块链调取相应数据;s6、数据共享平台将调取的数据进行数据处理后,将查询的结果提供给数据所需者;s7、是否发生变更事件,变更类型是否为数据变更,若是则对变更事件对应的变更数据进行加密,得到变更加密数据;s8、将整个数据共享查询过程的行为通过区块链行为记录合约记录在区块链上。
5.现有的数据共享方案,一般采用pki体系安全保护机制,为了能获取对方的加密密钥,共享方之间需要事先交换数字证书,密钥更新后也需要重新交换数字证书。而且数据共享方的id与密钥没有直接关系,还需要用户做好对应关系的管理。公钥证书库的管理和维护需要巨大的计算、通信和存储代价。
技术实现要素:6.针对现有技术中的缺陷,本发明提供一种基于区块链和ibe的数据安全共享系统。
7.根据本发明提供的一种基于区块链和ibe的数据安全共享系统,所述方案如下:
8.一种基于区块链和ibe的数据安全共享系统,所述系统包括:
9.数据发送者s:负责共享及发送数据;
10.智能合约sc:传递数据发送者s与数据接收者r之间的数据,对数据发送者s与数据接收者r进行身份注册和管理;
11.数据接收者r:接收数据发送者s发送的相关数据;
12.区块链网络:执行智能合约sc并存储数据;
13.其中,所述智能合约在区块链网络上,数据发送者s和数据接收者r与区块链网络进行通信。
14.优选的,所述数据发送者s执行如下操作:
15.随机生成数据加密密钥k;
16.使用密钥k对共享数据m进行对称加密得到密文m;
17.使用数据接收者r的身份idr对密钥k进行ibe加密得到密钥密文c;
18.通过智能合约将密钥密文c及密文m打包发送给数据接收者r。
19.优选的,所述智能合约sc执行如下操作:
20.具有管理权限的节点p负责部署及销毁该合约;
21.注册与管理数据发送者s、数据接收者r的身份;
22.为数据发送者s、数据接收者r生成对应的ibe算法解密密钥sks、skr;
23.根据密钥更新策略为数据发送者s、数据接收者r更新生成新的ibe算法解密密钥sks1、skr1;
24.传递数据发送者s与数据接收者r之间的数据。
25.优选的,所述数据接收者r执行如下操作:
26.获取数据接收者r的身份idr和数据接收者r的ibe算法解密密钥skr;
27.通过智能合约sc获取发给自己的密钥密文c及密文m的打包数据;
28.使用ibe算法解密密钥skr对密钥密文c解密得到数据加密密钥k;
29.使用密钥k对密文m对称解密得到共享数据m;
30.优选的,所述区块链网络执行的操作包括:执行智能合约sc并存储数据。
31.与现有技术相比,本发明具有如下的有益效果:
32.本发明将区块链的智能合约技术与基于身份的加密(ibe)机制相融合,实现了通信双方的数据安全共享,同时消除了传统的公钥基础设施中对用户公钥证书的管理,简化数据共享流程,具体地:
33.(1)通过区块链智能合约来实现用户id注册、管理、密钥更新策略管理等;
34.(2)通过区块链智能合约来实现数据通信;
35.(3)数据分享的过程均在区块链网络下完成,全程可追溯。
附图说明
36.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
37.图1为全流程交互图。
具体实施方式
38.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
39.本发明实施例提供了一种基于区块链和ibe的数据安全共享系统,参照图1所示,
本发明具体包括:
40.数据发送者s:负责共享及发送数据;
41.智能合约sc:传递数据发送者s与数据接收者r之间的数据,对数据发送者s与数据接收者r进行身份注册和管理;
42.数据接收者r:接收数据发送者s发送的相关数据;
43.区块链网络:执行智能合约sc并存储数据;
44.其中,智能合约在区块链网络上,数据发送者s和数据接收者r与区块链网络进行通信。
45.具体地,数据发送者s执行如下操作:
46.随机生成数据加密密钥k;
47.使用密钥k对共享数据m进行对称加密得到密文m;
48.使用数据接收者r的身份idr对密钥k进行ibe加密得到密钥密文c;
49.通过智能合约将密钥密文c及密文m打包发送给数据接收者r。
50.智能合约sc执行如下操作:
51.具有管理权限的节点p负责部署及销毁该合约;
52.注册与管理数据发送者s、数据接收者r的身份;
53.为数据发送者s、数据接收者r生成对应的ibe算法解密密钥sks、skr;
54.根据密钥更新策略为数据发送者s、数据接收者r更新生成新的ibe算法解密密钥sks1、skr1;
55.传递数据发送者s与数据接收者r之间的数据。
56.数据接收者r执行如下操作:
57.获取数据接收者r的身份idr和数据接收者r的ibe算法解密密钥skr;
58.通过智能合约sc获取发给自己的密钥密文c及密文m的打包数据;
59.使用ibe算法解密密钥skr对密钥密文c解密得到数据加密密钥k;
60.使用密钥k对密文m对称解密得到共享数据m;
61.区块链网络执行的操作包括:执行智能合约sc并存储数据。
62.接下来对本发明进行更为具体的描述。
63.本发明提供一种基于区块链和ibe的数据安全共享系统,该系统具体包括:
64.数据发送者s:负责共享及发送数据;
65.智能合约sc:传递数据发送者s与数据接收者r之间的数据,对数据发送者s与数据接收者r进行身份注册和管理;
66.数据接收者r:接收数据发送者s发送的相关数据;
67.区块链网络:执行智能合约sc并存储数据;
68.其中,所述智能合约在区块链网络上,数据发送者s和数据接收者r与区块链网络进行通信。
69.具体地,数据发送者s执行如下操作:
70.数据发送者s通过智能合约进行注册,获取自己的身份ids和对应的私钥sks;
71.采集/生成共享数据m;
72.通过合约查询数据接收者的身份idr;
73.随机生成数据加密密钥k;
74.使用数据加密密钥k对共享数据m进行对称加密得到数据密文m;
75.使用数据接收者r的身份idr对密钥k进行ibe加密得到密钥密文c;
76.调用智能合约sc,通过智能合约将密钥密文c及数据密文m打包发送给数据接收者r。
77.智能合约sc执行如下操作:
78.具有合约管理权限的节点p负责部署智能合约sc;
79.为数据发送者s、数据接收者r注册身份、管理身份;
80.为数据发送者s、数据接收者r生成对应的ibe算法解密密钥sks、skr;
81.根据智能合约中设置好的密钥更新策略为数据发送者s、数据接收者r更新生成新的ibe算法解密密钥sks1、skr1;
82.传递数据发送者s与数据接收者r之间的数据。
83.数据接收者r执行如下操作:
84.数据发送者s通过智能合约进行注册,获取自己的身份idr和对应的私钥skr;
85.通过智能合约sc获取发给自己的密钥密文c及数据密文m的打包数据;
86.使用ibe算法解密密钥skr对密钥密文c解密得到数据加解密密钥k;
87.使用数据加解密密钥k对密文m对称解密得到共享数据m;
88.区块链网络执行的操作包括:
89.执行智能合约sc;
90.存储数据信息,如身份ids、idr,数据发送者s上传的密文数据等。
91.实施原理:
92.具有合约管理权限的区块链节点p负责部署智能合约sc;数据发送者s和数据接收者r通过智能合约sc注册,获取各自的身份与对应的ibe解密密钥;
93.数据发送者s采集/生成数据m,并随机生成对称加解密密钥k,使用k对数据m进行对称加密得到数据密文m,使用接收者r的身份idr对对称加解密密钥k进行ibe加密得到密钥密文c,将密钥密文c和数据密文m一起打包通过智能合约sc发送给数据接收者r;
94.数据接收者r通过智能合约sc获取发送给自己的数据,并解析出密钥密文c和数据密文m,使用ibe算法解密密钥skr对密钥密文c解密得到数据加解密密钥k,再使用解密出的数据加解密密钥k对密文m对称解密得到共享数据m。
95.本发明实施例提供了一种基于区块链和ibe的数据安全共享系统,采用区块链技术(智能合约)与基于身份的加密(ibe)技术,解决数据共享领域,传统的公钥基础设施中对用户证书的管理问题。
96.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
97.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。