确保了低功耗物联网无线连接中设备和无线电安全性
投稿人:DigiKey 欧洲编辑
2017-08-17
长距离,低功耗无线连接
当无线物联网设备超出 Wi-Fi® 或 ZigBee® 等的链路范围时,有几种连接方案可供设计人员选择。对于典型物联网传感器或致动器,3G 或 4G 高速连接比预期的连接方案更加复杂、昂贵和耗电。尽管第二代 (2G) GSM 经济且实惠,但 2G 网络的未来仍存有变数,因为一些智能手机用户已经使用 4G 和 5G 服务。GSM 协会 (GSMA) 已提出 Cat-0 LTE,一种将设备轻松连接至 4G 网络的物联网友好型方法。同时,推出的 LoRaWAN™、Sigfox、Ingenu 和 Weightless 等低功耗广域网 (LPWAN) 标准已成为 GSM 标准的经济实惠替代品。
LPWAN 网络在非许可频带工作。Sigfox 和 Ingenu 身后的组织正在设置各自的网络,而 LoRa® 联盟采用了不同的方法,正在推广供独立网络运营商使用的技术。2015 年,Orange 宣布,作为战略的一部分,公司将会创建 LoRa 网络以服务于 M2M 和物联网连接市场。
简单地说,LoRaWAN 网络在欧洲以 868 kHz 频带工作,在北美以 915 MHz 频带工作。协议旨在实现极低功耗且支持 0.3 kbit/s 至 50 kbit/s 的数据速率。支持自适应数据速率,可以自动优化距离、电池寿命和网络容量。通信范围为 2 km 至 15 km,具体取决于建筑环境和消息量大小等因素。LoRaWAN 越来越受欢迎,设计人员可以利用现已面市的一些产品为自主式设备添加 LoRaWAN 连接功能。
随着物联网进入公共领域,威胁安防和安全的网络攻击已成为焦点问题。由于物联网的性质所致,这类威胁可能会影响个人或者同时影响很多人。黑客可能会试图接管设备,导致设备故障、窃取设备数据或使用设备访问存放敏感个人或财务信息的托管网络。还可能会利用设备传播恶意软件或仅仅试图窃取设备上运行的应用代码等知识产权。
保障 LoRa 数据流安全
保护物联网连接的安全策略应足够简单,以便支持资源受限型物联网端点,还应价格便宜且对设备功率的要求最小。LoRaWAN 安全机制基于网络和端点之间的相互身份验证来保护通信。这样,网络可以确保任何试图连接网络的设备均经正确注册且未被入侵,以及确保连接设备即将连接的网络的真实性。网络和连接设备均需要具备安全密钥,亦称为 AppKey,这样双方可以为对方加密信息,并正确解密从对方接收的信息。在验证凭据和连接端点后,LoRaWAN 安全性通过使用签名和加密来保护信息完整性。
LoRa 联盟设计了 LoRaWAN 协议以支持端到端加密。数据流不仅在空中接口中处于加密状态,在运营商的核心网络中也保持加密状态,不会以纯文本形式传输。这样可以节省额外应用层加密等更多的安全开销,因此节省了成本和能耗,同时也降低了复杂性。
LoRaWAN 安全性基于针对 IEEE 802.15.4 无线电通信制定的安全性,还通过使用网络会话密钥 (NwkSKey) 和应用会话密钥 (AppSKey) 两种会话密钥进行扩展。根据现有 IEEE 802 安全规范,将向每个 LoRaWAN 设备分配一个名为 DevEUI 的 64 位全局唯一标识符,该标识符兼容 IEEE 扩展唯一标识符 (EUI-64)。只有拥有由 IEEE 注册权威机构分配的 24 位组织唯一标识符 (OUI) 的分配组织,才具备分配标识符的资格。每个 LoRaWAN 终端设备还拥有自己的 128 位 AES 密钥,亦称 AppKey。
每个设备需在激活后才可在 LoRaWAN 网络中通信。可使用空中激活 (OTAA) 或个性化激活 (ABP) 两种形式完成。无论使用哪种方法,网络和连接设备均需证明其拥有建立连接的正确安全密钥。
在 OTAA 中,终端设备将传输包含设备 DevEUI、应用标识符 (AppEUI) 和 AppKey 的连接请求。随后应用服务器将发送加密的接受消息,终端设备便可以使用其 AppKey 对其进行解密,从而获取指定的网络设备地址 (DevAddr),以及网络会话密钥 (NwkSKey) 和应用会话密钥 (AppSKey)。这些密钥是设备的唯一密钥。
在 ABP 中,出厂时已对终端设备的设备地址和会话密钥进行编程。这适用于设备拟将连接至特定已知网络的情况。无需空中信号交换即可立即在网络中通信。
图 1: LoRaWAN 网络拓扑。
在 LoRaWAN 网络中,终端设备通过一或多个网关与网络服务器进行通信,如图 1 所示。网络服务器进而将各终端设备的数据传输至适用于设备的应用服务器中,并通过网关管理从应用服务器至终端设备的数据传输。分别通过 NwkSKey 和 AppSKey 会话密钥,在控制和应用数据级别提供安全保护。每个数据包含有 MAC 报头、帧头和有效载荷,以及使用 NWSKey 生成的信息完整代码 (MIC)。
通过高级加密标准和标准的基于密码的信息认证码 (AES-CMAC) 来计算 MIC,以实现验证。使用 AppSKey 对有效载荷加密。通过这种方法,网络服务器和应用服务器可以对来自终端设备的信息进行验证。如图 2 所示,应用有效载荷通过高级加密标准计数 (CTR) 模式 (AES-CTR) 进行加密,且帧计数器也包含在 LoRaWAN 数据包中。可以有效防止攻击者通过重放信息获得访问权限。正确管理计数器十分重要,可以避免出现重复序列,也不会因强制将节点重新连接至网络而重置计数器。
图 2: LoRaWAN 数据包加密可以防止拦截和重放攻击。
LoRa 节点的物理安全
LoRaWAN 安全设计简单节能,可以避免复杂或繁琐的加密计算或多层安全设计。尽管通过 NwkSKey 和 AppSKey 在控制和应用层实施加密,但密钥均来源于同一根密钥 (AppKey)。因此,拥有 AppKey 的网络运营商能够获得 AppSKey 并解密数据流。如需针对这种漏洞采取防范措施,则负责处理 AppKey 存储和相关服务的服务器应由与网络运营商无关联的受信任组织来控制。LoRa 联盟表示,已针对 LoRaWAN 做出有计划更改,未来将从单独的密钥中获取 NwkSKey 和 AppSKey。
在实际操作中,可以使用 Microchip.的 RN2483 等收发器模块对使用 LoRaWAN 无线连接的数据进行编码、加密和传输。该模块在集成微控制器中实施板载 LoRaWAN 协议堆栈,并集成了 LoRa 技术无线电和用于连接主机微控制器的 UART(图 3)。嵌入式微控制器具有 14 个 GPIO 引脚,用于连接传感器、开关或 LED 状态指示灯等用户设备。还可以使用 Seeed Technology 的 Seeeduino LoRaWAN 模块,用户可以使用创客式扩展板轻松快速地增加各类传感器。
图 3: Microchip RN2483 可以处理包括加密在内的 LoRaWAN 完整协议。
尽管 LoRaWAN 标准采用一些机制来保护在 LoRa 网络和连接的终端设备之间传送的数据,但节点仍容易受到物理攻击。如果能够提取存储的密钥,则网络中的设备可能会被冒充。物理攻击会严重威胁安装在偏远或无监控区域的设备,因而需要采取更多的安全措施。
现提供的 Murata CMWX1ZZABZ-078 LoRa 模块,配备用于安全密钥存储的可选安全元件(图 4)。嵌入安全元件是一种有效的保护措施,可以防止加密密钥和其他敏感数据遭受入侵式探测或引脚监控等物理攻击,这种做法也越来越多地应用到物联网设备和个人计算机等设备中,以创建信任根硬件来验证机器、软件和用户。
图 4: Murata CMWX1ZZABZ-078 提供一种集成的安全元件,可以针对物理攻击提供更多防护措施。
结论
开发 LoRaWAN 协议时已经考虑了物联网应用,并包括用于保护传输中数据的各种安全措施。设备设计人员需谨慎对待 LoRa 联盟的建议,尽可能确保应用的安全性。此外还须额外的安全措施防止无人值守的物联网设备遭受物理攻击。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。