LORA / LORAWAN 第十六節

LoRaWAN Device activation — OTAA and ABP

Delores Cetleh
7 min readApr 3, 2021

這個章節我將會介紹 LoRaWAN Device activation : Over-The-Air-Activation (OTAA) and Activation-By- Personalization (ABP)

LORAWAN 1.0.2 SPECIFICATION

標準

  • 理論上LoRaWAN的使用方式與頻率都可以網路提供商自行設定。
  • 但是根據標準來實作產品會讓之後的連接與通訊方便很多。
  • 而大部分的函式庫也都按照標準來開發。這樣才不用重複造輪子
  • LORAWAN 1.0.2 規範連結

LoRaWAN Device activation

LoRaWAN節點端活化入網

  • LoRaWAN 裝置要先活化才能接入LoRaWAN網路內

Activation Methods

活化入網方式有兩種

  • Over-The-Air Activation (空中接入)
  • Activation by personalized (專屬接入)
  • 在活化之後節點端(Node端)會儲存下面四項資料,運用這四個資料發送與接收訊息:
  1. Device address (DevAddr),
  2. Application identifier (AppEUI),
  3. Network session key (NwkSKey)
  4. Application session key (AppSKey)

ABP

Activation by personalized (專屬接入)

  • 使用ABP(專屬接入)方式接入,節點端(Node)將只專屬於特定的LoRaWAN網路
  • 使用ABP節點端(Node)將直接在硬體上給定這三個參數:
  1. Device address (DevAddr)
  2. Network session key (NwkSKey)
  3. Application session key (AppSKey)
  • 使用ABP節點端將無法漫遊到其他的LoRaWAN網路,並且無法與未來網路應用更新。
  • LoRaWAN 不建議使用此方式接入
  • Node 節點憑藉 NwkSKey AppSKey 接入LoRaWAN網路,當然它還要一個專屬的編號DevAddr供Network server 與Application Server辨識
裝置端與應用端直接給定金鑰,這樣就可以開始加密傳輸了

OTAA

Over-The-Air Activation(空中接入)

  • 使用OTAA方式接入,節點端(Node)可以彈性的轉移LoRaWAN網路服務(可以漫遊)
  • 使用OTAA節點端(Node)將直接在硬體上先給定這三個參數:
  1. globally end-device identifier (DevEUI)
  2. globally application identifier (AppEUI)
  3. AES-128 key (AppKey) (不是AppSkey)
  • LoRaWAN網路將使用這三個參數動態產生剛剛ABP直接給訂的(DevAddr)(NwkSKey)(AppSKey)。
  • LoRaWAN 推建使用此方式接入

OTAA : Step 1

Node 與 Application 已經註冊好AppKey,DevEUI,AppEUI ,DevEUI 與 AppEUI 都是 globally 唯一碼,這樣Node才能夠漫遊!

Step 1 : Node 與 Application 已經註冊好AppKey,DevEUI,AppEUI

OTAA : Step 2

由Node端提出加入請求Join Request,“加入請求(不加密)封包”裡面包含

  1. DevNonce (亂數-這之後會用來生成金鑰)
  2. AppEUI (跟Network server 講:它想加入那個Application Server)
  3. DevEUI (跟Network server 講:它是誰)
Step 2 : 由Node 發起加入請求,這個請求是不加密的

OTAA : Step 3

Network Server 跟Application Server 確認這個節點是屬於他的服務,Network Server 拿著Node端給的 DevNonce與自己生成的AppNonce生成金鑰 NwkSKey與AppSkey。

Step 3: Network Server確認Node是合法的使用節點開使生成金鑰

OTAA : Step 4

Network Server回覆Join Accept,“請求核准(加密)封包”,此封包已經使用AppKey(不是AppSKey)加密了。此封包包含以下訊息:

  1. AppNonce (亂數-這就是剛剛Network Server會用來與DevNonce結合生成NwkSkey與AppSkey金鑰的亂數)
  2. DevAddr (由Network Server產生,基本上就是 Network Server 用自己ID與連接 Network Server自己的節點的流水號接合而成的!)
  3. NetID與network setting (Network server 跟node講:在我的地盤我的規則是什麼.. .)
Step4: Join Accept 請求核准

OTAA : Step 5

Node 端拿到請求核准後,使用AppKey(不是AppSkey)取得AppNonce ,與自己的DevNonce生成NwkSKey與AppSkey。

Step5: Node 端生成NwkSKey與AppSKey

OTAA : Step 6

Network Server 將生成的DevAddr 與 AppSkey給Application Server

Step6: Network Server 將DevAddr 跟 AppSKey給Application server

OTAA : Step 7

這時候Node 跟Application Server 取得如同ABP 傳輸方式一樣的狀態各自都都有DevAddr,NwkSKey,AppSkey。這樣就可以開始傳輸了!

Step7 : Node / Application Server 各自取得DevAddr,NwkSKey,AppSkey

最終的加密方式Network server 擁有AppSkey,這代表Network Server 可以取得傳輸資料!所以以LoRaWAN傳輸方式必須假定Network Server 是可信的服務商!

第十六節 結束

參考資料

--

--

No responses yet