APP下载

基于公钥密码体制的802.1x双向认证研究

2016-03-17张乐乾阮玲玲

计算机应用与软件 2016年2期
关键词:申请者公钥攻击者

蒋 华 张乐乾 阮玲玲

(桂林电子科技大学计算机科学与工程学院 广西 桂林 541004)



基于公钥密码体制的802.1x双向认证研究

蒋华张乐乾阮玲玲

(桂林电子科技大学计算机科学与工程学院广西 桂林 541004)

摘要针对申请者和认证者间认证的不平等以及控制帧和管理帧的明文传输问题,通过分析802.1x/EAP认证过程,提出一种基于公钥密码体制的802.1x双向认证改进方案。该方案利用引入的公钥密码体制的认证性实现申请者与认证服务器的双向认证,同时利用对称密钥实现申请者、认证者和认证服务器三者之间的两两双向认证并对控制帧和管理帧中的敏感域加密。该方案能够保护认证进程的机密性,对AP身份进行认证,有效阻止了中间人攻击和拒绝服务攻击。通过仿真实验证明,该方案比原协议认证成功率平均高约13.1%,接入的STA数量有显著增加,约增加STA总数的26%,在攻击次数达到50次以上时,接入STA数量下降速率平稳缓慢。

关键词802.1x双向认证公钥密码中间人攻击拒绝服务攻击

STUDY ON PUBLIC KEY CRYPTOGRAPHY-BASED 802.1X BIDIRECTIONAL AUTHENTICATION

Jiang HuaZhang LeqianRuan Lingling

(School of Computer Science and Engineering,Guilin University of Electronic Technology,Guilin 541004,Guangxi,China)

AbstractIn order to solve the problems of the unequal authentication between applicant and authenticator and the plaintext transmission of the control frame and management frame, according to the analysis on 802.1x/EAP authentication process, we proposed an improved scheme of 802.1x/EAP bidirectional authentication which is based on public key cryptosystem. The scheme uses the authentication property of the introduced public key cryptosystem to achieve bidirectional authentication between applicant and authentication server. Meanwhile it uses symmetric key cryptosystem to achieve the bidirectional authentication between each pair of supplicant, authenticator and authentication server and encrypts the sensitive domains of control frame and management frame. The scheme can protect the confidentiality of authentication process, authenticates the identity of AP, and effectively prevents the man-in-the-middle attacks and denial of service attacks. It was proved by simulation experiments that in average the scheme was about 13.1% higher in successful authentication than the original protocol, the number of the successful STA access had the significant increase, roughly about 26% of total STA numbers, and the descending rate of STA access number was slow and stable while the number of attacks was more than 50.

Keywords802.1xBidirectional authenticationPublic key cryptographyMan-in-the-middle attackDenial of service attacks

0引言

无线局域网因其网络空间的开放性和用户的移动接入性,使得网络在各种便携式终端上的应用越来越方便。用户接入网络的不确定性和频繁移动性使得我们必须要建立更加强健和完善的身份认证和访问控制机制来保障无线网络用户的合法性。

在IEEE 802.11i标准中802.1x协议认证框架的基础上,本文通过分析802.1x/EAP认证机制的过程及其安全性,提出一种基于公钥密码体制的802.1x认证改进方案。配合可扩展认证协议EAP来实现认证,加入公钥密码体制实现客户端与认证者之间的双向认证,对管理帧和控制帧中的部分敏感域进行加密保护,实现申请者、认证者和认证服务器三者间的两两双向认证,有效防御对认证过程的中间人攻击和DoS攻击等。

1802.1X/EAP认证协议及其安全性

1.1802.1X/EAP认证过程

根据RSNA建立过程,在网络连接过程结束后进入802.1x认证阶段。802.1x是基于端口的网络接入控制协议,在开始认证前,端口默认设置为未授权状态,此时除了802.1x的EAPOL报文之外的其他一切来自客户端的消息均无法通过端口。在认证过程结束后,客户端身份被确认合法,端口状态切换为授权,此时客户端被允许和认证者传输信息[1]。

申请者端与认证端的通信在数据链路层进行,并采用EAPOL格式进行封装,而认证者和认证服务器之间采用RADIUS协议来封装申请者发送给认证者的EAP认证信息[2,3]。具体的认证方式则是在认证过程中由认证服务器和申请者动态协商来决定,这就体现了802.1x/EAP认证的灵活性和动态性,给恶意攻击者带来一定的攻击困难,增强了认证机制的防御性能。

1.2存在问题

802.1x提供了认证框架,EAP提供灵活多变的认证方法。虽然802.1x具有实现简单、认证和业务分离、扩展性好等优点,但协议本身仍然存在设计缺陷:

特殊帧的明文传输:传输过程中管理帧和控制帧都是明文传输的,没有保密措施保护,这样就非常容易被攻击者探测到[4]。在802.1x协议中,这样的帧有EAPOL-Start、EAP-Success、EAP-Failure以及EAPOL-Logoff等,当攻击者通过监听获得这些帧信息后,再选取适当的时机伪装成客户端或者认证者,即可在两方之间传递虚假信息;

认证者对申请者的单向认证性协议:假定认证者AP是安全可靠的,只是实现了申请者和认证服务器之间的双向认证,申请者并没有对认证者AP进行充分的认证[5,6]。但在实际情况中,随着无线网络的广泛应用,恶意攻击者发现并利用其漏洞假冒认证者AP的现象越来越多。

针对802.1x/EAP的攻击威胁有下面几种:

1) 中间人攻击

在802.1x/EAP协议中,虽然实现了客户端与认证服务器间的双向认证,但是基于端口的802.1x认证原理规定,当客户端通过认证服务器的认证之后,认证者才会打开对客户端的认证端口,而对于认证者客户端的端口是始终打开的,这样就造成了客户端与认证者间的不平等状态[4,7]。这种认证者对客户端的单向认证的缺陷,就使得攻击者很容易进行中间人攻击。

2) 拒绝服务攻击

拒绝服务攻击就是服务器拒绝向合法客户端提供正常访问服务。攻击者破坏客户端与服务器的连接过程,使合法客户端与网络半连接或者认证失败,容易造成客户端或服务器计算和存储资源耗尽或合法客户端无法正常接入网络[8]。实施过程简单,后果严重,预防和追查困难,在网络安全问题中拒绝服务攻击最常见也最具威胁性。

2改进方案

本文根据上文中所述两个漏洞,提出了一种基于公钥密码体制的802.1x认证改进方案,方案中通过加入公钥密码体制实现客户端与认证者之间的双向认证,同时对于一些管理帧和控制帧中的部分敏感域进行加密保护,从而使其被窃听分析以及伪造的难度加大。

1) 加密管理帧与控制帧中的敏感域

从802.1x认证流程我们可以看到,在客户端与认证者之间发送的消息封装的格式有两种类型:EAP格式和EAPOL格式[9]。通过对EAP帧和EAPOL帧格式的分析我们可知,EAP帧中Code域和EAPOL帧中Type域用来标识帧类型,然而通常情况下,帧中数据域的内容和帧格式密切相关且相互对应。我们采用对称加密算法来加密这两个域,对称密钥通过安全通道发布给双方,这样攻击者在短时间内无法获取密钥,无法知道帧类型,也就无法在合适的时间找到攻击机会,从而达到保护这些敏感数据包的目的,在一定程度上能够预防针对这些数据包的中间人攻击和DoS攻击。

2) 基于公钥密码体制的双向认证

在802.1x/EAP认证系统中,认证者对客户端的单向认证,使得客户端与认证者之间出现了不平等状态,攻击者可以通过伪造认证者,从而在两者之间实现中间人攻击。改进方案中,我们引入公钥密码体制,公钥密码的数字签名功能正好能够解决通信双方的认证问题。我们假定在认证前客户端和认证服务器的公钥已公布,且双方均已知,同时认证者与其他两方的共享密钥也通过安全通道分发成功。这样在认证过程中,对于客户端和认证服务器发送的消息可以用自己的私钥先签名,在接收方再使用对方公钥验证,若能成功解密则可以确认发送者身份,这样也就实现了客户端与服务器的双向认证。同时方案中也加入了客户端和认证者各自生成的随机数,而这些随机数通过双方共享密钥加密,然而我们确信共享密钥只有双方知道,这样通过加密随机数实现了客户端与认证者的双向认证。

根据以上两部分改进,我们在改进方案中对所有EAP消息的Code域和EAPOL消息的Type域与Code域均使用对称加密算法加密;同时在认证过程中加入申请者和认证服务器公钥,在传输消息过程中利用私钥对部分消息进行数字签名,以认证发送者身份合法。改进方案的认证流程如图1所示。

图1 改进方案认证过程

流程图中所使用的符号标记如下:

符号说明

IS申请者身份信息

NS申请者随机数

NA认证者随机数

KS-A申请者与认证者共享密钥,用于对称加密算法

KA-AS认证者与认证服务器共享密钥,用于对称加密

假设认证者和认证服务器之间已经建立了安全连接,申请者和认证服务器双方互相拥有对方的公钥,认证者与申请者、认证服务器均已通过安全通道共享对称密钥。

详细步骤如下:

(1) 申请者首先生成EAPOL-Start消息,并选用AES算法来加密Type域和Code域,密钥为128位KS-A,然后使用RSA算法签名后发送给认证者发起认证过程;

(2) 认证者收到请求消息后,向申请者发送EAP- Request/ Identity消息要求申请者提供其身份信息,其中Code域被加密,加密方法同步骤(1);

(3) 申请者收到身份请求消息后,生成EAP-Response/ Identity消息响应认证者,生成具体方法如图2所示。其中,{IS}KS-1为申请者对身份信息进行数字签名。

图2 EAP-Response/Identity消息生成过程

(4) 认证者收到身份响应消息后,生成Radius-Access Request消息发送给认证服务器请求验证身份信息,具体生成方法如图3所示。

图3 Radius-Access Request消息生成过程

图4 Radius-Access-Challenge消息生成过程

(6) 认证者收到数据包后,向申请者发送挑战响应请求EAP-Request消息,具体生成过程如图5所示。其中,NA-1的对比为认证者通过对称密钥KA-AS验证认证服务器身份。{NS-1}C(KS-A)为认证者通过对称密钥KS-A验证申请者身份。

图5 EAP-Request消息生成过程

(7) 申请者收到请求消息后,首先处理请求消息,并且查看RADIUS所选择的的认证机制,如果申请者支持该认证机制则向认证者发送挑战响应EAP-Response消息,具体过程如图6所示。其中,{NS-1}D(KAS)为申请者验证认证服务器身份,{NS-1}D(KS-A)为申请者验证认证者身份。{NS}C(KAS)为响应认证服务器的挑战。

图6 EAP-Response消息生成过程

(8) 认证者将收到的EAP消息重新封装成RADIUS格式并转发给认证服务器。

(9) 认证服务器收到挑战响应消息后,如果能够成功验证申请者数字签名以及解密出NS,说明可以确认申请者身份合法,并向认证者发送认证成功消息;否则告知认证失败。

(10) 若认证者收到认证成功消息,则打开受控端口,并向申请者发送EAP-Success消息,告知其认证成功;否则向申请者发送EAP-Failure消息,通知其认证失败。

(11) 当申请者将要离线时,需要向认证者发送EAPOL-Logoff消息(Type域和Code域被加密),告知其将要离线,此时认证者关闭受控端口。

3方案安全性分析与仿真

3.1方案安全性分析

基于公钥密码体制的802.1x双向认证改进方案不仅实现了客户端和服务器之间的双向认证,同时也实现了客户端与认证者之间的双向认证;另一方面,对于客户端与认证者之间传输的EAP消息帧中的关键域,使得攻击者无法在短时间内知道帧类型,这样就无法在合适的时机实施拦截或者伪造。改进方案的特点和解决问题如下:

(1) 利用客户端与认证者之间的共享密钥加密EAP帧的Code域和EAPOL帧的Type域以及Code域,这样攻击者无法知道发送帧的准确类型,也就无法在合适的时间实施攻击,如EAPOL-Start、EAPOL-Logoff、EAP-Success和EAP-Failure等,在攻击者监听过程中,无法确定帧类型,也就无法知道认证进程的发展。如攻击者希望拦截客户端认证成功消息,由于无法判断哪一条消息为EAP-Success,那么攻击也就变得无从下手;

(2) 引入公钥密码体制,加入客户端和认证服务器的公钥和私钥,利用公钥密码体制的数字签名功能加密两者传递消息,从而实现客户端与认证服务器之间的双向认证;

(3) 在密钥体制中加入客户端与服务器的共享密钥,以及客户端与认证者的共享密钥,利用对称密钥体制的认证性实现客户端与认证者之间的双向认证,这样就解决了原始802.1x/EAP认证中客户端对认证者的身份确认问题,从而就能够有效地抵御由于单向认证引发的中间人攻击。

3.2实验仿真分析

为了研究并验证该方案的可行性和有效性,本文通过仿真平台OMNeT++实现了WLAN环境下802.11i的仿真过程,并且在该环境中针对802.1x/EAP认证过程的漏洞实施相应攻击。

首先我们需要建立一个802.11i网络仿真平台,并在其上实现以下攻击:(1) 监听认证过程,在适当时机拦截EAP-Success数据包,使得客户端连续多次重新认证,造成双方系统资源消耗;(2) 在客户端认证之后,伪造EAPOL-Logoff或者EAP-Failure消息发送给认证者,使得合法客户端强制下线或者认证失败,实现拒绝服务攻击[10,11];(3) 假冒合法客户端,伪造大量的EAPOL-Start发送给认证者,使得认证人数达到同时认证的上限,以此实现DoS攻击;(4) 攻击者拦截EAP-Success数据包,然后伪装合法认证者发送认证成功帧给客户端,从而在合法认证者和客户端之间窃听伪造传递消息[12]。然后我们在该实验平台上改进802.1x/EAP认证过程,实现本文提出的基于公钥密码体制的认证改进方案,随后实施同样的攻击,对比原始方案与改进方案中网络情况。

实验中建立的网络模型如下:50个工作站平均分布在200×200的区域内,同时拥有一个接入点AP和一个认证服务器Radius,以及一个恶意攻击工作站。

仿真实验中我们以攻击者攻击次数作为自变量,考虑成功接入网络的STA数量以及STA认证成功率。

图7为攻击次数逐步增加时成功接入的STA数量。由图我们可以看出,本文提出方案中接入的STA数量有显著增加,当攻击次数达到100时,连接STA数比原协议要多近15个,同时在攻击次数达到50以上时原协议STA数下降加快,而改进方案中则一直平稳减少,波动不大。

图7 成功接入网络的STA数量随攻击次数变化情况

图8为STA认证成功率随攻击次数的变化情况,当攻击次数逐渐增加时STA认证成功的概率下降,但改进方案要比原协议成功率平均高约13.1%。

图8 STA认证成功率随攻击次数变化情况

4结语

本文首先分析了802.1x/EAP的认证流程,针对其管理帧和控制帧明文传输以及申请者和认证者间单向认证这两个问题,提出了基于公钥密码体制的802.1x双向认证方案。该方案中我们引入公钥密码体制利用申请者和认证服务器的公私钥实现两种双向认证,同时利用认证者与申请者和认证服务器之间的对称密钥实现两两间双向认证以及对申请者和认证者之间传输EAP帧中敏感域的加密,使得攻击者不能通过侦听获得当前认证进程,也不能够冒充合法AP伪造消息破坏认证成功,有效防御中间人攻击和拒绝服务攻击。实验结果表明,该方案中STA认证成功率明显提高,网络成功接入STA数量增加。

参考文献

[1] Aboba B,Blunk L,Vollbrecht J,et al.Extensible Authentication Protocol (EAP)[S].RFC 3748.2004-06.

[2] Brown E L.802.1X Port-Based Authentication[M].Auerbach Publications,2007:42-43.

[3] 孔凡铮.IEEE802.1x/EAP-TLS认证方式的研究与改进[D].河北工程大学,2011.

[4] 李永强,汪海航.针对802.1X-EAP安全认证协议的中间人攻击[J].计算机工程,2008,34(22):192-194,197.

[5] 汪定,马春光,翁臣,等.强健安全网络中的中间人攻击研究[J].计算机应用,2012,32(1):42-44,65.

[6] 周涛.802.11i中EAP-TLS认证分析与应用研究[D].中南大学,2013.

[7] 李小山.无线局域网协议的安全性研究[D].电子科技大学,2012.

[8] Kol Phanna.Security Analysis of IEEE802.11i in Wireless Local Area Network[D].中南大学,2012.

[9] 周超,周城,郭亮.IEEE 802.1X的安全性分析及改进[J].计算机应用,2011,31(5):1265-1270.

[10] 李爱玲,郭建林,韦潜.一种基于802.1x的双向认证方法及其形式语义分析[J].计算机应用与软件,2011,28(8):146-148,151.

[11] International Information Technology & Applications Association (IITAA).2011国际信息技术与应用论坛论文集[C].中国广东广州,计算机科学,2011.

[12] 高峰,禹龙.改进的基于IPv6的802.1x认证方法[J].新疆大学学报:自然科学版,2013,30(2):207-210.

中图分类号TP309

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.02.067

收稿日期:2014-07-02。国家自然科学基金重点项目(61262074);桂林电子科技大学研究生教育创新计划资助项目(GDYCSZ201422)。蒋华,教授,主研领域:数据库系统与信息安全技术。张乐乾,硕士生。阮玲玲,硕士生。

猜你喜欢

申请者公钥攻击者
机动能力受限的目标-攻击-防御定性微分对策
一种基于混沌的公钥加密方案
正面迎接批判
赴美签证申请者或需提交社交媒体个人信息
Electroacupuncture and moxibustion promote regeneration of injured sciatic nerve through Schwann cell proliferation and nerve growth factor secretion
P2X7 receptor antagonism in amyotrophic lateral sclerosis
德国接纳难民人数逾欧盟总接纳量的一半
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
有限次重复博弈下的网络攻击行为研究