楊宏立+徐嘉瑩+周新麗
摘 要:藍(lán)牙是一種在物聯(lián)網(wǎng)領(lǐng)域廣泛應(yīng)用的短距離無線傳輸技術(shù),文中介紹了藍(lán)牙的安全體系并對(duì)不同版本藍(lán)牙標(biāo)準(zhǔn)的安全漏洞進(jìn)行了分析,總結(jié)出一些常見的對(duì)藍(lán)牙傳輸進(jìn)行攻擊的方法。
關(guān)鍵詞:藍(lán)牙;無線網(wǎng)絡(luò);安全威脅;安全體系
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)10-00-03
0 引 言
在當(dāng)前的網(wǎng)絡(luò)應(yīng)用中,物聯(lián)網(wǎng)具有對(duì)物品多樣性、低成本、低速率、短距離等特征的泛在需求,這類需求主要通過藍(lán)牙等低速網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)。藍(lán)牙是一種短距離通信開放標(biāo)準(zhǔn),利用嵌入式芯片實(shí)現(xiàn)通訊距離在10 m100 m之間的無線連接。藍(lán)牙的設(shè)計(jì)目標(biāo)在于通過統(tǒng)一的近距離無線連接標(biāo)準(zhǔn)使各生產(chǎn)商生產(chǎn)的個(gè)人設(shè)備都能通過該網(wǎng)絡(luò)協(xié)議更方便地實(shí)現(xiàn)低速率數(shù)據(jù)傳輸和交叉操作。藍(lán)牙技術(shù)具有低成本、低功耗、模塊體積小、易于集成等特點(diǎn),非常適合在新型物聯(lián)網(wǎng)移動(dòng)設(shè)備中應(yīng)用。
1 藍(lán)牙技術(shù)的安全體系
1.1 四級(jí)安全模式
1.1.1 安全模式1
安全模式1無任何安全機(jī)制,不發(fā)起安全程序,無驗(yàn)證、加密等安全功能,該模式下設(shè)備運(yùn)行較快且消耗更小,但數(shù)據(jù)在傳輸過程中極易被攻擊。藍(lán)牙V2.0及之前的版本支持該模式。
1.1.2 安全模式2
安全模式2是強(qiáng)制的服務(wù)層安全模式,只有在進(jìn)行信道的邏輯通道建立時(shí)才能發(fā)起安全程序。該模式下數(shù)據(jù)傳輸?shù)蔫b權(quán)要求、認(rèn)證要求和加密要求等安全策略決定了是否產(chǎn)生發(fā)起安全程序的指令。目前所有的藍(lán)牙版本都支持該模式,其主要目的在于使其可與V2.0之前的版本兼容[1]。
1.1.3 安全模式3
安全模式3為鏈路層安全機(jī)制。在該模式下藍(lán)牙設(shè)備必須在信道物理鏈路建立之前發(fā)起安全程序,此模式支持鑒權(quán)、加密等功能。只有V2.0以上的版本支持安全模式3,因此這種機(jī)制較之安全模式2缺乏兼容性和靈活度。
1.1.4 安全模式4
該模式類似于安全模式2,是一種服務(wù)級(jí)的安全機(jī)制,在鏈路密鑰產(chǎn)生環(huán)節(jié)采用ECDH算法,比之前三種模式的安全性高且設(shè)備配對(duì)過程有所簡(jiǎn)化,可以在某種程度上防止中間人攻擊和被動(dòng)竊聽。在進(jìn)行設(shè)備連接時(shí),和安全模式3一樣先判定是否發(fā)起安全程序,如需要?jiǎng)t查看密鑰是否可用,密鑰若可用則使用SSP簡(jiǎn)單的直接配對(duì)方式,通過鑒權(quán)和加密過程進(jìn)行連接[1]。
建立連接的安全模式機(jī)制流程圖如圖1所示。
1.2 密鑰管理
1.2.1 鏈路密鑰
鏈路密鑰是128 b的隨機(jī)數(shù),由偽隨機(jī)數(shù)RAND和個(gè)人識(shí)別碼PIN、設(shè)備地址通過E21或E22流密碼算法啟動(dòng)。其中初始密鑰及組合密鑰經(jīng)初始化過程生成后作為臨時(shí)鏈路密鑰在設(shè)備間完成鑒權(quán)后就被丟棄。主密鑰可以用于設(shè)備在微微網(wǎng)內(nèi)進(jìn)行加密信息的廣播,在發(fā)送廣播信息時(shí)主密鑰會(huì)替代原來的鏈路密鑰。單元密鑰生成后在藍(lán)牙設(shè)備中會(huì)被保存且會(huì)一直應(yīng)用于鏈路通信。
1.2.2 加密密鑰
完成鑒權(quán)的藍(lán)牙設(shè)備可以在通信中使用加密密鑰來加密傳遞的數(shù)據(jù)。該密鑰由對(duì)稱加密算法E3算法產(chǎn)生,字長(zhǎng)為128 b,由偽隨機(jī)數(shù)RAND、鑒權(quán)過程產(chǎn)生的加密偏移數(shù)COF和當(dāng)前鏈路密鑰K生成。藍(lán)牙采用分組加密的方式,加密密鑰和其他參數(shù)(主體設(shè)備的設(shè)備地址、隨機(jī)數(shù)、藍(lán)牙時(shí)鐘參數(shù))通過E0算法產(chǎn)生二進(jìn)制密鑰流從而對(duì)傳輸數(shù)據(jù)進(jìn)行加密、解密。密鑰的生成如圖2所示。
1.3 鑒權(quán)
鑒權(quán)的目的在于設(shè)備身份的認(rèn)證,同時(shí)對(duì)參數(shù)傳遞是否成功進(jìn)行反饋,它既可以是單向過程也可以是相互鑒權(quán),但都需要事先產(chǎn)生鏈路密鑰。被鑒權(quán)設(shè)備的設(shè)備地址、鑒權(quán)的主體設(shè)備產(chǎn)生的隨機(jī)數(shù)以及鏈路密鑰都參與其中,由此產(chǎn)生應(yīng)答信息和鑒權(quán)加密偏移值,前者被傳遞至主體設(shè)備進(jìn)行驗(yàn)證,若相同則鑒權(quán)成功。若鑒權(quán)失敗則需要經(jīng)過一定長(zhǎng)度的等待時(shí)間才能再次進(jìn)行鑒權(quán)[2]。鑒權(quán)過程如圖3所示。
2 已知的藍(lán)牙安全漏洞
2.1 跳頻時(shí)鐘
藍(lán)牙傳輸使用自適應(yīng)跳頻技術(shù)作為擴(kuò)頻方式,因此在跳頻系統(tǒng)中運(yùn)行計(jì)數(shù)器包含28位頻率為3.2 kHz的跳頻時(shí)鐘,使控制指令嚴(yán)格按照時(shí)鐘同步、信息收發(fā)定時(shí)和跳頻控制從而減少傳輸干擾和錯(cuò)誤。但攻擊者往往通過攻擊跳頻時(shí)鐘對(duì)跳頻指令發(fā)生器和頻率合成器的工作產(chǎn)生干擾,使藍(lán)牙設(shè)備之間不能正常通信,并且利用電磁脈沖較強(qiáng)的電波穿透性和傳播廣度來竊聽通信內(nèi)容和跳頻的相關(guān)參數(shù)[3]。
2.2 PIN碼問題
密鑰控制圖中的個(gè)人識(shí)別碼(PIN)為四位,是加密密鑰和鏈路密鑰的唯一可信生成來源,兩個(gè)藍(lán)牙設(shè)備在連接時(shí)需要用戶在設(shè)備中分別輸入相同的PIN碼才能配對(duì)。由于PIN碼較短,使得加密密鑰和鏈路密鑰的密鑰空間的密鑰數(shù)限制在105數(shù)量級(jí)內(nèi),并且在使用過程中若用戶使用過于簡(jiǎn)單的PIN碼(如連續(xù)同一字符)、長(zhǎng)期不更換PIN碼或者使用固定內(nèi)置PIN碼的藍(lán)牙設(shè)備,則更容易受到攻擊[4]。因此在V2.1之后的版本中PIN碼的長(zhǎng)度被增加至16位,在增大了密鑰空間,提高了藍(lán)牙設(shè)備建立連接鑒別過程的安全性的同時(shí),也不會(huì)因?yàn)槭褂锰L(zhǎng)的數(shù)據(jù)串為通信帶來不便。
2.3 鏈路密鑰欺騙
通信過程中使用的鏈路密鑰基于設(shè)備中固定的單元密鑰,而加密過程中其他信息是公開的,因此有較大漏洞。如設(shè)備A和不同設(shè)備進(jìn)行通信時(shí)均使用自身的單元密鑰作為鏈路密鑰,攻擊者利用和A進(jìn)行過通信的設(shè)備C獲取這個(gè)單元密鑰,便可以通過偽造另一個(gè)和A通信過的設(shè)備B的設(shè)備地址計(jì)算出鏈路密鑰,偽裝成B來通過A的鑒權(quán),B偽裝成C亦然[5]。
2.4 加密密鑰流重復(fù)
加密密鑰流由E0算法產(chǎn)生,生成來源包括主體設(shè)備時(shí)鐘、鏈路密鑰等。在一個(gè)特定的加密連接中,只有主設(shè)備時(shí)鐘會(huì)發(fā)生改變。如果設(shè)備持續(xù)使用時(shí)間超過23.3小時(shí),時(shí)鐘值將開始重復(fù),從而產(chǎn)生一個(gè)與之前連接中使用的相同的密鑰流[6]。密鑰流重復(fù)則易被攻擊者作為漏洞利用,從而得到傳輸內(nèi)容的初始明文。
2.5 鑒權(quán)過程/簡(jiǎn)單安全配對(duì)中的口令
除使用個(gè)人識(shí)別碼PIN進(jìn)行配對(duì)以外,藍(lán)牙標(biāo)準(zhǔn)從V2.1版本開始,增加了簡(jiǎn)單安全配對(duì)SSP(Secure Simple Pairing,SSP)方式。SSP方式比之前的PIN碼配對(duì)更方便,不像PIN碼配對(duì)那樣需要兩個(gè)有輸入模塊的配對(duì)設(shè)備同時(shí)輸入配對(duì)密碼,而SSP只需要有輸出模塊的兩個(gè)配對(duì)設(shè)備確認(rèn)屏幕上顯示的是否是同一個(gè)隨機(jī)數(shù)即可。通過設(shè)備搜索建立藍(lán)牙物理連接,產(chǎn)生靜態(tài)SSP口令,鑒權(quán)這四步即可建立連接,但是這種關(guān)聯(lián)模型沒有提供中間人攻擊保護(hù),靜態(tài)SSP口令很容易被中間人攻擊攻破[7]。
3 藍(lán)牙技術(shù)的安全威脅
針對(duì)藍(lán)牙的攻擊威脅大體上可以分為兩種,一種是對(duì)不同無線網(wǎng)絡(luò)均適用的攻擊,一種是針對(duì)藍(lán)牙特定的攻擊。
3.1 拒絕服務(wù)攻擊
拒絕服務(wù)攻擊(DoS)的原理是在短時(shí)間內(nèi)連續(xù)向被攻擊目標(biāo)發(fā)送連接請(qǐng)求,使被攻擊目標(biāo)無法與其他設(shè)備正常建立連接。藍(lán)牙的邏輯鏈路控制和適配協(xié)議規(guī)定了藍(lán)牙設(shè)備的更高層協(xié)議可以接收和發(fā)送64 KB的數(shù)據(jù)包,類似于ping數(shù)據(jù)包,針對(duì)這個(gè)特點(diǎn),攻擊者可以發(fā)送大量ping數(shù)據(jù)包占用藍(lán)牙接口,使藍(lán)牙接口不能正常使用,并且一直使藍(lán)牙處于高頻工作狀態(tài)從而耗盡設(shè)備電池[8]。DoS攻擊流程圖如圖4所示。
3.2 中間人攻擊
在兩個(gè)設(shè)備之間的攻擊者截獲數(shù)據(jù)一方發(fā)送的數(shù)據(jù)后再轉(zhuǎn)發(fā)給另一方,可在不影響雙方通信的情況下獲得雙方通信的內(nèi)容,是一種廣泛應(yīng)用于無線網(wǎng)絡(luò)的攻擊方式。藍(lán)牙4.0版本的低功耗藍(lán)牙技術(shù)(Bluetooth Low Energy,BLE)在設(shè)計(jì)初始時(shí)有防范中間人攻擊的安全措施,但是在產(chǎn)品階段考慮到產(chǎn)品功耗成本等因素,這方面并沒有得到足夠的重視,依然容易受到攻擊[9]。最常見的是用軟硬件結(jié)合的藍(lán)牙攻擊設(shè)備偽造BLE通信進(jìn)行中間人攻擊。中間人攻擊示意圖如圖5所示。
3.3 漏洞竊聽
藍(lán)牙竊聽可以通過對(duì)藍(lán)牙漏洞的攻擊來實(shí)現(xiàn),藍(lán)牙中的OBEX (Object Exchange)協(xié)議,即對(duì)象交換協(xié)議在早期的藍(lán)牙產(chǎn)品規(guī)范中沒有強(qiáng)制要求使用權(quán)鑒,所以攻擊者可以利用此漏洞在被攻擊者手機(jī)沒有提示的情況下鏈接到被攻擊手機(jī),獲取對(duì)手機(jī)內(nèi)各種多媒體文件以及短信通話記錄等文件的增刪改權(quán)限,甚至可以通過手機(jī)命令撥打接聽電話。具有這些攻擊功能的指令代碼被黑客寫成了手機(jī)軟件,可在網(wǎng)絡(luò)上下載。普通人一般會(huì)使用圖形化界面去操作,某些山寨手機(jī)中甚至自帶這項(xiàng)功能,當(dāng)和別的手機(jī)配對(duì)成功后即可獲得對(duì)方手機(jī)的操作權(quán)限。不過隨著藍(lán)牙技術(shù)的不斷提升,針對(duì)早期藍(lán)牙漏洞的攻擊現(xiàn)在已經(jīng)越來越少見。
3.4 重放攻擊
重放攻擊的原理是監(jiān)聽或者偽造雙方通信的認(rèn)證憑證,經(jīng)過處理后再回發(fā)給被攻擊方進(jìn)行認(rèn)證。藍(lán)牙傳輸過程中有79個(gè)信道,攻擊者可以通過監(jiān)聽信道、計(jì)算跳頻時(shí)序、回放已授權(quán)設(shè)備的口令來進(jìn)行攻擊。V4.2的標(biāo)準(zhǔn)中已經(jīng)增加了防止重放攻擊的協(xié)議。
3.5 配對(duì)竊聽
藍(lán)牙V2.0及之前更早版本默認(rèn)的4位PIN碼很容易被暴力破解,因?yàn)榈臀粩?shù)字排列組合的方式十分有限,藍(lán)牙V4.0的LE配對(duì)同理。攻擊者只要監(jiān)聽到足夠的數(shù)據(jù)幀,就可以通過暴力破解等方式確定密鑰,模擬通信方,實(shí)現(xiàn)攻擊目的。
3.6 位置攻擊
每個(gè)藍(lán)牙設(shè)備都有唯一的6字節(jié)序列號(hào)作為設(shè)備地址,這種序列標(biāo)識(shí)由于在使用過程中不發(fā)生改變很容易泄露設(shè)備的位置信息。攻擊者可以根據(jù)藍(lán)牙的調(diào)頻連接機(jī)制和尋呼機(jī)制、設(shè)備標(biāo)識(shí)符和其他通信參數(shù)獲得被攻擊者設(shè)備的地理位置[7]。
3.7 簡(jiǎn)單配對(duì)模式攻擊
藍(lán)牙V2.0規(guī)定的SSP安全簡(jiǎn)單配對(duì)連接方式并不安全,是由于使用了靜態(tài)口令而無法防止中間人攻擊,并且一旦攻擊者取得了口令,在一段時(shí)間內(nèi)可以用此口令進(jìn)行持續(xù)性攻擊。
4 結(jié) 語
隨著物聯(lián)網(wǎng)技術(shù)在制造業(yè)、農(nóng)業(yè)以及家居設(shè)備等方面的快速推廣,藍(lán)牙的應(yīng)用前景不可小覷,但也面臨著較大的挑戰(zhàn)。因此我們期待在未來的藍(lán)牙標(biāo)準(zhǔn)設(shè)計(jì)中可進(jìn)一步實(shí)施必要的安全策略,同時(shí)在使用藍(lán)牙設(shè)備進(jìn)行傳輸時(shí),也應(yīng)提高藍(lán)牙設(shè)備使用的安全意識(shí),盡量使用最強(qiáng)的安全模式。
參考文獻(xiàn)
[1]張超,蔚俊剛.藍(lán)牙安全體系的研究與實(shí)現(xiàn)[J].儀器儀表用戶,2012,19(2):99-100.
[2]田新建.關(guān)于藍(lán)牙安全機(jī)制的進(jìn)一步研究[D].重慶:重慶大學(xué),2003.
[3]唐婧壹.藍(lán)牙安全策略研究[J].山西電子技術(shù),2011(2):85-86.
[4]張俊.藍(lán)牙技術(shù)及其安全機(jī)制研究[J].電腦知識(shí)與技術(shù),2008,3(27):1941-1942.
[5]譚鳳林,葛臨東.藍(lán)牙安全機(jī)制分析[J].信息工程大學(xué)學(xué)報(bào),2002,3(2):76-78.
[6]Guideto Bluetooth Security. NISTSP800-121(修訂1)[Z]. 2012(1).
[7]嚴(yán)霄鳳.藍(lán)牙安全研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(2):51-54.
[8]Analysisofa Denial of Service Attackon TCP[EB/OL. http: //www.cs.unc.edu/~jeffay/courses/nidsS05/attacks/schuba-ieee-secpriv97.pdf.2003.
[9]狄博,劉署.關(guān)于藍(lán)牙技術(shù)安全機(jī)制的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2003,24(9):61-63.
物聯(lián)網(wǎng)技術(shù)2016年10期