配對是指“Master和Slave通過協(xié)商確立用于加(解)密的key的過程。指的是下圖中的第7部分。
Master和Slave有兩種可選的配對方法:legacy pairing和Secure Connections。從命名上看,前者是過去的方法,后者是新方法。選擇的依據(jù)是:當Master和Slave都支持Secure Connections(新方法)的時候,則使用Secure Connections。否則,使用legacy pairing。
配對過程如圖所示,主要由下面四部分完成:
用于交換雙方有關(guān)鑒權(quán)的需求(authentication requirements),以及雙方具有怎么的人機交互能力(IO capabilities)。其中最重要的是IO capabilities exchange。
IO的能力可以歸納為如下的六種:
NoInputNoOutput
DisplayOnly
NoInputNoOutput1
DisplayYesNo
KeyboardOnly
KeyboardDisplay
上述的IO能力決定了后續(xù)的鑒權(quán)方式。
兩個設備之間交換Public key。 一旦設備收到對端設備的公鑰,它就可以開始計算Diffie Hellman密鑰(DHKey)。耗時較多,應該盡早開始,以便用戶交互可以隱藏計算時間。 在步驟8之前不需要DHKey。
當 Public key的長度大于DM1包的長度時,要使用專門的PDU來進行數(shù)據(jù)發(fā)送。
通過SMP協(xié)議進行實際的配對操作,根據(jù)階段1 “Feature Exchange”的結(jié)果,有三種鑒權(quán)方法可選:
如果雙方都支持OOB鑒權(quán),則選擇該方式(優(yōu)先級高)。由配對的雙方,在配對過程之外,額外的交互一些信息,并以這些信息為輸入,進行后續(xù)的配對操作。這些額外信息也稱作OOB(out of band),OOB的交互過程稱為OOB protocol。
(man-in-the-middle)authentication,由兩者方法:
Numeric Comparision方式鑒權(quán):兩個設備自行協(xié)商生成6個數(shù)字,并顯示出來(要求兩個設備具有顯示能力),用戶比較后進行確認(一致,或者不一致,要求設備有簡單的yes or no的確認能力)。
Passkey Entry,通過輸入配對碼的方式鑒權(quán)。
Just Work,不需要用戶參與,兩個設備自行協(xié)商。
一旦設備完成鑒權(quán)過程,并且DHKey計算已完成,則檢查生成的DHKey值。 如果成功,則兩個設備都將完成向用戶顯示關(guān)于該過程的信息,否則控制器向主機發(fā)送消息以通知其停止顯示該信息。
當配對過程完成后,link key就可以從DHKey中計算得到,并用做后續(xù)交互過程的輸入(KEY + 明文 => 加密數(shù)據(jù)),通過HCI_Link_Key_Notification來通知host。
經(jīng)過上述過程后,雙方已經(jīng)產(chǎn)生了加密key,因而可以建立加密的連接。加密連接建立后,可以互相傳送一些私密的信息,例如Encryption Information、Identity Information、Identity Address Information等。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。