即使無線局域網(wǎng)絡的系統(tǒng)管理者使用了內(nèi)置的安全通訊協(xié)議:WEP(Wired Equivalent Privacy),無線局域網(wǎng)的安全防護仍然不夠。在倫敦一項長達7個月的調(diào)查顯示,94%的無線局域網(wǎng)都沒有正確設定,無法遏止黑客的入侵。隸屬于國際商會(International Chamber of Commerce)的網(wǎng)絡犯罪部門(Cybercrime Unit)就發(fā)現(xiàn),即使無線網(wǎng)絡很安全,也會因為種種原因而大打折扣?,F(xiàn)在非常盛行「路過式的入侵(drive-by hacking)」,黑客開車進入商業(yè)辦公區(qū),在信號所及的地方,直接在車里滲透企業(yè)的無線局域網(wǎng)。
University of California at Berkeley(美國加州柏克萊大學)的三名研究人員,Nikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發(fā)現(xiàn)WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點,而RC4正是WEP的基礎。就在幾天后,2001年8月底,Rice University(美國萊斯大學)的學生與兩名AT&T(美國電報電話公司)實驗室的員工(Adam Stubblefield與John Joannidis、Aviel D. Rubin),將這兩篇論文的內(nèi)容化為實際的程序代碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺可以連上無線網(wǎng)絡的個人計算機,從網(wǎng)絡上下載更新過的驅動程序,接下來就可以開始記錄網(wǎng)絡上來往的所有封包,再加以譯碼即可。
WEP的運作方式
在許多無線局域網(wǎng)中,WEP鍵值(key)被描述成一個字或位串,用來給整個網(wǎng)絡做認證。
目前WEP使用2種編碼大小,分別是64與128位,其中包含了24位的初始向量(IV,Initialization Vector)與實際的秘密鍵值(40與104位)。大家耳熟能詳?shù)?0位編碼模式,其實相當于64位編碼。這標準中完全沒有考慮到鍵值的管理問題;的要求是,無線網(wǎng)卡與基地臺必須使用同樣的算法則。通常局域網(wǎng)的每一個用戶都會使用同樣的加密鍵值;然而,局域網(wǎng)用戶會使用不同的IV,以避免封包總是使用同樣WEP鍵值所「隨機」產(chǎn)生的RC4內(nèi)容。
在封包送出之前,會經(jīng)過一個「忠誠檢查(IC,Integrity Check)」,并產(chǎn)生一個驗證碼,其作用是避免數(shù)據(jù)在傳輸過程中,遭到黑客竄改。RC4接下來會從秘密鍵值與IV處,產(chǎn)生一個keystream,再用這個keystream對數(shù)據(jù)與IC做互斥運算(XOR,Exclusive-Or)。首先IV會以一般文字方式傳送出去,然后才是加密后的數(shù)據(jù)。只要將IV、已知的鍵值、以及RC4的keystream再做一次互斥運算,我們就可以將數(shù)據(jù)還原。
弱點:初始向量(IV,Initialization Vector)
40或64位編碼可以填入4組鍵值;然而我們只使用了第一組。
WEP編碼的弱點在于IV實作的基礎過于薄弱。例如說,如果黑客將兩個使用同樣IV的封包記錄起來,再施以互斥運算,就可以得到IV的值,然后算出RC4的值,最后得到整組數(shù)據(jù)。
如果我們使用的初始向量為24位,那我們就可以在繁忙的網(wǎng)絡點上(例如以11Mbps的頻寬,不斷傳送1500字節(jié)的封包),以不到5小時的時間算出結果。以這樣的例子來說,總數(shù)據(jù)量為24GB。因此,要在幾小時的時間內(nèi),記錄所有傳輸?shù)姆獍?,并以筆記本計算機算出其結果,是絕對可行的事情。
University of California at Berkeley(美國加州柏克萊大學)的三名研究人員,Nikita Borisov、Ian Goldberg、以及Dabid Wagner,在去年發(fā)現(xiàn)WEP編碼的重大漏洞;除此之外,在2001年8月,密碼學家Scott Fluhrer、Itsik Mantin、以及Adi Shamir在一篇論文中,指出了RC4編碼的缺點,而RC4正是WEP的基礎。就在幾天后,2001年8月底,Rice University(美國萊斯大學)的學生與兩名AT&T(美國電報電話公司)實驗室的員工(Adam Stubblefield與John Joannidis、Aviel D. Rubin),將這兩篇論文的內(nèi)容化為實際的程序代碼。令人驚訝的是,其中完全沒有牽扯到任何特殊裝置,你只要有一臺可以連上無線網(wǎng)絡的個人計算機,從網(wǎng)絡上下載更新過的驅動程序,接下來就可以開始記錄網(wǎng)絡上來往的所有封包,再加以譯碼即可。
WEP的運作方式
在許多無線局域網(wǎng)中,WEP鍵值(key)被描述成一個字或位串,用來給整個網(wǎng)絡做認證。
目前WEP使用2種編碼大小,分別是64與128位,其中包含了24位的初始向量(IV,Initialization Vector)與實際的秘密鍵值(40與104位)。大家耳熟能詳?shù)?0位編碼模式,其實相當于64位編碼。這標準中完全沒有考慮到鍵值的管理問題;的要求是,無線網(wǎng)卡與基地臺必須使用同樣的算法則。通常局域網(wǎng)的每一個用戶都會使用同樣的加密鍵值;然而,局域網(wǎng)用戶會使用不同的IV,以避免封包總是使用同樣WEP鍵值所「隨機」產(chǎn)生的RC4內(nèi)容。
在封包送出之前,會經(jīng)過一個「忠誠檢查(IC,Integrity Check)」,并產(chǎn)生一個驗證碼,其作用是避免數(shù)據(jù)在傳輸過程中,遭到黑客竄改。RC4接下來會從秘密鍵值與IV處,產(chǎn)生一個keystream,再用這個keystream對數(shù)據(jù)與IC做互斥運算(XOR,Exclusive-Or)。首先IV會以一般文字方式傳送出去,然后才是加密后的數(shù)據(jù)。只要將IV、已知的鍵值、以及RC4的keystream再做一次互斥運算,我們就可以將數(shù)據(jù)還原。
弱點:初始向量(IV,Initialization Vector)
40或64位編碼可以填入4組鍵值;然而我們只使用了第一組。
WEP編碼的弱點在于IV實作的基礎過于薄弱。例如說,如果黑客將兩個使用同樣IV的封包記錄起來,再施以互斥運算,就可以得到IV的值,然后算出RC4的值,最后得到整組數(shù)據(jù)。
如果我們使用的初始向量為24位,那我們就可以在繁忙的網(wǎng)絡點上(例如以11Mbps的頻寬,不斷傳送1500字節(jié)的封包),以不到5小時的時間算出結果。以這樣的例子來說,總數(shù)據(jù)量為24GB。因此,要在幾小時的時間內(nèi),記錄所有傳輸?shù)姆獍?,并以筆記本計算機算出其結果,是絕對可行的事情。