一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

认证方法、装置、网络设备、系统及可读存储介质与流程

2022-05-17 21:07:45 来源:中国专利 TAG:


1.本发明实施例涉及通信领域,尤其涉及一种认证方法、装置、网络设备、系统及可读存储介质。


背景技术:

2.随着通信技术的发展,登录场景越来越多,认证方式也越来越完善。相关技术中,认证系统是基于安全外壳协议(secure shell,ssh)进行设计的,客户端向服务端发送认证请求,该认证请求中携带有用户名和密码,服务端解析认证请求获取用户名和密码,而后将用户名和密码发送至认证中心进行认证,认证结果通过服务端返回到客户端。
3.由于相关技术仅支持对用户名和密码进行认证,因而存在安全隐患。


技术实现要素:

4.本技术提出一种认证方法、装置、网络设备、系统及存储介质,用于提升用户认证的安全性。
5.第一方面,提供了一种认证方法,以服务端执行该方法为例,该方法包括:服务端接收客户端发送的认证请求,该认证请求中携带用户名和密码;服务端根据认证请求获取用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;服务端基于用户名、密码以及用户协议信息获取认证结果。
6.在一种可能的实现方式中,在服务端基于用户名、密码以及用户协议信息获取认证结果之后,还包括,服务端向客户端发送认证结果。
7.在认证过程中,通过在对用户名和密码进行认证的基础上,进一步明确标识出用户登录的应用协议,实现基于用户登录的协议范围进行的认证,使得认证的过程更为完善,提高了认证的安全性。另外,不同的用户协议支持不同的接口,认证过程中对用户协议的应用,实现了不同接口类型基于用户协议的分离认证,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况,优化了用户体验。
8.在一种可能的实现方式中,认证请求还携带用户协议信息;服务端根据认证请求获取用户名、密码以及用户协议信息,包括:服务端对认证请求进行解析,得到用户名、密码以及用户协议信息。通过认证请求来携带用户协议信息,使服务端可直接根据认证请求来获取用户协议信息。
9.在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。用户协议信息不仅可以携带在认证请求新增加的扩展字段中,还可以携带在认证请求的已有字段中,携带方式较为灵活。
10.在一种可能的实现方式中,认证请求的已有字段包括注释字符串字段或者用户名字符串字段。
11.在一种可能的实现方式中,服务端根据认证请求获取用户名、密码以及用户协议信息,包括:服务端对认证请求进行解析,得到用户名和密码;服务端确定认证请求的接入
端口,确定接入端口对应的用户协议信息。针对认证请求不携带用户协议信息的情况,由服务端基于端口转换得到对应的用户协议信息,扩展了新的获取用户协议信息的方式。
12.在一种可能的实现方式中,确定接入端口对应的用户协议信息,包括:服务端基于端口与用户协议的映射关系确定接入端口对应的用户协议信息。
13.在一种可能的实现方式中,服务端基于用户名、密码以及用户协议信息获取认证结果,包括:服务端将用户名、密码以及用户协议信息发送给认证中心;服务端接收认证中心对用户名、密码以及用户协议信息进行认证之后反馈的认证结果。该种实现方式下,认证中心提前配置有用户名、密码和登录信息,通过服务端与认证中心交互来实现认证,得到认证结果。
14.在一种可能的实现方式中,认证中心可设置多个,不同认证中心为不同的服务端提供认证服务。则服务端向与其对应的认证中心发送用户名、密码以及用户协议信息,由此实现分布式认证,进而提高认证效率。
15.在一种可能的实现方式中,服务端基于用户名、密码以及用户协议信息获取认证结果,包括:服务端将用户名、密码以及用户协议信息与参考信息进行比对,得到认证结果。该种方式下,服务端配置参考信息,该参考信息包括配置的用户名、密码和用户协议信息,从而在服务端侧实现认证,进一步保证安全性。
16.第二方面,提供了一种认证方法,以客户端执行该方法为例,方法包括:客户端向服务端发送认证请求,认证请求中携带用户名和密码;客户端接收服务端反馈的认证结果,认证结果基于用户名、密码以及用户协议信息进行认证得到,用户协议信息用于指示用户登录的协议范围。
17.在一种可能的实现方式中,认证请求还携带用户协议信息。
18.在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。
19.在一种可能的实现方式中,认证请求的已有字段包括注释字符串字段或者用户名字符串字段。
20.第三方面,提供了一种认证方法,以认证中心执行该方法为例,方法包括:认证中心接收服务端发送的用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;认证中心对用户名、密码以及用户协议信息进行认证,得到认证结果;认证中心将认证结果发送给服务端。
21.在一种可能的实现方式中,认证中心对用户名、密码以及用户协议信息进行认证,得到认证结果,包括:认证中心将用户名、密码以及用户协议信息与参考信息进行比对,根据比对结果得到认证结果,参考信息包括配置的用户名、密码以及用户协议信息。
22.第四方面,提供了一种认证装置,装置包括:
23.接收模块,用于接收客户端发送的认证请求,认证请求中携带用户名和密码;
24.第一获取模块,用于根据认证请求获取用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;
25.第二获取模块,用于基于用户名、密码以及用户协议信息获取认证结果;
26.在一种可能的实现方式中,该装置还包括发送模块,用于向客户端发送认证结果。
27.在一种可能的实现方式中,认证请求还携带用户协议信息;
28.第一获取模块,用于对认证请求进行解析,得到用户名、密码以及用户协议信息。
29.在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。
30.在一种可能的实现方式中,认证请求的已有字段包括注释字符串字段或者用户名字符串字段。
31.在一种可能的实现方式中,第一获取模块,用于对认证请求进行解析,得到用户名和密码;确定认证请求的接入端口,确定接入端口对应的用户协议信息。
32.在一种可能的实现方式中,第一获取模块,用于基于端口与用户协议的映射关系确定接入端口对应的用户协议信息。
33.在一种可能的实现方式中,第二获取模块,用于将用户名、密码以及用户协议信息发送给认证中心;接收认证中心对用户名、密码以及用户协议信息进行认证之后反馈的认证结果。
34.第五方面,提供了一种认证装置,装置包括:
35.发送模块,用于向服务端发送认证请求,认证请求中携带用户名和密码;
36.接收模块,用于接收服务端反馈的认证结果,认证结果基于用户名、密码以及用户协议信息进行认证得到,用户协议信息用于指示用户登录的协议范围。
37.在一种可能的实现方式中,认证请求还携带用户协议信息。
38.在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。
39.在一种可能的实现方式中,认证请求的已有字段包括注释字符串字段或者用户名字符串字段。
40.第六方面,提供了一种认证装置,装置包括:
41.接收模块,用于接收服务端发送的用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;
42.认证模块,用于对用户名、密码以及用户协议信息进行认证,得到认证结果;
43.发送模块,用于将认证结果发送给服务端。
44.在一种可能的实现方式中,认证模块,用于将用户名、密码以及用户协议信息与参考信息进行比对,根据比对结果得到认证结果,参考信息包括配置的用户名、密码以及用户协议信息。
45.需要说明的是,上述第一方面至第六方面涉及的用户登录的协议范围可通过用户协议的类型来表示,例如,用户协议的类型包括网络配置协议(network configuration protocol,netconf)、命令行界面(command-line interface,cli)、文件传输协议(file transfer protocol,ftp)等。
46.第七方面,提供了一种网络设备,包括处理器,处理器与存储器耦合,存储器中存储有至少一条程序指令或代码,至少一条程序指令或代码由处理器加载并执行,以使网络设备实现第一方面、第二方面或者第三方面中任一认证方法。
47.第八方面,提供了一种认证系统,所述系统包括第一网络设备、第二网络设备和第三网络设备,所述第一网络设备用于执行第一方面或第一方面中任一可能的实现方式所述的认证方法,所述第二网络设备用于执行第二方面或第二方面中任一可能的实现方式所述
的认证方法,所述第三网络设备用于执行第三方面或第三方面中任一可能的实现方式所述的认证方法。
48.第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序指令或代码,程序指令或代码由处理器加载并执行时以使计算机实现如第一方面、第二方面或第三方面中任一所述的认证方法。
49.第十方面,提供一种计算机程序产品,所述计算机程序产品包括程序指令或代码,当所述程序指令或代码在计算机上运行时,使得计算机执行实现如第一方面、第二方面或第三方面中任一所述的认证方法。
附图说明
50.图1是本发明实施例提供的一种认证系统的架构示意图;
51.图2是本发明实施例提供的一种认证方法流程图;
52.图3是本发明实施例提供的另一种认证方法流程图;
53.图4是本发明实施例提供的另一种认证方法流程图;
54.图5是本发明实施例提供的另一种认证方法流程图;
55.图6是本发明实施例提供的另一种认证方法流程图;
56.图7是本发明实施例提供的一种认证装置的结构示意图;
57.图8是本发明实施例提供的一种认证装置的结构示意图;
58.图9是本发明实施例提供的一种认证装置的结构示意图;
59.图10是本发明实施例提供的一种网络设备的结构示意图;
60.图11是本发明实施例提供的一种网络设备的结构示意图;
61.图12是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
62.本技术的实施方式部分使用的术语仅用于对本技术的实施例进行解释,而非旨在限定本技术。下面结合附图,对本发明的实施例进行描述。
63.在信息通信领域(information and communications technology,ict),人与机器之间、机器与机器之间进行的对话、交互、数据传输等操作需要各类接口协议的支持才能得以实现。人机接口和机机接口的用户权限是不一样的,能够操作的特性范围也是不一样的。例如,银行系统,用户在没有开通手机银行的情况下,无法登录手机银行。因此,随着登录场景越来越多,为了提高认证的安全性,除了对用户名和密码进行认证外,还可进一步明确标识用户登录的应用协议,基于能够登录的应用协议范围进行认证。
64.对此,本发明实施例提供了一种认证方法,该方法可应用于图1所示的认证系统中。如图1所示,该认证系统包括客户端101和服务端102,客户端101与服务端102通过网络相互连接且能够进行数据传输。基于图1所示的认证系统,服务端102接收客户端101发送的认证请求,并基于该认证请求获取用户名、密码和用户协议信息,随后服务端102基于获取到的信息进行用户的认证,得到认证结果并反馈给客户端101,以告知用户认证的结果。
65.除了可由服务端102基于用户名、密码和用户协议信息完成认证外,可选地,该认证系统还包括认证中心103,认证中心103可与服务端102连接并进行数据传输;服务端102
将基于认证请求获取到的用户名、密码和用户协议信息发送至认证中心103,认证中心103将接收到的信息与参考信息进行比对,得到认证结果并反馈给服务端102,再由服务端102将认证结果反馈给客户端101,以告知用户认证的结果。
66.结合图1所示的认证系统,该认证方法如图2所示,包括但不限于如下几个过程。
67.201,客户端向服务端发送认证请求,该认证请求中携带用户名和密码。
68.示例性地,在请求注释文档(request for comments,rfc)4252中定义了ssh认证报文。以通过ssh认证报文来发送认证请求为例,用户在进行认证的过程中,客户端可发送ssh_msg_userauth_request报文至服务端,此认证报文中携带有用户名和密码。
69.在一种可能的实现方式中,认证请求还携带用户协议信息,用户协议信息用于指示用户登录的协议范围。本发明实施例不对认证请求中携带的用户协议信息进行限定,可基于当前认证的场景中使用的协议来确定。例如,人机语言(man-machine language,mml)、命令行界面(command-line interface,cli)是人机接口;网络配置协议(network configuration protocol,netconf)、表现层状态转换协议(representational state transfer configuration,restconf)、超文本传输协议(hyper text transfer protocol,http)是机机接口;文件传输协议(file transfer protocol,ftp)是人机接口也是机机接口。不同接口对应不同的用户协议,客户端可通过检测使用的用户协议从而在认证请求中携带用户协议信息。
70.关于认证请求携带用户协议信息的方式,本发明实施例不进行限定。示例性地,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。其中,新增的扩展字段是指认证请求中原来不具备的字段,此次通过在认证请求中新增的扩展字段来携带该用户协议信息。已有字段是指认证请求中原来就具备的字段,该已有字段除了具备原来的功能,还携带该用户协议信息。
71.示例性地,认证请求的已有字段包括但不限于注释字符串字段或者用户名字符串字段。也就是说,通过注释字符串字段或用户名字符串字段来携带用户协议信息。
72.202,服务端接收客户端发送的认证请求,根据认证请求获取用户名、密码以及用户协议信息。
73.其中,用户协议信息用于指示用户登录的协议范围。示例性地,用户登录的协议范围可通过用户协议的类型来表示,例如,用户协议的类型包括netconf、cli、ftp等。
74.如201所述,根据认证请求是否携带用户协议信息的不同情况,服务端根据认证请求获取用户名、密码以及用户协议信息的方式包括但不限于如下两种情况。
75.情况一,认证请求携带了用户协议信息。
76.针对情况一,服务端根据认证请求获取用户名、密码以及用户协议信息,包括:服务端对认证请求进行解析,得到用户名、密码以及用户协议信息。
77.示例性地,用户协议信息携带在认证请求新增的扩展字段中,则服务端通过解析认证请求新增的扩展字段能够获取到用户协议信息。或者,用户协议信息携带在认证请求的已有字段中,则服务端通过解析认证请求的已有字段来获取用户协议信息。例如,认证请求的已有字段包括注释字符串字段或者用户名字符串字段,则服务端通过解析注释字符串字段或者用户名字符串字段来获取用户协议信息。由于用户名字符串字段不仅携带用户协议信息,还携带用户名,因而服务端解析用户名字符串字段后不仅能够获取到用户协议信
息,还能够获取到用户名。
78.情况二,认证请求不携带用户协议信息。
79.针对情况二,由于认证请求不携带用户协议信息,因而服务端根据认证请求获取用户名、密码以及用户协议信息,包括:服务端对认证请求进行解析,得到用户名和密码;服务端确定认证请求的接入端口,确定接入端口对应的用户协议信息。
80.该情况二下,服务端在确定认证请求的接入端口后,通过接入端口与用户协议信息的转换来获取用户协议信息。本发明实施例不对服务端进行接入端口与用户协议信息的转换方式进行限定,示例性地,服务端可预先配置端口与用户协议信息的映射关系,因而确定接入端口对应的用户协议信息,包括:服务端基于端口与用户协议的映射关系确定接入端口对应的用户协议信息。
81.其中,端口与用户协议信息的映射关系用于指示不同端口对应的用户协议信息,该不同端口对应的用户协议信息可以相同,也可以不同。例如有些端口对应相同的用户协议信息,有些端口对应的用户协议信息完全不同,本发明实施例不对端口对应的用户协议信息进行限定。
82.203,服务端基于用户名、密码以及用户协议信息获取认证结果。
83.服务端基于用户名、密码以及用户协议信息获取认证结果的方式包括但不限于本地认证或者远程认证两种方式。
84.方式一,远程认证。服务端基于用户名、密码以及用户协议信息获取认证结果,包括:服务端将用户名、密码以及用户协议信息发送给认证中心;服务端接收认证中心对用户名、密码以及用户协议信息进行认证之后反馈的认证结果。
85.其中,认证中心接收服务端发送的用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;认证中心对用户名、密码以及用户协议信息进行认证,得到认证结果;认证中心将认证结果发送给服务端。
86.示例性地,认证中心对用户名、密码以及用户协议信息进行认证,得到认证结果,包括:认证中心将用户名、密码以及用户协议信息与参考信息进行比对,根据比对结果得到认证结果,参考信息包括配置的用户名、密码以及用户协议信息。其中,参考信息可提前配置在认证中心侧,通过认证中心来实现认证,可节省服务端的处理步骤,减轻服务端的负荷。此外,远程认证时,还可设置多个认证中心,不同服务端与对应的认证中心进行交互,从而实现分布式认证,进而提高认证效率。
87.可选地,除了采用认证中心进行认证之外,服务端配置参考信息,由服务端在服务端本地完成认证。
88.方式二,本地认证。服务端基于用户名、密码以及用户协议信息获取认证结果,包括:服务端将获取到的用户名、密码以及用户协议信息与参考信息进行比对,根据比对结果得到认证结果。采用本地认证的方式,服务端可无需再与外界交互,进一步避免信息在传输过程中被篡改或拦截,从而可进一步提高安全性。
89.关于采用上述哪种认证方式,本发明实施例不进行限定。如果用户名、密码与用户协议信息中的任何一个未与参考信息匹配,则认证结果为认证失败。如果用户名、密码与用户协议信息均与对应的参考信息匹配,则认证结果为认证成功。
90.204,服务端向客户端发送认证结果。
91.无论是远程认证,还是服务端本地认证,服务端获取到认证结果后,将该认证结果发送给客户端。需要说明的是,服务端还可在获取到认证结果之后,并不向客户端返回认证结果。
92.205,客户端接收服务端反馈的认证结果。
93.可选地,如果服务端向客户端发送认证结果,则客户端接收到服务端反馈的认证结果后,可提示认证结果,以使用户获知认证的情况,采取进一步操作。
94.本发明实施例提供的方法,在认证过程中,通过在对用户名和密码进行认证的基础上,进一步明确标识出用户登录的应用协议,实现基于用户登录的协议范围进行的认证,使得认证的过程更为完善,提高了认证的安全性。另外,不同的用户协议支持不同的接口,认证过程中对用户协议的应用,实现了不同接口类型基于用户协议的分离认证,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况,优化了用户体验。
95.接下来,以不同场景为例,对本发明实施例提供的认证方法进行说明。
96.场景一,认证系统包括客户端、服务端和认证中心,用户协议信息携带在认证请求新增的扩展字段中。参见图3,本发明实施例提供的认证方法包括如下几个过程。
97.301,客户端向服务端发送版本协商报文请求。
98.为了能够正常地进行认证,客户端和服务端需要基于相同的ssh协议版本进行认证,因此,在客户端发送认证请求之前,客户端与服务端之间需要进行版本协商。在版本协商的过程中,客户端向服务端发送版本协商报文请求,该版本协商报文请求中携带客户端当前使用的ssh协议版本信息,或者携带客户端请求使用的ssh协议版本信息。
99.302,服务端返回版本协商报文响应。
100.在一种可能的实现方式中,服务端接收到客户端发送的版本协商报文请求,由此得到客户端当前使用的或者请求使用的ssh协议版本,如果该客户端当前使用的或者请求使用的ssh协议版本与服务端当前使用的ssh协议版本一致,则服务端向客户端返回的版本协商报文响应中携带协商成功指示。
101.可选地,如果该客户端当前使用的或者请求使用的ssh协议版本与服务端当前使用的ssh协议版本不一致,则服务端更新使用的ssh协议版本,以与客户端保持一致,并向客户端返回的版本协商报文响应中携带协商成功指示。或者,如果该客户端当前使用的或者请求使用的ssh协议版本与服务端当前使用的ssh协议版本不一致,则服务端向客户端返回的版本协商报文响应中携带服务端使用的ssh协议版本,以使客户端更新使用的ssh协议版本,以与服务端保持一致。
102.303,客户端向服务端发送算法协商与密钥协商请求。
103.在认证之前,客户端与服务端除了进行版本协商,还进行算法协商与密钥协商。其中,算法协商是指对认证时使用的算法进行协商,密钥协商是指对认证时使用的密钥进行协商。示例性地,客户端发送的算法协商与密钥协商请求中可携带客户端使用或者请求使用的算法与密钥。
104.304,服务端返回算法协商与密钥协商响应。
105.服务端接收到客户端发送的算法协商与密钥协商请求后,如果客户端使用或者请求使用的算法与密钥与服务端使用的算法与密钥匹配,则服务端向客户端返回算法协商与
密钥协商响应中携带协商成功的指示。可选地,如果该客户端当前使用的或者请求使用的算法与密钥与服务端当前使用的算法与密钥不匹配,则服务端更新使用的算法和密钥,以与客户端侧的算法和密钥匹配,并向客户端返回的算法协商与密钥协商响应中携带协商成功指示。或者,如果该客户端当前使用的或者请求使用的算法与密钥与服务端当前使用的算法与密钥不匹配,则服务端向客户端返回的算法协商与密钥协商响应中携带服务端使用的算法与密钥,以使客户端更新使用的算法与密钥,以与服务端侧的算法和密钥匹配。
106.需要说明的是,以上步骤301-304均是基于ssh协议建立客户端和服务端之间的初步连接,保证客户端和服务端基于相同ssh协议进行认证。在认证过程中,如果连接未断开,则无需每次在认证时均执行步骤301-304,而是在协议版本更新或者算法与密钥更新时再执行即可。
107.305,客户端向服务端发送认证请求,该认证请求中携带用户名(username)、密码(password)和用户协议信息(sub-protocol),用户协议信息携带在认证请求新增的扩展字段中。
108.rfc是一系列以编号排定的文件,rfc 4252中定义了ssh认证报文。在如图1所示的认证系统中,在进行认证的过程中,客户端会发送ssh_msg_userauth_request报文至服务端,此认证报文中携带有用户名和密码。本实施例中,客户端发送认证报文时,在ssh_msg_userauth_request报文结构中增加新的可选字段sub-protocol,该sub-protocol字段中携带有用户协议信息。示例性地,在新增的sub-protocol字段中添加用户协议字符串,例如:netconf、telnet、ftp,用以区分不同的用户协议,标识用户登录的协议范围。报文结构示例如下表1:
109.表1
[0110][0111]
306,服务端解析接收到的认证请求,获取该认证请求携带的用户名、密码和用户协议信息。
[0112]
在本实施例中,用户名、密码以及用户协议信息均携带在认证请求中,服务端解析认证请求的报文,获取用户名、密码和用户协议信息。
[0113]
307,服务端将用户名、密码和用户协议信息发送给认证中心。
[0114]
308,认证中心将接收到的服务端发送的用户名、密码和用户协议信息与参考信息进行比对,得到认证结果。
[0115]
309,认证中心向服务端反馈认证结果。
[0116]
在本实施例中,认证中心支持基于用户协议进行用户配置得到参考信息,参考信息包括配置的用户名、密码和用户协议,参考信息中用户名、密码以及该用户可以接入的用户协议一一对应。参考信息限定了用户登录时账号可以使用的协议的范围,用以和认证中
心接收到的用户名、密码以及用户协议信息进行匹配认证。参考信息的配置在认证发生之前进行,且参考信息形式有多种形式,以用户名为aaa,密码为xxxx,用户协议信息指示的协议为ftp为例,可以选择以下任一配置方式,本实施例在此不做限定。
[0117]
例1:user aaa password xxxx protocol ftp netconf telnet http
[0118]
例2:user aaa password xxxx protocol ftp
[0119]
例3:ftp user aaa password xxxx
[0120]
当认证中心接收到的用户名、密码和用户协议与预先配置的参考信息的内容一一匹配时,认证结果为认证成功,否则认证结果为认证失败。认证中心将认证结果反馈给服务端。
[0121]
310,服务端将认证结果发送给客户端。
[0122]
该步骤为可选步骤,通过服务端向客户端发送认证结果,以告知认证是否成功,从而能够提示用户进行下一步操作。
[0123]
在本实施例中,客户端与服务端依次进行版本协商、算法协商和密钥协商,保证了客户端和服务端在同一版本的ssh协议下进行认证;随后,客户端向服务端发送添加了新的可选字段sub-protocol的认证请求,该字段携带用户协议信息;服务端接收认证请求报文后,解析认证请求得到用户名、密码以及用户协议信息。本实施例在对用户名和密码进行认证的认证过程中进行了对用户协议类型的判断,实现了认证基于用户协议信息的独立认证。
[0124]
另外,由于不同的用户协议支持不同的接口类型,本实施例实现了认证过程中对人机接口和机机接口的分离,提升了认证过程的安全性,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况,优化了用户体验。
[0125]
场景二,本实施例中认证系统包括客户端、服务端和认证中心,用户协议信息携带在认证请求的已有注释字符串字段。参见图4,认证方法包括如下几个过程。
[0126]
401,客户端向服务端发送版本协商报文请求。
[0127]
402,服务端返回版本协商报文响应。
[0128]
403,客户端向服务端发送算法协商与密钥协商请求。
[0129]
404,服务端返回算法协商与密钥协商响应。
[0130]
在本实施例中,步骤401至步骤404与场景一中实施例的301-304相同,均保证了登录系统中客户端和服务端基于相同的ssh协议版本进行认证,可参考上述301-304的相关描述,此处不再赘述。
[0131]
405,客户端向服务端发送认证请求,该认证请求中包括用户名(username)、密码(password)和用户协议信息(@sub-protocol=netconf),用户协议信息携带在认证请求的已有的注释字符串字段。
[0132]
rfc 4253中定义了ssh协议协商使用的字符串版本,其中注释字符串(comments)是一种可选字段。在如图1所示的认证系统中,用户在进行认证的过程中,客户端会发送ssh_msg_userauth_request报文至服务端,此认证报文中携带有用户名和密码,此外,此认证报文包括comments字符串字段。本实施例中,客户端发送认证报文时,对ssh_msg_userauth_request报文已有的comments字符串字段进行扩展,增加用户协议标识,例如@sub-protocol=netconf,用以区分不同的用户协议,标识用户登录的协议范围。
[0133]
406,服务端解析接收到的认证请求,获取该认证请求携带的用户名、密码和用户协议信息。
[0134]
407,服务端将用户名、密码和用户协议信息发送给认证中心。
[0135]
408,认证中心将接收到的服务端发送的用户名、密码和用户协议信息与参考信息进行比对,根据比对结果向服务端反馈认证结果。
[0136]
409,认证中心向服务端反馈认证结果。
[0137]
410,服务端将认证结果发送给客户端。
[0138]
该步骤410为可选步骤,通过服务端将认证结果发送给客户端,以告知认证是否成功,从而提示用户进行下一步操作。
[0139]
在本实施例中,步骤407至步骤410与场景一中实施例的步骤307~310原理相同,此处不再赘述。
[0140]
在本实施例中,客户端与服务端依次进行版本协商、算法协商和密钥协商,保证了客户端和服务端可以在同一版本的ssh协议下进行认证;随后,客户端向服务端发送认证请求,该认证请求携带有用户名、密码,同时对认证请求已有的comments字符串进行了扩展,携带有用户协议信息;服务端接收认证请求后,解析认证报文得到用户名、密码以及用户协议信息;认证中心接收服务端发送的用户名、密码和用户协议信息并将获取到的信息与参考信息进行比对;该参考信息为认证过程之前配置的用户名、密码和用户协议信息。本实施例在对用户名和密码进行认证的认证过程中进行了对用户协议类型的判断,实现了认证基于用户协议信息的独立认证。
[0141]
另外,由于不同的用户协议支持不同的接口类型,本实施例实现了认证过程中对人机接口和机机接口的分离,提升了认证过程的安全性,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况优化了用户体验。
[0142]
场景三,本实施例中认证系统包括客户端、服务端和认证中心,用户协议信息携带在认证请求的已有用户名字符串字段。参见图5,认证方法包括如下几个过程。
[0143]
501,客户端向服务端发送版本协商报文请求。
[0144]
502,服务端返回版本协商报文响应。
[0145]
503,客户端向服务端发送算法协商与密钥协商请求。
[0146]
504,服务端返回算法协商与密钥协商响应。
[0147]
在本实施例中,步骤501至步骤504与场景一中实施例的301-304原理相同,均保证了登录系统中客户端和服务端基于相同的ssh协议版本进行认证,可参考上述301-304,此处不再赘述。
[0148]
505,客户端向服务端发送认证请求,该认证请求中携带用户名(username)、密码(password)和用户协议信息(@sub-protocol=netconf),用户协议信息携带在认证请求的已有的用户名字符串字段。
[0149]
rfc 4252中定义了ssh认证报文。在如图1所示的认证系统中,用户在进行认证的过程中,客户端会发送ssh_msg_userauth_request报文至服务端,此认证报文中携带有用户名和密码。本实施例中,客户端发送认证报文时,对ssh_msg_userauth_request报文已有的用户名字符串字段进行扩展,增加用户协议标识,例如@sub-protocol=netconf,用以区分不同的用户协议,标识用户登录的协议范围。本实施例中,报文结构如下表2所示:
[0150]
表2
[0151][0152]
506,服务端解析接收到的认证请求,获取该认证请求携带的用户名、密码和用户协议信息。
[0153]
507,服务端将用户名、密码和用户协议信息发送给认证中心。
[0154]
508,认证中心将接收到的服务端发送的用户名、密码和用户协议信息与参考信息进行比对,得到认证结果。
[0155]
509,认证中心向服务端反馈认证结果。
[0156]
510,服务端将认证结果发送给客户端。
[0157]
该步骤510为可选步骤,通过服务端将认证结果发送给客户端,以告知认证是否成功,从而提示用户进行下一步操作。
[0158]
在本实施例中,步骤507至步骤510与场景一中实施例的步骤307~310原理相同,此处不再赘述。
[0159]
在本实施例中,客户端与服务端依次进行版本协商、算法协商和密钥协商,保证了客户端和服务端可以在同一版本的ssh协议下进行认证;随后,客户端向服务端发送认证请求,该认证请求携带有用户名、密码,同时认证请求已有的username字符串进行了扩展,携带有用户协议信息;服务端接收认证请求后,解析认证报文得到用户名、密码以及用户协议信息;认证中心接收服务端发送的用户名、密码和用户协议信息并将获取到的信息与参考信息进行比对;该参考信息为认证过程之前配置的用户名、密码和用户协议信息。本实施例在对用户名和密码进行认证的认证过程中进行了对用户协议类型的判断,实现了认证基于用户协议信息的独立认证。
[0160]
另外,由于不同的用户协议支持不同的接口类型,本实施例实现了认证过程中对人机接口和机机接口的分离,提升了认证过程的安全性,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况优化了用户体验。
[0161]
场景四,认证系统包括服务端、客户端和认证中心,在本实施例中,认证请求不携带用户协议信息。参见图6,该实施例包括如下几个过程。
[0162]
601,客户端向服务端发送版本协商报文请求。
[0163]
602,服务端返回版本协商报文响应。
[0164]
603,客户端向服务端发送算法协商与密钥协商请求。
[0165]
604,服务端返回算法协商与密钥协商响应。
[0166]
在本实施例中,步骤601至步骤604与场景一中实施例的301-304原理相同,保证登录系统中客户端和服务端基于相同的ssh协议版本进行认证,可参考上述301-304的相关描述,此处不再赘述。
[0167]
605,客户端向服务端发送认证请求,该认证请求携带用户名和密码。
[0168]
606,服务端解析认证请求,获取该用户名和密码。
[0169]
示例性地,服务端基于认证请求,获取用户名、密码。在本实施例中,认证信息不携带用户协议信息,所以,服务端解析认证请求得到用户名和密码。
[0170]
607,服务端将发送认证请求的接入端口的端口号转换为用户协议信息。
[0171]
服务端确定认证请求的接入端口,确定接入端口对应的用户协议信息,将端口号转换为用户协议信息。客户端向服务端发送的认证请求经过端口接入到服务端,基于不同的用户协议,认证请求经过的端口不同,每个端口都有自己特定的端口号。所以在本实施例中,在服务端中预先设置端口与用户协议的映射关系表。如下表3,不同的端口号对应不同类型的用户协议;当服务端接收到认证请求时,首先确定认证请求对应的接入端口号,而后将端口与映射关系表进行匹配,匹配成功则将接入端口转换为对应的用户协议。
[0172]
表3
[0173]
端口用户协议830netconf21ftp5000telnet
[0174]
608,服务端将用户名、密码和用户协议信息发送给认证中心。
[0175]
609,认证中心将接收到的服务端发送的用户名、密码和用户协议信息与参考信息进行比对,得到认证结果。
[0176]
610,向服务端反馈认证结果。
[0177]
611,服务端将认证结果发送给客户端。
[0178]
该步骤611为可选步骤,通过服务端将认证结果发送给客户端,以告知认证是否成功,从而提示用户进行下一步操作。
[0179]
在本实施例中,步骤608至步骤611与场景一中实施例的步骤307~310原理相同,此处不再赘述。
[0180]
在本实施例中,客户端与服务端依次进行版本协商、算法协商和密钥协商,保证了客户端和服务端可以在同一版本的ssh协议下进行认证;随后,客户端向服务端发送认证请求,该认证请求携带有用户名、密码,服务端接收认证请求后,解析认证报文得到用户名、密码;随后,服务端确定认证请求的接入端口,基于端口与用户协议的映射关系确定用户协议;认证中心接收服务端发送的用户名、密码和用户协议信息并将获取到的信息与参考信息进行比对;该参考信息为认证过程之前配置的用户名、密码和用户协议信息。本实施例在对用户名和密码进行认证的认证过程中进行了对用户协议类型的判断,实现了认证基于用户协议信息的独立认证。
[0181]
另外,由于不同的用户协议支持不同的接口类型,本实施例实现了认证过程中对人机接口和机机接口的分离,提升了认证过程的安全性,进一步提高了认证的准确性,避免了因用户协议不匹配造成的认证成功但无法进行后续操作的情况优化了用户体验。
[0182]
以上介绍了本技术实施例提供的认证方法,与上述方法对应,本技术实施例还提供认证装置。图7是本技术实施例提供的一种认证装置的结构示意图,该装置应用于第一网络设备。基于图7所示的如下多个模块,该图7所示的认证装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其
中所示的一部分模块,本技术实施例对此并不进行限制。如图7所示,该装置包括:
[0183]
接收模块701,用于接收客户端发送的认证请求,认证请求中携带用户名和密码;
[0184]
第一获取模块702,用于根据认证请求获取用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;
[0185]
第二获取模块703,用于基于用户名、密码以及用户协议信息获取认证结果。
[0186]
在一种可能的实现方式中,该装置还包括发送模块,用于向客户端发送认证结果。
[0187]
其中,用户登录的协议范围可通过用户协议的类型来表示,例如,用户协议的类型包括netconf、cli、ftp等。
[0188]
在一种可能的实现方式中,认证请求还携带用户协议信息;
[0189]
第一获取模块702,用于对认证请求进行解析,得到用户名、密码以及用户协议信息。
[0190]
在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。
[0191]
在一种可能的实现方式中,认证请求的已有字段包括注释字符串字段或者用户名字符串字段。
[0192]
在一种可能的实现方式中,第一获取模块702,用于对认证请求进行解析,得到用户名和密码;确定认证请求的接入端口,确定接入端口对应的用户协议信息。
[0193]
在一种可能的实现方式中,第一获取模块702,用于基于端口与协议的映射关系确定接入端口对应的用户协议信息。
[0194]
在一种可能的实现方式中,第二获取模块703,用于将用户名、密码以及用户协议信息发送给认证中心;接收认证中心对用户名、密码以及用户协议信息进行认证之后反馈的认证结果。
[0195]
图8是本技术实施例提供的一种认证装置的结构示意图,该装置应用于第二网络设备。基于图8所示的如下多个模块,该图8所示的认证装置能够执行第二网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图8所示,该装置包括:
[0196]
发送模块801,用于向服务端发送认证请求,认证请求中携带用户名和密码;
[0197]
接收模块802,用于接收服务端反馈的认证结果,认证结果基于用户名、密码以及用户协议信息进行认证得到,用户协议信息用于指示用户登录的协议范围。
[0198]
在一种可能的实现方式中,认证请求还携带用户协议信息。
[0199]
在一种可能的实现方式中,用户协议信息携带在认证请求新增的扩展字段中;或者,用户协议信息携带在认证请求的已有字段中。
[0200]
图9是本技术实施例提供的一种认证装置的结构示意图,该装置应用于第三网络设备。基于图9所示的如下多个模块,该图9所示的认证装置能够执行第三网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本技术实施例对此并不进行限制。如图9所示,该装置包括:
[0201]
接收模块901,用于接收服务端发送的用户名、密码以及用户协议信息,用户协议信息用于指示用户登录的协议范围;
[0202]
认证模块902,用于对用户名、密码以及用户协议信息进行认证,得到认证结果;
[0203]
发送模块903,用于将认证结果发送给服务端。
[0204]
在一种可能的实现方式中,认证模块902,用于将用户名、密码以及用户协议信息与参考信息进行比对,根据比对结果得到认证结果,参考信息包括配置的用户名、密码以及用户协议信息。
[0205]
应理解的是,上述图7-图9提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0206]
上述实施例中的网络设备的具体硬件结构如图10所示的网络设备1500,包括收发器1501、处理器1502和存储器1503。收发器1501、处理器1502和存储器1503之间通过总线1504连接。其中,收发器1501用于接收报文和发送报文,存储器1503用于存放指令或程序代码,处理器1502用于调用存储器1503中的指令或程序代码使得网络设备执行上述方法实施例中客户端的相关处理步骤。在具体实施例中,本技术实施例的网络设备1500可对应于上述各个方法实施例中的客户端,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图10所示的网络设备1500能够执行客户端所执行的全部或部分操作。
[0207]
在具体实施例中,本技术实施例的网络设备1500可对应于上述各个方法实施例中的服务端,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图10所示的网络设备1500能够执行服务端所执行的全部或部分操作。
[0208]
在具体实施例中,本技术实施例的网络设备1500可对应于上述各个方法实施例中的认证中心,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图10所示的网络设备1500能够执行认证中心所执行的全部或部分操作。
[0209]
参见图11,本实施例提供一种网络设备1000,该网络设备包括处理器1001,处理器与存储器1003耦合,存储器中存储有至少一条程序指令或代码,至少一条程序指令或代码由所述处理器加载并执行,以使网络设备实现图2-图6任一所示的认证方法。
[0210]
处理器1001例如是通用中央处理器(central processing unit,cpu)、数字信号处理器(digital signal processor,dsp)、网络处理器(network processer,np)、图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing units,npu)、数据处理单元(data processing unit,dpu)、微处理器或者一个或多个用于实现本技术方案的集成电路。例如,处理器1001包括专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。pld例如是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的组合等等。
[0211]
可选的,网络设备1000还包括总线。总线用于在网络设备1000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总
线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。图11中网络设备1000的各组件之间除了采用总线连接,还可采用其他方式连接,本发明实施例不对各组件的连接方式进行限定。
[0212]
存储器1003例如是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1003例如是独立存在,并通过总线与处理器1001相连接。存储器1003也可以和处理器1001集成在一起。
[0213]
通信接口1004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(ran)或无线局域网(wireless local area networks,wlan)等。通信接口1004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口1004可以为以太(ethernet)接口、快速以太(fast ethernet,fe)接口、千兆以太(gigabit ethernet,ge)接口,异步传输模式(asynchronous transfer mode,atm)接口,无线局域网(wireless local area networks,wlan)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本技术实施例中,通信接口1004可以用于网络设备1000与其他设备进行通信。
[0214]
在具体实现中,作为一种实施例,处理器1001可以包括一个或多个cpu,如图11中所示的cpu0和cpu1。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0215]
在具体实现中,作为一种实施例,网络设备1000可以包括多个处理器,如图11中所示的处理器1001和处理器1002。这些处理器中的每一个可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0216]
在具体实现中,作为一种实施例,网络设备1000还可以包括输出设备和输入设备。输出设备和处理器1001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备和处理器1001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
[0217]
在一些实施例中,存储器1003用于存储执行本技术方案的程序代码1005,处理器1005可以执行存储器1003中存储的程序代码1005。也即是,网络设备1000可以通过处理器1001以及存储器1003中的程序代码1005,来实现方法实施例提供的报文处理方法。程序代码1005中可以包括一个或多个软件模块。可选地,处理器1001自身也可以存储执行本技术
方案的程序代码或指令。
[0218]
在具体实施例中,本技术实施例的网络设备1000可对应于上述各个方法实施例中的客户端,网络设备1000中的处理器1001读取存储器1003中的程序代码1005或处理器1001自身存储的程序代码或指令,使图11所示的网络设备1000能够执行客户端所执行的全部或部分操作。
[0219]
在具体实施例中,本技术实施例的网络设备1000可对应于上述各个方法实施例中的服务端,网络设备1000中的处理器1001读取存储器1003中的程序代码1005或处理器1001自身存储的程序代码或指令,使图11所示的网络设备1000能够执行服务端所执行的全部或部分操作。
[0220]
在具体实施例中,本技术实施例的网络设备1000可对应于上述各个方法实施例中的认证中心,网络设备1000中的处理器1001读取存储器1003中的程序代码1005或处理器1001自身存储的程序代码或指令,使图11所示的网络设备1000能够执行认证中心所执行的全部或部分操作。
[0221]
参见图12,图12示出了本技术另一个示例性实施例提供的网络设备2100的结构示意图图12所示的网络设备2100用于执行上述图2-图6任一所示的认证方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
[0222]
如图12所示,网络设备2100包括:主控板2110和接口板2130。
[0223]
主控板也称为主处理单元(main processing unit,mpu)或路由处理卡(route processor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
[0224]
接口板2130也称为线路接口单元卡(line processing unit,lpu)、线卡(line card)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、pos(packet over sonet/sdh)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,flexe clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,pic)2133。
[0225]
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
[0226]
网络处理器2132用于实现报文的发送处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,np)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,asic)或现场可编程门阵列(field programmable gate array,fpga)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至cpu(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用cpu实现软件转发,从而接口板中不需要转
发芯片。
[0227]
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用cpu实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
[0228]
可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
[0229]
可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,sfu)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
[0230]
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-process communication,ipc)通道,主控板2110和接口板2130及接口板2140之间通过ipc通道进行通信。
[0231]
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
[0232]
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0233]
基于上述图10、图11及图12所示的网络设备,本实施例提供了一种认证系统,该认证系统包括第一网络设备和第二网络设备。可选地,还包括第三网络设备。其中,第一网络
设备用于执行图2-图6中所示服务端进行的操作,第二网络设备用于执行图2-图6中所示客户端进行的操作,第三网络设备用于执行图2-图6中所示认证中心进行的操作。可选的,第一网络设备为图10所示的网络设备1500或图11所示的网络设备1000或图12所示的网络设备2100,第二网络设备为图10所示的网络设备1500或图11所示的网络设备1000或图12所示的网络设备2100,第三网络设备为图10所示的网络设备1500或图11所示的网络设备1000或图12所示的网络设备2100。
[0234]
还提供了一种计算机可读存储介质,存储介质中存储有至少一条程序指令或代码,程序指令或代码由处理器加载并执行时以使计算机实现如上图2-图6中任一所述的认证方法。
[0235]
本技术提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
[0236]
本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一边缘网络设备可以被称为第二边缘网络设备,并且类似地,第二边缘网络设备可以被称为第一边缘网络设备。第一边缘网络和设备和第二边缘网络设备都可以是边缘网络设备,并且在某些情况下,可以是单独且不同的边缘网络设备。
[0237]
还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0238]
本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
[0239]
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
[0240]
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
[0241]
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0242]
应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
[0243]
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方
式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献