fieldtester.io

入網與安全性

OTAA 和 ABP、裝置的金鑰,以及為什麼閘道器無法讀取您的資料。

OTAA 和 ABP

OTAA(空中啟用):裝置透過入網請求(join request)加入網路。它需要三個值:

  • DevEUI: 裝置在全球唯一的編號(16 個十六進位字元),
  • JoinEUI(以前稱為 AppEUI):識別入網伺服器,
  • AppKey: 秘密金鑰(32 個十六進位字元)。

每次入網時,都會由這些值衍生出新的工作階段金鑰。OTAA 是建議的方式。

ABP(個人化啟用):工作階段金鑰和裝置位址是固定的。裝置從不執行入網。這種方式比較簡單,但安全性較低,而且訊框計數器不同步時容易出錯。

加密

裝置閘道器網路伺服器應用程式伺服器應用程式fieldtester.io酬載以 AppSKey 端對端加密以網路金鑰簽署,由網路檢查只看得到加密的位元組酬載在這裡解密
酬載從裝置到應用程式伺服器始終保持加密。閘道器和網路伺服器只看得到加密後的位元組。

LoRaWAN 在兩個層面上使用 AES-128:

  • NwkSKey(LoRaWAN 1.1 中有多把網路金鑰):防止訊息遭到竄改;網路用它來檢查訊息是否真實。
  • AppSKey: 對酬載進行端對端加密。閘道器和網路業者只看得到加密後的位元組;只有應用程式伺服器才能將其解密。

訊框計數器

每則訊息都帶有一個遞增的計數器(FCnt)。網路會捨棄計數器值已經出現過的訊息。這樣可以防止有人重送舊的封包。

如果 ABP 裝置重新啟動後從 0 重新開始計數,網路會捨棄它的訊息。使用 OTAA 時,每次入網後計數器都會重新開始,這在 OTAA 下是正確的。