LoRaWAN协议安全性常见问题解答

LoRaWAN安全性


LoRaWAN是一种远程但低功耗(低功耗,广域网-LPWA)网络协议,旨在将电池供电的设备无线连接到本地或全球Internet,并为诸如双向通信,连接安全性,移动性等

安全是任何物联网开发的重中之重。 LoRaWAN规范定义了两个级别的密码保护:

  • 终端设备和网络服务器之间共享的唯一的128位网络会话密钥;
  • 在应用程序级别通用的端到端唯一的128位应用程序会话密钥(AppSKey-应用程序会话密钥)。

AES算法用于在网络服务器中提供身份验证和数据包完整性,并在应用程序服务器级别进行端到端加密。 提供这两个级别可以使您实现多租户共享网络,其中网络运营商无法查看用户有效负载数据。

可以通过生产线上的个性化设置(ABP-通过个性化激活)或在调试过程中激活密钥,也可以通过现场的网络(OTAA-空中激活)激活密钥。 OTAA激活方法允许设备根据需要更改密钥。

安全常见问题


LoRaWAN协议安全机制在哪里描述?


LoRa联盟的规范中描述了所有保护机制,可以从其网站下载。 目前,您可以下载1.0.x版,这些答案基于此。 正在开发中的是1.1版。

LoRa联盟规范如何保护LoRaWAN网络?


LoRaWAN在整个MAC(媒体访问控制)帧中支持原始身份验证,完整性和重放保护。 它还允许对终端及其在网络侧的响应之间的应用程序有效负载进行端到端加密(在版本1.1中称为应用程序服务器)。 LoRaWAN支持一种操作模式,该模式允许您加密MAC命令。

所有这些过程都依赖于AES高级加密标准,并使用128位加密密钥和算法。

在信息安全方面,ABP模式和OTAA模式之间是否有区别?


LoRaWAN使用静态根密钥和动态生成的会话密钥。
根密钥仅在OTAA设备中提供。 当OTAA终端执行加入程序时,它们用于获取会话密钥。 在现场安装的OTAA模式下的终端设备可以连接到任何输出到与终端设备连接的密钥服务器(在1.1版中,加入服务器)的网络。 以这种方式获得的会话密钥已经被终端设备用来保护空中交通。

ABP设备不使用根密钥。 相反,它们为预选网络提供了一组会话密钥。 会话密钥在ABP设备的整个生命周期中保持不变。

更改会话密钥的能力使OTAA设备更适合于需要更高安全级别的应用程序。

LoRaWAN的身份是什么?


每个终端设备都由一个64位全局唯一号(EUI-扩展唯一标识符)标识,该编号由制造商或终端设备的所有者分配。 分配EUI编号要求分配者具有来自IEEE注册机构的唯一OUI(组织上唯一标识符)。

每个使用终端身份验证的Join服务器还由64位全局EUI标识,该EUI由该服务器的所有者或运营商分配。

开放式LoRaWAN网络和与开放式LoRaWAN“通信”的专用网络由LoRa联盟分配的24位唯一标识符标识。

终端设备成功连接到网络后,它将接收网络分配的32位临时地址。

我可以为我的设备或网络随机分配号码吗?


不行 上一个问题描述了每种标识符的分配规则。 如果不遵循这些规则,则在网络部署期间可能会有数字的巧合和不可预测的行为(类似于在连接至同一LAN的不同设备上使用相同的以太网MAC地址时可能发生的情况)。

是否所有停产的终端设备都具有相同的“默认”加密密钥?


不行 LoRaWAN没有“默认密钥”或“默认密码”的概念。 所有终端设备都具有唯一的键,即使在生产结束时也是如此。 因此,来自终端设备的单个泄露密钥不会以任何方式影响其他设备。

使用哪种加密密钥?


OTAA端点具有称为AppKeys(应用程序根密钥)的根密钥。 在网络方面,AppKey密钥位于加入服务器上,该服务器可以同时或可以不是网络服务器。

ABP端点具有两个AppSKey和NwkSKey(网络会话密钥)会话密钥。 在网络端,NwkSKey位于网络服务器上,而AppSKey位于应用程序服务器上。

用于为列出的密钥提供所有必需的网络元素(终端设备,加入服务器,网络服务器,应用程序服务器)的过程不在LoRaWAN规范的范围内。

使用什么加密算法?


RFC4493中描述的AES-CMAC算法用于原始身份验证和完整性保护。 IEEE 802.15.4-2011中描述的AES-CCM算法用于加密。

LoRaWAN如何阻止您收听?


在空中传输时,在终端设备和网络之间对MAC数据进行加密。 另外,有效载荷在终端设备和应用服务器之间被加密(所谓的端到端加密)。 这样可以确保只有包含加密密钥的授权对象才能访问数据包的内容。

LoRaWAN如何防止数据欺骗?


MAC数据的完整性和认证受数据包字段的保护,该字段包含终端设备和网络已知的消息完整性代码(MIC)代码。 这样可以确保只有包含完整性密钥的授权对象(即终端设备和网络服务器)才能生成有效消息。

LoRaWAN如何阻止重传?


MAC数据完整性保护使用消息计数器来确保接收者不接受已接收(即可能重新发送)的消息。

LoRaWAN是否支持应用程序有效负载保护?


LoRaWAN在终端设备和应用程序服务器之间提供端到端的应用程序有效负载加密。 逐跳结构提供了完整性保护:通过LoRaWAN完整性保护在空中进行一跳,并使用HTTPS和VPN等安全传输技术在网络服务器和应用程序服务器之间进行另一跳。 鼓励需要端到端完整性保护的应用程序对其有效负载执行相同的操作。

后端接口如何受到保护?


后端接口涉及在网络服务器,联接服务器和应用程序服务器之间管理和交换数据。 建议使用HTTPS和VPN技术来保护这些关键基础架构元素之间的数据交换,其程度与在其他电信系统中实现的程度相同。 后端接口不在LoRaWAN规范的范围内。

LoRaWAN是否支持硬件保护?


从硬件(安全性元素或安全性模块)方面提高终端设备和服务器平台的安全性是指设备实施的问题,与涉及LoRaWAN等针对通信质量的协议互操作性无关。 但是,这种技术解决方案的使用与LoRaWAN规范兼容,并且可以由开发人员根据应用程序的要求来实施。

如果发现安全风险,该怎么办?


通常,由于以下三个原因之一或它们的组合,可能会产生安全风险:

  • 规范(例如,缺乏防止重复的保护),
  • 实现(例如,从设备中提取密钥),
  • 部署(例如,缺少防护屏)。

第一步是确定原因。 如果原因在规范中,请写信给LoRa联盟以寻求帮助。 有关设备销售的问题,请与制造商联系。
部署问题由LoRaWAN网络运营商决定。

来源

Source: https://habr.com/ru/post/zh-CN462353/


All Articles