CN109495503B - 一种ssl vpn认证方法、客户端、服务器及网关 - Google Patents
一种ssl vpn认证方法、客户端、服务器及网关 Download PDFInfo
- Publication number
- CN109495503B CN109495503B CN201811565765.4A CN201811565765A CN109495503B CN 109495503 B CN109495503 B CN 109495503B CN 201811565765 A CN201811565765 A CN 201811565765A CN 109495503 B CN109495503 B CN 109495503B
- Authority
- CN
- China
- Prior art keywords
- ssl vpn
- authentication
- certificate
- client
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种SSL VPN认证方法、客户端、服务器及网关,SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSL VPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSL VPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种SSL VPN认证方法、客户端、服务器及网关。
背景技术
SSL VPN是一种以SSL(Secure Socket Layer,安全套接层协议)/TLS(TransportLayer Security,安全传输层协议)协议为基础的新型VPN(Virtual Private Network,虚拟专用网络)技术。SSL VPN认证为接入用户提供了安全可靠地访问内部资源的方式。
目前,SSL VPN认证过程中,SSL VPN客户端将用户名和密码发送给SSL VPN网关,由SSL VPN网关将用户名和密码转发给AAA(Authentication Authorization Accounting,认证、授权、计费)服务器进行验证,如果AAA服务器验证通过,则确定SSL VPN认证成功。
然而,SSL VPN客户端和SSL VPN网关在发送用户名和密码时,是依据AAA服务器的地址、名称等属性信息发送至AAA服务器的,而这些属性信息容易被假冒钓鱼网站利用,将非法的用户名和密码通过验证,存在较大的安全隐患。
发明内容
本发明实施例的目的在于提供一种SSL VPN认证方法、客户端、服务器及网关,以提高SSL VPN认证的安全性。具体技术方案如下:
第一方面,本发明实施例提供了一种SSL VPN认证方法,应用于SSL VPN客户端,所述方法包括:
在与SSL VPN网关建立连接后,向所述SSL VPN网关发送第一登录请求报文,以使所述SSL VPN网关向AAA服务器传递所述第一登录请求报文中携带的证书认证标识;
接收所述SSL VPN网关发送的第一登录应答报文,所述第一登录应答报文中携带所述AAA服务器加密后的服务器证书;
从所述第一登录应答报文中解析得到所述服务器证书,并对所述服务器证书进行解密验证;
若验证结果为所述服务器证书有效,则向所述SSL VPN网关发送第二登录请求报文,以使所述SSL VPN网关向所述AAA服务器传递所述第二登录请求报文中携带的所述SSLVPN客户端加密后的客户端证书;
接收所述SSL VPN网关发送的第二登录应答报文,并从所述第二登录应答报文中解析得到认证结果。
第二方面,本发明实施例提供了一种SSL VPN认证方法,应用于AAA服务器,所述方法包括:
接收SSL VPN网关发送的第一认证请求报文;
当识别到所述第一认证请求报文中携带证书认证标识时,向所述SSL VPN网关发送第一认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书;
接收所述SSL VPN网关发送的第二认证请求报文,所述第二认证请求报文中携带所述SSL VPN客户端加密后的客户端证书;
从所述第二认证请求报文中解析得到所述客户端证书,并对所述客户端证书进行解密验证;
若验证结果为所述客户端证书有效,则向所述SSL VPN网关发送第二认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第二认证响应报文中携带的认证成功的认证结果。
第三方面,本发明实施例提供了一种SSL VPN认证方法,应用于SSL VPN网关,所述方法包括:
接收SSL VPN客户端发送的第一登录请求报文;
提取所述第一登录请求报文中携带的证书认证标识,并向AAA服务器发送携带所述证书认证标识的第一认证请求报文;
接收所述AAA服务器发送的第一认证响应报文;
提取所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书,并向所述SSL VPN客户端发送携带所述服务器证书的第一登录应答报文;
接收所述SSL VPN客户端发送的第二登录请求报文;
提取所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书,并向所述AAA服务器发送携带所述客户端证书的第二认证请求报文;
接收所述AAA服务器发送的第二认证响应报文;
提取所述第二认证响应报文中携带的认证结果,并向所述SSL VPN客户端发送携带所述认证结果的第二登录应答报文,以使所述SSL VPN客户端从所述第二登录应答报文中解析得到认证结果。
第四方面,本发明实施例提供了一种SSL VPN认证装置,应用于SSL VPN客户端,所述装置包括:
发送模块,用于在与SSL VPN网关建立连接后,向所述SSL VPN网关发送第一登录请求报文,以使所述SSL VPN网关向AAA服务器传递所述第一登录请求报文中携带的证书认证标识;
接收模块,用于接收所述SSL VPN网关发送的第一登录应答报文,所述第一登录应答报文中携带所述AAA服务器加密后的服务器证书;
验证模块,用于从所述第一登录应答报文中解析得到所述服务器证书,并对所述服务器证书进行解密验证;
所述发送模块,还用于若验证结果为所述服务器证书有效,则向所述SSL VPN网关发送第二登录请求报文,以使所述SSL VPN网关向所述AAA服务器传递所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书;
所述接收模块,还用于接收所述SSL VPN网关发送的第二登录应答报文,并从所述第二登录应答报文中解析得到认证结果。
第五方面,本发明实施例提供了一种SSL VPN认证装置,应用于AAA服务器,所述装置包括:
接收模块,用于接收SSL VPN网关发送的第一认证请求报文;
发送模块,用于当识别到所述第一认证请求报文中携带证书认证标识时,向所述SSL VPN网关发送第一认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书;
所述接收模块,还用于接收所述SSL VPN网关发送的第二认证请求报文,所述第二认证请求报文中携带所述SSL VPN客户端加密后的客户端证书;
验证模块,用于从所述第二认证请求报文中解析得到所述客户端证书,并对所述客户端证书进行解密验证;
所述发送模块,还用于若验证结果为所述客户端证书有效,则向所述SSL VPN网关发送第二认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第二认证响应报文中携带的认证成功的认证结果。
第六方面,本发明实施例提供了一种SSL VPN认证装置,应用于SSL VPN网关,所述装置包括:
接收模块,用于接收SSL VPN客户端发送的第一登录请求报文;
发送模块,用于提取所述第一登录请求报文中携带的证书认证标识,并向AAA服务器发送携带所述证书认证标识的第一认证请求报文;
所述接收模块,还用于接收所述AAA服务器发送的第一认证响应报文;
所述发送模块,还用于提取所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书,并向所述SSL VPN客户端发送携带所述服务器证书的第一登录应答报文;
所述接收模块,还用于接收所述SSL VPN客户端发送的第二登录请求报文;
所述发送模块,还用于提取所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书,并向所述AAA服务器发送携带所述客户端证书的第二认证请求报文;
所述接收模块,还用于接收所述AAA服务器发送的第二认证响应报文;
所述发送模块,还用于提取所述第二认证响应报文中携带的认证结果,并向所述SSL VPN客户端发送携带所述认证结果的第二登录应答报文,以使所述SSL VPN客户端从所述第二登录应答报文中解析得到认证结果。
第七方面,本发明实施例提供了一种SSL VPN客户端,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现本发明实施例第一方面所述的方法。
第八方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令由处理器加载并执行,以实现本发明实施例第一方面所述的方法。
第九方面,本发明实施例提供了一种AAA服务器,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现本发明实施例第二方面所述的方法。
第十方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令由处理器加载并执行,以实现本发明实施例第二方面所述的方法。
第十一方面,本发明实施例提供了一种SSL VPN网关,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现本发明实施例第三方面所述的方法。
第十二方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令由处理器加载并执行,以实现本发明实施例第三方面所述的方法。
本发明实施例提供的一种SSL VPN认证方法、客户端、服务器及网关,SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSL VPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSLVPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的应用于SSL VPN客户端的SSL VPN认证方法的流程示意图;
图2为本发明实施例的应用于AAA服务器的SSL VPN认证方法的流程示意图;
图3为本发明实施例的应用于SSL VPN网关的SSL VPN认证方法的流程示意图;
图4为本发明实施例的SSL VPN认证方法的交互流程示意图;
图5为本发明实施例的基于EAP-TLS的SSL VPN认证方法的交互流程示意图;
图6为本发明实施例的应用于SSL VPN客户端的SSL VPN认证装置的结构示意图;
图7为本发明实施例的应用于AAA服务器的SSL VPN认证装置的结构示意图;
图8为本发明实施例的应用于SSL VPN网关的SSL VPN认证装置的结构示意图;
图9为本发明实施例的SSL VPN客户端的结构示意图;
图10为本发明实施例的AAA服务器的结构示意图;
图11为本发明实施例的SSL VPN网关的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高SSL VPN认证的安全性,本发明实施例提供了一种SSL VPN认证方法、装置、SSL VPN客户端、AAA服务器、SSL VPN网关及机器可读存储介质。下面首先对本发明实施例所提供的SSL VPN认证方法进行介绍。
本发明实施例所提供的SSL VPN认证方法可以应用于SSL VPN认证系统,SSL VPN认证系统可以包括SSL VPN客户端、SSL VPN网关和AAA服务器。首先对本发明实施例所提供的SSL VPN认证方法分别在SSL VPN客户端、SSL VPN网关和AAA服务器中的执行过程进行介绍。其中,本实施例中的客户端和网关之间是通过SSL VPN技术进行通信的,因此本实施例中所提供的方法中将客户端和网关分别命名为SSL VPN客户端以及SSL VPN网关。
如图1所示,本发明实施例所提供的一种SSL VPN认证方法,应用于SSL VPN客户端,该SSL VPN认证方法可以包括如下步骤:
S101,在与SSL VPN网关建立连接后,向SSL VPN网关发送第一登录请求报文,以使SSL VPN网关向AAA服务器传递第一登录请求报文中携带的证书认证标识。
其中,SSL VPN客户端在第一登录请求报文中携带证书认证标识的目的是,使得SSL VPN网关在接收到第一登录请求后,向AAA服务器发送认证请求报文时,在认证请求报文中携带证书认证标识,从而使得AAA服务器通过识别认证请求报文中携带的证书认证标识判断认证类型是否是证书认证。
S102,接收SSL VPN网关发送的第一登录应答报文,其中,第一登录应答报文中携带AAA服务器加密后的服务器证书。
S103,从第一登录应答报文中解析得到服务器证书,并对服务器证书进行解密验证。
其中,AAA服务器将服务器证书发送到SSL VPN客户端,目的是使得SSL VPN客户端对AAA服务器进行验证,以此来防止假冒的钓鱼AAA服务器。
具体的证书的加密解密验证过程可以采用现有技术中的技术,本实施例对此不再赘述。
S104,若验证结果为服务器证书有效,则向SSL VPN网关发送第二登录请求报文,以使SSL VPN网关向AAA服务器传递第二登录请求报文中携带的SSL VPN客户端加密后的客户端证书。
进一步的,当SSL VPN客户端验证服务器证书为有效时,将客户端证书通过SSLVPN网关发送至AAA服务器,从而使得AAA服务器利用客户端证书对SSL VPN客户端进行认证。
S105,接收SSL VPN网关发送的第二登录应答报文,并从第二登录应答报文中解析得到认证结果。
由此,本申请的上述实施例可以实现SSL VPN客户端和AAA服务器之间的双向认证。并且,本实施例中,SSL VPN客户端与AAA服务器之间支持证书认证,与现有技术中SSLVPN的客户端的接入AAA服务器的认证过程中所采用的用户名和密码的方式相比,安全性更高。
如图2所示,本发明实施例所提供的一种SSL VPN认证方法,应用于AAA服务器,该SSL VPN认证方法可以包括如下步骤:
S201,接收SSL VPN网关发送的第一认证请求报文。
S202,当识别到第一认证请求报文中携带证书认证标识时,向SSL VPN网关发送第一认证响应报文,以使SSL VPN网关向SSL VPN客户端传递第一认证响应报文中携带的AAA服务器加密后的服务器证书。
S203,接收SSL VPN网关发送的第二认证请求报文,其中,第二认证请求报文中携带SSL VPN客户端加密后的客户端证书。
S204,从第二认证请求报文中解析得到客户端证书,并对客户端证书进行解密验证。
S205,若验证结果为客户端证书有效,则向SSL VPN网关发送第二认证响应报文,以使SSL VPN网关向SSL VPN客户端传递第二认证响应报文中携带的认证成功的认证结果。
如图3所示,本发明实施例所提供的一种SSL VPN认证方法,应用于SSL VPN网关,该SSL VPN认证方法可以包括如下步骤:
S301,接收SSL VPN客户端发送的第一登录请求报文。
其中,第一登录请求报文中携带证书认证标识。
S302,提取第一登录请求报文中携带的证书认证标识,并向AAA服务器发送携带证书认证标识的第一认证请求报文。
其中,需要说明的是,SSL VPN客户端与SSL VPN网关之间采用的是SSL VPN协议的报文,而SSL VPN网关与AAA服务器之间采用的是RADIUS协议的报文。因而,SSL VPN客户端与AAA服务器之间的交互需要SSL VPN网关进行协议的转换。
S303,接收AAA服务器发送的第一认证响应报文。
S304,提取第一认证响应报文中携带的AAA服务器加密后的服务器证书,并向SSLVPN客户端发送携带服务器证书的第一登录应答报文。
S305,接收SSL VPN客户端发送的第二登录请求报文。
S306,提取第二登录请求报文中携带的SSL VPN客户端加密后的客户端证书,并向AAA服务器发送携带客户端证书的第二认证请求报文。
S307,接收AAA服务器发送的第二认证响应报文。
S308,提取第二认证响应报文中携带的认证结果,并向SSL VPN客户端发送携带认证结果的第二登录应答报文,以使SSL VPN客户端从第二登录应答报文中解析得到认证结果。
SSL VPN客户端与SSL VPN网关之间在建立连接之后,SSL VPN客户端可以向SSLVPN网关发送携带有证书认证标识的第一登录请求报文,SSL VPN网关在接收到第一登录请求报文之后,可以以第一认证请求报文的方式携带证书认证标识发送至AAA服务器,AAA服务器在识别到证书认证标识时,可以确定当前需要与SSL VPN客户端之间进行证书认证交互。
AAA服务器将自身的服务器证书进行加密,并发送携带了加密后的服务器证书的第一认证响应报文至SSL VPN网关,SSL VPN网关在接收到第一认证响应报文之后,可以以第一登录应答报文的方式携带服务器证书发送至SSL VPN客户端。SSL VPN客户端从第一登录应答报文中解析出服务器证书,并进行解密验证,如果验证服务器证书有效,则可以将自身的客户端证书进行加密,并发送携带了加密后的客户端证书的第二登录请求报文至SSLVPN网关,SSL VPN网关在接收到第二登录请求报文之后,可以以第二认证请求报文的方式携带客户端证书发送至AAA服务器,AAA服务器从第二认证请求报文中解析出客户端证书,并进行解密验证,如果验证客户端证书有效,则向SSL VPN网关反馈携带有认证成功的认证结果的第二认证响应报文至SSL VPN网关。
SSL VPN网关在接收到第二认证响应报文之后,向SSL VPN客户端反馈第二登录应答报文,则SSL VPN客户端可以从第二登录应答报文中解析出认证结果。通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
为了便于理解,下面从SSL VPN客户端、SSL VPN网关和AAA服务器的交互过程,对本发明实施例所提供的SSL VPN认证方法进行介绍,如图4所示,该SSL VPN认证方法可以包括如下步骤:
S401,SSL VPN客户端与SSL VPN网关之间建立连接。
SSL VPN客户端在接入网络时,会向SSL VPN网关发送连接请求,SSL VPN网关在接收到连接请求后,基于连接请求中所携带的SSL VPN客户端的设备信息,建立与SSL VPN客户端的连接,并在连接成功后,向SSL VPN客户端反馈连接成功应答,SSL VPN客户端在接收到连接成功应答后,即可确定已与SSL VPN网关建立连接。
S402,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,以使SSL VPN网关向AAA服务器传递第一登录请求报文中携带的证书认证标识。
SSL VPN客户端在与SSL VPN网关建立连接后,可以向SSL VPN网关发起登录请求,即向SSL VPN网关发送第一登录请求报文,第一登录请求报文中携带有SSL VPN客户端的账户名和密码,除此之外,第一登录请求中还可以携带有证书认证标识。
具体的,SSL VPN客户端向SSL VPN网关发送的第一登录请求报文可以为采用SSLVPN协议的报文。在该报文中可以新增一个字段,例如<private>字段,该字段中可以记载证书认证交互的EAP(Extensible Authentication Protocol,扩展认证协议)报文,证书认证相关属性包括证书认证标识。当然,证书认证交互的报文还可以为其他类型的交互报文,只要能够携带证书信息、证书认证标识等证书相关属性即可,这里不再一一赘述,下面均以EAP为例进行介绍。
S403,SSL VPN网关向AAA服务器发送第一认证请求报文,其中,第一认证请求报文中携带证书认证标识。
SSL VPN网关在接收到第一登录请求报文后,作为数据转发的网络设备,SSL VPN网关可以从第一登录请求报文中提取出证书认证标识,将证书认证标识携带至第一认证请求报文,并发送第一认证请求报文至AAA服务器。
具体的,SSL VPN网关向AAA服务器发送的第一认证请求报文可以为采用RADIUS(Remote Authentication Dial In User Service,远端用户拨入验证服务)协议的报文,当然也可以为其他类型的AAA协议报文,这里不再一一列举,下面均以RADIUS协议报文为例进行介绍。RADIUS协议报文中的EAP-MESSAGE属性字段可以携带证书认证交互的EAP报文,SSL VPN网关可以从第一登录请求报文新增的<private>字段,提取EAP报文,由于该EAP报文是SSL VPN客户端和AAA服务器之间传递的私有数据,则SSL VPN网关不对提取的EAP报文进行解析,而是直接将EAP报文写入第一认证请求报文中的EAP-MESSAGE属性字段,保证了证书认证标识的传递。对于其他类型的AAA协议报文,EAP报文可以携带在该协议报文的指定属性字段中。
同时,由于第一认证请求报文可以为采用RADIUS协议的报文,可以通过识别该报文中的Message-Authenticator属性字段的内容,来判断所携带的EAP报文是否被篡改,增强了对报文的保护。
S404,AAA服务器向SSL VPN网关发送第一认证响应报文,其中,第一认证响应报文中携带AAA服务器加密的服务器证书。
AAA服务器在识别到第一认证请求报文中携带的证书认证标识后,确定当前需要与SSL VPN客户端进行证书认证,为了保证数据传输的安全性,AAA服务器首先可以对其自身的服务器证书进行加密,然后将加密后的服务器证书携带至第一认证响应报文,发送给SSL VPN网关。
AAA服务器识别证书认证标识的方式,可以是在接收到第一认证请求报文之后,判断第一认证请求报文中的EAP-MESSAGE属性字段是否携带EAP报文;还可以是对第一认证请求报文中的EAP-MESSAGE属性字段进行解析,判断是否解析到证书认证标识。
具体的,AAA服务器向SSL VPN网关发送的第一认证响应报文可以为采用RADIUS协议的报文。该报文中的EAP-MESSAGE属性字段可以携带EAP报文,AAA服务器将加密后的服务器证书写入该EAP报文中。
AAA服务器在确定当前需要与SSL VPN客户端进行证书认证后,可以向SSL VPN网关发送证书认证发起报文,SSL VPN网关将该证书认证发起报文发送给SSL VPN客户端,SSLVPN客户端在接收到证书认证发起报文后,确定进行证书认证,则可以通过向SSL VPN网关发送请求报文client_hello,由SSL VPN网关将client_hello报文转发至AAA服务器,以请求AAA服务器发送服务器证书,开始证书认证。
S405,SSL VPN网关向SSL VPN客户端发送第一登录应答报文,其中,第一登录应答报文中携带AAA服务器加密的服务器证书。
SSL VPN网关在接收到第一认证响应报文之后,作为数据转发的网络设备,SSLVPN网关可以从第一认证响应报文中提取出服务器证书,将服务器证书携带至第一登录应答报文,并发送第一登录应答报文至SSL VPN客户端。
具体的,SSL VPN网关向SSL VPN客户端发送的第一登录应答报文可以为采用SSLVPN协议的报文。在该报文中可以新增一个字段,例如<private>字段,SSL VPN网关可以从第一认证响应报文中的EAP-MESSAGE属性字段中提取EAP报文,由于该EAP报文是SSL VPN客户端和AAA服务器之间传递的私有数据,则SSL VPN网关不对提取的EAP报文进行解析,而是直接将EAP报文写入第一登录应答报文中的<private>字段,保证了证书认证标识的传递。
可选的,第一登录应答报文中还可以携带第一密钥交换属性。
AAA服务器可以利用指定的加密方式对服务器证书进行加密,为了保证SSL VPN客户端可以解密服务器证书,在发送服务器证书的同时,还可以发送第一密钥交换属性,即在第一登录应答报文和第一认证响应报文中还可以携带第一密钥交换属性,第一密钥交换属性中记录了服务器证书的解密方式,保证了SSL VPN客户端在接收到服务器证书和第一密钥交换属性后,可以对服务器证书进行解密。当然,AAA服务器加密服务器证书的方式可以是预先设置好的,可以在AAA服务器和SSL VPN客户端都预先记载了加密的方式,这样,SSLVPN在接收到加密的服务器证书之后,可以直接利用已知的加密方式对应的解密方式进行解密,而不需要AAA服务器发送第一密钥交换属性。
S406,SSL VPN客户端从第一登录应答报文中解析得到服务器证书,并对该服务器证书进行解密验证。
SSL VPN客户端在接收到第一登录应答报文后,由于第一登录应答报文可以为SSLVPN协议报文,SSL VPN客户端可以利用SSL VPN协议报文解析方式对第一登录应答报文进行解析,从而得到服务器证书。SSL VPN客户端可以对服务器证书进行解密验证。
可选的,SSL VPN客户端对服务器证书进行解密验证的方式,具体可以为:
从第一登录应答报文中解析得到第一密钥交换属性;
利用第一密钥交换属性中记录的解密方式,对服务器证书进行解密;
判断解密后的服务器证书是否有效。
第一登录应答报文中还可以携带第一密钥交换属性,第一密钥交换属性中记录了AAA服务器加密服务器证书所对应的解密方式,则SSL VPN客户端可以利用该解密方式对服务器证书进行解密,在对服务器证书进行解密后,可以利用预设的证书认证方式,判断解密后的服务器证书是否有效,其中,证书认证方式可以采用传统的CA(CertificateAuthority,证书授权)认证方式,这里不再赘述。
S407,若验证结果为服务器证书有效,则SSL VPN客户端向SSL VPN网关发送第二登录请求报文,以使SSL VPN网关向AAA服务器传递第二登录请求报文中携带的SSL VPN客户端加密后的客户端证书。
如果验证服务器证书无效,则说明AAA服务器可能为假冒的服务器,则应当停止数据交互,以保证网络安全。如果验证服务器证书有效,则可以继续进行双向证书认证,为了保证数据传输的安全性,SSL VPN客户端首先可以对其自身的客户端证书进行加密,然后将加密后的客户端证书携带至第二登录请求报文,发送给SSL VPN网关。
具体的,SSL VPN客户端向SSL VPN网关发送的第二登录请求报文可以为采用SSLVPN协议的报文。在该报文中可以新增一个字段,例如<private>字段,该字段可以记载EAP报文,SSL VPN客户端将加密后的客户端证书写入该EAP报文。
S408,SSL VPN网关向AAA服务器发送第二认证请求报文,其中,第二认证请求报文中携带SSL VPN客户端加密的客户端证书。
SSL VPN网关在接收到第二登录请求报文之后,作为数据转发的网络设备,SSLVPN网关可以从第二登录请求报文中提取出客户端证书,将客户端证书携带至第二认证请求报文,并发送第二认证请求报文至AAA服务器。
具体的,SSL VPN网关向AAA服务器发送的第二认证请求报文可以为采用RADIUS协议的报文,在该报文的EAP-MESSAGE属性字段中携带EAP报文。SSL VPN网关可以从第二登录请求报文新增的<private>字段,提取EAP报文,由于该EAP报文是SSL VPN客户端和AAA服务器之间传递的私有数据,则SSL VPN网关不对提取的EAP报文进行解析,而是直接将EAP报文写入第二认证请求报文中的EAP-MESSAGE属性字段,保证了证书认证标识的传递。
可选的,第二认证请求报文中还可以携带第二密钥交换属性。
SSL VPN客户端可以利用指定的加密方式对客户端证书进行加密,为了保证AAA服务器可以解密客户端证书,在发送客户端证书的同时,还可以发送第二密钥交换属性,即在第二登录请求报文和第二认证请求报文中还可以携带第二密钥交换属性,第二密钥交换属性中记录了客户端证书的解密方式,保证了AAA服务器在接收到客户端证书和第二密钥交换属性后,可以对客户端证书进行解密。当然,SSL VPN客户端加密客户端证书的方式可以是预先设置好的,可以在AAA服务器和SSL VPN客户端都预先记载了加密的方式,这样,AAA服务器在接收到加密的客户端证书之后,可以直接利用已知的加密方式对应的解密方式进行解密,而不需要SSL VPN客户端发送密钥交换属性。
S409,AAA服务器从第二认证请求报文中解析得到客户端证书,并对该客户端证书进行解密验证。
AAA服务器在接收到第二认证请求报文后,由于第二认证请求报文可以为采用RADIUS协议的报文,AAA服务器可以利用RADIUS协议报文解析方式对第二认证请求报文进行解析,从而得到客户端证书。AAA服务器可以对客户端证书进行解密验证。
可选的,AAA服务器对客户端证书进行解密验证的方式,具体可以为:
从第二认证请求报文中解析得到第二密钥交换属性;
利用第二密钥交换属性中记录的解密方式,对客户端证书进行解密;
判断解密后的客户端证书是否有效。
第二认证请求报文中还可以携带第二密钥交换属性,第二密钥交换属性中记录了SSL VPN客户端加密客户端证书所对应的解密方式,则AAA服务器可以利用该解密方式对客户端证书进行解密,在对客户端证书进行解密后,可以利用预设的证书认证方式,判断解密后的客户端证书是否有效。
S410,若验证结果为客户端证书有效,则AAA服务器向SSL VPN网关发送第二认证响应报文,其中,第二认证响应报文中携带认证成功的认证结果。
如果验证客户端证书无效,则说明SSL VPN客户端可能为假冒的客户端,则AAA服务器可以向SSL VPN网关发送携带有认证失败的认证结果的第二认证响应报文。AAA服务器还可以对SSL VPN客户端的账户名和密码进行验证,如果账户名和密码不匹配,也可以向SSL VPN网关发送携带有认证失败的认证结果的第二认证响应报文。当然,AAA在接收到第一认证请求报文之后,可以先对SSL VPN客户端的账户名和密码进行校验,如果不匹配,则不进行本发明实施例所提供的认证过程,而直接提醒用户账户名或密码错误。
如果验证客户端证书有效,则说明AAA服务器和SSL VPN客户端都为有效的设备,则AAA服务器可以向SSL VPN网关发送携带认证结果的第二认证响应报文,该认证结果为认证成功的认证结果。
具体的,AAA服务器向SSL VPN网关发送的第二认证响应报文可以为采用RADIUS协议的报文。该报文中的EAP-MESSAGE属性字段可以携带EAP报文,AAA服务器将认证结果写入该EAP报文中。
S411,SSL VPN网关向SSL VPN客户端发送第二登录应答报文,其中,第二登录应答报文中携带认证成功的认证结果。
SSL VPN网关在接收到第二认证响应报文之后,作为数据转发的网络设备,SSLVPN网关可以从第二认证响应报文中提取出认证结果,将认证结果携带至第二登录应答报文,并发送第二登录应答报文至SSL VPN客户端。
具体的,SSL VPN网关向SSL VPN客户端发送的第二登录应答报文可以为采用SSLVPN协议的报文。在该报文中可以新增一个字段,例如<private>字段,SSL VPN网关可以从第二认证响应报文中的EAP-MESSAGE属性字段中提取EAP报文,由于该EAP报文是SSL VPN客户端和AAA服务器之间传递的私有数据,则SSL VPN网关不对提取的EAP报文进行解析,而是直接将EAP报文写入第一登录应答报文中的<private>字段,保证了证书认证标识的传递。
S412,SSL VPN客户端从第二登录应答报文中解析出认证成功的认证结果。
SSL VPN客户端在接收到第二登录应答报文后,由于第二登录应答报文可以为采用SSL VPN协议的报文,SSL VPN客户端可以利用SSL VPN协议报文解析方式对第二登录应答报文进行解析,从而得到认证结果。SSL VPN客户端在通过对第二登录应答报文进行解析得到认证成功的认证结果后,可以确定能够成功登录到内网,通过与SSL VPN网关之间的VPN隧道访问内网数据。
如上述,可选的,第一登录请求报文、第一登录应答报文、第二登录请求报文以及第二登录应答报文均可以为采用SSL VPN协议的报文。相应的,证书认证标识、服务器证书、客户端证书及认证结果分别可以携带在上述各SSL VPN协议报文的新增字段中。
可选的,第一认证请求报文、第一认证响应报文、第二认证请求报文以及第二认证响应报文均可以为采用RADIUS协议的报文。相应的,证书认证标识、服务器证书、客户端证书及认证结果分别可以携带在上述各RADIUS协议报文的指定消息属性字段中。
在交互过程中,SSL VPN客户端与SSL VPN网关通过SSL VPN协议报文交互,并在新增字段(例如<private>字段)传递携带证书认证交互的EAP报文;SSL VPN网关和AAA服务器通过RADIUS协议报文交互,使用EAP-MESSAGE传递携带证书认证交互的EAP报文,并且,通过识别RADIUS协议报文中的Message-Authenticator属性字段的内容,来判断所携带的EAP报文是否被篡改,增强了对报文的保护。
应用本实施例,SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSL VPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSL VPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
为了更便于理解,下面以EAP-TLS认证成功为例,对SSL VPN认证的流程进行介绍,其他证书认证的方法以及认证失败的方式与本例相类似,这里不再一一列举。
如图5所示,详细的SSL VPN认证流程如下:
第一步,SSL VPN客户端向SSL VPN网关发送链接请求Connection_Request。
第二步,SSL VPN网关向SSL VPN发送连接成功应答Connection_Success_Response。
第三步,SSL VPN客户端向SSL VPN网关发送登录请求Login_Request(携带用户名Username和密码Password),SSL VPN网关向AAA服务器发送认证请求RADIUS Access_Request(携带Username和Password)。
第四步,AAA服务器判断是EAP-TLS证书认证。
第五步,AAA服务器向SSL VPN网关发起EAP-TLS认证RADIUS Access_Challenge(携带EAP请求EAP-Request/EAP-TLS启动指令EAP-TLS Start),SSL VPN网关向SSL VPN客户端发送登录应答Login_Response(携带EAP-Request/EAP-TLS Start)。
第六步,SSL VPN客户端向SSL VPN网关发送Login_Request(携带EAP响应EAP-Response/EAP-TLS:client_hello),SSL VPN网关向AAA服务器发送RADIUS Access_Request(携带EAP-Response/EAP-TLS:client_hello)。
第七步,AAA服务器向SSL VPN网关发送RADIUS Access_Challenge(携带EAP-Request/EAP-TLS:server_hello,certificate,server_key_exchange,certificat e_request,server_hello_done),SSL VPN网关向SSL VPN客户端发送Login_Res ponse(携带EAP-Request/EAP-TLS:server_hello,certificate,server_key_exchang e,certificate_request,server_hello_done)。certificate为服务器证书,server_key_exchange为密钥交换属性,certificate_request为证书请求,server_hello_done表示AAA服务器证书认证结束。
第八步,SSL VPN客户端验证服务器证书。
第九步,SSL VPN客户端向SSL VPN网关发送Login_Request(携带EAP-Response/EAP-TLS:certificate,client_key_exchange,[certificate_verify],change_ci pher_spec,tls_finish),SSL VPN网关向AAA服务器发送RADIUS Access_Reque st(携带EAP-Response/EAP-TLS:certificate,client_key_exchange,[certificate_ve rify],change_cipher_spec,tls_finish)。certificate为客户端证书,client_key_excha nge为密钥交换属性,change_cipher_spec为加密套件,tls_finish表示TLS认证结束。
第十步,AAA服务器验证客户端证书。
第十一步,AAA服务器向SSL VPN网关发送RADIUS Access_Challenge(携带EAP-Request/EAP-TLS:change_cipher_spec,tls_finish),SSL VPN网关向SSL VPN客户端发送Login_Response(携带EAP-Request/EAP-TLS:change_cipher_spec,tls_finish)。
第十二步,SSL VPN客户端向SSL VPN网关发送Login_Request(携带EA P-Response/EAP-TLS:tls_ack_finish),SSL VPN网关向AAA服务器发送RADI US Access_Request(携带EAP-Response/EAP-TLS:tls_ack_finish)。tls_ack_fi nish为SSL VPN客户端的结束确认消息。
第十三步,AAA服务器向SSL VPN网关发送RADIUS Access_Accept(携带EAP-Success),SSL VPN网关向SSL VPN客户端发送Login_Success_Respon se(携带EAP-Success)。SSL VPN客户端可以确定认证成功。
相应于上述方法实施例,本发明实施例提供了一种SSL VPN认证装置,如图6所示,应用于SSL VPN客户端,该装置可以包括:
发送模块610,用于在与SSL VPN网关建立连接后,向所述SSL VPN网关发送第一登录请求报文,以使所述SSL VPN网关向AAA服务器传递第一登录请求报文中携带的证书认证标识;
接收模块620,用于接收所述SSL VPN网关发送的第一登录应答报文,所述第一登录应答报文中携带所述AAA服务器加密后的服务器证书;
验证模块630,用于从所述第一登录应答报文中解析得到所述服务器证书,并对所述服务器证书进行解密验证;
所述发送模块610,还用于若验证结果为所述服务器证书有效,则向所述SSL VPN网关发送第二登录请求报文,以使所述SSL VPN网关向所述AAA服务器传递所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书;
所述接收模块620,还用于接收所述SSL VPN网关发送的第二登录应答报文,并从所述第二登录应答报文中解析得到认证结果。
可选的,所述第一登录请求报文、所述第一登录应答报文、所述第二登录请求报文以及所述第二登录应答报文可以为采用SSL VPN协议的报文。
可选的,所述证书认证标识、所述服务器证书、所述客户端证书及所述认证结果分别可以携带在各SSL VPN协议报文的新增字段中。
可选的,所述第一登录应答报文中还可以携带第一密钥交换属性;
所述验证模块630,具体可以用于:
从所述第一登录应答报文中解析得到所述第一密钥交换属性;
利用所述第一密钥交换属性中记录的解密方式,对所述服务器证书进行解密;
判断解密后的服务器证书是否有效。
本发明实施例还提供了一种SSL VPN认证装置,如图7所示,应用于AAA服务器,该装置可以包括:
接收模块710,用于接收SSL VPN网关发送的第一认证请求报文;
发送模块720,用于当识别到所述第一认证请求报文中携带证书认证标识时,向所述SSL VPN网关发送第一认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书;
所述接收模块710,还用于接收所述SSL VPN网关发送的第二认证请求报文,所述第二认证请求报文中携带所述SSL VPN客户端加密后的客户端证书;
验证模块730,用于从所述第二认证请求报文中解析得到所述客户端证书,并对所述客户端证书进行解密验证;
所述发送模块720,还用于若验证结果为所述客户端证书有效,则向所述SSL VPN网关发送第二认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第二认证响应报文中携带的认证成功的认证结果。
可选的,所述第一认证请求报文、所述第一认证响应报文、所述第二认证请求报文以及所述第二认证响应报文可以为采用RADIUS协议的报文。
可选的,所述证书认证标识、所述服务器证书、所述客户端证书及所述认证结果分别可以携带在各RADIUS协议报文的指定消息属性字段中。
可选的,所述第二认证请求报文中还可以携带第二密钥交换属性;
所述验证模块730,具体可以用于:
从所述第二认证请求报文中解析得到所述第二密钥交换属性;
利用所述第二密钥交换属性中记录的解密方式,对所述客户端证书进行解密;
判断解密后的客户端证书是否有效。
本发明实施例还提供了一种SSL VPN认证装置,如图8所示,应用于SSL VPN网关,该装置可以包括:
接收模块810,用于接收SSL VPN客户端发送的第一登录请求报文;
发送模块820,用于提取所述第一登录请求报文中携带的证书认证标识,并向AAA服务器发送携带所述证书认证标识的第一认证请求报文;
所述接收模块810,还用于接收所述AAA服务器发送的第一认证响应报文;
所述发送模块820,还用于提取所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书,并向所述SSL VPN客户端发送携带所述服务器证书的第一登录应答报文;
所述接收模块810,还用于接收所述SSL VPN客户端发送的第二登录请求报文;
所述发送模块820,还用于提取所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书,并向所述AAA服务器发送携带所述客户端证书的第二认证请求报文;
所述接收模块810,还用于接收所述AAA服务器发送的第二认证响应报文;
所述发送模块820,还用于提取所述第二认证响应报文中携带的认证结果,并向所述SSL VPN客户端发送携带所述认证结果的第二登录应答报文,以使所述SSL VPN客户端从所述第二登录应答报文中解析得到认证结果。
可选的,所述SSL VPN网关与所述SSL VPN客户端之间交互的报文可以为采用SSLVPN协议的报文;
所述SSL VPN网关与所述AAA服务器之间交互的报文可以为采用RADIUS协议的报文。
应用本实施例,SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSL VPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSL VPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
本发明实施例还提供了一种SSL VPN客户端,如图9所示,包括处理器901和机器可读存储介质902,所述机器可读存储介质902存储有能够被所述处理器901执行的机器可执行的指令,所述指令由所述处理器901加载并执行:以实现本发明实施例所提供的应用于SSL VPN客户端的SSL VPN认证方法。
本发明实施例还提供了一种AAA服务器,如图10所示,包括处理器1001和机器可读存储介质1002,所述机器可读存储介质1002存储有能够被所述处理器1001执行的机器可执行的指令,所述指令由所述处理器1001加载并执行:以实现本发明实施例所提供的应用于AAA服务器的SSL VPN认证方法。
本发明实施例还提供了一种SSL VPN网关,如图11所示,包括处理器1101和机器可读存储介质1102,所述机器可读存储介质1102存储有能够被所述处理器1101执行的机器可执行的指令,所述指令由所述处理器1101加载并执行:以实现本发明实施例所提供的应用于SSL VPN网关的SSL VPN认证方法。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
机器可读存储介质902与处理器901之间、机器可读存储介质1002与处理器1001之间、机器可读存储介质1102与处理器1101之间可以通过有线连接或者无线连接的方式进行数据传输,并且SSL VPN客户端、AAA服务器与SSL VPN网关之间以及SSL VPN客户端、AAA服务器、SSL VPN网关与其他的设备之间可以通过有线通信接口或者无线通信接口进行通信。图9、图10和图11所示的仅为通过总线进行数据传输的示例,不作为具体连接方式的限定。
本实施例中,处理器901通过读取机器可读存储介质902中存储的机器可执行的指令,处理器1001通过读取机器可读存储介质1002中存储的机器可执行的指令,处理器1101通过读取机器可读存储介质1102中存储的机器可执行的指令,通过加载并执行指令,能够实现:SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSL VPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSL VPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令被处理器加载并执行,以实现本发明实施例所提供的应用于SSL VPN客户端的SSL VPN认证方法。
本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令被处理器加载并执行,以实现本发明实施例所提供的应用于AAA服务器的SSL VPN认证方法。
本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令被处理器加载并执行,以实现本发明实施例所提供的应用于SSL VPN网关的SSL VPN认证方法。
本实施例中,机器可读存储介质存储有处理器在运行时执行本发明实施例所提供的应用于SSL VPN客户端、AAA服务器和SSL VPN网关的SSL VPN认证方法的机器可执行的指令,因此能够实现:SSL VPN客户端在与SSL VPN网关建立连接后,SSL VPN客户端向SSL VPN网关发送第一登录请求报文,SSL VPN网关在收到第一登录请求报文后,向AAA服务器发送第一认证请求报文,AAA服务器在识别到第一认证请求报文中携带证书认证标识时,与SSLVPN客户端进行证书认证交互过程,如果SSL VPN客户端验证到AAA服务器的服务器证书有效、且AAA服务器验证到SSL VPN客户端的客户端证书有效,则可以确定SSL VPN认证成功,通过SSL VPN客户端与AAA服务器之间的双向证书验证,保证了SSL VPN客户端和AAA服务器是对端可以识别为有效的设备,避免了SSL VPN客户端和AAA服务器被假冒利用,从而提高了SSL VPN认证的安全性。
对于SSL VPN客户端、AAA服务器、SSL VPN网关及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、SSL VPN客户端、AAA服务器、SSL VPN网关及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种SSL VPN认证方法,其特征在于,应用于SSL VPN客户端,所述方法包括:
在与SSL VPN网关建立连接后,向所述SSL VPN网关发送第一登录请求报文,所述SSLVPN网关向AAA服务器传递所述第一登录请求报文中携带的证书认证标识,以使所述AAA服务器通过识别认证请求报文中携带的证书认证标识判断认证类型是否是证书认证;
接收所述SSL VPN网关发送的第一登录应答报文,所述第一登录应答报文中携带所述AAA服务器加密后的服务器证书;
从所述第一登录应答报文中解析得到所述服务器证书,并对所述服务器证书进行解密验证;
若验证结果为所述服务器证书有效,则向所述SSL VPN网关发送第二登录请求报文,以使所述SSL VPN网关向所述AAA服务器传递所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书;
接收所述SSL VPN网关发送的第二登录应答报文,并从所述第二登录应答报文中解析得到认证结果。
2.根据权利要求1所述的方法,其特征在于,所述第一登录请求报文、所述第一登录应答报文、所述第二登录请求报文以及所述第二登录应答报文为采用SSL VPN协议的报文。
3.根据权利要求2所述的方法,其特征在于,所述证书认证标识、所述服务器证书、所述客户端证书及所述认证结果分别携带在各SSL VPN协议报文的新增字段中。
4.根据权利要求1所述的方法,其特征在于,所述第一登录应答报文中还携带第一密钥交换属性;
所述对所述服务器证书进行解密验证,包括:
从所述第一登录应答报文中解析得到所述第一密钥交换属性;
利用所述第一密钥交换属性中记录的解密方式,对所述服务器证书进行解密;
判断解密后的服务器证书是否有效。
5.一种SSL VPN认证方法,其特征在于,应用于AAA服务器,所述方法包括:
接收SSL VPN网关发送的第一认证请求报文;
当识别到所述第一认证请求报文中携带证书认证标识时,向所述SSL VPN网关发送第一认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书,其中所述识别到所述第一认证请求报文中携带证书认证标识,包括:通过识别认证请求报文中携带的证书认证标识判断认证类型是否是证书认证;
接收所述SSL VPN网关发送的第二认证请求报文,所述第二认证请求报文中携带所述SSL VPN客户端加密后的客户端证书;
从所述第二认证请求报文中解析得到所述客户端证书,并对所述客户端证书进行解密验证;
若验证结果为所述客户端证书有效,则向所述SSL VPN网关发送第二认证响应报文,以使所述SSL VPN网关向SSL VPN客户端传递所述第二认证响应报文中携带的认证成功的认证结果。
6.根据权利要求5所述的方法,其特征在于,所述第一认证请求报文、所述第一认证响应报文、所述第二认证请求报文以及所述第二认证响应报文为采用RADIUS协议的报文。
7.根据权利要求6所述的方法,其特征在于,所述证书认证标识、所述服务器证书、所述客户端证书及所述认证结果分别携带在各RADIUS协议报文的指定消息属性字段中。
8.根据权利要求5所述的方法,其特征在于,所述第二认证请求报文中还携带第二密钥交换属性;
所述对所述客户端证书进行解密验证,包括:
从所述第二认证请求报文中解析得到所述第二密钥交换属性;
利用所述第二密钥交换属性中记录的解密方式,对所述客户端证书进行解密;
判断解密后的客户端证书是否有效。
9.一种SSL VPN认证方法,其特征在于,应用于SSL VPN网关,所述方法包括:
接收SSL VPN客户端发送的第一登录请求报文;
提取所述第一登录请求报文中携带的证书认证标识,并向AAA服务器发送携带所述证书认证标识的第一认证请求报文,以使所述AAA服务器通过识别第一认证请求报文中携带的证书认证标识判断认证类型是否是证书认证;
接收所述AAA服务器发送的第一认证响应报文;
提取所述第一认证响应报文中携带的所述AAA服务器加密后的服务器证书,并向所述SSL VPN客户端发送携带所述服务器证书的第一登录应答报文;
接收所述SSL VPN客户端发送的第二登录请求报文;
提取所述第二登录请求报文中携带的所述SSL VPN客户端加密后的客户端证书,并向所述AAA服务器发送携带所述客户端证书的第二认证请求报文;
接收所述AAA服务器发送的第二认证响应报文;
提取所述第二认证响应报文中携带的认证结果,并向所述SSL VPN客户端发送携带所述认证结果的第二登录应答报文,以使所述SSL VPN客户端从所述第二登录应答报文中解析得到认证结果。
10.根据权利要求9所述的方法,其特征在于,所述SSL VPN网关与所述SSL VPN客户端之间交互的报文为采用SSL VPN协议的报文;
所述SSL VPN网关与所述AAA服务器之间交互的报文为采用RADIUS协议的报文。
11.一种SSL VPN客户端,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现权利要求1-4任一项所述的方法。
12.一种AAA服务器,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现权利要求5-8任一项所述的方法。
13.一种SSL VPN网关,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现权利要求9或10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811565765.4A CN109495503B (zh) | 2018-12-20 | 2018-12-20 | 一种ssl vpn认证方法、客户端、服务器及网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811565765.4A CN109495503B (zh) | 2018-12-20 | 2018-12-20 | 一种ssl vpn认证方法、客户端、服务器及网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495503A CN109495503A (zh) | 2019-03-19 |
CN109495503B true CN109495503B (zh) | 2021-11-12 |
Family
ID=65711037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811565765.4A Active CN109495503B (zh) | 2018-12-20 | 2018-12-20 | 一种ssl vpn认证方法、客户端、服务器及网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495503B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11683308B2 (en) | 2019-06-06 | 2023-06-20 | Cisco Technology, Inc. | Systems and methods for generating contextual labels |
CN110401641B (zh) * | 2019-07-09 | 2022-06-28 | 杭州迪普科技股份有限公司 | 用户认证方法、装置、电子设备 |
CN113438256B (zh) * | 2021-08-26 | 2022-02-25 | 北京天空卫士网络安全技术有限公司 | 一种基于双层ssl的数据传输方法、系统和代理服务器 |
CN114070585A (zh) * | 2021-10-18 | 2022-02-18 | 北京天融信网络安全技术有限公司 | 一种ssl vpn认证方法、装置及网关 |
CN113872990B (zh) * | 2021-10-19 | 2023-06-30 | 南方电网数字电网研究院有限公司 | 基于ssl协议的vpn网络证书认证方法、装置和计算机设备 |
CN114363073A (zh) * | 2022-01-07 | 2022-04-15 | 中国联合网络通信集团有限公司 | Tls加密流量分析方法、装置、终端设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072108A (zh) * | 2007-07-17 | 2007-11-14 | 杭州华三通信技术有限公司 | 一种ssl vpn客户端安全检查方法、系统及其装置 |
CN101714918A (zh) * | 2009-10-23 | 2010-05-26 | 浙江维尔生物识别技术股份有限公司 | 一种登录vpn的安全系统以及登录vpn的安全方法 |
CN101783806A (zh) * | 2010-03-15 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种Portal证书认证方法及其装置 |
CN101917398A (zh) * | 2010-06-28 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | 一种客户端访问权限控制方法及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10200504B2 (en) * | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US8683562B2 (en) * | 2011-02-03 | 2014-03-25 | Imprivata, Inc. | Secure authentication using one-time passwords |
CN103095460B (zh) * | 2013-01-22 | 2015-07-22 | 飞天诚信科技股份有限公司 | 一种智能卡安全通讯的方法 |
CN103220303B (zh) * | 2013-05-06 | 2016-08-31 | 华为软件技术有限公司 | 服务器的登录方法及服务器、认证设备 |
-
2018
- 2018-12-20 CN CN201811565765.4A patent/CN109495503B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072108A (zh) * | 2007-07-17 | 2007-11-14 | 杭州华三通信技术有限公司 | 一种ssl vpn客户端安全检查方法、系统及其装置 |
CN101714918A (zh) * | 2009-10-23 | 2010-05-26 | 浙江维尔生物识别技术股份有限公司 | 一种登录vpn的安全系统以及登录vpn的安全方法 |
CN101783806A (zh) * | 2010-03-15 | 2010-07-21 | 杭州华三通信技术有限公司 | 一种Portal证书认证方法及其装置 |
CN101917398A (zh) * | 2010-06-28 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | 一种客户端访问权限控制方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109495503A (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495503B (zh) | 一种ssl vpn认证方法、客户端、服务器及网关 | |
US10397782B2 (en) | Wireless access authentication | |
US8327143B2 (en) | Techniques to provide access point authentication for wireless network | |
US9954687B2 (en) | Establishing a wireless connection to a wireless access point | |
WO2018076365A1 (zh) | 密钥协商方法及装置 | |
US8868909B2 (en) | Method for authenticating a communication channel between a client and a server | |
EP2779524A1 (en) | Secure data transmission method, device and system | |
CN101409619B (zh) | 闪存卡及虚拟专用网密钥交换的实现方法 | |
EP2590356A1 (en) | Method, device and system for authenticating gateway, node and server | |
CN108769007B (zh) | 网关安全认证方法、服务器及网关 | |
KR20180095873A (ko) | 무선 네트워크 접속 방법 및 장치, 및 저장 매체 | |
US8380980B2 (en) | System and method for providing security in mobile WiMAX network system | |
JP2008533802A (ja) | 無線携帯インターネットシステムの認証方法及び関連キー生成方法 | |
CN113225352B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN102801616A (zh) | 报文发送和接收的方法、装置和系统 | |
CN109218334B (zh) | 数据处理方法、装置、接入控制设备、认证服务器及系统 | |
KR20100101887A (ko) | 통신시스템에서 인증 방법 및 시스템 | |
KR100957044B1 (ko) | 커버로스를 이용한 상호 인증 방법 및 그 시스템 | |
CN109451504B (zh) | 物联网模组鉴权方法及系统 | |
WO2017031677A1 (zh) | 一种数据包传输方法、装置、节点设备以及系统 | |
CN110719169A (zh) | 传输路由器安全信息的方法及装置 | |
JP2004194196A (ja) | パケット通信認証システム、通信制御装置及び通信端末 | |
CN109818903B (zh) | 数据传输方法、系统、装置和计算机可读存储介质 | |
KR101272576B1 (ko) | I-wlan에 접속할 수 있는 안드로이드 단말,및 안드로이드 단말의 i-wlan 접속 방법 | |
CN113973002A (zh) | 一种数据密钥的更新方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |