应用服务器 - ThingPark - 端到端安全

物联网 罗拉万 东西公园 thingpark-激活
2021-06-03 12:55:01

从 LoRa 联盟规范中,我们知道 LoRaWAN 应用服务器通过 AppSkey 处理解密(上行)和加密(下行)。不清楚的第一件事是 Thinkpark 是一个 LNS,所以应该只处理身份验证,但显然在这个过程中更进一步,因为它可以解密应该是 App Server 工作的有效负载。

我无法理解的第二点是,当有效负载从 Thingpark 解密发送到我的 IoT 平台时,我如何执行“端到端”安全性。这似乎很明显,因为我的 IoT 平台没有 AppSKey,而且与加入服务器没有直接连接。总结我的问题:

  • 由于没有 AppSkey,为什么 Actility 社区将 IoT Platform 称为 App Server?
  • 如果 App Server 工作正常,Thinkpark 怎么会被称为 LNS?

到目前为止,我已经承认了这种行为,但是当我试图向其他人解释时,这真的太令人困惑了。为什么我们不说 ThingPark 是 LoRaWAN Server(LNS+AppS),而 IoT Platform 只是一个与 LoRaWAN 无关的用户应用程序?这很容易解释,如果我们想要端到端的安全性,我们只需要缩短 Actility App Server 并构建我们自己的(以及我们的用户应用程序)。

感谢您的洞察力和澄清。

2个回答

你说的对。Thingpark 所做的远比一个简单的 LNS 应该做的要多得多。它是一个先进的 LPWAN 连接平台,包括网络服务器、加入服务器、可靠多播服务器、位置求解器、消息代理和许多其他组件。它还为 3GPP 设备(NB-IoT、LTE-CatM 等)提供连接

但 Thingpark 绝对不是应用服务器,因为它不存储、不处理,也不可视化终端设备发送的任何数据。Thingpark 只是实现了终端设备和具有此类功能的应用服务器之间的通信。从这个角度来看,您的 IoT 平台应该被视为一个应用程序服务器。

关于在您的 AS 接收解密的帧有效载荷的其他问题:是的,如果您使用无线激活和 Thingpark 的嵌入式加入服务器,Thingpark 会解密数据。这是因为在该环境中您的 AS 不知道 AppSkey 并且无法解码数据。请注意,AppSKey 是在加入过程中在终端设备和加入服务器上生成的,AS 需要与系统进行特殊集成才能以安全的方式接收 AppSKey。

如果要使用 Thingpark 设置端到端安全性,则需要使用外部加入服务器。它可以是您自己的加入服务器,也可以是 Actility 的基于云的加入服务器服务,称为Thingpark Activation如果您使用 Thingpark Activation,那么 ThingPark 会将加密的 AppSKey 添加到每个上行链路消息中,以便您的 AS 可以解密 AppSKey 并使用解密的 AppSKey 解密帧负载。

使用嵌入式加入服务器时,ThingPark 平台已经知道 AppSKey,因为它会计算它……而不是假装不知道,在这种情况下,它为 AS 解码帧并通过选定的安全链接发送它们。这允许添加额外的服务,如编码解码器,使 AS 更容易。

在某些用例中(通常是大规模计量),应用程序服务器不想信任网络基础设施。在这种情况下,使用带有 HSM(防止访问会话密钥)或自己的加入服务器共享加入服务器在这两种情况下(ThingPark 的外部 JS),您的应用程序将收到加密的有效负载。

在共享安全AS的情况下(例如ThingPArk Activation),AS和JS使用公钥加密预先共享一个密钥加密密钥(JS生成一个密钥并通过AS的Public Key加密发送),然后通过计算得到AppSkey加入期间的 JS 与上行链路元数据建立隧道,由先前共享的密钥加密。这种 Tunneling 是一个比单独独立与 JS 通信更好的设计,因为它确保了 LoRaWAN 上行链路和相关 AppSkey 的同步。