zigbee協議棧中aes加密演算法
大浪淘沙
z-stack
對zigbee2006
提供了全面的支援,功能之強大,效能穩定、安全性高,說到安全性是我們今天的主題。
cc2430
硬體支援
128bit
的aes
加密演算法,在協議棧中為了避開相同裝置的干擾,和防止被其他裝置監聽,我們就採用這個技術將資料加密來提高資料的安全性。
aes(
the advanced encryption
standard
)是美國國家標準與技術研究所用於加密電子資料的規範。它被預期能成為人們公認的加密包括金融、電信和**數字資訊的方法。
aes是乙個新的可以用於保護電子資料的加密演算法。明確地說,
aes是乙個迭代的、對稱金鑰分組的密碼,它可以使用
128、
192和
256位金鑰,並且用
128位(
16位元組)分組加密和解密資料。與公共金鑰密碼使用金鑰對不同,對稱金鑰密碼使用相同的金鑰加密和解密資料。通過分組密碼返回的加密資料
的位數與輸入資料相同。迭代加密使用乙個迴圈結構,在該迴圈中重複置換(
permutations
)和替換
(substitutions
)輸入資料。
在z-stack
中採用的是
128bit
的加密,首先需要乙個
128bit
的key
,這個key
不同,加密出來的內容也不同在
z-stack
中是通過
default_key="
"這種方式來定義的。
在z-stack
中已經在協議棧中實現了這個加密演算法,如果需要使用直接開啟這個服務就可以了,下面我們主要將
z-stack
的加密演算法的開啟。
z-stack1.4.3
加密演算法的功能開啟方法:1.將
f8wconfig.cfg
檔案中設定為
-dsecure=1
,這句話的意思是
secure=1
,這個變數在協議棧中作為
if語句的條件使用,條件為真的語句中就是開啟加密演算法的函式。所以要使用第一步是要將這個引數設定為1。
2.將zglobals.c
中的uint8 zgpreconfigkeys = flase;
修改為uint8 zgpreconfigkeys = true;
3.準備乙個
key,這個可以在函式
nwk_global.c
中修改:
const byte
defaultkey[sec_key_len] =
;如果使用了加密演算法後,網路中所有的裝置都需要開啟這個演算法,而且各個裝置中的
keykey
加密,這些資料網路是不認識的,根本就不會傳到網路層。
加密演算法開啟以後,如果你需要修改**,就必須改變你的
key,或者是擦除一次你的
flash
,否則會出現不可逾期的錯誤,而且沒有規律。通常的做法是擦除
flash
一次,這樣可以保證和整個網路的
key相同。
採用這個加密演算法的好處是:如果乙個網路在做實驗,你再隨便加入乙個協調器或者路由或者終端對現有的網路狀態不會造成影響,這樣就可以進行多個並行實驗了。
zigbee協議棧 端點
端點的意義 從應用角度看,通訊的本質就是端點到端點的連線 例如,乙個帶開關元件的裝置與帶乙個或多個燈元件的遠端裝置進行通訊,目的是將這些燈點亮 端點的實現 端點之間的通訊是通過稱之為簇的資料結構實現的。這些簇是應用物件之間共享資訊所需的全部屬性的容器,在特殊應用中使用的簇在模板中有定義。所有端點都使...
ZigBee協議棧解析
zigbee技術是物聯網領域最常用的無線技術之一,如果我們要做基於zigbee技術的物聯網應用,最好對zigbee協議棧有乙個基本的了解。這篇文章對zigbee協議棧做乙個簡單明瞭的介紹。概述本文準備介紹的zigbee協議棧是zigbee2007,也是目前業界最常用的標準版本,對於zigbee協議棧...
ZigBee模組 zigbee協議棧網路管理
zigbee協議棧網路管理 一 補充基礎知識 每個cc2530晶元出廠時候都有乙個全球唯一的32位 mac位址,當裝置連入網路的時候,每個裝置都能獲得由協調器分配的 16位短位址,協調器預設位址 0x0000 很多時候網路就是通過短位址進行管理。二 實驗現象 路由器 裝置終端傳送自己定義的裝置號給協...