精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

藍牙mesh安全的啟動配置流程分析

電子設計 ? 作者:電子設計 ? 2018-09-28 08:22 ? 次閱讀

啟動配置流程包括五個階段:

1、發送Beacon信號

2、邀請

3、交換公共密鑰

4、認證

5、啟動配置數據分發

1、發送Beacon信號:如果未經啟動配置的設備支持PB-ADV承載層,則其作為未經啟動配置設備Beacon進行廣播;如果使用的是PB-GATT承載層,則發送可連接的廣播數據包。這就向啟動配置設備(Provisioner)表明未經啟動配置的設備已做好準備,可進入啟動配置流程。

2、邀請:啟動配置設備(Provisioner)邀請未經啟動配置的設備發送自身啟動配置功能信息

3、交換公共密鑰:在此階段,根據未經啟動配置設備的功能,啟動配置設備(Provisioner)選擇合適的驗證方法,并通知未經啟動配置設備將要采取的方式。之后,啟動配置設備和未經啟動配置設備會創建一個橢圓曲線公私密鑰對并交換公鑰。然后,每臺設備使用自己的私鑰和對等設備的公鑰來計算對稱密鑰,即ECDHSecret。該密鑰用于驗證對端設備的身份。

本文將介紹啟動配置流程的后兩個階段:認證和啟動配置數據分發。

4、認證

在此步驟中,啟動配置設備使用所選的驗證方法,對未經啟動配置設備進行驗證。有三種可用的驗證方法(OOB, Out-Of-Band):輸出OOB(Output OOB)、輸入OOB(Input OOB)、以及靜態OOB(Static OOB)或無OOB(No OOB)。

輸出帶外(Output OOB)

若選擇的是輸出帶外(Output OOB)驗證方法,則未經啟動配置設備會選擇一個隨機數,并通過與其功能兼容的方式輸出該數字。例如,如果未經啟動配置設備是一個燈泡,則它能夠閃爍指定的次數。如果設備具有LCD屏幕,則可以將隨機數顯示為多位數值。啟動配置設備(Provisioner)的用戶需要輸入觀察到的數字,來驗證未經啟動配置的設備。輸出帶外驗證方法的工作流程如圖1所示。

藍牙mesh安全的啟動配置流程分析

圖1 – 通過輸出OOB進行驗證

輸入隨機數后,啟動配置設備(Provisioner)生成并檢查確認值。無論采用哪種驗證方式,整個驗證步驟中的檢查確認值(check confirmation value)計算方式都是相同的,請繼續往下看。

輸入帶外(Input OOB)

輸入帶外(Input OOB)驗證方法與輸出帶外(Output OOB)方法類似,但設備的角色相反。啟動配置設備(Provisioner)生成并顯示隨機數,然后提示用戶采取適當的操作,將隨機數輸入未經啟動配置的設備。以照明開關為例,用戶可以在一定時間內數次按下按鈕,以這種形式輸入隨機數。

與輸出帶外驗證(Output OOB)相比,輸入帶外(Input OOB)方法需要發送一個附加的啟動配置協議PDU。在完成認證操作之后,未經啟動配置的設備向啟動配置設備發送一個啟動配置輸入完成PDU(Provisioning Input Complete PDU),通知其隨機數已輸入完成。隨后進入到執行檢查確認值操作的步驟。

藍牙mesh安全的啟動配置流程分析

圖 2 – 通過輸入OOB進行驗證

靜態帶外(Static OOB) 或無帶外(No OOB)

在輸入帶外或輸出帶外都不可用的情況下,啟動配置設備(Provisioner)和未經啟動配置的設備可采用靜態帶外(Static OOB)驗證或無帶外(No OOB)驗證:采用靜態OOB信息;或靜態OOB信息不可用,直接以數值0代替。在此情況下,啟動配置設備和未經啟動配置的設備各自生成一個隨機數,然后進行檢查確認值操作。

檢查確認值(Check Confirmation Value)

無論采用何種驗證方法,都會進行確認值生成和檢查。根據藍牙mesh規格,啟動配置設備(Provisioner) 和未經啟動配置設備應分別計算確認值。這兩個值被稱為ConfirmationProvisioner和ConfirmationDevice。這兩個值的計算都使用一系列相同的函數,不同之處僅在于所使用的隨機數輸入。

藍牙mesh規格中有兩頁關于計算過程的內容說明。確認值生成函數需要8個參數,參數值來自啟動配置(Provisioning)過程中的后續步驟。可參考規格的5.4.2.4認證和5.4.1啟動配置PDU部分,了解更多詳細信息。(詳見: )

表1列出了用于確認值生成及其來源的參數。

藍牙mesh安全的啟動配置流程分析

表1 - 用于確認值計算的參數

讓我們來看看用于確認值生成的算法。圖3是一個流程圖,其中包括了幾輪AES-CMAC和SALT生成[1]。該流程圖對于ConfirmationProvisioner和ConfirmationDevice值均適用。

如果由啟動配置設備(Provisioner)執行輸入,則從一個名為RandomProvisioner的值開始(下圖中以藍色表示),并生成ConfirmationProvisioner值。

如果由未經啟動配置設備執行輸入,則從一個名為RandomDevice的值開始(下圖中以綠色表示),并生成ConfirmationDevice值。

藍牙mesh安全的啟動配置流程分析

圖 3 – 確認值生成圖

確認值檢查(Confirmation Value Check)

當確認值生成之后,兩臺設備就會進行交換,并且都會檢查接收值的完整性。圖4表示確認值檢查的過程。

確認過程的開始就是啟動配置設備(Provisioner)將其隨機數RandomProvisioner發送到未經啟動配置的設備。未經啟動配置設備使用它來重新計算確認值,并與之前接收的確認值進行比較,進行驗證。

藍牙mesh安全的啟動配置流程分析

圖 4 –確認值檢查

如果由未經啟動配置設備計算所得的確認值與接收到的ConfirmationProvisioner不匹配,則啟動配置(Provisioning)過程將被中止。

如果由未經啟動配置設備計算所得的確認值與接收到的ConfirmationProvisioner匹配,則未經啟動配置設備將其RandomDevice值發送給啟動配置設備。

然后,啟動配置設備(Provisioner) 使用相同的過程來重新計算確認值,并通過比較計算所得值與先前接收值來進行驗證。

如果由啟動配置設備(Provisioner) 計算所得的確認值與接收到的ConfirmationDevice不匹配,則啟動配置(Provisioning)流程將被中止。

如果由啟動配置設備(Provisioner) 計算所得的確認值與接收到的ConfirmationDevice匹配,則表示驗證成功。后續只要啟動配置設備(Provisioner)和未經啟動配置設備完成啟動配置流程的第五步:啟動配置數據分發,則未經啟動配置設備就能成為藍牙mesh網絡中的節點(node)。

5、啟動配置數據分發

認證步驟完成之后,就可以確保在啟動配置設備(Provisioner)和未經啟動配置設備之間建立的承載層的安全,然后就進入啟動配置(Provisioning)過程中最重要的一步:導出并分發啟動配置數據(provisioning data)。啟動配置設備(Provisioner) 負責生成啟動配置數據,啟動配置數據由多個數據項組成,包括一個稱為網絡密鑰 (NetKey) 的安全密鑰。表2列出了啟動配置數據字段。

藍牙mesh安全的啟動配置流程分析

表 2 – 啟動配置數據(provisioning data)

為安全地進行啟動配置數據分發,啟動配置設備(Provisioner)采用AES-CCM [2],借助共享的會話密鑰(SessionKey)對啟動配置數據(provisioning data)進行加密,啟動配置設備和未經啟動配置設備都會進行計算。 AES-CCM需要三個輸入參數:會話密鑰、會話隨機數和純文本。純文本參數值包含需要被加密的啟動配置數據。設備密鑰(DevKey)、會話密鑰(SessionKey)和會話隨機數(SessionNonce)的值通過圖5所示的過程導出。

藍牙mesh安全的啟動配置流程分析

圖5 - DevKey / SessionKey / SessionNonce生成過程

從圖5可以看出:

如果將prsk(綠色)的輸入值代入k1函數中,則會生成SessionKey。這是用于啟動配置數據加密的關鍵。

如果將prsn(黃色)的輸入值代入k1函數中,將生成SessionNonce。這是用于啟動配置數據加密的隨機值。

如果將prdk(藍色)的輸入值代入k1函數,則將生成DevKey。

啟動配置設備(Provisioner)和未經啟動配置設備都需要生成會話密鑰(SessionKey)和會話隨機數(SessionNonce)。當SessionKey和SessionNonce值準備就緒時,啟動配置設備將對包含導出啟動配置數據的啟動配置數據PDU (Provisioning Date PDU) 進行加密,并將其發送至未經啟動配置的設備。此處,相同的SessionKey和SessionNonce值也可用來對接收到的數據進行解密。

至此,啟動配置流程完成。兩臺對等設備都已知曉新的設備密鑰(DevKey)和全網的網絡密鑰(NetKey),這就意味著我們的新設備已成為藍牙mesh網絡中的節點(node)和成員。

開發mesh

啟動配置過程是藍牙mesh安全的基礎,讓網絡設備之間能夠可靠安全地進行通信

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 藍牙
    +關注

    關注

    114

    文章

    5775

    瀏覽量

    169873
  • 密鑰
    +關注

    關注

    1

    文章

    137

    瀏覽量

    19742
  • 配置
    +關注

    關注

    1

    文章

    187

    瀏覽量

    18361
收藏 人收藏

    評論

    相關推薦

    藍牙mesh系列的網絡安全

    。物聯網系統如果存在安全漏洞,就可能會導致災難性的后果。藍牙mesh網絡的安全性從設計之初就是重中之重。本文將著重分析主要的
    發表于 07-22 06:27

    藍牙mesh系列的安全

    作者:任凱 藍牙技術聯盟亞太區技術項目經理藍牙mesh網絡啟動配置Part1受WannaCry攻擊的國家地區2017年5月,臭名昭著的勒索軟
    發表于 07-22 06:11

    藍牙mesh系列的啟動配置流程

    作者:任凱 藍牙技術聯盟亞太區技術項目經理藍牙mesh網絡啟動配置Part2在本文的Part1中,我介紹了
    發表于 07-22 08:47

    解密藍牙mesh系列 | 第七篇

    消息使用核心藍牙mesh協議棧,因此消息包含在網絡PDU內。網絡PDU可被封裝在代理PDU中。 藍牙mesh配置文件規格中定義了各種Beac
    發表于 07-25 08:36

    藍牙Mesh的架構及如何通過藍牙Mesh網絡收發消息?

    在本系列文章的和,我們討論了藍牙Mesh的架構及如何通過藍牙Mesh網絡收發消息,這一篇文章主要討論Mesh網絡的隱私與
    發表于 02-25 07:59

    什么是藍牙mesh網絡安全

    藍牙mesh網絡安全性的基本概念
    發表于 02-25 08:22

    如何向藍牙mesh網絡中添加或移除設備

    藍牙mesh啟動配置安全流程如何向藍牙
    發表于 03-02 07:01

    【平頭哥藍牙Mesh網關開發套件試用體驗】mesh開關控制mesh燈 + 測試視頻

    本帖最后由 jf_11671167 于 2021-10-9 16:20 編輯 本文對 PHY6220 藍牙mesh 開關、藍牙mesh配置
    發表于 09-26 23:16

    【平頭哥藍牙Mesh網關開發套件試用體驗】mesh開關控制mesh燈 + 視頻介紹

    本文對 PHY6220 藍牙mesh 開關、藍牙mesh配置,并用藍牙
    發表于 03-09 07:33

    藍牙mesh啟動配置流程資料下載

    電子發燒友網為你提供藍牙mesh啟動配置流程資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用
    發表于 04-03 08:43 ?4次下載
    <b class='flag-5'>藍牙</b><b class='flag-5'>mesh</b><b class='flag-5'>啟動</b><b class='flag-5'>配置</b><b class='flag-5'>流程</b>資料下載

    藍牙mesh網絡的啟動配置協議資料下載

    電子發燒友網為你提供藍牙mesh網絡的啟動配置協議資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到
    發表于 04-04 08:57 ?13次下載
    <b class='flag-5'>藍牙</b><b class='flag-5'>mesh</b>網絡的<b class='flag-5'>啟動</b><b class='flag-5'>配置</b>協議資料下載

    藍牙mesh的“啟動配置(provisioning)”的安全流程資料下載

    電子發燒友網為你提供藍牙mesh的“啟動配置(provisioning)”的安全流程資料下載的電
    發表于 04-06 08:52 ?6次下載
    <b class='flag-5'>藍牙</b><b class='flag-5'>mesh</b>的“<b class='flag-5'>啟動</b><b class='flag-5'>配置</b>(provisioning)”的<b class='flag-5'>安全</b><b class='flag-5'>流程</b>資料下載

    如何用藍牙mesh開關控制藍牙mesh

    本文對 PHY6220?藍牙mesh 開關、藍牙mesh配置,并用藍牙
    的頭像 發表于 10-09 09:22 ?7685次閱讀

    泰凌微電子自研藍牙Mesh解密分析工具操作說明

    在調試開發藍牙Mesh產品時,除了打開設備端的Log外,有時還需要用到抓包工具分析空中的Mesh消息格式和交互流程是否正確。目前市面上的抓包
    的頭像 發表于 05-17 10:43 ?2969次閱讀
    泰凌微電子自研<b class='flag-5'>藍牙</b><b class='flag-5'>Mesh</b>解密<b class='flag-5'>分析</b>工具操作說明

    藍牙mesh組網模塊的七個特點

    智能家居領域具有很大的優勢。 ?藍牙mesh組網模塊的網絡有以下幾個特點: ?①網絡無需中心節點 ?藍牙Mesh與其他Mesh拓撲的很大不同
    的頭像 發表于 05-24 17:27 ?1185次閱讀
    <b class='flag-5'>藍牙</b><b class='flag-5'>mesh</b>組網模塊的七個特點