藍牙技術(shù)中加密算法研究論文

時間:2022-11-17 04:12:00

導(dǎo)語:藍牙技術(shù)中加密算法研究論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

藍牙技術(shù)中加密算法研究論文

摘要此文主要討論藍牙技術(shù)中的加密算法和安全措施,并進一步提出

了對于藍牙加密算法所存在的問題的解決方案。

關(guān)鍵字藍牙流加密分組加密DESAES

1引言

隨著計算機網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)中的信息安全問題越來越受到廣泛關(guān)注。信息安全主要涉及到用戶身份驗證、訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)加密等問題。網(wǎng)絡(luò)安全產(chǎn)品大量涌現(xiàn)。雖然各種網(wǎng)絡(luò)安全產(chǎn)品的功能多種多樣,但它們無一例外地要使用加密技術(shù)。一個好的加密算法首先表現(xiàn)在它的安全性上,一個不安全的算法會使使用它的網(wǎng)絡(luò)變得更加脆弱;其次要考慮它在軟硬件方面實現(xiàn)的難易度,不易實現(xiàn)的加密算法是不現(xiàn)實的;第三要看使用此加密算法會不會降低數(shù)據(jù)傳輸速率。

藍牙技術(shù)是一種新興的無線網(wǎng)絡(luò)標準,它基于芯片提供短距離范圍的無線跳頻通信。它注定會成為一項通用的低成本無線技術(shù),可適用于一系列范圍廣泛的數(shù)據(jù)通信應(yīng)用。藍牙標準定義了一系列安全機制,從而為近距離無線通信提供了基本的保護。它要求每個藍牙設(shè)備都要實現(xiàn)密鑰管理、認證以及加密等功能。此外藍牙技術(shù)所采用的跳頻數(shù)據(jù)通信方式本身也是一個防止竊聽的有效安全手段。藍牙加密過程中所用到的加密算法是E0流密碼。但是這種算法存在有一些缺點,128位密鑰長度的E0流加密在某些情況下可通過0(2^64)方式破解。所以對于大多數(shù)需要將保密放在首位來考慮的應(yīng)用來說,僅僅采用藍牙提供的數(shù)據(jù)安全性是不夠的。

2藍牙標準中的安全措施

藍牙技術(shù)中,物理層數(shù)據(jù)的安全性主要是采用了跳頻擴展頻譜,由于藍牙技術(shù)采用了跳頻技術(shù)從而使得竊聽變得極困難。藍牙射頻工作在2.4Hz頻段。在北美和歐洲的大部分國家,藍牙設(shè)備工作與從2.402到2.480Hz的頻帶,整個頻帶被分為79個1MHz帶寬的子信道。FHSS依靠頻率的變化來對抗干擾。如果射頻單元在某個頻率遇到干擾,則會在下一步跳到另一頻率點時重傳受到干擾的信號,因此總的干擾可變得很低。

為了得到完整的傳輸數(shù)據(jù),藍牙技術(shù)使用以下三種糾錯方案:1/3比例前向糾錯碼(FEC),2/3比例前向糾錯碼(FEC),數(shù)據(jù)的自動重發(fā)請求(ARQ)方案。

藍牙技術(shù)產(chǎn)品的認證和加密服務(wù)一般由鏈路層提供,認證采用口令-應(yīng)答方式進行。在連接過程中往往需要一兩次認證。為了確保通信安全,對藍牙技術(shù)產(chǎn)品進行認證是十分必要的,通過認證之后,可以允許用戶自行增添可信任的藍牙技術(shù)設(shè)備,例如,用戶自己的筆記本電腦經(jīng)過認證之后,能夠確保只有用戶自己的這臺筆記本電腦,才可以借助用戶自己的移動電話手機進行通信。

若對于通信有更高的安全要求,那么通信中的藍牙技術(shù)產(chǎn)品就不必局限于采用物理層的提供,還可以采用更高級別的傳輸層和應(yīng)用層安全機制,以確保基于藍牙技術(shù)產(chǎn)品的通信更加安全可靠。

3藍牙技術(shù)中的加密算法

在鏈路層中,藍牙系統(tǒng)提供了認證、加密和密鑰管理等功能,每一個用戶都有一個標識碼(PIN),藍牙設(shè)備中所用的PIN碼的長度可以在1到16個字節(jié)之間變化。通常4個字節(jié)的PIN碼已經(jīng)可以滿足一般應(yīng)用,但是更高安全級別的應(yīng)用將需要更長的碼字。PIN碼可以是藍牙設(shè)備提供的一個固定碼,也可以由用戶任意指定,標識碼(PIN)會被一個128位鏈路密鑰來進行單雙向認證。一旦認證完畢,鏈路層會以不同長度的密鑰來加密。如圖1。

PINPIN

認證

鏈路密鑰

鏈路密鑰

加密

加密密鑰Kc

加密密鑰Kc

申請者校驗者

圖1:藍牙中鏈路層的加密過程

藍牙技術(shù)在加密過程中所采用的加密算法如下表1。

表1:藍牙加密過程中所用的加密算法

3.1認證算法

在認證過程中,用于藍牙認證的E1認證函數(shù)來計算出一個安全認證碼或被稱為MAC(媒體訪問控制地址)。E1所采用的算法是SAFER+,SAFER+算法是參與1997年美國國家標準技術(shù)研究所(NIST)征集AES(AdvancedEncryptionStandard)的候選算法之一。SAFER+是基于現(xiàn)有的64位分組密碼的SAFER-SK128,因此它的安全性可以說是經(jīng)過了時間的考驗。

E1函數(shù)的輸入是linkkey,AU_RAND及BD_ADDR,它的定義如下:

E1:

在藍牙技術(shù)中,認證采用口令-應(yīng)答方式。驗證方要求申請者鑒別隨機數(shù)AU_RAND并返回計算結(jié)果SRES,若雙方的計算結(jié)果相等則認證成功,并保留ACO(AuthenticatedCipheringOffset)值。若某次認證失敗,則必須等待一定的時間間隔才能進行再次認證

3.2加密算法

在藍牙技術(shù)中,用戶信息可采用分組有效載荷的加密進行保護,但識別碼和分組頭不加密。有效載荷的加密采用E0流密碼來實現(xiàn)。E0將對每一有效載荷重新同步。流密碼系統(tǒng)E0由三部分組成。第一部分執(zhí)行初始化(生成有效載荷字),第二部分生成密鑰流,第三部分完成加密和解密,如圖2。

有效載荷字明碼文本/密碼文本

Kc

地址

時鐘Z密碼文本/明碼文本

RAND

圖2藍牙的E0流加密

有效載荷字發(fā)生器非常簡單,它僅僅以適當序列對輸入的位進行組合,然后將它們轉(zhuǎn)移到用于密鑰流發(fā)生器的四位LFSR中。加密機采用了四個線性反饋移位寄存器(LFSR),依次為LFSR1、LFSR2、LFSR3、LFSR4,其長度分別為25,31,33,39比特。LFSR的性質(zhì):加密機把四個LFSR的輸出結(jié)果輸入到一個有限狀態(tài)機中,經(jīng)有限狀態(tài)機的組合運算輸出密鑰流序列,若在初始化階段則輸出一個隨機的初始化值。加密算法使用Kc、BD_ADDR、主時鐘CLK26-1及RAND這些參數(shù)。時鐘CLK26-1按時隙遞增,在任兩次發(fā)送中,CLK26-1至少有一位是不同的,因此在每次初始化后都將產(chǎn)生新的密鑰流。對占用多個時隙的分組來說,CLK26-1為分組所占的第一個時隙的時鐘值。

第二部分是該密碼系統(tǒng)的主要部分,并也將用于初始化過程中。密鑰流取自于Massey和Rueppel流密碼發(fā)生器的方法來生成。

最后就是流加密算法的加密過程。將數(shù)據(jù)流與密碼算法生成二進制流比特進行異或運算。對于加密規(guī)則,流密碼算法用于將加密位按位模2并加到數(shù)據(jù)流上,然后通過無線接口進行傳輸。對每一分組的有效載荷的加密是單獨進行的,它發(fā)生在CRC校驗之后,F(xiàn)EC編碼之前。由于加密是對稱的,解密使用完全和加密相同的密鑰和相同的方法實現(xiàn)。

4藍牙標準中加密算法存在的問題

藍牙所采用的E0流密碼算法的本身就有一些弱點。流密碼算法主要的缺點在于若一個偽隨機序列發(fā)生錯誤便會使整個密文發(fā)生錯誤,致使在解密過程中無法還原回明文。流加密算法系統(tǒng)的安全完全依靠密鑰流發(fā)生器的內(nèi)部機制。如果它的輸出是無窮無盡的0序列,那么密文就是明文,這樣整個系統(tǒng)就一文不值;如果它的輸出是一個周期性的16-位模式,那么該算法僅是一個可忽略安全性的異或運算;如果輸出的是一系列無盡的隨機序列(是真正的隨機,非偽隨機),那么就有一次一密亂碼本和非常完美的安全。實際的流密碼算法的安全性依賴于簡單的異或運算和一次一密亂碼本。密鑰流發(fā)生器產(chǎn)生的看似隨機的密鑰流實際上是確定的,在解密的時候能很好的將其再現(xiàn)。密鑰流發(fā)生器輸出的密鑰越接近于隨機,對密碼分析者來說就越困難。然而,這種隨機的密鑰流卻不容易得到。

在藍牙E0流加密中用到的LFSR易受到相關(guān)攻擊和分割解決攻擊,且用軟件實現(xiàn)效率非常低。在實現(xiàn)過程中要避免稀疏的反饋多項式,因為它們易遭到相關(guān)攻擊,但稠密的反饋多項式效率也很低。事實上LFSR算法用軟件實現(xiàn)并不比DES快。

以上的這些問題會讓人認為藍牙的安全體系是高度不可靠的,然而一個不可忽略的事實是:通過藍牙連接傳輸?shù)臄?shù)據(jù)一般來說并不是非常重要的。目前藍牙標準考慮到的安全技術(shù)只適用于規(guī)模較小的網(wǎng)絡(luò),如果網(wǎng)絡(luò)結(jié)點較多,拓撲復(fù)雜(如AdHoc網(wǎng)絡(luò)),現(xiàn)有的基于點對點的密鑰分配和認證機制不能滿足需求。藍牙所提供的數(shù)據(jù)安全性措施對小型應(yīng)用來說看起來已足夠了,但任何敏感數(shù)據(jù)或會產(chǎn)生問題的數(shù)據(jù)都不應(yīng)直接通過藍牙傳輸。為了使藍牙技術(shù)應(yīng)用得更廣泛,我們可采用另外更強勁的加密算法,如DES算法。

5DES解決方案

5.1DES簡介

1977年1月,美國政府采納了由IBM研制的作為非絕密信息的正式標準乘積密碼。這激勵了一大批生產(chǎn)廠家實現(xiàn)這個在保密產(chǎn)業(yè)中成為數(shù)據(jù)加密標準DES(dataencrytionstandard)的加密算法。此算法有一個64比特的密鑰作為參數(shù)。明文按64比特分組加密,生成64比特的密文。

由于DES是一種塊加密方法,這意味著加密過程是針對一個數(shù)據(jù)塊一個數(shù)據(jù)塊地進行的。在DES算法中,原始信息被分成64位的固定長度數(shù)據(jù)塊,然后利用56位的加密密鑰通過置換和組合方法生成64位的加密信息。解密用的密鑰與加密密鑰相同,只是解密步驟正好相反。DES傳送數(shù)據(jù)的一般形式是以代入法密碼格式按塊傳送數(shù)據(jù)。DES采用的加密方法,一次加密一位或一個字節(jié),形成密碼流。密碼流具有自同步的特點,被傳送的密碼文本中發(fā)生錯誤和數(shù)據(jù)丟失,將只影響最終的明碼文本的一小段(64位),這稱為密碼反饋。

與藍牙流密碼算法不同,數(shù)學上可以證明分組加密算法是完全安全的。DES塊密碼是高度隨機的、非線性的,生成的加密密文與明文和密鑰的每一位都相關(guān)。DES的可用加密密鑰數(shù)量多達72x1015個。應(yīng)用于每一明文信息的密鑰都是從這一巨大數(shù)量的密鑰中隨機產(chǎn)生的。DES算法已被廣泛采用并被認為是非??煽康摹?/p>

5.2藍牙中用DES取代E0流密碼

如圖1,在兩個藍牙設(shè)備經(jīng)過認證并已生成了加密密鑰Kc后就可進行加密了。因為Kc可在8~128比特變化,而DES加密算法使用長度為56比特的密鑰加密長度為64比特的明文從而獲得64比特的密文,所以這里可取Kc的長度為56比特。用DES加密藍牙數(shù)據(jù)分組的過程如下:

a)將來自藍牙分組分割成64比特的明文段。其中的一段記為x=DIN[63:0],先通過一個固定的初始置換IP,將x的比特置換為x0。即:x0=IP(x)=L0R0,這里L0是x0的前32比特,R0是x0的后32比特。

b)進行16輪完全相同的運算,在這里是數(shù)據(jù)與密鑰相結(jié)合,例計算LiRi,。

Li=Ri-1

Ri=Lif(Ri-1,Ki)

其中Ki是來自密鑰Kc=Key[63:0]的比特的一個置換結(jié)果。而f函數(shù)是實現(xiàn)代替、置換及密鑰異或的函數(shù)。

c)對R16L16進行初始置換IP的逆置換IP,獲得密文y=DOUT[63:0],即y=IP(R16L16)。最后一次迭代后,左邊和右邊未交換,將R16L16作為IP的輸入,目的是使算法可同時用于加密和解密。

無論是硬件還是軟件,此DES加密方案都易實現(xiàn)。其中DES的硬件實現(xiàn)如圖3。此硬件加密方案采用低成本的可編程邏輯器件和現(xiàn)成可用的用于高級加密處理的智力產(chǎn)權(quán)(IP)產(chǎn)品實現(xiàn)。目前,大批量時只用10美元即可購買到10萬系統(tǒng)門的可編程邏輯器件。這些器件還允許在設(shè)計中增加其它功能,如高級錯誤糾正。因此可編程邏輯器件可大幅度降低系統(tǒng)級的成本。

用軟件(這里選用C語言)來實現(xiàn)該加密算法。為了算法實現(xiàn)的方便,這里刪去了初始置換和末置換。

將此加密算法嵌入藍牙協(xié)議中的基帶部分以取代E0流密碼算法,可允許藍牙技術(shù)安全地應(yīng)用到范圍廣泛的安全性具有最重要地位的應(yīng)用中去。這些應(yīng)用包括:金融電子交易:ATM、智能卡,安全電子商務(wù)交易,安全辦公通信,安全視頻監(jiān)視系統(tǒng),數(shù)字機頂盒,高清晰度電視(HDTV),其它消費電子設(shè)備等領(lǐng)域。

另外,對藍牙加密這個過程中,可發(fā)現(xiàn)DES加密算法在近距離無線局域網(wǎng)的特定環(huán)境下存在一些問題。進而優(yōu)化算法,最終可為應(yīng)用于各種近距離無線網(wǎng)絡(luò)通信的加密算法的選擇提供有實際意義的參考依據(jù)。

6結(jié)束語

藍牙是一項將會改變我們通信方式的令人激動的新技術(shù)。然而,藍牙技術(shù)在標準化過程中都未曾完整地考慮安全問題。作為以無線信道為傳輸媒體的通信網(wǎng)絡(luò),藍牙網(wǎng)絡(luò)相對于固定網(wǎng)絡(luò)更容易受到攻擊。對于數(shù)據(jù)安全性處于首要地位的應(yīng)用來說,實現(xiàn)高水平的數(shù)據(jù)安全性是必須的。目前藍牙標準所采用的E0流密碼算法存在著很多弊端,而DES和RSA算法相對來說更安全,而且較易實現(xiàn)。

參考文獻

[1]金純許光辰等編著《藍牙技術(shù)》[M](北京)電子工業(yè)出版社2001年3月

[2]于躍韓永飛藍牙技術(shù)的安全性[J]《電信技術(shù)》2001年第9期

[3]Andrew《ComputerNetwork》[M]S.TanenbaunPrenticeHall1998

[4]VainioJ.,BluetoothSecurity,www.niksula.cs.hut.fi/~jiitv/bluesec.html05-25-2000

[5]Bluetooth,TheBluetoothSpecification,v.1.0B

/developer/specification/specification.asp

[6]賴溪松韓亮張真誠著《計算機密碼學及其應(yīng)用》[M](北京)國防工業(yè)出版社2001年7月

[7]盧鐵城編著《信息加密技術(shù)》[M](成都)四川科學技術(shù)出版1989年10月