欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种VPN用户接入方法及系统独创技术24100字

一种VPN用户接入方法及系统

2021-01-26 18:06:00

一种VPN用户接入方法及系统

  技术领域

  本发明涉及工业控制网络以及通信技术领域,尤其涉及VPN用户接入方法和系统。

  背景技术

  本部分的陈述仅仅是为了提供与本申请的技术方案有关的背景信息,以帮助理解,其对于本申请的技术方案而言并不一定构成现有技术。

  在目前的工业控制网络中,可编程逻辑控制器(Programmable LogicController,PLC)被广泛应用于对诸如智能化仪器、仪表、执行机构等等的现代工业设备中。由于同一企业的不同工业设备可能位于不同的国家或城市,工作人员常常需要对位于异地的设备进行远程配置、数据监控、状态查询以及设备维护。工业环境通常要求支持稳定可靠且低时延的实时通信,所以对通信距离有一定的限制,目前的工业控制网络大多局限在本地局域网中。随着5G技术的快速发展,5G网络的高传输、低时延使得通过PLC远程控制工业设备成为了可能,通过远程控制方式不仅可以避免受工业现场恶劣环境的影响,确保相关工作人员的安全性,还可以灵活方便地对分布在不同地区的工业现场网络进行统一管理和维护,从而大大节省了管理成本。然而,随着工业网络从局域网扩展到广域网,在技术层面上带来很多挑战。

  例如,企业内部的这些工业数据通常具有较高的私密性,并不适合在公用网络上进行远程通信。虚拟专用网络 (Virtual Private Network,VPN)作为一种常用的远程安全通信技术,能够通过密钥交换、封装、认证、加密方式在公共网络上建立起私密的隧道,以实现远程客户端到企业服务器之间数据的安全传输。然而,传统VPN通信需要有固定的公网IP地址才能实现网络互通,目前工业网络通常以局域网为主,并没有实现互联。此外,同一企业不同厂区的网络通常使用相同的私有地址,也没有固定的公网地址,因此无法通过例如IPSec协议接入VPN实现远程通信。

  OpenVPN是用于创建VPN加密通道的免费开源软件,其通过为每一个成功建立SSL连接的客户端动态分配一个虚拟IP地址,在物理网络中的客户端和OpenVPN服务器间构建一个虚拟网络上的星型结构局域网,使得客户端之间无需拥有公网地址也可以基于VPN通信,克服了传统VPN通信的缺陷。由于OpenVPN使用方便,运行性能优秀,支持多种操作系统,并且采用了高强度的数据加密,再加上其开源免费的特性,使得OpenVPN成为中小型企业及个人的VPN首选产品。然而,在由OpenVPN建立的虚拟局域网络中不同客户端之间可以相互访问,难以实现真正地数据隔离,因此造成了不同用户之间的数据安全隐患。

  因此,亟需一种安全、方便的VPN用户接入方法和系统。

  发明内容

  因此,本发明的目的在于克服上述现有技术的缺陷,提供一种VPN用户接入方法,其中每个用户有一个用户账户以及对应的VPN服务器,所述方法包括:基于待接入的用户设备的设备信息分配所述对应的VPN服务器的接入密码;以及至少基于所述用户设备的设备信息以及所述接入密码将所述用户设备接入所述对应的VPN服务器,并分配所述用户设备的虚拟IP地址。

  可选地,其中,所述对应的VPN服务器包括: OpenVPN服务器。

  可选地,其中,所述基于待接入的用户设备的设备信息分配所述对应的VPN服务器的接入密码包括:基于所述待接入的用户设备的设备信息确定与其对应的用户账户以及VPN服务器;为所述待接入的用户设备分配所述对应的VPN服务器的接入密码。

  可选地,其中,所述对应的VPN服务器的接入密码由系统随机生成。

  可选地,其中,所述至少基于所述用户设备的设备信息以及所述接入密码将所述用户设备接入所述对应的VPN服务器包括:验证所述用户设备的设备信息以及所述接入密码;将所述用户设备接入所述对应的VPN服务器。

  可选地,上述方法还包括:为每个所述用户账户生成一个身份证书;下发所述用户设备对应的所述用户账户的身份证书;以及基于所述用户设备的设备信息和所述接入密码以及所述身份证书,将所述用户设备接入所述对应的VPN服务器。

  可选地,其中,所述基于所述用户设备的设备信息和所述接入密码以及所述身份证书,将所述用户设备接入所述对应的VPN服务器包括:验证所述身份证书;验证所述用户设备的设备信息以及所述接入密码;以及将所述用户设备接入所述对应的VPN服务器。

  本发明的另一方面涉及一种VPN用户接入系统,包括:VPN服务器单元,包括一个或多个VPN服务器;用户设备单元,包括一个或多个用户设备,其中每个用户设备分别对应一个用户账户和一个VPN服务器;以及网络管理单元,,用于实现权利要求上述任一项所述的方法。

  可选地,其中,所述用户设备包括网关设备,所述网关设备与一个或多个PLC设备相连接。

  本发明的另一方面涉及一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述任一项所述的方法。

  与现有技术相比,本发明的优点在于:本发明通过区分不同用户,为不同用户分别创建账户以及对应的虚拟VPN服务器,实现了用户粒度的VPN通信,保证了用户之间数据隔离开,VPN中不同企业间进行数据隔离、在同一企业内部不同的PLC设备之间进行互访,从而确保数据传输的私密性和安全性。另一方面,由于为同一用户生成单独的身份证书,为同一用户的不同用户设备分配不同的接入密码,因此当设备接入到VPN服务器时,需要进行身份证书以及账户/密码双重认证,保证了企业信息接入安全。

  附图说明

  以下参照附图对本发明实施例作进一步说明,其中:

  图1是根据本发明一个实施例的VPN用户接入方法的示意图;

  图2是根据本发明一个实施例的VPN用户接入方法的流程图;

  图3是根据本发明另一个实施例的VPN用户接入方法的流程图;

  图4是根据本发明一个实施例的VPN用户接入系统示意图。

  具体实施方式

  下面结合附图和具体实施方式对本发明作详细说明。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

  本技术领域技术人员可以理解,尽管在上文背景技术中,以工业控制网络中的工业终端设备,例如位于工业现场的变频器,智能仪器或仪表、执行机构等进行了举例说明,但本发明的实施例并不仅限于上述的工业终端设备。例如,本发明所使用的“客户端”、“终端”、“终端设备”可包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,也可包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS (Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

  本发明所称的“服务器”既可以包括具备个人计算机等效能力的硬件设备,例如具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,也可以包括在计算装置上运行的软件程序,例如云服务器、VPN服务器等。

  OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现,其通过在OpenVPN服务器和客户端都安装一个虚拟网卡(又称虚拟网络适配器),并为每个客户端都分配一个对应的虚拟IP地址,使得OpenVPN的服务器和多个客户端能够通过虚拟网卡以及这些虚拟IP地址进行相互访问,其中,OpenVPN服务器相当于一个虚拟的路由器,用于进行路由和控制的作用。

  OpenVPN服务器通常需要配置一个虚拟IP地址池和一个自用的静态虚拟IP地址(静态地址和地址池必须在同一个子网中)。通过为每一个成功建立SSL连接的客户端动态分配一个虚拟IP地址池中未分配的地址,OpenVPN服务器和物理网络中的客户端连接成为一个虚拟网络上的星型结构局域网。同时,OpenVPN服务器还提供对客户端虚拟网卡的路由管理。当客户端对OpenVPN服务器后端的应用服务器进行任何访问时,数据包都会经过路由流经虚拟网卡,OpenVPN程序在虚拟网卡上截获数据IP报文,然后使用SSL协议将这些IP报文封装起来,再经过物理网卡发送出去。SSL协议是OpenVPN中最常用的数据加密手段。使用SSL协议进行传输通常需要相应的证书和密钥,因此在使用OpenVPN之前,还需要在服务器端生成相应的证书、密钥。

  通过在OpenVPN服务器和客户端之间建立虚拟的局域网络,并使用SSL协议进行加密,OpenVPN在不同网络访问场所之间搭建专用网络通道,实现了系统内传输数据的私密性和有效性。然而,由于处于同一OpenVPN构建的虚拟局域网内的每个客户端可以通过OpenVPN服务器实现互访,当这些客户端分属于不同用户时,数据传输的安全性就难以保障。

  为此,本发明提供了一种VPN用户接入方法,通过区分不同用户,为不同用户分别创建账户以及对应的虚拟OpenVPN服务器,并为同一用户的不同用户设备(例如,网关设备)分配不同的接入密码和虚拟IP地址,以实现在OpenVPN中不同企业间进行数据隔离、在同一企业内部不同的PLC设备之间进行互访,从而确保数据传输的私密性和安全性。在本发明的实施例中,虚拟OpenVPN服务器可以运行在一个计算装置或多个计算装置的集群上,其可以位于企业内部网、部署在云端、位于第三方的托管中心或机房,或者是任意可通过广域网访问到的计算装置。

  图1示出了本发明一个实施例VPN用户接入方法示意图。如图1所示,用户A有两个工厂(即工厂a和工厂b),每个工厂的PLC设备分别与各自的网关设备(即网关a和网关b)相连接,例如,网关a与工厂a的PLC设备a1,a2,a3相连,网关b与工厂b的PLC设备b1,b2,b3相连;用户B有两个工厂(即工厂c和工厂d),每个工厂的PLC设备分别与各自的网关设备(即网关c和网关d)相连接,例如,网关c与工厂c的PLC设备c1,c2,c3相连,网关d与工厂d的PLC设备d1,d2,d3相连。可以为用户A创建一个用户账户A以及对应的OpenVPN服务器A,用户A的工厂a和工厂b共享账户A,并且工厂a的PLC设备a1,a2,a3能够经由网关a被连接到OpenVPN服务器A ,工厂b的PLC设备b1,b2,b3也能够经由网关b被连接到OpenVPN服务器A。同样地,可以为用户B创建一个用户账户B以及对应的OpenVPN服务器B,用户B的工厂c和工厂d共享账户B,并且工厂c的PLC设备c1,c2,c3能够经由网关c被连接到OpenVPN服务器B ,工厂d的PLC设备d1,d2,d3也能够经由网关d被连接到OpenVPN服务器B。由此,用户A各工厂的设备与用户B各工厂的设备对应于不同的用户账户,并且能够被分别连接到不同的OpenVPN服务器。

  图2示出了本发明一个实施例的VPN用户接入方法流程图。如图2所示,该方法包括以下步骤:

  S210,为每个用户单独创建一个用户账户和对应的OpenVPN服务器。

  用户账户与用户身份一一对应,可以根据用户请求为每个用户单独创建一个用户账户以及对应的虚拟OpenVPN服务器,不同用户的用户账户各不相同,同一用户的不同用户设备(例如,网关设备)则可以共享同一用户账户,并可以被连接在该账户对应的OpenVPN服务器上。用户设备可以与该用户的其他客户端设备(例如,PLC设备)相连接。

  S220,基于待接入的用户设备的设备信息确定与其对应的用户账户以及OpenVPN服务器,并为该用户设备分配对应的OpenVPN服务器的接入密码。

  用户的用户设备与该用户的用户账户相关联,并能够被连接到为该用户所创建的OpenVPN服务器上。在一个实施例中,可以根据用户请求为该用户创建一个用户设备白名单并与该用户的用户账户相关联。用户的用户设备白名单包含有该用户的用户账户下所有用户设备的设备信息(例如,网关设备的序列号)。包含在同一用户设备白名单内的所有用户设备可以共享同一用户账户并与同一 OpenVPN服务器相连接。将用户设备的设备信息与所有用户的用户设备白名单相对照,可以确定该设备所属的用户账户以及对应的OpenVPN服务器,然后为该设备分配对应的OpenVPN服务器的接入密码。

  OpenVPN服务器的接入密码用于在用户设备接入OpenVPN服务器时验证该设备是否属于该用户账户以及是否与该OpenVPN服务器相对应。接入密码可以由系统随机生成。例如,可以基于网关x的设备信息查询到该网关x包含在用户账户A的用户设备白名单中,则可以确定网关x与OpenVPN服务器A相对应,并为网关x分配OpenVPN服务器A的接入密码。类似地,基于网关y的设备信息查询到该网关y包含在用户账户B的用户设备白名单中,则可以确定网关y应当与OpenVPN服务器B相对应,并为网关y分配OpenVPN服务器B的接入密码。

  在一些实施例中,在将用户设备连接到服务器之前需要先激活该用户设备。可以根据用户输入的账号、密码以及用户设备的设备信息,激活该用户设备。

  S230,基于待接入的用户设备的设备信息以及接入密码将该用户设备接入对应的OpenVPN服务器,并为该用户设备分配虚拟IP地址。

  每个OpenVPN服务器配置有一个虚拟IP地址池和一个自用的静态虚拟IP地址,用于为该用户不同的用户设备分别分配一个虚拟IP地址。当用户设备的设备信息以及接入密码验证通过后,可以将该用户设备接入与其对应的OpenVPN服务器,并为该用户设备分配一个虚拟IP地址。

  当VPN 设备加入了由该OpenVPN服务器以及与其相连的其他设备组成的虚拟星型结构局域网后,该局域网内的服务器以及其他用户设备可以通过该虚拟IP地址与该用户设备进行通信。例如,当网关x通过其设备信息和分配获得的接入密码与OpenVPN服务器A成功连接后,OpenVPN服务器A为网关x分配虚拟IP地址x,则与OpenVPN服务器A相连的用户A的其他用户设备(例如网关a和网关b)以及与用户设备相连的PLC设备可以通过该虚拟IP地址x与网关x以及与网关x相连的PLC设备进行通信。类似地,当网关y通过其设备信息和分配获得的接入密码与OpenVPN服务器B成功连接后,OpenVPN服务器B为网关y分配虚拟IP地址y,则与OpenVPN服务器B相连的用户B的其他用户设备(例如网关c和网关d)以及与用户设备相连的PLC设备可以通过该虚拟IP地址y与网关y以及与网关y相连的PLC设备进行通信。但是由于网关x和网关y与不同用户相对应,且与不同的OpenVPN服务器相连接,因此网关x和网关y分属于不同的虚拟局域网,网关x不能通过网关y的虚拟IP地址y与网关y进行通信,反之亦然。

  通过上述实施例,用户无需设置固定的公网IP地址,即可实现位于不同地区不同网络的设备之间的远程互通,为企业节约开通加密公网IP地址费用。此外,由于不同企业的用户在独享一个虚拟VPN服务器,拥有独立的IP资源,因此实现了用户粒度的VPN通信,保证了用户之间数据隔离开,从而保障了信息安全。

  在一个实施例中,还可以为用户生成身份证书,当某个用户的用户设备请求接入对应的OpenVPN服务器时,除了需要设备信息/接入密码验证,还需要进行身份证书验证,只有当设备信息/接入密码验证以及身份证书验证都通过时,才可以接入对应的OpenVPN服务器。

  图3示出了本发明另一个实施例的VPN用户接入方法的流程图。如图3所示,该方法包括以下步骤:

  S310,为每个用户创建用户账户和对应的OpenVPN服务器。

  S320,为每个用户账户生成一个身份证书。

  身份证书可以在设备接入OpenVPN服务器时用于验证设备的身份信息,即是否属于该用户账户以及是否与该OpenVPN服务器相对应。在一个实施例中,可以为每个用户生成一个CA证书,其中内含公钥,并与用户的账户信息相关联。有关CA证书的颁发和验证方式属于现有技术,在此不再赘述。

  S330,基于待接入的用户设备的设备信息确定与其对应的用户账户以及OpenVPN服务器。

  S340,为待接入的用户设备分配与其对应的OpenVPN服务器的接入密码,并下发与其对应的用户账户的身份证书。

  S350,基于待接入的用户设备的设备信息和接入密码以及身份证书,将该用户设备接入与其对应的OpenVPN服务器,并为该用户设备分配虚拟IP地址。

  上述实施例中,当设备接入到VPN服务器时,需要进行身份证书以及账户/密码双重认证,保证了企业信息接入安全。

  本发明还提供了一种基于VPN用户接入系统,包括VPN服务器单元,用户设备单元以及网络管理单元,其中,VPN服务器单元包括为一个或多个用户所分别创建的一个或多个VPN服务器;用户设备单元包括一个或多个待接入VPN服务器的用户设备,其中每个用户设备分别对应一个用户账户和一个VPN服务器,用户设备例如可以是网关设备,网关设备可以连接不同的PLC设备;网络管理单元分别与用于VPN服务器单元和用户设备单元相连接,用于实施上述VPN用户接入方法,即创建用户账户以及对应的VPN服务器,基于待接入用户设备的设备信息分配对应的VPN服务器的接入密码,以及至少基于待接入用户设备的设备信息以及接入密码将用户设备接入对应的VPN服务器,并分配所述用户设备的虚拟IP地址。

  图4示出了本发明一个实施例的VPN用户接入系统示意图。如图4所示,该系统包括OpenVPN服务器单元410、用户设备单元420以及网络管理单元430,其中,OpenVPN服务器单元410包括为不同用户单独创建的OpenVPN服务器;用户设备单元420包括与用户账户及VPN服务器对应的一个或多个待接入的用户设备;网络管理单元430分别与用于VPN服务器单元410和用户设备单元420相连接,用于创建用户账户以及对应的OpenVPN服务器,基于用户设备的设备信息分配对应的OpenVPN服务器的接入密码,以及至少基于用户设备的设备信息以及接入密码将用户设备接入对应的OpenVPN服务器并分配所述用户设备的虚拟IP地址。

  在本发明的一个实施例中,可以以计算机程序的形式来实现本发明。计算机程序可以存储于各种存储介质(例如,硬盘、光盘、闪存等)中,当该计算机程序被处理器执行时,能够用于实现本发明的方法。

  在本发明的另一个实施例中,可以以电子设备的形式来实现本发明。该电子设备包括处理器和存储器,在存储器中存储有计算机程序,当该计算机程序被处理器执行时,能够用于实现本发明的方法。

  本文中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个本文中各处的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是不符合逻辑的或不能工作。本文中出现的类似于“根据A”、“基于A”、“通过A”或“使用A”的表述意指非排他性的,也即,“根据A”可以涵盖“仅仅根据A”,也可以涵盖“根据A和B”,除非特别声明其含义为“仅仅根据A”。在本申请中为了清楚说明,以一定的顺序描述了一些示意性的操作步骤,但本领域技术人员可以理解,这些操作步骤中的每一个并非是必不可少的,其中的一些步骤可以被省略或者被其他步骤替代。这些操作步骤也并非必须以所示的方式依次执行,相反,这些操作步骤中的一些可以根据实际需要以不同的顺序执行,或者并行执行,只要新的执行方式不是不符合逻辑的或不能工作。例如,在一些实施例中,可以先设置虚拟对象相对于电子设备的距离或深度,再确定虚拟对象相对于电子设备的方向。

  由此描述了本发明的至少一个实施例的几个方面,可以理解,对本领域技术人员来说容易地进行各种改变、修改和改进。这种改变、修改和改进意于在本发明的精神和范围内。虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

《一种VPN用户接入方法及系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)