一种802.1X协议的认证方法和系统与流程

文档序号:33646405发布日期:2023-03-29 04:19阅读:89来源:国知局
一种802.1X协议的认证方法和系统与流程
一种802.1x协议的认证方法和系统
技术领域
1.本技术实施例涉及网络通信领域,尤指一种802.1x协议的认证方法和系统。


背景技术:

2.802.1x协议是基于端口的网络接入控制协议,基于端口的网络接入控制是指在网络设备的物理接入级对接入客户端进行认证和控制,此处的物理接入级是以太网交换设备或宽带接入设备的端口。连接在该类端口上的客户端设备如果能通过认证,就可以访问网络内的资源;如果不能通过认证,则无法访问网络内的资源。
3.图1为802.1x系统的结构示意图。如图1所示,802.1x系统包括三个实体:客户端(supplicant system)、接入设备(authenticator system)和认证服务器(authentication server system)。其中,接入设备和认证服务器之间以客户端和接入设备之间均采用扩展认证协议(eap,expanded authentication protocol)交换认证信息,
4.客户端与接入设备之间的eap协议报文使用eapol(eap over lans)封装格式,直接承载于lan环境中。接入设备内部有受控端口(controlled port)和非受控端口(uncontrolled port)。非受控端口用来传递eapol协议帧,始终处于双向连通状态,保证随时接收和发送eapol协议帧。受控端口用来传递网络资源和数据,默认状态为未连通状态;只有在eapol认证通过的状态下,受控端口才变为连通状态,用以传递网络资源和数据。
5.在接入设备与认证服务器之间,可以根据客户端支持情况和网络安全要求来决定采用的认证方式是eap中继方式还是eap终结方式,其中:
6.eap中继方式是将eap报文直接封装到radius报文中(eap over radius,eapor),以便穿越复杂的网络到达用作认证的radius服务器。
7.图2为eap中继方式的802.1x认证的流程图。如图2所示,以客户端发送eapol-start报文触发认证为例进行说明:
8.①
当用户需要访问外部网络时打开802.1x客户端,输入已经申请和登记过的用户名和密码,发起连接请求。此时,客户端将向接入设备发出认证请求报文(eapol-start),开始启动一次认证过程。
9.②
接入设备收到认证请求报文后,将发出一个identity类型的请求报文(eap-request/identity)要求用户的客户端程序发送输入的用户名。
10.③
客户端程序响应接入设备发出的请求,将用户名信息通过identity类型的响应报文(eap-response/identity)发送给接入设备。
11.④
接入设备将客户端发送的响应报文中的eap报文封装在radius报文(radius access-request)中发送给认证服务器进行处理。
12.⑤
radius服务器收到接入设备转发的用户名后,将该用户名与数据库中的用户名列表中对比,找到该用户名对应的密码信息,用随机生成的一个md5challenge(挑战码)对密码进行加密处理,同时将此md5 challenge通过radius access-challenge报文发送给接入设备。
13.⑥
接入设备将radius服务器发送的md5 challenge转发给客户端

14.⑦
客户端收到由接入设备传来的md5 challenge后,用该md5 challenge对密码进行加密处理,生成eap-response/md5 challenge报文,并发送给接入设备。
15.⑧
接入设备将此eap-response/md5 challenge报文封装在radius报文(radius access-request)中发送给radius服务器。
16.⑨
radius服务器将收到的已加密的密码和本地经过加密运算后的密码进行对比,如果相同,则认为该用户为合法用户,并向接入设备发送认证通过报文(radius access-accept)。
17.(
⑩0接入设备在收到认证通过报文后,向客户端发送认证成功报文(eap-success),并将端口状态改为授权状态,允许用户通过该端口访问网络。
18.用户在线期间,接入设备会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。
19.客户端收到握手报文后,向接入设备发送应答报文,表示用户仍然在线。缺省情况下,若接入设备发送的两次握手请求报文都未得到客户端应答,接入设备就会让用户下线,防止用户因为异常原因下线而设备无法感知。
20.客户端可以发送eapol-logoff报文给接入设备,主动要求下线。
21.接入设备把端口状态从授权状态改为未授权状态,并向客户端发送eap-failure报文。
22.(2)eap终结方式:eap报文在接入设备终结并重新封装到radius报文中,利用标准radius协议完成认证、授权和计费。
23.图3为eap终结方式的802.1x认证的流程图。如图3所示,现有技术中以客户端发送eapol-start报文触发认证为例进行说明,相比于eap中继方式的认证流程,eap终结方式的认证流程不同之处在于,用于对密码进行加密处理的md5 challenge由接入设备生成,之后接入设备会把用户名、md5challenge和客户端加密后的密码信息一起送给radius服务器,进行相关的认证处理。而在eap中继方式中,用来对用户密码进行加密处理的md5challenge由认证服务器生成,接入设备只是负责将eap报文封装在radius报文中透传认证服务器,整个认证处理都由认证服务器来完成。
24.从上述的802.1x认证流程可知:无论是eap中继方式还是eap终结方式,在认证过程中客户端、接入设备和认证服务器之间交互过程报文较多,尤其是接入设备需要处理大量协议报文,对接入设备造成大量报文压力,如果接入设备所连接的客户端数量较多的话,甚至给网络环境带来不安定隐患。


技术实现要素:

25.为了解决上述任一技术问题,本技术实施例提供了一种802.1x协议的认证方法和系统。
26.为了达到本技术实施例目的,本技术实施例提供了一种802.1x协议的认证方法,包括:
27.在接收用户的连接建立请求后,如果客户端与接入设备之间当前的连接为安全连
接,则通过发送用户认证报文通知所述接入设备基于802.1x协议的认证操作,其中,所述用户认证报文携带有所述用户的用户名。
28.一种802.1x协议的认证系统,包括:
29.客户端,用于实现上文所述方法;
30.接入设备,用于接收启动802.1x认证的通知信息,并利用所述用户名,执行802.1x认证服务操作。
31.上述技术方案中的一个技术方案具有如下优点或有益效果:
32.在客户端通知接入设备启动802.1x协议的认证时,如果客户端和接入设备之间当前的连接为安全连接,直接上报用户名,减少了与接入设备之间的报文交互数量,从而降低报文交互过程中的出现问题的概率以及设备处理报文的数目,达到减少网络报文交互压力的目的
33.本技术实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
34.附图用来提供对本技术实施例技术方案的进一步理解,并且构成说明书的一部分,与本技术实施例的实施例一起用于解释本技术实施例的技术方案,并不构成对本技术实施例技术方案的限制。
35.图1为802.1x系统的结构示意图;
36.图2为eap中继方式的802.1x认证的流程图;
37.图3为eap终结方式的802.1x认证的流程图;
38.图4为本技术实施例提供的802.1x协议的认证方法的流程图;
39.图5为本技术实施例提供的连接方式的确定方法的交互示意图;
40.图6为本技术实施例提供的802.1x协议的认证方法的交互示意图;
41.图7为本技术实施例提供的用户认证报文的示意图。
具体实施方式
42.为使本技术实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本技术实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本技术实施例中的实施例及实施例中的特征可以相互任意组合。
43.图4为本技术实施例提供的802.1x协议的认证方法的流程图。如图4所示,所述方法包括:
44.步骤101、接收用户的连接建立请求;
45.步骤102、如果客户端与接入设备之间当前的连接为安全连接,则通过发送用户认证报文通知所述接入设备基于802.1x协议的认证操作,其中,所述用户认证报文携带有所述用户的用户名。
46.本技术实施例提供的方法,在客户端通知接入设备启动802.1x协议的认证时,如果客户端和接入设备之间当前的连接为安全连接,直接上报用户名,减少了与接入设备之
间的报文交互数量,从而降低报文交互过程中的出现问题的概率以及设备处理报文的数目,达到减少网络报文交互压力的目的。
47.为了使客户端可以实现802.1x的认证方法,在本技术实施例中,预先在客户端本地记录本客户端与接入设备的连接方式以及本客户端与接入设备之间链路的安全性,其中:
48.客户端与接入设备的连接方式通常为直连、跨接或者未知;
49.所述链路的安全性可以表示本客户端与接入设备之间当前的连接是否为安全连接,其中链路的安全性根据链路安全性标识来确定链路的可靠性,其中,链路安全性标识的取值可以为安全、不确定或者不安全。
50.对于各客户端而言,在未建立连接之前,客户端与接入设备的连接方式的默认值为未知,链路安全性标识的默认值为不安全。
51.其中,上述链路安全性标识的取值可以采用以下方式得到:
52.(1)通过人工输入的方式。
53.具体的,通过网络规划时拓扑结构和配置,已知各客户端和接入设备之间的连接方式以及链路安全性。例如,当接入设备和客户端为直连时,认为链路安全性标识的取值是安全;当客户端和接入设备之间为专网连接时,如果两者的连接方式为跨接,认为链路安全性标识的取值是安全。
54.(2)采用自动获取的方式确定链路安全性的取值。
55.在初始状态时,客户端获取接入设备的域名(domain name)或者ip地址,顺序发送用于路由跟踪(traceroute)接入设备的域名或ip地址的检测报文,该检测报文包括递增的ttl(time to live,生存时间值),从而获取路径中每一跳的信息,直至获取到接入设备返回的最后回应(final replay)报文。
56.在获取到接入设备返回的最后回应报文后,根据最后一次发送的检测报文中ttl的取值,确定客户端与接入设备之间的连接方式,包括:
57.如果最后回应报文中ttl为1,则更新客户端与接入设备之间的连接方式为直连;
58.如果最后回应报文中ttl为大于1的确定值,则更新客户端与接入设备之间的连接方式为跨接;
59.如果ttl为不确定值,则确定客户端与接入设备之间的连接方式为未知。
60.图5为本技术实施例提供的连接方式的确定方法的交互示意图。如图5所示,所述方法包括:
61.步骤s1:在客户端发送用于路由跟踪域名的检测报文,所述检测报文包括源地址和接入设备的域名,其中ttl设置为1;
62.步骤s2:作为第一跳的第一路由器在接收到ttl为1的检测报文后,将ttl减1,此时ttl为0,第一路由器不再向下一跳转发该检测报文,将检测报文丢弃,并送回一个icmp(internet control message protocol,internet控制报文协议)超时(time exceeded)消息,该icmp time exceeded消息包括:第一路由器的域名以及该检测报文的源地址;
63.步骤s2:客户端在接收到第一路由器发送的icmp time exceeded消息后,记录作为第一跳的设备的当前路径,由于作为第一跳的设备返回的icmp time exceeded消息中的域名与接入设备的域名不相同时,继续发送用于路由跟踪域名的检测报文,所述检测报文
包括:源地址和接入设备的域名,其中ttl设置为2;
64.步骤s3:该检测报文在经过第一路由器后,该检测报文中的ttl执行减1操作,因此作为第二跳的第二路由器接收到该检测报文时,ttl继续执行减1操作,此时ttl为0,第二路由器不再向下一跳发送该检测报文,将检测报文丢弃,并返回一个icmp time exceeded消息,该icmp time exceeded消息包括:检测报文的源地址及第二路由器的域名;
65.步骤s4:客户端在接收到第二路由器发送的icmp time exceeded消息后,记录作为第二跳的设备的当前路径,由于作为第二跳的设备返回发送的icmp time exceeded消息中的域名与接入设备的域名不相同,继续发送用于路由跟踪域名的检测报文,所述检测报文包括:源地址及接入设备的域名,其中ttl设置为3;
66.步骤s5:由于检测报文依次经过第一路由器和第二路由器后,ttl均执行减1操作,当作为第三跳的接入设备接收到该检测报文后,ttl继续执行减1操作,此时ttl为0;由于该检测报文中携带的接入设备的域名与本机域名相同,返回包含本地域名的icmp目的地址不可达(destination unreachable)消息给客户端;
67.步骤s6:客户端在接收到icmp destination unreachable消息后,记录作为第三跳的设备的当前路径,在作为第二跳的设备返回发送的icmp time exceeded消息中的域名与接入设备主机域名相同时,确定作为第三跳的设备为接入设备,同时确定客户端与接入设备之间的连接方式为跨接。
68.在上述方法中,如果检测报文对应的返回消息中未携带域名,则更新ttl的取值后,继续发送检测报文。
69.进一步的,确定作为第三跳的设备为接入设备,包括:
70.客户端向接入设备连续发送设定次数的检测报文,典型的,该设定次数可以为3次;如果客户端在设定时间内连续接收到设定次数icmp destination unreachable消息后,认为所述接入设备为与客户端之间数据传输稳定,不存在丢包或连接中断的问题,因此,记录客户端和接入设备之间当前连接为安全连接,否则,记录客户端和接入设备之间当前连接的安全性为不确定;
71.上述方法以检测报文中携带接入设备的域名为例进行说明,同理可知,在检测报文中携带有接入设备的ip地址的交互方式相似,此处不再赘述。
72.此处补充说明一点:上述检测报文可以是对域名进行traceroute检测,也可以是对ip地址进行traceroute检测,可以由本领域技术人员在初始状态时根据在客户端输入的信息确定一个即可,也可以由本领域普通技术人员在已知接入设备的域名或ip地址之一是作为判据时,以其作为traceroute检测对象。
73.图6为本技术实施例提供的802.1x协议的认证方法的交互示意图。如图6所示,所述方法包括:
74.步骤201:当接收到用户访问外部网络的请求后,获取需要进行802.1x认证的用户名;
75.步骤202:判断本地是否记录本客户端与接入设备的链路安全性,如果本客户端与接入设备之间当前的连接为安全连接,则执行步骤203,否则按照现有技术的认证方式执行;
76.在本步骤中,以客户端与接入设备之间当前连接是否为安全连接为判据,选择客
户端向接入设备发起认证的方式;只有在当前连接不是安全连接时,才采用现有技术的方式发起认证;
77.步骤203:客户端向接入设备发送基于802.1x协议的用户认证报文,其中所述用户认证报文直接封装有用户的用户名,以实现后续认证。
78.图7为本技术实施例提供的用户认证报文的示意图。如图7所示,所述用户认证报文采用以太网帧格式,其中:
79.preamble表示前导码:设为固定值,例如:10101010;
80.da表示目的地址,固定为802.1x认证组播mac地址;
81.sa表示源地址,取值为客户端mac地址;
82.tag字段写入虚拟局域网(virtual local area network,vlan)的数值;
83.pae ethernet type表示协议类型。此处与eapol的协议类型一致,为0x888e;
84.authentication表示认证信息,包括:
85.version表示版本号:表示客户端可发送的eapol数据帧的eapol协议版本号;
86.type表示报文类型,设定值,表示该数据帧为用户认证报文;;
87.length表示长度,包括authentication(认证信息)字段的长度;
88.identity表示身份,携带802.1x认证用户的用户名。
89.步骤204:接入设备接收到用户认证报文后,确定pae ethernet type字段为0x888e,即表明该报文与eapol的协议类型一致,进一步判断type字段标识该报文为用户认证报文,则从“extensible authentication”字段中获取802.1x认证用户的用户名。
90.步骤205:接入设备将用户名封装进radius报文(eap-response/identity)中发送给radius服务器。
91.步骤206:radius服务器接收到用户名后,将接收到与用户名与数据库中的用户名列表中对比,找到该用户名对应的密码信息,用随机生成的一个md5 challenge对密码进行加密处理,同时将此md5 challenge通过radius access-challenge报文发送给接入设备。
92.步骤207:接入设备接收到radius access-challenge报文后,进行解封装处理,提取md5 challenge后,将radius服务器发送的md5 challenge转发给客户端。
93.步骤208:客户端收到由接入设备发送的md5 challenge后,利用此challenge对802.1x认证秘钥进行加密处理,生成eap-response/md5challenge报文,并回复给接入设备;
94.步骤209:接入设备将此eap-response/md5 challenge报文封装在radius报文中发送给radius服务器。
95.步骤210:radius服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,相同,则认为该用户为合法用户,并向接入设备发送认证通过报文(radius/eap-success)。
96.步骤211:接入设备从收到的认证通过报文中提取到用户认证通过的信息,向客户端发送认证成功帧(eap-success),并将端口改为授权状态,完成认证流程,从而允许用户通过端口访问网络。
97.从以上所述的步骤可以看出,在客户端需要进行802.1x认证时,客户端以客户端和接入设备之间当前连接是否为安全连接为判断依据,确定发起认证的不同方式,在本地
记录两者之间当前的连接为安全连接时,直接将携带用户名的用户认证报文发送给接入设备,使得接入设备接收到用户认证报文直接获取其中的用户名继续向服务器发起认证,从而省去了每次客户端上发起802.1x协议的认证时接入设备和客户端之间的交互认证过程,(即:现有技术中的1-3直接由本技术中步骤203替代),减少了接入设备的报文处理压力,尤其在多客户端发起认证以及多个不同用户名从相同客户端发起认证时效果更为明显。
98.但此处说明一点,上述借助于图6以及步骤200-211所描述的802.1x的认证方法实质上是对应于现有技术中的epa中继的认证方式,在另外的实现方法中,也可以是对应于现有技术中的epa终结的方式进行改进,同样的,执行上述步骤200-204使得接入设备可以获取到用户信息,然后接入设备在生成用来对用户密码信息进行加密处理的md5 challenge后接入将用户名、md5challenge和客户端加密后的密码信息一起送给radius服务器,进行相关的认证处理,此处不再进行赘述,典型的步骤可以参考图3。
99.进一步地,如果客户端和接入设备通过现有技术的方法进行连接认证成功,但此时客户端本地记录客户端与接入设备之间当前连接的安全性为未知时,更新客户端与接入设备之间的链路安全性为安全。
100.更进一步的,当客户端本地记录客户端与接入设备之间当前连接的安全性为未知时,但是通过现有技术客户端上某个用户信息已经发起802.1x认证且在radius认证服务器上认证成功后,将该客户端上所记录的客户端与接入设备之间的链路安全性仅针对于该已登录成功的用户名记录为“安全”,以使得该用户名后续利用该客户端发起802.1x认证时,可以直接利用本技术的方法。
101.本技术实施例在客户端向接入设备发起802.1x认证时,按照当前客户端和接入设备之间的连接方式和链路安全性选择不同的发起方式,在判断客户端和接入设备为安全连接时直接上报用户名,较少了与接入设备之间的报文交互数量,从而降低报文交互过程中的问题概率和设备处理报文的数目,较少网络报文交互压力。
102.本技术实施例还提供一种802.1x协议的认证系统,包括:
103.客户端,用于实现上文任一所述的方法;
104.接入设备,用于接收启动802.1x认证的通知信息,并利用所述用户名,执行802.1x认证服务操作。
105.可选的,所述接入设备,用于将所述用户名发送给认证服务器发起认证处理;或者,生成挑战码,再将所述用户名、客户端加密后的密码以及挑战码发送给认证服务器进行认证处理。
106.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非
易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1