人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

針對藍牙PIN碼的最新攻擊技術細節區分

針對藍牙PIN碼的最新攻擊技術細節區分

更新時間:2019-04-23 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
最近,國內外多家網站紛紛刊登了一則關于針對藍牙PIN碼的最新攻擊技術的新聞:通過強制兩個正在通訊的藍牙設備進行重新配對,并監聽配對信息,攻擊者可以在0.063秒內破解一個4位(十進制)的PIN碼。今年6月上旬舉辦的世界無線技術會議也詳細討論了該攻擊方法,securityfocus 甚至說“這種新的攻擊技術令很多關注無線技術的信息安全專家非常的震驚,因為以前關于攻擊藍牙PIN碼的研究只涉及在不正確的藍牙配置或特定的環境下,而此次是第一次全面性描述攻擊藍牙的技術”。針對這種藍牙攻擊技術,娛樂與技術并重的WDA進行了跟蹤和探討,并寫出以下的攻擊細節,希望與關注藍牙技術的愛好者共同討論。

  一、 概述

  藍牙(bluetooth)是一種實現多種設備之間短距離無線連接的協議,通訊速度快,廣泛應用于無線設備、圖像處理、安全產品、消費娛樂、汽車產品和家用電器等領域。做為一種無線技術,藍牙技術提供了諸如密鑰管理、認證和保密等安全機制。然而,過去幾年,一些針對藍牙技術的攻擊方法被提出,包括信息漏泄、數據竊取、假冒攻擊等,藍牙技術的安全問題主要有以下幾點:

  1、整個藍牙系統的安全性依耐于PIN碼的保密性。由于安全意識不高,用戶所選擇的PIN碼長度通常較短,導致PIN碼被破解的可能性大大增加。

  2、 藍牙協議所使用的密碼算法是藍牙設計者自行發明的,這些密碼算法比較簡單。從密碼分析的角度看,一個成熟的密碼算法必須經過長期的實踐才會被人們所認可,由于缺乏測試,新的密碼算法有可能隱含著某種缺陷。

  3 、藍牙適用于10米以內的短距離通訊,攻擊者要想接近攻擊目標確實比較困難。但設想在一個步行街上或者在一個堵車的環境中,攻擊者通過啟動了藍牙功能的設備,是有可能搜索到周圍10米內的藍牙通訊。而且,最新的IEEE 802.11標準已經可以比較便宜的擴展藍牙通訊的距離。

  4、由于藍牙技術越來越普及,特別是藍牙軟件可以安裝在PDA和便攜式電腦上,存放在PDA和便攜式電腦上的信息也越來越引起黑客的興趣。

  二、 術語介紹

  配對:配對是指兩個藍牙設備首次通訊時,相互確認的過程。兩個藍牙設備之間一經配對之后,隨后的通訊連接就不必每次都要做確認,非常的方便。

  PIN(Personal Identification Number):個人識別碼,藍牙使用的PIN碼長度為1-8個十進制位(8-128比特)。

  DB_ADDR: 藍牙設備地址。每個藍牙收發器被分配了唯一的一個48位的設備地址,類似于PC機網卡的MAC地址。兩個藍牙設備在通訊開始時通過詢問的方式獲取對方的DB_ADDR地址。


[page_break]三、 藍牙配對和認證過程

  藍牙支持三種安全模式,第一種是設備沒有任何安全措施的"無安全操作"模式。第二種是信道建立之前不需啟動安全協議的"業務級安全模式"。第三種是要求終端在鏈路建立前就需啟動安全協議的"鏈路級安全模式"。其中,最后“鏈路級安全模式”安全級別最高,本文所討論的就是針對這種級別的攻擊技術。

  1、配對和認證

  藍牙通訊初始化過程需要三個步驟:生成初始密鑰(Kinit)、生成鏈路密鑰(Kab)和雙方認證。接著,用加密密鑰來保護往后的通訊。在配對之前,需要事先將PIN碼輸入到藍牙設備中,在某些設備(像無線耳機),PIN是固定不可改變的。必須注意的是,兩邊的PIN必須匹配,否則不能通訊。下面我們將討論配對和雙方認證的細節。

  .生成初始密鑰(Kinit)

  初始密鑰Kinit t長度為128位,由E22算法產生,圖1描述了生成Kinit密鑰的過程。首先提出通信要求的設備稱為主設備(Master),用A表示;被動進行通信的設備稱為從設備(Slave),用B表示。從圖中可以看到,E22算法的輸入(明文)由以下三部分組成:

  1)從設備的物理地址:BD_ADDR,在生成Kinit前,主設備通過詢問方式獲得從設備的地址BD_ADDR。

  2)PIN碼及其長度,PIN碼是雙方設備預先設定的。

  3)一個128位的隨機數(IN_RAND)。由主設備產生,并以明文方式傳送給從設備。

  由于主、從設備使用了相同的E22算法,如果雙方設備以上三部分的值都相等,那么各自算出來的Kinit也應該相同。



圖1


[page_break].生成鏈路密鑰Kab

  見圖2,首先主設備A產生128位的隨機數LK_RANDA,從設備B也產生128位的隨機數LK_RANDB。在主設備A中,Kinit與LK_RANDA進行位比特邏輯異或運算,異或結果發送給B設備;同樣的,在B設備中,Kinit和LK_RANDB進行位比特邏輯異或運算,結果發送給A設備。通過這些交換后,A和B設備都具有相同的Kinit、LK_RANDA和LK_RANDB。按照圖2,設備A和B分別用E21算法將LK_RANDA和BD_ADDRA、LK_RANDB和BD_RANDRB加密,并將結果進行異或得到Kab。



圖2

  .雙向認證

  雙向認證采用challenge-response(挑戰-應答)方式。如圖3所示,主設備A為應答方,從設備B為請求方。做為應答方的A設備產生一個128位的隨機數AU_RANDA,并以明文方式傳送至B設備。A、B設備都用E1算法將各自得到的AU_RANDA、Kab和BD_ANDRB加密運算分別生成32位的SRESA和SRESB。B設備將結果SRESB傳送給A設備,A設備比較SRESA和SRESB,如果相等,此次認證通過,否則認證不通過。執行完此次認證后,A設備和B設備的角色對換,即A設備做為請求方,B設備做為應答方,采用同樣的方式進行認證。

  以上就是配對和雙方認證過程,在這一過程中,我們提到了三個密碼算法E22、E21和E1,這三個算法都是根據SAFER+算法進行少量的修改而成的。SAFER+算法屬于分組算法,明文塊為128位,提供了128、 192和256三種不同的密鑰長度,藍牙標準采用128位的密鑰。SAFER+包括:

  1、KSA 一個密鑰調度算法,它產生17個不同的128位的密鑰

  2、8輪運算

  3、輸出變換 由最后一輪運算的輸出和最后一個密鑰異或而成。

  有興趣的朋友可以參看有關介紹,這里不詳細介紹。



圖3


[page_break]四、 PIN攻擊方法

  從第三部分對藍牙技術配對和雙方認證過程的分析,我們可以看出,藍牙技術所用的認證方

  式屬于簡單的弱認證方式,其安全性完全依賴于PIN碼的保密性。

  這一部分我們討論攻擊者通過收集必要的消息是怎么樣用暴力破解方式猜測PIN的。

  表中列出了在配對和認證過程中,兩個藍牙設備A和B之間交換的通訊消息。

#
目的
消息
長度
備注
1
A
B
IN_RAND128 位明文
2
A
B
LK_RANDA異或Kinit128位明文LK_RANDA與 Kinit異或后再傳送到B,B收到消息后,解開得到LK_RANDA
3
B
A
LK_RANDB異或Kinit128位明文LK_RANDB與 Kinit異或后再傳送到A,A收到消息后,解開得到LK_RANDB
4
A
B
AU_RANDA128位明文明文
5
B
A
SRES32位明文明文
6
B
A
AU_RANDB128位明文明文
7
A
B
SRES32位明文明文

  第一步、列舉出所有可能的PIN值,如果假定PIN長度為4位,那么可能的PIN取值從0000到9999之間。

  第二步、按照順序取PIN列表中的第一個值,并取得消息IN_RAND和BD_ADDR,就可以通過E22(注意:E22算法是公開的)算法,計算得到Kinit。

  第三步、根據消息2和消息3,由上面計算得到的Kinit,反推計算出LK_RANDA和LK_RANDB

  第四步、根據LK_RANDA和LK_RANDB以及兩個設備的物理地址等信息,計算得到Kab。

  第五步、由Kab和消息4(AU_RANDA),計算得到SRES,并與信息5的SRES比較。

  同樣的,用Kab和AU_RANDB,計算得到SRES,并與信息7進行比較。

  第六步、如果第五步的消息比較相等,則給定的PIN是正確的;如果不匹配,回到第二步,取PIN列表的下一個PIN,重復第二步后的步驟,直到找到個正確的PIN為止。


[page_break]五、 破解效率

  在破解密碼實踐中,破解效率是很重要的。試想,如果攻擊一個藍牙PIN碼需要幾天的時間,

  意義就不大了。成功破解PIN的效率與攻擊所用機器的性能和所采用的攻擊方法有關。研究人員選取了以下的測試環境:

  1、硬件:奔騰III 450MHz,個人PC機

  2、操作系統:win98

  3、編譯器:VC++

  注意到,這個測試環境的性能是很一般的。研究人員采用了五種攻擊方法,分別是as-is version、Basic Version、KSA+ Expansion、PHT Lookup Table和Algebraic Manipulation。對于每一種攻擊方法,都選取4、5、6、7位不同的PIN做測試。測試結果令人驚訝,破解4位的PIN最快只需要0.27秒(使用Algebraic Manipulation攻擊方式)。研究人員又在一臺奔騰IV3GMHz的機器上進行測試,測試結果顯示,破解4位的PIN僅僅需要0.063秒,比奔騰III環境測試快了4倍。

  六、 強制配對攻擊

  我們在第四部分所分析的“PIN攻擊方法”屬被動攻擊,存在一定的局限性,攻擊者必須在

  兩個藍牙設備配對和認證過程中監聽到所有的消息才可以進行下一步的破解,而配對和認證過程通常很短,這種情況給攻擊者帶來很多麻煩。

  為消除這種局限性,研究人員想到了一種主動攻擊方法,與其守候配對時期的到來,不如強制藍牙設備進行配對。這種強制配對攻擊的方法使得PIN破解成為隨心所欲的事。

  我們來分析這種方法,如果兩臺設備已進行了配對,這就意味著雙方已創建并保存了鏈路密鑰(Kab),以后的通訊并不需要創建Kab,而是直接進入認證階段。根據藍牙設備內核的不同,有三種強制重新配對的攻擊方法。

  方法一:根據前面所述,配對完成后,接下來的通訊不需要再進行配對,而是直接進行雙方認證,此時,主設備A發送AU_RAND給從設備B,并等待B設備發來SRES,以便進行比較和認證。藍牙技術標準規定:如果藍牙設備丟失鏈路密鑰(Kab),應發送LMP_not_accepted消息告知對方,對方收到此消息后會自動進行重新配對。如果在主設備A發送AU_RAND給從設備B后,攻擊者立即發送偽造了的LMP_not_accepted消息給設備A,設備A誤認為此消息是設備B發來,并進入重新配對。

  方法二:在認證階段,攻擊者在A設備向B設備發送AU_RAND前,偽造A設備向B設備發送IN_RAND消息。B設備誤以為A設備丟失了鏈路密鑰Kab,于是迫使配對過程重新開始。

  方法三:同樣是在認證階段,主設備A發送AU_RAND消息給從設備B,并等待從設備返回SRES。如果在主設備收到B設備返回SRES之前,攻擊者仿造從設備向主設備發出一個隨機的SRES,主設備將收到的SRES與設備自身計算的SRES進行比較,比較結果不一樣,主設備于是重新要求認證,當認證失敗次數達到一定數量時,配對過程會重新啟動。

  七、防范建議

  至此,我們介紹了藍牙技術的配對和認證過程,并分析了PIN破解和三種強制重新配對攻擊

  的原理、細節。比起互聯網黑客工具的泛濫,藍牙攻擊的實例并不多,到目前為此,針對本文所介紹的攻擊方法的工具還沒有出現,但隨著藍牙應用的普及,我們有理由相信,針對藍牙技術和藍牙設備的攻擊工具會越來越多。因此,一方面,我們希望藍牙設計者增強藍牙技術的安全性;另一方面,終端用戶應該提高安全意識,做到以下幾點:

  1、 使用大于4位十進制數字的PIN。

  2、 當出現藍牙設備要求重新輸入PIN的情況,要非常的小心,因為這可能是黑客正在進行強制重新配對攻擊。

  3、大數的藍牙設備將在配對過程中生成的Kab保存在非易失的內存中,以后的的通訊都使用這個Kab,此種模式減少了配對的次數。然后藍牙標準還提供了另一種模式,要求每次通訊都需要進行配對,這種模式提高了配對過程中交換的消息被竊聽的風險,建議不要使用這種配對方式



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 三河市| 读书| 拉萨市| 定远县| 广水市| 秭归县| 扬州市| 武夷山市| 神木县| 遂溪县| 奈曼旗| 泌阳县| 盐亭县| 犍为县| 榕江县| 灌云县| 公主岭市| 康定县| 石楼县| 巍山| 宁阳县| 昌图县| 吴江市| 亳州市| 江门市| 镇安县| 西充县| 柯坪县| 会同县| 德保县| 红河县| 延边| 阜南县| 东方市| 谢通门县| 思南县| 宝应县| 山东| 石门县| 赣榆县| 定兴县|