




免费预览已结束,剩余99页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3. 无线局域网安全认证技术3.1 安全认证整体综述作为一种公共移动数据接入方式,PWLAN(公共无线局域网)的安全问题成为商业用户最关心的问题,包括合法用户身份信息(假冒)的安全,敏感商业信息的安全,防止黑客的攻击等等,成为影响人们使用PWLAN业务信心的关键问题。目前无线局域网在全球快速发展,网络建设所采用的方法也都不尽相同,在某种程度上可以说是混乱的,在公共区域中尤为如此。根据Wi-Fi联盟的资料显示,目前最普遍接入方式是基于浏览器认证,亦称作通用接入方法(UAM)。通过浏览器认证,接入控制器将用户的浏览器重定位到一个本地Web服务器,其过程受TLS保护。用户到UAM登陆页面进行身份认证,在发送到Web服务器的表格中输入用户名和密码。这种方法的显著优点是配置简单,并且事实上移动用户只需支持Web浏览就可以访问接入系统。 虽然UAM简单并且易于采用,它有一些严重的缺陷。1)用户的经验。若用户的目的是使用诸如e-mail客户端的其它一些应用程序,进行网络访问的第一步,也就是打开浏览器,就并不习惯。2)企业用户经常需要进行VPN的配置,这与访问一个本地的Web服务器是相冲突的。3) 典型的,UAM把用户的认证信息暴露给所访问网络的Web服务器。这一特征对于不愿暴露用户数据库的运营商而言是无法接受的,即使是暴露给合法的漫游伙伴。4)除非用户手工检查服务器使用的证书以保护页面(用户极少这样做),用户的认证信息可能在不经意间透露给一个运行恶意无线接入点(AP)的攻击者。 开发接入控制器,就是为了解决PWLAN在安全认证方面的缺陷和弱点,针对PWLAN目前的现状,它背负着三大研究主题。3.1.1 三大主题 实现WPA以及从UAM到WPA的平滑过渡技术是开发接入控制器的主题之一从最初利用ESSID、MAC限制,防止非法无线设备入侵的访问控制,到基于WEP数据加密的解决方案,再到预定为去年年底发布的802.11i,以及从2003年12月1日起我国开始施行的WLAN产品的新标准WAPI(无线局域网鉴别和保密基础结构),无线业界一直致力于WLAN的安全性提高方面的工作。那么,这么多的安全方案该采用哪种呢,下面我们具体讨论当前各种安全方案的特点:1)业务组标识符(BSSID):这是人们最早使用的一种安全认证方式,即为无线接入点AP设置BSSID,强迫无线终端接入固定SSID的AP来实现接入控制。2) MAC地址过滤:这是一种很常用的接入控制技术,在运营商铺设的有线网络中也经常使用,即AP只允许有合法MAC地址终端接入。3)有线等价安全(WEP):WEP协议是IEEE802.11标准中提出的认证加密方法。它使用RC4流密码来保证数据的保密性,通过共享密钥来实现认证,理论上增加了网络侦听,会话截获等的攻击难度。4) PPPoE认证:PPPoE是目前使用最多的一种认证技术。它的用户认证方式主要包括PAP和CHAP两种,利用明文或弱加密的方式传送口令,不适用于开放的无线环境。5) DHCP+WEB认证:此为基于应用层的认证方式,通过http协议获取用户输入的用户名和密码,无须专门安装客户端软件,应用范围广。用户名和密码以明文(采用http1.0)或弱加密(采用http1.1中的MD5算法)方法传输。6) 802.1x协议 IEEE 802.1X协议,称为基于端口的访问控制协议(Port Based Network Access Control Protocol)是由IEEE于2001年6月提出的,符合IEEE 802协议集的局域网接入控制协议,主要目的是为了解决无线局域网用户的接入认证问题,能够在利用IEEE 802局域网优势的基础上提供一种对连接到局域网用户的认证和授权手段,达到接受合法用户接入,保护网络安全的目的。802.1x协议旗下的认证方式有很多种,其中大部分的认证协议支持STA和AS的相互认证,AP的身份认证由AP和AS之间设定的共享密钥完成。是目前厂家支持和应用范围最广的安全认证协议。7) WAPI(WLAN Authentication and Privacy Infrastructure)中国在2003年5月份提出的无线局域网国家标准 GB15629.11。这种安全机制由 WAI(WLAN Authentication Infrastructure)和WPI(WLAN Privacy Infrastructure)两部分组成,WAI和WPI分别实现对用户身份的鉴别和对传输的数据加密。WAI是建筑在公钥体系上的,STA和AP均需要配置公钥证书,ASU(Authentication Service Unit)是证书的颁发和核实机构,也就是说,WAI实现了STA和AP的互相认证。作为PWLAN来说,除了在安全方面的考量之外,面对公众的网络中用户使用的简单和容易管理也是十分重要的,这也是为什么大家公认的安全认证TLS不能被广泛接受的原因,因为证书的管理是一项烦人的工作,而强口令认证虽然安全性差,但是用户使用度却高。另外,和GPRS移动网络融合的重要性(下面将会谈到),决定了SIM认证在PWLAN中的地位。因此本项目考虑了以上因素,提出在接入控制器中使用WPA安全协议,它采用802.1x为认证接入方法,AES(高级加密标准)为加密方式,是即将公布的802.11i安全标准的子集。 实现与各类运营商后台认证系统之间的认证、授权、计费兼容是开发接入控制器的主题之二目前所采用的接入控制系统的端到端体系结构中存在一些矛盾,矛盾产生的原因是当今的经营商所用的不同的AAA后台。例如,宽带接入网自然地使用RADIUS服务器,而(GSM/GPRS)蜂窝网与基于SS7的后台交互。PWLAN的部署以热点地区为主,提供局部的高速数据接入,而现有的移动网络(如GPRS)在全国范围内部署,提供广域的窄带数据接入,因此实现WLAN和移动网络的融合,支持移动终端设备在不同移动网络之间的无缝漫游和切换而不中断已有的数据连接成为移动运营商们发展移动数据业务的亮点,必将增强移动运营商和用户开展和使用移动数据业务的弹性和自由度。目前移动网络已经具有了成熟的漫游支持体系结构,拥有大量的移动用户群,所以实现WLAN和移动网络的融合将有利于PWLAN业务使用现有移动网络资源。同时,对于用户来说,自从使用GSM开始,移动用户已经适应了使用SIM卡(包括后来CDMA的UIM卡)作为用户身份标志,开机上网感觉不到接入网络认证和授权过程的移动通信体验。因此使用SIM卡认证实现公共接入,不但在STA端实现了简单易用,最重要的是能够充分利用的移动网络的AAA后台。目前PWLAN和GPRS融合的SIM认证方式有两种,一种是:手机密码认证方式(虚拟SIM认证方式),另一种是在802.1x协议之上的EAPSIM认证方式。前者即用户以手机号码作为帐号,通过短消息或1860申请上网密码。登陆时输入手机号码和密码即可上网,上网费用记在申请业务的手机帐号上。后者则是用户将SIM卡放入SIM读卡器或者WLAN上网卡的SIM卡插槽中,登陆时不用输入用户名和密码,只需通过SIM卡中的有关信息进行认证,费用计入该SIM卡中。 实现与RSN接入点与非RSN接入点兼容是开发接入控制器的主题之三为兼容RSN及非RSN接入点设备,接入控制器EAP认证包含二种方式:1)EAP终结方式:EAP报文在接入控制器上被终结,EAP报文中的认证信息被提取出来之后,封装成标准Radius报文,并送到Radius服务器; 2)EAP透传方式:接入控制器不对EAP认证报文进行特殊处理,直接送到Radius服务器认证; 方式一中接入控制器作为认证者,直接和认证服务器进行认证信息交互。方式二中接入控制器作为透传者,将认证信息发送给作为认证者的设备,此时只实现对用户的控制。3.2 802.1x协议3.2.1 802.1x协议综述 802.1x提出背景有线局域网通过固定线路连接组建,计算机终端通过网络接入固定位置物理端口,实现局域网接入,这里没有直接控制到端口的方法,也不需要控制到端口,这些固定位置的物理端口构成有线局域网的封闭物理空间。但是,由于无线局域网的网络空间具有开放性和终端可移动性,因此很难通过网络物理空间来界定终端是否属于该网络。随着无线局域网的广泛应用,如何通过端口认证来实现用户级的接入控制就成为一项非常现实的问题。802.1X正是基于这一需求而出现的一种认证技术,也就是说,对于有线局域网,该项认证没有存在的意义。IEEE 802.1X协议,称为基于端口的访问控制协议(Port Based Network Access Control Protocol)是由IEEE于2001年6月提出的,符合IEEE 802协议集的局域网接入控制协议,主要目的是为了解决无线局域网用户的接入认证问题,能够在利用IEEE 802局域网优势的基础上提供一种对连接到局域网用户的认证和授权手段,达到接受合法用户接入,保护网络安全的目的。目前,IEEE 802.1X认证协议作为业界最新的标准认证协议已经得到了很多网络设备制造商的重视,Cisco、3Com、Avaya、D-Link等纷纷组织研发力量进行基于802.1X协议相关产品的开发。作为软件厂商,微软在Windows XP中已经整合了IEEE 802.1X客户端软件,无需要另外安装客户端软件。 802.1x的体系结构IEEE 802.1X协议的体系结构包括三个重要的部分:客户端(Supplicant System)、认证系统(Authenticator System)、认证服务器(Authentication Server System)。客户端系统,称作申请者,一般为一个用户终端系统,该终端系统通常要安装一个客户端软件,当用户有上网需求时,通过启动这个客户端软件发起IEEE 802.1X协议的认证过程。为了支持基于端口的接入控制,客户端系统需支持EAPOL协议。认证系统,称作认证者,在WLAN中就是无线接入点(wireless access point),在认证过程中只起到透传的功能,所有的认证工作在申请和认证服务器上完成。认证服务器,通常采用远程接入用户认证服务(Remote Authentication Dial-In Service,RADIUS)的服务器,该服务器可以存储有关用户的信息,通过检验客户端发送来的信息来判别用户是否有权使用网络系统提供的网络服务。802.1X标准采用现有的认证协议,即IETF提出的PPP协议的扩展-EAP(Extensible Authentication Protocol,可扩展认证协议,详见3.5),EAP消息包含在802.1X消息中,被称为EAPOL,即EAP over LAN(在无线局域网中称作EAPOW,也就是EAP over Wireless),在申请者和认证者之间传输;Authenticator 与 Authentication Sever 间同样运行 EAP 协议,EAP帧中封装了认证数据,将该协议承载在其他高层次协议中,如 Radius,以便穿越复杂的网络到达认证服务器(EAP Relay),称为EAP over RADIUS。图.1是对802.1X协议体系结构的生动描述:Supplicant802.1X (EAP over Wireless)Authenticator RADIUS serverEAP over RADIUSThe World图.1 802.1X的体系结构认证系统和认证服务器之间的通信可以通过网络实体进行,也可以使用其他的通信通道,例如认证系统和认证服务器集成在一起,二个实体之间的通信就可以不采用EAP协议。3.2.2 端口控制原理 逻辑端口的概念认证者对应于不同用户的端口(可以是物理端口,也可以是用户设备的MAC地址、VLAN、IP等)有两个逻辑端口:控制端口(controlled port)和非控制端口(uncontrolled port)。非控制端口始终处于双向连通的状态,不管是否处于授权状态都允许申请者和局域网中的其他机器进行数据交换,主要用来传递EAPOL协议帧,可保证随时接受客户端发出的认证EAPOL报文;控制端口只有在认证通过的状态下才打开,用于传递网络资源和服务,控制端口可配置为双向受控和仅输入受控两种方式,以适应不同的应用环境。值得注意的是,在IEEE 802.1X协议中的“控制端口”和“非控制端口”是逻辑上的理解,设备内部并不存在这样的物理开关。对每个用户而言,IEEE 802.1X协议均为其建立一条逻辑的认证通道,该逻辑通道其他用户无法使用,不存在端口打开后被其他用户利用的问题。这里所说的端口是一个逻辑上的广义端口的概念的统称,并非单指物理端口,应该包含有物理端口、MAC、VLAN、IP等识别用户或用户群的标识。 端口控制原理逻辑端口有三种控制状态(参数AuthControlledPortControl),端口的控制状态决定了客户端是否能接入网络:1 Force Authorized:强开,端口一直维持授权状态;2 Force Unauthorized:强关,端口一直维持未授权状态;3 Auto:激活802.1X,初始设置端口为未授权状态,并通知设备管理模块需要进行端口认证,这也是缺省值,后面的讨论都默认是该状态。当客户机尝试连接至AP时控制端口被强制进入非授权状态,(unauthorized),在该状态下,除了802.1X报文外不允许任何业务输入、输出。当客户通过认证后,端口状态切换到授权状态(authorized),允许客户端通过端口进行正常通信,可以进行如DHCP、HTTP、FTP、SMTP、POP3等协议数据的传输。图.1说明了802.1X端口控制原理。由此可见,802.1X的认证过程,就是控制系统的802.1X逻辑端口认证状态的过程。图.1 802.1x端口控制原理结构示意图3.2.3 协议实现的状态机802.1X协议一共描述了8个状态机:端口定时器状态机,认证者状态机,传输密钥状态机,重认证定时器状态机,后端服务器状态机,受控方向状态机,客户端状态机,接收密钥状态机。Supplicant和Authenticator所需要实现的状态机是不同的。下面的表格中列出了Supplicant和Authenticator的状态机实现规定。表 supplicant和Authenticator实现的状态机SupplicantAuthenticatorPort Timers状态机Suplicant PAE 状态机Supplicant Key Transmit状态机Key Receive 状态机Port Timers状态机Authenticator PAE状态机Reauthentication Timer 状态机Controlled Directions 状态机Authenticator Key Transmit状态机Backend Authentication状态机Key Receive状态机下面一一说明其中最重要的三个状态机: Supplicant状态机图.1 申请者supplicant的状态机从图中可以看到,客户端的状态机一共有LOGOFF(退出)、DISCONNECTED(未连接)、CONNECTING(连接中)、AUTHENTICATING(认证中)、ACQUIRED(质询)、AUTHENTICATED(已认证)和HELD(保持)七个状态,实现的关键是如何根据条件判断Supplicant或Authenticator所处状态的转移。下面的状态机也是如此。 Authenticator的状态机图.1 认证者Authenticator的状态机 后端服务器的状态机图.1 后端服务器的状态机3.3 证书管理3.3.1 证书技术初识数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在Internet上解决我是谁的问题,就如同现实中我们每一个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份或某种资格。数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认; 2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。数字证书可用于:发送安全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电子交易活动。数字证书的格式一般采用X.509国际标准。由于证书能够严谨的标识个人身份,因此它被引用到了安全认证方法中来,较强口令而言,证书的保密性,数据的完整性,用户身份的确定性和不可否认性使得基于证书的认证具有更高的安全可靠性,下面就对证书作个详细的介绍,以及如何生成证书。3.3.2 证书在安全认证中的作用本项目中关于的认证的三种方法:EAPTLS,EAPTTLS,EAPPEAP,都引用了证书作为认证中所必须的一种信息。表 证书在不同认证方法中的作用认证证书的作用EAPTLS客户端和认证服务器端均需要证书,用来验证彼此身份EAPTTLS认证服务器端需要证书,用来验证服务器的身份,EAPPEAP认证服务器端需要证书,用来验证服务器的身份,3.3.3 证书的格式目前国际上通用的证书格式为X.509格式。X.509定义了一个由X.500目录向它的用户提供的鉴别服务框架。每个证书包含用户的公开密钥和用可信证书权威机构私人密钥的签名。X.509定义了基于使用公开密钥证书的可选鉴别协议。X.509是一个重要的标准,在X.509中定义的证书结构和鉴别协议已有了广泛的应用。X.509最早于1988年发布,1993年发布了一个修订后的建议书,1995年又起草了第三版。X.509基于公开密钥加密和数字签名。一个可信的证书机关(CA)给每个用户分配一个唯一的名字并签发一个包含名字和用户公开密钥的证书。X.509方案的核心是与每个用户联系的公开密钥证书。这些用户证书采取由某些可信证书权威机构(CA)创建,由CA或用户放在目录中。X.509 v3证书基本字段的基本语法如下:Certificate := SEQUENCE tbsCertificate TBSCertificate,主题和发行者的名字,与主题相联系的公开密钥,有效期和其他相关信息signatureAlgorithm AlgorithmIdentifier,含有CA签发证书使用的密码学算法标识符,必须含有与序列tbsCertificate中签名字段算法标识符同样的算法标识符signatureValue BIT STRING 包括对tbsCertificate的ASN.1 DER编码的数字签名,这个签名结果值然后作为BIT STRING 类型的ASN.1编码,并且包括在证书的签名字段中,CA能证明在tbsCertificate字段中信息的有效性TBSCertificate := SEQUENCE version 0 EXPLICIT Version DEFAULT v1,版本字段,用于识别证书格式。使用扩展时, 用X.509v3(值是2);但若无扩展项,UniqueIdentifier将存在,这时使用X.509v2(值是1);如果仅仅基本字段存在,使用版本1(版本号将在证书中删掉)serialNumber CertificateSerialNumber,CA给每一个证书分配一个序列号,CA签发的证书唯一识别signature AlgorithmIdentifier,含有与序列Certificate signatureAlgorithm字段同样的算法标识符issuer Name,发行者字段必须含有一非空的能辨别出的名字(DN),也就是CA的名称。validity Validity,时间间隔,日期证书有效期开始(notBefore)和日期证书有效期结束(notAfter)subject Name,标识,与存储在主体公开密钥字段中的公开密钥相关联的实体,也就是用户名subjectPublicKeyInfo SubjectPublicKeyInfo,携带公开密钥和密钥使用算法的标识符issuerUniqueID 1 IMPLICIT UniqueIdentifier OPTIONAL, - If present, version shall be v2 or v3subjectUniqueID 2 IMPLICIT UniqueIdentifier OPTIONAL, - If present, version shall be v2 or v3extensions 3 EXPLICIT Extensions OPTIONAL - If present, version shall be v3Version := INTEGER v1(0), v2(1), v3(2) CertificateSerialNumber := INTEGERValidity := SEQUENCE notBefore Time, notAfter Time Time := CHOICE utcTime UTCTime, generalTime GeneralizedTime UniqueIdentifier := BIT STRINGSubjectPublicKeyInfo := SEQUENCE algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING Extensions := SEQUENCE SIZE (1.MAX) OF ExtensionExtension := SEQUENCE extnID OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING 3.3.4 证书的生成 该部分内容请参看客户端实现部分。3.4 WEB认证(UAM)3.5 EAP可扩展认证协议3.5.1 EAP认证方式综述可扩展认证协议EAP是PPP(Point-to-Point Protocol)认证中的一个通用协议,特点是EAP在链路控制阶段(Link Control Protocol,LCP)没有选定一种认证机制,而把这一步推迟到认证阶段。顾名思义,EAP可以支持多种认证机制,允许使用一个“后端”服务器来实际实现各种认证机制,认证者仅需要传送认证信息。EAP协议本身具有良好的可扩展性,这使得在添加新的认证机制时丝毫不会影响现有实现的继续使用。 EAP认证过程简述EAP认证过程简述如下:1) 在链路建立阶段完成后,认证者发送一个或多个请求(Request)数据包来对对方进行认证,该数据包中有一个类型域表明请求的类型。2) 对方发送一个响应(Response)数据包对每一个请求做出应答。响应包中的类型域与请求包中的类型域对应。3) 认证者发送一个成功(Success)或失败(Failure)数据包结束认证阶段。 EAP特点可扩展认证协议EAP提供了灵活的链路层安全结构,特点包括:1) 简单封装协议:不依赖于IP、ACK/NAK无滑动窗结构、不采用分组,因此操作简单;2) 可以运行在任何链路层之上(PPP、802.3、802.5、802.11等),具有良好的适用性;3) EAP采用高层认证技术,并且支持多种IETF安全协议标准(TLS、IKE、GSS-API等),4) 从而降低了链路层运算资源在安全上的开销;5) 可方便的扩展支持未来的认证协议(如DIAMETER),具有良好的可扩展性;6) 可以运行于有损或无损媒体之上,包括无线媒体。EAP可以应用于以下几个地方:EAP/PPP,EAPOL,EAP/RADIUS,EAP/Diameter,COPS访问PIB。3.5.2 EAP协议在802.1x中的应用 EAPOL消息的交互过程EAP消息封装在802.1X消息中,称作是EAPOL。EAPOL并没有一个固定的交互模式,下面以申请者发起的一次性口令认证为例说明大多数情况采用的EAPOL消息的交互过程。图.1 申请者发起的一次性口令认证如图所示,在申请者和认证者之间传输的EAPOL消息用实线表示,承载于高层协议的EAP消息用虚线表示,也可以看出,认证者完成EAP消息的重新封装(re-packaging)来传输认证消息。根据采取的不同认证方法,质询(challenge)消息的数量和内容会有所不同,当申请者收到EAP-Success消息,说明认证成功可以接入LAN了。 EAPOL消息的封装EAPOL数据包的格式在802.1X协议中规定,格式如图3.1.4所示。0 2 3 4 6- NPAE Ethernet typeProtocol versionTypeLengthPacket Body图.1 EAPOL数据包格式PAE Ethernet type:88-8E;Protocol version:01;Type::Packet Type包含有以下五种EAP-Packet00,认证信息帧,用于承载认证信息;EAPOL-Start01,认证发起帧;EAPOL-Logoff02,退出请求帧;EAPOL-Key03,密钥信息帧;EAPOL-Encapsulated-ASF-Alert 04,用于支持 ASF(Alert Standard Forum)的 Alerting 消息;Length: Packet Body Length表示数据长度,也就是EAP包的长度,如果为0表示没有后面的数据域(比如EAPOL-Start和EAPOL-Logoff类型的包);Packet Body:根据不同的Type有不同的内容;其中 EAPOL-Start,EAPOL-Logoff 和 EAPOL-Key 仅在 Supplicant 和 Authenticator 间存在,在认证者和认证服务器间,EAP-Packet报文重新封装承载于Radius协议之上,以便穿越复杂的网络到达认证服务器。 EAPOL-Encapsulated-ASF-Alert 封装与网管相关信息,例如各种告警信息,由 Authenticator 终结。 EAP数据包的封装EAP数据包的格式当EAPOL数据包Type域为EAP-Packet时,Packet Body为EAP数据包结构,这一结构在RFC 2284 PPP Extensional Authentication Protocol中定义,如图3.1.5所示。0 1 2 4-N CodeIdentifierLengthData图.1 EAP数据包格式Code:指明EAP包的类型,一共有4种Request1,请求包Response2,响应包Success3,成功包Failure4,失败包Identifier:辅助进行Response和Request消息的匹配;Length:EAP包的长度,包含Code、Identifier、Length和Data域的全部内容。超出Length域范围的字节应该视为数据链路层填充(padding),在接收时应该被忽略掉。Data:由Code域决定。1) Success和Failure:Success数据包由认证者发送给对方,以确认认证成功。认证者必须发送一个Code域为3的EAP数据包(即Success)。如果认证者不能为对方进行认证(给一个或多个Request发送“不可接受”Response),则实现必须发送一个Code域为4的EAP数据包(即Failure)。认证者可能希望在发送Failure之前发送几个Request以顾及到人为地打字错误。实现须知:因为Success和Failure数据包不被确认,所以它们有可能丢失。对方必须顾及到这种情况。对方可以用一个网络协议数据包(Network Protocol packet)来作为可选的Success的暗示。同样,收到LCP Terminate-Request可以视为收到Failure。Success和Failure数据包的格式如下所示。传输时各域从左到右依次进行。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Code 3 Success; 4 Failure.Identifier:Identifier域为一个字节,辅助匹配Response应答。Identifier域必须与其正在应答的Response域中的Identifier域相匹配。 Length:4Success和Failure类型的包没有Data域,相应的Length域的值为4;2) Request和Response数据包: Request数据包由认证者发送给对方。每一个Request有一个type域来表明正在请求的类型。认证者必须发送一个Code域为1的EAP数据包(即Request)。在收到有效的Response数据包之前,或者在可选的重发计数器计数满(expires)之前,必须发送另外的Request数据包。重新发送的Request必须保持Identifier的值不变以区别于新的Request。Data域的内容依赖于Request的Type。对方必须发送一个Response作为对Request的应答。Response必须仅在对接收到的Request作出应答时发送,从不根据定时器重发。Response中的Identifier域必须与Request中的Identifier域匹配。实现须知:因为认证过程经常涉及到用户输入,在决定重发策略和认证超时设定(timeout)时要谨慎。建议使用重发定时器为6秒,最大重传次数为10次作为缺省值。人们可能希望某些特定情况下(例如,涉及到Token Cards的时候)超时设定能更长些。另外,对方必须准备好在等待用户输入时悄悄丢弃所收到的重传数据包。Request和Response数据包的格式如下所示,传输时各域从左到右依次进行。0 1 2 4 5 -NCodeIdentifierLength TypeType-Data .Code: 1 - Request; 2 - Response.Identifier: Identifier域为一个字节。在等待Response时根据timeout而重发的Request的Identifier域必须相同。任何新的(非重发的)Request必须修改Identifier域。如果对方收到了重复的Request,并且已经发送了对该Request的Response,则对方必须重发该Response。如果对方在给最初的Request发送Response之前收到重复的Request(也就是说,它在等待用户输入),它必须悄悄的丢弃重复的Request。Length: Length域为两个字节,表明EAP数据包的长度,包括Code,Identifier,Length,Type以及Type-Data等各域。超出Length域的字节应视为数据链路层填充(padding),在接收时应该被忽略掉。Type: Type域为一个字节,该域表明了Request或Response的类型。在EAP的Request或Response中必须出现且仅出现一个Type。通常,Response中的Type域和Request中的Type域相同。但是,Response可以有一个Nak类型,表明Request中的Type不能被对方接受。当对方发送Nak来响应一个Request时,它可以暗示它所希望使用并且支持的认证类型。各种Type的原始定义稍后给出。Type-Data:Type-Data域随Request和相对应的Response的Type的不同而不同。 认证消息的封装TypeType DataType:1个字节,就是指出的EAP认证类型1-Identity;2-Notification;3-Nak(Response Only)4-MD5-Challenge;5-One-Time Password(OTP);6-Generic Token Care(GTC);13-Transport Layer Security (TLS)17-Cisco Lightweight EAP(LEAP)18-Subscriber Identification Module(SIM) 21-Tunneled TLS(TTLS)25-Protected EAP(PEAP)1) IdentityIdentify类型用来查询对方的身份。通常,认证者发送该类型作为最初的Request。在期望与用户进行交互的场合还可以包括一条可选的可显示的消息以给对方作出提示。必须对包含Type 1(Identity)的Request发送Response以作出响应。实现须知:对方可以通过用户输入获得Identity。建议在Identity无效或者认证失败时认证者重发(retry)Identity Request以顾及到用户的打字错误。建议在发送Failure应答来结束认证阶段之前最少重发Identity Request 3次。在发送新的Identity Request之前可以发送一个Notification Request来暗示认证无效(可选地,失败可以通过新的Identity中的消息来暗示)。 Type:1Type-Data:该域可以包含一条可显示的消息。Response用该域来返回Identity。如果Identity未知,该域长度应该为0。该域不允许以null作为终结符。该域的长度由Request/Response中的Length域来决定,所以null是不必要的。2) Notification:Notification Type可选地由认证者用来给对方传递一条可显示的消息。对方应该把这条消息显示给用户,如果无法显示则纪录(log)该消息。使用它的目的是在某些紧急情况下(imperative nature)提供一条确认通知(acknowledged notification)。这样的例子包括带一个超时设定(expiration)的口令,OTP序列整数(接近0),认证失败警告等等。在大多数情况下,notification不应该是必要的。Type:2Type-Data:Type-Data域包含一条长度大于0字节的可显示的消息。消息的长度由Request数据包中的Length域决定,消息不允许以null作为终结符。必须对带有Type域为2(Notification)的Request发送一个Response。Response中的Type-Data域长度为0字节,Response应该立即发送(与消息显示或纪录的方法无关)。(3)NakNak 仅对Response有效,当Request中希望(desired)的认证类型不可接受时,发送Nak作为对Request的响应。Authentication Type的值为大于等于4。Response中包含了对方所希望使用的认证类型。Type:3Type-Data:该域必须包含一个唯一的字节,表明希望的认证类型。4) MD5-ChallengeMD5-Challenge Type与PPP CHAP协议(参考文献3,制定了MD5算法)类似。更多的实现细节应该参考PPP挑战握手认证协议RFC(参考文献3)。Request包含一个对对方进行“挑战”的消息,必须对这样的Request发送一个Response以作出应答。Response可以为Type 4(MD5-Challenge)或者Type 3(Nak)。Nak应答表明对方希望的认证机制类型。所有的EAP实现必须支持MD5-Challenge机制。Type:4Type-Data:Type-Data域的内容如下所示。这些域的用法请参考PPP 挑战握手认证协议。5) One-Time Password(OTP)One-Time Password系统在“One-Time Password System(参考文献4)”中定义。Request包含了一条包含一个OTP挑战的可显示的消息。必须对这样的Request发送一个Response以作出应答。Response必须为Type 5(OTP)或Type 3(Nak)。Nak应答表明了对方希望使用的认证机制类型。Type:5Type-Data:Type-Data域包含了该OTP挑战,为Request中的可显示消息。在Response中,该域用来存放来自OTP字典(参考文献4)的6个词(word),该消息不允许以null作为终结符。该域的长度由Request/Reply数据包中的Length域决定。6)Generic Token CareGeneric Token Card Type是为要求用户输入的各种Token Card实现定义的。Request包含一条ASCII文本消息,Reply包含认证所必需的有关Token Card信息。典型地,这些信息将是由用户从Token Card设备读取并以ASCII文本输入的信息。Type:6Type-Data:Request中的Type-Data域包含了长度大于0的可显示的消息。消息的长度由Request中的Length域决定,该消息不允许以null作为终结符。必须对包含Type为6(Generic Token Card)的Request发送一个Response以作为响应。Response包含了认证所必需的Token Card信息,信息的长度由Response数据包中的Length域决定。3.5.3 EAPOL-Key的封装当EAPOL数据包Type域为EAPOL-Key时,Packet Body为EAPOL-Key数据包结构,主要用于密钥管理的四步握手协议,在密钥管理部分将给出详细说明。图形象地说明了EAPOL的消息封装。图 EAPOL的消息封装1) EAPOL-Key消息的封装RSN的密钥管理中,申请者和认证者之间进行协商密钥,都是采用EAPOL-Key对消息进行封装。其数据包格式和802.1x中的规定一致,所不同的是密钥描述符与802.1x及TGi的规定都有所区别。下面介绍一下RSN密钥的描述格式。如下图所示:图RSN密钥描述符各域的说明如下:Descriptor Type:1个字节,指明密钥的类型,对于RSN,值为254(十进制)。Key Information:两个字节,各位的含义说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语基础词法试题及答案
- 330kV升压储能站建设项目经济效益和社会效益分析报告
- 物流基础试题及答案
- 不锈钢生产线项目风险评估报告
- 工业园区储能项目建设工程方案
- 城市地下燃气管网及供气设施建设改造项目技术方案
- 离婚不离家协议书范本:财产分割与共同抚养子女
- 离异父母子女抚养责任分配及监护权协商合同范本
- 离婚抚养权协议书:子女教育、医疗及生活费用范本
- 生命科学领域基因测序数据保密合作协议
- 手术后疼痛评估与护理团体标准
- 五金公司质量管理制度
- 中试平台运营管理制度
- 2025年中国汽车用PTC电加热器数据监测报告
- 海参池养殖合作合同协议书
- 幼儿园中班科学语言《望着月亮吃大饼》课件
- 日本《大肠癌治疗指南》解读
- 颞下颌关节肿瘤
- 素质的课件教学课件
- 高考语文专题复习:构词方式
- 设计院管理规章制度手册及实施指南
评论
0/150
提交评论