0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

藍(lán)牙配對系列之Out of Band

藍(lán)牙技術(shù)聯(lián)盟 ? 來源:xx ? 2019-08-10 09:25 ? 次閱讀

在之前的藍(lán)牙配對系列博文中,提到了PassKey和Numeric Comparison等配對方法。今天我會(huì)介紹另外一種方法,即Out of Band,OOB。

OOB關(guān)聯(lián)模型適用于使用帶外(out of band)機(jī)制來發(fā)現(xiàn)設(shè)備、以及交換或傳送將在配對過程中使用的加密信息等場景。OOB對于開發(fā)者來說是一項(xiàng)靈活的選擇,能夠讓他們定義自己的配對機(jī)制,因此安全級(jí)別取決于帶外保護(hù)功能。今天就讓我們一起來深入探討吧!

1. 第1階段 - 配對特性交換

在我的博文《藍(lán)牙配對系列第四篇》中,有一個(gè)類似于表1的表格。這是配對請求/響應(yīng)(Pairing request/response)的框架結(jié)構(gòu)。在該表中,有一名為“OOB數(shù)據(jù)標(biāo)志”(OOB Data Flag)的字段,長度為1個(gè)字節(jié)。

Table 1, 配對請求/響應(yīng)

表1

關(guān)于“OOB數(shù)據(jù)標(biāo)志”的定義,請參考表2。

Table 2, OOB數(shù)據(jù)標(biāo)志位定義

表2

OOB數(shù)據(jù)標(biāo)志定義了用于指示OOB認(rèn)證數(shù)據(jù)是否可用的值。

2. 低功耗傳統(tǒng)配對

當(dāng)兩臺(tái)藍(lán)牙設(shè)備都使用低功耗傳統(tǒng)配對時(shí),這一過程就很容易理解。有關(guān)傳統(tǒng)配對方法選用的詳細(xì)信息,請查看表3。我已經(jīng)在此表中對選用OOB的單元格進(jìn)行了黃色標(biāo)注, 這樣就一目了然:

如果使用OOB進(jìn)行配對,兩臺(tái)設(shè)備必須設(shè)置其OOB數(shù)據(jù)標(biāo)志;

如果其中一臺(tái)設(shè)備設(shè)置了OOB數(shù)據(jù)標(biāo)志,而另一臺(tái)設(shè)備未設(shè)置,則兩臺(tái)設(shè)備都需要檢查在表1中“AutheReq”字段中的MITM標(biāo)志(表1中綠色高亮部分)。如果其中任何一臺(tái)設(shè)備設(shè)置了MITM標(biāo)志,則可通過IO Capabilities與配對方法的映射來選擇配對方法。有關(guān)映射的詳細(xì)信息,請參閱藍(lán)牙5核心規(guī)格、第3卷、H部分、表2.8。

其他情況,則使用“直接連接(Just Works)”方法配對。

Table 3,OOB配對規(guī)則速查表

表3

Picture 1 OOB配對流程圖

圖1

在圖1中,高亮標(biāo)注的部分與《藍(lán)牙配對系列第三篇》傳統(tǒng)配對的PassKey相同。之后,兩臺(tái)設(shè)備的安全管理器(Security Manager)將:

首先,創(chuàng)建兩邊的隨機(jī)值Mrand和Srand。之后,帶外機(jī)制可用于交換信息,例如設(shè)備地址和128位臨時(shí)密鑰(TK)值,以助于設(shè)備發(fā)現(xiàn)。正如我在第三篇“傳統(tǒng)配對—PassKey”中所解釋的,TK值是由偽隨機(jī)數(shù)引擎產(chǎn)生的128位隨機(jī)數(shù),引擎應(yīng)符合藍(lán)牙核心規(guī)格的要求。

第1步

通過公式c1計(jì)算Mconfirm和Sconfirm,對于任何加密工具箱,均可參閱藍(lán)牙5核心規(guī)格、第三卷、H部分、第2.2節(jié)。

第2步

交換Mconfirm、Sconfirm和Mrand。

第3步

響應(yīng)設(shè)備通過發(fā)起設(shè)備傳送的Mrand值來再次執(zhí)行Mconfirm的計(jì)算,來驗(yàn)證計(jì)算出的值與Mconfirm值是否一致。

如果響應(yīng)設(shè)備計(jì)算得出的Mconfirm值與發(fā)起設(shè)備發(fā)來的Mconfirm值不匹配,則配對過程會(huì)中止,響應(yīng)設(shè)備會(huì)發(fā)送原因代碼為“確認(rèn)值失?。–onfirm Value Failed)”的配對失敗指令。

如果響應(yīng)設(shè)備計(jì)算得出的Mconfirm值與發(fā)起設(shè)備發(fā)來的Mconfirm值相匹配,則響應(yīng)設(shè)備會(huì)向發(fā)起設(shè)備發(fā)送Srand。

發(fā)起設(shè)備通過響應(yīng)設(shè)備傳送的Srand值來再次執(zhí)行Sconfirm的計(jì)算,來驗(yàn)證計(jì)算出的值和Sconfirm值是否一致。

如果發(fā)起設(shè)備計(jì)算得出的Sconfirm值與響應(yīng)設(shè)備發(fā)來的Sconfirm值不匹配,則配對過程或被中止,發(fā)起設(shè)備會(huì)發(fā)送原因代碼為“確認(rèn)值失敗(Confirm Value Failed)”的配對失敗指令。

如果發(fā)起設(shè)備計(jì)算得出的Sconfirm值與響應(yīng)設(shè)備發(fā)來的Sconfirm值相匹配,則發(fā)起設(shè)備會(huì)計(jì)算出短期密鑰(Short Term Key,簡稱STK ),并通知控制器(Controller)啟用加密。

3. OOB的簡便之處

目前,低功耗藍(lán)牙已經(jīng)成為智能手機(jī)和平板電腦的標(biāo)準(zhǔn)配置。設(shè)備間采用藍(lán)牙進(jìn)行連接的方法也是多種多樣的 。在這些方法當(dāng)中,還有一種通過藍(lán)牙連接設(shè)備的常用方法就是使用NFC進(jìn)行“一鍵配對”。由于NFC的傳輸范圍非常有限,一些開發(fā)者在設(shè)備之間借助NFC確保兩臺(tái)設(shè)備正確地進(jìn)行配對。因此,NFC可以為OOB配對提供良好的通信接口。當(dāng)使用OOB進(jìn)行配對時(shí),用戶的體驗(yàn)略有不同。例如,用戶的智能手機(jī)和手環(huán)兩臺(tái)設(shè)備都具有低功耗藍(lán)牙和NFC接口。用戶先讓兩臺(tái)設(shè)備相接觸,然后會(huì)看到配對選項(xiàng)。如果選擇“是”,則配對成功。所以這是一種一鍵式的體驗(yàn),交換的信息在兩臺(tái)設(shè)備中都能使用,是不是超酷呢?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    114

    文章

    5683

    瀏覽量

    168075
  • 藍(lán)牙配對
    +關(guān)注

    關(guān)注

    3

    文章

    6

    瀏覽量

    3156
  • OOB
    OOB
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    3919
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    低功耗藍(lán)牙安全配對外設(shè)可能無法與中央器件連接

    電子發(fā)燒友網(wǎng)站提供《低功耗藍(lán)牙安全配對外設(shè)可能無法與中央器件連接.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 11:46 ?0次下載
    低功耗<b class='flag-5'>藍(lán)牙</b>安全<b class='flag-5'>配對</b>外設(shè)可能無法與中央器件連接

    在例程 ”BLE_GATTS_SPP“中,手機(jī)第一次連接藍(lán)牙服務(wù)時(shí),怎么添加配對密碼?

    在例程 ”BLE_GATTS_SPP“中,手機(jī)第一次連接藍(lán)牙服務(wù)時(shí),怎么添加配對密碼?
    發(fā)表于 07-19 08:28

    配對過IOS13.5的手機(jī)無法連接刪除綁定信息的esp32藍(lán)牙,怎么解決?

    你好,我的IDF版本是4.1,手機(jī)是IOS13.5版本的,APP是nRF Connect。 當(dāng)IOS手機(jī)配對連接esp32藍(lán)牙成功后,把esp32本地存儲(chǔ)的藍(lán)牙綁定信息刪除掉,IOS手機(jī)就沒辦法再次
    發(fā)表于 06-25 07:56

    安卓手機(jī)無法正常配對esp32藍(lán)牙怎么解決?

    我最近在大量進(jìn)行手機(jī)測試。目前測試到華為P20,紅米6手機(jī)在進(jìn)行密碼配對時(shí),設(shè)備使用 public addr,第一次配對成功后,如果設(shè)備刪除綁定關(guān)系,重新進(jìn)行連接配對時(shí)就再也連不上,更奇怪的是,即使
    發(fā)表于 06-25 07:24

    ESP32作為Server,手機(jī)作為Client,在藍(lán)牙配對連接時(shí),如何獲取手機(jī)的設(shè)備名稱?

    ESP32作為Server,手機(jī)作為Client,在藍(lán)牙配對連接時(shí),如何獲取手機(jī)的設(shè)備名稱(不是esp32的名稱)
    發(fā)表于 06-13 08:04

    芯科科技領(lǐng)先提供CBAP解決方案支持基于證書的身份驗(yàn)證和配對

    ? “基于證書的身份驗(yàn)證和配對(CBAP)”有助于簡化低功耗藍(lán)牙(BluetoothLE)設(shè)備的身份驗(yàn)證和配對過程。它具有內(nèi)置的安全功能,無需使用二維碼、密碼或基于 NFC 的配對來手
    的頭像 發(fā)表于 06-04 11:35 ?557次閱讀

    藍(lán)牙模塊選型藍(lán)牙功能

    藍(lán)牙模塊,是一種集成藍(lán)牙功能的PCBA板,用于短距離無線通訊,藍(lán)牙模塊將芯片和外圍硬件電路集成到一個(gè)PCB上,開發(fā)出所需的內(nèi)置程序?qū)崿F(xiàn)藍(lán)牙功能的設(shè)備??梢酝ㄟ^相關(guān)接口和MCU控制設(shè)備進(jìn)
    的頭像 發(fā)表于 05-28 17:48 ?469次閱讀
    <b class='flag-5'>藍(lán)牙</b>模塊選型<b class='flag-5'>之</b><b class='flag-5'>藍(lán)牙</b>功能

    藍(lán)牙模塊配對機(jī)制基礎(chǔ)知識(shí)

    ? 藍(lán)牙是當(dāng)今應(yīng)用最多的技術(shù)之一,采用 藍(lán)牙模塊 技術(shù),我們可以實(shí)現(xiàn)數(shù)據(jù)的傳輸以及其它功能。為了統(tǒng)一規(guī)范,藍(lán)牙在2.1版本引入了安全簡單的配對機(jī)制,從而加強(qiáng)了
    的頭像 發(fā)表于 05-24 16:18 ?556次閱讀

    左藍(lán)微電子發(fā)布高性能及小尺寸Band26、Band20雙工器

    近日,基于TC-SAW技術(shù),左藍(lán)微電子發(fā)布高性能及小尺寸Band26、Band20雙工器。本次發(fā)布的TC-SAW高性能Band26/20雙工器封裝尺寸為1.6mm × 1.2mm,相比于1814封裝尺寸,面積縮小約24%,
    的頭像 發(fā)表于 05-09 10:12 ?287次閱讀
    左藍(lán)微電子發(fā)布高性能及小尺寸<b class='flag-5'>Band</b>26、<b class='flag-5'>Band</b>20雙工器

    有什么藍(lán)牙音頻發(fā)射模塊支持單片機(jī)控制連接需要配對碼的設(shè)備

    目前我找到的藍(lán)牙發(fā)射模塊都不能連接需要輸入配對碼的藍(lán)牙設(shè)備,比如特斯拉的中控音響,誰能推薦一款模塊或芯片可以完成以下功能的:1、連接到需要配對碼的藍(lán)
    發(fā)表于 04-08 14:25

    關(guān)于BlueNRG 355MC藍(lán)牙與其他藍(lán)牙模塊配對的問題求解

    BlueNRG(主機(jī))與其他藍(lán)牙模塊(從機(jī))(非ST)使用passkey配對時(shí),輸入錯(cuò)誤的密鑰時(shí),會(huì)馬上觸發(fā)disconnect事件,錯(cuò)誤碼是0x08,沒有觸發(fā)配對完成事件,輸入正確的密鑰時(shí),沒有
    發(fā)表于 03-28 07:59

    手機(jī)與BLE配對PIN密碼如何指定為固定的,而不是動(dòng)態(tài)生成?

    手機(jī)與BLE配對時(shí)的PIN 6位密碼是BLE自己產(chǎn)生的,如何代碼里指定此密鑰?類似于藍(lán)牙耳機(jī)和音箱的 1234、8888這樣的PIN配對密碼。不甚感激解答
    發(fā)表于 02-19 06:38

    華為freebuds5i怎么配對 華為freebuds5i使用說明

    華為 FreeBuds 5i 是一款無線藍(lán)牙耳機(jī),可以提供優(yōu)質(zhì)音頻體驗(yàn)。在使用之前,用戶需要將 FreeBuds 5i 和設(shè)備進(jìn)行配對。下面詳細(xì)介紹了華為 Freebuds 5i 的配對步驟以及
    的頭像 發(fā)表于 01-26 16:50 ?2.3w次閱讀

    藍(lán)牙耳機(jī)怎么連接電腦配對

    藍(lán)牙耳機(jī)連接電腦配對是一項(xiàng)非常方便的功能,它可以讓您在工作、娛樂或?qū)W習(xí)時(shí)無需使用有線耳機(jī),更加自由和便捷。在本文中,我們將詳細(xì)介紹如何連接藍(lán)牙耳機(jī)到電腦并完成配對。 第一步:檢查電腦
    的頭像 發(fā)表于 01-11 16:53 ?1570次閱讀

    HC05藍(lán)牙與電腦手機(jī)已配對但連接不上怎么辦?

    藍(lán)牙驅(qū)動(dòng)已經(jīng)重新安裝,配對刪除又重新連接試過好多次,電腦已經(jīng)重啟,AT設(shè)置為了從模式,9600波特率,電腦連接不上,手機(jī)也連接不上,求助!
    發(fā)表于 10-23 08:23