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