802.1x认证

802.1x认证结构

如图1所示,使用802.1x的系统为典型的Client/Server体系结构,包括三个实体,分别为:Supplicant System(客户端)、Authenticator System(设备端)以及 Authentication Server System(认证服务器)。

  • 客户端一般为用户终端设备,需要安装802.1x的客户端软件,如华为公司提供的802.1x客户端(或如Windows XP自带的802.1x客户端),用户通过启动客户端软件发起802.1x认证。客户端必须支持EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)。
  • 设备端通常为支持802.1x协议的网络设备,它为客户端提供接入局域网的接口,该接口可以是物理接口,也可以是逻辑接口。
  • 认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。该服务器可以存储用户名、密码、用户所属的VLAN、CAR参数、优先级、用户的访问控制列表等。

三个认证实体的信息交换关系如下:

  • Authenticator与Authentication Server间通过EAP(Extensible Authentication Protocol,可扩展认证协议)帧交换信息。
  • Supplicant与Authenticator间通过IEEE 802.1x所定义的EAPoL(EAP over LANs)帧交换信息。

EAP帧中封装了认证数据,该认证数据将被封装在其它AAA上层协议(如RADIUS)的报文中以穿越复杂的网络到达认证服务器。

图1 802.1x认证系统的体系结构

三个认证实体涉及以下三个基本概念:

  1. PAE

    PAE(Port Access Entity,接口访问实体)是802.1x认证机制中负责执行算法和协议操作的实体。

  2. 受控/非受控接口

    • 受控接口在授权状态下处于双向连通状态,用于传递业务报文;在非授权状态下禁止从客户端接收任何报文。
    • 非受控接口始终处于双向连通状态,主要用来传递EAPOL协议帧,保证客户端始终能够发出或接收认证报文。
  3. 受控方向

    在非授权状态下,受控接口可以被设置成单向受控和双向受控。

    实行单向受控时,禁止从客户端接收帧,但允许向客户端发送帧。

    说明:

    目前,S-switch设备只支持单向受控。

802.1x的认证过程

802.1x认证可以由设备端发起,也可以由客户端发起。

  • 由客户端发起802.1x认证

    客户端可以通过客户端软件向设备端发送EAPoL-Start报文,发起认证。

  • 由设备端发起802.1x认证

    当设备端探测到有未经过认证的用户使用网络时,就会主动向客户端发送EAP-Request/Identity报文,发起认证。

802.1x系统支持EAP中继方式和EAP终结方式与远端RADIUS服务器交互完成认证。以客户端主动发起认证为例,两种认证方式的过程描述如下。

EAP中继方式

EAP中继方式是IEEE 802.1x标准规定的。EAP(扩展认证协议)承载于其它高层协议中,如EAP over RADIUS,从而使扩展认证协议报文穿越复杂的网络到达认证服务器。EAP中继方式需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator。

目前设备所支持的EAP中继方式为EAP-MD5。即,RADIUS服务器发送MD5加密字(EAP-Request/MD5 Challenge报文)给客户端,客户端用该加密字对口令部分进行加密处理。下面是EAP-MD5方式业务流程,如图1所示。

图1 802.1x认证系统EAP中继方式认证过程

认证过程如下:

  1. 用户打开802.1x客户端程序,输入已经申请、登记过的用户名和密码,发起认证请求(EAPOL-Start报文)。
  2. 设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文),要求用户的客户端程序发送输入的用户名。
  3. 客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)发送给设备端。设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。
  4. 认证服务器收到设备端转发的用户名信息后,在数据库中找到该用户名对应的密码信息,用随机生成的一个加密字对密码进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文发送给设备端。
  5. 客户端程序收到由设备端传来的加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对密码进行加密处理,生成EAP-Response/MD5 Challenge报文,并通过设备端传给认证服务器。
  6. 认证服务器将收到的加密后的密码信息(RADIUS Access-Request报文)和本地加密运算后的密码信息进行对比,如果相同,则发送认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文)。
  7. 设备收到认证通过消息后,接口成为授权状态,允许用户通过接口访问网络。在接口通过认证后,设备端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。缺省情况下,两次握手请求报文都得不到客户端应答,设备端就会让用户下线,防止由用户异常原因下线而造成的设备无法感知的情况。

EAP终结方式

EAP终结方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。

对于EAP终结方式,设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。以下以CHAP认证方法为例介绍EAP终结方式业务流程,如图2所示。

图2 802.1x认证系统EAP终结方式认证过程

EAP终结方式与EAP中继方式的认证流程相比,不同之处在于由设备端生成对用户密码信息进行加密处理的随机加密字,之后设备端会将用户名、随机加密字和客户端加密后的密码信息发送给RADIUS服务器,进行认证处理。

S-switch在802.1x的实现中,不仅支持协议所规定的接口接入认证方式,还对其进行了扩展、优化,提高了系统的安全性和可管理性。

  • 支持一个物理接口下挂接多个用户的应用场合。
  • 接口接入控制方法可以采用基于MAC和基于接口两种方式。

你可能感兴趣的:(认证,target,resources,结构,blank)