藍牙網(wǎng)狀網(wǎng)絡(luò)就像一個俱樂部。如果您是俱樂部會員,則可以進入俱樂部并使用您的會員類型允許的設(shè)施和服務(wù)。如果你不是,不管你怎么說,你都不能進門。
藍牙網(wǎng)狀設(shè)備可以是或者不是藍牙網(wǎng)狀網(wǎng)絡(luò)的成員。如果是會員,則有權(quán)至少以一種基本的方式與其他也是該網(wǎng)絡(luò)成員的設(shè)備進行通信。如果不是會員,那么設(shè)備傳送的任何內(nèi)容都將被網(wǎng)絡(luò)中的其他設(shè)備忽略。
藍牙網(wǎng)絡(luò)設(shè)備也可以被認為具有會員類型,例如可以訪問特定的俱樂部設(shè)施(健身房,高爾夫球場等),而不是整個俱樂部。它只能與網(wǎng)絡(luò)中的某些設(shè)備交互。其背后就是應(yīng)用程序的概念。例如,藍牙網(wǎng)狀燈開關(guān)可以在網(wǎng)絡(luò)中打開或關(guān)閉藍牙網(wǎng)狀燈,因為這些設(shè)備中的每一個都是照明應(yīng)用的一部分。由于加熱系統(tǒng)不是照明應(yīng)用的一部分,燈開關(guān)不能接通加熱系統(tǒng)。
藍牙網(wǎng)狀網(wǎng)絡(luò)安全性
要使設(shè)備成為藍牙網(wǎng)狀網(wǎng)絡(luò)的成員,必須使用稱為provisioning的安全過程將其添加到網(wǎng)絡(luò)中。
安全是藍牙網(wǎng)狀網(wǎng)絡(luò)的核心,我們將在本系列的后面詳細介紹這個主題。在藍牙網(wǎng)狀網(wǎng)絡(luò)中添加或移除設(shè)備都是安全性要求的過程。
藍牙網(wǎng)狀網(wǎng)絡(luò)使用不同安全密鑰類型的系統(tǒng)來保護整個網(wǎng)絡(luò),以及保護和分離網(wǎng)絡(luò)中的各個應(yīng)用。作為網(wǎng)絡(luò)的成員并有權(quán)參與特定的應(yīng)用程序,在這兩種情況下都是設(shè)備擁有正確安全密鑰的結(jié)果。網(wǎng)絡(luò)中的所有節(jié)點都擁有一個稱為網(wǎng)絡(luò)密鑰或NetKey的密鑰。它擁有使該設(shè)備成為該網(wǎng)絡(luò)成員的這個密鑰,即它的一個節(jié)點。
藍牙網(wǎng)狀網(wǎng)絡(luò)術(shù)語
在之前的藍牙網(wǎng)狀網(wǎng)絡(luò)系列中,我們介紹了正式的技術(shù)術(shù)語‘device’和‘node’。您可能還記得,一個網(wǎng)狀網(wǎng)絡(luò)成員的設(shè)備稱為node,而不是device?,F(xiàn)在,我將使用帶有大寫“D”的“device”來表示尚未成為網(wǎng)狀網(wǎng)絡(luò)一部分的設(shè)備,并繼續(xù)像我一直使用的那樣使用“device”來表示更通用的電子設(shè)備,非正式的感覺。
藍牙網(wǎng)狀網(wǎng)絡(luò)配置
配置將一個簡單的設(shè)備轉(zhuǎn)換成一個節(jié)點,一個藍牙網(wǎng)狀網(wǎng)絡(luò)的正式成員。該過程使用應(yīng)用程序來完成,該應(yīng)用程序通常由產(chǎn)品制造商提供以供在智能手機或平板電腦上使用,但也可以采用其他形式,例如桌面或網(wǎng)絡(luò)應(yīng)用程序。
運行配置應(yīng)用程序的設(shè)備稱為Provisioner。提供者必須物理性的安全,因為它具有特殊的角色。
配置協(xié)議
在配置期間,Provisioner和要配置的設(shè)備使用稱為配置協(xié)議的藍牙網(wǎng)狀協(xié)議進行通信。 Provisioner可以在PB-ADV或PB-GATT承載[i]上使用配置協(xié)議,以確保Provisioner應(yīng)用可以在舊的智能手機上實現(xiàn),只需要它們支持藍牙低功耗(LE)和GATT。
向網(wǎng)絡(luò)添加新的設(shè)備
將設(shè)備添加到網(wǎng)絡(luò)主要涉及為其提供該網(wǎng)絡(luò)的所有其他節(jié)點所擁有的網(wǎng)絡(luò)密鑰。當(dāng)然,這個過程本身必須是安全的,這樣惡意設(shè)備就不能竊聽在添加新設(shè)備和竊取NetKey時發(fā)生的通信。
當(dāng)購買新設(shè)備并且需要將其添加到現(xiàn)有的藍牙網(wǎng)狀網(wǎng)絡(luò)時,用戶將使用Provisioner以及來自新設(shè)備的制造商的指令將其添加到藍牙網(wǎng)狀網(wǎng)絡(luò)。這將新設(shè)備轉(zhuǎn)換為藍牙網(wǎng)狀網(wǎng)絡(luò)的節(jié)點和成員。
該過程涉及幾個步驟,如下面的流程圖所示。
配置過程
步驟1:信標(biāo)
藍牙網(wǎng)狀網(wǎng)絡(luò)規(guī)范已經(jīng)引入了新的GAPAD類型,包括“Mesh Beacon”廣告類型[ii]。
設(shè)備通過使用> AD類型將自身宣告為未提供的設(shè)備來指示其可用性。用戶可能需要按照制造商所描述的程序,例如按下按鈕的組合或按住按鈕一段時間的方式開始新的設(shè)備廣告。
用戶還將在Provisioner中啟動“Add Deviceto Network”過程,這將導(dǎo)致它從信標(biāo)設(shè)備接收廣告數(shù)據(jù)包。請記住,Provisioner可能是智能手機或平板電腦應(yīng)用程序,因此實際上,這涉及到解鎖智能手機,啟動應(yīng)用程序,可能登錄到應(yīng)用程序(以獲得額外的安全性),并使用其用戶界面來啟動尋找信標(biāo)設(shè)備。通過這種方式,Provisioner就會意識到新的配置,并準(zhǔn)備好通過配置過程的其余部分。
步驟2:邀請
接下來,Provisioner向要配置的設(shè)備發(fā)送邀請消息。邀請采用配置邀請協(xié)議(PDU)的形式。信標(biāo)設(shè)備在ProvisioningCapabilities PDU中響應(yīng)有關(guān)其自身的信息。
Provisioning Capabilities PDU提供的信息包括元素的數(shù)量以及它支持的與供應(yīng)相關(guān)的算法。它還指示設(shè)備具有的輸入和輸出功能的類型,這是在“Authentication”步驟中使用的信息。
步驟3:交換公鑰
所有藍牙網(wǎng)狀設(shè)備(包括Provisioner)都支持FIPS P-256Elliptic Curve算法,因此必須具有公鑰?;谠撍惴ǖ姆菍ΨQ密碼術(shù)被用于創(chuàng)建安全通道,通過該通道來執(zhí)行剩余的provisioning過程。為此,Provisioner和設(shè)備交換其公共密鑰。請注意,設(shè)備可能會通過帶外方法(如QR碼)提供其公鑰。我們將在后面的藍牙網(wǎng)狀網(wǎng)絡(luò)系列文章中關(guān)注網(wǎng)狀網(wǎng)安全性,包括配置安全性。
步驟4:授權(quán)
Provisioner利用其對新設(shè)備功能的知識并向其發(fā)送消息,指示消息輸出單個或多個數(shù)值以響應(yīng)各種支持的用戶動作之一,例如按下按鈕。根據(jù)設(shè)備的不同,輸出的值會有所不同。一個設(shè)備可能在LED面板上顯示一個三位數(shù)字值,而另一個設(shè)備可能會多次閃爍紅色LED,閃爍次數(shù)為輸出驗證值。Provisioner的用戶將觀察設(shè)備輸出的值,并將其輸入到Provisioner用戶界面。
然后,設(shè)備和Provisioner交換一個加密哈希,該加密哈希由包含由該設(shè)備輸出的隨機值的數(shù)據(jù)導(dǎo)出,從而允許它們完成其認證。
步驟5:分配Provisioning數(shù)據(jù)
在authentication成功完成之后,會話密鑰由兩個設(shè)備中的每一個從它們的私鑰和交換的對等公鑰得出。會話密鑰隨后用于保護完成供應(yīng)過程所需的數(shù)據(jù)的后續(xù)分配,包括設(shè)備的NetKey和唯一地址(稱為UnicastAddress)。
配置完成后,配置的設(shè)備擁有網(wǎng)絡(luò)的NetKey,這是一個被稱為IVIndex的藍牙網(wǎng)狀網(wǎng)安全參數(shù),它具有由Provisioner分配的UnicastAddress[iii]。新設(shè)備現(xiàn)在正式成為節(jié)點和藍牙網(wǎng)狀網(wǎng)絡(luò)的成員。
從網(wǎng)絡(luò)中移除節(jié)點
藍牙網(wǎng)狀網(wǎng)絡(luò)的節(jié)點需要被刪除。該設(shè)備可能已經(jīng)損壞,需要更換,或者可能需要將該設(shè)備移到其他城市另一家辦事處的另一個藍牙網(wǎng)絡(luò)網(wǎng)絡(luò)。同樣,該設(shè)備可能已經(jīng)出售,預(yù)計新的擁有者將使用上述供應(yīng)過程將設(shè)備添加到他們自己的藍牙網(wǎng)狀網(wǎng)絡(luò)。
有時候有些設(shè)備會損壞
如果設(shè)備出現(xiàn)故障而無法修復(fù),您可能會試圖將其扔到垃圾箱中。如果您將設(shè)備出售給某人,您也同樣可能只想拿錢,忘記舊設(shè)備。然而,這是不明智的。
節(jié)點包含通過供應(yīng)過程提供的安全密鑰。請記住,它是擁有主要的NetKey,它確定一個設(shè)備是一個網(wǎng)絡(luò)的成員,因此有權(quán)訪問它。丟棄或銷售設(shè)備時,將與您的藍牙網(wǎng)絡(luò)網(wǎng)絡(luò)相關(guān)的密鑰留在設(shè)備內(nèi)可能會使您的網(wǎng)絡(luò)容易受到攻擊。因此,已經(jīng)定義了一個消除節(jié)點的安全過程,這個過程將在這里進行描述。
從網(wǎng)絡(luò)中刪除節(jié)點涉及兩個步驟。首先,Provisioner應(yīng)用程序用于將要刪除的節(jié)點添加到“黑名單”中。其次,啟動一個稱為密鑰刷新過程的過程。
黑名單
使用Provisioner,用戶必須將要刪除的節(jié)點添加到黑名單中。黑名單的目的只是充當(dāng)那些在啟動密鑰刷新過程時不能用新的安全密鑰發(fā)布的節(jié)點的列表。
The Key Refresh Procedure
秘鑰刷新過程
密鑰刷新過程導(dǎo)致網(wǎng)絡(luò)中的所有節(jié)點(黑名單的成員除外)被發(fā)布新的網(wǎng)絡(luò)密鑰,應(yīng)用密鑰和所有相關(guān)的派生數(shù)據(jù)。換句話說,構(gòu)成網(wǎng)絡(luò)和應(yīng)用程序安全基礎(chǔ)的整套安全密鑰被替換。
用戶使用Provisioner啟動密鑰刷新,Provisioner使用配置消息創(chuàng)建新密鑰并將其發(fā)送到網(wǎng)狀網(wǎng)絡(luò)中的每個節(jié)點,但黑名單的成員除外。
低功率節(jié)點將接收他們的Friend的新密鑰。因此,在接收它們之前可能需要相當(dāng)長的時間,因此整個網(wǎng)絡(luò)都要更換密鑰。
由于每個節(jié)點不會在同一時間收到新的密鑰,因此密鑰刷新過程定義了一個稱為“Phase 2”的過渡階段,在此過程中使用舊密鑰和新密鑰。具體而言,傳輸使用新密鑰,但支持接收消息的節(jié)點同時使用舊密鑰和新密鑰。
Provisioner通知所有節(jié)點,當(dāng)Phase2完成時,它們應(yīng)撤銷舊密鑰,并且每個非黑名單的節(jié)點都收到其新密鑰。
此時,從網(wǎng)絡(luò)中刪除并且包含舊的NetKey和舊的AppKeys的節(jié)點不再是網(wǎng)絡(luò)的成員,因此不構(gòu)成威脅。
結(jié)論
安全性是藍牙網(wǎng)狀網(wǎng)絡(luò)技術(shù)設(shè)計的核心。我們已經(jīng)看到了這種情況如何在網(wǎng)絡(luò)管理場景中最基本的地方體現(xiàn)出來,將新設(shè)備添加到藍牙網(wǎng)狀網(wǎng)絡(luò)并將其刪除。
-
通信
+關(guān)注
關(guān)注
18文章
6081瀏覽量
136493 -
藍牙
+關(guān)注
關(guān)注
114文章
5881瀏覽量
171356 -
協(xié)議
+關(guān)注
關(guān)注
2文章
606瀏覽量
39357
發(fā)布評論請先 登錄
相關(guān)推薦
探索藍牙網(wǎng)狀網(wǎng)絡(luò)的奧妙
邊緣智能的邊緣節(jié)點安全性
藍牙mes如何保障安全
藍牙mesh系列的網(wǎng)絡(luò)安全性
通過SSL實現(xiàn)的安全性網(wǎng)絡(luò)編程
提高無線網(wǎng)絡(luò)的安全性的方法
藍牙網(wǎng)狀網(wǎng)絡(luò)的四大優(yōu)點分析
![<b class='flag-5'>藍牙</b><b class='flag-5'>網(wǎng)狀</b><b class='flag-5'>網(wǎng)絡(luò)</b>的四大優(yōu)點分析](https://file1.elecfans.com//web2/M00/A7/22/wKgZomUMQpWASkCdAAAMQOgnLaQ227.jpg)
評論