802.1X认证是一种基于802.1X协议的用户认证方式,通常在新建网络、用户集中或者信息安全要求严格的场景中使用802.1X认证。802.1X认证系统典型的Client/Server结构,使用EAP协议来实现客户端、设备端和认证服务器之间认证信息的交换。
什么是802.1X认证?
802.1X认证指的是基于802.1X协议的用户认证方式,主要用于在局域网中对用户身份进行验证并控制其访问权限。802.1X协议是一种基于端口的认证控制协议。
802.1X认证系统为典型的Client/Server结构,包括三个实体:客户端、接入设备和认证服务器。
图1-1 802.1X认证系统
客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持局域网上的可扩展认证协议EAPOL(Extensible Authentication Protocol over LANs)。
接入设备通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS服务器。
为什么需要802.1X认证?
为解决无线局域网的安全问题,IEEE 802委员会提出了802.1X协议。 802.1X协议可以控制用户的网络访问权限,防止身份不明或未经授权的用户传输和接收数据。 由于802.1X协议的普适性,因此后来也广泛应用于有线局域网。 与其他接入控制机制不同,802.1X协议是通过控制接入端口,实现用户级的接入控制。
通常在新建网络、用户集中或者信息安全要求严格的场景中使用802.1X认证。
802.1X认证具有以下优点:
对接入设备的性能要求不高。802.1X协议为二层协议,不需要到达三层,可以有效降低建网成本。
在未授权状态下,不允许与客户端交互业务报文,因此保证了业务安全。
802.1X认证协议有哪些?
802.1X认证系统使用EAP(Extensible Authentication Protocol,可扩展认证协议)来实现客户端、设备端和认证服务器之间认证信息的交换。
在客户端与接入设备之间,EAP协议报文使用EAPoL(EAP over LANs,基于局域网的扩展认证协议) 封装格式,直接承载于LAN环境中。
在接入设备与认证服务器之间,使用两种方式来交换信息,用户可以根据客户端支持情况和网络安全要求来决定采用的认证方式。
EAP中继方式:EAP报文由接入设备进行中继,使用EAPoR(EAP over RADIUS,基于RADIUS的扩展认证协议)方式,将EAP报文直接封装到RADIUS报文中,以便穿越复杂的网络到达认证服务器。常用的协议有EAP-MD5、EAP-TLS、EAP-TTLS、EAP-PEAP等。
EAP终结方式:EAP报文由接入设备进行终结,并重新封装到RADIUS报文中,利用标准的RADIUS协议完成认证、授权和计费。常用的协议有PAP(Password Authentication Protocol,密码认证协议)和CHAP(Challenge Handshake Authentication Protocal,挑战握手认证协议)。
常用802.1X认证协议
表1-1 常用的802.1X认证协议
协议名称 | 协议说明 | |
|---|---|---|
PAP | 密码认证协议,通过二次握手提供一种对等结点建立认证的简单方法。 | |
CHAP | 挑战握手认证协议,通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行。 | |
EAP-MD5 | EAP-MD5是一种基于密码的无线网络认证协议,它使用MD5算法对用户密码进行加密处理。 | |
EAP-TLS | EAP-TLS是基于证书的安全EAP协议。客户端和服务器之间建立了一个安全的TLS通道进行身份验证和密钥交换。EAP-TLS需要在客户端和服务器上加载证书。 | |
EAP-TTLS | - | EAP-TTLS是EAP-TLS的扩展。与EAP-TLS类似,也是使用TLS进行身份验证和密钥交换,但是与EAP-TLS不同的是,它允许客户端使用用户名/密码等其他身份凭据并将其传输到内部加密隧道中进行保护。EAP-TTLS仅需要在服务器上加载证书,但不需要在客户端加载证书,部署相对灵活,安全性较EAP-TLS低。 |
EAP-TTLS-PAP | 外层使用EAP-TTLS协议进行隧道封装,内层使用用户名密码认证,内层实现同PAP协议。 | |
EAP-TTLS-GTC | 外层使用EAP-TTLS协议进行隧道封装,内层使用通用GTC(Generic Token Card,令牌卡)实现,EAP-TTLS-GTC协议支持与终端进行协商,在iOS终端场景可以通过自动协商进行802.1X认证,不需要手动配置对应的文件。 | |
EAP-PEAP | - | EAP-PEAP(Protected EAP,受保护的可扩展验证协议)是EAP身份验证类型的一种。也是基于TLS协议,在客户端与服务器之间建立一个加密通道,在加密通道上再发起EAP认证。类似于EAP-TTLS,它也允许客户端使用用户名/密码等凭据,并将其传输到内部加密通道中。和EAP-TTLS一样,EAP-PEAP需要在服务器上加载证书,但不需要在客户端加载证书,安全性较EAP-TLS低。 |
EAP-PEAP-MSCHAPv2 | 外层使用PEAP协议进行隧道加密保护,内层使用MSCHAPv2(Microsoft Challenge Handshake Authentication Protocol version 2,微软挑战握手认证协议)实现。EAP-PEAP-MSCHAPv2协议是EAP-PEAP最通用的协议,也是大部分移动终端都支持的无线认证协议,建议优先使用此协议。 | |
EAP-PEAP-GTC | 外层使用PEAP协议进行隧道加密保护,内层使用通用GTC(Generic Token Card,令牌卡)实现。 | |
EAP-PEAP-TLS | 外层使用PEAP协议进行隧道加密保护,内层再使用TLS协议进行认证, EAP-PEAP-TLS相比EAP-TLS安全性更高。 | |
802.1X认证协议对比
表1-2 802.1X认证协议对比
协议名称 | 认证服务器证书 | 客户端证书 | 双向认证 | 对认证服务器认证 | 对客户端认证 | 复杂性 | 安全性 |
|---|---|---|---|---|---|---|---|
PAP | 不要求 | 不要求 | 否 | 否 | 密码 | 低 | 低 |
CHAP | 不要求 | 不要求 | 否 | 否 | 密码 | 低 | 中 |
EAP-MD5 | 不要求 | 不要求 | 否 | 否 | 密码 | 低 | 中 |
EAP-TLS | 要求 | 要求 | 是 | 证书 | 证书 | 中 | 高 |
EAP-TTLS | 要求 | 可选 | 是 | 证书 | PAP、GTC等 | 高 | 高 |
EAP-PEAP | 要求 | 可选 | 是 | 证书 | MSCHAPv2、GTC、TLS等 | 高 | 高 |
802.1X认证是如何工作的?
在802.1X认证系统中,iMaster NCE-Campus支持作为RADIUS服务器,也支持作为RADIUS中继服务器,为用户提供认证授权功能。
iMaster NCE-Campus作为RADIUS服务器,直接与设备交互RADIUS报文。
iMaster NCE-Campus作为RADIUS服务器的代理(RADIUS中继服务器),在设备和第三方RADIUS服务器之间转发认证和授权报文,也称为802.1X中继认证。当网络中存在大量接入设备时,例如大量的云AP,如果第三方RADIUS服务器直接和设备交互,则第三方RADIUS服务器需要对接所有的云AP,配置繁琐,这种场景建议使用iMaster NCE-Campus作为RADIUS中继服务器,第三方RADIUS服务器仅需要对接iMaster NCE-Campus,iMaster NCE-Campus支持将认证配置批量下发给云AP,可以大大提高配置效率。
第三方服务器作为RADIUS服务器,第三方服务器直接与设备交互RADIUS报文。
802.1X认证流程(iMaster NCE-Campus作为RADIUS服务器或者第三方服务器作为RADIUS服务器)
802.1X认证上线流程
802.1X认证上线流程如下图所示。RADIUS服务器可以是iMaster NCE-Campus,也可以是第三方RADIUS服务器。
图1-2 802.1X认证上线流程

用户发起认证请求,向接入设备发送帐号和密码。
接入设备根据获取到的帐号和密码,向RADIUS服务器发送认证请求(Access-Request),其中密码在共享密钥的参与下进行加密处理。
RADIUS服务器对帐号和密码进行认证。如果认证成功,RADIUS服务器向接入设备发送认证接受报文(Access-Accept);如果认证失败,则返回认证拒绝报文(Access-Reject)。由于RADIUS协议合并了认证和授权的过程,因此认证接受报文中也包含了用户的授权信息。
接入设备根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则接入设备向RADIUS服务器发送计费开始请求报文(Accounting-Request)。
RADIUS服务器返回计费开始响应报文(Accounting-Response),并开始计费。
802.1X认证下线流程
下线流程(用户主动注销)用户主动注销的下线流程如下图所示。RADIUS服务器可以是iMaster NCE-Campus,也可以是第三方RADIUS服务器。图1-3 802.1X下线流程(用户主动注销)

下线流程(管理员强制下线)当iMaster NCE-Campus作为RADIUS服务器时,支持在iMaster NCE-Campus租户界面强制用户下线,下线流程如下图所示。图1-4 802.1X下线流程(管理员强制下线)

RADIUS服务器接收到强制下线请求后向接入设备发送下线通知报文DM(Disconnect Message)-Request,该报文中包含Session ID、帐号和终端IP地址等信息。
接入设备根据DM-Request报文中的信息查找在线用户列表,将符合条件的用户下线,并向RADIUS服务器发送下线成功响应报文DM-ACK。
接入设备向RADIUS服务器发送计费停止请求报文(Accounting-Request)。
RADIUS服务器返回计费结束响应报文(Accounting-Response),并停止计费。
用户访问结束。
用户执行注销操作,请求下线。
接入设备收到用户下线请求后向RADIUS服务器发送计费停止请求报文(Accounting-Request)。
RADIUS服务器返回计费结束响应报文(Accounting-Response),并停止计费。
用户访问结束。
802.1X中继认证流程(iMaster NCE-Campus作为RADIUS中继服务器)
802.1X中继认证上线流程图1-5 802.1X中继认证流程

用户发起认证请求,向RADIUS客户端发送帐号和密码。
RADIUS客户端根据获取到的帐号和密码,iMaster NCE-Campus发送认证请求报文,其中密码在共享密钥的参与下进行加密处理。
iMaster NCE-Campus将认证请求报文(Access-Request)转发至第三方RADIUS认证服务器。
第三方RADIUS认证服务器对帐号和密码进行认证。如果认证成功,向iMaster NCE-Campus发送认证接受报文(Access-Accept),并通知其进行授权;如果认证失败,则返回认证拒绝报文(Access-Reject)。
iMaster NCE-Campus将认证结果和授权信息下发给接入设备。
RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向iMaster NCE-Campus发送计费开始请求报文(Accounting-Request)。
iMaster NCE-Campus将计费报文通过Radius协议转发给第三方RADIUS服务器。
第三方RADIUS服务器返回计费开始响应报文(Accounting-Response),并开始计费。
用户根据授权开始访问网络资源。
802.1X中继认证下线流程
下线流程(用户主动注销)
802.1X中继认证用户主动注销的下线流程如下图所示。
图1-6 802.1X中继认证下线流程(用户主动注销)

用户执行注销操作,请求下线。
接入设备收到用户下线请求后向RADIUS服务器发送计费停止请求报文(Accounting-Request)。
iMaster NCE-Campus转发计费停止请求报文给RADIUS服务器。
RADIUS服务器返回计费结束响应报文(Accounting-Response),并停止计费。
iMaster NCE-Campus转发计费结束响应报文给接入设备。
用户访问结束。
下线流程(管理员强制下线)
802.1X中继认证支持在iMaster NCE-Campus租户界面强制用户下线,下线流程如下图所示。
图1-7 802.1X中继认证下线流程(管理员强制下线)

RADIUS服务器接收到强制下线请求后向接入设备发送下线通知报文DM(Disconnect Message)-Request,该报文中包含Session ID、帐号和终端IP地址等信息。
iMaster NCE-Campus转发下线通知报文给接入设备。
接入设备根据DM-Request报文中的信息查找在线用户列表,将符合条件的用户下线,并向RADIUS服务器发送下线成功响应报文DM-ACK。
iMaster NCE-Campus转发下线成功响应报文给RADIUS服务器。
接入设备向RADIUS服务器发送计费停止请求报文(Accounting-Request)。
iMaster NCE-Campus转发计费停止请求报文给RADIUS服务器。
RADIUS服务器返回计费结束响应报文(Accounting-Response),并停止计费。
iMaster NCE-Campus转发计费结束响应报文给接入设备。
用户访问结束。
802.1X认证的应用场景
员工输入用户名和密码,802.1X认证后接入网络
对于一些中小型的机构(教育机构、金融机构、政府机构等),对于信息安全要求严格,为了确保只有授权的员工才能访问内部网络,可以使用802.1X认证接入网络。
如下图所示,员工使用操作系统自带的802.1X客户端输入用户名和密码后接入网络。
图1-8 使用操作系统自带的802.1X客户端接入网络
员工加入域后,使用域账号自动802.1X认证后接入网络
对于一些大中型的机构(教育机构、金融机构、政府机构等),分支众多,员工规模大,会使用域控制器进行统一的账号管理,员工使用域账号登录后,可以使用域账号自动完成802.1X认证。
如下图所示,员工的PC加入域后,可以使用域账号登录操作系统,并使用操作系统自带的802.1X客户端完成802.1X认证,接入内部网络。
图1-9 员工使用域账号自动802.1X认证接入网络