✨ 要点🔬 技术摘要
在机器人领域,机器并非孤立地思考;它们是在共同思考。无论是自主驾驶车队、机械臂还是无人机群,都依赖于不同软件部分之间持续、高速的对话。为了实现这一点,工程师们使用一种被称为“中间件”的标准语言,它充当了通用翻译官的角色,允许由不同团队编写的代码进行信息传递。多年来,这种翻译的标准一直建立在一种专为工业数据分发设计的系统之上,该系统将计算机之间的每种连接都视为同一种类型的网络问题,无论这些计算机是坐在同一个房间里,还是相隔数英里之遥。然而,这种“一刀切”的方法正在成为瓶씨(瓶颈)。随着机器人进入更复杂的环境,它们的通信方式需要发生变化。它们需要一个能够区分“信息是在单个计算机芯片内传输”还是“通过无线链路传输”的系统,并且需要该系统能够抵御不仅存在于当下、而且存在于未来的威胁,包括未来量子计算机可能破解当前加密技术的潜在风险。
莱昂大学(Universidad de León)的研究人员构建了一个名为 AXON 的新系统来解决这些问题。AXON 并没有强迫所有机器人通信都通过单一、僵化的管道,而是根据数据的去向来拆分任务。如果机器人系统的两个部分运行在同一台计算机上,AXON 会使用一种称为“共享内存”的方法,这让它们可以直接通过计算机自身的内存交换信息,而无需经过缓慢且浪费资源的网络栈传输数据。这就像是两个人在同一个房间里直接耳语,而不是对着扩音器大喊大叫。当数据需要通过不同的计算机进行传输时(例如从无人机到控制站),AXON 会切换到一种现代的高速传输协议——QUIC。这种协议旨在比旧方法更好地处理无线网络中混乱且不可预测的特性,确保即使在连接不稳定的情况下,消息也能快速且按序到达。
然而,AXON 最显著的创新在于它如何处理安全性。研究人员意识到,机器人集群携带着敏感数据(如地图和摄像机画面),且这些系统通常运行多年。这产生了一种风险:攻击者可以在今天窃取加密数据,然后等待未来的技术来解密它。为了防止这种情况,AXON 提供了两种截然不同的锁定连接方式,两者都旨在实现“失效关闭”(fail-closed),这意味着如果无法满足安全要求,系统将直接拒绝连接,而不是退回到一种较弱、不安全的模式。第一种方案使用一种混合密钥交换技术,它将标准的数学锁与一种新的抗量子锁相结合。这确保了即使未来的量子计算机破解了旧的锁,新的锁依然能够奏效。第二种方案更加稳健:它使用由量子密钥分发系统生成的密钥,该系统依赖物理定律而非数学逻辑来创建不可破解的代码。在这种模式下,系统会导入由安全硬件设备提供的秘密密钥,并利用它来锁定连接,不允许进行任何可能被拦截的数学协商。
为了实现这一目标,团队必须从头开始构建一套全新的架构。该系统分为两个层级:一个由现代编程语言 Rust 编写的快速、安全的内核,以及一个与机器人软件标准语言进行对话的薄适配器。一个小型后台程序(或称守护进程)在机器人旁边运行,负责发现其他机器并管理“谁在与谁通话”的映射图。这种分离使得数据能够流畅流动,同时由控制系统处理设置安全连接的复杂任务。研究人员还必须修改他们使用的底层安全软件,因为标准版本并不允许他们使用特定类型的抗量子密钥。他们创建了一个专门的安全库版本,允许系统直接导入预共享密钥,从而绕过可能受到未来攻击影响的常规握手过程。
结果表明,这是一个针对机器人实际运行方式量身定制的系统。通过为本地任务使用共享内存,该系统避免了不必要的延迟。通过为远程任务使用 QUIC,它能够优雅地处理网络错误。通过执行严格的安全规则,它确保了连接要么是完美的安全,要么根本不存在。研究人员在模拟实验中测试了该系统,并证实它可以处理机器人系统不同部分之间的数据流,管理从简单的状态更新到复杂的传感器数据。他们还演示了系统如何成功地在两种安全模式之间切换,并拒绝任何尝试与不符合严格安全标准的对等体进行连接的行为。虽然该系统尚未在真实的物理量子密钥分发设备上进行测试,也尚未成为每一个现有机器人通信标准的完美替代品,但它证明了更加灵活、安全且高效的方法是可行的。这项工作强调了,随着机器人越来越融入我们的生活,连接它们的软件也必须进化,变得像机器本身一样聪明且具有适应性,从而保护它们的对话不仅免受当今黑客的威胁,也免受未来威胁的侵害。
技术摘要:AXON —— 一种具有共享内存/QUIC 传输及 QKD/ML-KEM 密钥建立机制的 ROS 2 RMW
问题陈述
标准的机器人操作系统 2 (ROS 2) 架构通过机器人中间件接口 (RMW) 将应用代码与通信层解耦。然而,其参考实现依赖于 数据分发服务 (DDS) 及其 RTPS 线缆协议。虽然 DDS 确保了跨异构厂商的互操作性,但它将所有对等体关系视为统一的网络问题,而不论端点是共享同一主机、处于本地局域网,还是处于不稳定的无线链路中。这种通用性限制了针对特定部署拓扑(例如:同主机节点通信与远程机器人集群)进行传输优化的能力。
此外,机器人系统越来越多地在共享或无线链路中处理敏感数据,面临着“现在拦截,稍后解密”的攻击者以及未来量子计算威胁的风险。现有的中间件通常缺乏显式的、面向未来的设计,无法在不依赖经典回退机制的情况下,解决针对后量子密码学 (PQC) 和量子密钥分发 (QKD) 集成的密钥建立问题。
方法论
作者提出了 AXON ,一种替代性的 ROS 2 RMW 实现,它显式地根据部署范围分离了传输策略,并优先通过显式的密钥建立设计来保障机密性。
系统架构
AXON 采用了一个通过稳定的 C 外部函数接口 (FFI) 连接的双层架构:
C++ 适配器 (rmw_axon): 实现标准的 ROS 2 rmw_* API 表面,处理类型支持和通过 FastCDR 进行的 CDR 封装。它将所有传输逻辑委托给核心层。
Rust 核心 (axon_core): 管理所有传输与协调逻辑,包括共享内存环、QUIC 数据传输、会话生命周期、图缓存以及安全性。
控制平面 (axon_daemon): 一个自动生成的守护进程,负责处理发现(通过 UDP 多播/广播)、图同步和安全协商。它将控制平面的故障与数据平面的故障隔离开来。
传输机制
同主机通信: 利用带有 eventfd 通知和 epoll 多路复用的 POSIX 共享内存环。这避免了传输大型帧(如图像、点云)时的内核拷贝,并由 ROS_DOMAIN_ID 进行键控,以防止跨域泄漏。
跨主机通信: 通过 UDP 使用 QUIC(通过 quinn 库)。它支持多路复用流以消除队头阻塞,采用连接拥塞控制,并默认使用 1200 字节的 MTU 安全负载,以避免 IP 分片。大型负载(>1 KiB)采用 zstd 压缩。
安全设计
AXON 为远程流量实现了两种互斥且“失效即关闭”(fail-closed)的密钥建立配置,两者均依赖 QUIC 进行数据包保护:
经典模式(后量子混合模式):
密钥交换: 强制使用混合 X25519MLKEM768 组(结合了经典的 X25519 与 ML-KEM-768/CRYSTALS-Kyber)。
强制执行: 配置列表仅包含此组。尝试协商仅限经典组的对等体会遭到拒绝。
身份验证: 目前使用不带 CA 验证或指纹钉定的自签名证书,这意味着它能防御被动截获,但目前无法防御针对主动中间人 (MITM) 攻击的对等体身份验证。
QKD 模式(量子密钥分发):
密钥来源: 完全取代 Diffie-Hellman 交换。守护进程通过 ETSI GS QKD 014 REST API 从密钥管理实体 (KME) 获取 256 位对称密钥。
集成: 这些密钥作为 TLS 1.3 外部预共享密钥 (PSK) 被导入,并使用自定义的域分离派生方式(AXON-QKD-TLS13-EXTERNAL-PSK-v1)。
身份验证: 基于对 KME 交付的成对密钥的所有权来验证对等体身份。
应用层保护: 提供了一种 messages10 策略,即远程负载被包裹在一个额外的 AES-256-GCM AEAD 信封中。密钥每发送十条消息就会使用一个新的 Nonce 进行轮转,该过程独立于 QUIC 连接状态。
实现细节
Rustls 扩展: 标准的 rustls 并不通过其公共 API 暴露 TLS 1.3 外部 PSK。AXON 包含一个精简的分支 (rustls-axon),用于实现外部-PSK 类型、服务端解析器以及 QKD 模式所需的绑定器派生。
失效即关闭强制执行: 配置在启动时进行验证。无效模式、过时的变量或不匹配的对等体配置会导致立即启动错误,而不是静默降级为明文或较弱的加密方式。
核心贡献
双层 RMW 实现: 一个 Rust 核心和一个 C++ 适配器,通过专门的发现守护进程,将本地流量路由至共享内存,并将远程流量路由至 QUIC。
失效即关闭的安全模式: 两种截然不同的密钥建立配置:
强制性的混合 ML-KEM 交换,且无经典回退机制。
通过导入 ETSI 标准密钥材料作为 TLS 1.3 外部 PSK 的 QKD 模式。
应用层密钥轮转: messages10 策略为远程负载添加了第二层 AEAD 信封,允许 KME 密钥独立于 QUIC 会话进行轮转(每 10 条消息一次)。
TLS 实现扩展: 为了支持外部 PSK(这一能力在主流 upstream 公共 API 中并未开放),开发了必要的 rustls 分支。
明确的验证范围: 清晰界定了验证内容(实现一致性、传输语义、失效即关闭行为)与明确排除的内容(第三方密码学审计、物理 QKD 验证、完整的 ROS 2 一致性验证)。
结果与验证范围
本文在三个架构边界上验证了实现情况:
传输语义: 确认了远程交付的有序性、可靠发布者与尽力而为发布者之间不同的背压策略,以及共享内存环的正确行为。
ROS 2 行为: 验证了发布/订阅、服务/请求-响应关联、图同步以及守护进程重启的韧性。
安全强制执行: 验证了严格的模式选择、经典模式中的单一混合组、QKD 模式中的仅限外部-PSK 配置,以及对不匹配对等体的拒绝。
明确的局限性与声明: 作者明确指出 AXON 并不 声称:
是“量子安全”或具备信息论安全的(QKD 材料用于播种对称密钥,而非作为一次一密使用)。
在经典模式下提供经过认证的对等体身份(由于使用自签名证书)。
与现有的 DDS 域具有线缆兼容性。
经过了第三方密码学审计。
验证了针对物理 QKD 链路的性能(使用的是模拟器进行 API 集成)。
重要性
AXON 证明了 ROS 2 中间件可以进行重构,将传输策略和密钥建立视为一等公民的设计选择,而非固定成本。通过脱离 DDS 的线缆互操作性,AXON 优化了受控部署环境,提供了:
性能: 通过共享内存减少了同主机通信的延迟和内存开销。
前瞻性安全性: 通过强制性的混合密钥交换或直接集成量子分布密钥,提供了抵御未来量子威胁的显式机制。
灵活性: 采用模块化架构,将控制平面(发现)与数据平面分离,从而实现鲁棒的恢复与内省。
这项工作是向机器人中间件中集成后量子密码学和 QKD 的概念验证,强调了扩展标准 TLS 库以支持现代密钥建立范式(如外部 PSK)的必要性。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。