藍牙安全管理SM的配對方法

2020-12-22 電子產品世界

  安全管理的簡介在藍牙SMP安全管理簡介這篇文章中有介紹。這裡將介紹BLE安全管理(SM)的詳細的配對的方法。

本文引用地址:http://www.eepw.com.cn/article/201710/366193.htm

  在配對過程開始時,第一階段就是雙方交換支持的配對特徵,如果有一方不支持配對,那就不會進行配對,如果都支持配對,那麼就會選擇合適的方法進行配對了。

  配對特徵

  首先看下這個配對特徵的內容都有哪些(前三個將決定配對第二階段的key生成方法):

  - IO capability;

  - OOB;

  - authenTIcaTIon requirements;

  - key size;

  - key distribute。

  配對中產生的Key

  LE legacy pairing

  Temporary Key(TK):短暫存在的Key,128-bit,用來產生STK的;

  Short Term Key(STK):128-bit,會被用來加密配對後的鏈路。

  LE Secure ConnecTIons

  Long Term Key(LTK):128-bit,會被用來加密配對後的鏈路。

  authenTIcation

  authentication requirements是GAP設定的,主要是對Bond類型和MITM(man-in-the-middle)的要求。

  key distribute

  對於key distribute,Initiator首先會將自己的需求發給Responder,表明自己想發哪些Key,而且想要對方發哪些Key。而Responder收到後,會回復確定最終雙方能夠分發的Key。這層協商就兩步,比較簡單。

  安全屬性-Security Properties

  分為如下幾類安全屬性:

  - LE Secure Connections pairing(BT4.2才支持);

  - Authenticated MITM protection(有人參與幹涉的安全,可以是人輸入密碼,或者通過OOB獲取密碼,對於Secure Connections還支持數字比較的方式);

  - Unauthenticated no MITM protection;

  - No security requirements;

  IO capabilities

  表明輸入,輸出的能力。輸入是按鍵、鍵盤,輸出是顯示數字用的界面。

  輸入能力

  輸入輸出的組合

 

  OOB Authentication Data

  OOB Auth Data是一個設備持有對端的Data,用來對對端設備進行authenticate。

  - LE legacy pairing:要兩端都持有對方OOB Auth Data才用OOB方法;

  - LE Secure Connections pairing:至少一端持有OOB Auth Data即可用OOB方法。

  加密Key Size

  加密Key Size都在都在7到16 bytes之間;

  兩端設備要選擇相互的max key len中較小那個;

  兩端設備要檢測max key len是否小於自己的min key len,小於的話pair失敗;

  產生的key到最終key有可能要裁剪。key一生成就是16 byte的key值,但是max key len小於16時,那就要縮減成len較小的resulting key再來分發了。

  配對算法

  在第一階段交換配對特徵後,這些特徵內容將會用來選擇確認用哪種Key生成方法。

  比如Temperary Key的生成:如Just Works,Passkey Entry, OOB都可以用來生成TK,只是要先看設備是否具備這種能力。

  選擇Key生成的方法

  如果auth Req中MITM沒有,則說明不需要人參與中間,所以IO capabilities會被忽略,只用Just Works就OK了。

  如果有OOB data,auth Req將可直接忽略,會直接選擇OOB的方式了。

  Legacy pairing生成STK

 

  Use IO capabilities對應的具體算法

  上面兩個圖中都有Use IO capabilities一項,其實這一項又有細分:

  

  LE Legacy Pairing - Just Works

  Just Works方式不能抵抗竊聽者和中間人攻擊,只有在配對過程時沒有遭受攻擊,後面加密的鏈路的數據傳輸才是可信的。安全級別很低。

  LE Legacy Pairing - Passkey Entry

  這種方式通過輸入6位數字的方式來進行配對,生成STK。6位數是隨機產生的在000000到999999之間的數值,這個數值相當於一個TK,比如遠端顯示這個數字,需要在本地端輸入這個數字給本地設備與遠端配對。如輸入019655,那此時的臨時Key–TK是:0x00000000000000000000000000004CC7。

  Out of Band

  這種方式是通過BLE之外的,設備上的其他方式來獲取這個OOB data,比如通過IR紅外,或其餘的方式,因此對於藍牙竊聽者/攻擊者而言這個data的傳輸是不可見的了,因此會顯得要安全些。

  LE Legacy Pairing第二階段

  即是STK的生成,這一部分可簡述為以下步驟的實現:

  1. Initiator生成一128-bit隨機數Mrand,並使用這個Mrand結合一些其他的輸入,使用密碼工具箱中c1計算出一個128-bit的Mconfirm值:

  Mconfirm = c1(TK, Mrand,

  Pairing Request command, Pairing Response command,

  initiating device address type, initiating device address,

  responding device address type, responding device address)

  Responder也生成一128-bit隨機數Srand,並使用這個Srand結合一些其他的輸入,使用密碼工具箱中c1計算出一個128-bit的Sconfirm值:

  Sconfirm = c1(TK, Srand,

  Pairing Request command, Pairing Response command,

  initiating device address type, initiating device address,

  responding device address type, responding device address)

  然後Initiator將其計算的Mconfirm值通過Pairing Confirm包發送給Responder,而Responder也將其計算的Sconfirm值通過Pairing Confirm包發送給Initiator;

  Initiator收到Sconfirm後,再將Mrand值通過Pairing Random包發送給Responder;

  Responder收到Mrand值後計算它的Mconfirm值,再跟前面那個Initiator送過來的Mconfirm值進行比較,若不同說明配對失敗了。若相同,則Responder也會將它的Srand值通過Pairing Random包發送給Initiator;

  而Initiator也會計算收到的Srand值的Sconfirm值,並跟前面那個Responder送過來的Sconfirm值進行比較,若不同說明配對失敗了,若相同,繼續;

  Initiator計算STK,並通知其Controller允許鏈路加密:

  STK = s1(TK, Srand, Mrand)

  縱觀以上各過程,其實就是兩者互送一個128-bit隨機數用來生成STK。竊聽者或攻擊者只要知道TK,這步驟是很容易破解的。

  LE Secure Connections的第二階段

  即LTK的生成,比Legacy pairing還是複雜很多的,這也是BT 4.2安全性要高很多的原因了。這部分這裡只簡單說明下內容,詳細的過程需對照Spec的流程圖了。

  Public Key交換

  Authentication階段1-Just Works或Numeric Comparison

  Authentication階段1-Passkey Entry方式

  Authentication階段1-Out of Band方式

  Authentication階段2和LTK計算

  BR/EDR, LE交叉Key引用

  這部分是指藍牙雙模設備,且支持Secure Connections,配對Key其實可以相互共享使用的,這樣可以省略掉一些重複配對,不過Key也有個換算的算法的,即密碼工具箱中的h6。

相關焦點

  • 藍牙配對過程和藍牙連接的建立過程
    藍牙的建立過程是一個複雜的過程,即使有過相當一段工作和使用經驗的人,如果不仔細去了解還是理解不全。本文引用地址:http://www.eepw.com.cn/article/201808/386024.htm平時我們用藍牙耳機聽音樂,和不同的設備共享文件,打電話等,都有一個配對--連接--傳輸數據的過程。藍牙配對過程,其實就是一個認證的過程。為什麼不配對便無法建立連接?
  • 探討NFC在藍牙配對的應用和前景
    用過藍牙的人都知道,尋找藍牙配對的時間,往往要比傳輸文件的時間還要長。在生活節奏越來越快的當下,繁瑣的尋找藍牙進行文件傳輸將影響用戶體驗。而後藍牙還有一個問題就是連接的穩定性不好,如果配對了多個設備,卻不能每一種都自動連接,有時候需要手動連接。而穩定性也不夠,有時候手動連接也會失敗,於是又要重新設置。也就是說藍牙連接的遷移性不好。
  • 新版Android系統不用配對即可連接藍牙
    Google給出的一項新的功能就是取代藍牙連接前的配對工作,目前藍牙手機在連接前都需要輸入相同的密碼進行配對,以保證信息的安全,在藉助NFC晶片的新功能後,兩部手機只需要挨在一起碰一下就可能完成配對,而NFC的釐米級通信範圍也會保證用戶的信息安全。
  • 小米小鋼炮藍牙音箱如何與藍牙手機配對連接使用
    小米小鋼炮藍牙音箱如果要播放音樂,則必須與其他設備進行連接才可以播放,而且連接的方式僅支持藍牙,如果我們要連接手機的音樂要怎麼操作呢,下面我來說下小米小鋼炮藍牙音箱如何與藍牙手機配對連接使用。首先我們要把小米小鋼炮藍牙音箱開下機,長按開關按鈕即可進行開機操作。
  • 藍牙配對在安卓系統中的流程分析
    安卓系統藍牙配對流程分析配對流程基本上始於首次連接一個藍牙設備的過程中,本端的搜索流程結束獲取到該設備的BluetoothDevice信息,就可以開啟配對流程。配對,顧名思義就是將兩個設備通過相關技術進行綁定,達到能夠互相識別彼此的目的。因此通過藍牙技術進行的配對就是大家理解中的藍牙配對。隨著藍牙技術在消費市場上越來越普及,生活中很容易就能遇到藍牙配對這一使用藍牙功能事必不可缺失的步驟。本期我們就簡單聊聊安卓系統藍牙配對的流程是如何運行的。
  • 如何將蘋果無線藍牙鍵盤強制配對給第二臺電腦?
    但賣掉之後才發現和原來 Macbook Pro 配對好的蘋果無線藍牙鍵盤(Apple wireless keyboard)始終無法和新 Mac 配對(在賣掉老 Mac 之前搞忘了解除配對),希望能夠得到我們的幫助。正好小編手裡也有一個 Apple wireless keyboard 鍵盤,經測試發現確實有他所說的問題。在網際網路上找了一圈兒都沒找到解決方案,蘋果官方也沒有給出相關方案。
  • 錄音筆藍牙配對連接教程
    下面將為大家展示 AiMousys如何與錄音筆進行藍牙配對(Android 手機及QFancy AR68錄音筆為例)。一、安裝AiMousys APP(Android )1.手機掃描下方二維碼,下載 APP,並按引導進行正常安裝。
  • 小米小鋼炮藍牙音箱怎麼與電腦配對連接使用教程
    上一次我跟大家分享了小米小鋼炮藍牙音箱與手機藍牙配對連接的教程,馬上有幾位網友諮詢我關於電腦藍牙連接的問題,為了更好的回答和幫助到大家,這裡小編就不一一回復大家小米小鋼炮藍牙音箱與電腦連接的操作了,下面我來說下小米小鋼炮藍牙音箱怎麼與電腦配對連接使用教程。
  • 金融安全再升級丨廣發藍牙Key盾正式推出!
    十幾年過去了,如何不斷完善升級的金融安全保護體系是廣發銀行持之以恆研究的重點,從廣發銀行手機銀行的多重保護體系中可見一斑。  近日,廣發銀行又正式推出新一代電子銀行安全認證工具——藍牙Key盾。  安全指數:☆☆☆☆☆  廣發藍牙Key盾內置獨立的安全晶片,採用最新的加密算法對所有交易信息的傳輸都進行加密,防止信息被黑客截獲破解。客戶使用藍牙Key盾在網上銀行或手機銀行操作,記錄不會保存在終端設備上,退出網上銀行或手機銀行時,記錄會被自動清除。
  • 桌上型電腦如何連接QCY藍牙耳機
    我們都知道,大多數的手機都是帶有藍牙功能的,但電腦就不一定了。或許有的筆記本也是帶有藍牙功能 ,但並不一定所有的臺式機就都擁有——尤其是自己組裝的臺式機器。那麼對於很多不帶藍牙功能的桌上型電腦用戶來說,如何讓自己的藍牙耳機也連接電腦使用就成為了一個超困擾的事情。
  • 問答:手機怎麼與藍牙耳機配對連接?
    問答:手機怎麼與藍牙耳機配對連接?2018年04月29日 09:34作者:劉洋編輯:劉洋文章出處:泡泡網原創     由於價格便宜而且好用,小米藍牙耳機很受用戶的歡迎
  • 如何快速配對掛耳式藍牙耳機,該怎麼使用呢?
    首先,打開在使用我們新買的掛耳式藍牙耳機,檢測藍牙耳機的配件是否齊全。然後按多功能鍵看是否有反應,檢測藍牙耳機是否充滿了電。充滿電之後,開機後長按多功能鍵4秒 ,當藍牙耳機藍燈閃爍時表示已開啟,重複操作關閉藍牙。在藍牙耳機關機的狀態下,長按此多功能鍵,直到紅藍燈交替閃爍為止。
  • 手機藍牙是什麼及相關使用方法
    藍牙耳機怎麼連接手機1、打開手機「設置」。2、選擇「藍牙」選項並打開。3、長按藍牙耳機的開機鍵八秒,具體操作視耳機而定。4、進入耳機配對模式,以前連過則不用配對耳機型號。 手機上顯示出耳機型號,點擊後就可以成功連接。
  • 藍牙成為主要安全風險的原因有哪些
    另一方面,大數據已經產生了許多需要注意的安全風險,特別是利用Hadoop技術的企業。 大數據給藍牙用戶帶來了許多安全風險。用戶需要知道他們的數據是如何存儲的,以及他們需要採取的預防措施。 大數據時代的藍牙安全風險 幾年前,行業媒體Information Week發表了一篇關於藍牙和大數據的文章,文章指出,藍牙技術曾將大數據技術視為救星。
  • Win10電腦藍牙連接手機方法
    如何開啟筆記本藍牙功能呢?通過藍牙可以實現筆記本電腦與手機之間的快速連接,如果開啟或關閉電腦藍牙功能呢?接下來小編就與大家分享一下有關筆記本電腦藍牙開啟或關閉的具體方法。筆記本開啟藍牙方法:點擊桌面左下角的「Windows」按鈕,並打開的界面中點擊如圖所示的「設置」按鈕。(或者按Windows+A組合鍵,從右側桌面彈出的面板中點擊「所有設置」按鈕。待打開「Windows設置」界面後,點擊如圖所示的「設置」按鈕。
  • 藍牙的使用,藍牙耳機怎麼連接手機,怎麼連接電腦
    藍牙耳機由於,不同藍牙耳機不可避免的存在差異,所以可能操作不盡相同,但是主要步驟以及使用方法基本相同。1.打開手機藍牙開關,2.藍牙耳機開機,一般是長按幾秒,還有帶撥動開關的,需要撥動開關以開機。3.讓藍牙進入配對狀態,常見方法1.開機後,按住開關鍵觀察指示燈,一般為較快的交替閃爍,然後鬆開按鍵。
  • 2020凱迪拉克XT5藍牙手機與NFC輕鬆配對
    新技術功能中包括增加了單觸智慧型手機配對,該配對利用了2020年的Cadillac XT5藍牙系統和近場通信(NFC)功能。現在,在下面的文章中,我們將研究如何設置XT5的一鍵式電話配對。使用一鍵式系統,用戶可以快速輕鬆地將智慧型手機連接到車輛的信息娛樂系統,而無需使用任何電線或硬連接。
  • 姓名配對算姻緣測試的方法
    姓名配對算姻緣測試的方法姓名也會關係著我們的姻緣,且兩個人的姻緣是否相配也可以從兩人的姓名中看出來,那么姓名配對姻緣測試的方法有哪些呢?關于姓名配對姻緣測試的方法  計算的方法很簡單,將你們姓名筆劃的總數作比較,以大的數字減小的。
  • 黑莓手機與藍牙耳機的連接步驟方法
    【天極網手機頻道】[天極北京8月17日消息]   其實藍牙耳機的使用都寫在藍牙耳機的說明書上,不過越來越多的人現在喜歡買來東西後直接扔掉包裝和說明書,然後上網找別人去問怎麼用..不管怎麼樣,這個教程還是寫出來.有這方面問題的朋友可以參照如下內容來進行藍牙耳機的連接:  注意本文是用的NOKIA NH-100耳機做示範,不同耳機可能存在指示燈表示方法不同的現象
  • AirPodsMax怎麼重置配對 AirPodsMax重置方法介紹
    AirPodsMax怎麼重置配對 AirPodsMax重置方法介紹 蘋果AirPods Max耳機如果想要和某個設備取消配對的話