配對是指“Master和Slave通過協(xié)商確立用于加(解)密的key的過程。指的是下圖中的第7部分。
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數據中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)成都服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
Master和Slave有兩種可選的配對方法:legacy pairing和Secure Connections。從命名上看,前者是過去的方法,后者是新方法。選擇的依據是:當Master和Slave都支持Secure Connections(新方法)的時候,則使用Secure Connections。否則,使用legacy pairing。
配對過程如圖所示,主要由下面四部分完成:
用于交換雙方有關鑒權的需求(authentication requirements),以及雙方具有怎么的人機交互能力(IO capabilities)。其中最重要的是IO capabilities exchange。
IO的能力可以歸納為如下的六種:
NoInputNoOutput
DisplayOnly
NoInputNoOutput1
DisplayYesNo
KeyboardOnly
KeyboardDisplay
上述的IO能力決定了后續(xù)的鑒權方式。
兩個設備之間交換Public key。 一旦設備收到對端設備的公鑰,它就可以開始計算Diffie Hellman密鑰(DHKey)。耗時較多,應該盡早開始,以便用戶交互可以隱藏計算時間。 在步驟8之前不需要DHKey。
當 Public key的長度大于DM1包的長度時,要使用專門的PDU來進行數據發(fā)送。
通過SMP協(xié)議進行實際的配對操作,根據階段1 “Feature Exchange”的結果,有三種鑒權方法可選:
如果雙方都支持OOB鑒權,則選擇該方式(優(yōu)先級最高)。由配對的雙方,在配對過程之外,額外的交互一些信息,并以這些信息為輸入,進行后續(xù)的配對操作。這些額外信息也稱作OOB(out of band),OOB的交互過程稱為OOB protocol。
(man-in-the-middle)authentication,由兩者方法:
Numeric Comparision方式鑒權:兩個設備自行協(xié)商生成6個數字,并顯示出來(要求兩個設備具有顯示能力),用戶比較后進行確認(一致,或者不一致,要求設備有簡單的yes or no的確認能力)。
Passkey Entry,通過輸入配對碼的方式鑒權。
Just Work,不需要用戶參與,兩個設備自行協(xié)商。
一旦設備完成鑒權過程,并且DHKey計算已完成,則檢查生成的DHKey值。 如果成功,則兩個設備都將完成向用戶顯示關于該過程的信息,否則控制器向主機發(fā)送消息以通知其停止顯示該信息。
當配對過程完成后,link key就可以從DHKey中計算得到,并用做后續(xù)交互過程的輸入(KEY + 明文 => 加密數據),通過HCI_Link_Key_Notification來通知host。
經過上述過程后,雙方已經產生了加密key,因而可以建立加密的連接。加密連接建立后,可以互相傳送一些私密的信息,例如Encryption Information、Identity Information、Identity Address Information等。