藍牙的信息安全機制及密鑰算法改進
摘要:重點分析了藍牙的信息安全機制,對其各部分的算法及實現步驟進行了詳細討論。并對現有藍牙規范安全性做了一定的評估,根據其不足提出了由DES算法構建的一種新的安全機制,能夠滿足安全性要求較高的藍牙應用。關鍵詞:藍牙 密鑰 DES算法 安全機制
藍牙作為一種新興的短距離無線通信技術已經在各個領域得到廣泛應用,它提供低成本、低功耗、近距離的無線通信,構成固定與移動設備通信環境中的個人網絡,使得近距離內各種信息設備能夠實現無縫資源共享。
由于藍牙通信標準是以無線電波作為媒介,第三方可能輕易截獲信息,所以藍牙技術必須采取一定的安全保護機制,尤其在電子交易應用時。為了提供使用的安全性和信息的可信度,系統必須在應用層和鏈路層提供安全措施。
本文重點討論了藍牙信息安全機制的構成原理及相關算法,并指出其在安全性方面存在的不足與問題。因為對于大多數需要將保密放在首位來考慮的應用來說,藍牙現行標準所提供的數據安全性是不夠的。藍牙現行規范采用的128位密鑰長度的序列的加密在某些情況下可以被破解。本文同時提出了一種藍牙安全機制的改進方案,即采用DES加密體制構建強健的加鑰算法,能夠在計算上證明此加密算法是安全可靠的。
1 藍牙的安全機制
藍牙采取的安全機制適用于對等通信情況,即雙方以相同方式實現認證與加密規程。鏈路層使用4個實體提供安全性:一個公開的藍牙設備地址,長度為48bit;認證密鑰,長度為128bit;加密密鑰,長度為8~128bit;隨機數,長度為128bit。以下重點討論藍牙安全機制的組成及相關算法。
1.1 隨機數發生器
隨機數發生器在藍牙標準中有重要應用,例如在生成認證密鑰和加密密鑰中以及查詢-應答方案中等。產生隨機數的理想方法是使用具有隨機物理特性的真實隨機數·發生器,例如某些電子器件的熱噪聲等,但是在實際應用中通常利用基于軟件實現的偽隨機數發生器。藍牙系統對于隨機數的要求是“隨機生成”和“非重復性”。“隨機生成”是指不可能以明顯大于零的概率(對于長度為L位的藍牙加密密鑰,概率大于1/2L)估計出隨機數值。
目前在眾多類型的偽隨機數發生器中,線性同余發生器(Linear Congruential Generator)被最廣泛地研究與使用。其表達式為:
Xn+1=αXn+c(modm) n≥0。
[1] [2] [3] [4] [5]