一种虚拟私有网络VPN客户端及实现方法技术

技术编号:20431033 阅读:25 留言:0更新日期:2019-02-23 10:49
本申请提供一种VPN客户端及其实现方法,用于解决VPN客户端在安全性等方面所面临的技术问题。本申请提供的VPN客户端及实现方法使用模块分离的微服务架构,将VPN客户端分为服务模块、界面接口模块和登录控制模块三个模块,三个模块之间通过通信接口互联。为服务模块分配高级别的系统访问权限。通过将VPN客户端所需的高级别的系统访问权限的处理步骤集中在所述服务模块中实现,避免了为普通终端用户分配过高的系统访问权限,通过模块化的划分,提高了VPN客户端的可维护性和扩展性。

A Virtual Private Network VPN Client and Its Implementation

This application provides a VPN client and its implementation method to solve the technical problems faced by VPN client in security and other aspects. The VPN client provided in this application and its implementation method use a micro-service architecture with module separation. The VPN client is divided into three modules: service module, interface module and login control module. The three modules are interconnected through communication interface. Allocate high-level system access rights to service modules. By concentrating the processing steps of high-level system access privileges required by VPN clients on the service modules, the system access privileges for ordinary end users are avoided, and the maintainability and scalability of VPN clients are improved through modular partitioning.

【技术实现步骤摘要】
一种虚拟私有网络VPN客户端及实现方法
本申请涉及通讯
,尤其涉及一种虚拟私有网络VPN客户端及实现方法。
技术介绍
SSL(SecuritySocketLayer,安全套接层)协议是一种在internet上保证发送信息安全的通用协议,采用B/S结构(Browser/Server,浏览器/服务器模式)。它处在应用层,SSL用公钥加密通过SSL连接传输的数据来工作。SSL协议指定了在应用程序协议和TCP/IP之间进行数据交换的安全机制,为TCP/IP连接提供数据加密、服务器认证以及可选择的客户机认证。VPN(VirtualPrivateNetwork,虚拟私有网络)属于远程访问技术,简单地说就是利用公用网络架设专属的私有网络。VPN的便利性、经济性使得越来越多的公司通过互联网等公共网络,采用VPN将公司总部和在家工作、出差在外、分公司员工以及合作伙伴连接到一起。SSLVPN是一种新兴的VPN技术。SSLVPN指的是以SSL协议建立加密连接的VPN网络。SSLVPN考虑的是应用软件的安全性,其协议工作在传输层之上,保护的是应用程序与应用程序之间的安全连接,更多应用在Web的远程安全接入方面。用户在首次访问SSLVPN系统时,系统通常会自动引导用户安装VPN客户端程序,例如通过内嵌于Web浏览器的插件引导用户在终端设备上安装VPN客户端程序。VPN客户端程序在安装过程中通常需要读写终端设备上的系统注册表、安装驱动程序和读取系统证书库等需要超级管理员权限的操作,在使用过程中通常也需要执行读写终端设备上的系统注册表、读取系统证书库等操作,如果终端用户没有管理员权限,则会导致用户无法正常安装和使用该VPN客户端,如果给普通终端用户赋予过高的系统访问权限也会带来很多安全性方面的问题。
技术实现思路
有鉴于此,本申请提供一种虚拟私有网络VPN客户端及实现方法,用于解决VPN客户端在安全性方面所面临的问题。鉴于现有技术中存在的技术问题,本专利技术公开了一种虚拟私有网络VPN客户端,该VPN客户端采用模块化分离、细粒度权限划分的设计思想,将现有技术中庞大的单体VPN客户端划分为三个模块,分别为服务模块、界面接口模块、登录控制模块,这三个模块为三个相对独立的程序进程,可分别独立分配用户的操作系统访问权限,三个模块之间通过通信接口进行信息交互。通过VPN客户端的模块化分离及操作系统访问权限的独立控制,可避免为普通用户分配过高的操作性访问权限,并可提高VPN客户端的可维护性和扩展性。本专利技术公开的虚拟私有网络VPN客户端运行于电子设备,且该VPN客户端包括:服务模块,用于与VPN服务端实现信息交互,为界面接口模块提供VPN的业务信息接口及状态信息接口,以及为登录控制模块提供VPN的用户登录接口;所述服务模块具有高级别的系统访问权限;界面接口模块,用于提供VPN的业务信息及状态信息的图形用户接口GUI,并通过与所述服务模块之间的业务信息接口及状态信息接口交互VPN的业务信息及状态信息;登录控制模块,用于提供用户登录界面,并通过与所述服务模块之间的用户登录接口将用户登录信息发送给所述服务模块,及接收所述服务模块反馈的登录结果信息。基于本专利技术公开的实施例,为了提高VPN客户端的安全性,本专利技术公开的VPN客户端通过SSL协议与VPN服务端进行信息交互。进一步地,本专利技术公开的VPN客户端还包括以下特征:所述服务模块通过安全套接层SSL协议与VPN服务端通信。基于本专利技术公开的实施例,为了避免为普通用户分配过高的操作系统访问权限,对上述服务模块、界面接口模块和登录控制模块分别进行权限控制。服务模块作为VPN客户端的核心模块与VPN服务端交互,由该模块来主要实现VPN业务功能和VPN客户端的状态维护,所有需要访问操作系统资源的高级别权限的操作都在服务模块实现,因此需要为该模块分配高级别的系统访问权限。界面接口模块和登录控制模块在需要获取业务信息和/或状态信息时,通过与服务模块之间的接口获取即可,因此仅需要为界面接口模块和登录控制模块分配普通用户权限即可。基于上述思想,本专利技术公开的VPN客户端进一步包括如下特征:所述VPN客户端所需的高级别的系统访问权限的处理步骤集中在所述服务模块中实现,所述界面接口模块和登录控制模块具有普通用户权限。所述高级别的系统访问权限为系统管理员权限或不限于以下一种或多种系统访问权限:访问系统注册表、安装及更新驱动程序、更新VPN客户端的各模块、读取系统证书库。基于本专利技术公开的实施例,为了避免由用户每次启动服务模块的进程,在下载安装VPN客户端的程序的时候,将所述服务模块设置为开机自启动的服务进程。基于本专利技术公开的实施例,为了实现上述三个模块在权限和功能上的分离,本专利技术在上述三个模块之间优选地采用无状态通信接口,基于该思想,本专利技术公开的VPN客户端进一步包括如下特征:所述服务模块与界面接口模块,以及服务模块与登录控制模块之间的接口基于HTTP协议的可被呈现的状态转换REST应用程序接口API实现。基于本专利技术公开的实施例,为了防止服务模块和/或界面接口模块的进程由于某些原因产生故障不能提供正常的服务,例如服务进程因为某些软硬件故障导致挂起或退出,本专利技术还加入了服务进程状态监控功能,当发现服务模块和/或界面接口模块所在的进程故障时,由登录控制模块负责重新启动服务模块和/或界面接口模块,在故障的模块重新启动后,可重新进行自动登录、业务数据及状态信息的同步等,从而为用户提供更好的业务持续性。基于该思想,本专利技术公开的VPN客户端进一步包括如下特征:所述登录控制模块还用于监控所述服务模块和/或界面接口模块的运行状态,当发现所述服务模块和/或界面接口模块故障时,所述登录控制模块重新启动所述服务模块和/或界面接口模块。基于本专利技术公开的实施例,为了使用户更好的了解VPN客户端当前的业务处理状态及VPN客户端本身的运行状态,本专利技术公开的VPN客户端进一步包括如下特征:所述服务模块维护一状态机,该状态机反映所述VPN客户端的运行状态,该状态机至少包括:启动状态、连接状态、会话建立状态、安全检查状态、身份认证状态;所述服务模块通过所述状态信息接口将所述状态机当前的状态信息发送给界面接口模块,以供界面接口模块显示。基于本专利技术公开的实施例,与本专利技术公开的虚拟私有网络VPN客户端相对应地,本专利技术还公开了一种虚拟私有网络VPN客户端的实现方法,该方法运行于电子设备,包括:通过服务模块与VPN服务端实现信息交互,为界面接口模块提供VPN的业务信息接口及状态信息接口,以及为登录控制模块提供VPN的用户登录接口;为所述服务模块分配高级别的系统访问权限;通过界面接口模块提供VPN的业务信息及状态信息的图形用户接口GUI,并通过界面接口模块与所述服务模块之间的业务信息接口及状态信息接口交互VPN的业务信息及状态信息;通过登录控制模块提供用户登录界面,并通过登录控制模块与所述服务模块之间的用户登录接口将用户登录信息发送给所述服务模块,及接收所述服务模块反馈的登录结果信息。本申请提供的VPN客户端及实现方法使用模块分离的微服务架构,将VPN客户端分为服务模块、界面接口模块和登录控制模块三个模块,三个模块之间通过通信接口互联。为服务模块分配高级别的系统访问本文档来自技高网
...

【技术保护点】
1.一种虚拟私有网络VPN客户端,其特征在于,所述VPN客户端运行于电子设备,包括:服务模块(Service),用于与VPN服务端实现信息交互,为界面接口模块提供VPN的业务信息接口及状态信息接口,以及为登录控制模块提供VPN的用户登录接口;所述服务模块具有高级别的系统访问权限;界面接口模块(View),用于提供VPN的业务信息及状态信息的图形用户接口GUI,并通过与所述服务模块之间的业务信息接口及状态信息接口交互VPN的业务信息及状态信息;登录控制模块(Client),用于提供用户登录界面,并通过与所述服务模块之间的用户登录接口将用户登录信息发送给所述服务模块,及接收所述服务模块反馈的登录结果信息。

【技术特征摘要】
1.一种虚拟私有网络VPN客户端,其特征在于,所述VPN客户端运行于电子设备,包括:服务模块(Service),用于与VPN服务端实现信息交互,为界面接口模块提供VPN的业务信息接口及状态信息接口,以及为登录控制模块提供VPN的用户登录接口;所述服务模块具有高级别的系统访问权限;界面接口模块(View),用于提供VPN的业务信息及状态信息的图形用户接口GUI,并通过与所述服务模块之间的业务信息接口及状态信息接口交互VPN的业务信息及状态信息;登录控制模块(Client),用于提供用户登录界面,并通过与所述服务模块之间的用户登录接口将用户登录信息发送给所述服务模块,及接收所述服务模块反馈的登录结果信息。2.根据权利要求1所述的VPN客户端,其特征在于,所述服务模块通过安全套接层SSL协议与VPN服务端通信;所述服务模块为开机自启动的服务进程,所述VPN客户端所需的高级别的系统访问权限的处理步骤集中在所述服务模块中实现;所述界面接口模块和登录控制模块具有普通用户权限;所述高级别的系统访问权限为系统管理员权限或不限于以下一种或多种系统访问权限:访问系统注册表、安装及更新驱动程序、更新VPN客户端的各模块、读取系统证书库。3.权利要求1所述的VPN客户端,其特征在于,所述服务模块与界面接口模块,以及服务模块与登录控制模块之间的接口基于HTTP协议的可被呈现的状态转换REST应用程序接口API实现。4.据权利要求1所述的VPN客户端,其特征在于,所述登录控制模块还用于监控所述服务模块和/或界面接口模块的运行状态,当发现所述服务模块和/或界面接口模块故障时,所述登录控制模块重新启动所述服务模块和/或界面接口模块。5.据权利要求1所述的VPN客户端,其特征在于,所述服务模块维护一状态机,该状态机反映所述VPN客户端的运行状态,该状态机至少包括:启动状态、连接状态、会话建立状态、安全检查状态、身份认证状态;所述服务模块通过所述状态信息接口将所述状态机当前的状态信息发送给界面接口模块,以供界面接口模块显示。6.一种...

【专利技术属性】
技术研发人员:郑闯王永亮
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

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

1