温馨提示:这篇文章已超过460天没有更新,请注意相关的内容是否还可用!
摘要:关于MAVLink2数据包签名(安全)的部分,主要涉及到无人机通信协议的安全机制。该部分着重讨论如何通过签名技术确保MAVLink2数据包的完整性和真实性,以增强无人机系统的安全性。通过对数据包进行签名,可以有效防止数据在传输过程中被篡改或伪造,从而保护无人机的安全稳定运行。
文章目录
ArduPilot 和任务计划器能够通过使用加密密钥对数据包进行签名,为空中 MAVLink 传输增加安全性,这种安全措施并不加密数据,而是控制自动驾驶仪是否响应 MAVLink 命令。
当自动驾驶仪处于激活状态时,任何非 USB 串行端口都可以配置为仅响应任务规划器的 MAVLink 命令请求,前提是这些请求包含正确的密码,这样,其他不了解密码的地面控制站 (GCS) 就无法读取或写入参数和发送命令,这在其他情况下是可能发生的,遥测下行链路数据不受此影响。
配置
确保遥测端口协议已设置为选项 2 (MAVLink2),使用 MAVLink 1 的通信并不受保护,在任务计划器中连接自动驾驶仪后,进入设置菜单和高级子菜单,然后点击“Mavlink Signing”(Mavlink 签名)。
对话框将显示所有为任务计划器设置的密码列表,您可以执行以下操作:
1、使用 ADD 按钮创建新密钥,按下删除键并从列表中删除密钥后,点击保存键(SAVE)以确认更改,您也可以在未连接的情况下执行此操作。
2、选择列表中的密钥用于自动驾驶仪时,请在连接时按下 USE 按钮,点击通讯端口下拉框下的 “Stats...”,以检查链接是否已签名。
要删除和禁用已连接自动驾驶仪的签名,请点击“Disable Signing”(禁用签名)按钮。
使用
自动驾驶仪使用签名后,USB 连接不受影响,但通过 SERIAL 端口使用 MAVLink2 协议进行的链接只有在使用自动驾驶仪的密钥签名后才会响应 MAVLink 命令,即使没有激活密钥签名,链接仍然可以接收遥测更新。
当您通过签名的链接连接任务规划器时,它会检查其密钥表中是否存储有您之前设置的正确密钥,如果有,连接将使用该密钥,自动驾驶仪将执行命令,包括在连接时下载参数,如果连接成功但没有下载参数,则表示密钥不存在,您需要添加密钥并重新连接。
MAVLink协议说明
MAVLink 是一种非常轻量级的消息传输协议,用于地面控制终端(地面站)与无人机之间以及机载无人机组件之间进行通信,Mavlink 遵循现代混合发布-订阅和点对点设计模式,数据流作为 topics 发送/发布的,而配置子协议(如路径点协议或参数协议)则基于重传机制的点对点模式,消息内容定义在与之关联的xml文件中,每个xml文件对应一个特定的MAVLink系统,并为该系统定义了专属的消息集(亦被称之为“语支”),大部分地面站和自动驾驶仪所采用的通用消息集定义在common.xml中,许多语支都是基于通用消息集构建的,即它们包含了common.xml中的消息内容,基于C封装的MAVLink库是一个header-only库,针对资源受限系统进行了高度优化,并已在实际产品中部署,用于不同厂家组件之间的交互,MAVLink于2009年初由Lorenz Meier首次发布,目前拥有众多贡献者。
还没有评论,来说两句吧...