物聯網安全之藍牙鎖安全防護

問題描述

藍牙廣泛應用於智能燈泡、智能門鎖中,藍牙協議本身包含安全協議SMP,但是目前市面上產品仍然存在很多安全隱患,下面是個通過破解技術使用非授權軟件控制智能燈泡的案裏。

【胖猴小玩鬧】智能門鎖與 BLE 設備安全 Part 2:對一款 BLE 燈泡的分析

從攻擊過程可以看出,智能燈泡和手機app之間並沒有利用藍牙本身的安全機制,導致攻擊者非常容易的找到控制指令,進而進行了非法控制。

分析

我們看下BLE協議棧
BLE Stack
瞭解BLE的同學應該對此圖比較熟悉,而我們本篇文章之關係SMP部分,SMP我們可能不熟悉,但是一定用過藍牙的配對綁定功能,而配對綁定功能正是通過SMP來保護藍牙安全的主要功能。

配對綁定過程

藍牙的配對綁定過程分爲3個階段,階段1生成臨時密鑰TK,TK是配對過程中用戶的輸入數字(我們一定很瞭解這個,在被連接設備的屏幕上顯示,由用戶輸入到發起連接欸對設備上,還有其他方式,暫時先不展開);TK用於第二階段的身份認證以及派生短期密鑰STK,STK用來保護第三階段LTK等密鑰分發的的安全,當然是通過STK派生的會話密鑰SK保護的;一旦兩端擁有了LTK,之後的連接就可以採用LTK保護。

經歷了上述過程,破解案裏中使用BLE 調試工具向燈泡發送控制信息就會在連接的過程中失敗,因爲沒有ltk密鑰。

那麼拋開破解案裏,我們來分析下藍牙安全連接的一些薄弱點。

  1. LTK存儲泄漏
    LTK存儲在設備端和手機端、或者設備端和網關端,通常存放在非易失存儲區,黑客可以通過一定技術將其dump出來,存在風險

  2. 配對綁定過程中密鑰泄漏
    如果配對綁定過程被監聽,並且TK被看到,那麼所有密鑰都會泄漏,這種對於部署環境複雜的情境中,會存在風險

解決方案

對於風險1,可以將LTK放進TEE中存儲
對於風險2,可以將TK通過產線放進TEE中保護,並可以採用動態密鑰技術進行保護
另外,可以將SMP部分邏輯放進TEE中

展望

目前藍牙基本採用了對稱密鑰方式來保護網絡安全,但是也具備公鑰密鑰方案,因爲性能問題,使用的比較少。所以對於存在在TEE中的密鑰方案,仍然需要性能評估

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