在上一贴中,我们介绍了WEP加密的过程,但未涉及到WEP的解密原理,也没有更多涉及到WEP破解的可能方案等,因此有的朋友就问我能不能再展开介绍一下。今天就先简单写一下,希望对朋友们有所帮助。
其中“消息”中的“密文数据 IV”即为接收端收到的信息,如前文所说,IV为明文,接收端收到IV后,将其和密钥连接后输入RC4算法,然后按位异或密文数据,即可得到明文用户数据,此后再对明文用户数据进行CRC校验,在确认数据的完整性后,将数据交给用户。
依据上贴中讨论的内容,假设第i个明文数据(含对应的CRC数据)记为Pi,接收到的对应密文数据记为Ci,则Ci =RC4(K+IVi)⊕Pi,
C1 =RC4(K+IV1)⊕P1,C2 =RC4(K+IV2)⊕P2。因此:C1⊕C2 =p1⊕P2。
由此可见,在上述计算方式中,密钥流被抵消了。黑客直接从密文的异或值直接作为明文的异或值,因此从破解的角度来讲,有三种方式可以尝试:
(1)在密文C1和C2(这个直接使用嗅探技术即可,非常容易!)已知的情况下,如果明文P1已知,则RC4算法输出的密钥流马上就能得到,并且P2的值也可立即得到P2=P1⊕C1⊕C2。
(2)在密文C1和C2已知的情况下,如果明文P1和P2均未知,则可以直接得到P1⊕P2值,则可采取猜测或社会工程学等方法,使用具有一定语义的字符ASCII码组合等去猜测明文P,进而达到破解或窃听的目的。
(3)在多个密文C1、C2和C3等已知的情况下,采用(2)所示方法则更容易达到破解的目的。如多嗅探一些具有特定帧格式或协议的报文,尤其是接入请求、认证请求等及其响应等身份认证帧,再辅助社工和一些统计分析方法,破解将会变得更加容易。
只要积累到足够多的密文,破解是迟早的事。
WEP,虽说你出道混的时间不长,但确实到了你该还的时候。