Skip to main content

Please note that u‑blox no longer supports Internet Explorer.

We recommend using the latest version of Google Chrome or Firefox.

Ok

在资源受限的设备中试用 OSCORE 以实现端到端的物联网安全

End-to-end encryption in smart cities

LTE-M 和 NB-IoT 低功耗广域 (LPWA) 蜂窝网络的面市使无数新的应用得以在众多领域中部署,例如智能家庭和城市、联网工厂、公共和私营公益事业。虽然联网传感器和其他设备的具体需求因使用场景而异,但它们往往至少有几个共同点:它们必须小巧、便宜并经过优化以实现更小的功率预算。另外,由于它们感测和传输的数据会使人们、城市和公司暴露在网络罪犯面前,因此它们需要端到端的安全。

OSCORE[1] 是“受限 RESTful 环境的对象安全性”的简称,它专为满足这些日益苛刻的需求而定义。OSCORE 由国际互联网工程任务组 (IETF) 定义,它在保护通过 CoAP[2](受限应用协议,是 LPWA 场景中使用的首选通信协议之一)发送的消息方面提供了诸多改进。

具体来说,OSCORE 与其他常用的物联网安全协议相比有两个显著的优势。OSCORE 只加密有效负载的数据部分,因此减少了安全开销,并增加了设备的带宽利用率和电池寿命。此外,OSCORE 使用预共享密钥替代太耗费资源的密钥协商过程,减轻了大多数受限设备的负载。

在智能城市环境中测试 OSCORE

在这篇博客文章中,我们介绍了 OSCORE 的一种原型实现,OSCORE 通过多个传输链路安全地发送传感器数据。如图所示,数据通过蓝牙 Mesh 网络传输到网关,然后使用 UDP 将数据从网关发送到云端,然后再发送到世界任何地方的服务器。这项试验是 Vinnova(瑞典政府创新机构)项目[3] 的一部分,该项目旨在测试公共环境中的端到端安全性。我们直接与该协议的其中一个来自 RISE(瑞典研究机构)的撰稿人合作,成为该新标准的早期采用者。

Trialing OSCORE in a smart city deployment图 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 亮点

OSCORE 基于对称预共享密钥,该密钥只在终端设备(此处为服务器和传感器节点)之间共享。

  1. OSCORE 使用预共享密钥单独保护每个有效负载。因此,不再需要密钥协商和会话管理。
  2. 与 DTLS 不同,OSCORE 消息不完全加密。元数据仍保留明文形式,因此节省了计算资源、功耗和带宽。

Data and metadata in OSCORE packets图 2:OSCORE 包中的数据和元数据

  1. 加密的 OSCORE 消息可以小至 11-13 个字节,[4] 明显小于目前使用的大多数物联网安全协议,因此 OSCORE 成为受限物联网节点的理想安全选项。
  2. 在数据本身保持加密的情况下以明文形式发送元数据,可以提高效率,同时又不会损害安全性。 例如,OSCORE 允许在网关或代理服务器上进行 HTTP-CoAP 协议转换。代理服务器设备将 HTTP 请求转换为 CoAP 请求,允许功能强大的 HTTP 服务器/客户端与资源受限的物联网 CoAP 客户端/服务器安全地对话。

我们在现场的初步观察结果

  1. 我们在快速测试中观察到,对于 2 字节的有效负载,最小 OSCORE 包的长度为 22 字节。我们办公室的 Mesh 网络具有 12 字节的 MTU。Mesh 节点可以高效地处理包碎片。
  2. 此外,还尝试在网关上转储包并解密/修改包。OSCORE 可以识别所有的基本安全威胁。
  3. 在配置 Mesh 节点时将预共享 OSCORE 安全上下文。这有点低效。OSCORE 可以完美地与 RESTful 设备管理协议配合使用,例如 OMA-LwM2M。组合使用(例如使用 DTLS 进行密钥协商,然后使用 OSCORE 进行数据交换)效率不高。

随着开放式移动联盟 (OMA) 将 OSCORE 纳入其 LwM2M 1.1 规范,OSCORE 可能成为 RESTful 环境的下一个首选协议。[5] 观察 IETF 和 OMA 等标准化组织,就会明白物联网中的端到端安全正变得前所未有的重要。

如果您有兴趣了解更多信息,并希望就 OSCORE、蓝牙 Mesh 或受限物联网中的端到端安全性进行建设性的讨论,请随时与本文作者联系。