入網與安全性
OTAA 和 ABP、裝置的金鑰,以及為什麼閘道器無法讀取您的資料。
OTAA 和 ABP
OTAA(空中啟用):裝置透過入網請求(join request)加入網路。它需要三個值:
- DevEUI: 裝置在全球唯一的編號(16 個十六進位字元),
- JoinEUI(以前稱為 AppEUI):識別入網伺服器,
- AppKey: 秘密金鑰(32 個十六進位字元)。
每次入網時,都會由這些值衍生出新的工作階段金鑰。OTAA 是建議的方式。
ABP(個人化啟用):工作階段金鑰和裝置位址是固定的。裝置從不執行入網。這種方式比較簡單,但安全性較低,而且訊框計數器不同步時容易出錯。
加密
LoRaWAN 在兩個層面上使用 AES-128:
- NwkSKey(LoRaWAN 1.1 中有多把網路金鑰):防止訊息遭到竄改;網路用它來檢查訊息是否真實。
- AppSKey: 對酬載進行端對端加密。閘道器和網路業者只看得到加密後的位元組;只有應用程式伺服器才能將其解密。
訊框計數器
每則訊息都帶有一個遞增的計數器(FCnt)。網路會捨棄計數器值已經出現過的訊息。這樣可以防止有人重送舊的封包。
如果 ABP 裝置重新啟動後從 0 重新開始計數,網路會捨棄它的訊息。使用 OTAA 時,每次入網後計數器都會重新開始,這在 OTAA 下是正確的。