802.1X
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
802.1x协议解析
缩略语
RADIUS Remote Authentication Dial In User Service 远程用户拨入认证服务PAP Password Authentication Protocol 密码验证协议CHAP Challenge Handshake Authentication Protocol 质询握手验证协议EAP Extensible Authentication Protocol 扩展验证协议
MD5Message-Digest Algorithm 5 消息摘要算法第五版本CAR Commit Access Rate 承诺访问速率EAPOL EAP Over LAN 基于LAN的扩展验证协议TACACS T erminal Access Controller Access Control System 终端访问控制器访问控制系统PAE Port Authentication Entity 端口认证实体
一、802.1x协议概述
802.1x起源于EAPoW,802.11协议
802.1x是IEEE为了解决基于端口的接入控制(Port-Based Network Access Control)
而定义的一个标准
802.1x 作为一种基于端口的用户访问控制机制,由于其低成本、良好的业务连续性
和扩充性以及较高的安全性和灵活性
Windows XP/Windows 2003/Windows 7都集成了IEEE 802.1x客户端程序
用户通过启动客户端程序发起802.1X认证,客户端必须支持EAPOL协议
二、802.1x协议的体系结构
802.1x协议的体系结构共包括3个重要部分
客户端supplicant system PC机
认证系统Authenticator system以太交换机/三层交换机认证服务器Authentication server RADIUS/TACACS+服务器<1>认证系统
认证系统的端口被分成两个逻辑端口(受控端口和非受控端口)
受控端口:受控端口在授权下处于连通状态,用于传递业务报文;受控端口在非授权状态下处于断开状态,禁止传递任何报文
非受控端口:非受控端口始终处于双向连通状态,用于传递EAP认证报文
受控端口和非受控端口是同一端口的两个部分;任何到达该端口的帧,在受控端口与非受控端口上均可见
<2>受控方向
受控端口在非授权状态下,可以被设置成双向受控和仅输入受控
实行双向受控时,禁止帧的发送和接收
实行仅输入受控时,禁止从客户端接收帧,但允许向客户端发送帧
默认情况下,受控端口实行双向受控
三、802.1X工作机制
客户端与认证系统之间,采用EAPOL的封装格式,进行报文的交互
认证系统与认证服务器(RADIUS服务器)之间,可以采用EAP/PAP/CHAP over RADIUS的三种封装格式,进行报文的交互
认证系统根据RADIUS服务器的指示(Accept或Reject),来决定受控端口的状态为授权或非授权状态
四、端口控制方式(物理端口、MAC、VLAN ID)
<1>基于交换机物理端口实施的802.1x认证
基于物理端口的控制方式,每个物理端口包含两个逻辑端口:受控端口和不受控端口。
不受控端口传递认证的协议报文,受控端口传递业务报文。
采用这种端口控制方式,则必须在与最终用户直接相连的交换机实现802.1x认证,在相应的端口进行控制
<2>基于用户MAC地址实施的802.1x认证
把用户设备的MAC地址看成端口,每个MAC地址有两个逻辑端口:受控和不受控端口。
如果用户要访问LAN的资源,则首先其MAC地址必须处于激活状态,然后才能有协议报文通过不受控的端口传递,开始整个认证过程。
如果其MAC地址未激活或者被管理性的禁
止,则无法进行认证
<3>基于全程VLAN实施的802.1x认证
把用户的VLAN ID号看成端口(标准的802.1X不支持Trunk端口,因为标准规定的认证控制对象端口是不支持复用的,而Trunk端口方式是只要有一个VLAN中的用户认证通过,则复用该端口的其他所有VLAN也被相应授权,因此不能支持Trunk端口认证)此处为标准协议的扩展
五、认证触发方式
认证触发方式指用户通过何种报文来触发设备对用户进行认证
<1>EAP触发方式
通过EAP-Start报文触发认证
<2>DHCP触发方式
即采用DHCP报文作为触发设备对用户进行认证的条件。
Windows xp 集成的802.1X 客户端即是这种触发方式
六、认证方式
<1>PAP认证
密码验证协议(Password Authentication Protocol),其特点是密码通过明文的发式传输802.1X认证系统没有定义PAP认证方式,此处为RFC2284的扩展
<2>CHAP认证
质询握手验证协议(Challenge Handshake Authentication Protocol),密码通过密文方式传输,遵循RFC1994
<3>EAP认证
扩展验证协议(Extensible Authentication Protocol),即所谓的E AP中继认证方式。
这种认证方法的好处是质询和计算的过程交由服务器完成,从一定程度上减轻了交换机的负担EAP认证方式又分为EAP-MD5、EAP-TLS、EAP-TTLS、PEAP等等
七、802.1x认证模式
802.1x认证模式分为——EAP中继模式和EAP终结模式
EAP中继模式交换机完全的作为中继(采用EAP属性进行认证)
EAP终结模式交换机参与部分认证计算(PAP/CHAP)过程(采用PAP/CHAP进行认证) 两种模式的主要区别
使用的协议不同
报文交互过程不同
<1>EAP中继模式——IEEE802.1X标准模式
交换机将EAP报文封装到RADIUS报文中发送给Radius服务器,需要
Radius服务器支持EAP属性
EAP 中继认证可以由多种安全控制方法,具体的实现方法如下
EAP-MD5(MD5 Challenge )
EAP-TLS (Transport Layer Security ) EAP-TTLS (Tunneled TLS) PEAP (Protected EAP )
E AP 中继模式认证过程(图例)
基于EAP —MD5的802.1x 认证流程
1. 当用户有上网需求时,打开主机的IEEE 80
2.1x 客户端程序,输入已经申请的用户名和 口令,则802.1x 客户端程序会向交换机发送一个EAPoL-Start 报文,开始启动一次
客户端
接入设备
认证服务器
EAPoL start EAP request/ID EAP request/ID
Access request/EAPoL Response/ID
Access challenge
EAP request/ID/MD5 challenge
EAP request MD5 challenge EAP response/MD5 challenge
Access request/EAP response/ID Access Accept(accept/reject)
EAP success/failure
EAP success/failure
DHCP 分配地址
计费开始请求计费开始应答
认证过程
分配地址
计费过程
802.1x 认证接入
2. 当交换机收到主机发送过来的EAPoL-Start报文后,向主机发送EAP-Request/Identity
请求报文,要求主机将用户名送上来
3. 主机发送EAP-Response/Identity报文来响应交换机的EAP-Request/Identity请求,
其中包括使用者的用户名,由于此时客户端还没有通过验证,因此认证流只能由交换机的未受控的逻辑端口通过
4. 交换机将EAP-Response/Identity(含用户名信息)报文,封装到RADIUS
Access-Request报文中,并发送给Radius服务器进行认证
5. Radius服务器收到交换机转发上来的RADIUS Access-Request报文后,将用户名与数据库中的用户名相比对,找到用户名对应的密码,使用一串随机字符和密码做MD5加密计算,并将RADIUS Access-Challenge报文发送给交换机,告诉交换机随机字符,及验证方式为MD5
6. 交换机将收到的RADIUS Access-Challenge报文,转换为EAP-Request/MD5 Challenge发送给主机,告诉主机RADIUS服务器加密所使用的随机字符值及加密方式为MD5
7.主机将自己的密码和发过来的随机字符做MD5加密运算,通过EAP-Response/MD5
Challenge报文发送给交换机,交换机将该报文转换为RADIUS服务器能识别RADIUS Access-Request报文发送给RADIUS服务器
8.RADIUS服务器将送上来的加密后的密码和其自己经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,认证通过,发送RADIUS Access-accept 报文给交换机,并携带协商参数以及用户的相关业务属性给用户授权,交换机则转发EAP- Success消息给主机,如果认证失败,RADIUS服务器发送RADIUS Access-reject报文给
交换机,交换机转发EAP-failure消息给主机,通知主机认证失败
9.认证系统的受控逻辑端口打开,用户通过标准的DHCP协议(可以是DHCP Relay),从DHCP Server处获取规划的IP地址
10. DHCP server分配的地址信息返回给认证系统,认证系统记录用户的相关信息,如
MAC、IP地址等信息,并建立动态的ACL访问列表,以限制用户的权限。
11. 当交换机检测到用户的上网流量,就会向RADIUS服务器发送计费信息,开始对用户计
费
12. RADIUS服务器回应计费开始请求报文,用户上线完毕
13. 如果用户退出网络,可以通过客户端软件发起退出过程,当交换机检测到该数据包后,
会通知认证服务器停止计费,并删除用户的信息,受控逻辑端口关闭,用户进入再认证状态
14.接入设备通过定期的检测保证链路的激活,如果用户异常死机,则接入设备在发起多次
检测后,自动认为用户已经下线,向认证服务器发送终止计费的信息
用户的相关信息(如所属的VLAN ID、CAR参数、优先级、用户的访问控制列表等)存储在RADIUS服务器中,当用户通过认证后,Radius服务器会把用户的相关信息传递给交换机,由交换机构建动态的访问控制列表,用户的后续流量就将接受上述参数的监管
另外注意,对于用户的认证,在执行802.1x认证时,只有认证通过后,才有DHCP发起(如果配置为DHCP的自动获取)和IP分配的过程。
由于客户终端配置了DHCP自动获取,则可能在未启动802.1x客户端之前,就发起了DHCP的请求,而此时认证系统处于禁止通行状态,这样认证系统会丢掉初始化的DHCP帧,同时会触发认证系统发起对用
户的认证。
由于DHCP请求超时过程为64秒,所以如果802.1x认证过程能在这64秒内完成,则DHCP请求不会超时,能顺利完成地址请求;如果终端软件支持认证后再执行一次DHCP,就不用考虑64秒的超时限制。
重认证机制
为了保证用户和认证系统之间的链路处于激活状态,而不因为用户端设备发生故障造成异常死机,从而影响对用户计费的准确性,认证系统可以定期发起重新认证过程,该过程对于用户是透明的,也即用户无需再次输入用户名/密码。
重新认证由认证系统发起,时间是从最近一次成功认证后算起。
重新认证可以激活或关闭,协议状态参数reAuth Enabled 控制是否进行重新认证。
重新认证的时间间隔由参数reAuth Period控制
客户退出已认证状态,客户端发送EAPOL-Logoff报文,主动下线
当一个用户从一台终端退出后,很可能其他用户不通过发起一个新的登录请求,就可以利用该设备访问网络。
提供专门的退出机制,以确保用户与认证系统专有的会话进程被中止,可以防止用户的访问权限被他人盗用。
通过发送EAPOL-Logoff报文,可以使认证系统将对应的端口状态改变为未认证状态。
<2>EAP终结模式
交换机终结EAP信息,交换机与RADIUS服务器之间无需交互EAP信息
RADIUS服务器不用支持EAP属性
如果RADIUS服务器不支持EAP属性,可使用此模式
认证方式
PAP (Password Authentication Protocol)
CHAP (Challenge Handshake Authentication Protocol )
EAP终结模式认证过程(图例)
802.1x的受控端口
ForceAuthorized:常开模式
端口一直维持授权状态,下挂用户无需认证过程就可访问网络资源ForceUnauthorized:常关模式
端口一直维持非授权,忽略所有客户端发起的认证请求
Auto:协议控制模式
端口初始状态为非授权状态,仅允许EAPOL报文收发,802.1X认证通过后,将此端口状态切换到授权状态,用户才能访问网络资源
RADIUS协议规定1812号端口作为验证端口,1813号端口为计费端口
八、802.1x组网方式
<1>集中认证方案
在核心交换机上实施802.1x认证,集中认证适合于大中型网络,由于网络设备众多,集中认证有利于管理和集中控制;但是认证设备的负荷较重
<2>边缘分布认证方案
在连接用户终端的交换机上做802.1x认证,不易于集中管理。