用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

WEP安全性能研究及其攻击

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:36:26
【本文由PB创新网为您整理】
摘要:以Fluhrer, S., Mantin, I., Shamir, A.提出的KSA(Key Schedule Algorithm)攻击为基础,提出了一种改进的KSA攻击方法。与Fluhrer等提出的KSA攻击相比,新方法具有更高攻击效率。利用这种方法,成功地实现了针对802.11网络链路层安全协议——WEP的攻击,成功地恢复出了原加密密钥。本文详细地描述了这种攻击,同时针对802.11网络存在的安全问题,提出了一些安全建议。

    关键词:有线等效加密 密钥调度算法 伪随机数发生器

随着802.11标准的制定以及相关软硬件技术的逐渐成熟,802.11无线局域网产品的使用愈来愈广泛。其通信范围广、数据传输速率高的特点使802.11同蓝牙等协议一起成为无线局域网组网的可选协议之一,广泛应用于办公、会议等场合。这些场合中所使用的PC卡绝大多数提供了一种称为WEP(Wired Equivalent Privacy)的加密协议。

WEP便于管理,每块802.11卡具有一个加密密钥(key)。在实际使用中,大多数设备均使用同一个加密密钥,包括接入点AP(Access Point)。802.11通过WEP来防止对局域网的非法访问,为用户提供与传统有线局域网保密程度相当的通信环境。

WEP中采用的RC4算法是一种对称流加密算法。由于RC4算法的加密或解密速度均非常快,又提供了相当的强度,所以得到了广泛应用。其最重要的应用就是SSL(Security Socket Layer)加密套接字协议层和WEP。

针对RC4算法及其弱点,人们进行了许多研究,其中大多数为理论研究,并不具有实际意义。直到最近,Borisov、Goldberg and Wagner指出1:在WEP中,由于没有明确规定IV(Initialization Vectors)的使用方法,有些厂商简单地在每次初始化时将IV置零,然后加一。这种不当使用导致密钥重用的概率大增,可用于简单的密码分析攻击。另外,作者还指出,由于IV的可用空间太小,将不可避免地导致相同的密钥重用问题。

Fluhrer、Mantin and Shamir 描述了一种针对WEP采用的RC4算法的被动密文攻击方法2。作者针对RC4的状态初始化,提出了一种KSA攻击方法。揭示了WEP存在的严重漏洞。

本文在文献2提出的KSA攻击方法的基础上,提出了一种更为高效的攻击方法。并在实际环境中,成功地实施了针对WEP的攻击。实验结果表明,与文献2中提出的KSA攻击相比,本文提出的方法具有效率高、所需数据量更小的优点。

1 RC4算法

1.1 RC4概述

RC4算法属于二进制异或同步流密码算法,其密钥长度可变,在WEP中,密钥长度可选择128bit或64bit。

RC4算法由伪随机数产生算法PRGA(Pseudo Random Generation Algorithm)和密钥调度算法KSAKey Schedule Algorithm两部分构成。其中PRGA为RC4算法的核心,用于产生与明文相异或的伪随机数序列;KSA算法的功能是将密钥映射为伪随机数发生器的初始化状态,完成RC4算法的初始化。

RC4算法实际上是一类以加密块大小为参数的算法。这里的参数n为RC4算法的字长。在WEP中,n=8。

RC4算法的内部状态包括2n个字的状态表和两个大小为一个字的计数器。状态表,也称为状态盒(S-box,以下用S表示),用来保存2n个值的转置状态。两个计数器分别用i和j表示。

KSA算法和PRGA算法可表示如下:

KSA: PRGA:

Initialization: Initialization:

For i=0 to 2n-1 i=0,j=0

S[i]=i Generation Loop:

j=0   i=i+1

Scrambling:   j=j+S[i]

For i=0 to 2n-1 Swap(S[i],S[j])

j=j+S[i]+K[i mod l]    Output z=S[S[i]+S[j]]

Swap(S[i],S[j])

其中,l为密钥的长度。

1.2 RC4算法安全性能分析

仔细研究RC4的算法流程,不难发现:

状态盒S从一个统一的2n个字的转置开始,对其进行的唯一操作是交换。S始终保存2n个字的某个转置状态,而且转置随着时间而更新。这也是RC4算法的强度所在。算法的内部状态存储在M=n2n+2n比特中,由于S为一个转置,此状态大约保存了log2(2n!)+2n≈1700bit的信息。

状态盒的初始化状态仅仅依赖于加密密钥K,因此,若已知加密密钥就可完全破解RC4。加密密钥完全且唯一确定了伪随机数序列,相同的密钥总是产生相同的序列。另外,RC4算法本身并不提供数据完整性校验功能,此功能的实现必须由其他方法实现(例如WEP中的数据完整性校验向量,即ICV)。

下面考虑一些特殊的攻击模型,这些模型均与要讨论的RC4的安全问题密切相关。

RC

[1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:6,734.37500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号