国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于藍(lán)牙技術(shù)的加密算法研究

2010-09-08 02:38:04楊志和王岳斌胡虛懷
關(guān)鍵詞:加密算法藍(lán)牙密鑰

楊志和, 王岳斌, 胡虛懷

(湖南理工學(xué)院 計算機(jī)學(xué)院, 湖南 岳陽 414006)

基于藍(lán)牙技術(shù)的加密算法研究

楊志和, 王岳斌, 胡虛懷

(湖南理工學(xué)院 計算機(jī)學(xué)院, 湖南 岳陽 414006)

討論了藍(lán)牙技術(shù)中的加密算法和安全措施, 分析了藍(lán)牙加密算法存在的問題, 提出了基于對稱密鑰系統(tǒng)密碼體制的替代方案, 并給出了軟、硬件實現(xiàn)的基本思路. 同時介紹了對稱密鑰系統(tǒng)算法.

藍(lán)牙技術(shù); 流加密算法; 對稱密鑰系統(tǒng)

Abstract:The paper mainly discussed the encryption arithmetic and safety precautions of Bluetooth technology, and analyzed some problems of it. The substitute scheme based on DES cryptosystem was proposed and the basic implementation method with software and hardware is given. Finally, the DES arithmetic was introduced.

Key words:Bluetooth technology; streaming-encryption arithmetic; symmetric key system

引言

隨著計算機(jī)網(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ù)傳輸速率.

藍(lán)牙技術(shù)是一種無線數(shù)據(jù)與語音通信的開放性全球規(guī)范, 它以低成本的近距離無線連接為基礎(chǔ), 為固定與移動設(shè)備通信環(huán)境建立一個特別連接的短程無線電技術(shù). 它是針對目前近距離的便攜式器件之間的紅外線鏈路而提出的. 藍(lán)牙技術(shù)的目的是簡化小型網(wǎng)絡(luò)設(shè)備(如移動PC、掌上電腦和手機(jī))之間以及這些設(shè)備與Internet之間的通信, 免除在無繩電話或移動電話、調(diào)制解調(diào)器、頭套式送/受話器、PDA、計算機(jī)、打印機(jī)、幻燈機(jī)、局域網(wǎng)等之間加裝電線、電纜和連接器, 在近距離內(nèi)實現(xiàn)無縫的資源共享. 此外, 藍(lán)牙無線技術(shù)還為已存在的數(shù)字網(wǎng)絡(luò)和外設(shè)提供通用接口以組建一個遠(yuǎn)離固定網(wǎng)絡(luò)的個人特別連接設(shè)備群.

藍(lán)牙標(biāo)準(zhǔn)定義了一系列安全機(jī)制, 從而為近距離無線通信提供了基本的保護(hù). 它要求每個藍(lán)牙設(shè)備都要實現(xiàn)密鑰管理、認(rèn)證以及加密等功能. 認(rèn)證和加密服務(wù)一般由鏈路層提供, 認(rèn)證采用口令—應(yīng)答方式進(jìn)行. 鏈路層使用4個實體提供安全性: 一個公開的藍(lán)牙設(shè)備地址, 長度為48bit; 認(rèn)證密鑰, 長度為128bit; 加密密鑰, 長度為8~128bit; 隨機(jī)數(shù), 長度為128bit. 以下重點分析藍(lán)牙安全機(jī)制及所采用的算法,以求建立更安全、更高效的算法.

1 藍(lán)牙加密機(jī)制研究

1.1 密鑰生成與初始化

鏈路密鑰是一個128位隨機(jī)數(shù), 為通信雙方或多方共享的臨時性或半永久性密鑰. 藍(lán)牙標(biāo)準(zhǔn)定義了四種鏈路密鑰: (1)聯(lián)合密鑰KAB; (2)單元密鑰KA; (3)臨時密鑰Kmoster; (4)初始化密鑰Kinit. 此外還定義了加密密鑰Kc, 由當(dāng)前鏈路密鑰生成. 對藍(lán)牙單元來說, 單元密鑰KA在單元A中生成, 依賴于該單元, 很少改變. 聯(lián)合密鑰KAB. 由單元A、B方共同生成. 臨時密鑰Kmoster僅在當(dāng)前會話中使用, 也稱主單元密鑰. 初始化密鑰Kinit是藍(lán)牙初始化過程中使用的鏈路密鑰. 該密鑰由一個隨機(jī)數(shù)、一個通常為十進(jìn)制的PIN碼以及發(fā)起單元的藍(lán)牙設(shè)備地址BD_ADDR生成. PIN碼可由用戶選擇, 也可以是隨藍(lán)牙一起提供的固定數(shù). 隨機(jī)數(shù)由一個偽隨機(jī)數(shù)發(fā)生器產(chǎn)生. 目前, 線性同余發(fā)生器(Linear Congruential Generator)的研究與使用最廣泛. 其表達(dá)式為:

其中α和c為常量, m為模數(shù), 均為正整數(shù). αXn+ c對m作模運算后得到Xn+ 1. 開始時以某種方式給出一個種子數(shù)X0; 然后使用前一個隨機(jī)整數(shù)Xn生成下一個隨機(jī)整數(shù)Xn+ 1, 由此產(chǎn)生整數(shù)隨機(jī)數(shù)列{Xn}.

任一對需要加密的藍(lán)牙單元都需要進(jìn)行初始化, 過程如下:

(1)生成初始化密鑰Kinit. 該密鑰為初始化過程中臨時使用的鏈路密鑰.

(2)認(rèn)證. 如果兩個單元沒有發(fā)生過通信聯(lián)系, 則使用初始化密鑰作為鏈路密鑰. 在相互認(rèn)證中, 首先在一個方向執(zhí)行認(rèn)證規(guī)程, 成功后再反向執(zhí)行認(rèn)證. 認(rèn)證成功將得到一個輔助參數(shù)ACO, 即認(rèn)證加密偏移量. 它將用于生成加密密鑰.

(3)生成單元密鑰. 單元密鑰在藍(lán)牙單元首次運行時生成.

(4)生成聯(lián)合密鑰. 聯(lián)合密鑰是分別在A單元與B單元中生成的兩個數(shù)字的組合. 生成過程是: 每個單元生成隨機(jī)數(shù)LK_RANDA與LK_RANDB, 采用E21算法與各自的隨機(jī)數(shù)、藍(lán)牙地址分別生成另一個隨機(jī)數(shù)LK_KA與LK_KB, 并通過其他操作后兩個單元得出聯(lián)合密鑰. 然后開始互相認(rèn)證過程以確認(rèn)交互過程成功. 聯(lián)合密鑰交換分配成功后將放棄使用原鏈路密鑰.

(5)生成加密密鑰. 加密密鑰Kc由當(dāng)前鏈路密鑰、96bit“加密偏移數(shù)”COF和一個128bit隨機(jī)數(shù)導(dǎo)出.

(6)點對多點配置情況. 實際應(yīng)用中, 主單元通知幾個從單元使用一個公共鏈路密鑰(稱為Kmoster)廣播加密消息. Kmoster被從單元接收后便可用它替代原鏈路密鑰. Kmoster的產(chǎn)生過程為: 首先由2個128bit的隨機(jī)數(shù)RAND1與RAND2生成新鏈路密鑰Kmoster. 然后將第3個隨機(jī)數(shù)RAND發(fā)往從單元, 主、從單元根據(jù)E22、當(dāng)前鏈路密鑰及RAND計算出128bit擾亂碼overlay, 主單元將overlay與新鏈路密鑰按位“異或”結(jié)果發(fā)送給從單元, 再計算出Kmoster.

1.2 藍(lán)牙加密規(guī)程

加密規(guī)程使用流密碼加密, 流密碼與有效載荷同步, 加密原理如圖1所示. 流密碼系統(tǒng)由三部分組成: 執(zhí)行初始化、生成密鑰流比特、執(zhí)行加密或解密. 有效載荷密鑰生成器將輸入比特流以恰當(dāng)順序進(jìn)行組合并移入密鑰流生成器使用的4個線性反饋移位寄存器LFSR. 第二部分是主要部分, 密鑰流比特根據(jù)Massey與Rueppel提出的方法生成.

圖1 藍(lán)牙加密規(guī)程

1.3 流加密算法

圖2 流加密算法

加密系統(tǒng)使用線性反饋移位寄存器(LFSRs), 寄存器系統(tǒng)輸出由具有16狀態(tài)的有限狀態(tài)機(jī)進(jìn)行組合, 狀態(tài)機(jī)輸出或是密鑰流序列, 或是初始化階段的隨機(jī)初始值. 加密算法需要提供加密密鑰、48bit藍(lán)牙地址、主單元時鐘比特與128bit隨機(jī)數(shù)RAND, 加密算法如圖2所示.

其中, 有4個LFSR(LFSR1,…, LFSR4), 比特長度分別為L1=25, L2=31, L3=33, L4=39, 反饋多項式(抽頭多項式, 特征多項式). 4個寄存器長度之和是128bit.

這些多項式都是本原多項式,漢明重量都為5, 可以兼顧生成序列具有良好的統(tǒng)計特性與減少硬件實現(xiàn)所需要的異或門數(shù)兩方面的要求.

加法生成器輸出由下述方程給出:

式中, T1[.]與T2[.]是GF(4)上兩個不同的線性雙射.

密鑰流生成器工作前需要為4個LFSR(總共128bit)裝載初始值, 這些132bit初始值使用密鑰流生成器由規(guī)定的輸入量導(dǎo)出, 輸入量分別為密鑰Kc、48bit藍(lán)牙地址和26bit主單元時鐘CLK26-1.

加密算法初始化過程如下:

(1)由128bit加密密鑰Kc生成有效加密密鑰, 記為K'c, 令L(1≤L≤16)為用8bit組數(shù)目表示的有效密鑰長度, 則K'c(x)= g2(L)(x)(Kc(x)modg1(L)(x)).

(2)將K'c、藍(lán)牙地址、時鐘以及6bit常數(shù)111001移入LFSR.

加密算法初始化完成后, 從加法組合器輸出密鑰流用于加密/解密.

1.4 幾點問題

藍(lán)牙所采用的流密碼算法主要的缺點在于:

(1)若一個偽隨機(jī)序列發(fā)生錯誤便會使整個密文發(fā)生錯誤, 致使在解密過程中無法還原回明文.

(2)流加密算法系統(tǒng)的安全完全依靠密鑰流發(fā)生器的內(nèi)部機(jī)制. 如果它的輸出是無窮無盡的0序列,那么密文就是明文, 這樣整個系統(tǒng)就一文不值; 如果它的輸出是一個周期性的16-位模式, 那么該算法僅是一個可忽略安全性的異或運算; 如果輸出的是一系列無盡的隨機(jī)序列(是真正的隨機(jī), 非偽隨機(jī)), 那么就有一次一密亂碼本和非常完美的安全. 實際的流密碼算法的安全性依賴于簡單的異或運算和一次一密亂碼本. 密鑰流發(fā)生器產(chǎn)生的看似隨機(jī)的密鑰流實際上是確定的, 在解密的時候能很好的將其再現(xiàn). 密鑰流發(fā)生器輸出的密鑰越接近于隨機(jī), 對密碼分析者來說就越困難. 然而, 這種隨機(jī)的密鑰流卻不容易得到.在藍(lán)牙E0流加密中用到的 LFSR易受到相關(guān)攻擊和分割解決攻擊, 且用軟件實現(xiàn)效率非常低. 在實現(xiàn)過程中要避免稀疏的反饋多項式, 因為它們易遭到相關(guān)攻擊, 但稠密的反饋多項式效率也很低. 事實上, LFSR算法用軟件實現(xiàn)并不比對稱密鑰系統(tǒng)快.

2 對稱密鑰系統(tǒng)設(shè)計

上面的分析會讓人認(rèn)為藍(lán)牙的安全體系是高度不可靠的, 然而一個不可忽略的事實是: 通過藍(lán)牙連接傳輸?shù)臄?shù)據(jù)一般來說并不是非常重要的. 目前藍(lán)牙標(biāo)準(zhǔn)考慮到的安全技術(shù)只適用于規(guī)模較小的網(wǎng)絡(luò),如果網(wǎng)絡(luò)結(jié)點較多, 拓?fù)鋸?fù)雜(如Ad Hoc網(wǎng)絡(luò)), 現(xiàn)有的基于點對點的密鑰分配和認(rèn)證機(jī)制不能滿足需求. 藍(lán)牙所提供的數(shù)據(jù)安全性措施對小型應(yīng)用來說看起來已足夠了, 但任何敏感數(shù)據(jù)或會產(chǎn)生問題的數(shù)據(jù)都不應(yīng)直接通過藍(lán)牙傳輸. 所以,對于大多數(shù)需要將保密放在首位來考慮的應(yīng)用來說, 僅僅采用藍(lán)牙提供的數(shù)據(jù)安全性是不夠的. 而對稱密鑰系統(tǒng)和RSA算法相對來說更安全. 但對無線應(yīng)用環(huán)境, RSA算法并不適合, 限于篇幅, 這里不作討論. 因此, 為了使藍(lán)牙技術(shù)應(yīng)用得更廣泛, 可將對稱密鑰系統(tǒng)(Data Encryption Standard)作為EO流密碼替代算法.

2.1 對稱密鑰系統(tǒng)設(shè)計思路

它用于對64位的數(shù)據(jù)進(jìn)行加密和解密. 無論硬件還是軟件, 對稱密鑰系統(tǒng)加密方案都易于實現(xiàn), 采用的加密方法是一次加密一位或一個字節(jié), 形成密碼流. 密碼流具有自同步的特點, 被傳送的密碼文本中發(fā)生錯誤和數(shù)據(jù)丟失, 將只影響最終的明碼文本的一小段(64位), 這稱為密碼反饋. 與藍(lán)牙流密碼算法不同, 數(shù)學(xué)上可以證明分組加密算法是完全安全的. 對稱密鑰系統(tǒng)塊密碼是高度隨機(jī)的、非線性的, 生成的加密密文與明文和密鑰的每一位都相關(guān). 對稱密鑰系統(tǒng)的可用加密密鑰數(shù)量多達(dá)72×1015個. 應(yīng)用于每一明文信息的密鑰都是從這一巨大數(shù)量的密鑰中隨機(jī)產(chǎn)生的. 對稱密鑰系統(tǒng)算法已被廣泛采用并被認(rèn)為是非??煽康? 硬件加密方案采用低成本的可編程邏輯器件和現(xiàn)成可用的用于高級加密處理的智力產(chǎn)權(quán)(IP)產(chǎn)品實現(xiàn). 這些器件還允許在設(shè)計中增加其它功能, 如高級錯誤糾正. 因此可編程邏輯器件可大幅度降低系統(tǒng)級的成本. 若將此加密算法嵌入藍(lán)牙協(xié)議中的基帶部分以取代E0流密碼算法, 可允許藍(lán)牙技術(shù)安全地應(yīng)用到范圍廣泛的安全性具有最重要地位的應(yīng)用中去, 如金融電子交易(ATM、智能卡)、安全電子商務(wù)交易、安全辦公通信、安全視頻監(jiān)視系統(tǒng)、數(shù)字機(jī)頂盒、高清晰度電視(HDTV)和其它消費電子設(shè)備等領(lǐng)域.

對稱密鑰系統(tǒng)算法利用多次組合替代算法和換位算法,分散和錯亂的相互作用, 把明文編制成密碼強(qiáng)度很高的密文.它的加密和解密用的是同一算法.

圖3 對稱密鑰系統(tǒng)算法

2.2 對稱密鑰系統(tǒng)算法

(1)對稱密鑰系統(tǒng)對64位的明文分組進(jìn)行操作. 通過一個初始置換, 將明文分組分成左半和右半部分, 各32位長.

(2)然后進(jìn)行16輪完全相同的運算, 如圖3(a)所示, 這些運算被稱為函數(shù)f, 在運算過程中數(shù)據(jù)與密鑰結(jié)合. 在每一輪(圖3(b))中, 密鑰位移位, 然后再從密鑰的56位中選出48位. 通過一個擴(kuò)展置換將數(shù)據(jù)的右半部分?jǐn)U展成48位密鑰結(jié)合, 通過8個S盒將這48位替換成新的32位數(shù)據(jù), 再將其置換一次. 這四步運算構(gòu)成了函數(shù)f. 然后通過另一個異或運算, 函數(shù)f的輸出與左半部分結(jié)合, 其結(jié)果即成為新的右半部分, 原來的右半部分成為新的左半部分. 將該操作重復(fù)16次, 便實現(xiàn)了對稱密鑰系統(tǒng)的16輪運算.

假設(shè)Bi.是第i 次迭帶的結(jié)果, Li和Ri是Bi的左半部分和右半部分, Ki是第i 輪的48位密鑰, 且f 是實現(xiàn)代替、置換及密鑰異或等運算的函數(shù), 那么每一輪就是:

(3)經(jīng)過16輪后, 左、右半部分合在一起經(jīng)過一個末置換(初始置換的逆置換), 這樣該算法就完成了.

3 結(jié)束語

藍(lán)牙是一項改變我們通信方式的新技術(shù). 然而, 藍(lán)牙技術(shù)在標(biāo)準(zhǔn)化過程中都未曾完整地考慮安全問題. 作為以無線信道為傳輸媒體的通信網(wǎng)絡(luò), 藍(lán)牙網(wǎng)絡(luò)相對于固定網(wǎng)絡(luò)更容易受到攻擊. 對于數(shù)據(jù)安全性處于首要地位的應(yīng)用來說, 實現(xiàn)高水平的數(shù)據(jù)安全性是必須的.

[1] 金 純, 許光辰. 藍(lán)牙技術(shù)[M]. 北京: 電子工業(yè)出版社, 2001

[2] 于 躍, 韓永飛. 藍(lán)牙技術(shù)的安全性[J]. 電信技術(shù). 2001, (9)

[3] 賴溪松, 韓 亮, 張真誠. 計算機(jī)密碼學(xué)及其應(yīng)用[M]. 北京: 國防工業(yè)出版社, 2001

[4] 盧鐵城. 信息加密技術(shù)[M]. 成都: 四川科學(xué)技術(shù)出版, 1989

[5] Tara M.Swaminatha,Charles R.Elden. Wireless Security and Privacy [M]. 北京: 清華大學(xué)出版社, 2003

[6] Andrew. Computer Network[M]. S.Tanenbaun Prentice Hall, 1998

[7] VainioJ, Bluetooth Security, http://www.niksula.cs.hut.fi/~jiitv/bluesec.html05-25-2000

[8] Bluetooth, The Bluetooth Specification, v.1.0B http://www.bluetooth.com/developer/specification/specification.asp

Research on the Encryption Arithmetic Based on Bluetooth Technology

YANG Zhi-he, WANG Yue-bin, HU Xu-huai
(College of Computer Science, Hunan Institute of Science and Technology, Yueyang 414006, China)

TP393.08

A

1672-5298(2010)01-0031-04

2010-12-10

湖南省自科基金項目資助(07JJ6114); 湖南省教育廳基金項目資助(09C473)

楊志和(1975- ), 男, 湖南岳陽人, 碩士, 湖南理工學(xué)院計算機(jī)學(xué)院副教授. 主要研究方向: 網(wǎng)格計算和智能計算

猜你喜歡
加密算法藍(lán)牙密鑰
探索企業(yè)創(chuàng)新密鑰
藍(lán)牙音箱的直線之美
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
一種對稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實現(xiàn)
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
基于小波變換和混沌映射的圖像加密算法
Hill加密算法的改進(jìn)
永春县| 手游| 绍兴县| 嘉黎县| 类乌齐县| 宁南县| 长乐市| 三穗县| 射阳县| 洛扎县| 清水河县| 天全县| 博野县| 诏安县| 綦江县| 鄂尔多斯市| 崇州市| 凤山市| 通道| 西华县| 炎陵县| 鹤山市| 襄城县| 柘荣县| 博野县| 合水县| 周至县| 恩平市| 芮城县| 疏附县| 炉霍县| 固阳县| 密云县| 新田县| 汽车| 周口市| 曲麻莱县| 恭城| 房产| 托里县| 石泉县|