本发明涉及通信数据,尤其涉及一种可追溯的保密发布方法及订阅方法。
背景技术:
1、物联网是将数以亿计的设备连接到互联网,使生活、生产更加智能、便利、高效和自动化,被广泛应用于各个领域,随着海量的物联网节点的接入及多源异构数据的爆炸式增长,物联网设备之间通过数据交换获取更丰富的信息,以便做出更加合理的决策,从而提高任务效率,同时,物联网应用的指数级增长导致大量安全漏洞的出现,且大规模物联网系统数据在传输、处理和存储过程中的泄露会严重影响个人隐私,造成严重后果,物联网系统通常没有中央管理系统,缺乏记录物联网设备行为的良好基础设施,因此很难为设备生成信任安全及行为追溯。
技术实现思路
1、鉴于上述问题,提出了本发明以便提供一种可追溯的保密发布方法及订阅方法,通过采用区块链的物联网数据共享方案,保障数据共享过程的安全性与保密性。
2、依据本发明的第一个方面,提供了一种可追溯的保密发布方法,包括:
3、注册并生成身份及设备信息,身份及设备信息包括用户名、设备id、用户私钥、用户公钥、设备id的数据签名;
4、第一目标设备向mqtt服务器发送用户名、设备id、设备id的数据签名进行验证;
5、若验证成功,则与mqtt服务器建立连接,并将第一目标设备的登录时间、互联网协议ip地址进行区块链存证;
6、第一目标设备发布主题数据,mqtt服务器将发布的主题数据加密写入数据库并进行区块链存证。
7、可选的,注册并生成身份及设备信息,包括:
8、在注册时生成随机数,并将随机数作为用户名;
9、智能合约生成用户私钥、用户公钥,并将用户私钥返回;
10、响应于用户输入的设备id,并根据输入的设备id以及用户私钥,确定设备id的数据签名。
11、可选的,mqtt服务器将发布的主题数据加密写入数据库并进行区块链存证,包括:
12、将主题数据提取杂凑字串;
13、通过对称密钥将主题数据加密并存储在数据库的存储地址中;
14、将杂凑字串、存储地址以及主题数据发布的发布时间进行区块链存证。
15、可选的,对称密钥为用户名或其他随机数。
16、依据本发明的第二个方面,一种可追溯的保密发布装置,包括:
17、第一注册模块,用于注册并生成身份及设备信息,身份及设备信息包括用户名、设备id、用户私钥、用户公钥、设备id的数据签名;
18、第一验证模块,用于目标设备向mqtt服务器发送用户名、设备id、设备id的数据签名进行验证;
19、第一连接模块,用于在验证成功时,与mqtt服务器建立连接,并将目标设备的登录时间、互联网协议ip地址进行区块链存证;
20、第一发布模块,用于目标设备发布主题数据,mqtt服务器将发布的主题数据加密写入数据库并进行区块链存证。
21、依据本发明的第三个方面,提供一种可追溯的保密订阅方法,包括:
22、注册并生成身份及设备信息,身份及设备信息包括用户名、设备id、用户私钥、用户公钥、设备id的数据签名;
23、第二目标设备向mqtt服务器发送用户名、设备id、设备id的数据签名进行验证;
24、若验证成功,则与mqtt服务器建立连接,并将第二目标设备的登录时间、互联网协议ip地址进行区块链存证;
25、第二目标设备发送关于第一目标设备的订阅主题请求,mqtt服务器根据订阅主题请求,向第二目标设备发送订阅信息。
26、可选的,订阅信息包括第一目标设备主题数据的杂凑字串、主题数据的存储地址。
27、可选的,注册并生成身份及设备信息,包括:
28、在注册时生成随机数,并将随机数作为用户名;
29、智能合约生成用户私钥、用户公钥,并将用户私钥返回;
30、响应于用户输入的设备id,并根据输入的设备id以及用户私钥,确定设备id的数据签名。
31、可选的,还包括:
32、第二目标设备根据所述存储地址获取加密后的主题数据;
33、根据对称密钥对加密后的主题数据进行解密,得到解密后的主题数据;
34、根据杂凑字串对解密后的主题数据进行验证。
35、依据本发明的第四个方面,提供了一种可追溯的保密订阅装置,包括:
36、第二注册模块,用于注册并生成身份及设备信息,身份及设备信息包括用户名、设备id、用户私钥、用户公钥、设备id的数据签名;
37、第二连接模块,用于第二目标设备向mqtt服务器发送用户名、设备id、设备id的数据签名进行验证;
38、第二验证模块,用于验证成功时,与mqtt服务器建立连接,并将第二目标设备的登录时间、互联网协议ip地址进行区块链存证;
39、第二订阅模块,用于第二目标设备发送关于第一目标设备的订阅主题请求,mqtt服务器根据订阅主题请求,向第二目标设备发送订阅信息。
40、本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:
41、本说明书实施例提供的一种可追溯的保密发布方法及订阅方法,通过注册并生成身份及设备信息,身份及设备信息包括用户名、设备id、用户私钥、用户公钥、设备id的数据签名;然后第一目标设备向mqtt服务器发送用户名、设备id、设备id的数据签名进行验证;若验证成功,则与mqtt服务器建立连接,并将第一目标设备的登录时间、互联网协议ip地址进行区块链存证;之后第一目标设备发布主题数据,mqtt服务器将发布的主题数据加密写入数据库并进行区块链存证。如此,保障数据共享过程的安全性与保密性,实现设备主题管理和链下数据共享,并记录设备的连接、离线及订阅等历史操作以便追溯,通过加密算法保障共享数据过程中的一致性和隐私性,而且将设备行为、数据共享记录上链存储,增加了追溯的便捷性。
42、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种可追溯的保密发布方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述注册并生成身份及设备信息,包括:
3.根据权利要求1所述的方法,其特征在于,所述mqtt服务器将发布的主题数据加密写入数据库并进行区块链存证,包括:
4.根据权利要求3所述的方法,其特征在于,所述对称密钥为用户名或其他随机数。
5.一种可追溯的保密发布装置,其特征在于,包括:
6.一种可追溯的保密订阅方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述订阅信息包括第一目标设备主题数据的杂凑字串、所述主题数据的存储地址。
8.根据权利要求7所述的方法,其特征在于,还包括:
9.根据权利要求6所述的方法,其特征在于,所述注册并生成身份及设备信息,包括:
10.一种可追溯的保密订阅装置,其特征在于,包括: