BLE Mesh 前言2:你需要提前知道的事
一、藍芽Mesh的參考資源
- 藍芽Mesh規範Spec,它定義了藍芽Mesh相關的技術細節。
2. 藍芽Mesh術語表
3. 藍芽Mesh概覽
二、藍芽Mesh定義重申
藍芽Mesh網路是用於建立多對多裝置通訊的低功耗藍芽新的網路拓撲。
它允許建立基於多個裝置的大型網路,網路可以多至數百上萬臺Mesh裝置。這些裝置通過BLE傳輸資訊,可為很多工業領域提供理想的解決方案選擇。例如,樓宇自動化,包括照明、供暖、製冷、安防系統;無線感測器網路;資產跟蹤等
三、哪些裝置可以部署藍芽Mesh
藍芽Mesh執行在BLE之上,所以只能與藍芽
四、網路泛洪
Flooding,即通過廣播的方式,將資訊從網路中的某一個節點轉發至目標節點。
大家聽到網路泛洪,初次印象肯定是網路會非常繁忙,效率低下,耗電。但是藍芽Mesh採用的網路泛洪是可控的,裝置對於資訊的轉發需要滿足多種限制條件;同時,通過可控的flooding,不需要建立和管理複雜的路由表,路由發現表等。節省了網路執行的儲存空間和開銷。
Flooding的本質,就是多路徑的,確保了資訊可以通過多條路徑傳遞到目的節點,因此網路中的任何一個節點出現故障,都不會導致網路癱瘓,保證了網路的可靠性。
五、低功耗配置
可見上一章節的LPN和FN節點說明
六、手機如何接入藍芽Mesh網路
要開發App,必須使用Mesh的代理(Proxy)協議,才能通過代理節點與網狀網路進行通訊。即應用程式,需要實現預先定義的GATT服務(service)和特性(Characteristic),就可以與藍芽Mesh網路中的代理節點進行通訊,進而通過代理節點與整個Mesh網路進行互動。
七、安全性
藍芽Mesh網路是一種真正工業級解決方案,其安全性包括:
- 使用經過驗證的安全演算法對新增到網路的裝置進行配置(Provisioning),這套安全機制通過橢圓曲線演算法(ECDH)非對稱加密和帶外(OOB)認證的方式來保證安全的新增裝置;
- 所有通訊資訊都需要使用128-bit AES-CCM進行加密和認證,藍芽Mesh網路中的所有資訊都需要進行加密和認證;
- 加密和認證應用與網路層(Network layer)和應用層(Application Layer)兩層,分別有兩組金鑰:網路層金鑰Network Key和應用層金鑰Application Key。同一網路中的節點間使用同一網路層金鑰加密和解密。但是應用層的資訊是否可以被解密取決於節點是否具有應用層金鑰。這樣設計的好處在於將兩層的加密隔離,加解密互不干擾。
- 通過在傳送的每個資訊上加入不同的序列號(Sequence number)來防止重放攻擊replay attack;
- 在Mesh網路中,可以通過既定的金鑰更新程式將網路中不授信的裝置列入黑名單,將其踢出網路;
6. 通過擾碼的方式對每條資訊進行模糊(obfuscation)處理,這意味著,及時您帶著mesh裝置走動,身邊的駭客通過資料包嗅覺器(packets sniffer)也無法跟蹤到您的行蹤,因為所有的資訊都經過了模糊處理。