
安全协议-第7章-下.ppt
50页安全协议分析与设计安全协议分析与设计第二章下第二章下卫剑钒PPP认证与认证与RADIUS nPPPPointtoPointProtocol是IETF推出的点到点线路的数据链路层协协议.它替代了非标准的SLIPSerialLineInternetProtocol,成为正式的Internet标准,标准可见RFC1661、RFC1662和RFC1663.nPPP支持在各种物理类型的点到点串行线路上传输网络层协议数据,有丰富的可选特性,如支持多种压缩方式、支持动态地址协商、支持多链路捆绑、提供多种身份认证服务等.nPAP和CHAP是PPP最初规定的两种认证方法,但这两种认证方法都不安全,故IETF把EAP作为一个可选项加入到了PPP的认证方法之中.nRADIUS是一种AAAAuthentication,Authorization,Accounting协议,它采用客户端/服务器模型,提供了一种较为通用的框架,使得PAP、CHAP、EAP以及其他认证方法都可作为RADIUS所承载的上层认证机制.2RADIUS nRADIUSRemoteAuthenticationDialInUserService即远程用户拨号认证系统,它是一种在网络接入服务器NetworkAccessServer和共享认证服务器间传输认证、授权和配置信息的协议.此外,RADIUS也负责传送网络接入服务器和共享计费服务器间的计费信息.nRADIUS由RFC2865、RFC2866定义,是一种应用最广泛的AAA协议.协议最初的目的是为拨号用户进行认证和计费,后来经过多次改进,形成了一项通用的AAA协议,可用于拨号、ADSL拨号、小区宽带、IP等.IEEE提出的802.1x标准,是一种基于端口的访问控制标准,也将RADIUS协议作为首选的后台认证协议.3RADIUS的客户端和服务器的客户端和服务器nRADIUS是一种客户端/服务器结构的协议,在拨号系统中,RADIUS客户端是NASNetAccessServer,RADIUS服务器是ASAuthenticationServer.NAS同时又是一个服务器,NAS对应的客户端是拨号用户的终端.事实上,任何运行RADIUS软件的终端都可以是RADIUS客户端或服务器.4RADIUS数据包数据包nNAS和AS通过UDP进行通信,AS的1812端口负责认证.采用UDP的基本考虑是因为NAS和AS大多在同一个局域网中,使用UDP更加快捷方便.5RADIUS数据包解释数据包解释n代码CODE域用来标识RADIUS包的类型,常用的关于认证的包类型有:接入请求Access-Request,值为1;接入接受Access-Accept,值为2;接入拒绝Access-Reject,值为3;接入质询Access-Chanllenge,值为4.n标识符ID域用来辅助匹配请求和回复;n长度Length指明了整个包的长度包括属性部分.n认证码Authenticator域用来做完整性验证,对于Access-Request包,认证码里的内容是一个随机数RequestAuth,对于其他3种RADIUS服务器发送的Access包,其内容为一个MD5值,是对要发送包的内容其中认证码域初始为RequestAuth和一个秘密值Secret在RADIUS客户端和服务器间共享进行MD5杂凑而得:ResponseAuth=MD56RADIUS数据包中的属性域数据包中的属性域n属性Attributes部分用于传送详细的认证信息以及配置信息,一个包中可以有多个属性,每个属性都由3部分组成,分别是类型type、长度length及值value.n属性充分体现了RADIUS的可扩展性,不同的认证方法就是通过不同的属性值体现的,如PAP认证使用类型2,CHAP认证使用类型3,而后来加入的EAP认证使用类型79.7RADIUS认证过程认证过程n当客户登录网络时,NAS如果采用PAP认证,会要求客户输入用户名和口令,然后,NAS向AS服务器发送Access-Request,提交用户信息,包括用户名和口令信息经过MD5处理过的口令.nAS对用户名和密码的合法性进行检验.如果采用其他认证方式如CHAP,当NAS向AS发送完Access-Request后只包含用户信息,AS返回一个Access-Challenge,并通过NAS中转,来进一步对客户进行认证这个认证过程也可不由AS发起,而由NAS发起,以提高效率.n如果认证通过,AS给NAS返回Access-Accept数据包,允许用户进行下一步的访问,否则返回Access-Reject数据包,拒绝用户访问.如果认证通过,NAS开始提出计费请求Accounting-Request,开始计费过程.8 PAP和和CHAP nPPP最初提供了两种可选的身份认证方法:口令验证协议PasswordAuthenticationProtocol,PAP和质询握手协议ChallengeHandshakeAuthenticationProtocol,CHAP.nPAP使用明文的用户名和密码完成认证,密码在NAS传送给AS时,实际上是做了MD5的加密处理,具体方法见RFC2865,这里记作f.图7.26所示为PAP-RADIUS协议示意.nPAP中最不安全的地方在于Msg1,name和password都是明文传输的,如果被窃听或者重放,都会给用户带来损失.但在PPP的威胁模型中,电信线路是被假设为足够安全的,这种情况下,明文传输密码并不影响安全性.9PAP-RADIUS协议协议nMsg1和Msg4属于PAP,Msg2和Msg3属于RADIUS协议.nC表示拨号用户,用户拨入后,NAS告诉用户它支持PAP认证,然后用户系统向NAS发送用户名name和口令password.nNAS向AS发送Access-Request消息,其中name和经过处理后的password是放在属性域里传送的属性类型分别是1和2.RequestAuth和ResponseAuth见上节的解释,为简洁起见,并未在Msg2和Msg3中列出RADIUS包中所有的域如ID,Length等.10CHAPnCHAP使用挑战-响应机制,认证者发起挑战实现上就是发送一个随机数对客户进行认证在RADIUS结构中,认证者是AS.nCHAP的主要两条消息是Challenge和Response,Challenge的值为认证者生成的一个随机数;Response的值是一个单向函数如MD5的输出,单向函数的输入为ID、secret和Challenge,其中secret是认证者和客户之间共享的秘密.11CHAP-RADIUS协议示意协议示意 12扩展认证协议扩展认证协议 n1998年,EAP协议PPPExtensibleAuthenticationProtocol加入了PPP的可选认证方法中,即RFC2284,从本质上讲,EAP是提供了一种封装框架,在这个框架下,可以承载多种认证方法,添加新的认证方式时并不影响现有协议的使用,故被称为可扩展的认证协议.nEAP是一种简单封装协议,可以运行在任何链路层上,可承载多种高层认证方法,如TLS、IKE、GSS-API等.13EAP数据包格式数据包格式 nEAP规定了4种可供传送的消息:Request、Response、Success和Failure消息.消息的识别体现在代码段,分别为1、2、3和4;标识符用来匹配消息的发送和应答;长度域用来表示整个EAP消息中的所有字节个数;数据域中含有实际发送的Request和Response数据Success和Failure消息没有数据.n数据域又分为两个部分:类型type和类型数据typedata,type域表明了认证方法,typedata域则包含了具体的认证数据.14EAP的数据域的数据域nEAP的扩展性就体现在数据域,如RFC2284中定义了如下6种类型.n1Identity.n2Notification.n3Nak仅用于Response消息.n4MD5-Challenge.n5One-TimePasswordOTPRFC1938.n6GenericTokenCard.n类型1是一种非常简单的认证方法,通过两条消息就可以完成认证,客户发送一个Identity消息,认证者如果认可,就回一个Success消息,如Identity数据可以由智能卡实时生成,并和认证服务器保持同步.类型2用来传递一些需要在用户设备上显示的信息,如请输入密码等.类型3用来拒绝所不支持的认证算法.nRFC中只列出了6种类型,但新的认证方法可以加入,这需要IANAInternetAssignedNumbersAuthority,Internet号码分配机构分配一个新的类型号,如TLS认证的类型号为13PPP-EAP-TLS认证协议由RFC2716定义,LEAP认证的类型号为17.15无线局域网的认证与密钥管理无线局域网的认证与密钥管理 n无线局域网WirelessLocalAreaNetwork,WLAN主要由计算机终端STA、无线网卡、无线接入点AP组成,其安全性主要体现在访问控制和#性上,由于802.11的1999年标准中,WEP设计上存在很多安全问题,IEEE802.11工作组成立了任务组TGi,TGi负责制定IEEE802.11i标准,以增强改善无线局域网的安全性.nIEEE802.11是IEEE制定的无线局域网媒体访问控制层MAC和物理层PHY规范,在其1999年标准中,作为MAC协议部分的安全技术,有线等效#WiredEquivalentPrivacy,WEP协议被设计用来防止非法用户窃听或侵入无线网络.16WEP的加密过程的加密过程 17WEP的加密过程的加密过程nIV是初始向量,长度为24位,对每个数据包加密时,IV都变化一次,并且IV本身作为输出的一部分传递给接收方.nSK为密钥,最初标准中规定长度为40位,但在很多实现中都扩展到了104位.n|表示连接符,IV和SK连接后,输入RC4序列加密算法中,产生伪随机序列PRKS;n对明文M采用CRC算法,计算出消息认证码ICV,长度为32位,将ICV附在M之后,然后将其与PRKS进行模二加运算,获得密文数据C.18WEP的的SKn密钥SK有两种.一种是AP和所有用户共享的对称密钥,被称为默认密钥Defaultkeys,WEP允许有4个默认密钥,并用密文中相应的位KeyID来表示;n与默认密钥相对应的是映射密钥Keymappingkey,每个STA和AP之间都有不同的映射密钥.AP每收到一帧或者要发送一帧时,会在密钥表里查找STA对应的映射密钥通过STA的MAC地址做索引,如果没有找到,就使用默认密钥.由于在管理上的困难,映射密钥并没有得到广泛的应用.19WEP加密的主要问题加密的主要问题 1WEP本身没有防重放的能力,攻击者可能会重放以前捕获的帧,来完成一个会话,达到特定的目的.2使用CRC作为认证码并不能起到很好的防篡改能力,因为CRC是一个线性的计算,如果改变明文中的某个位,就可以计算出其CRC会在哪些位发生改变0变为1或者1变为0,并且,由于加密过程是一个异或运算,攻击者也只需反转密文相应的位就可以完成篡改而不被发觉.3初始向量IV的作用是确保两个相同的明文不会产生相同的密文,理想情况下,要求对每个数据帧,IV都不相同.但IV在WEP的设计中,长度为24位,并且IV通常是通过计数器实现的,那么在传输224个帧以后,IV就会重复在网络较为繁忙的情况下,每过几个小时就会重复一次.20802.11的两种认证的两种认证 n802.11提供两种认证,一种是开放认证,另一种是WEP认证.n开放认证事实上相当于没有认证,如果AP处于开放模式,它就总会接受认证请求,返回认证成功的消息.nWEP认证则基于挑战-响应机制:21协议特点协议特点n如果AP处于WEP认证模式,收到认证请求后,会返回一个挑战N,STA对其进行序列加密后返回响应,使用的是双方共享的密钥SK,AP验证其响应无误后,则通过认证.n这是一个单向。
