技术
|
08 Jan 2022
LTE-M 和 NB-IoT 低功耗广域 (LPWA) 蜂窝网络的面市使无数新的应用得以在众多领域中部署,例如智能家庭和城市、联网工厂、公共和私营公益事业。虽然联网传感器和其他设备的具体需求因使用场景而异,但它们往往至少有几个共同点:它们必须小巧、便宜并经过优化以实现更小的功率预算。另外,由于它们感测和传输的数据会使人们、城市和公司暴露在网络罪犯面前,因此它们需要端到端的安全。
OSCORE[1] 是“受限 RESTful 环境的对象安全性”的简称,它专为满足这些日益苛刻的需求而定义。OSCORE 由国际互联网工程任务组 (IETF) 定义,它在保护通过 CoAP[2](受限应用协议,是 LPWA 场景中使用的首选通信协议之一)发送的消息方面提供了诸多改进。
具体来说,OSCORE 与其他常用的物联网安全协议相比有两个显著的优势。OSCORE 只加密有效负载的数据部分,因此减少了安全开销,并增加了设备的带宽利用率和电池寿命。此外,OSCORE 使用预共享密钥替代太耗费资源的密钥协商过程,减轻了大多数受限设备的负载。
在这篇博客文章中,我们介绍了 OSCORE 的一种原型实现,OSCORE 通过多个传输链路安全地发送传感器数据。如图所示,数据通过蓝牙 Mesh 网络传输到网关,然后使用 UDP 将数据从网关发送到云端,然后再发送到世界任何地方的服务器。这项试验是 Vinnova(瑞典政府创新机构)项目[3] 的一部分,该项目旨在测试公共环境中的端到端安全性。我们直接与该协议的其中一个来自 RISE(瑞典研究机构)的撰稿人合作,成为该新标准的早期采用者。
图 1:系统结构
Mesh 节点基于配有板载 MCU 的 u-blox NINA-B3 蓝牙低功耗模块,旨在实现所需的软件功能并使用标准蓝牙 Mesh 协议。它们有三种类型:OSCORE 节点(深灰色)、标准 Mesh 节点(红色)和网关节点(白色)。
数据从传感器传输到云端的过程从深灰色的节点开始,此类节点感测数据(包括温度和湿度读数),并使用在设置过程中预共享的加密信息对数据进行 OSCORE 对象级安全加密。然后,节点按照发布/订阅模型发送 CoAP 消息,包括标准 Bluetooth Mesh(蓝牙 Mesh)消息中的加密数据。
数据在 Mesh 网络(显示为红色节点)中传播,仍然以 OSCORE 加密 CoAP 消息的形式作为蓝牙状态消息发送。由于 Mesh 节点无权访问用于加密的加密信息,因此它们是信息的盲转发器。
数据随后到达网关设备(白色),网关设备由两个模块组成:一个是 NINA-B3 蓝牙 Mesh 模块,它是较大 Mesh 网络的一部分;另一个是支持 LTE-M 和 NB-IoT 协议的 SARA-R4 蜂窝调制解调器。
在网关处,整个有效载荷(包括 OSCORE 加密数据的 CoAP 消息)被重新打包到 UDP 消息中,然后使用蜂窝调制解调器通过互联网发送到云端。与 Mesh 节点一样,网关和其他中间设备(例如路由器)也完全无权访问数据。
一旦数据到达云服务器,就可以使用最初与 OSCORE 传感器节点共享的相同加密信息对其进行解密,从而使其以明文形式显示在网页上或存储在数据库中(加密或解密)。
OSCORE 基于对称预共享密钥,该密钥只在终端设备(此处为服务器和传感器节点)之间共享。
图 2:OSCORE 包中的数据和元数据
随着开放式移动联盟 (OMA) 将 OSCORE 纳入其 LwM2M 1.1 规范,OSCORE 可能成为 RESTful 环境的下一个首选协议。[5] 观察 IETF 和 OMA 等标准化组织,就会明白物联网中的端到端安全正变得前所未有的重要。
如果您有兴趣了解更多信息,并希望就 OSCORE、蓝牙 Mesh 或受限物联网中的端到端安全性进行建设性的讨论,请随时与本文作者联系。
Peter Karlsson
u-blox 短程无线电通信高级技术总监