System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于区块链的MQTT安全通信方法及装置制造方法及图纸_技高网

一种基于区块链的MQTT安全通信方法及装置制造方法及图纸

技术编号:40368549 阅读:6 留言:0更新日期:2024-02-20 22:13
本发明专利技术公开了一种基于区块链的MQTT安全通信方法及装置,通过对MQTT的发布者身份的认证,能够保证发布者的身份完全可信,其他恶意的发布者无法发布数据干扰数据的正常发布;验证发布者身份的时候和区块链技术相结合,保证发布者秘钥的可信性,从而完成可信性的认证;主题订阅者订阅这个可信的主题后,只需要订阅主题即可,无需担心发布数据的来源问题,MQTT网关完成承担此部分的功能,这样可以只需要一次认证,就可以使得订阅者获取可信的安全数据,大大减少每个订阅者去认证的时间,效率得到了很大提高。

【技术实现步骤摘要】

本专利技术涉及数据安全传输和身份安全认证,尤其涉及一种基于区块链的mqtt安全通信方法及装置。


技术介绍

1、随着物联网的快速发展,设备之间的网络传输现在很多都采用mqtt技术,虽然mqtt技术可以实现轻量级的发布/订阅式消息传输,但是消息发布者没有经过认证,只有客户端连接mqtt服务端的用户认证。只要知道主题,谁都可以进行数据的发布,这样可能就会有些异常发布导致订阅者获取到错误的信息。所以如何保证发布者的身份可信,保证发布的数据可信,变得尤为重要。


技术实现思路

1、本专利技术的目的就在于为了解决物联网通讯中mqtt网络通讯的安全威胁问题而提供一种基于区块链的mqtt安全通信方法及装置,本专利技术结合mqtt的网络传输逻辑,增加一层mqtt网关,实现主题的安全认证和发布者的身份验证,发布者的身份认证与区块链相结合,保证发布者身份可信,实现消息的安全发布;这种认证方式是由网关统一进行认证,只需要网关认证一次,而不需要每个订阅者对发布者进行认证,可以减少订阅者那边的资源开销,这样既可以保证通信的安全也可以加快网络通讯的速度。

2、本专利技术通过以下技术方案来实现上述目的:

3、一种基于区块链的mqtt安全通信方法,包括以下步骤:

4、步骤1、在mqtt的客户端定义一个主题,并生成一个密钥对,私钥自己保存,公钥和定义的主题经过组装生成数据,保存至区块链;

5、步骤2、mqtt客户端通过认证方式登录网关,并将公钥和主题上传到mqtt网关;</p>

6、步骤3、mqtt客户端发布者组装需要发布的数据,使用生成的私钥签名组装的数据,使用生成的私钥签名主题名称;

7、步骤4、mqtt客户端连接mqtt网关,并发布需要发布的数据,数据包括签名的签名信息等其他信息;

8、步骤5、mqtt网关收到数据,解析数据,获取主题、数据、数据签名信息和主题签名信息;

9、步骤6、mqtt网关解析完数据后首先到区块链验证主题和公钥的可信性,如果验证成功,则进行下一步,如果验证失败,则直接返回mqtt客户端;用于验证的是发布者的身份和主题信息是否安全;

10、步骤7、mqtt网关验签主题和相应的数据,如果验证成功则进行下一步,如果验证失败,则直接返回mqtt客户端;用于验证的是发布者发布的数据信息是否安全;

11、步骤8、验证成功后,mqtt网关连接mqtt的broker,根据主题发布需要发布的发布者传输到网关的数据;

12、步骤9、数据发布成功后,订阅了该主题的客户端可以收到发布者发布的数据,而且可以保证发布的数据可信。

13、进一步方案为,所述步骤5中,mqtt网关用于发布者身份和发布数据的校验,校验通过的发布者才能通过mqtt网关发布数据,校验不通过的发布者无法进行数据的正常发布。

14、进一步方案为,所述步骤6中,网关在此对发布者的身份和数据进行了安全性的校验,所有的订阅者不再需要再对发布者身份和数据进行校验,可以大大降低每个订阅者的资源开销,在保证数据的安全情况下又不至于牺牲订阅者的性能。

15、本专利技术另一方面还提供了一种基于区块链的mqtt安全通信装置,包括:

16、客户端初始化模块,所述客户端初始化模块用于定义主题和生成公私钥对,并将这些信息上传区块链;

17、mqtt网关模块,该mqtt网关模块用于和区块链、mqtt broker、mqtt的客户端进行数据交互;mqtt客户端发布的数据需要经过该模块,经过该模块验证成功后才能发布到broker。

18、进一步方案为,所述主题是后续需要发布的数据的topic,公私钥用来标识发布者的身份,只有拥有私钥的客户端才能发布数据没有该私钥发布的数据无法验证通过,这样可以保证数据发布者的身份完全可信。该模块还需要将主题信息和自己私钥对应的公钥上传到mqtt网关,方便后续发布数据的时候进行身份的验证。

19、进一步方案为,所述mqtt网关模块在验证发布者的时候,使用发布者的公钥对发布数据进行验签,保证数据是发布者发出来的数据。

20、进一步方案为,所述mqtt网关模块在验证过程中和区块链进行交互,验证发布者的身份信息是否可信;最后通过验证的发布消息再与broker进行交互,发布客户端发布的数据信息,最后订阅者才能收到发布者发布的数据。

21、本专利技术的有益效果在于:

22、本专利技术的一种基于区块链的mqtt安全通信方法及装置,通过对mqtt的发布者身份的认证,能够保证发布者的身份完全可信,其他恶意的发布者无法发布数据干扰数据的正常发布;验证发布者身份的时候和区块链技术相结合,保证发布者秘钥的可信性,从而完成可信性的认证;主题订阅者订阅这个可信的主题后,只需要订阅主题即可,无需担心发布数据的来源问题,mqtt网关完成承担此部分的功能,这样可以只需要一次认证,就可以使得订阅者获取可信的安全数据,大大减少每个订阅者去认证的时间,效率得到了很大提高。

本文档来自技高网...

【技术保护点】

1.一种基于区块链的MQTT安全通信方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种基于区块链的MQTT安全通信方法,其特征在于,所述步骤5中,MQTT网关用于发布者身份和发布数据的校验,校验通过的发布者才能通过MQTT网关发布数据,校验不通过的发布者无法进行数据的正常发布。

3.如权利要求1所述的一种基于区块链的MQTT安全通信方法,其特征在于,所述步骤6中,网关在此对发布者的身份和数据进行了安全性的校验,所有的订阅者不再需要再对发布者身份和数据进行校验。

4.一种基于区块链的MQTT安全通信装置,其特征在于,包括:

5.如权利要求4所述的一种基于区块链的MQTT安全通信装置,其特征在于,所述主题是后续发布的数据的Topic,公私钥用来标识发布者的身份,所述客户端初始化模块将主题信息和自己私钥对应的公钥上传到MQTT网关,用于后续发布数据的时候进行身份的验证。

6.如权利要求4所述的一种基于区块链的MQTT安全通信装置,其特征在于,所述MQTT网关模块在验证发布者的时候,使用发布者的公钥对发布数据进行验签,保证数据是发布者发出来的数据。

7.如权利要求4所述的一种基于区块链的MQTT安全通信装置,其特征在于,所述MQTT网关模块在验证过程中和区块链进行交互,验证发布者的身份信息是否可信;最后通过验证的发布消息再与Broker进行交互,发布客户端发布的数据信息,最后订阅者才能收到发布者发布的数据。

...

【技术特征摘要】

1.一种基于区块链的mqtt安全通信方法,其特征在于,包括以下步骤:

2.如权利要求1所述的一种基于区块链的mqtt安全通信方法,其特征在于,所述步骤5中,mqtt网关用于发布者身份和发布数据的校验,校验通过的发布者才能通过mqtt网关发布数据,校验不通过的发布者无法进行数据的正常发布。

3.如权利要求1所述的一种基于区块链的mqtt安全通信方法,其特征在于,所述步骤6中,网关在此对发布者的身份和数据进行了安全性的校验,所有的订阅者不再需要再对发布者身份和数据进行校验。

4.一种基于区块链的mqtt安全通信装置,其特征在于,包括:

5.如权利要求4所述的一种基于区块链的mqtt安全通信装置,其特...

【专利技术属性】
技术研发人员:杨国东曾佳豪
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

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

1