您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页基于区块链的数据共享方法及系统[发明专利]

基于区块链的数据共享方法及系统[发明专利]

来源:筏尚旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 112507352 A(43)申请公布日 2021.03.16

(21)申请号 202011371904.7(22)申请日 2020.11.30

(71)申请人 中国联合网络通信集团有限公司

地址 100033 北京市西城区金融大街21号(72)发明人 黄珂 

(74)专利代理机构 北京天昊联合知识产权代理

有限公司 11112

代理人 罗建民 杜丹丹(51)Int.Cl.

G06F 21/60(2013.01)G06F 21/62(2013.01)G06F 21/(2013.01)G06F 16/27(2019.01)G06Q 50/26(2012.01)

权利要求书3页 说明书11页 附图4页

CN 112507352 A()发明名称

基于区块链的数据共享方法及系统(57)摘要

本公开提供一种基于区块链的数据共享方法及系统,其中所述方法包括:物联网实体发送第一请求消息至区块链系统以获取第一加密数据和数字签名密文,所述第一加密数据由第一区块链节点使用物联网实体的数字签名将物联网实体申请访问的数据内容打上水印生成,所述数字签名密文由第一区块链节点使用自身的私钥对物联网实体的数字签名进行加密得到,然后使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并将之与第一加密数据的数字签名水印进行对比,若一致,则证明所述第一加密数据在传输过程中未被篡改。本公开能够证明物联网实体所申请的数据在加密后的传输过程中是否被篡改,从而降低数据使用和共享过程中的安全性风险。

CN 112507352 A

权 利 要 求 书

1/3页

1.一种基于区块链的数据共享方法,其特征在于,包括:物联网实体发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;以及,

物联网实体获取所述第二加密数据,并从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。

物联网实体获取所述第二加密数据,包括:2.根据权利要求1所述的方法,其特征在于,

物联网实体接收第一区块链节点发送的第三加密数据和物联网实体的私钥,其中所述第三加密数据为第一区块链节点使用物联网实体的公钥对所述第二加密数据进行加密后得到的,物联网实体的公钥和私钥为第一区块链节点根据物联网实体的数字身份生成的;以及,

物联网实体使用自身的私钥对所述第三加密数据进行解密得到所述第二加密数据。3.根据权利要求1所述的方法,其特征在于,在物联网实体发送第一请求消息至区块链系统之前,还包括:

物联网实体向智慧城市数据监管部门发送注册申请,以使智慧城市数据监管部门基于所述注册申请生成物联网实体的数字身份,并返回至物联网实体。

4.根据权利要求1所述的方法,其特征在于,物联网实体为物联网传感器、数据服务器、物联网服务器、物联网设备或用户终端设备。

5.一种基于区块链的数据共享方法,其特征在于,包括:区块链系统接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;

第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。

6.根据权利要求5所述的方法,其特征在于,在第一区块链节点生成第二加密数据之后,还包括:

第一区块链节点根据物联网实体的数字身份生成物联网实体的公钥和私钥;

2

CN 112507352 A

权 利 要 求 书

2/3页

第一区块链节点使用物联网实体的公钥对所述第二加密数据进行加密后得到第三加密数据;以及,

第一区块链节点将所述第三加密数据和物联网实体的私钥发送至物联网实体,以使物联网实体使用自身的私钥对所述第三加密数据进行解密得到所述第二加密数据。

7.根据权利要求5所述的方法,其特征在于,在区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点之后,还包括:

第一区块链节点转发所述第一请求消息至智慧城市数据监管部门请求授权,以使智慧城市数据监管部门对所述第一请求消息进行签名并返回至第一区块链节点;

第一区块链节点接收已签名的第一请求消息,若签名结果为同意,则执行使用随机函数对所述数字身份进行哈希运算得到数字签名的步骤。

8.根据权利要求5所述的方法,其特征在于,第一区块链节点使用所述数字签名将所述数据内容打上水印生成第一加密数据,具体为:

第一区块链节点根据所述数据内容的获取时间生成时间戳;以及,使用所述数字签名和所述时间戳将所述数据内容打上水印生成第一加密数据。

9.根据权利要求8所述的方法,其特征在于,还包括:第一区块链节点发送第一广播消息至区块链系统,所述第一广播消息包括:物联网实体的数字身份、物联网实体申请访问的数据编号、物联网实体申请访问的数据内容的获取时间和所述随机函数;以及,

区块链系统内的各区块链节点分别将所述第一广播消息包含的数据存储到各自的区块中。

10.根据权利要求9所述的方法,其特征在于,还包括:

第二区块链节点接收智慧城市数据监管部门发送的泄露数据内容,并从泄露数据内容的水印中获取数字签名和泄露数据内容的获取时间;

第二区块链节点根据泄露数据内容从区块链系统中获取泄露数据的数据编号;第二区块链节点发送第二广播消息至区块链系统,所述第二广播消息包括:泄露数据的数据编号、数字签名和泄露数据内容的获取时间;

区块链系统内的各区块链节点根据所述第二广播消息中的泄露数据的数据编号和泄露数据内容的获取时间分别从各自的区块中查找相符的数据调用记录;

各区块链节点分别从找到的数据调用记录中获取数字身份和随机函数,并使用所述随机函数对所述数字身份进行哈希运算得到数字签名;

各区块链节点分别将计算得到的数字签名与所述第二广播消息中的数字签名进行对比,若对比一致则发送第三广播消息至区块链系统,所述第三广播消息包括所述第二广播消息和计算得到的数字签名;以及,

第二区块链节点从区块链系统获取各区块链节点发送的第三广播消息,并对所述第三广播消息包括的数字签名进行整合,以确定泄露数据的来源。

11.一种基于区块链的数据共享系统,其特征在于,包括若干物联网实体;所述物联网实体包括:

第一发送模块,其设置为发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所

3

CN 112507352 A

权 利 要 求 书

3/3页

述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;

获取模块,其设置为获取所述第二加密数据,并从中得到第一加密数据和数字签名密文;

解密模块,其设置为使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文;以及,

对比模块,其设置为对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。

12.一种基于区块链的数据共享系统,其特征在于,包括区块链系统,所述区块链系统包括多个区块链节点;每个区块链节点包括:数据处理模块和加密模块;

区块链系统设置为接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;

第一区块链节点的数据处理模块设置为使用随机函数对所述数字身份进行哈希运算得到数字签名,以及根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容;

第一区块链节点的加密模块设置为使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。

4

CN 112507352 A

说 明 书

基于区块链的数据共享方法及系统

1/11页

技术领域

[0001]本公开涉及通信技术领域,尤其涉及一种基于区块链的数据共享方法以及一种基于区块链的数据共享系统。

背景技术

[0002]当前的智慧城市建设中,物联网技术已经被广泛地使用,例如常见的公共交通、下水道井盖、城市街道照明、智能水表/电表/燃气表等设备,都是通过传感器连接和监控来收集和传输数据,而未来会有更多个人设备、公共设施设备的数据会被自动采集并被广泛共享使用。但是这些共享数据在传输和使用过程中,可能会面临信息泄露、数据篡改等问题,而且随着数据量和共享规模的不断攀升,共享管理过程中的确权、追溯、保护等工作将使数据服务器难以负担。[0003]因此,提出一种可以降低智慧城市数据使用和共享过程中的安全性风险的方案是目前亟待解决的问题。

发明内容

[0004]为了至少部分解决现有技术中存在的技术问题而完成了本公开。[0005]根据本公开实施例的一方面,提供一种基于区块链的数据共享方法,所述方法包括:

[0006]物联网实体发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;以及,

[0007]物联网实体获取所述第二加密数据,并从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。

[0008]根据本公开实施例的另一方面,提供一种基于区块链的数据共享方法,所述方法包括:

[0009]区块链系统接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;

[0010]第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所

5

CN 112507352 A

说 明 书

2/11页

述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。

[0011]根据本公开实施例的又一方面,提供一种基于区块链的数据共享系统,所述系统包括若干物联网实体;所述物联网实体包括:[0012]第一发送模块,其设置为发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;[0013]获取模块,其设置为获取所述第二加密数据,并从中得到第一加密数据和数字签名密文;

[0014]解密模块,其设置为使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文;以及,[0015]对比模块,其设置为对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。[0016]根据本公开实施例的再一方面,提供一种基于区块链的数据共享系统,所述系统包括区块链系统,所述区块链系统包括多个区块链节点;每个区块链节点包括:数据处理模块和加密模块;

[0017]区块链系统设置为接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;

[0018]第一区块链节点的数据处理模块设置为使用随机函数对所述数字身份进行哈希运算得到数字签名,以及根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容;

[0019]第一区块链节点的加密模块设置为使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。[0020]本公开的实施例提供的技术方案可以包括以下有益效果:[0021]本公开实施例提供的基于区块链的数据共享方法及系统,能够证明物联网实体所申请的数据在加密后的传输过程中是否被篡改,从而降低数据使用和共享过程中的安全性

6

CN 112507352 A

说 明 书

3/11页

风险。

[0022]

本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变

得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

[0023]附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的。[0024]图1为本公开实施例提供的一种基于区块链的数据共享方法的流程示意图;[0025]图2为本公开实施例提供的另一种基于区块链的数据共享方法的流程示意图;[0026]图3为本公开实施例提供的物联网实体的结构示意图;[0027]图4为本公开实施例提供的区块链系统的结构示意图;

[0028]图5为本公开实施例提供的基于区块链的数据共享系统的结构示意图。

具体实施方式

[0029]为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于本公开。[0030]需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的

本公开中的实施例及实施例中的特征可以相互任意组合。情况下,

[0031]图1为本公开实施例提供的一种基于区块链的数据共享方法的流程示意图。如图1所示,所述方法包括如下步骤S101至S104。

[0032]S101.物联网实体发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;

[0033]S102.物联网实体获取所述第二加密数据,并从中得到第一加密数据和数字签名密文;

[0034]S103.物联网实体使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文;

[0035]S104.物联网实体对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。[0036]需要说明的是,区块链系统中预先存储有若干数据编号及各自对应的数据内容;物联网实体向区块链系统发送第一请求消息,以申请存储在区块链系统中的智慧城市共享数据的访问权限。区块链系统中的各区块链节点均具有公钥及与之配对的私钥,且各区块

7

CN 112507352 A

说 明 书

4/11页

链节点的公钥已通过区块链网络进行广播,各物联网实体均能通过区块链网络获取任一区块链节点的公钥。

[0037]物联网实体可以为物联网传感器、数据服务器、物联网服务器、物联网设备或用户终端设备。区块链系统内的各区块链节点分别部署在相应物联网实体上。[0038]本实施例中,对于物联网实体申请访问的数据,依据竞争机制选出的区块链节点使用物联网实体的数字签名将物联网实体所申请的数据内容打上水印生成加密数据,以及使用自身的私钥对物联网实体的数字签名进行加密得到数字签名密文,并发送至物联网实体,然后物联网实体使用区块链节点的公钥解密数字签名密文得到数字签名明文,并将之与加密数据的数字签名水印进行对比,只有在对比一致的情况下才证明加密数据(对应于物联网实体所申请的数据)在传输过程中未被篡改,能够降低数据使用和共享过程中的安全性风险。

[0039]在一种具体实施方式中,步骤S102具体包括如下步骤S1021至S1023。

[0040]S1021.物联网实体接收第一区块链节点发送的第三加密数据和物联网实体的私钥,其中所述第三加密数据为第一区块链节点使用物联网实体的公钥对所述第二加密数据进行加密后得到的,物联网实体的公钥和私钥为第一区块链节点根据物联网实体的数字身份生成的;

[0041]S1022.物联网实体使用自身的私钥对所述第三加密数据进行解密得到所述第二加密数据;

[0042]S1023.物联网实体从所述第二加密数据中得到第一加密数据和数字签名密文。[0043]本实施例中,在第一区块链节点生成第二加密数据后,为了进一步确保数据传输过程中的安全性,第一区块链节点还使用物联网实体的公钥对所述第二加密数据进行加密后得到第三加密数据,并将所述第三加密数据和物联网实体的私钥发送至物联网实体,然后物联网实体使用自身的私钥对所述第三加密数据进行解密就可得到所述第二加密数据。[0044]在一种具体实施方式中,在步骤S101之前,还包括如下步骤S105:[0045]S105.物联网实体向智慧城市数据监管部门发送注册申请,以使智慧城市数据监管部门基于所述注册申请生成物联网实体的数字身份,并返回至物联网实体。[0046]其中,实体类型和真实身份信息所述注册申请可包括:物联网实体的物联网地址、等。

[0047]本实施例中,物联网实体可根据其物联网地址、实体类型和真实身份信息等在智慧城市数据监管部门注册,以生成代表物联网实体身份的数字身份,所述数字身份为物联网实体在物联网区块链系统中代表其身份的唯一数字信息。

[0048]图2为本公开实施例提供的另一种基于区块链的数据共享方法的流程示意图。如图2所示,所述方法包括如下步骤S201至S206。

[0049]S201.区块链系统接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;

[0050]S202.第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名;

[0051]S203.第一区块链节点根据所述数据编号从区块链系统获取物联网实体申请访问

8

CN 112507352 A

说 明 书

5/11页

的数据内容;

[0052]S204.第一区块链节点使用所述数字签名将所述数据内容打上水印生成第一加密数据;

[0053]S205.第一区块链节点使用自身的私钥对所述数字签名进行加密得到数字签名密文;

[00]S206.第一区块链节点将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。[0055]本实施例中,对于物联网实体申请访问的数据,依据竞争机制选出的区块链节点使用物联网实体的数字签名将物联网实体所申请的数据内容打上水印生成加密数据,以及

并发送至物联网实使用自身的私钥对物联网实体的数字签名进行加密得到数字签名密文,

体,然后物联网实体使用区块链节点的公钥解密数字签名密文得到数字签名明文,并将之与加密数据的数字签名水印进行对比,只有在对比一致的情况下才证明加密数据(对应于物联网实体所申请的数据)在传输过程中未被篡改,能够降低数据使用和共享过程中的安全性风险。

[0056]在一种具体实施方式中,在步骤S206之后,还包括如下步骤S207至S209。

[0057]S207.第一区块链节点根据物联网实体的数字身份生成物联网实体的公钥和私钥;

[0058]S208.第一区块链节点使用物联网实体的公钥对所述第二加密数据进行加密后得到第三加密数据;

[0059]S209.第一区块链节点将所述第三加密数据和物联网实体的私钥发送至物联网实体,以使物联网实体使用自身的私钥对所述第三加密数据进行解密得到所述第二加密数据。

[0060]本实施例中,在第一区块链节点生成第二加密数据后,为了进一步确保数据传输过程中的安全性,第一区块链节点还使用物联网实体的公钥对所述第二加密数据进行加密后得到第三加密数据,并将所述第三加密数据和物联网实体的私钥发送至物联网实体,然后物联网实体使用自身的私钥对所述第三加密数据进行解密就可得到所述第二加密数据。[0061]在一种具体实施方式中,在步骤S201之后,以及步骤S202之前,还包括如下步骤S210至S211。

[0062]S210.第一区块链节点转发所述第一请求消息至智慧城市数据监管部门请求授权,以使智慧城市数据监管部门对所述第一请求消息进行签名并返回至第一区块链节点;[0063]S211.第一区块链节点接收已签名的第一请求消息,若签名结果为同意,则执行使用随机函数对所述数字身份进行哈希运算得到数字签名的步骤,即执行步骤S202。[00]本实施例中,在依据竞争机制选出第一区块链节点之后,第一区块链节点先转发所述第一请求消息至智慧城市数据监管部门请求授权,只有授权通过时才执行后续步骤,能进一步确保数据传输过程中的安全性。[0065]在一种具体实施方式中,步骤S204具体为:第一区块链节点根据所述数据内容的

9

CN 112507352 A

说 明 书

6/11页

获取时间生成时间戳;以及,使用所述数字签名和所述时间戳将所述数据内容打上水印生成第一加密数据。

[0066]本实施例中,在生成第一加密数据的过程中,除了使用数字签名以外,还使用根据所述数据内容的获取时间生成时间戳,能进一步确保数据传输过程中的安全性。[0067]在一种具体实施方式中,在步骤S209之后,还包括如下步骤S212和S213。[0068]S212.第一区块链节点发送第一广播消息至区块链系统,所述第一广播消息包括:物联网实体的数字身份、物联网实体申请访问的数据编号、物联网实体申请访问的数据内容的获取时间和所述随机函数;

[0069]S213.区块链系统内的各区块链节点分别将所述第一广播消息包含的数据存储到各自的区块中。

[0070]本实施例中,第一区块链节点将物联网实体的数字身份、物联网实体申请访问的数据编号、所述数据内容的获取时间和所述随机函数广播到区块链网络中,以使各区块链

进而准确定位责节点将之存储于各自的区块中,便于后续出现数据泄露事件时进行溯源,

任。

[0071]在一种具体实施方式中,在步骤S213之后,还包括如下步骤S214至S220。[0072]S214.第二区块链节点接收智慧城市数据监管部门发送的泄露数据内容,并从泄露数据内容的水印中获取数字签名和泄露数据内容的获取时间;

[0073]S215.第二区块链节点根据泄露数据内容从区块链系统中获取泄露数据的数据编号;

[0074]S216.第二区块链节点发送第二广播消息至区块链系统,所述第二广播消息包括:泄露数据的数据编号、数字签名和泄露数据内容的获取时间;

[0075]S217.区块链系统内的各区块链节点根据所述第二广播消息中的泄露数据的数据编号和泄露数据内容的获取时间分别从各自的区块中查找相符的数据调用记录,所述数据调用记录包括:物联网实体的数字身份、物联网实体申请访问的数据编号、物联网实体申请访问的数据内容的获取时间及随机函数;

[0076]S218.各区块链节点分别从找到的数据调用记录中获取数字身份和随机函数,并使用所述随机函数对所述数字身份进行哈希运算得到数字签名;

[0077]S219.各区块链节点分别将计算得到的数字签名与所述第二广播消息中的数字签名进行对比,若对比一致则发送第三广播消息至区块链系统,所述第三广播消息包括所述第二广播消息和计算得到的数字签名;

[0078]S220.第二区块链节点从区块链系统获取各区块链节点发送的第三广播消息,并对所述第三广播消息包括的数字签名进行整合,以确定泄露数据的来源。[0079]本实施例中,第二区块链节点将泄露数据内容的水印中获取的数字签名和泄露数据内容的获取时间,以及从区块链系统获取的泄露数据的数据编号在区块链网络中进行广播,使得各区块链节点从各自的区块中查找相符的数据调用记录以算出数字签名,并将计算出的数字签名与广播的数字签名进行对比,只有在对比一致的情况下才确认为泄露数据的源头的数字签名,并对已确认的数字签名进行整合以得出数据泄露源头。[0080]从前述两个实施例可以看出,基于区块链的数据共享方案可分为对共享数据访问过程进行监管和对泄露数据进行定位,下面以物联网实体采用用户终端设备为例分别进行

10

CN 112507352 A

说 明 书

7/11页

描述。

其中,对共享数据访问过程进行监管的方法包括如下步骤S301至S314。

[0082]S301.用户终端设备根据其物联网地址、实体类型和真实身份信息在智慧城市数据监管部门注册生成代表其身份的数字身份;

[0083]S302.用户终端设备发送第一请求消息至区块链系统,以申请存储在区块链系统中的智慧城市共享数据的访问权限,所述第一请求消息包含用户终端设备的数字身份及其申请访问的数据编号;

[0084]S303.区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,第一区块链节点转发所述第一请求消息到智慧城市数据监管部门请求授权;

[0085]S304.智慧城市数据监管部门对第一请求消息进行签名并返回至第一区块链节点;

[0086]S305.若签名结果为同意,则第一区块链节点根据用户终端设备的数字身份生成用户终端设备的第一公钥和第一私钥;

[0087]S306.第一区块链节点使用随机函数对用户终端设备的数字身份进行哈希运算得到数字签名;

[0088]S307.第一区块链节点根据所述数据编号从区块链系统获取用户终端设备申请访问的数据内容,根据所述数据内容的获取时间生成时间戳,并使用用户终端设备的数字签名和所述时间戳将用户终端设备申请访问的数据内容打上水印生成第一加密数据;

[00]S308.第一区块链节点使用自身的第二私钥对用户终端设备的数字签名进行加密得到数字签名密文,并将其附在第一加密数据的后面生成第二加密数据;

[0090]S309.第一区块链节点使用用户终端设备的第一公钥对第二加密数据进行加密得到第三加密数据,并将第三加密数据和用户终端设备的第一私钥发送给用户终端设备;[0091]S310.第一区块链节点发送第一广播消息到区块链系统,所述第一广播消息包括:物联网实体的数字身份、物联网实体申请访问的数据编号、物联网实体申请访问的数据内容的获取时间和所述随机函数,以便各区块链节点分别将所述第一广播消息包含的数据(即此次访问相关数据)存储到各自的区块中;

[0092]S311.用户终端设备使用其第一私钥对于第三加密数据进行解密得到第二加密数据;

[0093]S312.用户终端设备从第二加密数据获取第一加密数据和数字签名密文;

[0094]S313.用户终端设备使用第一区块链节点的第二公钥对数字签名密文进行解密得到数字签名明文;

[0095]S314.用户终端设备比对第一加密数据的数字签名水印和步骤S313解密得到的数字签名明文,若完全一致则证明第一加密数据在传送过程中未被篡改。[0096]对泄露数据进行定位的方法包括如下步骤S401至S407。

[0097]S401.第二区块链节点接收智慧城市数据监管部门发送的泄露数据内容,而后启动数据泄露定位流程;

[0098]S402.第二区块链节点从泄露数据内容的水印中获取数字签名和泄露数据内容的获取时间,并根据泄露数据内容从区块链系统获取泄露数据的数据编号;[0099]S403.第二区块链节点发送第二广播消息到区块链系统,所述第二广播消息包括:

11

[0081]

CN 112507352 A

说 明 书

8/11页

泄露数据的数据编号、数字签名和泄露数据内容的获取时间;

[0100]S404.各区块链节点根据所述第二广播消息中的泄露数据的数据编号和泄露数据内容的获取时间从各自的区块中查找符合条件的一个或多个数据调用记录;

[0101]S405.各区块链节点分别从一个或多个数据调用记录中获取数字身份和随机函数,并使用随机函数对数字身份进行哈希运算,得到一个或多个数字签名;

[0102]S406.各区块链节点将步骤S405得到的一个或多个数字签名同第二广播消息包含的数字签名进行比对,若比对一致则发送第三广播消息到区块链系统,所述第三广播消息包括所述第二广播消息和计算得到的数字签名;

[0103]S407.第二区块链节点接收各区块链节点发送的第三广播消息,并对第三广播消息包含的数字签名进行整合,从而确定数据泄露的数据源。[0104]本公开实施例提供的基于区块链的数据共享方法,在区块链技术和物联网技术的基础上,通过分布式存储、智能合约、加密技术、安全算法和隐私保护策略等方法构建了一套对智慧城市数据共享进行安全高效管理的方案,实现了智慧城市数据共享过程中确权、追溯、保护等工作,为跨层级、跨部门的智慧城市数据互联互通提供安全可信任的环境。而且,技术上允许智慧城市数据监管部门对访问方和访问数据进行自主授权,对数据调用行为进行记录,在出现数据泄露事件时还能够准确定位责任,可大幅降低智慧城市数据使用和共享过程中的安全性风险。

[0105]本公开实施例提供一种基于区块链的数据共享系统。所述系统包括:若干物联网实体,如图3所示,所述物联网实体3包括:第一发送模块31、获取模块32、解密模块33和对比模块34。

[0106]其中,第一发送模块31设置为发送第一请求消息至区块链系统,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以使区块链系统依据竞争机制选出响应所述第一请求消息的第一区块链节点,并使第一区块链节点使用随机函数对所述数字身份进行哈希运算得到数字签名,根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容,使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据;获取模块32设置为获取所述第二加密数据,并从中得到第一加密数据和数字签名密文;解密模块33设置为使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文;对比模块34设置为对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则证明所述第一加密数据在传输过程中未被篡改。[0107]物联网实体可以为物联网传感器、数据服务器、物联网服务器、物联网设备或用户终端设备。区块链系统内的各区块链节点分别部署在相应物联网实体上。[0108]在一种具体实施方式中,所述物联网实体3还包括:第一接收模块35。[0109]第一接收模块35设置为接收第一区块链节点发送的第三加密数据和物联网实体的私钥,其中所述第三加密数据为第一区块链节点使用物联网实体的公钥对所述第二加密数据进行加密后得到的,物联网实体的公钥和私钥为第一区块链节点根据物联网实体的数字身份生成的。

[0110]解密模块33还设置为使用物联网实体的私钥对所述第三加密数据进行解密得到第二加密数据。获取模块32具体设置为,从解密模块33处获取所述第二加密数据。

12

CN 112507352 A[0111]

说 明 书

9/11页

在一种具体实施方式中,所述物联网实体3还包括:注册模块36。

[0112]注册模块36设置为向智慧城市数据监管部门发送注册申请,以使智慧城市数据监管部门基于所述注册申请生成物联网实体的数字身份,并返回至物联网实体的注册模块36。相应地,第一发送模块31从注册模块36处获取物联网实体的数字身份。[0113]其中,所述注册申请可包括:物联网实体的物联网地址、实体类型和真实身份信息等。

[0114]本实施例所述数据共享系统与前述实施例所述数据共享方法中的相关特征可以相互参考。

[0115]本公开实施例提供另一种基于区块链的数据共享系统。所述系统包括区块链系统,如图4所示,所述区块链系统4包括多个区块链节点41;每个区块链节点41包括:数据处理模块411和加密模块412。[0116]其中,区块链系统4设置为接收物联网实体发送的第一请求消息,所述第一请求消息包括物联网实体的数字身份及其申请访问的数据编号,以及依据竞争机制选出响应所述第一请求消息的第一区块链节点;第一区块链节点的数据处理模块411设置为使用随机函数对所述数字身份进行哈希运算得到数字签名,以及根据所述数据编号从区块链系统获取物联网实体申请访问的数据内容;第一区块链节点的加密模块412设置为使用所述数字签名将所述数据内容打上水印生成第一加密数据,使用自身的私钥对所述数字签名进行加密得到数字签名密文,以及将所述数字签名密文附在所述第一加密数据后面生成第二加密数据,以使物联网实体在获取所述第二加密数据后,从中得到第一加密数据和数字签名密文,使用第一区块链节点的公钥解密所述数字签名密文得出数字签名明文,并对比所述第一加密数据的数字签名水印与所述数字签名明文,若一致,则确认所述第一加密数据在传输过程中未被篡改。

[0117]在一种具体实施方式中,每个区块链节点41还包括:第二发送模块413。

[0118]第一区块链节点的数据处理模块411还设置为根据物联网实体的数字身份生成物联网实体的公钥和私钥;第一区块链节点的加密模块412还设置为使用物联网实体的公钥对所述第二加密数据进行加密后得到第三加密数据;第一区块链节点的第二发送模块413设置为将所述第三加密数据和物联网实体的私钥发送至物联网实体,以使物联网实体使用自身的私钥对所述第三加密数据进行解密得到所述第二加密数据。[0119]在一种具体实施方式中,每个区块链节点41还包括:第二接收模块414。

[0120]第一区块链节点的数据处理模块411还设置为转发所述第一请求消息至智慧城市数据监管部门请求授权,以使智慧城市数据监管部门对所述第一请求消息进行签名并返回至第一区块链节点;第一区块链节点的第二接收模块414设置为接收已签名的第一请求消息,若签名结果为同意,则数据处理模块411执行使用随机函数对所述数字身份进行哈希运算得到数字签名的操作。

[0121]在一种具体实施方式中,第一区块链节点的数据处理模块411还设置为根据所述数据内容的获取时间生成时间戳;第一区块链节点的加密模块412具体设置为使用所述数字签名和所述时间戳将所述数据内容打上水印生成第一加密数据。[0122]在一种具体实施方式中,第一区块链节点的第二发送模块413还设置为发送第一广播消息至区块链系统,所述第一广播消息包括:物联网实体的数字身份、物联网实体申请

13

CN 112507352 A

说 明 书

10/11页

访问的数据编号、物联网实体申请访问的数据内容的获取时间和所述随机函数;各区块链节点的数据处理模块411分别设置为将所述第一广播消息包含的数据存储到各自的区块中。

[0123]在一种具体实施方式中,第二区块链节点的第二接收模块414设置为接收智慧城市数据监管部门发送的泄露数据内容;第二区块链节点的数据处理模块411设置为从泄露数据内容的水印中获取数字签名和泄露数据内容的获取时间,以及根据泄露数据内容从区块链系统中获取泄露数据的数据编号;第二区块链节点的第二发送模块413设置为发送第二广播消息至区块链系统,所述第二广播消息包括:泄露数据的数据编号、数字签名和泄露数据内容的获取时间;各区块链节点的数据处理模块411设置为根据所述第二广播消息中的泄露数据的数据编号和泄露数据内容的获取时间分别从各自的区块中查找相符的数据调用记录,所述数据调用记录包括:物联网实体的数字身份、物联网实体申请访问的数据编号、物联网实体申请访问的数据内容的获取时间及随机函数,分别从找到的数据调用记录中获取数字身份和随机函数,并使用所述随机函数对所述数字身份进行哈希运算得到数字签名,以及分别将计算得到的数字签名与所述第二广播消息中的数字签名进行对比,若对比一致则发送第三广播消息至区块链系统,所述第三广播消息包括所述第二广播消息和计算得到的数字签名;第二区块链节点的第二接收模块414还设置为从区块链系统获取各区块链节点发送的第三广播消息;第二区块链节点的数据处理模块411还设置为对所述第三广播消息包括的数字签名进行整合,以确定泄露数据的来源。[0124]此外,各区块链节点还包括:认证模块和解密模块。具体地,接收模块用于接收区块链其他节点发送的数据或指令;认证模块用于对区块链其他节点发送的数据或指令进行合法性认证;加密模块用于对节点之间交互的指令和数据进行加密处理;解密模块用于对接收到的指令和数据进行解密处理;数据处理模块对物联网实体或区块链其他节点提供数据访问、存储和处理等服务。可以将接收模块、认证模块、加密模块、解密模块、数据处理模块和发送模块所构成的系统当作运行在区块链节点上的节点管理系统。

[0125]本实施例所述数据共享系统与前述实施例所述数据共享方法中的相关特征可以相互参考。

[0126]图5为本公开实施例提供的基于区块链的数据共享系统的结构示意图。如图5所示,所述数据共享系统5包括:若干物联网实体3和区块链系统4,其中所述区块链系统4包括多个区块链节点,每个区块链节点部署在相应的物联网实体上。由于物联网实体及区块链系统的结构已在前述实施例中予以详细描述,此处不再赘述。[0127]本公开实施例提供的基于区块链的数据共享系统,通过分布式存储、智能合约、加密技术、安全算法和隐私保护策略等方法实现智慧城市数据共享过程中确权、追溯、保护等工作,为跨层级、跨部门的智慧城市数据互联互通提供安全可信任的环境。而且,技术上允许智慧城市数据监管部门对访问方和访问数据进行自主授权,对数据调用行为进行记录,在出现数据泄露事件时还能够准确定位责任,可大幅降低智慧城市数据使用和共享过程中的安全性风险。

[0128]本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个

14

CN 112507352 A

说 明 书

11/11页

物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。[0129]最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

15

CN 112507352 A

说 明 书 附 图

1/4页

图1

16

CN 112507352 A

说 明 书 附 图

2/4页

图2

17

CN 112507352 A

说 明 书 附 图

3/4页

图3

图4

18

CN 112507352 A

说 明 书 附 图

4/4页

图5

19

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务