基于HTTPS服务的内网穿透方法及系统与流程

文档序号:30219853发布日期:2022-05-31 20:55阅读:792来源:国知局
基于HTTPS服务的内网穿透方法及系统与流程
基于https服务的内网穿透方法及系统
技术领域
1.本技术涉及网络通信的技术领域,尤其是涉及一种基于https服务的内网穿透方法及系统。


背景技术:

2.内网穿透被广泛应用于各种类型 internet 接入方式和各种类型的网络中。解决了企业或个人远程操作、网络办公等难题,为无公网ip的广大互联网用户提供外网访问服务。
3.相关技术中,使用基于明文tcp协议和基于明文udp的内网穿透方法能够实现常规服务的内网穿透,如ssh服务、http服务、远程桌面服务、telnet服务等。
4.目前针对常规服务的基于明文tcp协议和基于明文udp的内网穿透方法如下:通过中继服务器获取外网用户的网络请求指令,基于网络请求指令建立中继服务器与中继客户端之间的中继通道,将外网用户发送的请求数据通过中继通道发送至中继客户端,中继客户端建立内网资源服务器与中继客户端之间的资源通道,并将外网用户请求数据通过资源通道发送至内网资源服务器,获取内网资源服务器针对请求数据指令产生的响应数据,中继服务器通过中继通道获取中继客户端发送的目标资源服务器的响应数据,将响应数据发送给外网用户,实现外网用户发送的请求数据以及资源服务器的响应数据的中继,使得外网用户能够访问内网资源。
5.但是对于经过加密的https服务而言,由于https服务是端对端的加密通信流程,在外网用户通过中继服务器访问内网https服务时,在tls/ssl握手阶段,外网用户端访问的域名与内网https服务的实际域名不符,外网用户无法验证通过内网https服务发送的证书,进而无法实现https服务的内网穿透。


技术实现要素:

6.为了实现https服务的内网穿透,本技术提供一种基于https服务的内网穿透方法及系统。
7.第一方面,本技术提供一种基于https服务的内网穿透方法,采用如下的技术方案:一种基于https服务的内网穿透方法,包括:外网客户端向中继服务器发送第一https连接请求,其中,所述第一https连接请求包括公网ip地址;响应于所述第一https连接请求,所述中继服务器与所述外网客户端建立第一https连接;所述外网客户端通过所述第一https连接将第一请求数据发送至所述中继服务器;所述中继服务器解析所述第一请求数据,生成第二请求数据,并将所述第二请求数据发送至中继客户端,其中,所述中继客户端预先配置有所述公网ip地址与内网ip地址的映射关系;所述中继客户端解析所述第二请求数据,生成第三请求数据,并向内网服务器发送第二https连接请求,其中,所述第二https连接请求包括所述内网ip地址;响应于所述
第二https连接请求,所述内网服务器与所述中继客户端建立第二https连接;所述中继客户端通过所述第二https连接将所述第三请求数据发送至所述内网服务器;所述内网服务器解析所述第三请求数据,生成第一响应数据,并通过所述第二https连接将所述第一响应数据发送至所述中继客户端;所述中继客户端解析所述第一响应数据,生成第二响应数据,并将所述第二响应数据发送至所述中继服务器;所述中继服务器解析所述第二响应数据,生成第三响应数据,并通过所述第一https连接将所述第三响应数据发送至所述外网客户端。
8.通过采用上述技术方案,利用具有公网访问权限的中继客户端,通过中继客户端对外网客户端提供公网域名,外网客户端发送包扩公网ip地址的第一https连接请求至中继服务器,与外网客户端建立第一https连接;中继服务器发送第二https连接请求至内网服器与内网服务器建第二https连接;建立外网用户端与内网服务器之间的连接通道,外网客户端通过第一https连接、第二https连接将请求数据发送至内网服务器,内网服务器通过第一https连接、第二https连接返回响应数据至外网客户端,从而实现https服务的内网穿透,使外网客户端能够访问内网服务器,且此方法实现成本较低且提高了流量转发的效率,便于企业或个人使用。
9.可选的,在所述外网客户端向中继服务器发送第一https连接请求之前,还包括:响应于用户的tcp连接触发动作,所述中继客户端与所述中继服务器建立tcp长连接;所述中继客户端基于所述tcp长连接与所述中继服务器进行安全认证并协商加密算法。
10.通过采用上述技术方案,利用中继服务器与中继客户端建立tcp连接,中继服务器与中继客户端之间进行安全认证和协商加密算法,提高了请求数据在传输时的安全性,降低了被攻击的可能性。
11.可选的,所述中继服务器解析所述第一请求数据,生成第二请求数据,并将所述第二请求数据发送至中继客户端包括:所述中继服务器解析第一请求数据,得到第一请求明文;所述中继服务器获取非对称加密算法和公钥,并基于所述非对称加密算法和公钥对所述第一请求明文进行二次加密,得到第二请求数据;所述中继服务器将所述第二请求数据通过所述tcp长连接发送至中继客户端。
12.通过采用上述技术方案,中继服务器通过使用非对称加密算法和公钥对第一请求明文进行二次加密,从而提高了请求数据的安全性,降低了被攻击的可能性。
13.可选的,所述中继客户端解析所述第二请求数据,生成第三请求数据包括:所述中继客户端接收所述中继服务器通过所述tcp长连接发送的所述第二请求数据;所述中继客户端基于非对称加密算法和私钥对所述第二请求数据解密,得到第二请求明文;所述中继客户端基于对称加密算法和密钥对所述第二请求明文进行三次加密,得到第三请求数据。
14.通过采用上述技术方案,中继客户端接收中继服务器发送的第二请求数据并根据协商好的非对称加密算法和私钥进行解密,得到原始的请求数据,然后进行三次加密,从而提高了请求数据的安全性,降低了被攻击的可能性。
15.可选的,所述中继客户端可对第三请求数据进行扩展功能操作,所述扩展功能包括dpi识别、攻击告警识别、30x重定向报文矫正域名。
16.通过采用上述技术方案,利用中继客户端对第三请求数据进行dpi识别、攻击告警识别、30x重定向报文矫正域名等操作,可对https服务的第三请求数据进行深度检测,对危
险流量进行识别处置,增加访问域名权重,有利于用户体验等作用,可扩展性强。
17.第二方面,本技术提供一种基于https服务的内网穿透系统,采用如下的技术方案:一种基于https服务的内网穿透系统,包括外网客户端、中继服务器、中继客户端和内网服务器;其中,所述外网客户端用于向中继服务器发送第一https连接请求,其中,所述第一https连接请求包括公网ip地址;在所述中继服务器与所述外网客户端建立第一https连接后,通过所述第一https连接将第一请求数据发送至所述中继服务器;所述中继服务器用于响应于所述第一https连接请求,所述中继服务器与所述外网客户端建立第一https连接;解析外网客户端发送的所述第一请求数据,生成第二请求数据,并将所述第二请求数据发送至中继客户端,其中,所述中继客户端预先配置有所述公网ip地址与内网ip地址的映射关系;解析中继客户端发送的所述第二响应数据,生成第三响应数据,并通过所述第一https连接将所述第三响应数据发送至所述外网客户端;所述中继客户端用于解析所述第二请求数据,生成第三请求数据,并向内网服务器发送第二https连接请求,其中,所述第二https连接请求包括所述内网ip地址;通过所述第二https连接将所述第三请求数据发送至所述内网服务器;解析所述第一响应数据,生成第二响应数据,并将所述第二响应数据发送至所述中继服务器;所述内网服务器用于响应于所述第二https连接请求,所述内网服务器与所述中继客户端建立第二https连接;解析所述第三请求数据,生成第一响应数据,并通过所述第二https连接将所述第一响应数据发送至所述中继客户端。
18.通过采用上述技术方案,利用具有公网访问权限的中继客户端,通过中继客户端对外网客户端提供公网域名,外网客户端发送包扩公网ip地址的第一https连接请求至中继服务器,与外网客户端建立第一https连接;中继服务器发送第二https连接请求至内网服器与内网服务器建第二https连接;建立外网用户端与内网服务器之间的连接通道,外网客户端通过第一https连接、第二https连接将请求数据发送至内网服务器,内网服务器通过第一https连接、第二https连接返回响应数据至外网客户端,从而实现https服务的内网穿透,使外网客户端能够访问内网服务器,且此方法实现成本较低且提高了流量转发的效率,便于企业或个人使用。
19.可选的,所述中继客户端包括:建立模块,用于响应于用户的tcp连接触发动作,所述中继客户端与所述中继服务器建立tcp长连接;协商模块,用于所述中继客户端基于所述tcp长连接与所述中继服务器协商预设加密算法并交换加密密钥。
20.通过采用上述技术方案,利用中继服务器与中继客户端建立tcp连接,中继服务器与中继客户端之间进行安全认证和协商加密算法,提高了请求数据在传输时的安全性,降低了被攻击的可能性。
21.可选的,所述中继服务器包括:解析模块,用于解析第一请求数据,得到第一请求明文;第一加密模块,用于获取非对称加密算法和公钥,并基于所述非对称加密算法和
公钥对所述第一请求明文进行二次加密,得到第二请求数据;发送模块,用于将所述第二请求数据通过所述tcp长连接发送至中继客户端。
22.可选的,所述中继客户端还包括:接收模块,用于接收所述中继服务器通过所述tcp长连接发送的所述第二请求数据;解密模块,用于基于非对称加密算法和私钥对所述第二请求数据解密,得到第二请求明文;第二加密模块,用于基于对称加密算法和密钥对所述第二请求明文进行三次加密,得到第三请求数据。
23.综上所述,本技术包括以下至少一种有益技术效果:1.利用具有公网访问权限的中继客户端,通过中继客户端对外网客户端提供公网域名,外网客户端发送包扩公网ip地址的第一https连接请求至中继服务器,与外网客户端建立第一https连接;中继服务器发送第二https连接请求至内网服器与内网服务器建第二https连接;建立外网用户端与内网服务器之间的连接通道,外网客户端通过第一https连接、第二https连接将请求数据发送至内网服务器,内网服务器通过第一https连接、第二https连接返回响应数据至外网客户端,从而实现https服务的内网穿透,使外网客户端能够访问内网服务器,且此方法实现成本较低,便于企业或个人使用;2.利用中继服务器与中继客户端建立tcp连接,中继服务器与中继客户端之间进行安全认证和协商加密算法,提高了请求数据在传输时的安全性,降低了被攻击的可能性;3.利用中继客户端对第三请求数据进行dpi识别、攻击告警识别、30x重定向报文矫正域名等操作,可对https服务的第三请求数据进行深度检测,对危险流量进行识别处置,增加访问域名权重,有利于用户体验等作用,可扩展性强。
附图说明
24.图1是本技术实施例基于https服务的内网穿透系统的结构示意图。
25.图2是本技术实施例基于https服务的内网穿透方法的流程示意图。
26.图3是本技术实施例基于https服务的内网穿透系统的结构框图。
具体实施方式
27.以下结合附图对本技术作进一步详细说明。
28.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
30.本技术实施例提供的一种基于https服务的内网穿透方法,所述方法应用于内网穿透系统,如图1所示,内网穿透系统包括外网客户端、中继服务器、中继客户端和内网服务
器。其中,中继服务器位于外网中且具有外网访问权限,中继服务器对外提供可供外网客户端访问的公网域名,另外,中继服务器内部搭建有https服务并监听来自公网域名的https连接请求。
31.中继客户端安装于可以同时访问外网和内网的主机平台上,该主机平台可以为服务器也可以为终端设备,其中该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,终端设备可以是智能手机、平板电脑、台式计算机等,但并不局限于此。
32.下面结合说明书附图对本技术实施例作进一步详细描述。如图2所示,所述方法的主要流程描述如下(步骤s101~s110):步骤s101,外网客户端向中继服务器发送第一https连接请求,其中,第一https连接请求包括公网ip地址;在本实施例中,当需要访问内网https服务时,通过外网客户端输入中继服务器对外提供的公网域名,并通过域名解析协议(dns)将公网域名解析成公网ip地址,外网客户端发送包括公网ip地址的第一https连接请求至中继服务器。
33.由于在访问内网时还需要使用中继客户端对公网ip地址做映射,所以在外网客户端向中继服务器发送第一https连接请求之前还需要启动中继客户端。
34.具体的,响应于用户的tcp连接触发动作,中继客户端与中继服务器建立tcp长连接;中继客户端基于tcp长连接与中继服务器进行安全认证并协商加密算法。
35.在本实施例中,中继客户端发送tcp连接请求至中继服务器,中继服务器解析tcp连接请求并判断中继客户端是否为合法客户端,若中继客户端为合法客户端,则中继服务器与中继客户端建立tcp长连接。
36.中继服务器与中继客户端协商加密算法可以是对称加密算法,也可以是非对称加密算法,当然还可以为其它的加密算法,本实施例不做具体限定。通过中继服务器与中继客户端之间的安全校验,保证了数据传输的安全性。
37.另外,需要说明的是,在中继客户端中还预先配置有公网ip地址与内网ip地址的映射关系与端口映射关系,用于访问内网时中继客户端对公网ip地址做映射。
38.步骤s102,响应于第一https连接请求,中继服务器与外网客户端建立第一https连接;在本实施例中,中继服务器监听到来自外网客户端发送的第一https连接请求,中继服务器接收到第一https连接请求后,为外网客户端创建第一会话的会话标识,用于标识外网客户端,并与外网客户端协商会话参数,其中,会话参数包括中继服务器与外网客户端使用的加密算法和密钥,中继服务器与外网客户端利用协商的会话参数,中继服务器与外网客户端建立第一https连接。
39.需要说明的是,在完成一次建立第一https连接后,中继服务器可以保存会话参数,也可以不保存会话参数。若中继服务器保存会话参数,则在完成一次建立第一https连接后,如果外网客户端与中继服务器再次建立第一https连接,可以复用会话参数,节省再次建立第一https连接的时间;若中继服务器不保存会话参数,则重新协商会话参数即可。
40.步骤s103,外网客户端通过第一https连接将第一请求数据发送至中继服务器;
步骤s104,中继服务器解析第一请求数据,生成第二请求数据,并将第二请求数据发送至中继客户端;具体的,中继服务器解析第一请求数据,得到第一请求明文;中继服务器获取非对称加密算法和公钥,并基于非对称加密算法和公钥对第一请求明文进行二次加密,得到第二请求数据;中继服务器将第二请求数据通过tcp长连接发送至中继客户端。
41.在本实施例中,也可以使用对称加密算法和密钥对第一请求明问进行二次加密,本实施例不作具体限定,利用中继服务器对第一请求明文进行二次加密,提高了传输时的安全性,降低了被攻击的可能性。
42.步骤s105,中继客户端解析第二请求数据,生成第三请求数据,并向内网服务器发送第二https连接请求,其中,第二https连接请求包括内网ip地址;具体的,中继客户端接收中继服务器通过tcp长连接发送的第二请求数据;中继客户端用事先协商的非对称加密算法和私钥对第二请求数据解密,得到第二请求明文;中继客户端基于对称加密算法和密钥对第二请求明文进行三次加密,得到第三请求数据。
43.步骤s106,响应于第二https连接请求,内网服务器与中继客户端建立第二https连接;在本实施例中,建立第二https连接如上述步骤s102中建立第一https连接请求,在此不在详述。
44.步骤s107,中继客户端通过第二https连接将第三请求数据发送至内网服务器;步骤s108,内网服务器解析第三请求数据,生成第一响应数据,并通过第二https连接将第一响应数据发送至中继客户端;步骤s109,中继客户端解析第一响应数据,生成第二响应数据,并将第二响应数据发送至中继服务器;在本实施例中,中继客户端解析第一响应数据,得到第一响应明文,并对第一响应明文进行二次加密,生成第二响应数据,将第二响应数据通过tcp长连接发送至中继服务器。
45.步骤s110,中继服务器解析第二响应数据,生成第三响应数据,并通过第一https连接将第三响应数据发送至外网客户端。
46.在本实施例中,中继服务器通过协商好的二次加密算法对第二响应数据解密,得到第二响应明文;中继服务器对第二响应明文进行加密,生成第三响应数据,并通过第一https连接将第三响应数据发送至外网客户端。至此一条https请求、响应的内网穿透功能完成。
47.另外,需要说明的是,中继客户端可对第三请求数据进行扩展功能操作,扩展功能包括dpi识别、攻击告警识别、30x重定向报文矫正域名。
48.利用中继客户端对第三请求数据进行dpi识别、攻击告警识别、30x重定向报文矫正域名等操作,可对https服务的第三请求数据进行深度检测,对危险流量进行识别处置,增加访问域名权重,有利于用户体验等作用,可扩展性强。
49.本方法利用具有公网访问权限的中继客户端,通过中继客户端对外网客户端提供公网域名,外网客户端发送包扩公网ip地址的第一https连接请求至中继服务器,与外网客户端建立第一https连接;中继服务器发送第二https连接请求至内网服器与内网服务器建第二https连接;建立外网用户端与内网服务器之间的连接通道,外网客户端通过第一https连接、第二https连接将请求数据发送至内网服务器,内网服务器通过第一https连接、第二https连接返回响应数据至外网客户端,从而实现https服务的内网穿透,使外网客户端能够访问内网服务器,且此方法实现成本较低且提高了流量转发的效率,便于企业或个人使用。
50.图3为本技术实施例基于https服务的内网穿透系统的结构框图。
51.如图3所示,基于https服务的内网穿透系统200主要包括:包括外网客户端201、中继服务器202、中继客户端203和内网服务器204;其中,外网客户端201用于向中继服务器202发送第一https连接请求,其中,第一https连接请求包括公网ip地址;在中继服务器202与外网客户端201建立第一https连接后,通过第一https连接将第一请求数据发送至中继服务器;中继服务器202用于响应于第一https连接请求,中继服务器202与外网客户端201建立第一https连接;解析外网客户端201发送的第一请求数据,生成第二请求数据,并将第二请求数据发送至中继客户端203,其中,中继客户端203预先配置有公网ip地址与内网ip地址的映射关系;解析中继客户端203发送的第二响应数据,生成第三响应数据,并通过第一https连接将第三响应数据发送至外网客户端201;中继客户端203用于解析第二请求数据,生成第三请求数据,并向内网服务器204发送第二https连接请求,其中,第二https连接请求包括内网ip地址;通过第二https连接将第三请求数据发送至内网服务器204;解析第一响应数据,生成第二响应数据,并将第二响应数据发送至中继服务器202;内网服务器204用于响应于第二https连接请求,内网服务器204与中继客户端203建立第二https连接;解析第三请求数据,生成第一响应数据,并通过第二https连接将第一响应数据发送至中继客户端203。
52.作为本实施例的一种可选实施方式,中继客户端203包括建立模块,用于响应于用户的tcp连接触发动作,中继客户端203与中继服务器202建立tcp长连接;协商模块,用于中继客户端203基于tcp长连接与中继服务器202协商预设加密算法并交换加密密钥。
53.作为本实施例的一种可选实施方式,中继客户端203还包括接收模块,用于接收中继服务器202通过tcp长连接发送的第二请求数据;解密模块,用于基于非对称加密算法和私钥对第二请求数据解密,得到第二请求明文;第二加密模块,用于基于对称加密算法和密钥对第二请求明文进行三次加密,得到第三请求数据。
54.作为本实施例的一种可选实施方式,中继服务器202包括解析模块,用于解析第一请求数据,得到第一请求明文;第一加密模块,用于获取非对称加密算法和公钥,并基于非对称加密算法和公钥
对第一请求明文进行二次加密,得到第二请求数据;发送模块,用于将第二请求数据通过tcp长连接发送至中继客户端203。
55.另外,需要理解的是,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
56.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
57.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1