在上一貼中,我們介紹了WEP加密的過(guò)程,但未涉及到WEP的解密原理,也沒(méi)有更多涉及到WEP破解的可能方案等,因此有的朋友就問(wèn)我能不能再展開(kāi)介紹一下。今天就先簡(jiǎn)單寫(xiě)一下,希望對(duì)朋友們有所幫助。
其中“消息”中的“密文數(shù)據(jù) IV”即為接收端收到的信息,如前文所說(shuō),IV為明文,接收端收到IV后,將其和密鑰連接后輸入RC4算法,然后按位異或密文數(shù)據(jù),即可得到明文用戶(hù)數(shù)據(jù),此后再對(duì)明文用戶(hù)數(shù)據(jù)進(jìn)行CRC校驗(yàn),在確認(rèn)數(shù)據(jù)的完整性后,將數(shù)據(jù)交給用戶(hù)。
依據(jù)上貼中討論的內(nèi)容,假設(shè)第i個(gè)明文數(shù)據(jù)(含對(duì)應(yīng)的CRC數(shù)據(jù))記為Pi,接收到的對(duì)應(yīng)密文數(shù)據(jù)記為Ci,則Ci =RC4(K+IVi)⊕Pi,
C1 =RC4(K+IV1)⊕P1,C2 =RC4(K+IV2)⊕P2。因此:C1⊕C2 =p1⊕P2。
由此可見(jiàn),在上述計(jì)算方式中,密鑰流被抵消了。黑客直接從密文的異或值直接作為明文的異或值,因此從破解的角度來(lái)講,有三種方式可以嘗試:
(1)在密文C1和C2(這個(gè)直接使用嗅探技術(shù)即可,非常容易?。┮阎那闆r下,如果明文P1已知,則RC4算法輸出的密鑰流馬上就能得到,并且P2的值也可立即得到P2=P1⊕C1⊕C2。
(2)在密文C1和C2已知的情況下,如果明文P1和P2均未知,則可以直接得到P1⊕P2值,則可采取猜測(cè)或社會(huì)工程學(xué)等方法,使用具有一定語(yǔ)義的字符ASCII碼組合等去猜測(cè)明文P,進(jìn)而達(dá)到破解或竊聽(tīng)的目的。
(3)在多個(gè)密文C1、C2和C3等已知的情況下,采用(2)所示方法則更容易達(dá)到破解的目的。如多嗅探一些具有特定幀格式或協(xié)議的報(bào)文,尤其是接入請(qǐng)求、認(rèn)證請(qǐng)求等及其響應(yīng)等身份認(rèn)證幀,再輔助社工和一些統(tǒng)計(jì)分析方法,破解將會(huì)變得更加容易。
只要積累到足夠多的密文,破解是遲早的事。
WEP,雖說(shuō)你出道混的時(shí)間不長(zhǎng),但確實(shí)到了你該還的時(shí)候。