BLE4.0配對綁定通訊過程解析

一、實驗目的

1.瞭解配對與綁定過程的通訊概況


二、說明

1.連接:通訊的基礎,通訊數據爲明文;

2.配對:在連接的基礎上,通訊數據經過加密爲密文;

3.綁定:在每次重新連接後,不需要再次配對,通訊數據經過加密爲密文;


三、實驗平臺

1、藍牙協議棧:1.3.2

2、軟件平臺:IAR For 8051 8.10.3

3、抓包軟件:SmartRF Packet Sniffer 2.16.3

4、硬件平臺:Smart RF開發板(從機),BTOOL(主機),




四、實驗步驟

一、配對認證過程

1.連接未配對之前,通訊數據是明文


2..主機發送配對請求給從機,配對請求配對信息和簡單的密鑰信息



3.從機接收到配對請求後,根據主機的配對能力和自己的配對能力作比較,由於從機只有顯示能力,所以向主機發送密碼請求


4.主機接收到從機的密碼請求後,輸入密碼併發送給從機,從機設置的密碼是123456,而主機發送過來的是851415(下圖所示),所以密碼不正確,從機對接收到主機的密碼後,進行校驗,如果密碼不正確,直接觸發認證完成事件(認證狀態爲authstatus=0x04 密碼錯誤),從機請求斷開連接(個人設定);



空中抓包,密碼錯誤時的數據:



5.主機接收到從機的密碼請求後,輸入密碼併發送給從機,從機設置的密碼是123456,主機發送過來的是123456(下圖所示)

從機對接收到主機的密碼後,進行校驗,如果密碼正確,將發送當前認證信息(LTK等)給主機;




6.當主機接收到從機的認證信息(LTK)後,向從機發起加密請求,加密成功後,收到從機的回覆(success)


空中抓包,主機向從機發起加密請求


7.加密成功後,通訊數據位密文;


二、綁定後通訊過程

1.每次連接時,從機會向主機發送安全請求,如果主從機相互綁定過,主機不會發送配對請求,主機直接利用綁定時保存的LTK發送加密請求,從機也會利用綁定時保存的LTK來做加密回覆,三次握手成功後(加密成功,三次握手通訊由底層完成,用戶不可見),從機回覆主機加密狀態success


空中抓包,綁定後再次連接的加密通訊,開始加密請求後,都是密文了(表示加密成功)


2.如果從機在與主機綁定後,從機刪除綁定信息,再次連接時,主機利用綁定時保存的LTK發送加密請求,從機也會利用綁定時保存的LTK來做加密回覆,實際上從機已經刪除了綁定信息,所以加密不成功,從機回覆status=0x06代表綁定信息丟失


空中抓包,綁定後從機刪除綁定信息,再次連接時,開始加密請求後,加密失敗,errorcode=0x06


空中抓包,加密失敗後,不會斷開連接(連接跟加密沒有直接關係),通訊數據位明文


五、總結

1.配對認證:主從機一方提供密碼,一方輸入密碼,如果雙方密碼一致,那麼此密碼將作爲TK(臨時密碼);

2.加密鏈路:利用得到的TK(臨時密碼)等信息計算出STK(短期密碼)用來做加密認證;

3.綁定:加密認證通過後,利用STK等信息生成LTK(長期密碼),把LTK保存下來,用於下次連接時做加密認證,不需要再次配對就可以加密鏈路,這就是綁定了;


六、補充

1.此實驗用到BTOOL作爲主機,才能知道加密後的通訊數據,因爲加密後,空中抓包是密文,看不到數據,APP也看不到數據,所以只能用BTOOL;

2.上述空中抓包看不到密文是因爲版本是2.16.3的,現在官方最新版本2.18.1可以看到密文解析後的明文http://www.ti.com.cn/tool/cn/packet-sniffer#Technical 

3.關於BTOOL的配對與綁定的操作,請參考文檔CC2541 Evaluation Module Kit 的4.6章節


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章