一种ROS节点的通信方法、认证方法及装置制造方法及图纸

技术编号:19641957 阅读:31 留言:0更新日期:2018-12-05 18:17
本发明专利技术提供一种ROS节点的通信方法、认证方法及装置,旨在提高ROS的安全性。其中,所述ROS节点的通信方法,包括:在与所述ROS中的节点相互认证通过后,接收来自所述节点中的订阅节点的订阅请求,所述订阅请求用于请求订阅第一话题;响应所述订阅请求,在所述节点中查找所述第一话题的发布节点,并将查找到的发布节点的节点信息发送给所述订阅节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥,所述通信信息用于所述发布节点与所述订阅节点建立通信连接;所述协议密钥用于对所述节点中的发布节点与订阅节点之间进行加密通信。

A Communication Method, Authentication Method and Device for ROS Nodes

The invention provides a communication method, authentication method and device of ROS node, aiming at improving the security of ROS. The communication method of the ROS node includes: receiving a subscription request from the subscriber node of the node after mutual authentication with the node in the ROS, the subscription request is used to request subscription to the first topic, and searching the publishing node of the first topic in the node in response to the subscription request. And send the node information of the found publishing node to the subscribing node, which is sent by the publishing node to the node manager when publishing the first topic. The node information includes the communication information and protocol key of the publishing node, and the communication information is used for the publishing node and the subscribing node. The subscriber node establishes a communication connection; the protocol key is used to encrypt communication between the publishing node and the subscribing node in the node.

【技术实现步骤摘要】
一种ROS节点的通信方法、认证方法及装置
本专利技术涉及机器人操作系统(ROS,RobotOperatingSystem)
,尤其涉及一种ROS节点的通信方法及装置。
技术介绍
随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求越来越强烈,而已有的开源机器人系统并不能很好的适应需求。于是发布了一个开源机器人操作系统,即ROS。很快在机器人研究领域展开了学习和使用ROS的热潮。目前,ROS是一个在计算机上对机器人进行操作的一个开源系统。ROS通常由大量节点组成,其中任何一个节点均可以通过发布/订阅的方式与其他节点进行通信。举例来说,机器人上的一个位置传感器,如雷达单元就可以作为ROS的一个节点,雷达单元可以以信息流的方式发布雷达获得的信息,发布的信息可以被其他节点,如导航单元、路径规划单元获得。但是,由于ROS中任何一个节点都可以发布信息或者是订阅信息,如此,就可能出现节点伪造身份获取信息、发布虚假指令等情况,使得系统安全无法得到保证。
技术实现思路
鉴于上述问题,本专利技术实施例的目的是提供一种ROS节点的通信方法、认证方法及装置,旨在提高ROS的安全性。为解决上述技术问题,本专利技术实施例提供以下技术方案:第一方面,本专利技术实施例提供一种ROS节点的通信方法,包括:在与所述ROS中的节点相互认证通过后,接收来自所述节点中的订阅节点的订阅请求,所述订阅请求用于请求订阅第一话题;响应所述订阅请求,在所述节点中查找所述第一话题的发布节点,并将查找到的发布节点的节点信息发送给所述订阅节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥,所述通信信息用于所述发布节点与所述订阅节点建立通信连接;所述协议密钥用于对所述节点中的发布节点与订阅节点之间进行加密通信。第二方面,本专利技术实施例提供一种ROS节点的通信方法,包括:在与所述ROS中的节点管理器相互认证通过后,向所述节点管理器发送订阅请求,所述订阅请求用于请求订阅第一话题;接收所述节点管理器响应所述订阅请求所发送的发布节点的节点信息,所述发布节点为所述节点中发布所述第一话题的节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给所述节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥;根据所述通信信息与所述发布节点建立通信连接,并将使用所述协议密钥与所述发布节点进行加密通信。第三方面,本专利技术实施例提供一种ROS节点的通信方法,包括:在与所述ROS中的节点管理器相互认证通过后,向所述节点管理发送发布请求,所述发布请求用于请求发布第一话题,所述发布请求中携带有发布节点的节点信息,所述节点信息包括发布节点的通信信息和协议密钥;接收订阅节点根据所述通信信息发送的通信请求,所述订阅节点为订阅所述第一话题的节点;响应所述通信请求,与所述订阅节点建立通信连接,并将使用所述协议密钥与所述订阅节点进行加密通信。第四方面,本专利技术实施例提供一种ROS节点的认证方法,包括:接收来自节点的注册请求;响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证;在与所述设备驱动程序相互认证通过后,与所述节点管理器对自身对应的节点进行认证。第五方面,本专利技术实施例提供一种ROS节点的认证方法,包括:与节点管理器进行相互认证;在认证通过后,与所述节点管理器对自身对应的节点进行认证。第六方面,本专利技术实施例提供一种ROS节点的通信装置,包括:第一认证单元,用于与所述ROS中的节点相互认证;第一接收单元,用于接收来自所述节点中的订阅节点的订阅请求,所述订阅请求用于请求订阅第一话题;查找单元,用于响应所述订阅请求,在所述节点中查找所述第一话题的发布节点;第一发送单元,用于将所述发布节点的节点信息发送给所述订阅节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥,所述通信信息用于所述发布节点与所述订阅节点建立通信连接;所述协议密钥用于对所述节点中的发布节点与订阅节点之间进行加密通信。第七方面,本专利技术实施例提供一种ROS节点的通信装置,包括:第二认证单元,用于与所述ROS中的节点管理器相互认证;第二发送单元,用于与所述ROS中的节点管理器相互认证通过后,向所述节点管理器发送订阅请求,所述订阅请求用于请求订阅第一话题;第二接收单元,用于接收所述节点管理器响应所述订阅请求所发送的发布节点的节点信息,所述发布节点为所述节点中发布所述第一话题的节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给所述节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥;第一通信单元,用于根据所述通信信息与所述发布节点建立通信连接,并将使用所述协议密钥与所述发布节点进行加密通信。第八方面,本专利技术实施例提供一种ROS节点的通信装置,包括:第三认证单元,用于与所述ROS中的节点管理器相互认证;第三发送单元,用于在与所述ROS中的节点管理器相互认证通过后,向所述节点管理发送发布请求,所述发布请求用于请求发布第一话题,所述发布请求中携带有发布节点的节点信息,所述节点信息包括发布节点的通信信息和协议密钥;第三接收单元,用于接收订阅节点根据所述通信信息发送的通信请求,所述订阅节点为订阅所述第一话题的节点;第二通信单元,用于响应所述通信请求,与所述订阅节点建立通信连接,并将使用所述协议密钥与所述订阅节点进行加密通信。第九方面,本专利技术实施例提供一种ROS节点的认证装置,包括:第四接收单元,用于接收来自节点的注册请求;第四认证单元,用于响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证;第五认证单元,用于在与所述设备驱动程序相互认证通过后,与所述设备驱动程序对所述节点进行认证。第十方面,本专利技术实施例提供一种ROS节点的认证装置,包括:第六认证单元,用于与节点管理器进行相互认证;第七认证单元,用于在认证通过后,与所述节点管理器对自身对应的节点进行认证。本专利技术实施例所提供的一种ROS节点的通信方法、认证方法及装置,其中,在ROS节点的通信方法中,ROS中的节点管理器(Master)在与ROS中的节点(Node)相互认证通过后,接收来自订阅节点的订阅请求,该订阅请求是用于请求订阅第一话题的,节点管理器响应上述订阅请求,在注册到ROS的节点中查找第一话题的发布节点,并将该发布节点的节点信息发送给订阅节点,节点信息中包括通信信息和协议密钥,这样,订阅节点可以根据通信信息与第一话题的发布节点建立通信连接,并与发布节点使用协议密钥进行加密通信,以此来减少节点伪造身份获取信息、发布虚假指令等情况的发生,提高ROS的安全性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例中的ROS的系统结构示意图;图2为本专利技术实施例中的ROS节点的通信方法的实施流程示意图;图3为本专利技术实施例中的基于ROS的无人机通信方法的实施流程示意图;图4为本专利技术实施例中的节点管理器与设备驱动程序相本文档来自技高网...

【技术保护点】
1.一种ROS节点的通信方法,其特征在于,包括:在与所述ROS中的节点相互认证通过后,接收来自所述节点中的订阅节点的订阅请求,所述订阅请求用于请求订阅第一话题;响应所述订阅请求,在所述节点中查找所述第一话题的发布节点,并将查找的发布节点的节点信息发送给所述订阅节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥,所述通信信息用于所述发布节点与所述订阅节点建立通信连接;所述协议密钥用于对所述节点中的发布节点与订阅节点之间进行加密通信。

【技术特征摘要】
1.一种ROS节点的通信方法,其特征在于,包括:在与所述ROS中的节点相互认证通过后,接收来自所述节点中的订阅节点的订阅请求,所述订阅请求用于请求订阅第一话题;响应所述订阅请求,在所述节点中查找所述第一话题的发布节点,并将查找的发布节点的节点信息发送给所述订阅节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥,所述通信信息用于所述发布节点与所述订阅节点建立通信连接;所述协议密钥用于对所述节点中的发布节点与订阅节点之间进行加密通信。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收来自所述节点的注册请求;响应所述注册请求,与所述节点进行相互认证;其中,所述响应所述注册请求,与所述节点进行相互认证的步骤,包括:响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证;在与所述设备驱动程序相互认证通过后,与所述设备驱动程序对所述节点进行认证。3.根据权利要求1所述的方法,其特征在于,所述响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证,包括:响应所述注册请求,生成随机字符串,并获取第一密钥;使用所述第一密钥对所述随机字符串进行加密,生成第一加密密文,并将所述第一加密密文通过所述节点发送至所述设备驱动程序,所述第一加密密文用于指示所述设备驱动程序使用所述第一密钥对第一加密密文解密,并使用第二密钥对解密后的第一加密密文加密以生成第二加密密文;通过所述节点接收来自所设备驱动程序的所述第二加密密文,并使用所述第二密钥对所述第二加密密文进行解密;将解密后的第二加密密文与所述随机字符串进行对比,其中,若所述解密后的第二加密密文与所述随机字符串一致,则表明与所述设备驱动程序相互认证通过;若所述解密后的第二加密密文与所述随机字符串不一致,则表明与所述设备驱动程序相互认证失败。4.根据权利要求2所述的方法,其特征在于,所述与所述设备驱动程序对所述节点进行认证,包括:获取所述节点的密文信息和明文信息,所述密文信息是由所述明文信息采用第三密钥加密后得到的;使用第二密钥对所述密文信息和所述明文信息进行加密,获得第三加密密文;将所述第三加密密文通过所述节点发送至所述设备驱动程序,所述第三加密密文用于指示所述设备驱动程序使用所述第三密钥对所述第三加密密文进行解密,并将解密后的第三加密密文中的密文信息与解密后的第三加密密文中的明文信息进行匹配,其中,若解密后的第三加密密文中的密文信息与解密后的第三加密密文中的明文信息匹配,则表明与所述节点相互认证通过;若解密后的第三加密密文中的密文信息与解密后的第三加密密文中的明文信息不匹配,则表明与所述节点相互认证失败。5.一种ROS节点的通信方法,其特征在于,包括:在与所述ROS中的节点管理器相互认证通过后,向所述节点管理器发送订阅请求,所述订阅请求用于请求订阅第一话题;接收所述节点管理器响应所述订阅请求所发送的发布节点的节点信息,所述发布节点为所述节点中发布所述第一话题的节点,所述节点信息是由所述发布节点在发布所述第一话题时发送给所述节点管理器的,所述节点信息包括发布节点的通信信息和协议密钥;根据所述通信信息与所述发布节点建立通信连接,并将使用所述协议密钥与所述发布节点进行加密通信。6.一种ROS节点的通信方法,其特征在于,包括:在与所述ROS中的节点管理器相互认证通过后,向所述节点管理发送发布请求,所述发布请求用于请求发布第一话题,所述发布请求中携带有发布节点的节点信息,所述节点信息包括发布节点的通信信息和协议密钥;接收订阅节点根据所述通信信息发送的通信请求,所述订阅节点为订阅所述第一话题的节点;响应所述通信请求,与所述订阅节点建立通信连接,并将使用所述协议密钥与所述订阅节点进行加密通信。7.一种ROS节点的认证方法,其特征在于,包括:接收来自节点的注册请求;响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证;在与所述设备驱动程序相互认证通过后,与所述设备驱动程序对所述节点进行认证。8.根据权利要求7所述的方法,其特征在于,所述响应所述注册请求,与所述节点对应的设备驱动程序进行相互认证,包括:响应所述注册请求,生成随机字符串,并获取第一密钥;使用所述第一密钥对所述随机字符串进行加密,生成第一加密密文,并将所述第一加密密文通过所述节点发送至所述设备驱动程序,所述第一加密密文用于指示所述设备驱动程序使用所述第一密钥对第一加密密文解密,并使用第二密钥对解密后的第一加密密文加密以生成第二加密密文;通过所述节点接收来自所设备驱动程序的所述第二加密密文,并使用所述第二密钥对所述第二加密密文进行解密;将解密后的第二加密密文与所述随机字符串进行对比;其中,若所述解密后的第二加密密文与所述随机字符串一致,则表明与所述设备驱动程序相互认证通过;若所述解密后的第二加密密文与所述随机字符串不一致,则表明与所述设备驱动程序相互认证失败。9.根据权利要求7所述的方法,其特征在于,所述与所述设...

【专利技术属性】
技术研发人员:王子宜
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:北京,11

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

1