(3)(3.2) MAVLink2数据包签名(安全),关于MAVLink2数据包的签名安全研究

马肤

温馨提示:这篇文章已超过460天没有更新,请注意相关的内容是否还可用!

摘要:关于MAVLink2数据包签名(安全)的部分,主要涉及到无人机通信协议的安全机制。该部分着重讨论如何通过签名技术确保MAVLink2数据包的完整性和真实性,以增强无人机系统的安全性。通过对数据包进行签名,可以有效防止数据在传输过程中被篡改或伪造,从而保护无人机的安全稳定运行。

文章目录

(3)(3.2) MAVLink2数据包签名(安全),关于MAVLink2数据包的签名安全研究 第1张

ArduPilot 和任务计划器能够通过使用加密密钥对数据包进行签名,为空中 MAVLink 传输增加安全性,这种安全措施并不加密数据,而是控制自动驾驶仪是否响应 MAVLink 命令。

当自动驾驶仪处于激活状态时,任何非 USB 串行端口都可以配置为仅响应任务规划器的 MAVLink 命令请求,前提是这些请求包含正确的密码,这样,其他不了解密码的地面控制站 (GCS) 就无法读取或写入参数和发送命令,这在其他情况下是可能发生的,遥测下行链路数据不受此影响。

配置

确保遥测端口协议已设置为选项 2 (MAVLink2),使用 MAVLink 1 的通信并不受保护,在任务计划器中连接自动驾驶仪后,进入设置菜单和高级子菜单,然后点击“Mavlink Signing”(Mavlink 签名)。

对话框将显示所有为任务计划器设置的密码列表,您可以执行以下操作:

1、使用 ADD 按钮创建新密钥,按下删除键并从列表中删除密钥后,点击保存键(SAVE)以确认更改,您也可以在未连接的情况下执行此操作。

2、选择列表中的密钥用于自动驾驶仪时,请在连接时按下 USE 按钮,点击通讯端口下拉框下的 “Stats...”,以检查链接是否已签名。

(3)(3.2) MAVLink2数据包签名(安全),关于MAVLink2数据包的签名安全研究 第2张

要删除和禁用已连接自动驾驶仪的签名,请点击“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首次发布,目前拥有众多贡献者。


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码