




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
802.1x宽带接入防代理技术周峰、李金龙、薛胜琦克拉玛依石化公司信息所摘要:本文讲述和分析了802.1X协议的体系结构,并介绍如何对通过sniffer抓包的数据分析,配合交换认证设备的配置,设计出专用的客户端程序防止用户非法使用代理。关键词:802.1x;EAP;sniffer一、背景需求现有一小区LAN宽带网络,采用802.1x认证方式验证用户,规模约1000用户,随着生活水平的提高和电脑的普及,用户的上网需求不断增长,但是同时也出现一问题,由于用户都是楼房住户,居住比较密集,许多用户购买一带认证功能的SOHO路由器或使用各种SyGate、WinGate等共享上网的软件,私自实现多用户共享接入,很大程度的影响了小区宽带营运商用户数量的发展和营业利润的增长。二、技术分析现有的共享宽带接入主要分为软件共享和硬件共享两类。软件共享就是在接入Internet的计算机上安装SyGate、WinGate等共享上网的软件,让该计算机作为服务器首先认证上网,其它计算机都通过双网卡与之连接实现共享代理上网。所谓硬件共享,就是指局域网中的计算机通过宽带路由器共享上网,它的设置比共享软件简单,而且不需要服务器,任意一台计算机都可以实现单独上网。针对这两种方式,常用的解决方案是有以下几种:认证方式上采用802.1X认证客户端的扩展版,强制用户使用专门的客户端软件,由客户端软件来检测终端用户计算机的网络配置、双网卡配置,实现对PROXY的检查。同时这种方法也会使得使用带标准认证的SOHO路由器立即失效。用户带宽流量限制的方式,采用两元组(源IP/目的IP)的方式对每用户带宽进行限制,造成PROXY用户共享带宽时速度缓慢感到不方便,同时也可以考虑采用按流量计费的方式。限制用户连接数,通过对接入设备进行配置,限制接入用户TCP连接数目,如一个用户分配10个连接,这样PROXY代理将会造成最终用户的不方便而无法正常使用。根据实际情况,我们决定采用第一种方式,通过与认证交换机的配合强制用户使用专门的上网客户端验证软件,通过检查客户端的网络和硬件配置在认证阶段实现防代理、防共享的目的。以下我们来详细分析802.1x认证系统的实现原理。(一)、IEEE802.1概述IEEE802.1X是IEEE2001年6月通过的基于端口访问控制的接入管理协议标准。IEEE802.1x协议具有完备的用户认证、管理功能,可以很好地支撑宽带网络的计费、安全、运营和管理要求,对宽带P城域网等电信级网络的运营和管理具有极大的优势。IEEE802.1x是一种基于端口的网络接入控制技术,在LAN设备的物理接入级对接入设备进行认证和控制,此处的物理接入级指的是LanSwitch设备的端口。连接在该类端口上的用户设备如果能通过认证,就可以访问LAN内的资源;如果不能通过认证,则无法访问LAN内的资源,相当于物理上断开连接。(二)、IEEE802.1X体系结构IEEE802.1x的体系结构中包括三个部分:SupplicantSystem,用户接入设备;AuthenticatorSystem,接入控制单元;AuthenticationSeverSystem,认证服务器。Authenticator每个物理端口内部有受控端口
(ControlledPort)和非受控端口(uncontrolledPort)等逻辑划分。非受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,可保证随时接收Supplicant发出的认证EAPOL报文。受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。值得注意的是,在IEEE802.1x协议中的“可控端口”与“非可控端口”是逻辑上的理解,设备内部并不存在这样的物理开关。对于每个用户而言,IEEE802.1x协议均为其建立一条逻辑的认证通道,该逻辑通道其他用户无法使用,不存在端口打开后被其他用户利用问题。(三)、IEEE802.1X的认证过程基于802.1x的认证系统在客户端和认证系统之间使用EAPOL格式封装EAP协议传送认证信息,认证系统与认证服务器之间通过RADIUS协议传送认证信息。由于EAP协议的可扩展性,基于EAP协议的认证系统可以使用多种不同的认证算法,如EAP-MD5,EAP-TLS,EAP-SIM,EAP-TTLS以及EAP-AKA等认证方法。以EAP-MD5为例,描述802.1x的认证流程。EAP-MD5是一种单向认证机制,可以完成网络对用户的认证,但认证过程不支持加密密钥的生成。基于EAP-MD5的802.1x认证系统功能实体协议栈如图2所示。基于EAP-MD5的802.1x认证流程如图3所示,认证流程包括以下步骤:EAP-MD5♦*EAP-MD5EAPOLEAPOLRADIUSRADIUSi■-UDPUDPIPIPMACMACMACMACPHYPHYPHYPHY客户端接入设备RADIUS客户端搀人设备分配地址DHCP分配勉能计费开始^APoL-StartAccess-AcceptfAccept/RefectyEAP-Success/Failure计费开%俏求ii费开始应答EAP-技equesVlD认让过程EAP-Requcst/MD5-Challenge客户端搀人设备分配地址DHCP分配勉能计费开始^APoL-StartAccess-AcceptfAccept/RefectyEAP-Success/Failure计费开%俏求ii费开始应答EAP-技equesVlD认让过程EAP-Requcst/MD5-ChallengeEAF-RcqinHV'MD5-ChaJlcnpcEAP-Success/F&iluruAccess-Chal(enga^EAPResponse/MDS'CballengeFha}】g[cdpassword)Acccss-Requesl/EAP-Response/LD(ChallengedPassword)EAP■RcsponscZIDAcwss-Req^es(/EAP-Rcs[Min5c.1D1、客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;2、接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;3、客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;4、接入设备将EAP-Response/Identity报文封装到RADIUSAccess-Request报文中,发送给认证服务器;5、认证服务器产生一个Challenge,通过接入设备将RADIUSAccess-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;6、接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证;7、客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备;8、接入设备将Challenge,ChallengedPassword和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证:9、RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;10、如果认证通过,用户通过标准的DHCP协议(可以是DHCPRelay),通过接入设备获取规划的IP地址;11、如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;12、RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。(四)、EAPOL协议的介绍1、IEEE802.1x定义了基于端口的网络接入控制协议,需要注意的是该协议仅适用于接入设备与接入端口间点到点的连接方式。为了在点到点链路上建立通信,在链路建立阶段PPP链路的每一端都必须首先发送LCP数据包来对该数据链路进行配置。在链路已经建立起来后,在进入网络层协议之前,PPP提供一个可选的认证阶段。而EAPOL就是PPP的一个可扩展的认证协议。2、下面是一个典型的PPP协议的帧格式:FlagAddressControlProtocolInformation当PPP帧中的protocol域表明协议类型为C227(PPPEAP)时,在PPP数据链路层帧的Information域中封装且仅封装PPPEAP数据包,此时表明将应用PPP的扩展认证协议EAP。这个时候这个封装着EAP报文的information域就担负起了下一步认证的全部任务,下一步的EAP认证都将通过它来进行。3、一个典型的EAP认证的过程分为:request、response>success或者failure阶段,每一个阶段的报文传送都由Information域所携带的EAP报文来承担。EAP报文的格式为:CodeIdentifierLengthData、Code域为一个字节,表示了EAP数据包的类型,EAP的Code的值指定和意义如下:Code=1RequestCode=2ResponseCode=3SuccessCode=4Failure、Indentifier域为一个字节,辅助进行request和response的匹配(每一个request都应该有一个response相对应),这样的一个Indentifier域就建立了这样的一个对应关系即相同的Indentifier相匹配。、Length域为两个字节,表明了EAP数据包的长度,包括Code,Identifier,Length以及Data等各域。超出Length域范围的字节应该视为数据链路层填充(padding),在接收时应该被忽略掉。、Data域为0个或者多个字节,Data域的格式由Code的值来决定。当code域为1或者2的时候,报文格式为IdentifierLengthTypeTypeDateCodeType域的说明如下:Type域总共分为6个值域,其中头3种Type被认为特殊情形的Type,其余的Type定义了认证的交换流量。Nak类型仅对Response数据包有效,不允许把它放在Request中发送。Type=1IdentifierType=2NotificationType=3Nak(ResponseOnly)Type=4MD5-ChallengeType=5One-TimePassword(OTP)Type=6GenericTokenCard三、具体实现(一)、交换机配置:要达到强制用户使用特定的客户端的目的,必须在客户端和认证端增加交互通讯,以验证客户端的有效性。在实例中使用港湾的16i,交换机配置项:configdotlxsupp-secret{<select>}*1,可以配置客户端密钥,通过此配置可以实现对客户端软件版本的检查、升级及合法性的检查,实现强制用户使用特定的客户
端的目的。(二)、客户端实现:1、Sniffer抓包分析使用Snifferpro4.7可以获取客户端认证过程的数据包收发流程。|目标地址LI180C200LI0LI300047642DDBC00047642DDBC0180020000030180C20000LI300047642DDBC0180C200000300047642DDBC|目标地址LI180C200LI0LI300047642DDBC00047642DDBC0180020000030180C20000LI300047642DDBC0180C200000300047642DDBC'[10.187.193.3][255.255.255.25源地址|00047642DDBC00053B58046D00053B58046D00047642DDBC00047642DDBC00053B58046D00047642DDBC00053B5S046DJT-Z6R7UC85HE4T[0.0.0.0][10.187.209.254JT-ZhR7UC85HS4T[0.0.0.0][10.187.209.25400047642DDBC00047642DDBC[255.255.2E5.25JT-ZbR7UC85HE4TBroadcastBroadcast摘要CODE1(RequestPacket)IDENTIFIER=1CODE1(RequestPacket.)IDENTIFIER=1CODE2(ResponsePacket)IDENTIFIER=CODE2(ResponsePacket)IDENTIFIER=CODE1(RequestPacket)IDENTIFIER=2CODE2(ResponsePacket)IDENTIFIER=CODE3(SuccessPacket)IDENTIFIER=0IX:EAPOL-Start2PPPPPPPn-r-A*15l-il1M^1M^1±11AI11I-EEEEEEEDHCP:Request..Messagetype:DHCPReleaseDHCP:RequestMessagetype:DHCPDiscoverDHCP:Reply.Messagetype:DHCPOfferDHCP:Request..Messagetype:DHCPRequestDHCP:Reply,Messagetype:DHCPAckARP:CPA=[1LI.187.208.3]JT-Z6R7UC85HS4TPRO=:ARP:CPA=[10.187.208.3]JT-Z6R7UC85HS4TPRO=:Len尊64646464646464643423433423673426060其中,源地址是数据包发送端设备的MAC;目标地址是数据包接收端设备的MAC;Len是数据包总长;摘要是数据包内容摘要说明。认证流程如下:、点击认证按钮,客户端发送EAPOL-START包,请求认证。、交换机发送64字节请求用户名包。、客户端发送含用户名的包。、交换机发送含MD5-Challenge的包。、客户端发送含经MD5加密后的密码和用户名的包。、如果帐号、IP合法,交换机发送成功认证包,和失败包离线包。以上发送的包中,均为64字节,发现有个别情况EAPOL-START包为80字节,经过分析发现是由于客户端发送的IE代理和客户端静态IP地址信息,由于本系统采用现验证再分配IP地址,所以这点不用考虑。包结构为:、0x00-0x056字节源MAC(客户端发送的数据包里该地址为客户端MAC,交换发出的数据包里为交换机MAC)、0x06-0x0b6字节目标MAC(在客户端发送的数据包里该地址均为组播地址:0180。2000003,交换发出的数据包里均为客户端MAC)、0x0c-0x0d2字节协议(888e,声明是802.1x协议类型)、0x0e1字节版本(01)、0x0f1字节包类型(01表示认证开始,02表示请求断开,00表示EAP数据包)、0x10-0x112字节包长度(按照IEEE标准议是从下面一下字节开始计算,到最后一个字节)7、0x121字节Code(01:请求,02:回复,03:成功,04:失败)、0x131字节Identifier标识(从01开始,每成功收发一次,自动加一,到FF后清零重新开始,似乎并不严格要求。)⑨、0x14-0x152字节Length包长度(通常情况下与(6)的内容相同)⑩、0x16EAP数据类型(01Identity,02Notification,03Nak(Responseonly),04MD5-Challenge,05One-TimePassword(OTP)(RFC1938),06GenericTokenCard)从这个字节开始为EAP数据(可包含用户名、加密后的密码、IP、出错信息等),其中在请求在请求和回应用户名数据包里,第一个字节均为01Identitytype,请求和回应密码数据包第一个字节为04MD5-Challenge。在请求连接和断开连接,以及验证成功和离线失败数据包内,该段数据均可以为空。2、编程实现客户端在VC6.0下开发,要求安装Winpcap3.01a软件环境,调用winpcap库完成发包认证过程.首先初始化构造认证请求包、断开连接包、版本信息包、用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业废水处理与环保技术创新
- 工业旅游的兴起与发展机遇
- 工业安全管理与职业病防治
- 工业建筑改造与再生策略
- 工业自动化中实时机器视觉系统的研究
- 工业设备中的热传导与热设计
- 工业生产中的火灾风险评估
- 工业自动化与智能制造的结合点
- 工业设计中的材料与工艺选择研究
- 工业自动化与生产监控系统
- VDA6.3-2016过程审核对应的资料
- 研学与酒店合作协议书
- 基于TMS320VC5402的电能质量监测系统设计
- 《论语》十二章对比阅读复习精讲精练含答案
- 成都市青羊区2023年数学四下期末教学质量检测试题含解析
- 电子物证专业考试复习题库(含答案)
- 国家开放大学02150-计算机网络(本)期末复习题及参考答案
- 广西2022年广西农村信用社(农村商业银行农村合作银行)管理人员及业务骨干招聘考试参考题库含答案详解
- 国开2023年春《理工英语3》机考网考期末复习资料参考答案
- 重庆.住宅物业单位服务等级标准
- 全国工会财务知识竞赛题库附答案
评论
0/150
提交评论