




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IEEE 802.1x模块指南IEEE 802.1X模块使用指南目录1. 前言31.1 关于本文档31.2 背景知识31.2.1 802.1X技术的介绍31.2.2 802.1X的认证原理31.2.3 802.1X的认证流程41.3 术语52. IEEE 802.1X模块介绍52. 1 客户端功能62. 2认证者的功能62.3认证服务器的功能62.4 802.1x模块的软件实现-开源组件hostapd63. 关于hostapd开源组件73.1 hostapd开源组件介绍74. hostapd的帮助程序使用94.1 关于帮助程序94.2 命令参数实现及说明94.3 usage程序使用实例10HistoryDateVersionChanges2011-11-30Draft A完成第一稿1. 前言1.1 关于本文档 本文档对dot1x模块的的基本情况、编译方法、配置参数、基本工作原理作了详细的阐述,可以使开发人员依据该文档可较好的掌握模块的使用,为开发人员节约时间。1.2 背景知识802.1X是IEEE为了解决基于端口的接入控制而定义的标准,被称为基于端口的访问控制协议(Port based network aceess control protocol)。为运营商建设可运营、可管理的电信级宽带以太网提供了良好的支持。1.2.1 802.1X技术的介绍IEEE 802.1x 协议的体系结构包括3个重要的组成部分:客户端、认证系统、认证服务器,图1.1描述了三者之间的关系以及相互之间的通信。图1.1 802.1X认证体系1.2.2 802.1X的认证原理客户端系统通常需要安装一个客户端软件,用户通过启动这个客户端软件发起802.1x协议的认证过程,为了支持基于端口的接入控制,客户端系统需支持EAPOL(extensible authentication protocol overLAN)协议。认证系统一般运行于NAS(network access server)之上,给用户提供接入服务。认证系统有两个逻辑端口:受控(controlled port)端口和不受控端口(uncontrolled port)。不受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,用于承载用户的认证信息,可保证客户端始终能够发出或接受认证;受控端口只有在认证通过的状态下才可打开,用于传递网络资源和服务。PAE是端口访问实体(port access entity),分为客户端PAE和认证系统PAE。客户端PAE位于客户端,主要负责响应来自认证系统建立信任关系的请求。认证系统PAE 位于认证系统,负责与客户端的通信,把从客户端收到的信息传送给认证服务器以完成认证。认证系统的PAE 通过不受控端口与客户端PAE 进行通信,两者之间运行EAPOL 协议;认证系统的PAE 与认证服务器之间运行EAP(extensible authentication protocol)协议。认证服务器通常为RADIUS服务器,该服务器对于认证系统中继的用户客户端信息进行验证,当验证通过时,返回与用户相关的上网信息给认证系统,认证系统根据返回信息进行设置,例如打开受控端口,或者向客户端传送验证失败的信息。1.2.3 802.1X的认证流程典型的802.1x 体系的认证流程如图1.2所示。图1.2:802.1X认证流程1)当用户有上网需求时打开802.1X客户端程序,输入用户名和口令,发起连接请求。此时客户端程序将发出请求认证的报文EAPOL-Start给认证者,启动一次认证过程。2)认证者在收到请求认证的数据帧后,将发出一个EAP-Request/Identity报文请求帧要求客户端程序发送用户输入的用户名。3)客户端程序响应认证者的请求,将包含用户名信息的一个EAP-Response/Identity送给交换机,认证者将客户端送来的数据帧经过封包处理后生成RADIUS Access-Request报文送给认证服务器进行处理。4)认证服务器收到交换机转发上来的用户名信息后,将该信息与数据库中的用户名表相比对,找到该用户名对应的口令信息,用随机生成的一个加密字Challenge对它进行加密处理(MD5),通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge。5)客户端收到EAP-Request/MD5-Challenge报文后,用该加密字对口令部分进行加密处理(MD5)给认证者发送在EAP-Response/MD5-Challenge回应,认证者将Challenge,Challenged Password和用户名一起送到RADIUS 服务器进行认证。6)认证服务器将送上来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果认证成功,则向交换机发出打开端口的指令,允许用户的业务流通过端口。1.3 术语客户端:一般指接入到局域网中的一台终端系统,例如在局域网环境中运行IEEE 802.1X认证中,安装客户端软件的pc机。认证系统:通常指那些支持802.1x 协议的局域网边缘设备,比如边缘交换机或无线接入访问(AP)设备。认证服务器:提供用户认证服务,保存用户的认证信息,通常为RADIUS服务器。EAPOL(Extensible Authentication Protocol Over Lan):802.1x协议定义了一种报文封装格式,主要用于在客户端和认证系统之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。EAPOL帧在二层传送时,必须要有目标MAC地址,当客户端和认证系统彼此之间不知道发送的目标时,其目标MAC地址使用由802.1x协议分配的组播地址01-80-c2-00-00-03。EAP(Extensible Authentication Protocol):为可扩展认证协议,802.1X认证系统使用EAP,来实现客户端、设备端和认证服务器之间认证信息的交换。RADIUS服务器:RADIUS 是一种用于在需要认证其链接的网络访问服务器(NAS)和共享认证服务器之间进行认证、授权和记帐信息的文档协议。RADIUS 服务器负责接收客户的连接请求、认证客户,然后返回客户机所有必要的配置信息以将服务发送到客户。NAS(network access server):为网络访问服务器,采用直接与网络介质相连的特殊设备实现数据存储的机制。由于这些设备都分配有 IP 地址,所以客户机通过充当数据网关的服务器可以对其进行存取访问,甚至在某些情况下,不需要任何中间介质客户机也可以直接访问这些设备。MD5( message-digest algorithm 5):全称是信息-摘要算法,它的作用是将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。PAE(port access entity):为端口访问实体,它是网络访问技术的核心部分,在访问控制流程中,端口访问实体包含3部分:认证者-对接入的用户/设备进行认证的端口;请求者-被认证的用户/设备;认证服务器-根据认证者的信息,对请求访问网络资源的用户/设备进行实际认证功能的设备。2. IEEE 802.1X模块介绍802.1x的PAE由Supplicant (申请者)、Authenticator ( 认证者)和 Authentication Server (认证服务器)三部分组成,如图2.1:图2.1:802.1x软件系统2. 1 客户端功能(l)向认证者发起认证请求。(2)接收认证者的EAP请求,并进行应答。(3)对认证者的重认证请求进行EAP应答。(4)支持密钥传递。2. 2认证者的功能(l)接收外部客户端的接入认证请求,根据请求将获取的信息发送到认证服务器进行认证,根据认证结果控制端口开启和关闭,同时将结果通知对应的外部客户端。(2)接收外部客户端的注销请求,控制端口关闭,通知计费开始。(3)主动对外部客户端发起认证(通过外部模块的驱动触发认证过程,如客户系统的EAPOL-start (认证发起帧)报文、物理端口的up消息,DHCP报文和ARP报文的触发)。(4)主动对外部客户端发起周期重认证。(5)根据交互结果操作被控端口的开启和关闭、计费的开始和结束。(6)信息交互过程中的协议解析、超时处理、异常处理。(7)支持密钥传递。2.3认证服务器的功能(l)接收认证者提交的Access-Request数据包,通过数据包中用户名,提出一个Challenge,要求进一步对用户认证。(2) 接收认证者提交的Access-Request数据包,对用户名和密码的合法性进行检验,如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问。(3) 接收认证者提出计费请求Account- Require,认证服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。2.4 802.1x模块的软件实现-开源组件hostapd IEEE802.1x认证的实现是选用hostapd开源组件实现的,hostapd 是一个用户态的用于客户和认证服务器之间验证的守护进程。它集成了IEEE 802.1X/WPA/WPA2/EAP 认证功能,组件hostapd中的wired驱动实现了PAE的功能,它采用的机制就是在未认证端口拒绝普通的数据帧通过,允许IEEE 802.1X相关的帧通过。Hostapd组件中包含了认证者的功能,它从网络接口接收802.1X数据帧,并将数据帧中继到认证服务器验证,接收认证服务器的radius数据包,提取出eap信息,封装成EAPOL数据包,从网络接口中发送给客户端。Hostapd组件还集成了一个最小的认证服务器的功能,用于测试802.1X功能。3. 关于hostapd开源组件3.1 hostapd开源组件介绍hostapd主要功能可以看作是用户终端与认证服务器间的中介或接口。其组件的结构如图3.1:图3.1:hostapd组件结构图1) event loop 模块在hostapd进程开启并进行相关的初始化工作后,调用eloop_run函数进入到该模块中,该模块中就是监控是否有事件发生,如是否有中断信号产生、是否有数据包接收、是否定时器时间满了,若有时间发生,则调用相应的处理函数进行处理,如图3.2:图3.2:event loop 模块交互2) driver events模块该模块是hostad进程的驱动部分,主要从底层接收请求者发来的数据包并解析数据包,获取eap信息,提供给协议模块处理。同时还负责接收协议模块的eap信息,并封装成EAPOL帧格式,向请求者发送request/identity数据包。如图3.3:图3.3:driver events模块交互3) IEEE 802.1x协议模块该模块是IEEE 802.1x协议的处理模块,接收driver events模块的eap信息并解析eap,根据eap信息中的type字段,设置EAPOL state machine模块中的AUTH_PAE和BE_AUTH等状态机的状态,同时运行状态机,根据状态机的状态封装radius数据包,提供给radius client模块;同时负责接收radius client模块提供的radius数据包并解析radius数据包,根据radius数据包的属性(Attribute)来获取eap信息,并根据EAPOL state machine模块中的AUTH_PAE和BE_AUTH等状态机的状态,来设置eap中的type字段,并将eap信息提供给driver events模块,向请求者发送request,success/fail数据包。该模块是hostapd的核心模块,具有“承上启下“的作用。如图3.4:图3.4:IEEE 802.1x协议模块交互4) radius client模块该模块定义了认证系统和认证服务器的接口,用于认证者和认证服务器之间信息的交互。该模块就是接收认证服务器发来的radius数据包,运行状态机,根据状态机的状态将数据包提供给IEEE 802.1x协议的处理模块。同时该模块还接收IEEE 802.1x协议的处理模块提供的radius数据包,将数据包发送给认证服务器。如图3.5:图3.5:radius client模块交互5) EAPOL state machine模块802.1X协议的认证过程也是通过状态机来协作完成的。Hostapd进程在IEEE 802.1x协议模块处理eap信息时,会设置状态机的状态,然后会运行状态机,调入流程状态节点的转移控制函数,进行转移判断,若转移成功则执行新节点的执行体,执行相关的操作,否则保持原有状态,这些状态之间的转换事件以及定时器触发。如图3.6:图3.5:EAPOL state machine模块交互6)EAP method模块EAP方法支持的安全认证形式有MD5共享密钥、TTL证书、PSK等形式,这些加密算法、常用的密钥和证书的封装管理功能以及SSL协议都被包含在OpenS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论