掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2024-04-18 19:59:31


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

技术领域

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

背景技术

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

发明内容

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

本发明通过以下技术方案来实现上述目的:

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

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

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

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

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

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

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

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

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

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

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

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

本发明另一方面还提供了一种基于区块链的MQTT安全通信装置,包括:

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

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

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

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

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

本发明的有益效果在于:

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

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明系统交互流程图。

图2为本发明客户端数据发布流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

在任一实施例中,本发明的一种基于区块链的MQTT安全通信方法,包括:

步骤1、首先MQTT的客户端定义一个属于自己的主题,然后生成一个密钥对,私钥自己保存,公钥和定义的主题经过一定的格式组装生成数据,最后上区块链;

步骤2、MQTT客户端通过一定的认证方式登录网关,并将公钥和主题上传到MQTT网关;

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

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

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

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

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

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

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

自此,基于区块链的MQTT安全通讯方法的整个流程已经完成,其方法的核心在于将发布者发布的主题、发布者的身份上区块链,这样可以保证发布者的身份可信,发布的数据也是可信的。将发布者发布的主题和发布者的身份秘钥相关联,订阅者可以完全方向发布者发布的数据是来自真实的发布者,不是其他恶意发布者发布的数据。其中,在逻辑上将网关放在发布者和Broker中间,验证过程在网关里面实现,而不是下放到订阅者的客户端去验证,这样可以保证发布数据安全性的同时,也保证了传输的高效性,避免了每个订阅者去验证,增加订阅者终端的资源消耗和流程复杂性。

在一个具体实施例中,本发明的一种基于区块链的MQTT安全通信装置,该装置包括:

客户端初始化模块,该部分针对是发布者的客户端,该模块主要是定义主题和生成公私钥对,并将这些信息上区块链。主题是后续需要发布的数据的Topic,公私钥用来标识发布者的身份,只有拥有私钥的客户端才能发布数据没有该私钥发布的数据无法验证通过,这样可以保证数据发布者的身份完全可信。该模块还需要将主题信息和自己私钥对应的公钥上传到MQTT网关,方便后续发布数据的时候进行身份的验证。

MQTT网关模块,该模块需要和区块链、MQTT Broker、MQTT的客户端进行数据交互。MQTT客户端发布的数据需要经过该模块,经过该模块验证成功后才能发布到Broker;该模块在验证发布者的时候,需要使用发布者的公钥对发布数据进行验签,保证数据是发布者发出来的数据;该模块在验证过程中需要和区块链进行交互,验证发布者的身份信息是否可信;最后通过验证的发布消息再与Broker进行交互,发布客户端发布的数据信息,最后订阅者才能收到发布者发布的数据。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

相关技术
  • 墙纸拼缝对齐装置以及利用其进行墙纸接缝对齐的方法
  • 一种基于视觉反馈的TDI-CCD相机双目视觉系统视场对齐方法
  • 对眼底相机的工作距离对齐效果进行优化的方法及其相关产品
  • 用于定位眼底相机的工作距离的方法及相关产品
技术分类

06120116521559