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

WEP安全性能研究及其攻击

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:36:26
B=0)。如果KSA经过I+B-1次迭代后满足:

SI+B-1[1]<I

SI+B-1[1]+SI+B-1 [SI+B-1[1]]=I+B

考虑第I+B次迭代:

iI+B=I+B

jI+B=jI+B-1+S[I+B]+K[(I+B) mod L]

交换SI+B-1[iI+B],SI+B-1 [jI+B]:

SI+B [iI+B]=SI+B-1 [jI+B] ,

SI+B [jI+B]=SI+B-1 [iI+B]

在满足上述条件的情况下,S[1],S[S[1]]和S[S[1]+S[S[1]]]这三个元素以很高的概率(大于5%)均不参与KSA剩余的交换操作,也即首字节输出以很高的概率满足:

Out=SI+B-1[jI+B]=SI+B-1[jI+B-1+K[B]+SI+B-1[I+B]]

这种情况下,通过重建KSA,能够成功地从首字节输出中获取加密密钥中某个特定字节K[I+B]的信息:

K[B]=S[Out]-jI+B-1-SI+B-1[I+B]]

S[Out]表示元素Out在状态表中的位置。

从前面分析可以看出,在满足SI[1]<I+B且SI[1]+SI[SI[1]]=I+B条件的情况下,可以准确重建K[B]的概率大于5%,远远大于1/256。这样通过收集足够数量的满足上述条件的数据包,就可以成功地重建密钥K[B]。同理,在成功重建K[B]的基础上,就可以用类似的方法重建所有密钥。

具体算法如下:

RecoverWepKey(CurrentKeyGuess,KeyByte)

Counts[0...255]=0

For each packet->P

If Resolved﹖(P.IV)

Counts[SimulateResolved(P,CurrentKeyGuess)]+=1

For each SelectMaximalIndexesWithBias(Counts)->ByteGuess

CurrentKeyGuess[KeyByte]=ByteGuess

If Equal﹖(KeyByte,KeyLength)

If CheckChecksums(CurrentKeyGuess)

Return CurrentKeyGuess

Else

Key=RecoverWEPKey(CurrentKeyGuess,KeyByte+1)

If notEqual﹖(Key,Failure)

Return Key

Return Failure

2.3 算法改进

可以看出,以上的攻击方法中,所有关于K[I+B]的预测均是基于其前面所有密钥(K[0],...,K[I+B-1])已知的基础上。换言之,前面的预测错误将直接导致K[I+B]的错误预测。那么能否从K[I+B]中推测出K[0],...,K[I+B-1]的信息?

考虑KSA,如果经过I次迭代后,满足:

I<SI[1]+SI[SI[1]]=I+B≤L

SI[1]≤I

则SI[1]和SI[SI[1]]以很大的概率((254/256)L-I≈1)不参与第I步与第L步之间的迭代。同时,j以很大的概率不指向SI[I],...,SI[I+B]这几个元素。

即:

SI[1]=SI+B-1[1]   iL-1=L-1

jI+B-1=jI+SI[I]+...+SI[I+B-1]+K[I]+...+K[I+B-1]

考虑第L步:

iI+B=I+B   jI+B=jI+B-1+SI[I+B]+K[I+B]

交换S[i],S[j],则SI+B[I+B]=SI+B-1[jI+B]。

如果SI+B-1[jI+B],SI+B-1[1]和SI+B-1[SI+B-1[1]]不参与剩余的交换操作,那么输出为:

Out=SI+B-1[jI+B]

而由前面的分析可以看出,SI+B-1[jI+B]以很高的概率(约为1)没有参与前面的交换操作,也即SI+B-1[jI+B]=jI+B。由此可知

Out=jI+SI[I]+...+SI[I+B-1]+K[I]+...+K[I+B-1]+SI[I+B]+K[I+B]

利用上述关系可以成功地推出不同K字节之间的关系,从而加速攻击。

另外,由于密钥管理时密钥需要手工输入,所以绝大多数情况下,密钥只是ASIIC字符。这样大大减小了密钥的搜索空间,提高了攻击效率。

3 实验结果与结论

为对上述算法进行验证,进行了实验。实验中所采用的硬件为朗讯的ORiNOCO无线网卡,操作系统为Redhat7.1。实验结果表明,本文所提出的算法平均在收集100万到200万加密数据包的情况下,成功地恢复出了原加密密钥。与FluhrerS.、MantinI.、 Shamir A.所提出的KSA攻击需要400万到600万数据包相比,攻击效率有了很大提高。

基于以上分析,不难看出:现有WEP加密中存在重大的安全漏洞,这种情况并不因加密密钥长度的增加而得到改善,所以在WEP2中同样存在。为此,建议现有的802.11用户:

.假设802.11链路层并不提供安全措施;

.为保障网络通信的安全,使用IPSEC或者SSH等高层加密手段;

.把所有通过802.11接入的用户置于防火墙之外。

.经常更换密钥,同时针对密钥应尽量采用某种HASH算法,避免采用全为ASIIC字符的加密密钥。




上一页  [1] [2] [3] 

Tags:

作者:佚名

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

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