IEEE802.11定義兩個level的security:
open
open就是沒有security。
當收到request時,AP總是送success message。
shared key
AP和 client有一組共同的key
當收到request時,AP產生一組random number作為challenge text,送給client。client用key加密後回傳給AP驗證 (這把key同時用在authentication和encryption)。此時若有attacker在監聽,這等於提供了一組match sample,因為challenge是plaintext,而response為cipertext。這也是Wi-Fi alliance捨棄這種方法的原因。這樣的弱點,也讓某些用戶選擇不要 authenticate,而把"privacy"放在encryption。因為這樣子的authentication無用而且提供某些資訊給attacker,那不如不要認證,好好的加密data packet。WEp的data packet是經過encryption(RC4)的。雖然這樣attacker就可以無障礙的associate,但至少沒有key是無法收發packet的。
而RC4演算法其實是一個black box,每個byte進來就變成另一個byte。解密的方式就是用同一把key進行reverse process。因此是一種symmetric algorithm。其優點是容易實作,速度快。 RC4分成兩個phase。一是initialization,此時用這把key來建立一些內部結構,然後第二個phase就是吃data。因此每個packet都被視為一個新的stream,這樣的好處是即使有packet drop,之後的packet仍然可以被解密,但這也是個缺點。
Initial vector (IV)
一開始WEP的key是40-bit,大部分的製造商都增加到104-bit。那為什麼有128-bit的security這種說法呢?這是因為加了24-bit的initial vector。用同一把key加密packet顯然不安全,當packet量夠多是,很容易會有同樣的data match產生。因此就有了IV的產生。
這個IV用來轉換Key,因此每個packet就會用不同的key來加密。因此即使data一樣,加密後的ciphertext也會不同。雖然IV是公開放在packet裡,但這沒關係--如果IV不會重覆的話。但24-bit的IV能撐多久?24-bit只做出1.7億個IV。一個busy 在11Mbps的AP每秒約可收發700個packet,這樣的結果是7小時內 IV就會用光。
IV的實作方式也會加重reuse的問題。IV通常在restart後產生同一組IV,接下來的IV又會用同樣的sequence產生。
WEP的漏洞:
1. 如上述,認證和加密使用同一把key,一互被破解,data部分...
2. 無法認證AP
3. fixed key
Reference
Real 802.11 Security: Wi-Fi Protected Access and 802.11i
留言列表