藍(lán)牙技術(shù)
- 首頁(yè) >> 電子技術(shù) >> 藍(lán)牙技術(shù)
藍(lán)牙嗅探技術(shù)方案
近年來(lái),藍(lán)牙技術(shù)享有前所未有的聲望和發(fā)展速度,在移動(dòng)設(shè)備上的覆蓋率更是驚人。事實(shí)上,藍(lán)牙已經(jīng)成為無(wú)線配件及智能設(shè)備的主要連接方式。不幸的是,最近研究表明,藍(lán)牙所采用的兩級(jí)流加密模式存在許多缺陷,用戶隱私受到潛在危脅。另一方面,則是利用藍(lán)牙傳遞信息的新型通訊軟件被用于違法犯罪活動(dòng)中,嚴(yán)重影響社會(huì)和諧安定。面對(duì)藍(lán)牙技術(shù)的發(fā)展,應(yīng)當(dāng)積極采取應(yīng)對(duì)措施,加強(qiáng)在藍(lán)牙嗅探方向的研究。
一、藍(lán)牙嗅探技術(shù)背景
1.1藍(lán)牙技術(shù)
藍(lán)牙技術(shù)是一種支持短距離的無(wú)線數(shù)據(jù)交換方式。一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備建立的藍(lán)牙網(wǎng)絡(luò)被稱為微微網(wǎng)(Piconet)。藍(lán)牙技術(shù)因其低功耗、低成本、靈活性強(qiáng)而被廣泛應(yīng)用于短距離無(wú)線通信中。根據(jù)實(shí)用需求,藍(lán)牙設(shè)備的最大發(fā)射功率也被分為三個(gè)等級(jí),而其覆蓋范圍也隨著功率而變化。目前,藍(lán)牙技術(shù)聯(lián)盟負(fù)責(zé)監(jiān)督藍(lán)牙規(guī)范的研究,管理認(rèn)證項(xiàng)目,并維護(hù)商標(biāo)權(quán)益。
1.2無(wú)線電層
藍(lán)牙協(xié)議棧最底層被稱為無(wú)線電層。藍(lán)牙技術(shù)采用2.4GHz工作頻段,該頻段是全世界公開(kāi)通用的無(wú)線頻段(ISMBand),無(wú)需付費(fèi)和申請(qǐng),保證了藍(lán)牙可以獲得更大的使用范圍。藍(lán)牙使用跳頻技術(shù),并以1600跳/s的速率進(jìn)行跳頻,傳輸?shù)臄?shù)據(jù)將會(huì)分割成多個(gè)數(shù)據(jù)包,通過(guò)指定的79個(gè)藍(lán)牙信道分別傳輸數(shù)據(jù)包,每個(gè)信道占1MHz,藍(lán)牙的實(shí)際使用波段為2400MHz~2483.5MHz(包括防護(hù)頻帶)。這種方法導(dǎo)致了選擇性攔截的困難,因?yàn)楣粽咄枰肋B續(xù)的跳頻序列。
1.3基帶層
基帶層負(fù)責(zé)管理物理連接,確保由藍(lán)牙設(shè)備組成的微微網(wǎng)內(nèi)各單元之間由射頻構(gòu)成的物理連接。每個(gè)藍(lán)牙設(shè)備都有一個(gè)唯一的48位藍(lán)牙設(shè)備地址(BD_ADDR),分為3個(gè)部分,包括24位的低端地址部分(LAP)、8位的高端地址部分(UAP)和16位的非有效地址部分(NAP)。該地址可以說(shuō)是藍(lán)牙技術(shù)的運(yùn)算核心,負(fù)責(zé)幾乎所有藍(lán)牙正常工作的控制參數(shù),如密鑰、跳頻序列都是由此地址計(jì)算得到的。
1.4數(shù)據(jù)包結(jié)構(gòu)
所有的藍(lán)牙數(shù)據(jù)包都按統(tǒng)一的結(jié)構(gòu)進(jìn)行封裝,由訪問(wèn)碼、報(bào)頭和有效載荷組成。一個(gè)有效的數(shù)據(jù)包必須包含訪問(wèn)碼,訪問(wèn)碼用于數(shù)據(jù)同步和DC偏移補(bǔ)償。一個(gè)最簡(jiǎn)單的藍(lán)牙數(shù)據(jù)包,如用于尋呼、查詢和相應(yīng)過(guò)程的ID包,可以僅包含一個(gè)68bit的訪問(wèn)碼。藍(lán)牙通信過(guò)程中有一個(gè)非常重要的包——跳頻同步(FHS)包,它包含藍(lán)牙設(shè)備的BD_ADDR和時(shí)鐘信息。
1.5連接的建立
為進(jìn)行藍(lán)牙數(shù)據(jù)傳輸,必須先建立連接。首先,主設(shè)備會(huì)廣播發(fā)送ID包作為查詢。此時(shí)所使用的是79個(gè)藍(lán)牙信道中的32個(gè)廣播信道。從設(shè)備收到這個(gè)包后,會(huì)發(fā)送一個(gè)FHS包,其中包含了從設(shè)備的BD_ADDR和時(shí)鐘信息。收到FHS包的主設(shè)備進(jìn)入尋呼狀態(tài),并按照從設(shè)備的跳頻序列計(jì)算出特定的應(yīng)答時(shí)間,發(fā)送ID包。從設(shè)備會(huì)固定間隔地掃描外部尋呼,在收到主設(shè)備的應(yīng)答ID包后,響應(yīng)該應(yīng)答,發(fā)送ID包。主設(shè)備收到從設(shè)備ID包后,發(fā)送FHS包確定連接的跳頻序列。最后,主從設(shè)備分別發(fā)送ID包和FHS包進(jìn)行驗(yàn)證,建立連接。
在微微網(wǎng)中,所有設(shè)備共享主設(shè)備的時(shí)鐘,以312.5μs為一個(gè)時(shí)鐘周期,兩個(gè)周期構(gòu)成625μs一個(gè)時(shí)間槽。通常情況下,主設(shè)備都會(huì)從雙數(shù)槽傳輸數(shù)據(jù),從設(shè)備從單數(shù)槽傳輸數(shù)據(jù)。
二、藍(lán)牙嗅探方案
2.1藍(lán)牙嗅探的難點(diǎn)
藍(lán)牙嗅探的第一個(gè)障礙就是截獲藍(lán)牙跳頻序列。想要獲得一個(gè)完整的藍(lán)牙數(shù)據(jù)傳輸需要監(jiān)聽(tīng)所有的79個(gè)藍(lán)牙信道,必須攔截和過(guò)濾獲得完整的數(shù)據(jù)包,這就要求必須知道正確的藍(lán)牙跳頻序列。獲得藍(lán)牙跳頻序列的方法有兩個(gè),一種是依靠強(qiáng)大的軟硬件設(shè)備,另一種方法需要等待設(shè)備重新建立連接,并從建立連接的數(shù)據(jù)包中獲得跳頻序列。
另一個(gè)問(wèn)題是常見(jiàn)藍(lán)牙硬件基于數(shù)據(jù)包的訪問(wèn)碼自動(dòng)進(jìn)行過(guò)濾。由于過(guò)濾行為發(fā)生在硬件層面,無(wú)法通過(guò)上層軟件的設(shè)計(jì)來(lái)解決,必須依靠相應(yīng)的硬件設(shè)備才能解決該問(wèn)題。
2.2藍(lán)牙抓包工具Wireshark
Wireshark作為一款常用的抓包工具而被廣泛使用。而1.12以上及版本的Wireshark中增添了藍(lán)牙協(xié)議標(biāo)準(zhǔn),意味著可以通過(guò)Wireshark對(duì)捕獲的藍(lán)牙數(shù)據(jù)包進(jìn)行分析,為嗅探工作提供了很大的便利。同時(shí),Wireshark也提供了監(jiān)聽(tīng)本機(jī)藍(lán)牙接口的功能,能夠監(jiān)聽(tīng)與本機(jī)相連的藍(lán)牙設(shè)備。圖1為用Wireshark抓取的藍(lán)牙數(shù)據(jù)包信息。圖1中展示的是計(jì)算機(jī)與藍(lán)牙耳機(jī)建立連接過(guò)程中的部分?jǐn)?shù)據(jù)包。編號(hào)27為計(jì)算機(jī)作為主設(shè)備廣播發(fā)射的一個(gè)數(shù)據(jù)包,查詢附近的藍(lán)牙設(shè)備。編號(hào)28至編號(hào)31都是藍(lán)牙耳機(jī)對(duì)計(jì)算機(jī)的查詢響應(yīng),除編號(hào)28外的三個(gè)數(shù)據(jù)包中都含有耳機(jī)的BD_ADDR。自此,計(jì)算機(jī)與藍(lán)牙耳機(jī)通過(guò)互相發(fā)送數(shù)據(jù)包,逐步建立藍(lán)牙連接。
2.3藍(lán)牙無(wú)線開(kāi)發(fā)平臺(tái)Ubertooth
UbertoothOne是由Ubertooth項(xiàng)目組設(shè)計(jì)提供的一款用于藍(lán)牙研究的硬件。Ubertooth是一個(gè)開(kāi)放源代碼的2.4GHz無(wú)線開(kāi)發(fā)平臺(tái),適用于藍(lán)牙監(jiān)測(cè)。UbertoothOne同樣通過(guò)USB接口與計(jì)算機(jī)相連。
利用SpecanUI工具能夠直觀地觀測(cè)到實(shí)時(shí)的藍(lán)牙頻譜信息,如圖2所示。在圖2的觀測(cè)中存在一個(gè)與手機(jī)相連的藍(lán)牙耳機(jī)。
可以發(fā)現(xiàn),活躍的無(wú)線信號(hào)主要集中在2403Hz到2446Hz之間,意味著該手機(jī)與藍(lán)牙的數(shù)據(jù)傳輸主要集中在這些信道上。另外,2402Hz、2426Hz、2480Hz為固定的廣播信道,用于對(duì)未連接設(shè)備間發(fā)送廣播數(shù)據(jù),連接建立和發(fā)現(xiàn)遠(yuǎn)程設(shè)備。這3個(gè)信道在頻譜上也有明顯的特點(diǎn)。
UbertoothOne也能支持選擇要監(jiān)聽(tīng)的信道,或是捕獲藍(lán)牙數(shù)據(jù)包等功能。捕獲的藍(lán)牙數(shù)據(jù)包可以通過(guò)Wireshark等軟件進(jìn)行分析。通過(guò)UbertoothOne發(fā)送藍(lán)牙數(shù)據(jù)包目前為止還是不可能的,意味著不能使用UbertoothOne實(shí)現(xiàn)藍(lán)牙數(shù)據(jù)包的注入操作。
結(jié)論
藍(lán)牙嗅探方案的實(shí)現(xiàn),目前還存在不少的難點(diǎn)。另一方面來(lái)看,過(guò)高的門(mén)檻也杜絕了大量不法分子利用藍(lán)牙盜取公民信息的企圖。但是,諸如FireChat之類的,通過(guò)藍(lán)牙進(jìn)行通信的軟件常常被應(yīng)用在違法犯罪活動(dòng)中,已經(jīng)嚴(yán)重危害了公共安全。深入研究藍(lán)牙技術(shù),積極研究藍(lán)牙嗅探方案,不但能解決當(dāng)前問(wèn)題,更為將來(lái)的藍(lán)牙安全問(wèn)題做好應(yīng)對(duì)準(zhǔn)備。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的藍(lán)牙嗅探方案技術(shù)。如果您有藍(lán)牙產(chǎn)品設(shè)計(jì)開(kāi)發(fā)需求,可以放心交給我們,我們有豐富的智能電子產(chǎn)品定制開(kāi)發(fā)經(jīng)驗(yàn),可以盡快評(píng)估開(kāi)發(fā)周期與IC價(jià)格,也可以核算PCBA報(bào)價(jià)。我們是多家國(guó)內(nèi)外芯片代理商:松翰、應(yīng)廣、杰理、安凱、全志、realtek,有MCU、語(yǔ)音IC、BLE藍(lán)牙IC、雙模藍(lán)牙模塊、wifi模塊。我們的擁有硬件設(shè)計(jì)與軟件開(kāi)發(fā)能力。涵蓋了電路設(shè)計(jì)、PCB設(shè)計(jì)、單片機(jī)開(kāi)發(fā)、軟件定制開(kāi)發(fā)、APP定制開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、語(yǔ)音識(shí)別技術(shù)、藍(lán)牙開(kāi)發(fā)、wifi技術(shù)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設(shè)計(jì)、美容儀器開(kāi)發(fā)、物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)、智能家居方案設(shè)計(jì)、TWS耳機(jī)開(kāi)發(fā)、藍(lán)牙耳機(jī)音箱開(kāi)發(fā)、兒童玩具方案開(kāi)發(fā)、電子教育產(chǎn)品研發(fā)。
- 返回頂部