掌桥专利:专业的专利平台
掌桥专利
首页

一种浏览器安全访问系统、方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:30:30


一种浏览器安全访问系统、方法、装置、设备及存储介质

技术领域

本发明涉及计算机网络技术领域,特别是涉及一种浏览器安全访问系统、方法、装置、电子设备及计算机可读存储介质。

背景技术

目前现有的技术中主要采用VDI(Virtual Desktop Infrastructure,桌面虚拟化)、本地沙盒和RBI(Remote Browser Isolation,远程浏览器)技术,用于浏览器安全上网场景。其中:

VDI是在服务器端进行虚拟机计算,并以客户端桌面交互工具交付客户使用的桌面云基础设施。也即,在服务器利用虚拟化技术管理部署虚拟机,在客户端通过交互工具来显示这个虚拟机画面。该方式从部署到使用,对于用户来说成本比较高,而且用户可能只需要使用浏览器进行上网,而使用VDI发布桌面(完整虚拟一台机器及操作系统)供用户上网使用存在一定的资源浪费。

本地沙盒是将浏览器运行在本地的沙盒中,由于浏览器运行的环境还是在用户本地,尽管沙盒具有隔离的特性,但是若攻击者通过沙盒逃逸技术,还是可以攻击到用户的本地,这种方式仍存在安全风险。其中,沙盒是一种安全机制,用来为执行中的程序提供的隔离环境,沙盒通常严格控制其中的程序所能访问的资源,沙盒中的所有改动对操作系统不会造成任何损失;沙盒逃逸是利用沙盒中存在的漏洞,在沙盒中的访问并修改本地资源,其对本地资源的修改,能够对操作系统造影响。

RBI的方式是用户不使用本地的浏览器直接上网,而是连接到一个远程服务器上,用服务器上的“远程浏览器”上网,全程数据只落在远程服务器上,不落在本地,从而保证客户端的安全。对比前两中方式,这种技术的优势显而易见,安全且轻量,但是通常用户本地浏览器是直接连接远浏览器所在的服务器,两者建立了直接相通的双向网络数据通道,攻击者可以通过攻破远程浏览器及其所在服务器来对用户本地进行攻击,从而威胁到用户。

鉴于此,如何提供一种安全性更高的浏览器安全访问系统及方法成为本领域技术人员需要解决的问题。

发明内容

本发明实施例的目的是提供一种浏览器安全访问系统、方法、装置、电子设备及计算机可读存储介质,在使用过程中能够提高客户端安全性,保障用户的上网安全。

为解决上述技术问题,本发明实施例提供了一种浏览器安全访问系统,包括客户端、服务端及网络服务程序,其中,所述客户端和所述服务端分别位于相互隔离的第一网络和第二网络;

所述客户端,用于向所述网络服务程序发送远程浏览器登录请求,所述远程浏览器登录请求包括用户信息;

所述网络服务程序,用于基于所述远程浏览器登录请求中的用户信息生成远程浏览器创建请求;

所述服务端,用于根据所述远程浏览器创建请求创建远程浏览器;

所述客户端,用于根据WebRTC技术建立所述客户端与所述服务端的远程浏览器之间的连接通道,所述连接通道用于位于所述第一网络的客户端与位于所述第二网络的远程浏览器的数据传输。

可选的,所述根据WebRTC技术建立所述客户端与所述服务端的远程浏览器之间的连接通道,包括:

所述客户端和所述服务端通过所述网络服务程序实现出口地址交换和协议协商,使所述客户端和所述服务端分别获得对端的出口地址;所述出口地址表示所述客户端或所述服务端所在的NAT网关上的地址;

所述客户端和所述服务端根据各自获取的对端的出口地址建立所述客户端与所述服务端的远程浏览器之间的连接通道。

可选的,所述客户端和所述服务端通过所述网络服务程序实现出口地址交换,包括:

所述客户端和所述服务端基于真实STUN地址访问所述网络服务程序中的STUN服务,并在访问成功后所述STUN服务将发起访问端的出口地址返回,之后通过网络服务程序将对端的出口地址交换。

可选的,在所述客户端和所述服务端根据各自获取的对端的出口地址建立所述客户端与所述服务端的远程浏览器之间的连接通道失败的情况下,所述方法还包括:

所述客户端和所述服务端通过所述网络服务程序中的中继服务建立所述客户端与所述服务端的远程浏览器之间的连接通道。

可选的,在所述根据WebRTC技术建立所述客户端与所述服务端的远程浏览器之间的连接通道之前,还包括:

检测所述客户端是否开启安全加固策略;

若已开启安全加固策略,所述根据WebRTC技术建立所述客户端与所述服务端的远程浏览器之间的连接通道,具体包括:

所述客户端和所述服务端基于虚假STUN地址访问所述STUN服务,并在访问失败的情况下,通过所述网络服务程序中的中继服务建立所述客户端与所述服务端的远程浏览器之间的连接通道,以便所述中继服务基于所述安全加固策略对接收到的数据信息进行恶意数据检测。

可选的,所述客户端和所述服务端分别位于相互隔离的局域网。

可选的,所述客户端位于局域网,所述服务端位于广域网的云平台。

可选的,所述网络服务程序还包括云控服务;

所述服务端,用于预先根据云控服务地址建立与所述云控服务之间的连接,根据所述云控服务发送的远程浏览器创建请求创建容器,并且在所述容器中创建远程浏览器。

可选的,所述云控服务,用于获取所述客户端发送的远程浏览器登录请求,并对所述远程浏览器登录请求中的用户信息进行身份验证,在验证成功后向所述服务端发送远程浏览器创建请求。

本发明实施例还提供了一种浏览器安全访问方法,应用于客户端,包括:

向所述网络服务程序发送远程浏览器登录请求,以实现服务端的远程浏览器的创建;

根据WebRTC技术建立与所述服务端的远程浏览器之间的连接通道,所述连接通道用于位于所述第一网络的客户端与位于所述第二网络的远程浏览器的数据传输;所述客户端和所述服务端分别位于相互隔离的第一网络和第二网络。

本发明实施例还提供了一种浏览器安全访问方法,应用于网络服务程序,包括:

接收客户端发送的远程浏览器登录请求;所述远程浏览器登录请求包括用户信息;

基于所述用户信息生成远程浏览器创建请求;

将所述远程浏览器创建请求发送至服务端,以便所述服务端根据所述远程浏览器创建请求创建远程浏览器;其中,所述远程浏览器与所述客户端通过WebRTC技术建立的连接通道通信连接,所述连接通道用于位于所述第一网络的客户端与位于所述第二网络的远程浏览器的数据传输;所述客户端和所述服务端分别位于相互隔离的第一网络和第二网络。

本发明实施例还提供了一种浏览器安全访问装置,应用于客户端,包括:

第一发送模块,用于向所述网络服务程序发送远程浏览器登录请求,以实现服务端的远程浏览器的创建;

建立模块,用于根据WebRTC技术建立与所述服务端的远程浏览器之间的连接通道,所述连接通道用于位于所述第一网络的客户端与位于所述第二网络的远程浏览器的数据传输;所述客户端和所述服务端分别位于相互隔离的第一网络和第二网络。

本发明实施例还提供了一种浏览器安全访问装置,应用于网络服务程序,包括:

接收模块,用于接收客户端发送的远程浏览器登录请求;所述远程浏览器登录请求包括用户信息;

生成模块,用于基于所述用户信息生成远程浏览器创建请求;

第二发送模块,用于将所述远程浏览器创建请求发送至服务端,以便所述服务端根据所述远程浏览器创建请求创建远程浏览器;其中,所述远程浏览器与所述客户端通过WebRTC技术建立的连接通道通信连接,所述连接通道用于位于所述第一网络的客户端与位于所述第二网络的远程浏览器的数据传输;所述客户端和所述服务端分别位于相互隔离的第一网络和第二网络。

本发明实施例还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述浏览器安全访问方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述浏览器安全访问方法的步骤。

本发明实施例还提供了一种计算机程序产品,包含指令,当所述计算机程序产品由计算机执行时,所述指令使计算机执如上所述的浏览器安全访问方法的步骤。

本发明实施例提供了一种浏览器安全访问系统、方法、装置、电子设备及计算机可读存储介质,该系统包括客户端、服务端及网络服务程序,其中,客户端和服务端分别位于相互隔离的第一网络和第二网络;客户端,用于向网络服务程序发送远程浏览器登录请求,远程浏览器登录请求包括用户信息;网络服务程序,用于基于远程浏览器登录请求中的用户信息生成远程浏览器创建请求;服务端,用于根据远程浏览器创建请求创建远程浏览器;客户端,用于根据WebRTC技术建立客户端与服务端的远程浏览器之间的连接通道,连接通道用于位于第一网络的客户端与位于第二网络的远程浏览器的数据传输。

可见,本发明中的客户端位于第一网络,服务端位于第二网络,并且第一网络与第二网络相互隔离,在客户端需要与远程浏览器进行通信时,通过客户端向网络服务程序发送远程浏览器登录请求,网络服务程序基于该远程浏览器登录请求中的用户信息生成远程浏览器创建请求,并将该远程浏览器创建请求发送至服务端,服务端根据该远程浏览器创建请求创建远程浏览器,客户端根据WebRTC技术建立客户端与远程浏览器之间的连接通道,以通过该连接通道进行客户端与远程浏览器之间的数据传输,由于本发明中的客户端和服务端位于不同的网络、且相互隔离,因此可以有效防止在远程浏览器被攻破后进一步攻击客户端,提高客户端的安全性,保障用户的上网安全。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种浏览器安全访问系统的结构示意图;

图2为本发明实施例提供的另一种浏览器安全访问系统的结构示意图;

图3为本发明实施例提供的另一种浏览器安全访问系统的结构示意图;

图4为本发明实施例提供的另一种浏览器安全访问系统的结构示意图;

图5为本发明实施例提供的另一种浏览器安全访问系统的结构示意图;

图6为本发明实施例提供的一种客户端与服务端在建立连接通道时的协议协商过程示意图;

图7为本发明实施例提供的一种浏览器安全访问方法的流程示意图;

图8为本发明实施例提供的另一种浏览器安全访问方法的流程示意图;

图9为本发明实施例提供的一种浏览器安全访问装置的结构示意图;

图10为本发明实施例提供的另一种浏览器安全访问装置的结构示意图;

图11为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

本发明实施例提供了一种浏览器安全访问系统、方法、装置、电子设备及计算机可读存储介质,在使用过程中能够提高客户端安全性,保障用户的上网安全。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种浏览器安全访问系统的结构示意图。该浏览器安全访问系统,包括客户端1、服务端2及网络服务程序3,其中,客户端和服务端分别位于相互隔离的第一网络和第二网络;

客户端1,用于向网络服务程序3发送远程浏览器登录请求,远程浏览器登录请求包括用户信息;

网络服务程序3,用于基于远程浏览器登录请求中的用户信息生成远程浏览器创建请求;

服务端2,用于根据远程浏览器创建请求创建远程浏览器;

客户端1,用于根据WebRTC(Web Real-Time Communication,网页即时通讯)技术建立客户端1与服务端2的远程浏览器之间的连接通道,连接通道用于位于第一网络的客户端1与位于第二网络的远程浏览器的数据传输。

需要说明的是,本发明实施了中的客户端1与服务端2位于两个不同、且相互隔离的网络中,因此客户端1与服务端2不能够直接连通,在客户端1需要上网时,客户端1会向网络服务程序3发送携带有用户信息的远程浏览器登录请求,网络服务程序3在接收到远程浏览器登录请求后,根据该远程浏览器登录请求中的用户信息生成远程浏览器创建请求,并将该远程浏览器创建请求发送至服务端2,服务端2接收到远程浏览器创建请求,并根据该远程浏览器创建请求在服务端2建立对应的远程浏览器,还可以将创建完成信息反馈至网络服务程序3,网络服务程序3再将创建完成信息反馈至客户端1,客户端1在获知服务端2建立好远程浏览器后,根据WebRTC技术建立客户端1与该远程浏览器之间的连接通道,通过该连接通道实现位于第一网络的客户端1与位于第二网络的远程浏览器的数据传输。

其中,WebRTC是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点的连接,实现视频流和/或音频流或者其他任意数据的传输。在实际应用中,可以将WebRTC集成到客户端(具体可以为客户端浏览器)内核中,所以客户端无需安装任何插件便可以使用WebRTC提供的API(Application Program Interface,应用程序接口)接口建立客户端1与该远程浏览器之间的连接通道。

由于在传统方式中,客户端与服务端位于同一个网络中,客户端与远程浏览器之间的网络是直接互通的,导致在远程浏览器被攻破后可以直接攻击客户端,而本发明实施例中的客户端1与服务端2位于两个相互隔离的网络中不能够直接连通,用户本地在使用远程浏览器上网的时候,即便是在远程浏览器被攻破后,也不能够直接攻击客户端1,有效避免远端的网络攻击,从而提高用户的上网安全。

具体的,本发明实施例中的客户端1和服务端2分别位于相互隔离的局域网,也即,客户端1所在的第一网络为第一局域网,服务端2所在的网络为第二局域网,第一局域网与第二局域网相互隔离。

当然,在实际应用中不仅限于客户端1和服务端2分别位于相互隔离的局域网,还可以为客户端1位于局域网,服务端2位于广域网的云平台,也即,客户端1所在的第一网络为局域网,服务端2所在的第二网络为广域网,以便通过订阅、租赁的方式提供远程浏览器的服务,例如,用户可以向云服务上租赁、订阅指定数目的浏览器实例资源,使其浏览器一直保持运行等。

进一步的,本发明实施例中的网络服务程序3还可以包括云控服务30;

服务端2,用于预先根据云控服务地址建立与云控服务30之间的连接,根据云控服务发送的远程浏览器创建请求创建容器,并且在容器中创建远程浏览器。

具体的,请参考图2中的服务端2,服务端2可以预先与云控服务30建立连接,具体可以预先获取到云控服务3的云控服务地址,然后基于该云控服务地址建立服务端2与云控服务30之间的连接,并且在接收到云控服务30发送的远程浏览器创建请求后先基于远程浏览器创建请求中的用户信息创建一个对应的容器,可以对该容器进行初始化后再在该容器内创建对应的远程浏览器,其中对容器的初始化具体可以为初始化音视频抓取模块、负责建立连接的模块等功能模块,具体初始化哪些功能模块可以根据实际需要进行确定,本发明实施例对此不做特殊限定。

可以理解的是,由于基于远程浏览器创建请求中的用户信息创建容器,因此不同用户对应的不同容器,在需要创建多个远程浏览器时,可以通过各个容器将各个远程浏览器之间相互隔离,提升浏览器的安全性。另外,容器具有启动便捷,便于管理的特点,在所创建的远程浏览器使用完后,可以通过销毁该远程浏览器所在容器的方式将远程浏览器使用过程中产生的数据进行销毁,即便是存在恶意数据也会被销毁,从而保障网络环境的安全。

需要说明的是,本发明实施例中的网络服务程序3可以部署在私有云、公有云上,并且支持容器化运行(例如Docker容器化)。具体的,在实际应用中还可以预先在服务端2中部署容器管理组件,具体可以为Docker容器管理组件,通过该容器管理组件管理每个用户对应的远程浏览器的容器运行的生命周期,并且在该容器管理组件上预先存储云控服务地址,容器管理组件开始工作后可以通过该云控服务地址与云控服务30建立连接,并且在接收到云控服务30发送的远程浏览器创建请求创建容器(如Docker容器),并对容器初始化后在该容器内创建远程浏览器。

更进一步的,云控服务30,用于获取客户端1发送的远程浏览器登录请求,并对远程浏览器登录请求中的用户信息进行身份验证,在验证成功后向服务端2发送远程浏览器创建请求。具体的,用户可以预先获取云控服务地址,并且在需要的时候通过客户端1(具体可以为客户端浏览器)输入该云控服务地址,通过访问云控服务地址请求到登录页面,用户在登录页面输入用户信息(例如用户名和密码),并点击登录后将携带有该用户信息的远程浏览器登录请求发送至网络服务程序3中的云控服务30,云控服务30接收到远程浏览器登录请求后对远程浏览器登录请求中的用户信息进行身份验证,并且在验证成功后基于该用户信息生成远程浏览器创建请求,并将该远程浏览器创建请求发送至服务端2,具体可以发送至服务端2的容器管理组件,以便该容器管理组件根据远程浏览器创建请求先创建对应的容器,并在该容器中创建对应的远程浏览器。另外,在服务端2的容器管理组件创建远程浏览器成功后,会向云控服务30发送创建成功通知,云控服务30会将创建成功通知返回至客户端1,以便客户端1在获知服务端2创建好远程浏览器后根据WebRTC技术建立客户端与服务端的远程浏览器之间的连接通道。

还需要说明的是,NAT(Network Address Translation,网络地址转换)技术被普遍使用在有多台主机但只通过一个公有IP地址访问互联网的私有网络中,它是一个方便且得到了广泛应用的技术,该技术是为了解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。因此,在实际应用中可以在客户端1与服务端2之间设置NAT(Network AddressTranslation,网络地址转换)网关,使客户端1与服务端2的各自所在的网络相互隔离,并且使所建立的客户端1与服务端2之间的连接通道经过NAT网关。可以仅在客户端1侧设置一个NAT网关(如图3所示),也可以在客户端1侧和服务端2侧各设置一个NAT网关(如图4所示)。在客户端1与服务端2中的远程浏览器通过所建立的连接通道进行数据传输时,NAT设备会将数据包中所携带的IP地址转换为对应用的出口地址,然后再将携带对应出口地址的数据包发送至对端,从而提升数据通信的安全性。

具体的,客户端1可以通过WebRTC提供的API接口访问网络服务程序3,来进一步实现建立客户端1与远程浏览器之间的连接通道。

进一步的,上述客户端1在根据WebRTC技术建立客户端与服务端的远程浏览器之间的连接通道的过程,具体可以包括:

客户端1和服务端2通过网络服务程序3实现出口地址交换和协议协商,使客户端1和服务端2分别获得对端的出口地址;出口地址表示客户端1或服务端2所在的NAT网关上的地址;

客户端1和服务端2根据各自获取的对端的出口地址建立客户端1与服务端2的远程浏览器之间的连接通道。

具体的,客户端1和服务端2通过网络服务程序3实现出口地址交换的过程中可以通过网络服务程序3获取到客户端1或服务端2所在的NAT网关上的地址,也即客户端1可以通过网络服务程序3获取到服务端2所在的NAT网关上的地址,服务端2可以通过网络服务程序3获取到客户端1所在的NAT网关上的地址,其中,服务端2所在的NAT网关和客户端1所在的NAT网关可以为同一个NAT网关,也可以为不同的NAT网关。

如图5所示,在实际应用中网络服务程序3除了包括云控服务30外,还可以包括STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)服务31和TURN(Traversal Using Relay NAT,使用继电器的穿越)服务32。如图6所示在客户端1根据WebRTC技术建立客户端1和服务端2的远程浏览器之间的连接通道的过程中,客户端1将客户端信息发送至网络服务程序3,网络服务程序3将客户端信息转发至服务端2中的服务端浏览器(也即远程浏览器),服务端浏览器记录用户端信息用于协议协商,服务端2将服务端浏览器端信息发送至网络服务程序3,网络服务程序3将服务端浏览器端信息转发至客户端1,客户端1记录服务端浏览器端信息用于协议协商,客户端1访问网络服务程序3中的STUN服务获取客户端出口地址,STUN服务获取到客户端出口地址并将其返回至客户端1,服务端浏览器访问STUN服务获取浏览器端出口地址,STUN服务获取到浏览器端出口地址并将其返回至服务端2,客户端1将获取到的客户端出口地址(出口IP和端口)发送至网络服务程序3,网络服务程序3将客户端出口地址转发至服务端浏览器,服务端浏览器记录客户端出口地址,服务端浏览器发送浏览器端出口地址发送至网络服务程序3,网络服务程序3将浏览器端出口地址转发至客户端1,客户端1记录浏览器端地址,从而实现出口地址的交换。客户端1尝试建立点对点的连接,在点对点建立连接失败的情况下,经过中继服务建立连接。

下面对协议协商和建立连接通道的过程进行详细介绍,其中,通过网络服务程序3实现客户端1和服务端2的协议协商,具体的如下:

在协议协商过程中云控服务30作为信令服务器,客户端1通过WebRTC提供的API接口创建信息,发送给信令服务器,信令服务器与服务端2建立连接,例如信令服务器与服务端2中的远程浏览器控制模块建立连接,客户端1通过API创建一个offer邀请,该offer中携带有SDP(Session Description Protocol,会话描述协议)对象信息,客户端1保存该SDP对象信息后,将携带有SDP对象信息的offer信息发送至信令服务器,信令服务器将该offer信息发送至服务端2的远程浏览器控制模块,远程浏览器控制模块接收到offer信息后,将该offer信息中的SDP对象信息保存,并创建一个应答的answer信息,该answer信息中包含相应的SDP对象信息,然后将包含有SDP对象信息的answer信息发送至信令服务器,信令服务器将接收到的answer信息发送至客户端1,客户端1接收到应答的answer信息后,将该answer信息中的SDP对象信息保存,此后便进入双方建立连接的过程,客户端1会通过网络服务程序3(具体为网络服务程序3中的STUN服务)获取服务端2中的远程浏览器可以连接的IP地址(也即服务端2所在的NAT网关上的地址),服务端2中的远程浏览器控制模块也会通过STUN服务获取客户端1可以连接的IP地址(也即客户端1所在的NAT网关上的地址),然后客户端1和服务端2的远程浏览器根据各自获取的对端的IP地址建立客户端1与服务端2的远程浏览器之间的连接通道。

其中,本发明实施例中的远程浏览器控制模块也可以运行在远程浏览器对应的Docker容器中,并且服务端2中的远程浏览器相关的组件也可以直接部署在私有云、公有云上。

可以理解的是,在建立客户端1与远程浏览器之间的连接通道后,即可开始进行通信,具体的客户端1将客户端浏览器捕捉到的携带浏览器预设指令的网络数据包通过所建立的连接通道发送至服务端2的远程浏览器,以便远程浏览器对该携带浏览器预设指令的网络数据包中的指令信息进行处理并执行。服务端2将远程浏览器抓取的远程浏览器数据包(例如音视频信息等)通过该连接通道发送至客户端1,以便客户端浏览器对远程浏览器数据包中的音视频信息进行显示与播放。其中,远程浏览器采用的编码协议与客户端浏览器采用的解码协议相匹配,具体可以基于WebRTC技术实现。

进一步的,客户端1和服务端2的远程浏览器通过网络服务程序3实现出口地址交换的过程,具体可以包括:

客户端1和服务端2的远程浏览器基于真实STUN地址访问网络服务程序3中的STUN服务,并在访问成功后STUN服务将发起访问端的出口地址返回,之后通过网络服务程序3将对端的出口地址交换。

需要说明的是,在实际应用中客户端1在客户端1和服务端2的远程浏览器通过网络服务程序3实现出口地址交换时,客户端1会获取到网络服务程序3提供的真实STUN地址,客户端1基于该真实STUN地址访问网络服务程序3中的STUN服务,在访问成功后STUN服务会获取客户端1的出口地址,并将客户端1的出口地址返回至客户端1;服务端2的远程浏览器也会获取到网络服务程序3提供的真实STUN地址,服务端2的远程浏览器基于该真实STUN地址访问网络服务程序3中的STUN服务,在访问成功后STUN服务会获取服务端2的远程浏览器的出口地址,并将服务端2的远程浏览器的出口地址返回至服务端2的远程浏览器,客户端1和服务端2的远程浏览器再通过网络服务程序3进行出口地址的交换。

具体的,在出口地址交换完成后,客户端1和服务端2的远程浏览器根据各自获取的对端的出口地址建立客户端1与服务端2的远程浏览器之间的连接通道的过程中先基于通信协议建立连接通道,其中,由于UDP(User Datagram Protocol,用户数据报协议)协议传输速度快,可以先基于UDP协议建立该连接通道,并且在基于UDP协议建立连接通道失败的情况下,再基于TCP(Transmission Control Protocol传输控制协议)协议通过网络地址转换设备建立客户端浏览器与远程浏览器之间的连接通道。

更进一步的,在客户端1和服务端2的远程浏览器根据各自获取的对端的出口地址建立客户端1与服务端2的远程浏览器之间的连接通道失败的情况下,该方法还可以包括:

客户端1和服务端2的远程浏览器通过网络服务程序3中的中继服务建立客户端1与服务端2的远程浏览器之间的连接通道。

需要说明的是,本发明实施例中在客户端1和服务端2的远程浏览器基于通信协议建立连接通道失败的情况下,通过中继服务建立客户端1与远程浏览器连接通道。

具体的,该中继服务具体可以为TURN服务32,TURN服务32是NAT的中继穿越方式,也即TURN服务作为一个中继可以帮忙中转客户端1和服务端2的远程浏览器在传输过程中所传输的数据。

进一步的,上述在根据WebRTC技术建立客户端1与服务端2的远程浏览器之间的连接通道之前,还可以包括:

检测客户端1是否开启安全加固策略;

若已开启安全加固策略,根据WebRTC技术建立客户端1与服务端2的远程浏览器之间的连接通道,具体包括:

客户端1和服务端2的远程浏览器基于虚假STUN地址访问STUN服务,并在访问失败的情况下,通过网络服务程序3中的中继服务建立客户端1与服务端2的远程浏览器之间的连接通道,以便中继服务基于安全加固策略对接收到的数据信息进行恶意数据检测。

可以理解的是,在实际应用中为了进一步提高安全性,可以预先设置安全加固策略,并且管理员可以根据用户的实际需要,预先建立用户与开启安全加固策略情况的对应关系,例如用户1开启安全加固策略,用户2未开启安全加固策略等。具体的,在网络服务程序3中的云控服务30接收到服务端2反馈的远程浏览器创建成功的通知后,将该创建成功的通知反馈至客户端1,客户端1根据用户输入的用户信息及上述预先建立的用户与开启安全加固策略情况的对应关系,确定出是否需要开启安全加固策略,并在确定出开启安全加固策略的情况下开启安全加固策略,相应的云控服务30也会根据远程浏览器登录请求中的用户信息进一步确认客户端1是否开启了安全加固策略,在确定出客户端开启了安全加固策略的情况下,在客户端1基于WebRTC技术建立客户端1与服务端2的远程浏览器之间的连接通道时,向客户端1和服务端2使用虚假STUN地址,以便客户端1和服务端2的远程浏览器不能够成功访问STUN服务,此时将通过网络服务程序3中的中继服务(也即TURN服务32)建立客户端1与服务端2的远程浏览器之间的连接通道,以便中继服务基于安全加固策略对接收到的数据信息进行恶意数据检测,具体可以检测数据信息中是否携带有恶意指令和/或恶意信息等,然后将检测结果为安全的数据发送至对端。可见,本发明实施例中在客户端1开启安全加固策略的情况下,可以通过中继服务(也即TURN服务32)进行网络防护和安全检测,以进一步提高上网安全性。

还需要说明的是,本发明实施例延伸了云服务的一种服务形态,相比于传统客户端和服务端设置于同一个网络中的架构,传统架构是不具备云端部署的能力,而本申请中客户端与网络服务程序设置于NAT网关之后,符合现有云端部署架构的形态,因此具有云端部署能力,也即,网络服务程序可以部署在云端,并在云端部署后还可以通过网络服务程序对用户使用浏览器的时长进行管理,以便满足用户长时间不愿意关闭浏览器的使用需求,对应用户可以向云服务商租赁、订阅指定数目的浏览器实例资源,使其浏览器一直保持运行。云浏览器服务商由于集中运营浏览器服务,可以持续优化使得单一浏览器实例能耗远远低于用户在自己实体计算机上创建,可以持续优化使得其远程浏览器响应速度优于用户自行维护的本地浏览器,可以提供给远程浏览器的网络带宽远大于用户自身连接公网带宽,满足了用户希望自己可以弹性、灵活地选择上网浏览器种类与数目成为可能。

由上述可知,本发明中的客户端位于第一网络,服务端位于第二网络,并且第一网络与第二网络相互隔离,在客户端需要与远程浏览器进行通信时,通过客户端向网络服务程序发送远程浏览器登录请求,网络服务程序基于该远程浏览器登录请求中的用户信息生成远程浏览器创建请求,并将该远程浏览器创建请求发送至服务端,服务端根据该远程浏览器创建请求创建远程浏览器,客户端根据WebRTC技术建立客户端与远程浏览器之间的连接通道,以通过该连接通道进行客户端与远程浏览器之间的数据传输,由于本发明中的客户端和服务端位于不同的网络、且相互隔离,因此可以有效防止在远程浏览器被攻破后进一步攻击客户端,提高客户端的安全性,保障用户的上网安全。

在上述实施例的基础上,本发明实施例还提供了一种浏览器安全访问方法,应用于客户端,请参照图7,该方法包括:

S110:向网络服务程序发送远程浏览器登录请求,以实现服务端的远程浏览器的创建;

S120:根据WebRTC技术建立与服务端的远程浏览器之间的连接通道,连接通道用于位于第一网络的客户端与位于第二网络的远程浏览器的数据传输;客户端和服务端分别位于相互隔离的第一网络和第二网络。

需要说明的是,本发明实施例中提供的方法应用于客户端,在客户端需要上网时,客户端可以向网络服务程序发送远程浏览器登录请求,具体的该远程浏览器登录请求可以基于用户输入的用户信息生成,网络服务程序根据远程浏览器登录请求中的用户信息生成远程浏览器创建请求,并将该远程浏览器创建请求发送至服务端,服务端根据该远程浏览器创建请求在服务端建立对应的远程浏览器,并且在创建成功后通过网络服务程序向客户端反馈创建成功的信息,客户端在获知服务端建立好远程浏览器后,根据WebRTC技术建立客户端与该远程浏览器之间的连接通道,通过该连接通道实现位于第一网络的客户端与位于第二网络的远程浏览器的数据传输。本发明实施例中的客户端与服务端位于两个相互隔离的网络中不能够直接连通,用户本地在使用远程浏览器上网的时候,即便是在远程浏览器被攻破后,也不能够直接攻击客户端1,有效避免远端的网络攻击,从而提高用户的上网安全。

具体的,本发明实施例提供的浏览器安全访问方法具有与上述实施例相同的有益效果,对于本发明实施例中所涉及到的浏览器安全访问方法具体介绍请参照上述系统实施例,本发明在此不再赘述。

在上述实施例的基础上,本发明实施例还提供了一种浏览器安全访问方法,应用于网络服务程序,请参照图8,该方法包括:

S210:接收客户端发送的远程浏览器登录请求;远程浏览器登录请求包括用户信息;

S220:基于用户信息生成远程浏览器创建请求;

S230:将远程浏览器创建请求发送至服务端,以便服务端根据远程浏览器创建请求创建远程浏览器;其中,远程浏览器与客户端通过WebRTC技术建立的连接通道通信连接,连接通道用于位于第一网络的客户端与位于第二网络的远程浏览器的数据传输;客户端和服务端分别位于相互隔离的第一网络和第二网络。

需要说明的是,本发明实施例中提供的方法应用于网络服务程序,并且具有与上述实施例相同的有益效果,对于本发明实施例中所涉及到的浏览器安全访问方法具体介绍请参照上述系统实施例,本发明在此不再赘述。

在上述实施例的基础上,本发明实施例还提供了一种浏览器安全访问装置,应用于客户端,请参照图9,该装置包括:

第一发送模块11,用于向网络服务程序发送远程浏览器登录请求,以实现服务端的远程浏览器的创建;

建立模块12,用于根据WebRTC技术建立与服务端的远程浏览器之间的连接通道,连接通道用于位于第一网络的客户端与位于第二网络的远程浏览器的数据传输;客户端和服务端分别位于相互隔离的第一网络和第二网络。

需要说明的是,本发明实施例中提供的装置应用于客户端,并且具有与上述实施例相同的有益效果。

在上述实施例的基础上,本发明实施例还提供了一种浏览器安全访问装置,应用于网络服务程序,请参照图10,该装置包括:

接收模块21,用于接收客户端发送的远程浏览器登录请求;远程浏览器登录请求包括用户信息;

生成模块22,用于基于用户信息生成远程浏览器创建请求;

第二发送模块23,用于将远程浏览器创建请求发送至网络服务程序,以便服务端根据远程浏览器创建请求创建远程浏览器;其中,远程浏览器与客户端通过WebRTC技术建立的连接通道通信连接,连接通道用于位于第一网络的客户端与位于第二网络的远程浏览器的数据传输;客户端和服务端分别位于相互隔离的第一网络和第二网络。

需要说明的是,本发明实施例中第二发送模块23还用于作为客户端与服务端的远程浏览器在进行连接通道建立过程中交换所需要的数据的媒介。本发明实施例中所提供的装置应用于服务端,并且具有与上述实施例相同的有益效果。

在上述实施例的基础上,本发明实施例还提供了一种电子设备,具体请参照图11,该电子设备包括:

存储器30,用于存储计算机程序;

处理器31,用于执行计算机程序时实现如上述浏览器安全访问方法的步骤。

本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。

其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的浏览器安全访问方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于设定的偏移量等。

在一些实施例中,电子设备还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。

本领域技术人员可以理解,图11中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。

可以理解的是,如果上述实施例中的浏览器安全访问方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述浏览器安全访问方法的步骤。

另外,在上述实施例的基础上,本发明实施例还提供了一种计算机程序产品,包含指令,当所述计算机程序产品由计算机执行时,所述指令使计算机执如上所述的浏览器安全访问方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115931559