全球旧事资料 分类
2节中最后一段的讨论可知,当接入点接收到这个数据帧后首先解密得到,然后对进行CRC32完整性检测。如果攻击者正确地猜到了P8的真实值,检测通过,接入点便转发攻击者构造的数据帧。这样,在第4步中,攻击者会发现接入点的这个行为,从而知道它自己已经正确地猜测到了8P。然而,在第3步中,攻击者平均要进行822128次猜测才能猜到真实的8P,而当它猜错时,由于检测不到接入点转发的数据帧,它必须重复第3步。实际上,在chopchop攻击中,如果取i1,则在进行到第3步时,真实的P1只可能为1或者0,不妨在每次进行到第3步时,都猜测P1为0。那么在进行到第4步时,如果攻击者监听到接入点转发的,那么显然,它在第3步时正确地猜到了P1,如果它没有监听,说明它猜错了,然而此时的P1只有2种可能,所以攻击者此时并不需要重新进行第3步,而是直接确定出真实的P1
f一定为1。也就是说,当取i1时,攻击者每发送1个数据帧就一定可以解密1bit数据,而当i8时,攻击者平均要进行128次才能猜到真实的8bitP8,即平均每发送16个数据帧才能正确地解密出1bit数据。可见,当i1时,其攻击效率是原始的chopchop攻击的16倍。对密文依次剪切1bit并执行上述攻击,可以恢复明文的所有数据位。
4FMS攻击
WEP协议中RC4流密码的使用比较特别,即RC4的密钥K是通过V与R的简单链接VR得到的。WEP协议中规定V为3byte,由第2节中的描述可知,这3byte的V是攻击者知道的。2001年,Fluhrer、Ma
ti
和Shamir发现这样使用RC4是危险的3,一个被动监听网络的攻击者在得到足够多的WEP数据帧后,可以通过它们的攻击以很大的概率恢复WEP密钥R。41RC4流密码算法RC4是一个密钥长度可变,面向字节操作的流密码。图1给出了RC4算法的描述,其中加法在Z256上进行。RC4算法的实现非常简单,它包括RC4KSA与RC4PRGA2部分。RC4KSA首先将一个由256byte组成的状态向量S初始化为01…255,然后利用密钥K,对状态向量S进行256次置换。每次置换时,首先用i、j标识出状态向量S中的2个元素Si与Sj,然后对换Si与Sj的位置,即新的Si和Sj为原来的Sj和Si,其他位置的元素保持不变。当RC4KSA完成对S的256次置换后,RC4PRGA利用所得状态向量不断地输出密钥流字节。在每次输出密钥流字节前,都要对S进行一次新的置换。例如,当RC4输出其第一个密钥流字节时,状态向量S共经历了257次置换。下面的讨论采用如下记号:
f1用0…255表示全部的单字节值,即把每个r
好听全球资料 返回顶部