Nordic HVAC LPN SIG

Mesh架構考驗憑證可靠度 藍牙強化物聯網安全機制

雖然低功耗藍牙(Bluetooth Low Energy/Bluetooth LE)技術作為物聯網(IoT)的基礎技術已經取得重大進展,但它仍然存在一個弱點,因為它主要設計用於支援電池供電的週邊和智慧手機等中央設備的通訊,所以無法支援Mesh網路連線,但現在,藍牙Mesh 1.0規範消除了這個弱點。
Mesh網路允許網路中的設備(或稱「節點」)互相通訊而無需使用網路中樞設備(Hub),如果需要,可以經由其他節點來將資料封包中繼到其他設備。這樣的系統實現了更大的範圍、靈活性和擴充性,並且是任何自給自足的物聯網(IoT)無線技術之先決條件。藍牙Mesh網路的主要應用包括企業照明設施、控制信標的後端,以及工業監控。 

有數家廠商,尤其是Silvair,認為這項需求是不可或缺的,因而開發了採用低功耗藍牙技術的專有Mesh網路解決方案來填補缺點。該公司的工程師在起草正式的藍牙Mesh網路規範方面發揮了關鍵作用,這實在並不令人覺得意外。這個規範已經在2017年7月份正式確立。 

韌體更新即可通  Mesh支援藍牙4.0以上版本  

由於開發人員熟悉這種技術的線性發展,可能假設藍牙Mesh網路僅僅是藍牙5技術的更新,但是情況並非如此。實際上,透過軟體更新,任何相容於藍牙4.0、或者更新版本的低功耗藍牙晶片也能夠支援藍牙Mesh網路。這允許現在使用私有Mesh解決方案的聯網低功耗藍牙設施透過進行無線升級來相容藍牙Mesh網路。 

這並不是說韌體更新不重要。藍牙Mesh網路是一個具有七層的全新架構:承載層、網路層、底層傳輸層、上層傳輸層、存取層、基礎模型和模型,它建立於標準低功耗藍牙實體層(無線電)之上(圖1)。當一個節點接收訊息時,會將該訊息從下層的低功耗藍牙實體層向上傳播,經由承載層送達至網路層。網路層使用多個檢查方法來決定將訊息傳遞到堆疊上方,或者決定忽略(參考資料提供瞭解有關各層功能的更多資訊)。 

圖1 藍牙Mesh堆疊位於藍牙低功耗實體層之上
藍牙Mesh網路的規範詳細描述了四種類型「節點」,包含中繼節點、低功耗節點、朋友節點和代理節點。 

中繼節點能夠重新發送所接收到的資料封包,並且利用這個機制,使得資料封包可以在整個網路上快速傳播。中繼的缺點是耗電量增加,這是由於這種節點一直「醒著」。雖然在Mesh網路配置中低功耗藍牙的功耗遠低於其他競爭技術,但這樣的運作模式也無法單單依靠電池供電來持久運作。對於智慧照明等應用而言,這並不是一個缺點,因為燈具是被連接到電源中為LED供電,但是對於網路中其他並非由主線供電的設備,比如交換器,則可能會造成問題。 

為了解決這個問題,藍牙網路包括了「低功耗節點」(LPN),可以使用電池或能源採集來運作。LPN與「朋友節點」協同工作,朋友節點通常是由主線供電,因而能夠永遠保持醒著;這些設備會暫存任何發往LPN的訊息。LPN根據預先設定的排程表切換至「接收」模式,來接收暫存的訊息,並根據指令進行運作,接著便快速返回節能的「睡眠」狀態。 

「代理節點」允許運行低功耗藍牙堆疊,但不支援藍牙Mesh網路的設備(例如現在的智慧手機)連接至藍牙網路設備。同時經由節點和設備的通用型屬性設定檔(GATT)介面實現互動(圖2)。 

圖2 代理節點(「P」)允許不支援藍牙Mesh的藍牙低功耗設備(例如智慧手機)連接至藍牙Mesh網路。

資料來源:藍牙技術聯盟

藍牙Mesh網路跟隨藍牙技術的架構,其中GATT的「設定檔」允許眾多用例分享共同的資訊結構。然而由於Mesh網路的分散式特性,兩類設定檔的設計是不同的。為了避免GATT設定檔被錯誤認為是網路設定檔,因此Mesh設定檔稱作「模型」(Models)。  

藍牙Mesh 1.0包括「設定」、「心跳」和「健康」基礎模型,這些基礎模型與「Mesh模型」相輔相成,用於「通用」、「照明」、「感測器」和「場景」等用例。鏡像GATT設定檔還可以建立客製化的基礎和Mesh模型(模型是重要的概念,建議讀者瀏覽參考資料以瞭解更多細節)。 

照明驅動 

智慧照明是無線IoT技術的先驅應用,因而最初許多藍牙網路規範都是專為這個用途而客製的。藍牙技術聯盟(SIG)在部落格中曾經說到,「藍牙Mesh網路將在商用照明中造成最大的初步影響。」 

也就是說,用於智慧照明的機制可以便利地支援其他的關鍵應用,比如信標、安全網路,以及冷暖空調(HVAC)網路。這些機制中的關鍵是經由「擴散式」(Flooding)的通訊,即是把每個資料封包向網路中的每個節點廣播,直到其到達目標節點。 

有三種類型定址可配合擴散式網路:「單一廣播」(在初始節點設置期間使用)、「群組」以及「虛擬」(主要由設備製造商用來「標記」產品)。在這些當中,群組定址最適用於日常操作。群組位址是代表著網路中一個或多項元素的群播位址。SIG定義了四個「固定群組位址」,稱作「全代理」、「全朋友」、「全中繼」,以及「全節點」,為上面定義的節點類型定址。 

除了這些群組位址,安裝廠商很可能在配置期間分配動態群組位址,以反映實體的Mesh網路布局。例如,動態群組位址可以分配至建築中每個房間的燈具。 

對於主要的智慧家居應用,例如照明,採用擴散網路方式的Mesh網路和群組定址是十分適合的。採用擴散網路方式的Mesh網路允許交換器向智慧照明群組發送「ON」指令,透過網路進行快速傳播,每個節點接收指令,並且相應地起作用。目標群組的燈光幾乎立即亮起。與需要透過網路中樞來向每個連線的燈具傳送單獨指令的網路相比,例如星形網路,採用擴散網路方式的Mesh網路可以把遲滯降低很多。 

擴散網路架構還帶來了其他的優勢,但也有一些代價。一個主要的額外優勢是簡單,特別是把通訊限制至低功耗藍牙技術的三種廣播和掃描通道(別忘了這項技術總共有40個頻道)。但是,這樣做的代價是頻寬減小了,原因在於需要管理流量以防止資料封包超過這個有限的頻率子集。 

這項規範包括了數個機制,以緩減廣播和掃描通道阻塞。首先是定義一個計算特定的資料封包中繼傳輸次數的TTL(Time-To-Live)計數器,在滿足定義的計數之後,就不會繼續進行中繼操作。 

例如,設置TTL計數器為3,允許一個資料封包從起源開始最多傳遞3次,此後便不再重新傳播。 

第二個防止阻塞機制就是資料封包的資訊暫存,一旦資料封包流傳整個Mesh網路之後,最後只可以到達暫存,在這一點上,設計者可以假設它不必再進行傳輸。一個「選擇性中繼」功能還可以限制Mesh網路擁堵。只要關閉中繼,節點便可以接收資料封包而不傳送。選擇性中繼增加了複雜性,因為設計人員必需折衷權衡Mesh網路的靈活性和頻寬消耗,但這樣做可以提升總體Mesh網路的表現。 

安全第一 

藍牙Mesh將藍牙技術更緊密地導入IoT中,使得安全變得至關重要。因而,藍牙Mesh的設計人員須確保網路、各項應用,以及裝置全部是安全的,並且無法被置換或以其他方式限制。對於藍牙Mesh網路,安全並不是可有可無,而是不可或缺、屬於強制的。 

這個強制性方法是從「開通」(Provisioning)開始的,開通配置是使得網外設備在Mesh網路上變為節點的過程,可以經由智慧手機或平板電腦上支援的App來實施。這個過程有五個步驟:信標(指示加入Mesh網路的可用性)、邀請(來自開通配置的設備)、公鑰交換、認證,以及傳輸環節金鑰交換(確保隨後的資料分發完全開通)。 

在開通的過程中,實現了高度的安全性,因為資料封包是使用AES-128進行端對端加密,並且在每個中繼之間使用的AES-128加密,從而強化了隱私。此外,也加入定期更新加密金鑰,檢測和抵抗在開通流程中的「重播攻擊」。 

目前已有業者推出相關方案,舉例來說,Nordic最近推出用於Mesh網路的nRF5軟體開發套件(SDK),讓開發人員能夠使用該公司之前的nRF51和nRF52系列SoC來開始設計藍牙Mesh應用。Nordic的藍牙Mesh堆疊方案包括許多沒有加入藍牙Mesh 1.0規範的額外有用功能。 

(本文作者為Nordic產品行銷經理)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!