吴忠躺衫网络科技有限公司

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

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

3天內不再提示

Zigbee 3.0基礎02

汽車電子技術 ? 來源:滑小稽筆記 ? 作者: 電子技術園地 ? 2023-03-01 14:17 ? 次閱讀

1.3 Clusters

在每個Endpoint中,我們可以配置幾個Clusters。ZigBee Cluster實際上是一種通信模型。它基于客戶端/服務器模式,用于描述兩個設備之間的應用協議。每個Cluster都有一個Cluster ID,該ID在ZigBeeCLuster Library(ZCL)中定義。Cluster中可以定義多個屬性和命令。

例如,我們需要實現一個帶有兩個燈泡的燈。我們可以在其中定義兩個Endpoint。每個Endpoint代表一個燈泡。

圖片

對于基本功能,例如打開/關閉,我們可以使用打開/關閉 Cluster。燈是服務器端,而開關是客戶端。服務器端定義了一個屬性“ on / off”,指示燈是打開還是關閉。還定義了諸如“打開”,“關閉”,“切換”之類的命令,這些命令應從客戶端發送到服務器端。

圖片

如果我們需要更多功能,例如我們需要支持亮度級別控制。我們可以使用亮度級別控制Cluster。在此Cluster中,服務器端定義了一個屬性“Level”,指示燈泡的亮度。還定義了諸如“逐漸變化亮度級別”之類的命令,這些命令應從客戶端發送到服務器端。

圖片

而且,如果我們需要更多功能,例如需要支持顏色控制,則可以使用顏色控制Cluster。對于ZCL規范中沒有定義的一些功能,開發者可以添加一些自定義的Cluster,自己去定義屬性、命令等,就成了一個私有的協議。

1.4 安全加密

1.4.1 安全威脅

由于ZigBee是一種無線技術,因此安全性非常重要,因為黑客可以通過無線檢測到這些數據包。想象您有一個智能門鎖。如果黑客捕獲了打開您的門的數據包,那么他可以重發該文件以打開您的門。這是很危險的。

(1) 偽造 :比如黑客捕獲到無線報文,進行篡改之后,偽造一個假的報文,再發送到這個ZigBee網絡中,從而去控制網絡里的設備;

(2) 重播 :捕獲到這個報文后,不進行編輯,直接重新播放一下,

為了防止這種情況發生,ZigBee定義了許多安全功能。下面將會做簡要介紹。

1.4.2 Zigbee安全

1、加密流程

APS層和網絡層的加密流程,如下圖所示。

圖片

它顯示了如何在網絡層中保護不安全的網絡幀:首先,網絡有效負載將被加密。之后,將在加密的有效負載之前添加安全標頭。然后根據網絡標頭,安全標頭和加密的有效負載來計算哈希值。最后,將32位哈希值附加到幀的末尾。如果更改了網絡標頭,安全標頭和加密的有效負載中的任何字節,則哈希值將不同。我們將此值稱為MIC(mandatory integrity control),是消息完整性檢查的縮寫。

2、加密算法

圖片

APS層和網絡層的兩個加密環節使用的都是AES128對稱加密算法,這意味著需要使用相同的密鑰進行加密和解密。

3、完整性檢查

圖片

4、重播攻擊保護

圖片

添加了幀計數器以防止重發攻擊。讓我們看看它是如何工作的。

圖片

1、在發送方

(1)每發送一次FrameCounter的值都需要增加1;

(2)Frame Counter的值需要保存在non-volatile memory中,便于重啟后恢復Frame Counter。

2、在接收方

(1)首先,將記錄接收到幀的節點的Eui64和Frame Counter的值;

(2)來自同一節點的下一條消息的FrameCounter必須大于記錄的Frame Counter值。如果此次的Frame Counter比上一次的小或者相等,該消息都將被視為重發并將被丟棄;

(3)由于資源有限,接收方只保存所有鄰居的Frame Counter。

由于Frame Counter是一個32位值,因此如果設備長時間保持運行狀態,它可能會自動溢出。顯然,如果幀計數器被覆蓋,可能會出現問題。為防止這種情況發生,必須在溢出之前更新Network Key。如果更新了Network Key,幀計數器則可以再次從零開始。對于End Device來說,它通常只需要保存其父節點的Frame Counter即可。

1.4.3 APS層安全

在APS層用來加密的密鑰被稱為Link key。在ZigBee網絡中,雖然APS層和網絡層都有加密,但是絕大部分通信都只是在網絡層的加密。一般來說,只有在傳輸NetworkKey的時候需要在應用層被加密,并且這僅在Trust Center和新設備之間發生。因此,在這種情況下,我們也將其稱為Trust Center Link key。

新設備和Trust Center之間必須要在組網之前就使用哪一個Link Key達成共識,所以新設備和Trust Center之間是不需要一個Link Key的傳輸過程的。

網絡中的設備可以使用相同的Linkkey或不同的Link key,只要新設備和TrustCenter之間達成共識即可。

一般來說有四種Link Key,但是我們以前兩種為主。后兩種目前可能用得很少了,這里僅作簡要描述,不做深入探討。

(1)DefaultGlobal Trust Center Link Key又被稱為the well-known linkkey,其內容如下:

Default global Trust Center link key (0:15)= 0x5a 0x69 0x67 0x42 0x65 0x65 0x41 0x6c 0x6c 0x69 0x61 0x6e 0x63 0x65 0x300x39

其實就是字符串“ZigBeeAlliance09 ”。這個是在ZigBee 3.0之前就一直在廣泛使用的一個相同的默認的密鑰,如今得以保留主要是為了保持向后的兼容性。

所有的ZigBee設備都會有這個Default Global Trust Center Link Key。如果沒有指定其他的link key的話,Default Global Trust Center LinkKey就是設備在入網過程中第一個被嘗試使用的密鑰。

如果希望能保證和其他的ZigBee3.0的設備之間互聯互通的話,這個密鑰是不能改變的。

(2)Install CodeDerived Preconfigured Link Key

圖片

Install Code并不是一個Key,而是一個Key的輸入。InstallCode是16字節多項式+ 2字節CRC,再通過固定的算法,計算可以得出Link Key。這種Link Key的傳輸是由人工來完成的,Install Code的實際應用場景如下圖所示:

圖片

首先,在產品生產的時候,由廠家在產線隨機生成一個Install Code;

●然后將這個Install Code燒錄到產品里面;

●然后把這個Install Code和Eui64打到標簽上面,貼在這個產品表面;

●在安裝的時候,安裝人員利用手持設備的掃描功能,從產品標簽上掃描獲取InstallCode和Eui64;

●將獲取到的Install Code和Eui64告訴Trust Center(一般是協調器);

●然后在Trust Center上通過這個Install Code得到Link Ley,讓Trust Center知道IEEE地址為Eui64的這個新設備必須使用這個Link Key進行組網;

●待入網的新設備這邊,從flash中讀取出預先燒錄的Install Code,然后使用相同的算法得出Link key。

●待入網的新設備這邊計算得出的Link Key應與Trust Center端的派生Link Key相同。這樣,即使消息已加密,他們也可以在應用程序層進行通信。接下來就開始組網的過程了。

An Install Codeis a sequence of 16 bytes followed by 2 bytes of CRC. A complete 18 bytessequence is needed to generate a unique TCLK. The usage of install codesdefined in Z3.0 was added to allow a generalized out-of-band key deliverymethod for network commissioning. It works as follows:

·TC gets the install code and the 64-bitIEEE address of the device that will use this install code to join, via anyuser interface (serial, display and switches, etc.). The install code must bephysically provided with the joining device.

·TC validates the CRC of the install codeintroduced. If this is valid then a TCLK entry is added into the TC with thederived key and the address of the corresponding device.

·The joining device is instructed to useits install code to generate the corresponding TCLK.

·The network is open by any means.

·The joining device performs associationand the Trust Center delivers the network key encrypted in APS layer with theinstall code derived key.

·After this, the joining device mustperform the update of its TCLK as BDB specification requires.

For further details on how to generate theinstall codes, see the Base Device Specification [7]. This is supported only byR21 or later revisions, so to allow backwards compatibility the applicationmust have a way to attempt joining networks without the usage of Install Codes.

(3)DistributedSecurity Global Link Key

在DistributedSecurity Network中,沒有Trust Center,每個Router都可以分發 network key。由Router父節點向新入網設備分發的network key,在APS層是使用Distributed Security Global Link Key進行加密的。如果希望能保證和其他的ZigBee 3.0的設備之間互聯互通的話,這個密鑰是不能改變的。

Distributed Security Global Link Key (0:15)= 0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6 0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde0xdf

(4)Touchlink PreconfiguredLink Key

如果新設備是要通過touchlink的方式進行組網的話,就需要使用Touchlink Preconfigured Link Key。

Touchlink Preconfigured Link Key (0:15) =0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6 0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf

1.4.4 網絡層安全

1、總覽

該密鑰稱為Network Key。由于它是一種對稱加密算法,因此同一ZigBee網絡中的所有設備都將使用相同的Network Key。

在網絡安全標頭中,添加了“幀計數器”的字段和加密信息節點的源Eui64,以防止重發攻擊。還添加了密鑰序列號以支持Network Key更新。

2、逐跳安全

APS層的安全性,是端到端安全性。在APS層,是節點A加密好了之后一直得等到達目的地(節點C)之后才去解密。這中間的加密/解密密鑰(Link Key)只要A和C兩個知道,B不知道這個密鑰,不能去進行加密解密,所以B不關心通信的內容。在這種情況下,我們可以有很多的Link Key,只要通信的雙方知道即可。

網絡層的安全性,是逐跳安全性。A加密好了在發給C的過程中要經過B,B收到這個報文后要先解密再加密,加密完了之后再發給下一跳。由于所有的中間節點都要參與解密和重新加密的過程,所以所有的節點都必須使用相同的Network Key。

路由器節點需要解密該消息,然后對其進行加密,然后替換安全標頭中的信息,再將其發送出去。如果解密失敗,該消息將立即被丟棄。這樣的好處是可以盡快丟棄攻擊消息。

3、Network Key

Network Key是一個16字節的八位位組。通常,它是在網絡創建時由協調器隨機生成的。當新設備加入網絡時,它們必須獲得Network Key的副本。

在ZigBee網絡中,將Network Key分發給新設備的角色稱為Trust Center。有兩種典型的安全模型,即集中式安全網絡和分布式安全網絡。

圖片

在集中式安全網絡中,只有一個TrustCenter,通常是協調器。所有新設備將從協調器獲取Network Key。

在分布式安全網絡中,沒有一個固定的Truster Center,也就是說每個路由器都是一個Trust Center。新設備可以從每個路由器父節點那里獲取Network Key。

DistributedSecurity Model目前主要就是在飛利浦的Touch Link上在使用。ZigBee 3.0中最主要的還是Centralized Security Model的模式。

由于需要將Network Key從一個設備傳輸到另一臺設備,因此在傳輸過程中需要對密鑰值進行加密。此加密在應用程序層中完成。我們稍后再討論。

1.5 網絡建立與組網

1.5.1 創建網絡

首先,由協調器創建一個網絡,您必須準備4個參數

(1)PAN ID

(2)擴展 PAN ID

(3)工作頻道

(4)發射功率

您需要指定這四個參數。如果您不這樣做,協調器將隨機選擇一個PAN ID和一個擴展的PAN ID。如果您未指定頻道,則協調器將掃描并選擇一個相對安靜的頻道進行工作。

1.5.2 加入網絡

1、使用Well-KnownLink Key加入

圖片

網絡創建后,新設備可以開始加入。

(1)新設備將開始查找可連接的網絡。在此階段,新設備不知道可加入的網絡處于哪個信道,所以它將通過掃描的方式來發現可加入的網絡。它將在每個信道上都發送Beacon Request,等待一會兒如果沒有回應的話,就跳到下一個信道繼續發BeaconRequest。

(2)路由器和協調器將使用Beacon中攜帶的網絡信息來響應Beacon Request。這些信息包括PAN ID,擴展PAN ID以及路由器或協調器的其他一些屬性,例如設備是否允許連接,設備是否具有允許新設備連接的能力。

(3)新設備可以從不同設備接收多個Beacon。它將選擇信號質量最好的一個,并開始發送Association Request。在該Association Request中,將PAN ID設置為所選的PAN,并將目標節點ID設置為所選設備的節點ID。在這個報文里面,將會攜帶這個新設備的設備類型等信息。

(4)當路由器或協調器收到此AssociationRequest時,它將為新設備選擇一個節點ID,并以AssociationResponse進行響應。然后,新設備獲得了其Node ID,但由于未獲得Network Key而無法與其他節點通信。

(5)協調器會將當前的Network Key傳輸到新設備。該傳輸消息在應用程序層中使用Well-Known Link Key加密。

(6)當新設備收到此消息時,它將使用Well-KnownLink Key對消息解密并獲取Network Key。之后,該設備實際上已加入網絡,并能夠與網絡中的所有其他節點通信。

(7)設備將發送一條DeviceAnnounce,以通知網絡的其他節點,以通知他們我已加入。

2、使用Install CodeDerived Link Key加入

圖片

(1)在出廠之前,應該已經將InstallCode燒錄到新設備里面了。

(2)在加入之前,用戶需要獲取新設備的InstallCode和Eui64,然后在協調器上對其進行配置。

(3)然后,協調器從InstallCode中獲取Link Key,并將協調器設置為使用此LinkKey來加密此新設備的傳輸Network Key消息。

(4)當協調器開始將NetworkKey傳輸到新設備時,它將對消息使用Install Code Derived Link Key進行加密并將其傳輸到新設備。

(5)當新設備收到此消息時,它將從閃存中讀取Install Code并計算得出應和協調器端相同的Link Key,然后使用此密鑰對消息進行解密并獲取Network Key。

其余過程類似于使用Well-Known Link Key進行組網的過程。

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

    關注

    158

    文章

    2271

    瀏覽量

    243349
  • 通信模型
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7860
  • EndPoint
    +關注

    關注

    0

    文章

    3

    瀏覽量

    2161
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 #ZigBee ZigBee3.0-02 技術原理和基本概念-1

    ZigBee
    水管工
    發布于 :2022年10月23日 13:49:39

    #硬聲創作季 #ZigBee ZigBee3.0-02 技術原理和基本概念-2

    ZigBee
    水管工
    發布于 :2022年10月23日 13:50:00

    #硬聲創作季 #ZigBee ZigBee3.0-02 技術原理和基本概念-3

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 13:50:20

    #硬聲創作季 #ZigBee ZigBee3.0-09 基于AF單播發送數據-1

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 13:57:54

    #硬聲創作季 #ZigBee ZigBee3.0-09 基于AF單播發送數據-4

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 13:58:58

    #硬聲創作季 #ZigBee ZigBee3.0-09 基于AF單播發送數據-5

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 13:59:21

    #硬聲創作季 #ZigBee ZigBee3.0-11 基于AF組播發送數據-2

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:01:08

    #硬聲創作季 #ZigBee ZigBee3.0-13 ZCL基本原理講解-1

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:02:58

    #硬聲創作季 #ZigBee ZigBee3.0-13 ZCL基本原理講解-3

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:03:38

    #硬聲創作季 #ZigBee ZigBee3.0-14 ZCL命令收發控制和獲取地址-2

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:04:25

    #硬聲創作季 #ZigBee ZigBee3.0-14 ZCL命令收發控制和獲取地址-3

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:04:49

    #硬聲創作季 #ZigBee ZigBee3.0-14 ZCL命令收發控制和獲取地址-4

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:05:12

    #硬聲創作季 #ZigBee ZigBee3.0-14 ZCL命令收發控制和獲取地址-5

    ZigBeeZigBee3.0
    水管工
    發布于 :2022年10月23日 14:05:36

    ZigBee3.0數據包解析

    ZigBee3.0ZigBee聯盟推出的可以互聯互通的標準協議,用之前的Packet Sniffer抓包工具是無法解析ZigBee3.0的數據包,因ZigBee3.0的安全機制所有的
    發表于 02-28 11:48 ?2709次閱讀
    <b class='flag-5'>ZigBee3.0</b>數據包解析

    Zigbee 3.0的新功能

    電子發燒友網站提供《Zigbee 3.0的新功能.pdf》資料免費下載
    發表于 09-26 10:45 ?3次下載
    <b class='flag-5'>Zigbee</b> <b class='flag-5'>3.0</b>的新功能
    云鼎娱乐城优惠活动| 大发888wofacai官网| 百家乐官网必胜下注法| 威尼斯人娱乐平台赌| 百家乐官网视频麻将下载| 百家乐园云鼎娱乐平台| 豪门百家乐官网的玩法技巧和规则| 德州扑克发牌规则| 百家乐电子游戏试| 百家乐官网麻将筹码币| 百家乐试玩| 全讯网768866| 真人百家乐打法| 百家乐官网赌博是否违法| 大发888娱乐城破解软件| 百家乐为什么庄5| 破解百家乐官网游戏机| 星际娱乐城| sp全讯网新2| 怎样玩百家乐看路| LV百家乐官网娱乐城| 百家乐官网连长| 浙江省| 木棉百家乐的玩法技巧和规则| 百家乐规则澳门| 金榜娱乐城| 大发888娱乐场官网| 百家乐闲庄概率| 百家乐官网龙虎玩| 百家乐官网发牌千数| ,瑞丰国际娱乐场| 闲和庄百家乐的玩法技巧和规则| 凯斯网百家乐官网的玩法技巧和规则 | 夜总会百家乐官网的玩法技巧和规则 | 宁武县| 钻石娱乐| 太阳城娱乐场| 网上赌百家乐正规吗| 百家乐官网平注常赢玩法技巧| 百家乐官网打法介绍| 百家乐官网桌子轮盘|