摘 要:藍(lán)牙技術(shù)是一種被廣泛應(yīng)用在個(gè)人設(shè)備上的無(wú)線通信技術(shù)。這種技術(shù)從出現(xiàn)到現(xiàn)在已經(jīng)經(jīng)過(guò)了三次的更新?lián)Q代,在無(wú)線外設(shè)方面已經(jīng)成為不可替代的技術(shù)。但是藍(lán)牙技術(shù)由于其設(shè)計(jì)和實(shí)現(xiàn)的思想的原因有一些安全問(wèn)題,這些安全問(wèn)題可能對(duì)我們平時(shí)的通信安全和個(gè)人隱私造成危害。本文對(duì)藍(lán)牙技術(shù)做了一個(gè)概述,并就其安全性問(wèn)題做一些討論,最后給出一點(diǎn)可能的解決方案。
關(guān)鍵詞:藍(lán)牙(Bluetooth);安全性;隱私
中圖分類號(hào):TN925
1 概述
1.1 藍(lán)牙技術(shù)的產(chǎn)生。藍(lán)牙技術(shù)是上世紀(jì)九十年代瑞典愛(ài)立信公司為了能讓鍵盤和主機(jī)用無(wú)線的方式連接起來(lái)而開(kāi)發(fā)的一種無(wú)線通信技術(shù)?!八{(lán)牙”這名稱來(lái)自10世紀(jì)的丹麥國(guó)王哈拉爾德(Harald Gormsson)的外號(hào)。出身海盜家庭的哈拉爾德統(tǒng)一了北歐四分五裂的國(guó)家,成為維京王國(guó)的國(guó)王,由于他喜歡吃藍(lán)莓,牙齒常常染成藍(lán)色,而獲得“藍(lán)牙”的綽號(hào)。1998年,愛(ài)立信公司為這種新的無(wú)線通信技術(shù)取名“藍(lán)牙”,希望它能成為一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。藍(lán)牙技術(shù)最開(kāi)始是用于移動(dòng)設(shè)備,后加入了實(shí)時(shí)的語(yǔ)音通信功能,就成了我們現(xiàn)在所廣泛使用的藍(lán)牙耳機(jī)技術(shù)。
1.2 藍(lán)牙技術(shù)的設(shè)計(jì)思想。藍(lán)牙技術(shù)和我們一般所談?wù)摰臒o(wú)線通信技術(shù)有很大的不同。這些不同點(diǎn)許多是由于它獨(dú)特的設(shè)計(jì)思想。
首先,藍(lán)牙技術(shù)從設(shè)計(jì)開(kāi)始,其初衷就是面向個(gè)人用戶,最大的用途就是個(gè)人用戶移動(dòng)設(shè)備(如手機(jī),耳機(jī)等)之間和移動(dòng)設(shè)備和固定設(shè)備之間的連接線纜的替代品。不像802.11,它不要求有固定的基礎(chǔ)設(shè)施,而802.11一般要求有無(wú)線接入點(diǎn)(AP)。任意兩臺(tái)藍(lán)牙設(shè)備之間都可以建立連接,其中任意一方都可以作為主叫方(Master)。另外,藍(lán)牙技術(shù)支持多種形式的通信:同步數(shù)據(jù)通信、異步數(shù)據(jù)通信、分時(shí)通信。
同步數(shù)據(jù)通信的例子就是藍(lán)牙耳機(jī)的語(yǔ)言通信,要求固定數(shù)據(jù)率和一定的通信質(zhì)量。而兩點(diǎn)之間的一般文件傳輸和圖像傳輸則是異步通信,其對(duì)時(shí)延要求不很高,但對(duì)通信速率要求較高。最后當(dāng)一臺(tái)設(shè)備作為中心(Master)設(shè)備同時(shí)和幾臺(tái)(Slave)設(shè)備通信時(shí),中心的設(shè)備會(huì)將時(shí)間分成時(shí)隙,在不同的時(shí)隙和不同的Slave設(shè)備傳輸數(shù)據(jù),這就是分時(shí)通信。
2 藍(lán)牙設(shè)備通信機(jī)制
以藍(lán)牙耳機(jī)和手機(jī)的連接和通信為例。通信一共分三個(gè)階段:搜索設(shè)備;配對(duì)(pairing);數(shù)據(jù)傳輸。
2.1 搜索設(shè)備。一個(gè)藍(lán)牙設(shè)備要想和其它設(shè)備通信,就必須知道它的硬件地址。這些信息可以通過(guò)搜索設(shè)備獲得。搜索方循環(huán)發(fā)送一個(gè)精心設(shè)計(jì)的消息,長(zhǎng)度為32次跳頻的時(shí)間。任意的在它搜索范圍內(nèi)(一般是10M)的處于Discoverable狀態(tài)的藍(lán)牙設(shè)備會(huì)返問(wèn)自己的硬件地址(藍(lán)牙設(shè)備地址,BD_ADDR)和時(shí)鐘信息。經(jīng)過(guò)一段時(shí)間的搜索,搜索方就獲得了一些設(shè)備的信息。
獲得了信息后,通信雙方會(huì)有一個(gè)paging的過(guò)程。搜索方通過(guò)搜索得到想要通信的設(shè)備的硬件信息后,發(fā)送一個(gè)只有這臺(tái)設(shè)備才能識(shí)別的消息。消息由目標(biāo)設(shè)備的BD_ADDR的低地址部分構(gòu)成。然后雙方就建立起一個(gè)初步的明文通信,然后交換一些必要的信息。
2.2 配對(duì)。配對(duì)的過(guò)程本質(zhì)上就是交換連接密鑰的過(guò)程。在藍(lán)牙通信中有很多種密鑰,其中最基本的就是連接密鑰。連接過(guò)程中的認(rèn)證密鑰和數(shù)據(jù)通信過(guò)程中的加密密鑰都是由連接密鑰產(chǎn)生。
連接密鑰的生成過(guò)程:(1)生成一個(gè)初始密鑰。初始密鑰由以下四部分構(gòu)成:BD_ADDR,時(shí)鐘信息,隨機(jī)數(shù)(明文傳輸?shù)模?,Pass Key。BD_ADDR是硬件地址,時(shí)鐘信息是paging過(guò)程中交換的,隨機(jī)數(shù)是明文傳輸?shù)摹K赃@里只有Pass Key是通信雙方共享的秘密信息。Pass Key是在連接過(guò)程中在有輸入界面的設(shè)備上輸入的一串?dāng)?shù)字,分固定的和不固定的兩種。耳機(jī)等沒(méi)有輸入鍵盤的設(shè)備一般都采用固定的Pass Key,在連接的另一端輸入一個(gè)出廠時(shí)就固定的key;有輸入鍵盤的設(shè)備,如手機(jī),就要在雙方輸入一個(gè)相同的key。但是這個(gè)key的長(zhǎng)度有限,安全性也就有限,而固定Pass Key的設(shè)備就更是沒(méi)有什么安全性可言了(一般都是0000或1234)。由此可見(jiàn),密鑰的交換過(guò)程存在不安全;(2)生成和交換連接密鑰。連接密鑰由以上的初始密鑰做一個(gè)運(yùn)算得到。
2.3 數(shù)據(jù)通信。數(shù)據(jù)傳輸是加密的。加密采用的是流加密方式,即由連接密鑰產(chǎn)生一個(gè)密鑰流,然后將明文和密鑰做模2加運(yùn)算。這種算法是對(duì)稱的,同一套設(shè)備既可用于加密又可用于解密,這樣可以減小設(shè)備體積。
3 藍(lán)牙通信的安全性問(wèn)題
前面提到一點(diǎn)藍(lán)牙技術(shù)的不安全的方面。利用藍(lán)牙技術(shù)的攻擊方式如下:
3.1 竊聽(tīng)。如前所述,盡管數(shù)據(jù)的通信過(guò)程是加密的,但密鑰的交換過(guò)程是不安全的。所以整個(gè)通信過(guò)程都是不安全的。在竊聽(tīng)的基礎(chǔ)上可以做其它的攻擊,如冒充等。
3.2 位置跟蹤。這種攻擊方式是和其它的無(wú)線技術(shù)都不同的。它是基于藍(lán)牙技術(shù)的應(yīng)用場(chǎng)合—--個(gè)人設(shè)備。一般情況下,個(gè)人設(shè)備和個(gè)人的身份是綁定的,所以如果確定了一個(gè)個(gè)人設(shè)備在某地,那么有非常大的可能性個(gè)人設(shè)備的擁用者也在。
3.2.1 問(wèn)詢攻擊。攻擊發(fā)生在設(shè)備搜索過(guò)程中。任何的設(shè)備如果設(shè)成Discoverable狀態(tài),那么它會(huì)對(duì)所有的搜索問(wèn)詢做出反應(yīng)。藍(lán)牙設(shè)備價(jià)格便宜,假設(shè)在一條街上各處設(shè)置幾個(gè)藍(lán)牙設(shè)備,覆蓋所有的范圍,那么只要特定目標(biāo)出現(xiàn)在這條街上那就一定會(huì)被發(fā)現(xiàn)。這種攻擊方式可泄露設(shè)備搖擁有者的物理位置。這是很特別的。
3.2.2 流量監(jiān)控。連接建立時(shí)所用數(shù)據(jù)包的包頭內(nèi)含一個(gè)Access Code,里面含有設(shè)備的物理地址信息。這個(gè)code可以唯一的確定正在通信的一對(duì)設(shè)備。同樣,這個(gè)信息可被用來(lái)跟蹤。這種攻擊并不需要通信雙方處于Discoverable狀態(tài)。
3.2.3 對(duì)跳頻的攻擊。藍(lán)牙采用的跳頻技術(shù),但是子頻段數(shù)只有79個(gè)。所以可以用多個(gè)設(shè)備監(jiān)控所有的通信信道。另外跳頻的頻率和設(shè)備的物理地址有關(guān)。但這還只是理論上的攻擊方式。
3.2.4 對(duì)設(shè)備名稱的攻擊。在連接建立階段,設(shè)備的名稱不需要任務(wù)的認(rèn)證就可通過(guò)一條專門的指令獲得。而設(shè)備的名稱一般會(huì)涉及到一些個(gè)人的隱私信息。這種方面要求被攻擊設(shè)備處于可連接狀態(tài)。
3.3 對(duì)于藍(lán)牙耳機(jī)的一種安全改進(jìn)。耳機(jī)因?yàn)闆](méi)有鍵盤,所以Pass Key都是出廠時(shí)固定的。這樣通信過(guò)程中所有的信息都可以說(shuō)是明文。改進(jìn)的方式一是設(shè)計(jì)一個(gè)數(shù)據(jù)接口,比如充電的USB接口可以重用,可以設(shè)計(jì)成在電腦上更改Pass Key;另一種方式是使用語(yǔ)音作為Pass Key的內(nèi)容,如加入一個(gè)簡(jiǎn)單的語(yǔ)音識(shí)別模塊,把語(yǔ)音轉(zhuǎn)變成Pass Key。這是利用耳機(jī)具有麥克風(fēng)這個(gè)語(yǔ)音輸入設(shè)備的特點(diǎn)。
4 結(jié)束語(yǔ)
藍(lán)牙是一種短距離無(wú)線通信技術(shù),因?yàn)槠鋮f(xié)議設(shè)計(jì)的問(wèn)題,存在一些安全漏洞和安全攻擊,需要進(jìn)行一定的安全改進(jìn)和增強(qiáng)。
參考文獻(xiàn):
[1]郁濱,張順.藍(lán)牙位置隱私保護(hù)方案的研究與設(shè)計(jì)[J].通信學(xué)報(bào),2011(09).
[2]嚴(yán)霄鳳.藍(lán)牙安全研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013(02).
[3]陳麗,趙志強(qiáng),蘇小維.基于DES的藍(lán)牙安全機(jī)制研究[J].數(shù)字通信,2012(01).
作者簡(jiǎn)介:柳楊才(1968-),男,山東煙臺(tái)人,研究生,工程師,研究方向:后勤信息化建設(shè)。
作者單位:中國(guó)人民解放軍92117部隊(duì),北京 100072