欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

802.1x 身份认证原理分析

程序员文章站 2023-01-16 11:08:40
802.1x 身份认证原理分析...
802.1x协议起源于802.11协议,后者是ieee的无线局域网协议, 制订802.1x协议的初衷是为了解决无线局域网用户的接入认证问题。ieee802lan协议定义的局域网并不提供接入认证,只要用户能接入局域网控制 设备 (如lans witch) ,就可以访问局域网中的设备或资源。这在早期企业网有线lan应用环境下并不存在明显的安全隐患。但是随着移动办公及驻地网运营等应用的大规模发展,服务提供者需要对用户的接入进行控制和配置。尤其是wlan的应用和lan接入在电信网上大规模开展,有必 要对端口加以控制以实现用户级的接入控制,802.lx就是ieee为了解决基于端口的接入控制 (port-based network access contro1) 而定义的一个标准。
  ieee 802.1x是根据用户id或设备,对网络客户端(或端口)进行鉴权的标准。该流程被称为“端口级别的鉴权”。它采用radius(远程认证拨号用户服务)方法,并将其划分为三个不同小组:请求方、认证方和授权服务器。
  820.1x 标准应用于试图连接到端口或其它设备(如cisco catalyst交换机或cisco aironet系列接入点)(认证方)的终端设备和用户(请求方)。认证和授权都通过鉴权服务器(如cisco secure acs)后端通信实现。ieee 802.1x提供自动用户身份识别,集中进行鉴权、密钥管理和lan连接配置。 整个802.1x 的实现设计三个部分,请求者系统、认证系统和认证服务器系统。
一下分别介绍三者的具体内容:
请求者系统
  请求者是位于局域网链路一端的实体,由连接到该链路另一端的认证系统对其进行认证。请求者通常是支持802.1x认证的用户终端设备,用户通过启动客户端软件发起802.1x认证,后文的认证请求者和客户端二者表达相同含义。
  认证系统
  认证系统对连接到链路对端的认证请求者进行认证。认证系统通常为支持802. 1x协议的网络设备,它为请求者提供服务端口,该端口可以是物理端口也可以 是逻辑端口,一般在用户接入设备 (如lan switch和ap) 上实现802.1x认证。倎文的认证系统、认证点和接入设备三者表达相同含义。
  认证服务器系统
  认证服务器是为认证系统提供认证服务的实体,建议使用radius服务器来实现认证服务器的认证和授权功能。
  请求者和认证系统之间运行802.1x定义的eapo (extensible authentication protocolover lan)协议。当认证系统工作于中继方式时,认证系统与认证服务器之间也运行eap协议,eap帧中封装认证数据,将该协议承载在其它高层次协议中(如 radius),以便穿越复杂的网络到达认证服务器;当认证系统工作于终结方式时,认证系统终结eapol消息,并转换为其它认证协议(如 radius),传递用户认证信息给认证服务器系统。
  认证系统每个物理端口内部包含有受控端口和非受控端口。非受控端口始终处于双向连通状态,主要用来传递eapol协议帧,可随时保证接收认证请求者发出的eapol认证报文;受控端口只有在认证通过的状态下才打开,用于传递网络资源和服务。
  整个802.1x的认证过程可以描述如下
  (1) 客户端向接入设备发送一个eapol-start报文,开始802.1x认证接入;
  (2) 接入设备向客户端发送eap-request/identity报文,要求客户端将用户名送上来;
  (3) 客户端回应一个eap-response/identity给接入设备的请求,其中包括用户名;
  (4) 接入设备将eap-response/identity报文封装到radius access-request报文中,发送给认证服务器;
  (5) 认证服务器产生一个challenge,通过接入设备将radius access-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,challenged password和用户名一起送到radius服务器,由radius服务器进行认证
  (9)radius服务器根据用户信息,做md5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;
  (10) 如果认证通过,用户通过标准的dhcp协议 (可以是dhcp relay) ,通过接入设备获取规划的ip地址;
  (11) 如果认证通过,接入设备发起计费开始请求给radius用户认证服务器;
  (12)radius用户认证服务器回应计费开始请求报文。用户上线完毕。
相关标签: 802.1x 身份认证