針對藍牙PIN碼的最新攻擊技術細節(jié)分析
注:本文章只是講解決針對藍牙PIN碼的最新攻擊技術,以提醒大家注意防范,并沒有其它目的。任何人不得使用本文中所介紹的技術做非法的事。
最近,國內外多家網(wǎng)站紛紛刊登了一則關于針對藍牙PIN碼的最新攻擊技術的新聞:通過強制兩個正在通訊的藍牙設備進行重新配對,并監(jiān)聽配對信息,攻擊者可以在0.063秒內破解一個4位(十進制)的PIN碼。今年6月上旬舉辦的世界無線技術會議也詳細討論了該攻擊方法,securityfocus 甚至說“這種新的攻擊技術令很多關注無線技術的信息安全專家非常的震驚,因為以前關于攻擊藍牙PIN碼的研究只涉及在不正確的藍牙配置或特定的環(huán)境下,而此次是第一次全面性描述攻擊藍牙的技術”。針對這種藍牙攻擊技術,娛樂與技術并重的WDA進行了跟蹤和探討,并寫出以下的攻擊細節(jié),希望與關注藍牙技術的愛好者共同討論。
一、 概述
藍牙(bluetooth)是一種實現(xiàn)多種設備之間短距離無線連接的協(xié)議,通訊速度快,廣泛應用于無線設備、圖像處理、安全產(chǎn)品、消費娛樂、汽車產(chǎn)品和家用電器等領域。做為一種無線技術,藍牙技術提供了諸如密鑰管理、認證和保密等安全機制。然而,過去幾年,一些針對藍牙技術的攻擊方法被提出,包括信息漏泄、數(shù)據(jù)竊取、假冒攻擊等,藍牙技術的安全問題主要有以下幾點:
1、整個藍牙系統(tǒng)的安全性依耐于PIN碼的保密性。由于安全意識不高,用戶所選擇的PIN碼長度通常較短,導致PIN碼被破解的可能性大大增加。
2、 藍牙協(xié)議所使用的密碼算法是藍牙設計者自行發(fā)明的,這些密碼算法比較簡單。從密碼分析的角度看,一個成熟的密碼算法必須經(jīng)過長期的實踐才會被人們所認可,由于缺乏測試,新的密碼算法有可能隱含著某種缺陷。
3 、藍牙適用于10米以內的短距離通訊,攻擊者要想接近攻擊目標確實比較困難。但設想在一個步行街上或者在一個堵車的環(huán)境中,攻擊者通過啟動了藍牙功能的設備,是有可能搜索到周圍10米內的藍牙通訊。而且,最新的IEEE 802.11標準已經(jīng)可以比較便宜的擴展藍牙通訊的距離。
4、由于藍牙技術越來越普及,特別是藍牙軟件可以安裝在PDA和便攜式電腦上,存放在PDA和便攜式電腦上的信息也越來越引起黑客的興趣。
二、 術語介紹
配對:配對是指兩個藍牙設備首次通訊時,相互確認的過程。兩個藍牙設備之間一經(jīng)配對之后,隨后的通訊連接就不必每次都要做確認,非常的方便。
PIN(Personal Identification Number):個人識別碼,藍牙使用的PIN碼長度為1-8個十進制位(8-128比特)。
DB_ADDR:藍牙設備地址。每個藍牙收發(fā)器被分配了唯一的一個48位的設備地址,類似于PC機網(wǎng)卡的MAC地址。兩個藍牙設備在通訊開始時通過詢問的方式獲取對方的DB_ADDR地址。 三、 藍牙配對和認證過程
藍牙支持三種安全模式,第一種是設備沒有任何安全措施的"無安全操作"模式。第二種是信道建立之前不需啟動安全協(xié)議的"業(yè)務級安全模式"。第三種是要求終端在鏈路建立前就需啟動安全協(xié)議的"鏈路級安全模式"。其中,最后“鏈路級安全模式”安全級別最高,本文所討論的就是針對這種級別的攻擊技術。
1、配對和認證
藍牙通訊初始化過程需要三個步驟:生成初始密鑰(Kinit)、生成鏈路密鑰(Kab)和雙方認證。接著,用加密密鑰來保護往后的通訊。在配對之前,需要事先將PIN碼輸入到藍牙設備中,在某些設備(像無線耳機),PIN是固定不可改變的。必須注意的是,兩邊的PIN必須匹配,否則不能通訊。下面我們將討論配對和雙方認證的細節(jié)。
.生成初始密鑰(Kinit)
初始密鑰Kinit t長度為128位,由E22算法產(chǎn)生,圖1描述了生成Kinit密鑰的過程。首先提出通信要求的設備稱為主設備(Master),用A表示;被動進行通信的設備稱為從設備(Slave),用B表示。從圖中可以看到,E22算法的輸入(明文)由以下三部分組成:
1)從設備的物理地址:BD_ADDR,在生成Kinit前,主設備通過詢問方式獲得從設備的地址BD_ADDR。
2)PIN碼及其長度,PIN碼是雙方設備預先設定的。
3)一個128位的隨機數(shù)(IN_RAND)。由主設備產(chǎn)生,并以明文方式傳送給從設備。
由于主、從設備使用了相同的E22算法,如果雙方設備以上三部分的值都相等,那么各自算出來的Kinit也應該相同。

.生成鏈路密鑰Kab 見圖2,首先主設備A產(chǎn)生128位的隨機數(shù)LK_RANDA,從設備B也產(chǎn)生128位的隨機數(shù)LK_RANDB。在主設備A中,Kinit與LK_RANDA進行位比特邏輯異或運算,異或結果發(fā)送給B設備;同樣的,在B設備中,Kinit和LK_RANDB進行位比特邏輯異或運算,結果發(fā)送給A設備。通過這些交換后,A和B設備都具有相同的Kinit、LK_RANDA和LK_RANDB。按照圖2,設備A和B分別用E21算法將LK_RANDA和BD_ADDRA、LK_RANDB和BD_RANDRB加密,并將結果進行異或得到Kab。
圖2
相關文章
當備份數(shù)據(jù)庫不能用時.用郵件列表得到WEBSHELL!(圖)
當備份數(shù)據(jù)庫不能用時.用郵件列表得到WEBSHELL!(圖)...2007-01-01
利用IIS最大連接數(shù)實現(xiàn)網(wǎng)站DOS(圖)
利用IIS最大連接數(shù)實現(xiàn)網(wǎng)站DOS(圖)...2007-01-01

