一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LoRaWAN協(xié)議之OTAA入網流程

454398 ? 來源:博客園 ? 作者:博客園 ? 2020-12-04 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過OTAA方式入網的設備,通訊時使用的KEY需要通過服務器獲得,在入網之間,設備無法通訊。

相關的OTAA入網流程已經在上一章中講解過了,有興趣的可以去看看**LoRaWAN協(xié)議(五)__OTAA入網方式詳述**

這一章講解的是OTAA中的密鑰生成過程。

其中使用到的庫函數(shù)都是從semtech的官方庫中來的,官方庫代碼鏈接:LoRaMac-node。

詳解

設備在通訊時,會使用的密鑰有NwkSKey 和AppSKey。

生成的公式如下:

NwkSKey = aes128_encrypt(AppKey, 0x01 | AppNonce | NetID | DevNonce | pad16)

AppSKey = aes128_encrypt(AppKey, 0x02 | AppNonce | NetID | DevNonce | pad16)

可以看到相關的參數(shù)一共有四個:
1.AppNonce
2.NetID
3.DevNonce
4.pad16

其中AppNonce、NetID、pad16 是產生于服務器的,DevNonce產生于node設備本身。

還是使用LoRaWAN協(xié)議(五)這篇文章中使用的包數(shù)據(jù)來進行分析。

這里,我們調用官方庫的接口,因為我們這里只是熟悉協(xié)議,并不是要研究Key的生成算法。

如果不明白數(shù)據(jù)協(xié)議的,可以去看LoRaWAN協(xié)議(五)這篇文章

提取DevNonce

1.GW->NS JSON包,從中提取出來DevNonce,

data為MAC層數(shù)據(jù),為join_request message,其數(shù)據(jù)包格式為

base64解碼:

x00 x01 x00 x00 x20 x00 xc5 x26

x2c x16 x10 x16 x20 x00 x77 x4a

x00 x54 x7b x40 x2d xe1 x9a

得到的數(shù)據(jù):

可以得到DevNonce的值為0x7b54

提取AppNonce、NetID、CFList

2.NS->GW JSON包,其中txpk.data為包含了MAC層數(shù)據(jù)內容

data base64 decode:

x20 xfa x80 x29 x74 x3b x2d x2f

xc2 x99 x85 x42 x0f x2f x0a xde

x4e

根據(jù)LoRaWAN specification 可知,join_accept message的格式如下:

但是這個數(shù)據(jù)是加密的,需要使用AppKey進行解密

所以,我們需要先使用AppKey解密join_accept message

payload為join_accept message,此處為

x20 xfa x80 x29 x74 x3b x2d x2f

xc2 x99 x85 x42 x0f x2f x0a xde

x4e

解密之后的數(shù)據(jù)存放在LoRaMacRxPayload數(shù)組中。

uint8_t LoRaMacAppKey[] = {0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C};

LoRaMacJoinDecrypt( payload + 1, size - 1, LoRaMacAppKey, LoRaMacRxPayload + 1 );

LoRaMacRxPayload[0] = payload[0];

可以得到解析之后的數(shù)組

0x20 0x43 0x75 0xcb 0x24 0x0 0x0 0x2

0x0 0x0 0x48 0x3 0x0 0x82 0xc9 0xd0

0xf9

根據(jù)協(xié)議,我們可以得到:

AppNonce:x43 x75 xcb

NetID:x24 x0 x0

DevNonce:0x7b54

pad16:沒有

至此,我們就具備生成密鑰的所有參數(shù)了

產生AppSKey 和 NwkSKey

最后,我們再調用

LoRaMacJoinComputeSKeys( LoRaMacAppKey, LoRaMacRxPayload + 1, LoRaMacDevNonce, LoRaMacNwkSKey, LoRaMacAppSKey );

就可以生成AppSKey和NwkSKey了。

得到的NwkSKey為

0xde 0x3 0x33 0x1a 0xeb 0x42 0x54 0xe9

0x72 0x7b 0x6f 0xaf 0xbf 0x13 0xdb 0x3d

得到的AppSKey為

0xe0 0x46 0x9e 0x44 0x9c 0x57 0x47 0x8c

0xbe 0xa7 0x25 0xda 0x84 0xf0 0x13 0x97

對比之間抓包的AS->NS的入網信息

AS->NS 發(fā)送入網信息,可以知道,生成的密碼是正確的了。

當然最好是進行實際負載的驗證,我也寫了兩個小程序進行了驗證,證明了這兩個Key確實是正確的。

兩個小程序的鏈接:

decode_aes_base64

generate_key

至此,我所知的OTAA入網方面的協(xié)議就完了。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    9797

    瀏覽量

    88045
  • lorawan
    +關注

    關注

    3

    文章

    351

    瀏覽量

    24432
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于lorawan協(xié)議的幾種常見入網方法

    OTAA(Over-The-Air Activation),是LoRaWAN的一種空中入網方式。當node在上電的時候處于非入網狀態(tài)時,需要先入網
    的頭像 發(fā)表于 11-11 07:18 ?1.7w次閱讀
    基于<b class='flag-5'>lorawan</b><b class='flag-5'>協(xié)議</b>的幾種常見<b class='flag-5'>入網</b>方法

    st官網lora節(jié)點程序OTAA模式加入網絡后,把網關與服務器的連接斷開后,節(jié)點是否一直持續(xù)發(fā)送數(shù)據(jù)?

    st官網lora節(jié)點程序OTAA模式加入網絡后,把網關與服務器的連接斷開后,節(jié)點是否一直持續(xù)發(fā)送數(shù)據(jù)?
    發(fā)表于 04-28 06:54

    國產無線脈沖水表LoRaWAN方案分享

    功能,不受磁干擾。06LoRaWAN:持OTAA/ABP入網模式;支持CN470/EU868/AU915頻段;支持指令設置ADR功能/發(fā)送確認或非確認報文/APP端口號/DevEui/AppEui/AppKey/DevAddr/
    發(fā)表于 04-03 15:45

    介紹STM32和LoRaWAN協(xié)議及其應用

    入門指南_STM32和LoRaWAN協(xié)議
    的頭像 發(fā)表于 07-02 08:29 ?1.1w次閱讀

    LoRa節(jié)點如何以OTAA方式入網TTN服務器?

    前言 當你將LoRaWAN網關和LoRa節(jié)點都添加到TTN上,這時候,你需要通過ABP或OTAA方式,配置LoRa節(jié)點的參數(shù),才能最終實現(xiàn)入網到TTN的目的。 如何將LoRaWAN網關
    發(fā)表于 05-15 15:01 ?1829次閱讀

    LoRa節(jié)點如何以ABP方式入網TTN服務器?

    TTN,可參考文章LoRa節(jié)點如何以OTAA方式入網TTN。 如何將LoRaWAN網關添加到TTN上,可參考文章如何將樹莓派網關連接到TTN手把手教你如何將樹莓派網關連接到服務器第四
    發(fā)表于 05-19 09:33 ?2250次閱讀

    OTAA和ABP入網方式的區(qū)別

    已獲小七老師授權,小七老師是騰訊云在線課程講師,點擊鏈接可以觀看課程視頻。 LoRaWAN終端兩種不同的入網方式,在LoRaWAN協(xié)議中,它們分別稱為
    發(fā)表于 03-13 09:36 ?3447次閱讀

    弱網區(qū)域下LoRa節(jié)點入網方式該如何選擇

    小七老師授權,小七老師是騰訊云在線課程講師,點擊鏈接可以觀看課程視頻。 LoRa終端兩種不同的入網方式,在LoRa協(xié)議中,它們分別稱為OTAA和ABP。在上一篇文章“LoRaWAN終端
    發(fā)表于 03-13 09:34 ?1066次閱讀

    OTAA節(jié)點是如何入網

    在之前的文章中向大家介紹了LoRaWAN協(xié)議中節(jié)點的兩種不同的入網方式OTAA和ABP的區(qū)別,本文主要介紹了OTAA節(jié)點是如何
    發(fā)表于 03-19 13:50 ?1385次閱讀

    淺談LoRa終端ABP入網方式

    在介紹ABP入網方式之前,我們先來回憶下OTAA入網方式。OTAA入網方式的節(jié)點需要發(fā)送一條Join Request
    發(fā)表于 04-02 17:30 ?1868次閱讀

    基于安信可Ra-08系列LoRaWAN模組的入網流程

    最近LoRaWAN技術很火熱,在我們的一些開發(fā)者交流群中,也經常有開發(fā)者討論LoRaWAN的一些技術應用。今天就分享一篇教程——基于安信可Ra-08系列LoRaWAN模組的入網
    的頭像 發(fā)表于 05-19 19:23 ?2900次閱讀
    基于安信可Ra-08系列<b class='flag-5'>LoRaWAN</b>模組的<b class='flag-5'>入網</b><b class='flag-5'>流程</b>

    基于安信可Ra-08系列LoRaWAN模組的入網流程

    最近LoRaWAN技術很火熱,在我們的一些開發(fā)者交流群中,也經常有開發(fā)者討論LoRaWAN的一些技術應用。 今天就分享一篇教程——基于安信可Ra-08系列LoRaWAN模組的入網
    的頭像 發(fā)表于 05-21 09:19 ?1699次閱讀
    基于安信可Ra-08系列<b class='flag-5'>LoRaWAN</b>模組的<b class='flag-5'>入網</b><b class='flag-5'>流程</b>

    應用筆記 | STM32WL LoRa節(jié)點入網失敗問題分析總結

    關鍵字:STM32WL,LoRaWAN入網,OTAA ? 目錄預覽 1.引言 2.LoRaWAN網絡架構 3.創(chuàng)建CubeMX工程 4.移植過程中可能遇到的問題 5.小結 0 1 前
    的頭像 發(fā)表于 09-27 17:10 ?3381次閱讀

    安信可Ra-08H-P模組接入LoRaWAN網絡的應用實踐

    ●創(chuàng)建一個應用 ●創(chuàng)建一個節(jié)點 三、模組指令操作 3.1 OTAA入網方式AT指令操作 3.2 ABP入網方式AT指令操作 四、入網以及數(shù)據(jù)上報效果 (1)
    的頭像 發(fā)表于 02-11 09:42 ?464次閱讀
    安信可Ra-08H-P模組接入<b class='flag-5'>LoRaWAN</b>網絡的應用實踐

    安信可Ra-08H-P模組入網LoRaWAN網絡的應用

    ●創(chuàng)建一個應用 ●創(chuàng)建一個節(jié)點 三、模組指令操作 3.1 OTAA入網方式AT指令操作 3.2 ABP入網方式AT指令操作 四、入網以及數(shù)據(jù)上報效果 (1)
    的頭像 發(fā)表于 02-19 14:20 ?353次閱讀
    安信可Ra-08H-P模組<b class='flag-5'>入網</b><b class='flag-5'>LoRaWAN</b>網絡的應用