當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]2007年6月,Wibree技術(shù)被納入藍牙技術(shù)聯(lián)盟(SIG),并更名為ULP(超低功耗)藍牙【1】。它繼承了傳統(tǒng)藍牙規(guī)范的優(yōu)點,優(yōu)化運用,且耗能更少,成本更低,用于小型設(shè)備件的簡單的數(shù)據(jù)傳輸。 Wibree作為一項極低

2007年6月,Wibree技術(shù)被納入藍牙技術(shù)聯(lián)盟(SIG),并更名為ULP(超低功耗)藍牙【1】。它繼承了傳統(tǒng)藍牙規(guī)范的優(yōu)點,優(yōu)化運用,且耗能更少,成本更低,用于小型設(shè)備件的簡單的數(shù)據(jù)傳輸。
 
        Wibree作為一項極低耗電量藍牙技術(shù)成為藍牙規(guī)格的一部分,是一種新的低功率無線技術(shù), 為業(yè)界開拓了新的市場機會及創(chuàng)新空間。由于采用無線方式進行通信,因此,ULP藍牙跟傳統(tǒng)藍牙一樣面臨傳輸數(shù)據(jù)被截獲的危險。所以如何保證ULP藍牙運用的安全,是ULP藍牙技術(shù)設(shè)計的一個核心問題。
 
        本文基于Bluetooth SIG的技術(shù)草案【2】,討論了ULP藍牙技術(shù)安全結(jié)構(gòu),介紹ULP藍牙的地址生成,具體研究了ULP藍牙的認證、密鑰生成和匹配原理及相關(guān)過程。
 
2.ULP藍牙的安全構(gòu)架【3】 
        安全性是ULP藍牙協(xié)議中必不可少的一部分,它提供使用的保護和信息保密。如圖1所示,ULP藍牙系統(tǒng)有三個邏輯組成部分:UIP控制器、ULP主機、HCI(主機控制器接口:介于UIP控制器與ULP主機之間,提供通信服務(wù))。ULP控制器由物理層和鏈路層組成;ULP主機中主要是ULP的L2CAP協(xié)議;高層主要是應(yīng)用層協(xié)議,多種剖面在高層中應(yīng)用。而安全模塊位于ULP控制器中的鏈路層和ULP主機的L2CAP協(xié)議中,由主機控制器提供控制和數(shù)據(jù)。
 
       ULP藍牙工作在2.4GHz的ISM(Industrial Scientific Medical)頻段,其工作的中心頻率為2402+K*2MHz(K=0~39),即,工作頻帶寬度為2~3.5MHz。劃分為40個物理信道,其中包括3個廣播信道和37個數(shù)據(jù)信道。
       結(jié)構(gòu)中的鏈路層有兩種工作狀態(tài):空閑狀態(tài)和連接狀態(tài),并且,其鏈路層只能工作在一種工作狀態(tài)下。同時,ULP藍牙設(shè)備還有5種工作模式:廣播模式,掃描模式,申請模式,主設(shè)備,從設(shè)備。
 
       ULP L2CAP(Logic link control and adaptation protocol)處于鏈路控制協(xié)議之上,屬于數(shù)據(jù)鏈路層。L2CAP對上層協(xié)議可以提供面向連接和無連接數(shù)據(jù)服務(wù)。L2CAP允許高層協(xié)議和應(yīng)用發(fā)送和接收最長64K字節(jié)數(shù)據(jù)包(L2CAP服務(wù)數(shù)據(jù)單元,SDU)。
 
       鏈路層中的連接加密過程由ULP主機負責(zé),而且它還包含一個由鏈路層獨立負責(zé)的加密子進程。加密過程由HCI_Setup_Encryption命令來初始化。使用這個命令后,主設(shè)備的ULP主機就表明了鏈路層連接了新的加密模式。只要有這樣一個來自于ULP主機的命令,一個SEC_EMPTY_REQ數(shù)據(jù)包就會在鏈路層的連接上被傳送.
 
       在被用HCI_Command_Completed命令所表示的過程完成之前的時間當(dāng)中,在HCI_Setup_Encryption命令之后,不允許有來自于ULP主機的任何數(shù)據(jù)包。
 


 
 

3.ULP藍牙認證及密鑰生成過程 
3.1 ULP藍牙地址【4】 
       ULP藍牙使用兩種類型的地址:設(shè)備地址和存取地址,設(shè)備地址細分為公有和私有設(shè)備地址。每個ULP設(shè)備應(yīng)該分配一個固定48bit的ULP藍牙公共設(shè)備地址,而私有設(shè)備設(shè)置的地址是可選的。一個ULP設(shè)備只有在證明設(shè)備可靠性后,才顯示其私有地址。每個鏈路層的連接有一個偽隨機32bit的存取地址,由連接中的申請者產(chǎn)生,每個鏈路層連接有不同的存取地址。ULP藍牙系統(tǒng)中,只能有一個數(shù)據(jù)包格式能在廣播通道數(shù)據(jù)包和數(shù)據(jù)通道數(shù)據(jù)包中同時使用。如圖2所示,每個數(shù)據(jù)包含4個實體:標(biāo)頭,同步字,PDU,和CRC。廣播數(shù)據(jù)包中的同步字是固定的,數(shù)據(jù)通道中的數(shù)據(jù)包同步字是鏈路層連接的存取地址。


 

3.2廣播工作模式中認證 
       ULP系統(tǒng)中,每一臺設(shè)備會產(chǎn)生和保持兩個隨機生成的密鑰:鑒權(quán)(identity root)和加密(encryption root)。鑒權(quán)用于連接中生成私有地址和區(qū)分標(biāo)識符密鑰連接中的標(biāo)識符。加密用來確立密鑰標(biāo)識符的安全。在任何加密連接中,廣播創(chuàng)建密鑰作為會話密鑰的基礎(chǔ)。集合密鑰是在某些配對選擇中創(chuàng)建,這些密鑰只是用作保護(未來)廣播中密鑰的傳遞。
 
       加密模式中,通過廣播方式把創(chuàng)建的密鑰分派給需要連接的所有設(shè)備或?qū)嶓w,鑒權(quán)的一個應(yīng)用建立私有地址。因為鑒權(quán)每次只支持一個身份,所以許多申請者將獲得同樣的鑒權(quán)。廣播向設(shè)備提供標(biāo)識符的加密(伴隨16bit 標(biāo)識符),在加密模式中該設(shè)備是支持連接的設(shè)備。規(guī)范的基本概念有唯一的標(biāo)識符密鑰,被稱為“長期密鑰”(Long Term Key),這個密鑰分配給每個申請者。此外,加密規(guī)則僅僅是推薦使用并且在廣播之外。長期密鑰是不可見的,在原則上能使用任何映射在 16位和128位之間密鑰。加密標(biāo)識符密鑰有以下幾種:IRK(Identity Resolving Key)、PIR(Pairing Identity Root)、DHK(Diversifier Hiding Key)、 PIRK(Pairing Identity Resolving Key)、PDHK (Pairing Diversifier Hiding Key)。
 
       在廣播模式條件下,廣播設(shè)備產(chǎn)生一個初始隨機向量(IRV),該向量由10個字節(jié)的新隨機數(shù)組成,也是鏈路層(LL)傳輸給申請者的第一個可能的數(shù)據(jù)包。廣播設(shè)備初始化時,到達一個連接請求。
 
連接請求包括:SEC字段(表明是否是加密請求)、PI字段(表明申請者連接一個匹配認證)。SEC=1,表示有2字節(jié)的加密區(qū)分標(biāo)識符(EDIV)和申請者6字節(jié)的隨機地址。
 
如圖3所示,在SEC=1的條件下,ULP藍牙廣播模式下的認證步驟如下:
1.解密區(qū)分標(biāo)識符隱藏密鑰:發(fā)送HCI_Set_key(0x00,DKH)命令到鏈路層,返回HCI_Command_Complete(),并再發(fā)送加密請求命令HCI_encrypt(addmaster),PAL返回請求完成命令HCI_Command_Complete()。
由EDHK計算DIV,
此具體過程是:
由Y = EDHK
(IRA(初始化隨機地址),
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00)
DIV = {Y0, Y1} XOR {EDIV0, EDIV1}得出。
或者在PI=1的條件下,即匹配連接中有
Y = EPDHK (IRA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)
得出DIV = {Y0, Y1} XOR {EDIV0, EDIV1}
 
       2.創(chuàng)建長期密鑰:發(fā)送設(shè)置加密命令到鏈路層HCI_Set_key(0x00,ER),返回完成命令HCI_Command_Complete(),再發(fā)送請求加密長期密鑰命令HCI_encrypt(DIV),返回完成創(chuàng)建長期密鑰命令HCI_Command_Complete(LTK)。
 
按以下公式重新創(chuàng)建長期密鑰LTK,
 
LTK=EER (DIV,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)
 
       3.創(chuàng)建會話密鑰命令HCI_Set_key(0x00,LTK),返回完成命令HCI_Command_Complete(),再發(fā)送請求加密長期密鑰命令HCI_Encrypt(addmaster/IRV),返回完成創(chuàng)建長期密鑰命令HCI_Command_Complete(SK)。。
 
       4.鏈路層設(shè)置會話密鑰和初始值:初始值為
 
       別發(fā)送命令HCI_Set_key(0x01,SK)和HCI_Set_IV(addr|addr[0…23])到鏈路層進行設(shè)置,返回完成設(shè)置命令HCI_Command_Complete()。生成會話密鑰SK和IV,并在鏈路層設(shè)置(廣播地址AA = {A0,A1, …,A5})。
 

 
3.3申請模式中加密會話設(shè)置 
       申請者瀏覽廣播,找到相匹配的廣播地址AA={A0,A1,…,A5},初始使用6字節(jié)完全隨機地址(IRA)。
 
       1.創(chuàng)建隨機地址:發(fā)送HCI_Rand()命令到鏈路層(LL),返回HCI_Command_Complete(rand),
 
       2.加密區(qū)分標(biāo)識符(diverfier)密鑰:發(fā)送設(shè)置加密命令到鏈路層HCI_Set_key(0x00,DHR),返回請求完成命令HCI_Command_Complete(),再發(fā)送加密請求命令HCI_Encrypt(addmaster),返回請求完成命令HCI_Command_Complete()。
 
由DIV計算出EDIV
由Y = EDHK (IRA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)
得出EDIV = {Y0, Y1} XOR {DIV0, DIV1}
或者在PI=1的條件下,即匹配中由
Y = EPDHK (IRA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00)
得出EDIV = {Y0, Y1} XOR {DIV0, DIV1}
 
       最后申請者請求一個連接,該連接建立過程如圖4所示。
 
       1.如果請求加密連接,則SEC 字段一直等于1;如果在申請者和廣播設(shè)備間,擴展匹配繼續(xù)進行,即PI字段設(shè)置為1。
 
       2. 2字節(jié)的加密區(qū)分標(biāo)識符密鑰(EDIV),6字節(jié)的申請者隨機地址(IRA)。
 
       3.當(dāng)連接已經(jīng)建立,從廣播中申請者得到一個10字節(jié)的隨機向量(IRV)作為層協(xié)議數(shù)據(jù)單元PDU(類型0xFD),然后從長期密鑰中,申請者創(chuàng)建會話密鑰SK和設(shè)置初始值(IV)。
 
       創(chuàng)建會話密鑰SK:發(fā)送設(shè)置長期密鑰命令HCI_Set_key(0x00,LTK)到鏈路層,返回完成命令HCI_Command_Complete(),再發(fā)送加密請求命令HCI_encrypt,返回完成創(chuàng)建會話密鑰命令HCI_Command_Complete(SK),
,       
即可表示為:
SK = (IRA,IRV),
IV = {IRA,A0,A1,A2}。
 
       4.SK和IV被分配給鏈路層(LL),作為最后的步驟,LL操作中,申請者將初始化“連接模式變化”。
鏈路層設(shè)置會話密鑰和初始值:分別發(fā)送命令HCI_Set_key(0x01,SK)和HCI_Set_IV(addr|addr[0…23])到鏈路層設(shè)置,返回完成設(shè)置命令HCI_Command_Complete()。
 


 
3.4密鑰更新 
       安全連接建立之后,不支持密鑰更新或者重建安全參數(shù)。唯一的例外就是匹配程序,在匹配的第一階段后,匹配程序中的會話加密密鑰和狀態(tài)發(fā)生改變。
 

4匹配和密鑰交換 
       本文的匹配算法有兩個擴展模式,在前n個連接中密鑰改變(如果攻擊者錯過一個更新,安全性提高)。第一個擴展模式尤其適合于移動設(shè)備,第二擴展模式是假定兩個設(shè)備有相同的地址,干擾硬件攻擊者,提高密鑰的安全性,該模式適用于家庭等固定環(huán)境。
 
匹配分兩個階段執(zhí)行。開始執(zhí)行功能交換,使用開始匹配請求和開始匹配響應(yīng)。第三階段沒有匹配。
 
4.1匹配和密鑰交換的步驟 
       ULP藍牙的匹配分三個階段進行,其流程如圖5所示。
       第一階段,成功匹配功能交換后,開始執(zhí)行第一階段操作。這一階段不受加密保護,連接中直接進入擴展的狀態(tài)(伴隨著PI 字段設(shè)置為連接請求和SEC 字段關(guān)閉)。
 
       第二階段,在加密通道中執(zhí)行匹配,受臨時密鑰或者第一階段的結(jié)果或是早期擴展階段的保護。該階段的匹配可以直接輸入(PI 字段設(shè)置為連接請求),在此保護通道中下面之一被執(zhí)行:
 
       1.傳送長期密鑰和認證(從未來的廣播到未來的申請者)。
 
       2.傳送擴展(臨時)密鑰和認證(從未來的廣播到未來的申請者),在擴展模式中,進行有限的密鑰交換。
 
       第三階段,第三階段和匹配無關(guān),是正常的會話,并且使用了在第二階段同樣的密鑰保護。注:廣泛的與這個密鑰通信可能會導(dǎo)致(取決于匹配機制)攻擊。攻擊長期密鑰可能導(dǎo)致在第二階段中提供的長期密鑰長度少于128 bit。第三階段提供方便和實用性的擴展模式,以及可能簡單的設(shè)備。
 
       總體層次規(guī)范定義了第三階段的用處,如果沒有定義任何第三階段的用途,匹配的設(shè)備將終止匹配會話,用長期密鑰建立新會話。

 


 
 
 

4.2匹配第一階段的具體實現(xiàn) 
       匹配的第一階段,建立一個共享密鑰,定義自己的程序。匹配的第一階段產(chǎn)生一個共享密鑰SK。可能在進入第一階段匹配時設(shè)置PI連接請求(SEC不設(shè)置)。
 
4.2.1明文密鑰匹配
       最簡單的匹配算法沒有設(shè)置防止攻擊的保護,在規(guī)定的時間內(nèi)和地點,進行匹配,它包含兩條消息,一條是從申請者中一個16 bit的隨機向量RAND發(fā)送密鑰轉(zhuǎn)化為PDU,另一條是在廣播中發(fā)送一個密鑰檢驗PDU作為響應(yīng)。兩個設(shè)備計算共享密鑰:
 
       臨時密鑰(TK) =
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
SK = ETK(RAND)
其匹配過程如圖6所示。

 


 
 
4.2.2預(yù)共享密鑰匹配 
       一個設(shè)備,由于某些其它的連接媒體、密鑰放入可能性或者其他原因有一個共享秘密,可作為種子用于匹配,那么使用預(yù)共享密鑰匹配,信令相當(dāng)于明文關(guān)鍵匹配,計算臨時密鑰TK,用AES加密模塊,創(chuàng)建,這里mx有16字節(jié)的消息模塊,最后生成TK,初始化H0定義為
H0=
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
信令和隨機數(shù)RAND作為明文密鑰匹配處理。SK = ETK(RAND),共享密鑰有臨時密鑰加密隨機數(shù)生成。
 
4.3匹配第二階段的具體實現(xiàn)
       經(jīng)過第一階段產(chǎn)生的共享密鑰SK,用于第二階段的初始化加密會話,連接請求中設(shè)置PI 字段和SEC 字段進入第二階段。
 
       申請者(如果有指示密鑰傳送給廣播)首先發(fā)送它的密鑰資料給廣播。廣播收到長期密鑰LTK和IR后,它發(fā)送各自的參數(shù)給申請者。這條消息會有順序的傳送:長期密鑰和身份根IR。
 
       因此廣播接受申請者的認證(如果廣播指明不顯示它的密鑰),或申請者接收到廣播,即完成第二階段。在階段三,設(shè)備可能繼續(xù)通信。
 
5.總結(jié)
       綜上所述,ULP藍牙系統(tǒng)本身提供的安全系統(tǒng)具有相當(dāng)?shù)陌踩匦浴?】。在ULP藍牙用于商業(yè)或軍事等方面時,現(xiàn)有的點對點的密鑰分配和認證機制將無法滿足安全要求,采用AES加密算法是必需。文章介紹了ULP藍牙認證、匹配,描述了它的體系結(jié)構(gòu)。相比藍牙而言,在安全上有以下特點:
 
       1.現(xiàn)有的藍牙認證【6】,主要是通過質(zhì)詢—響應(yīng)的方法進行認證。ULP藍牙的認證基本相同,但是ULP藍牙的認證機制中,通過設(shè)置SEC和PI的值進行不同的認證。安全措施更明確、簡單,易于實現(xiàn)。
 
       2.藍牙加密使用E0加密算法【7】,缺點在于若一個偽隨機序列發(fā)生錯誤,便會使整個密文發(fā)生錯誤,致使在解密過程中無法還原回明文。藍牙E0流加密中用到的 LFSR易受到相關(guān)攻擊和分割解決攻擊,且用軟件實現(xiàn)效率非常低。
 
       ULP藍牙中使用的是用AES加密模塊。雖然傳輸速度有所降低,其安全性更高。適合小器件設(shè)備,如手表、運動傳感器、醫(yī)療設(shè)備等等,傳統(tǒng)藍牙適用于傳輸大量數(shù)據(jù)的設(shè)備。ULP藍牙的加密的位置處于HCI 層,在流量控制和重傳機制下,可以避免多次加密無用的數(shù)據(jù)。針對性更強,對不需要加密的數(shù)據(jù)進行了過濾,如命令分組、事件分組。所以它的日常連接次數(shù)可達到50次,而傳統(tǒng)藍牙次數(shù)在5次以內(nèi)。并且加密方案采用低成本的可編程邏輯器件和現(xiàn)成可用的高級加密處理的智力產(chǎn)權(quán)產(chǎn)品實現(xiàn),降低了系統(tǒng)的成本。
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉