




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 藍(lán)牙的信息安全機制及密鑰算法改進(jìn) 楊 帆 錢志鴻 時間:2007年12月13日 字 體: 大 中 小 關(guān)鍵詞: 1 藍(lán)牙的安全機制11 隨機數(shù)發(fā)生器·發(fā)生器,例如某些電子器件的熱噪聲等,但是在實際應(yīng)用中通常利用
2、基于軟件實現(xiàn)的偽隨機數(shù)發(fā)生器。藍(lán)牙系統(tǒng)對于隨機數(shù)的要求是“隨機生成”和“非重復(fù)性”?!半S機生成”是指不可能以明顯大于零的概率(對于長度為L位的藍(lán)牙加密密鑰,概率大于12L)估計出隨機數(shù)值。 目前在眾多類型的偽隨機數(shù)發(fā)生器中,線性同余發(fā)生器(Linear Congruential Generator)被最廣泛地研究與使用。其表達(dá)式為: Xn+1=Xn+c(modm) n0。 式中和c為常量,m為模數(shù),均為正整數(shù)。Xn+c對m作模運算后得到Xn+1。開始時以某種方式給出一個種子數(shù)X0;然后使用前一個隨機整數(shù)Xn生成下一個隨機整數(shù)Xn+1,由此產(chǎn)生整數(shù)隨機數(shù)列Xn。 12 密鑰管理 藍(lán)牙單元密鑰長度
3、不能由單元制造者預(yù)置,不能由用戶設(shè)置。藍(lán)牙基帶標(biāo)準(zhǔn)規(guī)定不接收由高層軟件給出的加密密鑰以防止使用者完全控制密鑰長度。 121 密鑰類型 鏈路密鑰是一個128位隨機數(shù),為通信雙方或多方共享的臨時性或半永久性密鑰。半永久性鏈路密鑰可以用于共享鏈路單元之間的幾個相繼認(rèn)證過程中。臨時密鑰的典型應(yīng)用是:在點對多點通信情況下,同一信息需要安全地發(fā)往多個接收端,這時采用主單元密鑰取代當(dāng)前鏈路密鑰。藍(lán)牙標(biāo)準(zhǔn)定義了四種鏈路密鑰:聯(lián)合密鑰KAB;單元密鑰KA;臨時密鑰Kmoster;初始化密鑰Kinit。此外還定義了加密密鑰Kc,由當(dāng)前鏈路密鑰生成。對藍(lán)牙單元來說,單元密鑰KA在單元A中生成,依賴于該單元,很少改變
4、。聯(lián)合密鑰KAB。由單元A、B方共同生成。臨時密鑰Kmoster僅在當(dāng)前會話中使用,也稱主單元密鑰。初始化密鑰Kinit是藍(lán)牙初始化過程中使用的鏈路密鑰。該密鑰由一個隨機數(shù)、一個通常為十進(jìn)制的PIN碼以及發(fā)起單元的藍(lán)牙設(shè)備地址BD_ADDR生成。PIN碼可由用戶選擇也可以是隨藍(lán)牙一起提供的固定數(shù)。目前大多數(shù)應(yīng)用中PIN碼為4位的10進(jìn)制數(shù),無法提供較高的安全性。藍(lán)牙基帶標(biāo)準(zhǔn)要求PIN碼長度為116位,因此建議盡量使用較長的PIN碼以增強安全性。 122 密鑰生成與初始化 每一對要實現(xiàn)認(rèn)證與加密的藍(lán)牙單元都要執(zhí)行初始化過程,其過程由以下幾部分組成: (1)生成初始化密鑰Kinit:為初始化過程中
5、臨時使用的鏈路密鑰。該密鑰由E22算法及相關(guān)參數(shù)生成,其生成原理圖見圖1。E22輸出的128位初始化密鑰Kinit用于鏈路密鑰的交換分配過程。如果申請者與證實者沒有交換過鏈路密鑰,則Kinit用于認(rèn)證過程,否則不再使用。該過程必須保證能夠抵御一定的攻擊,例如攻擊者使用大量的假藍(lán)牙地址BD_ADDR來測試大量PIN等,如果設(shè)備地址固定則每次測試PIN碼等待間隔應(yīng)按指數(shù)增加。 (2)認(rèn)證:如果兩個單元沒有發(fā)生過通信聯(lián)系,則使用初始化密鑰作為鏈路密鑰。每次執(zhí)行認(rèn)證規(guī)程,均發(fā)布新隨機參數(shù)AU_RANDA。在相互認(rèn)證中,首先在一個方向執(zhí)行認(rèn)證規(guī)程,成功后再反向執(zhí)行認(rèn)證。認(rèn)證成功將得到一個輔助參數(shù)ACO,
6、即認(rèn)證加密偏移量。它將用于生成加密密鑰。 (3)生成單元密鑰:單元密鑰在藍(lán)牙單元首次運行時生成,根據(jù)E21算法生成并幾乎不改變。初始化時,通信雙方通常選用一個內(nèi)存容量較少的單元中的密鑰作為鏈路密鑰。 (4)生成聯(lián)合密鑰:聯(lián)合密鑰是分別在A單元與B單元中生成的兩個數(shù)字的組合。生成過程是:每個單元生成隨機數(shù)LK_RANDA與Lk_RANDB,采用E21算法與各自的隨機數(shù)、藍(lán)牙地址分別生成另一個隨機數(shù)LK_KA與LK_KB,并通過其他操作后兩個單元得出聯(lián)合密鑰。然后開始互相認(rèn)證過程以確認(rèn)交互過程成功。聯(lián)合密鑰交換分配成功后將放棄使用原鏈路密鑰。 (5)生成加密密鑰:加密密鑰Kc根據(jù)E3算法,由當(dāng)前鏈
7、路密鑰、96bit“加密偏移數(shù)”COF和一個128bit隨機數(shù)導(dǎo)出。 (6)點對多點配置情況:實際上,主單元通知幾個從單元使用一個公共鏈路密鑰廣播加密消息,在多數(shù)應(yīng)用中這個公共鏈路密鑰是臨時密鑰,記為Kmoster。Kmoster被從單元接收后便可用它替代原鏈路密鑰Kmoster的產(chǎn)生過程為:首先由2個128bit的隨機數(shù)RAND1與RAND2生成新鏈路密鑰Kmoster:Kmoster=E22(RAND1,RAND2,16)。然后將第3個隨機數(shù)RANO發(fā)往從單元,主、從單元根據(jù)E22、當(dāng)前鏈路密鑰及RAND計算出128bit擾亂碼overlay,主單元將overlay與新鏈路密鑰按位“異或”
8、結(jié)果發(fā)送給從單元,再計算出Kmoster。在后面的認(rèn)證過程中計算出一個新ACO值。 13 加密規(guī)程 對有效載荷加密通過流密碼算法實現(xiàn),流密碼與有效載荷同步,加密原理圖如圖2所示。流密碼系統(tǒng)由三部分組成:執(zhí)行初始化、生成密鑰流比特、執(zhí)行加密或解密。有效載荷密鑰生成器將輸入比特流以恰當(dāng)順序進(jìn)行組合并移人密鑰流生成器使用的4個線性反饋移位寄存器LFSR。第二部分是主要部分,密鑰流比特根據(jù)Massey與Rueppel提出的方法生成,該方法經(jīng)過一定的分析與研究,證明具有較高的加密性能,但此法可能受到相關(guān)攻擊,其改進(jìn)方法在本文后面詳細(xì)描述。 131 商定加密密鑰長度與加密模式 實現(xiàn)基帶標(biāo)準(zhǔn)的藍(lán)牙設(shè)備需要定
9、義最大允許密鑰字節(jié)長度Lmax,1Lmax16。在生成加密密鑰前,有關(guān)單元必須商定密鑰實際長度。主單元將建議值L(M)sug發(fā)送給從單元。如果L(S)minL(M)min并且從單元支持建議值,從單元對此給予確認(rèn),L(M)min成為本鏈路加密密鑰長度值。如果不滿足上述條件,從單元將向主單元發(fā)送新的建議值L(S)minL(M)sug,主單元對此建議評估。重復(fù)此規(guī)程直至達(dá)成協(xié)議或一方放棄商談。 13.2 加密算法 加密規(guī)程使用流密碼加密。加密系統(tǒng)使用線性反饋移位寄存器(LFSRs),寄存器系統(tǒng)輸出由具有16狀態(tài)的有限狀態(tài)機進(jìn)行組合,狀態(tài)機輸出或是密鑰流序列,或是初始化階段的隨機初始值。加密算法需要提
10、供加密密鑰、48bit藍(lán)牙地址、主單元時鐘比特與128bit隨機數(shù)RAND,加密算法原理如圖3所示。 其中,有4個LFSR(LFSR1,LFSR4),比特長度分別為L1=25,L2=31,L3=33,L4=39,反饋多項式(抽頭多項式,特征多項式)。4個寄存器長度之和是128bit。 這些多項式都是本原多項式,漢明重量都為5,可以兼顧生成序列具有良好的統(tǒng)計特性與減少硬件實現(xiàn)所需要的異或門數(shù)兩方面的要求。 令xit表示LFSRit時刻輸出狀態(tài)比特,由四元組(x1t,x4t)得Yt為: ,式中Yt為整數(shù),取值為0,1,2,3或4。加法生成器輸出由下述方程給出: 式中,T1.與T2.是GF(4)上兩
11、個不同的線性雙射。 密鑰流生成器工作前需要為4個LFSR(總共128bit)裝載初始值并且確定C0與C-14bit值,這些132bit初始值使用密鑰流生成器由規(guī)定的輸入量導(dǎo)出,輸入量分別為密鑰Kc、48bit藍(lán)牙地址和26bit主單元時鐘CLK26-1。加密算法初始化過程:(1)由128bit加密密鑰Kc生成有效加密密鑰,記為Kc,令L(1L16)為用8bit組數(shù)目表示的有效密鑰長度,則Kc(x)=g2(L)(x)(Kc(x)modg1(L)(x)。(2)將Kc、藍(lán)牙地址、時鐘以及6bit常數(shù)111001移入LFSR。加密算法初始化完成后,從加法組合器輸出密鑰流用于加密解密。 132 認(rèn)證 藍(lán)
12、牙技術(shù)認(rèn)證實體使用所謂查驗-應(yīng)答方案。通過“兩步”協(xié)議,申請者是否知道秘密密鑰使用對稱密鑰進(jìn)行證實。這意味著,一個正確的申請者證實者對,在查驗-應(yīng)答方案中將共享相同密鑰Kc,證實者對于申請者是否能夠認(rèn)證算法K1認(rèn)證隨機數(shù)AU_RANDA,并返回認(rèn)證結(jié)果SERS,進(jìn)行查驗。其認(rèn)證及加密密鑰生成函數(shù)可以參考相關(guān)資料,此處略。 2 藍(lán)牙安全機制的方案改進(jìn) 現(xiàn)有藍(lán)牙安全機制主要存在兩個主要問題。一個是單元密鑰的使用問題:在鑒權(quán)和加密過程中,由于單元密鑰沒有改變,第三方利用此密鑰來竊取信息。128位密鑰長度的E0序列加密在某些情況下可通過不是很復(fù)雜的方法破解。另一個是藍(lán)牙單元提供的個人識別碼(PIN碼)
13、的不安全問題:由于大多數(shù)應(yīng)用中PIN碼是由4位十進(jìn)制數(shù)組成,所以采用窮舉法很容易攻擊成功。 克服這些安全性問題的解決方法除了增加PIN碼長度外,關(guān)鍵是要采取更為強健的加密算法,如用數(shù)字加密標(biāo)準(zhǔn)DES代替序列加密算法。DES是一種塊加密方法,加密過程是針對一個個數(shù)據(jù)塊進(jìn)行的。在DES算法中,原始信息被分為64位的固定長度數(shù)據(jù)塊,然后利用56位的加密密鑰通過置換和組合方法生成64位的加密信息。與藍(lán)牙序列的加密算法不同,數(shù)學(xué)上可以證明塊加密算法是完全安全的。DES塊密碼是高度隨機和非線性的,其產(chǎn)生的密文和明文與密鑰的每一位都相關(guān)。DES的可用加密密鑰數(shù)量非常龐大,應(yīng)用于每一位明文信息的密鑰都是從這個
14、龐大數(shù)量的密鑰中隨機產(chǎn)生的。DES算法已經(jīng)被廣泛采用并認(rèn)為非常可靠。采用DES加密算法的藍(lán)牙技術(shù)可以將藍(lán)牙應(yīng)用到安全性較高的應(yīng)用中去,例如電子金融交易、ATM等。 21 DES算法 1977年美國國家標(biāo)準(zhǔn)局公布了聯(lián)邦數(shù)據(jù)加密標(biāo)準(zhǔn)DES。由于DES算法保密性強,迄今尚無切實可行的破譯方法,所以DES得到了廣泛地應(yīng)用。DES是一種分組密碼體制,它將明文按64位一組分成若干組,密鑰長為56位。其基本思想是采用變換的組合與迭代,將明文中的各組變?yōu)槊芪慕M。 在DES系統(tǒng)中,乘積變換是加密過程的核心,連續(xù)進(jìn)行16次操作,每次更新一組密鑰。移位變換B是移位變換A的逆變換。圖4為DES體制加密流程,圖的右側(cè)表
15、示DES系統(tǒng)的密鑰生成過程。初始密鑰是一串64bit的隨機序列。經(jīng)過反復(fù)移位變換,產(chǎn)生16組子密鑰(K1K16),每組子密鑰用于一次乘積變換。所謂初始重排(IP)就是打亂輸入分組內(nèi)比特原有排列次序,重新排列,排列方式是固定的。 DES的一次乘積變換運算步驟為:(1)把64bit輸入碼分成左右兩組,每組32位比特,分別用Li-1和Ri-1代表。其中i代表第i次乘積變換,i=116。(2)把該次乘積變換輸入分組的右組32位比特變?yōu)檩敵龇纸M的左組32位比特,即Li=Ri-1。(3)輸入分組右組32位比特經(jīng)過擴展操作變?yōu)?8位比特碼組。(4)擴展變換輸出的48位比特與子密鑰Ki的48位比特按模2相加,
16、輸出的48位比特分為8組,每組6位。(5)把每組6位比特進(jìn)行密表(S-盒)替代,產(chǎn)生4位比特。輸入的6位比特的第1、6兩位決定密表內(nèi)所要選擇的行數(shù),其余4位決定密表內(nèi)的列數(shù)。(6)把8組密表輸出合并為32位比特,然后與本次乘積變換輸入左組Ci-1按位模2相加,即可得到第i次乘積變換的右32位輸出Ri。 22 DES算法的特點 DES算法具有以下特點: (1)DES的保密性僅僅取決于對密鑰的保密,算法公開。 (2)在目前水平下,不知道密鑰而在一定的時間內(nèi)要破譯(即解析出密鑰K或明文)是不可能的,至少要建立2 56或2 64個項的表,這是現(xiàn)有資源無法實現(xiàn)的。 (3)由于“雪崩效應(yīng)”,無法分而破之,一位的變化將引起若干位同時變化。 綜上所述,由DES算法構(gòu)建的藍(lán)牙安全機制是可靠的,采用窮舉方式攻擊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能交通系統(tǒng)中的行人行為預(yù)測模型考核試卷
- 企業(yè)安全生產(chǎn)培訓(xùn)教材的數(shù)字化轉(zhuǎn)型升級考核試卷
- 2025年中國pps濾袋數(shù)據(jù)監(jiān)測研究報告
- 2025年中國M氫基甲酯數(shù)據(jù)監(jiān)測報告
- 2025年中國BR型板式換熱器數(shù)據(jù)監(jiān)測研究報告
- 2025年中國2U形電子節(jié)能燈數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國震擊標(biāo)準(zhǔn)震篩機市場分析及競爭策略研究報告
- 2025至2030年中國鋁合金野營床市場分析及競爭策略研究報告
- 2025至2030年中國遠(yuǎn)程通訊器市場分析及競爭策略研究報告
- 2025至2030年中國茶葉天然保鮮劑市場分析及競爭策略研究報告
- 廣東省揭陽市2024年小升初語文真題試卷及答案
- 化工過程安全管理導(dǎo)則培訓(xùn)
- 2024年西藏事業(yè)單位真題
- ISO 10014-2021質(zhì)量管理體系-面向質(zhì)量結(jié)果的組織管理-實現(xiàn)財務(wù)和經(jīng)濟效益的指南(中文版)
- HG+20231-2014化學(xué)工業(yè)建設(shè)項目試車規(guī)范
- 安徽省合肥市普通高中六校聯(lián)盟2023-2024學(xué)年高一下學(xué)期期末聯(lián)考數(shù)學(xué)試卷
- 單相用電設(shè)備計算負(fù)荷的計算
- 獸醫(yī)傳染病學(xué)考試題(含答案)
- 電工電子技術(shù)與技能中職全套教學(xué)課件
- 醫(yī)學(xué)微生物學(xué)(北華大學(xué))智慧樹知到期末考試答案2024年
- (正式版)HGT 3217-2024 搪玻璃上展式放料閥
評論
0/150
提交評論