基于HTTPS的Portal认证方法、系统、设备及存储介质技术方案

技术编号:38415001 阅读:13 留言:0更新日期:2023-08-07 11:18
本申请涉及Portal认证技术领域,尤其涉及基于HTTPS的Portal认证方法、系统、设备及存储介质。通过接收所述客户端发起的对WEB服务器的HTTPS访问请求,进行用户认证策略匹配;若匹配成功,则校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功,之后进行SSL协议握手,利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果。本申请通过在数据转发面实现与客户端的SSL握手过程,解密HTTPS的请求,并响应HTTPS的重定向,从而缩短处理数据包的路径、降低时延、提高并发数。提高并发数。提高并发数。

【技术实现步骤摘要】
基于HTTPS的Portal认证方法、系统、设备及存储介质


[0001]本申请涉及Portal认证
,尤其涉及基于HTTPS的Portal认证方法、系统、设备及存储介质。

技术介绍

[0002]安全网关要实现基于HTTPS的Portal认证,要解决的核心问题就是SSL卸载。通常的解决方案是利用控制面的一个HTTPS服务进程,实现与客户端的SSL握手过程,进而解决SSL卸载的问题,但是现有技术方案采用单独的HTTPS服务进程,导致数据包在安全网关内部的处理路径变长、时延增大,而且受限于用户态进程可打开的SOCKET描述符的限制,也会导致处理客户端的并发数量受限。同时因为HTTPS服务进程只运行在一个CPU核,所以不能实现对并发请求的多核并发处理。
[0003]即现有技术中,基于HTTPS进行Portal认证时,采用单独的HTTPS服务进程,导致数据包在安全网关内部的处理路径变长、时延增大,处理客户端的并发数量受限。

技术实现思路

[0004]为至少在一定程度上克服相关技术中基于HTTPS进行Portal认证时,采用单独的HTTPS服务进程,导致数据包在安全网关内部的处理路径变长、时延增大,处理客户端的并发数量受限的问题,本申请提供一种基于HTTPS的Portal认证方法、系统、设备及存储介质。
[0005]本申请的方案如下:
[0006]第一方面,本申请提供基于HTTPS的Portal认证方法,所述方法包括:
[0007]客户端发起对WEB服务器的HTTPS访问请求
[0008]接收所述客户端发起的对WEB服务器的HTTPS访问请求,进行用户认证策略匹配;
[0009]若匹配成功,则校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功;
[0010]利用所述TCP连接建立成功的结果,进行SSL协议握手;
[0011]利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果。
[0012]进一步地,所述接收所述客户端发起对WEB服务器的HTTPS访问请求,进行用户认证策略匹配,包括:
[0013]接收所述客户端发起的对WEB服务器的HTTPS访问请求,判断源IP地址以及目的IP地址是否匹配用户认证策略,若匹配,则继续校验数据包的形式是否符合第一预设规则;
[0014]否则,数据包被正常转发。
[0015]进一步地,所述校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功,包括:
[0016]判断数据包是否为DNS报文;
[0017]若所述数据包的TCP的目的端口为53或UDP目的端口为53,则所述数据包为DNS报文,所述数据包被正常转发;
[0018]否则,判断数据包是否为https的报文;
[0019]若所述数据包的TCP目的端口为443或8443,则所述数据包为https的报文形式,数据包被丢弃;
[0020]否则,判断所述数据包是否为TCP三次握手报文,若所述数据包为TCP三次握手报文,通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功。
[0021]进一步地,所述利用所述TCP连接建立成功的结果,进行SSL协议握手,包括:
[0022]利用所述TCP连接建立成功的结果,校验数据包是否为SSL协议的相关报文;
[0023]若所述数据包为SSL协议的相关报文,则通过调用OpenSSL的SSL_accept()函数进行交换加密功能、验证SSL证书、交换或生成会话密钥完成SSL协议握手;
[0024]否则,所述数据包被丢弃。
[0025]进一步地,所述利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果,包括:
[0026]利用所述SSL协议握手的结果,调用OpenSSL的SSL_read()函数解密所述客户端发起对WEB服务器的HTTPS访问请求;
[0027]利用所述解密的结果,通过调用OpenSSL的SSL_write()函数将重定到Portal服务器的HTTP 302页面的内容进行加密;
[0028]利用所述加密的结果,通过TCP连接建立成功的通道发送给客户端;
[0029]客户端收到HTTP 302重定向后,浏览器会自动访问被重定到的Portal认证页面,得到基于HTTPS的Portal认证的相关结果。
[0030]第二方面,本申请提供基于HTTPS的Portal认证系统,所述系统包括:
[0031]请求模块,用于客户端发起对WEB服务器的HTTPS访问请求;
[0032]第一数据处理模块,用于接收所述客户端发起的对WEB服务器的HTTPS访问请求,进行用户认证策略匹配;
[0033]第二数据处理模块,若匹配成功,则校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功;
[0034]第三数据处理模块,利用所述TCP连接建立成功的结果,进行SSL协议握手;
[0035]认证模块,用于利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果。
[0036]第三方面,本申请提供基于HTTPS的Portal认证设备,所述设备包括:
[0037]存储器,其上存储有可执行程序;
[0038]处理器,用于执行所述存储器中的所述可执行程序,以实现上述中任一项所述方法的步骤。
[0039]第四方面,本申请提供计算机可读存储介质所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述中任一项所述方法的步骤。
[0040]本申请提供的技术方案可以包括以下有益效果:
[0041]本申请通过接收所述客户端发起的对WEB服务器的HTTPS访问请求,进行用户认证策略匹配;若匹配成功,则校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功,之后进行SSL协议握手,利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果。本申请通过在数据转发面实现与客户端的SSL握手过程,解密HTTPS的请求,并响应HTTPS的重定向,从而缩短处理数据包的路径、降低时延、提高并发数。...

【技术保护点】

【技术特征摘要】
1.基于HTTPS的Portal认证方法,其特征在于,所述方法包括:客户端发起对WEB服务器的HTTPS访问请求;接收所述客户端发起的对WEB服务器的HTTPS访问请求,进行用户认证策略匹配;若匹配成功,则校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功;利用所述TCP连接建立成功的结果,进行SSL协议握手;利用所述SSL协议握手的结果,所述数据转发面解密所述客户端发起对WEB服务器的HTTPS访问请求,得到基于HTTPS的Portal认证的相关结果。2.根据权利要求1所述的方法,其特征在于,所述接收所述客户端发起对WEB服务器的HTTPS访问请求,进行用户认证策略匹配,包括:接收所述客户端发起的对WEB服务器的HTTPS访问请求,判断源IP地址以及目的IP地址是否匹配用户认证策略,若匹配,则继续校验数据包的形式是否符合第一预设规则;否则,数据包被正常转发。3.根据权利要求1所述的方法,其特征在于,所述校验数据包的形式是否符合第一预设规则,若符合,则通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功,包括:判断数据包是否为DNS报文;若所述数据包的TCP的目的端口为53或UDP目的端口为53,则所述数据包为DNS报文,所述数据包被正常转发;否则,判断数据包是否为https的报文;若所述数据包的TCP目的端口为443或8443,则所述数据包为https的报文形式,数据包被丢弃;否则,判断所述数据包是否为TCP三次握手报文,若所述数据包为TCP三次握手报文,通过安全网关的数据转发面将所述策略匹配成功的流量的TCP三次握手的报文放行,使其TCP连接建立成功。4.根据权利要求1所述的方法,其特征在于,所述利用所述TCP连接建立成功的结果,进行SSL协议握手,包括:利用所述TCP连接建立成功的结果,校验数据包是否为SSL协议的相关报文;若所述数据包为SSL协议的相关报文,则通过调用OpenSSL的SSL_accept()函数进行交换...

【专利技术属性】
技术研发人员:沈唤勇
申请(专利权)人:北京上元信安技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1