ble mesh学习笔记(10)mesh网络各种key的应用
?
一、網絡密鑰(Network Key)
應使用符合核心規范要求的隨機數生成器生成。 網絡密鑰層次結構的圖示如圖所示。
?
1、用NID EncryptionKey PrivacyKey 來對mesh網絡數據加密。
?
?
2、Network ID 安全網絡廣播 以及GATT網絡廣播
?
?
3、IdentityKey 用于節點識別廣播
?
其中hash就是采用 IdentityKey生成。
?
4、beaconkey
?
?
二、應用密鑰(AppKey)
?
1、AID 用于接入消息的驗證
?
?
不同應用之間可以采用不同的應用秘鑰。AppKey用于應用程序的數據。網絡中的一些節點具有特定應用,并且根據應用的需要對一些潛在敏感數據的訪問進行限制。這些節點具有特定的AppKey,并與特定應用相關聯。會使用不同AppKey的領域通常包括安全(樓宇門禁、機房門禁和CEO辦公室門禁)、照明(制造廠房、外部樓宇照明和人行道)和HVAC系統。
?
當一節點接收到訊息時,會將訊息從架構最底下的低功耗藍牙,一層一層往上傳(從載體層到網絡層)。接著,網絡層會進行各項檢查來決定是否將訊息傳給上一層,或者直接拋棄。
此外,PDU當中有一個網絡識別碼(Network ID)欄位,可用來快速判斷訊息使用的網絡密鑰。如果接收端的網絡層無法辨識該網絡密鑰,就代表接收端裝置不屬于該網絡的成員,而會將PDU拋棄。此外,還有一個網絡訊息完整性檢查(MIC) 欄位。節點會辨識PDU網絡識別碼對應的網絡密鑰,如果檢查失敗,訊息便會直接被拋棄。在發送端節點訊號范圍內的所有節點都會收到發出的訊息,與收到裝置不相干的訊息則會迅速被拋棄,例如來自不同的網絡或子網絡的訊息。
同樣的原則在上層傳輸層也一樣適用。不過,該層檢查的是訊息的應用密鑰,也就是PDU當中的應用識別碼(AID)欄位。如果收到的節點無法辨識PDU中的應用識別碼,上層傳輸層就會將PDU直接拋棄。此外,若是傳輸訊息的完整性檢查(TransMIC)失敗,訊息也會被拋棄。
?
三、設備秘鑰(DevKey)
設備密鑰(DevKey)是僅為節點和配置客戶端所知的訪問層密鑰。 設備密鑰應綁定到節點已知的每個網絡密鑰。 那些綁定不能改變。 設備密鑰派生的圖示如圖所示。
?
總結
以上是生活随笔為你收集整理的ble mesh学习笔记(10)mesh网络各种key的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算服务器Centos 7.9 配置to
- 下一篇: OSG相机漫游