国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網(wǎng)絡通信 > 正文

藍牙安全嗎關于藍牙安全機制的研究

2019-11-05 02:31:05
字體:
來源:轉載
供稿:網(wǎng)友

  隨著計算機網(wǎng)絡和移動電話技術的迅猛發(fā)展,人們感到越來越迫切需要發(fā)展小范圍的無線數(shù)據(jù)與語音通信技術。于是愛立信、IBM、英特爾、諾基亞和東芝等公司在1998年聯(lián)合推出一項新的無線網(wǎng)絡技術,即藍牙技術。藍牙技術可以解決小型移動設備間的無線互連問題,它的硬件市場非常廣闊,涵蓋了局域網(wǎng)中的各類數(shù)據(jù)及語音設備,如計算機、移動電話、小型個人數(shù)字助理(PDA)等。藍牙技術面向的是移動設備間的小范圍連接,從本質上說它是一種代替電纜的技術。為了保證移動設備間數(shù)據(jù)傳輸?shù)陌踩裕摷夹g持應用層和鏈路層的鑒權和加密,這也正是本文要討論的內容。
  
  一、藍牙應用協(xié)議棧
  1999年12月1日,Bluetooth SIG(Special Interest Group)發(fā)布了藍牙標準的最新版:1.0B版。藍牙標準包括兩大部分:Core和PRofiles。Core是藍牙的核心,它主要定義了藍牙的技術細節(jié),而Profiles部分則定義了在藍牙的各種應用中協(xié)議棧的組成。
  
  藍牙標準主要定義的是底層協(xié)議,同時為保證和其它協(xié)議的兼容性,也定義了一些高層協(xié)議和相關接口。從ISO的OSI七層協(xié)議標準來看,藍牙標準主要定義的是物理層、鏈路層和網(wǎng)絡層的結構。
  
  1)射頻協(xié)議(RF/Radio Protocol):定義了藍牙發(fā)送器和接收器的各個參數(shù),包括發(fā)送器的調制特性,接收器的靈敏度、抗干擾性能、互調特性和接收信號強度指示等。
  
  2)基帶/鏈路控制協(xié)議(Baseband/LC Protocol):定義了基帶部分協(xié)議和其它低層鏈路功能,是藍牙技術的核心。
  
  3)鏈路治理協(xié)議(LMP):用于鏈路的建立、安全和控制,為此LMP定義了許多過程來完成不同的功能。
  
  4)主機控制器接口(HCI:Host Controller Interface)協(xié)議:描述了主機控制接口功能上的標準,提供了一個基帶控制器和鏈路治理器(LM)得知硬件狀態(tài)和控制寄存器命令的接口,在藍牙中起著中間層的作用:向下給鏈路控制器協(xié)議和鏈路治理協(xié)議提供接口,提供一個訪問藍牙基帶的統(tǒng)一方法。HCI是在硬件和軟件都包含的部分。
  
  5)邏輯蓮路控制和適配協(xié)議(L2CAP:Logical Link Control and Adaptation Protocol):支持高層協(xié)議復用、幀的組裝和拆分、傳送QoS信息。L2CAP提供面各連接和非連接兩種業(yè)務,答應高層最多達64kbit/s的數(shù)據(jù),以一種有限狀態(tài)機(FSM)的方式來進行控制,目前只支持異步無連接鏈路(ACL)。
  
  6)服務發(fā)現(xiàn)協(xié)議(SDP:Service Discover Protocol):如何發(fā)現(xiàn)藍牙設備所提供服務的協(xié)議,使高層應用能夠得知可提供的服務。在兩個藍牙設備第一次通信時,需要通過SDP來了解對方能夠提供何種服務,并將自己可提供的服務通知對方。
  
  7)高層協(xié)議:包括串口通信協(xié)議(RFCOMM)、電話控制協(xié)議(TCS)、對象交換協(xié)議(OBEX)、控制命令(AT-Command)、電子商務標準協(xié)議(vCard和vCalender)和PPP,ip,TCP,UDP等相關的Internet協(xié)議以及WAP協(xié)議。其中,串口通信協(xié)議是ETSI TS07.10標準的子集,并且加入了藍牙特有的部分;電話控制協(xié)議使用了一個以比特為基礎的協(xié)議,定義了在藍牙設備之間建立語音和數(shù)據(jù)呼叫的控制信令,對象交換協(xié)議提供了與IrDA協(xié)議系列相同的特性,并且使各種應用可以在IrDA協(xié)議棧和藍牙協(xié)議棧上使用。兩個藍牙設備必須具有相同的協(xié)議組成才能夠相互通信。例如要在藍牙實現(xiàn)WAP應用,則雙方都必須經(jīng)過基帶協(xié)議--L2CAP--RFCOMM--PPP---IP--UDP--WAP的路徑來實現(xiàn)。
  
  二、藍牙系統(tǒng)安全性要求
  由于藍牙系統(tǒng)簡單可靠,從而產(chǎn)生了各種不同的應用,例如電腦、鼠標、打印機、接入點、移動電話和話筒等都可以使用藍牙協(xié)議無線地連接在一起,進行語音和數(shù)據(jù)的交換。同時,還可以通過無線或有線的接入點(如PSTN、ISDN、LAN、XDSL)與外界相連。不同應用對各自的系統(tǒng)必然提出不同的要求,并且不是所有的系統(tǒng)都對安全性有很高的要求。
  
  先介紹幾個概念:
  
  1)藍牙設備地址(BD_ADDR):是一個對每個藍牙單元唯一的48位IEEE地址。
  
  2)個人確認碼(PIN:Personal Identification Number):是由藍牙單元提供的1-16位(八進制)數(shù)字,可以固定或者由用戶選擇。一般來講,這個PIN碼是隨單元一起提供的一個固定數(shù)字。但當該單元有人機接口時,用戶可以任意選擇PIN的值,從而進入通信單元。藍牙基帶標準中要求PIN的值是可以改變的。
  
  3)鑒權字:是長度為128位的數(shù)字,用于系統(tǒng)的鑒權。
  
  4)加密字:長度8-128位,可以改變。這是因為不同的國家有許多不同的對加密算法的要求,同時也是各種不同應用的需要,還有利于算法和加密硬件系統(tǒng)的升級。
  
  區(qū)分鑒權字和加密字的目的是在不降低鑒權過程作用的前提下使用更短的加密字。
  
  雖然藍牙系統(tǒng)的跳頻機制對于來自系統(tǒng)內部其它設備的偶然傳輸干擾起到了一定的保護作用,但是很顯然僅有這種保護是不夠的。它不能防止有人在兩個傳輸單元之間對數(shù)據(jù)的竊聽和偷取,尤其在無線傳輸數(shù)據(jù)時,竊取數(shù)據(jù)者可以輕松地屏蔽自己而不讓用戶發(fā)現(xiàn),因此藍牙系統(tǒng)需要加入相應的安全機制。在一般的系統(tǒng)中,通常對所傳輸?shù)臄?shù)據(jù)包進行加密,但僅有這種做法是不夠的。更重要的是在通信連接建立以前,確保通信單元的安全性。例如用戶相同時跟幾個用戶通信,就需要對這些用戶進行確認。因此,在藍牙系統(tǒng)中間時運用了鑒權和加密技術。
  
  三、藍牙安全機制
  1、字治理機制
  
  藍牙鏈字是長度為128位的隨機數(shù),它是藍牙系統(tǒng)鑒權和加密的基礎。為了支持不同階段、模式的要求,藍牙系統(tǒng)在鏈路層上用了4種不同的字來保證系統(tǒng)的安全性。包括單元字KA組合字是KAB,臨時字Kmaster及初始化字Kinit。
  
  單元字KA與組合字KAB僅產(chǎn)生方式不同,執(zhí)行的功能是完全相同的。也就是說,KAB是由兩個單元A,B共同產(chǎn)生的,而KA僅由一個單元A產(chǎn)生,因此KA在初始化階段產(chǎn)生后就基本不變了。系統(tǒng)的內存比較小時通常選擇KA,而系統(tǒng)對穩(wěn)定性要求比較高時選擇KAB。
  
  臨時字Kmaster只是臨時取代原始字。例如,當主機想與多個子機通信時主機將用同一個加密字,因此把它存放在臨時字中,以便于使用。
  
  初始化字Kinit僅僅在初始化階段有效,也主是單元字KA,KAB產(chǎn)生的階段,它不僅僅是初始化階段的一個臨時字,其產(chǎn)生需要一個PIN。
  
  半永久性的鏈接字在特定的時間內被稱作當前鏈接字。當前鏈接字和其它鏈接字一樣,用于鑒權和加密過程。此外,還用到了加密字KC,加密字被LM的命令激活后將自動被改變。
  
  另外,鑒權字和加密字在不同的階段執(zhí)行不同的功能。例如:在兩個單元沒有建立連接的階段和已經(jīng)建立連接的階段有很大的不同,前者必須首先產(chǎn)生加密字,而后者可以繼續(xù)使用上次通信的加密字。相應地不同的階段對字的治理是不一樣的。此外當主機想廣播消息,而不是一個一個地傳送消息時,需要非凡的字治理方法。正是藍牙系統(tǒng)有力的字治理機制,才使得系統(tǒng)具有很好的安全性,而且支持不同的應用模式。
  
  2.鏈接字的產(chǎn)生
  
  初始化字Kunit的值以申請者的藍牙設備地址、一個PIN碼、PIN碼的長度和一個隨機數(shù)作為參數(shù),通過E22算法產(chǎn)生。而申請者相對校驗者而言是需要通過驗證的一方。因此,申請者需要正確的PIN碼和PIN碼的長度。一般來講,由HCI決定誰是申請者,誰是校驗者。
  
  當PIN的長度少于16個八進制數(shù)時,可以通過填充藍牙設備地址的數(shù)據(jù)使其增大,因此假如循環(huán)使用E22可以使鏈接字的長度增長為128位。
  
  初始化鏈接字Kint產(chǎn)生后,該單元將產(chǎn)生一個半永久字KA或KAB。假如產(chǎn)生的是一人KAB,則該單元將用一個隨機數(shù)LK_RAND周期性地加密藍牙設備地址,加密后的結果為LK_KA,而各自產(chǎn)生的LK_RAND與當前的鏈接字進行異或運算后,分別產(chǎn)生新值,永為CA和CA,然后互相交換,從而得到了對方的LK_RAND,并以對方的LK_RAND和藍牙設備地址作為參數(shù),用E21函數(shù)產(chǎn)生新值LK_KB的異或運算得到組合字KAB。當KAB產(chǎn)生后,首先單向鑒權一次,看KAB變?yōu)楫斍版溄幼郑鴣G棄原先的鏈接字K。E22的工作原理與E21類似。
  
  3.藍牙單元鑒權
  
  在鑒權過程中,LM決定誰是校驗者,誰是申請者。申請者和校驗者必須同時擁有一個共同的當前鏈接字。而這種口令-應答方式的鑒權實際上是申請者發(fā)送一個隨機數(shù)RAND,隨后校驗者用當前密鑰字、申請者的藍牙設備地址和RAND作為加密算法的參數(shù)得到新值,記為SRES’。申請者以同樣的參數(shù)、算法得到的新值記為SRES。然后,申請者將SRES傳送給校驗者,比較SRES’和SRES是否相等。假如相等,則鑒權通過;否則鑒權失敗。在間隔一定時間后系統(tǒng)重新鑒權。鑒權機制的安全性是相當高的。更保險的做法是采用雙向鑒權,即一次鑒權成功后,調整申請者和校驗者的角色,再次鑒權。鑒權成功以后,產(chǎn)生了鑒權編碼補償(ACO),以用于加密字的產(chǎn)生。
  
  4.加密
  
  為了保證藍牙系統(tǒng)的安全性,必須采用加密技術。但藍牙系統(tǒng)對數(shù)據(jù)包頭和控制字段并不加密。藍牙系統(tǒng)通過一個再同步的流加密算法對每一個負載加密,由LM最終決定是否加密。
  
  最后需要注重的是,不僅要對數(shù)據(jù)包加密,而且要對加密過程的中間數(shù)據(jù)進行加密,例如對鑒權編碼補償進行加密,這樣才能防止系統(tǒng)被攻擊和數(shù)據(jù)被竊取。
  
  四、簡單的使用例子
  通過藍牙技術可以在無線耳機和移動電話之間建立通信。由于耳機沒有人機接口,因上耳機在生產(chǎn)的時候載入了一個固定的PIN,它是一個隨機的數(shù)字。在初始化階段,用戶從手機菜單中選取初始化耳機的命令,隨后耳機將自動發(fā)現(xiàn)手機并建立連接。此時用戶必須輸入耳機的PIN。假如輸入的PIN正確,則建


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 马尔康县| 遂昌县| 沧州市| 石首市| 德化县| 三河市| 永泰县| 县级市| 吴川市| 柯坪县| 博乐市| 融水| 蓬莱市| 通山县| 房产| 咸阳市| 湘阴县| 沁源县| 平遥县| 金门县| 九寨沟县| 鄂托克前旗| 额尔古纳市| 万州区| 西畴县| 敦煌市| 定兴县| 自贡市| 化隆| 米易县| 乌审旗| 鄯善县| 措美县| 筠连县| 万全县| 全椒县| 南阳市| 英德市| 昌宁县| 小金县| 全椒县|