有線等效加密(WEP)標準是802.11無線安全早期的解決方案,WEP并不安全,
既然WEP并不安全,為什么還要學習WEP呢?
- WEP簡單,相比后續出現的加密協議,它不要求有多么強大的計算能力,一些老的設備,特別是缺乏足夠處理能力的手持設備,WEP已經是最佳選擇;
- 較新的技術,如TKIP,仍舊會用到WEP的幀處理能力;
1. WEP的密碼學背景
WEP用以保護資料的RC4密碼屬于對稱性(密鑰)流密碼(stream cipher),流密碼會用到稱為密鑰流(keystream)的位流,密鑰流隨后會與資訊結合,產生密文(ciphertext),為了還原原始資訊,接收端會以相同的密鑰流處理密文,RC4會利用異或(exclusive OR,簡稱XOR)運算結合密鑰流與密文,如下圖所示,

流密碼的運作方式通常是先選用一把較短的密鑰,通過偽亂數生成器(pseudorandom number generator,PRNG)將之展開為與資訊等長的偽亂數密鑰流,如下圖所示,

2. WEP的加密操作
通信安全有三個主要目的:
-
機密性
防止資料不受未授權的第三者攔截;
-
完整性
確保資料沒有被修改;
-
真實性
真實性是所有安全策略的基礎,因為資料的可信度部分取決于資料源的可靠性;
WEP的資料處理流程如下圖所示:

驅動程式以及介面硬體負責處理資料,然后送出加密過的封包,順序如下:
- 802.11幀被放在佇列中等待發送,幀由標頭(Header)和有效載荷(Payload)組成,根據有效載荷計算出完整性校驗值ICV,并放在有效載荷尾部;
- 隨后組裝幀加密密鑰(或稱WEP種子),WEP種子分為兩部分:秘鑰(secret key)以及初始向量(IV),添加IV是為了避免出現使用相同密鑰流進行加密的情況,802.11并未限制選取IV時非得使用何種演算法;
- 幀加密密鑰被當成RC4密鑰,用以加密步驟1有效載荷和ICV,整個加密程序通常通過RC4專用電路來完成;
- 有效載荷加密之后,就可以組裝待傳的幀,802.11標頭與加密過的有效載荷之間插入WEP標頭,除了IV,WEP標頭中還包含密鑰編號,WEP最多允許定義4個密鑰,一旦附加上最后的標頭,就可以針對真個MAC幀,計算出802.11幀校驗碼(FCS),
以上闡述了WEP幀的組裝流程,解密的程序剛好相反,一旦使用WEP進行加密,幀主體就會增加8個位元組,其中4個位元組作為幀主體的IV標頭,另外4個位元組作為ICV標尾,如下圖所示,

IV標頭使用3個位元組來容納長度為24位的IV,第四個位元組則包含填充位以及密鑰識別符號(key ID),資料幀的32位回圈冗余校驗(CRC)碼提供了完整性檢查,附加于幀主體之后,同時被RC4保護,
3. 關于WEP的種種問題
-
手動管理密鑰對于變換密鑰作業量大;
-
標準的靜態WEP只提供長度為40位的密鑰,業界標準所提供的密鑰長度最多只達到104位;
-
一旦重復使用密鑰流(keystream),流密碼(stream cipher)就容易被識破,可供使用的IV值(24位)并不大,容易重復;
-
如果不常更換密鑰,攻擊者就可以采集解密字典(decryption dictionarie),即積累以相同密鑰流加密的大量幀,那么破解密鑰就指日可待;
-
WEP使用CRC進行完整性檢查,CRC并沒有密碼學上的安全性;
4. 動態WEP
不同于讓網路中所有作業站共享一個靜態密鑰來加密所有幀,動態WEP讓網路上所有作業站使用一個密鑰來加密廣播幀,但個別作業站使用自己的映射密鑰來加密單播幀,動態WEP每隔一段時間就會產生并分配新的密鑰,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/13658.html
標籤:嵌入式
