IEEE 802.11i协议的DOS攻击分析及改进

时间:2022-08-30 11:04:18

IEEE 802.11i协议的DOS攻击分析及改进

摘要: 该文对无线局域网最新一代的安全协议802.11i协议工作工程中的认证、密钥管理二个阶段进行分析,发现其存在DOS攻击缺陷,并对两阶段中可能出现的相应威胁提出了改进办法。通过对比发现改进后的协议能在认证阶段连接只有通过了双向认证的合法用户。在四步握手时能在CPU正常工作前提下把存储器资源消耗的问题解决,从而更大程度提高了无线数据传输的有效性。

关键词: 密钥;进程;四次握手;协议

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)31-0827-02

Analysis and Improvement Against DOS Attack in IEEE 802.11i Protocol

DAI Yan-ming, ZHONG Le-hai

(Computer College, China West Normal University, Nanchong 637002, China)

Abstract: This paper analyzes authentication, key management in two phases based on 802.11i, the latest generation of wireless LAN security protocol. Point out the DOS defects in two phases, and raise the possible corresponding improvements. After comparing, we find that the improved protocol can connect legitimate users. Only through the mutual authentication in authentication stage. In the four-step handshake when the CPU works under normal condition, it can solve the problem of resource consumption of the memory, thereby enhancing the effectiveness of wireless data transmission more.

Key words: Key; Process; Four-Step Handshake; Protocol

1 引言

无线局域网为人们提供了快速便捷的高速无线数据服务,但由于其完全暴露在外的传输媒介,使得安全性一直影响着它的应用和发展。为了加强安全性,IEEE802.11委员会最先创建了一个安全机制,即WEP(有线等价保密)协议,但不久在使用过程中就发现了很多漏洞。于是不久后,IEEE就通过了最新用来进一步加强无线局域网安全性能的IEEE802.11i协议。本文就802.11i协议在认证和密钥管理阶段出现的DOS攻击展开分析,并指出了相应的改进办法。

2 IEEE802.11i协议概述

802.11i协议的实现过程包括802.1x认证、密钥管理过程、通过数据加密传输信息三个过程。在这三个过程中参与三个实体:申请者(STA)、认证者(AP)和认证服务器(AC)。本文只研究802.1x认证、密钥管理过程。

2.1 802.1x认证过程

其认证过程包括三个实体,即申请者(STA)、认证者(AP)和认证服务器(AC)。由扩充在它里面的EAP(可扩展的认证)协议实现,EAP协议有多种类型供选择,基于各个公司生产的硬件设备所支持的类型,一般采取EAP-MD5和 EAP-TLS两种,而又以后者更加安全,因为后者提供双向认证。

在认证服务器方面,WLAN一般采用RADIUS(远程拨入用户认证服务)服务器作为认证服务器,RADIUS服务器采用RADIUS协议,提供三个基本功能:认证、授权和计费。

基于EAP―TLS,802.1x认证分为以下三个阶段:

1) AP在某一特定信道以发送信标帧的方式周期性地向外广播它的安全性能。无线工作站既可以被动地监听信标帧,也可以主动地对各个信道进行扫描来发现可用的AP。

2) STA从可用的AP列表中选择一个AP,与该AP进行认证和连接。这个阶段的这种认证很脆弱,一般只是通过无线工作者的口令进行认证。

3) STA和AC通过AP作为媒介互传各自的数字证书,进行双向认证,从而来判定能否合法进行连接。认证过程同时在STA和AP方产生相同的PMK(对等主密钥)。

2.2 认证过程的缺陷和改进

通过分析可以发现,在认证第二个阶段中容易遭到拒绝服务(DoS)攻击。因为管理帧和控制帧是不加保护的。所以攻击者大可以假冒用户向认证者大量发送请求认证信息。使认证者超过同一时刻所能维持的最大连接数而使合法的用户连接不上。攻击者也可以冒充认证者来随意断开与用户的连接。

所以关键是要解决管理帧不加保护的问题。为了消除这一缺陷,可以进行改进的办法是把认证的过程改为(1)、(3)、(2),即把双向认证提前。并且如果(3)断开的话继续进行双向认证,不需要从头开始认证。这样后,就可以利用在双向认证阶段产生的PMK对管理帧和部分控制帧进行认证。多数由管理帧引起的DOS缺陷可以消除。认证过程如图1所示。

通过实现改进后的认证阶段我们排除掉了非法用户的洪泛攻击,改进之前EAP识别包只有8个字符,在256个用户进行非法攻击时就使合法用户反而连接不上。改进后,非法

用户在双向认证时就全部排除,因为AP和SAT要互相传数字证书。在出现非法的AP STA时都会因为各自的数字证书有问题而拒绝连接。

新的认证过程还有一个优点,那就是因为EAP双向认证足够安全,很难假冒。所以经过了EAP双向认证可以认为是合法的实体,所以只要把认证从新返回到EAP双向认证之后,这样可以节省时间,提高效率。

3 密钥管理过程

3.1 密钥管理概述

在认证过程中,STA和AP不但各自认证了自己的身份,在认证的同时还各自获得了一个相同的密钥,即PMK(对等主密钥)。接下来就进入四次握手机制,主要目的是确定STA和AP得到的PMK是相同的,并且是最新的,以保证可以由此产生最新的临时会话密钥PTK。同时通过四次握手的结果通知STA是否加载加密/整体性校验机制。四次握手的过程如图2:M1和M2分别为用户和认证者的MAC地址,SNonce和ANonce分别为用户和认证者用于产生PTK的随机数,MIC表示校验信息完整性的消息完整性代码。四次握手具体分析如下:

1) AP向STA发送①。包含用于产生PTK的随机数ANonce,表明当前处于PTK过程。

2) STA收到①里面的ANonce,并且随机选择一个随机数SNonce,利用事先有的PMK,通过PRF函数计算出PTK,然后向AP发送②。里面包含SNonce,并且用刚刚计算得到的PTK里面的一部分密钥对②进行MIC校验。

3) AP收到②里面的SNonce后,由ANonce,以及利用事先有的PMK,用PRF函数计算出PTK,并取PTK里面的一部分密钥对②里面的MIC进行校验,如果正确那么向STA发送③,里面包含要求STA装入PTK,以及是否安装加密/整体性密钥,同样也用MIC校验。

4) STA收到③后装入PTK,并发送④,表示已装入,AP收到④后也装入PTK,四次握手完毕。

3.2 次握手的缺陷和改进办法

在四次握手过程中在AP上采取的措施是:接收到错误的响应消息时将消息丢弃;在没有收到响应消息时重发消息;在超过限定时间和重发次数后,若仍没有收到正确的响应消息就结束该握手过程。

那么在丢包的情况下,当STA在发送时消息②时丢失,所以AP收不到,以为STA没有收到①,所以一定时间后采用重发机制重新发送①,注意的是这①里面的随机数和刚开始的①里面的ANonce不同,那么STA把新的ANonce和自己新随机产生的SNonce产生新的PTK,STA发现不同于先前的PTK,所以造成了四次握手的中断。

在攻击者存在的情况下,因为①是明文传送的,对于攻击者来说很容易伪造。即攻击者在②后冒充AP向STA发送假的①,STA根据假的①里面的ANonce和自己新随机产生的SNonce计算出错误的PTK后,发现和先前根据②中ANonce计算得到的PTK不一样,造成握手中断。

IEEE基于以上这样的两种情况对四次握手进行改进,因为在SAT端在发送完②后等待AP回答时,收到①或者③都属正常。所以IEEE规定STA除了存储PTK外,再存储一个TPTK(Temporary PTK),当接到①时只更新TPTK。在正确收到③时才更新PTK。

但是通过分析,这样的改进仍然存在问题,攻击者可以发送大量的①,使用STA不断计算PTK,给之分配存储空间,最终导致在STA端CPU和内存全部耗掉而停止通讯。

针对上述的攻击本文提出两种解决方法:

第一种方法:因为对于四次握手的攻击是因为消息①缺少验证,那么应该考虑对①进行验证。考虑到在四次握手之前AP和STA都有PMK,可以用PMK作为密钥。这样要对①中的格式做一些改动,在消息①中增加一个数据加密的ANonce,用PMK作为密钥。STA收到消息①后,将加密的ANonce和解密后与未加密的ANonce进行比较,如果一样那么认为是合法的AP发送的,否则丢弃。这个方法只对消息①进行修改,不对整个协议进行改动。

第二种方法:在STA上对所有收到的消息1重复使用一个SNonce计算PTK并且发送②,但是不存储相应的PTK,而是在收到③后重新计算PTK进行校验。因为③不太可能伪造。这个办法能避免存储器资源因为DOS攻击而消耗掉。但是在STA上会有大量的计算,使CPU的性能会受一定的考验。必须在增加CPU负担和存储器资源消耗之间选一个折中的办法。

因为现在的CPU的计算能力越来越强,所以我们选择第二种办法来实现。我们用三个进程来模拟上述方法。甲进程完成SAT的功能,乙进程完成AP的功能,丙进程实现攻击者的功能。在运行中甲和乙实现四次握手的过程,丙向甲发送具有不同随机数的信息①,由于丙不知道SAT和AP的共享PMK,所以最终无法和SAT通讯,而AP在发送了③后成功和SAT连接。采用了本方法后攻击者无法进行DoS攻击,CPU性能有所下降,但是没有对网络构成影响。

4 结束语

本文对802.11i进行了详细的分析,主要从认证和加密两个阶段来对协议做改进。由于802.11i并没有把可用性作为它最初设计目标,因而存在很多DoS缺陷。我们分析了802.11i自身的DoS攻击,并提出了相应的解决办法。对于认证阶段把双向认证提前是一个可取的办法。而在四步握手上可在内存和CPU的耗费上取一个折中。通过改进前后的对比,我们可以发现,改进后的协议对DoS攻击有了比较好的抵抗性,提高了协议安全。

参考文献:

[1] 刘乃安. 无线局域网(WLAN)――原理、技术与应用[M].西安:西安电子科技大学出版社,2004.

[2] 张锈望. 基于802.11i的无线局域网安全性能分析[J]. 软件导刊,2007.01.

[3] 王小军,陆建德. 基于802.1i四次握手协议攻击分析与改进[J]. 计算机工程,2007.03.

[4] 曹利. 基于802.1x协议的无线网认证技术安全分析和研究[J]. 计算机安全,2006.10.

上一篇:浅谈分布式协同入侵检测 下一篇:浅析网络考试系统原型的设计及实现