您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > IEEE802.1x协议及应用
LOGOIEEE802.1x协议及应用第八组主讲:汤砚晗ContentsIEEE802.1x概述1802.1x认证详述2802.1x认证威胁模型3应用举例:联创802.1x认证4前沿及总结5术语解释RADIUS:RemoteAuthenticationDialInUserService,远程用户拨号认证系统,可以简单将其理解成一个存储有用户的用户名密码的服务器,能够对一些查询进行响应,从而得知用户是否合法【RFC2865】【RFC2866】EAP:ExtentionalAuthenticationProtocol,可扩展的认证协议,这是一个能够为没有接入网络的设备提供认证及网络接入的服务,工作于OSI七层模型中的数据链路层。之所以称其为“可扩展的”,是因为协议只是规定了一个框架,允许企业根据实际需要自行定制,但是它要求企业自己的标准符合IEEE标准中对于安全性的要求【RFC3748】EAPOL:EAPOverLAN,能够在局域网上传输EAP报文的协议DOS:DenialOfService,拒绝服务攻击。这是一个很广泛的概念,通常认为使服务不能正常完成的攻击都是DOS,譬如一群流氓要使一位客户不能在餐馆正常吃饭,那么他们可以伪装成老板告诉客户餐馆打烊,踢馆让餐馆瘫痪,伪装成老板收钱,阻止服务员上菜,等等,都可以成为拒绝服务攻击。1.IEEE802.1x概述802.1X是由IEEE提出的基于端口的网络访问控制标准【2001】。它能够提供一种对连接到局域网的用户进行认证和授权的手段,达到了接受合法用户接入,保护网络安全的目的。基于802.1x的认证,又称EAPOE认证,因为这个协议依赖于EAP实现通常,802.1x协议、802.1x认证、EAP协议都可以认为是同一个意思IEEE802.1x认证组成802.1X认证包括三个部分:请求方、认证方、认证服务器。请求方就是希望接入局域网/无线局域网来上网的设备,譬如一台笔记本,有时候也指设备上运行的客户端软件;认证方则是管理接入的设备,譬如以太网交换机或者无线接入点;认证服务器就是一个运行有支持RADIUS和EAP的软件的主机。在认证过程中认证方起到了关键作用。它将网络接入端口分成两个逻辑端口:受控端口和非受控端口,非受控端口始终对用户开放,只允许用于传送认证信息,认证通过之后,受控端口才会打开,用户才能正常访问网络服务。这种方式可以通过某些方法实现,譬如防火墙。802.1x认证示意图请求方与认证方之间通过EAPOL传递EAP报文,EAPOL报文在认证方那里封装成EAP报文送往认证服务器,所以认证方与认证服务器之间传送的则是真正的EAP报文,EAP报文这时可以被进一步通过其它报文封装,譬如TCP/UDP,以穿过复杂的网络环境请求方认证方认证服务器2.802.1x认证详述802.1x认证主要依赖EAP及EAPOL协议实现,请求方与认证方之间传送的是EAPOL报文,认证方与认证服务器之间传送的是EAP报文,在此先介绍EAP及EAPOL报文EAPOL报文格式以上封装从以太网帧结构的type/length字段之后开始。Type字段固定为0x888E,目前协议版本为1。定义的packettype有如下几种:ØType=0EAP-packer:认证信息帧,用于承载认证信息;ØType=1EAPOL-Start:认证发起帧,由客户端主动发起的;ØType=2EAPOL-logoff:推出请求帧,主动终止已认证状态;ØType=3EAPOL-key:密钥信息帧,支持对EAP报文的加密;Packetbodylength和packetbody则由packettype决定。EAP报文格式code:为一个字节,表示EAP数据包的类型,它有四个取值:Code=1————→RequestCode=2————→ResponseCode=3————→SuccessCode=4————→Failure(2)IDENTIFIER:为一个字节,它是一种ID标识,相当于TCP中的序号字段.(3)LENGTH:为两个字节,表示EAP的长度.包括Code,Identifier,Length以及Data等各域。超出Length域范围的字节视为数据链路层填充(padding),在接收时被忽略掉。(4)DATA:为0个或者多个字节,Data域的内容随着消息的不同而不同。success和failure消息没有data字段,为0字节.在request和response消息种,data域由type和type-data两部分组成。EAP支持多种安全机制,可以通过data域中的字段来进行协商采用何种安全机制认证流程(一个例子,并不代表其他的应用也是如此)1.当用户有上网需求时,打开IEEE802.1x的客户端程序,输入已经申请登记过的用户名和口令,发起连接请求。此时,客户端程序发出请求认证的报文给认证方(可以是一个交换机),开始启动一次认证。2.认证方收到请求认证的数据帧后,向客户端发送EAP-Requst/Identity。要求客户端程序将用户名送上来。3.客户端收到EAP-Requst/Identity后,响应认证方的请求回应一个EAP-Response/Identity,其中包括用户名。4.认证方收到Response/Identity后将该报文封装到RADIUSAccess-Request报文中,发送给认证服务器。5.认证服务器接收到认证方转发上来的用户名信息后,产生一个Challenge,通过接入设备将RADIUSAccess-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge(一个随机生成的密钥,通常为32位);6.认证方通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证;7.客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Password,在EAP-Response/MD5-Challenge回应给认证方;8.认证方将Challenge,ChallengedPassword和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证.9.RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法。然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;10.如果认证通过,用户通过标准的DHCP协议(可以是DHCPRelay),通过接入设备获取规划的IP地址,认证方发起计费开始请求给RADIUS用户认证服务器;11.RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。离线:用户发出一个EAPOL-Logoff报文,认证方受到报文后告知RADIUS服务器,RADIUS服务器停止计费之后,要求认证方告知用户已经断线,认证方向用户发送EAP-Failure用户收到EAP-Failure后,确认已断线,一次网络服务就此告终。安全性基础:经过MD5散列之后,攻击者无法从密文中恢复出用户名及密码,服务器方提供一个几个字节的“盐”值之后,可以将密钥空间大大扩大,从而防止字典攻击。3.802.1x认证威胁模型IEEE802.1x最初应用于PPP网络,后来又被用于IEEE802无线网络及有线网络中,这些网络中,攻击者都可能接触到用于EAP报文传输的信道,可能实现的攻击有:1.攻击者通过侦听EAP报文得知用户身份2.攻击者可以修改或伪造EAP数据报3.攻击者可能通过伪造EAP-Success/EAP-Failure包,使用户误以为已经认证或断线,或者重放身份数据包,使得认证服务器认为出现了相同的身份登录,造成拒绝服务4.攻击者可能通过进行离线字典暴力破解找出密码5.攻击者可能通过中间人攻击让用户接入到一个不安全的网络6.攻击者可能扰乱正常的认证协商,使得最终认证使用了较脆弱的安全机制7.攻击者可能从脆弱的安全机制中恢复出用户名及口令8.其它……对于以上所有攻击,都是针对这个大的框架来分析的,EAP标准中规定实际厂商的自定义协议都必须阐述相关的安全机制,现实中应用的802.1x认证都或多或少存在以上威胁,但是由于自己针对实际情况对机制进行了完善,802.1x认证以其设备成本低、实现容易,仍然获得了广泛的应用。国内此类应用如华为、锐捷、联创都有自己定制的802.1x协议4.应用举例:联创802.1x校园认证联创802.1x校园认证协议用于有线局域网环境中,报文格式与先前所述的EAP报文基本相同,但是因为业务有更多的需求,联创做了一些扩展,附加了一些字段用于通知如IP分配、上网金额不足、学校断网等信息,另外的一个特色是在某些报文中加入了linkage这个字符串作为标识。因此主要介绍其客服EAP自身缺陷所采取的措施。联创802.1x认证共分两个阶段:认证阶段和保持阶段,认证阶段与前述相同,保持阶段仅验证用户名。联创对802.1x认证的安全优化在联创协议中,“请求方”即宿舍中请求上网的计算机,“认证方”即提供接入的交换机,“认证服务器”则在外部网络上与交换机通讯,上面存有上网的卡号和密码在接入设备上,将所有物理端口划分成一个个独立的VLAN,使用户与接入设备之间的信道不会被其它用户监听到,从而使得之前的大部分攻击基本无法实现(除非在交换机与上网计算机之间搭建一条线路,如通过集线器)由于已经从物理上使得攻击可能性小,联创802.1x协议在交换机与用户之间的通讯安全性方面其实是非常脆弱的。认证通过后,每隔20s左右服务器会对客端进行身份认证,但这个认证主要是为了计费需要,安全性上不具有多大意义。联创协议认证过程(抓包分析)解释:(打开抓包数据)1.客户机与交换机之间的通讯都是通过EAPOL封装的2.认证过程联创802.1x协议脆弱性演示1.重放攻击(使用的是以前的数据包)2.中间人攻击(可以同时冒充客户端和认证方)3.用户信息泄漏(可以解析出用户名密码)安全基础:1.这些攻击建立在能够对交换机与客机之间的信道进行监听的基础上,而现实中不易实现2.对于在线穷举字典攻击(即不断变换密码请求验证),会遭到认证服务器的拒绝,而且认证需要一段时间才能得到响应获知密码正确与否,以一次认证需要5s中为例,那么穷举8位数字密码需要15年,早已超出了密码的生存期,而且还是在不考虑服务器拒绝连续认证的前提下3.即使有人不幸被此类攻击中招,首先此类攻击不能够大规模执行,因此不会影响到大部分用户。4.这个电信网络对于端口采取了账户+IP+MAC地址绑定的方式,可以避免仿冒5.前沿及总结IEEE802.1x认证提供了在无IP环境下对接入用户的身份认证和访问控制机制,具有成本低、实现容易的特点,它与其它认证的不同是它可以提供多种认证方式,如口令,智能卡等。802.1x认证仅提供了一个大致框架,目前出现了许多对802.1x协议安全性上进行的改进,包括引进公钥密码体制的EAP-TLS,EAP-TTLS,基于SIM卡的EAP-AKA,EAP-SIM,基于预分配密钥的EAP-PSK、EAP-FAST等。在这些改进措施中,通常扩展的密码体制都会使原本简单的802.1x认证变得更加复杂。根据先前所述,802.1x认证主要面临的威胁是重放、中间人攻击和DOS攻击问题,针对此类攻击,国内有人提出了一种在原有802.1x协议基础上改进的方案,借助了原来一些没有使用的字段提高了安全性,具体可以参考IEEE802.1xofprotocolanalysisandimprovement【2010】一文LOGO
本文标题:IEEE802.1x协议及应用
链接地址:https://www.777doc.com/doc-2877023 .html