藍(lán)牙技術(shù)的安全機(jī)制
2005/4/13 9:58:00
藍(lán)牙技術(shù)提供了一種短距離的無(wú)線通信標(biāo)準(zhǔn),同其它無(wú)線技術(shù)一樣,藍(lán)牙技術(shù)的無(wú)線傳輸特性使它非常容易受到攻擊,因此安全機(jī)制在藍(lán)牙技術(shù)中顯得尤為重要。雖然藍(lán)牙系統(tǒng)所采用的跳頻技術(shù)已經(jīng)提供了一定的安全保障,但是藍(lán)牙系統(tǒng)仍然需要鏈路層和應(yīng)用層的安全管理。本文首先討論無(wú)線網(wǎng)絡(luò)的安全問(wèn)題,然后介紹了在藍(lán)牙系統(tǒng)中采用的安全技術(shù)。 一、無(wú)線網(wǎng)絡(luò)中的安全問(wèn)題 藍(lán)牙技術(shù)可以提供點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)(廣播)的無(wú)線連接,采用藍(lán)牙技術(shù),多個(gè)藍(lán)牙設(shè)備能夠臨時(shí)組構(gòu)無(wú)線通信網(wǎng),實(shí)現(xiàn)信息的交換和處理。這種無(wú)線網(wǎng)絡(luò)的安全威脅來(lái)源于非法竊聽(tīng)、非授權(quán)訪問(wèn)和服務(wù)拒絕等,不同的安全威脅會(huì)給網(wǎng)絡(luò)帶來(lái)不同程度的破壞。 非法竊聽(tīng)是指入侵者通過(guò)對(duì)無(wú)線信道的監(jiān)聽(tīng)來(lái)獲取傳輸?shù)男畔?,是?duì)通信網(wǎng)絡(luò)最常見(jiàn)的攻擊方法。這種威脅源于無(wú)線鏈路的開(kāi)放性,但是由于無(wú)線傳輸距離受到功率和信噪比的限制,竊聽(tīng)者必須與源結(jié)點(diǎn)距離較近。藍(lán)牙技術(shù)標(biāo)準(zhǔn)建議采用較低的發(fā)射功率,標(biāo)準(zhǔn)通信距離僅有十米,這在一定程度上保證了網(wǎng)絡(luò)的可靠性。 非法訪問(wèn)是指入侵者偽裝成合法用戶(hù)來(lái)訪問(wèn)網(wǎng)絡(luò)資源,以期達(dá)到破壞目的;或者是違反安全策略,利用安全系統(tǒng)的缺陷非法占有系統(tǒng)資源或訪問(wèn)本應(yīng)受保護(hù)的信息。必須對(duì)網(wǎng)絡(luò)中的通信設(shè)備增加認(rèn)證機(jī)制,以防止非授權(quán)用戶(hù)使用網(wǎng)絡(luò)資源。 服務(wù)拒絕是指入侵者通過(guò)某些手段使合法用戶(hù)無(wú)法獲得其應(yīng)有的網(wǎng)絡(luò)服務(wù),這種攻擊方式在Internet中最為常見(jiàn),也最為有效。在藍(lán)牙網(wǎng)絡(luò)中,這種威脅包括阻止合法用戶(hù)建立連接,或通過(guò)向網(wǎng)絡(luò)發(fā)送大量垃圾數(shù)據(jù)來(lái)破壞合法用戶(hù)的正常通信。對(duì)于這種威脅,通常可采用認(rèn)證機(jī)制和流量控制機(jī)制來(lái)防止。 耗能攻擊也稱(chēng)為能源消耗攻擊,現(xiàn)有藍(lán)牙設(shè)備為節(jié)約電池能量,使用節(jié)能機(jī)制,在不進(jìn)行通信時(shí)進(jìn)入休眠狀態(tài)。能源消耗攻擊目的是破壞節(jié)能機(jī)制,如不停地發(fā)送連接請(qǐng)求,使設(shè)備無(wú)法進(jìn)入節(jié)能模式,最終達(dá)到消耗能量的目的。目前對(duì)這種攻擊還沒(méi)有行之有效的辦法。 二、藍(lán)牙采用的安全技術(shù) 藍(lán)牙技術(shù)標(biāo)準(zhǔn)除了采用上述的跳頻擴(kuò)頻技術(shù)和低發(fā)射功率等常規(guī)安全技術(shù)外,還采用內(nèi)置的安全機(jī)制來(lái)保證無(wú)線傳輸?shù)陌踩浴? 1. 安全模式 在藍(lán)牙技術(shù)標(biāo)準(zhǔn)中定義了三種安全模式: ●安全模式1:無(wú)安全要求 ●安全模式2:強(qiáng)制業(yè)務(wù)級(jí)安全 ●安全模式3:強(qiáng)制鏈路級(jí)安全 安全模式1為無(wú)安全機(jī)制的模式,在這種模式下藍(lán)牙設(shè)備屏蔽鏈路級(jí)的安全功能,適于非敏感信息的數(shù)據(jù)庫(kù)的訪問(wèn)。這方面的典型的例子有自動(dòng)交換名片和日歷(即vCard和vCalendar)。 安全模式2提供業(yè)務(wù)級(jí)的安全機(jī)制,允許更多靈活的訪問(wèn)過(guò)程,例如,并行運(yùn)行一些有不同安全要求的應(yīng)用程序。在這種模式中,藍(lán)牙設(shè)備在信道建立后啟動(dòng)安全性過(guò)程,也就是說(shuō)它的安全過(guò)程在較高層協(xié)議進(jìn)行。 安全模式3提供鏈路級(jí)的安全機(jī)制,鏈路管理器對(duì)所有建立連接的應(yīng)用程序,以一種公共的等級(jí)強(qiáng)制執(zhí)行安全標(biāo)準(zhǔn)。在這種模式中,藍(lán)牙設(shè)備在信道建立以前啟動(dòng)安全性過(guò)程,也就是說(shuō)它的安全過(guò)程在較低層協(xié)議進(jìn)行。 2. 設(shè)備和業(yè)務(wù)的安全等級(jí) 藍(lán)牙技術(shù)標(biāo)準(zhǔn)為藍(lán)牙設(shè)備和業(yè)務(wù)定義安全等級(jí),其中設(shè)備定義了三個(gè)級(jí)別的信任等級(jí): ●可信任設(shè)備:設(shè)備已通過(guò)鑒權(quán),存儲(chǔ)了鏈路密鑰,在設(shè)備數(shù)據(jù)庫(kù)中標(biāo)識(shí)為“可信任”,可信任設(shè)備可以無(wú)限制的訪問(wèn)所有的業(yè)務(wù); ●不可信任設(shè)備:設(shè)備已通過(guò)鑒權(quán),存儲(chǔ)了鏈路密鑰,但在設(shè)備數(shù)據(jù)庫(kù)中沒(méi)有標(biāo)識(shí)為“可信任,;不可信任設(shè)備訪問(wèn)業(yè)務(wù)是受限的; ●未知設(shè)備:無(wú)此設(shè)備的安全性信息,為不可信任設(shè)備。 實(shí)現(xiàn)安全功能的途徑之一是采用一個(gè)安全管理器,這些信息保存在藍(lán)牙安全架構(gòu)的設(shè)備數(shù)據(jù)庫(kù)中,由安全管理器維護(hù)。 對(duì)于業(yè)務(wù),藍(lán)牙技術(shù)標(biāo)準(zhǔn)定義了三種安全級(jí)別:需要授權(quán)與鑒權(quán)的業(yè)務(wù)、僅需鑒權(quán)的業(yè)務(wù)以及對(duì)所有設(shè)備開(kāi)放的業(yè)務(wù)。一個(gè)業(yè)務(wù)的安全等級(jí)由下述三個(gè)屬性決定,它們保存在業(yè)務(wù)數(shù)據(jù)庫(kù)中。 ●需授權(quán)——只允許信任設(shè)備自動(dòng)訪問(wèn)的業(yè)務(wù)(例如,在設(shè)備數(shù)據(jù)庫(kù)中已登記的那些設(shè)備)。不信任的設(shè)備需要在授權(quán)過(guò)程完成后才能訪問(wèn)該業(yè)務(wù)。授權(quán)總是需要鑒權(quán)以確認(rèn)遠(yuǎn)端設(shè)備是正確的設(shè)備。 ●需鑒權(quán)——在連接到應(yīng)用程序之前,遠(yuǎn)端設(shè)備必須接受鑒權(quán)。 ●需加密——在允許訪問(wèn)業(yè)務(wù)前必須切換到加密模式下。 3. 鏈路級(jí)安全參數(shù) 藍(lán)牙技術(shù)在應(yīng)用層和鏈路層上提供了安全措施。鏈路層采用的四種不同實(shí)體來(lái)保證安全。所有鏈路級(jí)的安全功能都是基于鏈路密鑰的概念實(shí)現(xiàn)的,鏈路密鑰是對(duì)應(yīng)每一對(duì)設(shè)備單獨(dú)存儲(chǔ)的一些128位的隨機(jī)數(shù)。 4. 密鑰管理 藍(lán)牙系統(tǒng)用于確保安全傳輸?shù)拿荑€有幾種,其中最重要的密鑰是用于兩個(gè)藍(lán)牙設(shè)備之間鑒權(quán)的鏈路密鑰。加密密鑰可以由鏈路密鑰推算出來(lái),這將確保數(shù)據(jù)包的安全,而且每次傳輸都會(huì)重新生成。最后還有PIN碼,用于設(shè)備之間互相識(shí)別。 鏈路密鑰:一共有四種可能存在的鏈路密鑰,所有鏈路密鑰都是128位的隨機(jī)數(shù),它們或者是臨時(shí)的或者是半永久性的。 加密密鑰由當(dāng)前的鏈路密鑰推算而來(lái)。每次需要加密密鑰時(shí)它會(huì)自動(dòng)更換。之所以將加密密鑰與鑒權(quán)密鑰分離開(kāi),是因?yàn)榭梢允褂幂^短的加密密鑰而不減弱鑒權(quán)過(guò)程的安全性。 藍(lán)牙安全碼通常稱(chēng)為PIN(個(gè)人識(shí)別號(hào)碼),是一個(gè)由用戶(hù)選擇或固定的數(shù)字,長(zhǎng)度可以為16個(gè)字節(jié),通常采用四位十進(jìn)制數(shù)。用戶(hù)在需要時(shí)可以改變它,這樣就增加了系統(tǒng)的安全性。另外,同時(shí)在兩個(gè)設(shè)備輸入PIN比其中一個(gè)使用固定的PIN要安全得多。事實(shí)上它是唯一的可信的用于生成密鑰的數(shù)據(jù),典型情況是四位十進(jìn)制PIN碼與其他變量結(jié)合生成鏈路密鑰和加密密鑰。 5. 加密算法 藍(lán)牙系統(tǒng)加密算法為數(shù)據(jù)包中的凈荷(即數(shù)據(jù)部分)加密,其核心部分是數(shù)據(jù)流密碼機(jī)E0,它包括凈荷密鑰生成器,密鑰流生成器,和加/解密模塊。由于密鑰長(zhǎng)度從8比特到128比特不等,信息交互雙方必須通過(guò)協(xié)商確定密鑰長(zhǎng)度。 有幾種加密模式可供使用,如果使用了單元密鑰或者聯(lián)合密鑰,廣播的數(shù)據(jù)流將不進(jìn)行加密。點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)流可以加密也可以不加密。如果使用了主密鑰,則有三種可能的模式: ●加密模式1:不對(duì)任何進(jìn)行加密; ●加密模式2:廣播數(shù)據(jù)流不加密,點(diǎn)對(duì)點(diǎn)數(shù)據(jù)流用臨時(shí)密鑰Kmaste進(jìn)行加密; ●加密模式3:所有數(shù)據(jù)流均用臨時(shí)密鑰Kmaste進(jìn)行加密。 每個(gè)應(yīng)用程序?qū)γ荑€長(zhǎng)度有嚴(yán)格的限制,當(dāng)應(yīng)用程序發(fā)現(xiàn)協(xié)商后得到的密鑰長(zhǎng)度與程序要求不符,就會(huì)廢棄協(xié)商的密鑰長(zhǎng)度。這主要是為了防止惡意用戶(hù)通過(guò)協(xié)商過(guò)程減小應(yīng)用程序密鑰長(zhǎng)度,以便對(duì)系統(tǒng)造成破壞。 6. 認(rèn)證機(jī)制 兩個(gè)設(shè)備第一次通信時(shí),借助“結(jié)對(duì)”初始化過(guò)程生成一個(gè)共用的鏈路密鑰,結(jié)對(duì)過(guò)程要求用戶(hù)輸入16字節(jié)(或128位)PIN到兩個(gè)設(shè)備,根據(jù)藍(lán)牙技術(shù)標(biāo)準(zhǔn),結(jié)對(duì)過(guò)程如下: ●根據(jù)用戶(hù)輸入的PIN生成一個(gè)共用隨機(jī)數(shù)作為初始化密鑰,此密鑰只用一次,然后即被丟棄。 ●在整個(gè)鑒權(quán)過(guò)程中,始終檢查PIN是否與結(jié)對(duì)設(shè)備相符。 ●生成一個(gè)普通的128位隨機(jī)數(shù)鏈路密鑰,暫時(shí)儲(chǔ)存在結(jié)對(duì)的設(shè)備中。只要該鏈路密鑰儲(chǔ)存在雙方設(shè)備中,就不再需要重復(fù)結(jié)對(duì)過(guò)程,只需實(shí)現(xiàn)鑒權(quán)過(guò)程。 ●基帶連接加密不需要用戶(hù)的輸入,當(dāng)成功鑒權(quán)并檢索到當(dāng)前鏈路密鑰后,鏈路密鑰會(huì)為每個(gè)通信會(huì)話生成一個(gè)新的加密密鑰,加密密鑰長(zhǎng)度依據(jù)對(duì)安全等級(jí)而定,一般在8~128比特之間,最大的加密長(zhǎng)度受硬件能力的限制。 為防止非授權(quán)用戶(hù)的攻擊,藍(lán)牙標(biāo)準(zhǔn)規(guī)定,如果認(rèn)證失敗,藍(lán)牙設(shè)備會(huì)推遲一段時(shí)間重新請(qǐng)求認(rèn)證,每增加一次認(rèn)證請(qǐng)求,推遲時(shí)間就會(huì)增加一倍,直到推遲時(shí)間達(dá)到最大值。同樣認(rèn)證請(qǐng)求成功后,推遲時(shí)間也相應(yīng)地成倍遞減,直到達(dá)到最小值。 7. 藍(lán)牙安全架構(gòu) 藍(lán)牙安全架構(gòu)可以實(shí)現(xiàn)對(duì)業(yè)務(wù)的選擇性訪問(wèn),藍(lán)牙安全架構(gòu)建立在L2CAP層之上,特別是RFCOMM層。其它協(xié)議層對(duì)藍(lán)牙架構(gòu)沒(méi)有什么特別的處理,它們可能有其自身的安全特征。藍(lán)牙安全架構(gòu)允許協(xié)議棧中的協(xié)議強(qiáng)化其安全策略,例如,L2CAP在無(wú)繩電話方面強(qiáng)化了藍(lán)牙安全策略,RFCOMM則是在撥號(hào)網(wǎng)絡(luò)方面強(qiáng)化了藍(lán)牙安全策略,OBEX在文件傳輸和同步應(yīng)用方面使用自己的安全策略。藍(lán)牙安全架構(gòu)提供了一個(gè)靈活的安全框架,此框架指出了何時(shí)涉及用戶(hù)的操作,下層協(xié)議層需要哪些動(dòng)作來(lái)支持所需的安全檢查等。在藍(lán)牙系統(tǒng)中,安全架構(gòu)是建立在鏈路級(jí)安全特征之上的,一般的架構(gòu)如圖1所示,其中實(shí)線為“問(wèn)詢(xún)”過(guò)程,虛線為“注冊(cè)”過(guò)程。 安全管理器是藍(lán)牙安全架構(gòu)中最重要的部分,負(fù)責(zé)存儲(chǔ)與業(yè)務(wù)和設(shè)備安全有關(guān)的信息,響應(yīng)來(lái)自協(xié)議或應(yīng)用程序的訪問(wèn)要求,連接到應(yīng)用程序前加強(qiáng)鑒權(quán)和加密,初始化或處理來(lái)自用戶(hù)或者外部安全控制實(shí)體的輸入,在設(shè)備級(jí)建立信任連接等。 三、藍(lán)牙安全技術(shù)存在的問(wèn)題 用戶(hù)隱私:由于藍(lán)牙設(shè)備內(nèi)的藍(lán)牙地址具有全球唯一性,一旦這個(gè)地址與某用戶(hù)相關(guān)聯(lián),他的行動(dòng)都可以被記錄,所以隱私就得不到保障。 PIN問(wèn)題:為了初始化一個(gè)安全連接,兩個(gè)藍(lán)牙設(shè)備必須輸入相同的PIN碼。PIN是唯一的可信的用于生成密鑰的數(shù)據(jù),鏈路密鑰和加密密鑰都與它有關(guān)。用戶(hù)有可能將其存在設(shè)備上,或者輸入過(guò)于簡(jiǎn)單,所以PIN易受到攻擊,解決的方法是使用較長(zhǎng)的PIN,或者使用密鑰變更系統(tǒng)。 鏈路密鑰:鑒權(quán)和加密都是基于雙方共享的鏈路密鑰,這樣,某一設(shè)備很可能利用早就得到鏈路密鑰以及一個(gè)偽藍(lán)牙地址計(jì)算出加密密鑰,從而監(jiān)聽(tīng)數(shù)據(jù)流。雖然這種攻擊需要花一些功夫,但貝爾實(shí)驗(yàn)室已證實(shí)了其可能性。 藍(lán)牙技術(shù)把眾<
提交
查看更多評(píng)論
其他資訊
步進(jìn)電機(jī)的控制原理及其單片機(jī)控制實(shí)現(xiàn)
嵌入式實(shí)時(shí)系統(tǒng)中跨平臺(tái)通信的實(shí)現(xiàn)
基于USB總線和89C51單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)