一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

工业物联网中的安全远程连接的制作方法

2021-11-10 04:10:00 来源:中国专利 TAG:


1.本发明涉及工业物联网中的远程连接。


背景技术:

2.物联网(iot)是物理设备(也称为“连接的设备”和“智能设备”)的联网,物理设备例如车辆、家用电器、机器、计算机和其他嵌入有电子器件、软件、传感器、致动器以及使得这些对象能够收集和交换数据的网络连接的物品。iot使得对象能够在现有网络基础设施上被远程感测和/或控制。工业物联网(iiot)是iot技术在制造业中的使用。它结合了机器学习和大数据技术,利用了工业环境中已经存在多年的传感器数据、机器到机器通信和自动化技术。iiot还提供了将工业设备连接至云计算平台并将信息传输到云平台以执行各种操作(例如对工业数据进行分析或数据挖掘)的机制。从上面可以明显看出,iiot区域中收集了大量的数据,并且同样明显的是,并不是系统的每个用户都应当被允许看到系统中的每一个数据项。由于云计算平台本质上包括来自大量用户库的数据,因此访问控制的存在对于敏感的工业数据的保护至关重要。此外,由于云计算平台被设想为数据的中央储存库,这些数据可能属于对访问控制有不同要求的不同利益相关方,因此对系统和设备的整个生命周期中收集的数据提供受控访问的能力是iiot内的重要要求。
3.在iiot中,数据源可以是一些工业设备,例如机器人、电机或驱动器。如果iiot解决方案建立在现有自动化和监控系统之上,或者以其他方式连接旧设备,则可能需要iiot解决方案支持可能不安全的遗留协议和技术,例如scada协议。这导致了包含针对同一工厂中不同类型的使用的多个不同安全区域或系统级别的层级整体系统结构。由于存在仍在使用中的多个遗留系统和协议,遗留系统和协议中的许多遗留系统和协议未被设计成考虑到当前的安全原则,并且网络可能被隔离为具有受限的外部连接的独立安全区域。为了更新软件、分析问题、管理配置参数或监控工业设备的操作,通常需要用户(例如服务技术人员)通过互联网远程连接至工业设备。然而,由于安全原因,遗留系统中的工业设备不被允许直接接受来自互联网的连接,并且通常只允许来自它们的安全输出连接。在这种情况下,工业设备本身不连接至任何面向互联网的设备,而是连接至本地内部网关或边缘计算设备。该网关可能会再次连接至较高系统级别的另一内部网关,依此类推,直到最后最高级别的内部网关然后连接至互联网。
4.传统的远程访问方法例如虚拟专用网络(vpn)和远程桌面连接(rdc)由于耗时和复杂的设置以及安全问题而缺乏满足当今工业组织需求的灵活性和智能性。因此,需要提高用于建立到工业设备的远程连接的现有机制的安全性和可用性。


技术实现要素:

5.本发明的目的是提供一种用于在用户设备与目标设备之间建立安全远程连接的机制。本发明的目的通过特征在于独立权利要求中所述的方法、计算机程序产品、装备和系统来实现。从属权利要求中公开了本发明的优选实施方式。
6.根据本发明的方面,提供了一种计算机实现的方法,包括:由第一网关从用户设备接收第一连接请求,所述第一连接请求包括访问令牌;在身份和访问管理服务中验证访问令牌;在成功验证之后,经由信任的基于证书的点对点连接的链在用户设备与目标设备之间建立第一隧道,该链通过一个或更多个中间网关,其中,通过使用从第一网关到目标设备的反向连接来建立第一隧道,所述反向连接基于从目标设备经由目标设备中的出站端口和链中的一个或更多个中间网关中的每一个中间网关中的出站端口到第一网关的预先建立的连接,所述目标设备在没有第一隧道的情况下不具有到用户设备的直接互联网协议连接;由目标设备经由第一隧道从用户设备接收第二连接请求,所述第二连接请求包括访问令牌;经由信任的基于证书的点对点连接的链在目标设备与iam服务之间建立第二隧道,该链通过一个或更多个中间网关,其中,通过使用从第一网关到目标设备的反向连接来建立第二隧道,所述目标设备在没有第二隧道的情况下不具有到iam服务的直接互联网协议连接;以及经由第二隧道在iam服务中验证访问令牌。
附图说明
7.在下文中,将参照附图更详细地描述示例性实施方式,在附图中,
8.图1示出了系统的简化架构;
9.图2和图3是示出示例性功能的流程图;
10.图4示出了信息交换;以及
11.图5是示意性框图。
具体实施方式
12.以下实施方式是示例性的。尽管说明书可以涉及在若干位置的“一个”、“一种”或“一些”实施方式,但这并不一定意味着每个这样的引用是针对同一实施方式,或者特征仅适用于单个实施方式。不同实施方式的单个特征也可以被组合以提供其他实施方式。
13.本发明可以适用于对工业物联网收集的数据实现中央管理和边缘计算的任何系统,或者生成数据的相应工业系统。下面描述不同的实施方式和示例,而不将实施方式/示例限制于这样的解决方案。可以使用称为云计算和/或虚拟化的概念。虚拟化可以使得单个物理计算设备能够托管虚拟机的一个或更多个实例,所述虚拟机作为独立计算设备出现并操作,使得单个物理计算设备可以以动态方式创建、维护、删除或以其他方式管理虚拟机。设备操作也将可能分布在多个服务器、节点、设备或主机之间。在云计算网络设备中,计算设备和/或存储设备提供共享资源。一些其他技术进步例如软件定义网络(sdn)可能使以下所述的功能中的一个或更多个功能迁移至任何相应的抽象概念或装置或设备。因此,所有词语和表达都应当被广义地解释,并且这些词语和表达旨在说明而不是限制实施方式。
14.图1示出了系统的一般示例性架构。图1是简化的系统架构,其仅示出了一些装备(装置、设备、节点)和功能实体,所有这些都是其实现方式和/或数量可以与所示出的不同的逻辑单元。图1所示的连接是逻辑连接;实际的物理连接可能不同。数据收集可以使用所谓的主设备协议(主设备也称为协议客户端),其中,网络节点从从设备(想要具有其数据的设备)和/或从设备协议(从设备也称为协议服务器)订阅数据,其中,设备/网络节点基于查询向接收器发送其数据或基于订阅自动向接收器发送其数据。对于本领域技术人员来说明
显的是,系统还可以包括在系统中或系统的一部分中在工业物联网、大数据、虚拟化、数据管理和通信中使用或用于工业物联网、大数据、虚拟化、数据管理和通信的其他节点(装置、设备)、功能和结构。它们以及所使用的协议是本领域技术人员熟知的,并且与实际发明无关。因此,此处不需要更详细地讨论它们。
15.在以下实施方式中,称为装备模型的概念被用作信息模型的示例,而不将实施方式限制于装备模型。对于本领域技术人员来说明显的是,当使用其他信息模型例如与生产交易相关的信息模型时,如何实现所公开的原理。
16.该架构可以基于边缘计算模型,在边缘计算模型中,来自事物的数据可以由附近的边缘计算设备处理,该边缘计算设备在本文中也可以被称为网关。
17.在图1所示的实施方式中,系统100包括四个不同的层级级别:形成中央管理级别的全局云级101、一个或更多个企业级102(图1中仅描绘了一个)、一个或更多个工厂级103(图1中仅描绘了一个)和一个或更多个设备级104(图1中仅描绘了一个),其描绘了不同“事物”的级别。应当理解,在设备级104与全局云级101之间可以使用任何其他级别结构和/或层级。
18.全局云级101包括全局云101’,全局云101’包括源自事物的数据110(iiot数据)。数据110可以包括原始数据和/或分析数据。此外,全局云101’可以包括全局装备模型储存库111,全局装备模型储存库111包括多个装备模型111

1。
19.全局云101’还可以包括执行身份和访问管理服务单元的服务器112,本文称为iam服务。通常,iiot系统中可以存在大量用户,但不是每个用户都应当被允许访问系统中的所有设备或数据。为了解决这个问题,可以基于例如oauth 2.0的iam服务112提供存储特定于用户的数据112

1的装置,特定于用户的数据112

1可以包括例如关于组织/企业中的每个用户的角色(例如系统管理员、服务技术员、操作员、工厂经理等)的数据。例如,与iam服务112的通信可以基于轻量级目录访问协议(ldap)。iam服务112还可以被配置成向经认证的用户提供访问令牌。例如基于安全断言标记语言(saml)的这些访问令牌可以包括针对用户的认证和授权数据,以便在系统100中的各方之间交换该数据。如本领域技术人员所知,访问权限验证过程可以在单独的安全结构中定义,并且因此在本文中不再详细描述。还应当理解,例如,iam服务112可以可替选地位于企业级102上。
20.此外,全局云101’可以包括网关113,网关113可以包括隧道服务单元113

1,本文称为隧道服务。例如,隧道服务可以提供用于在用户设备114与设备层104上的设备141、141’之间建立端到端隧道的功能。换句话说,经授权的用户可以连接至隧道服务以建立到目标装置141、141’中的目标服务141

2、141
’‑
2的互联网协议(ip)隧道。隧道可以使用传输控制协议(tcp),并且因此是tcp/ip隧道。然而,例如,用户数据报协议(udp)可以用作tcp的替选。tcp/ip隧道可以经由云级隧道服务113

1与目标服务141

2、141
’‑
2之间的中间隧道服务120

1、130
’‑
1来进行中继。稍后将更详细地描述用于建立隧道的处理。
21.装备模型描述用于解释设备或一件装备的语义的元数据。换句话说,装备模型描述了它所建模的设备的属性,并且它是一种虚拟装备类型或类型定义,以提供特定的期望功能。术语“装备”或“装备实例”在本文中是指事物的虚拟表示。装备实例包含事物的属性的实际属性值,而装备模型描述属性的信息模型和元数据。可以存在针对不同层级级别的不同装备模型。装备模型可以包括模型定义中的每个属性,例如描述、单位、聚集规则和带
有采样规则的数据收集协议。例如,装备模型可以包括以下定义:
22.‑
模型的名称
23.‑
到模型的所有者和其他文档的链接
24.‑
模型的版本号
25.‑
从另一模型的可能的继承
26.‑
针对每个属性可能包含的属性定义:属性的数据类型(某物的浮点、整数、文本、数组等)、标量或时间序列、单位、数值范围、要收集的历史类型(存储、聚合规则例如时间平均值、标准最小/最大值、运行时间等)、数据获取定义(协议、项目id、收集周期等)、警报限制。此外,属性定义可以包含如何将设备/节点中的本地数据映射到模型属性的规则或定义。映射定义的示例包括定义从哪个变量、寄存器或存储器位置将设备中的数据读取到特定的属性值以及多频繁地读取。
27.‑
描述设备可以执行哪种功能的功能定义
28.‑
用于公开特定于模型的应用程序编程接口(api)的接口定义
29.‑
到可从设备获得的目标服务(例如,设备本身内或另一连接的设备中的远程桌面服务)的tcp/ip隧道的列表
30.除了关于事物的装备模型,还可能存在网关的一个或更多个装备模型。网关的装备模型可以包括例如网关操作的内部配置和安全配置两者。然而,安全配置的部分或全部可以在单独的装备模型中(例如防火墙的装备模型中或端口的装备模型中)给出。内部配置可以包括限定内部遥测操作的哪些数据要提供、报告什么、何时报告以及警报的不同警报限制(即特定类型的通知)的定义。网关的通用安全定义可以是网关到网关通信中使用的内部安全通信协议。
31.例如,装备模型111

1的模型定义可以根据isa

95型装备模型定义。isa

95是iso标准,其中定义了标准术语和信息模型,其可以用于定义装备模型。应当理解,也可以使用信息模型的任何其他模型定义。
32.总之,装备模型可以定义数据的语义,控制设备数据记录,提供分析和应用的基础以及可视化的基础,而没有关于实际设备实例或信号名称的详细信息,并且提供集成的安全模型。装备模型从而可以提供用于具有集中设计和统一应用的网络安全的公共信息建模的工具。因此,来自异构数据源的数据可以以结构化的方式进行组合。
33.虽然在图1中没有示出,但是除了装备模型之外或者包括在装备模型中,也可以定义数据流的规则。例如,规则可以被称为数据流规则、数据传输规则或通信规则。数据流规则可以定义从网关发送什么数据,也可以定义何时发送数据。如果例如因为使用中的不同的装备模型定义而需要转换,数据流规则还可以定义将接收什么类型的数据以及/或者如何转换数据。应当理解,数据流规则可以针对系统内的数据流,而通知或用户接口上的不同输出等可能不在数据流规则的定义内。然而,本文中不进行这样的区分,并且除了通知或用户已经订阅的其他信息之外,下面的报告可以涵盖根据一个或更多个数据流规则发送数据,而不管这些规则是装备模型的一部分还是与装备模型分离。
34.此外,在所示实施方式中,一个或更多个用户设备114连接至全局云101’。例如,服务技术人员(具有适当的访问权限)可以使用用户设备来向不同的企业提供远程维护服务,例如向设备级104处的一个或更多个设备141、141’安装软件更新。用户设备114的非限制性
的示例的列表包括膝上型电脑、工作站、智能电话、移动电话或平板电脑。在所示实施方式中,用户设备包括隧道客户端单元114

1,本文称为隧道客户端,其用于远程连接至设备141、141’,或者更准确地说,连接至目标服务单元141

2、141
’‑
2(例如远程桌面服务),本文称为目标服务。例如,隧道客户端114

1可以包括图形用户接口或命令行接口。此外,在所示实施方式中,设备141和设备级网关140可以包括用于控制对目标服务141

2、141
’‑
2的访问的基于角色的访问控制(rbac)部件作为隧道服务140

1、141

1的一部分。可替选地,全局云101’可以包括用于控制对目标服务的访问的rbac服务。rbac是下述的用户授权机制,其可以由云计算平台提供,以基于用户在组织/企业中的相关联角色来提供对系统的粒度访问控制。应当理解,尽管图1中未描绘出,但是在每个级别,用户也可以借助于他/她的用户设备直接连接至网关(如果网关接受来自互联网的连接),以便连接至目标服务或对所需级别上的数据进行学习、处理等,前提是用户具有所需的访问权限。
35.企业级102可以包括一个或更多个企业级云102’,企业级云102’又可以包括一个或更多个网关120(计算节点)。企业级处的网关120可以为应用提供企业范围的服务平台,应用例如包括装备模型和实例、数据收集、企业分析和其他应用运行时。企业级上的网关120可以包括用于在云级隧道服务113

1与工厂级103上的隧道服务130
’‑
1、130
”‑
1、130
”’‑
1之间中继tcp/ip隧道的中间隧道服务单元120

1。用户还可以直接连接至企业级网关120,或者更具体地连接至其隧道服务120

1以建立到目标服务141

2、141
’‑
2的隧道。换句话说,企业级隧道服务120

1也可以用于提供与全局云中的隧道服务113

1相同的功能。
36.工厂级103可以包括多个网关130、130’、130”、130
”’
(计算节点)。工厂级处的网关130、130’、130”、130
”’
可以针对应用提供工厂范围的服务平台,应用例如包括装备模型和实例、数据收集、工厂分析和其他应用运行时。工厂级可以通过一个或更多个云、虚拟机和/或物理计算机的使用来实现。如在图1中可以看到的,工厂级处的网关130、130’、130”、130
”’
可以直接连接至全局云101’或经由企业级处的一个或更多个网关120连接至全局云101’。如果直接连接至其的话,工厂级网关130、130’、130”、130
”’
中的每一个可以包括用于中继企业级隧道服务120

1与设备级104上的隧道服务140

1、141

1之间的tcp/ip隧道的中间隧道服务单元130

1、130
’‑
1、130
”‑
1、130
”’‑
1。
37.除了多个设备141、141’之外,设备级104可以包括一个或更多个网关140(计算节点),设备141’可以连接至一个或更多个网关140。设备级处的网关140可以针对应用提供设备、系统或生产线范围的服务平台,应用例如包括装备模型和实例、数据收集、分析和其他应用运行时。尽管在图1中未示出,但是设备级104处的网关140可以直接连接至全局云,或者经由企业级102处的一个或更多个网关、或者经由工厂级103处的一个或更多个网关、或者如图1所示经由工厂级处的网关和企业级处的网关的一个或多个链连接至全局云。应当理解,尽管仅在设备级网关140中示出,但是任何级别的网关都可以向更高级别的多个网关(两个、三个、四个等)发送数据(传送数据)。例如,一个网关可以向表示不同功能目的的网关发送数据,例如一个用于资产监控和生产跟踪,一个用于能源管理,以及一个用于网关监控。设备级网关140中的每一个还可以包括用于在工厂级隧道服务130
’‑
1、130
”‑
1、130
”’‑
1与目标设备141’中的目标服务141
’‑
2(例如远程桌面服务)之间中继tcp/ip隧道的隧道服务单元140

1。如图1所示,设备级104处的目标设备141还可以包括网关功能和设备本身中的隧道服务141

1,以便连接至工厂级网关130’,而其间没有单独的设备级网关。
38.在图1中,设备141、141’可以表示工业物联网包括的事物。事物可以是不同的设备、机器、装置、装备、系统、子系统、处理等。事物的一些示例包括泵、电机、阀门、工业pc、生产线和控制回路。对事物的构成没有限制。事物包括例如用于对环境执行一个或更多个不同测量和/或一个或更多个操作的装置以及用于至少向一个或更多个网关发送信息的装置就足够了。此外,事物本身可以包括被分析视为一个组合事物的事物。工业物联网的实现、从其收集的数据以及用于信息交换的手段对本发明没有意义,因此在此不再详细描述。对于本领域技术人员来说明显的是,可以使用任何已知或未来的解决方案。
39.在图1中,网关是被配置成至少发送和/或接收数据的计算设备(节点),或者作为独立设备或者嵌入在现有设备中。根据网关及其用途,网关可以是小型电子设备、移动设备、膝上型电脑、个人计算机、服务器、边缘计算设备、虚拟机或云功能,仅举一些示例。自然,网关可以包括数据存储器和/或一个或更多个用户接口。
40.为了保护iiot系统,在所示实施方式中,在网关之间可以存在一个或更多个防火墙(fw),并且网关可以被配置成使用安全通信协议彼此通信。因此,可以通过中间系统(具有相应的中间件)来提供端到端安全性,从而实现不同网关之间的安全通信。在该实施方式中,从网关到北向节点(例如较高级别处的节点)的数据流量可以使用出站端口,例如网关中的端口80或443。防火墙可以被配置成不允许到南向节点例如较低级别处的网关的连接,如图1中连接的箭头端所指示的方向所描绘的。更准确地说,设备级104处的网关140和设备141可以经由防火墙154、154’、154”连接至较高级别处的网关,但是网关140和设备141可以不直接连接至云,并且因此它们可能没有到用户设备114的直接ip连接。此外,工厂级处的网关130、130’、130”、130
”’
又可以经由防火墙153、153’、153”、153
”’
连接至较高级别处的网关,或者如果直接连接至云,则连接至云,并且企业级处的网关120可以经由防火墙152连接至云。这可能导致下述的情况,其中,从工业工厂中的节点到云的出站连接是可能的,但是从云到工业工厂中的节点的入站连接是不可能的。然而,所有的连接可以是双向的,使得当节点经由出站端口建立到其北向邻居(例如较高级别处的节点)的出站连接时,该连接也向后建立。这可以称为反向连接。例如,设备级处的设备141可以经由设备141中的出站端口和到云级网关113的路径上的中间网关中的出站端口建立从设备141到云级网关113的出站连接,并且云级网关113然后可以使用该预先建立的活动连接来建立从云级网关113到设备141的反向连接,以便实现云级网关113与设备141之间的双向通信。在这样的环境中,连接的节点的信息可以仅包括可以与其建立出站连接的北向节点。此外,数据流规则可以是双向的,并且包括数据可以被传送到哪个方向(例如从南向节点到北向节点或者到其他方向)的定义。各个节点之间的各个连接可以共同形成具有在系统中的节点之间的基于证书的相互认证的信任的点对点连接(例如安全的网络套接字连接)的链,并且云级网关113可以被配置成具有经由该链与一个或更多个目标设备141、141’的信任的双向通信。具体而言,本文中点对点连接意味着一对相邻节点/网关之间(例如网关140与网关130’之间)的连接。例如,传输层安全(tls)协议和x.509公钥基础设施(pki)可以用于在系统中创建信任链和安全通信。另外,根证书可以用于针对目标设备141、141’创建证书,并且用户设备114可以被配置成默认信任根证书。因此,用户设备也可以自动信任目标设备证书。tls协议以及x.509pki和创建证书链的方法是本领域技术人员众所周知的,并且因此本文不再详细描述。
41.应当理解,除了图1中描绘的防火墙之外,还可以存在其他防火墙。
42.尽管图1中未示出,但是连接可以通过一个或更多个网络,这些网络可以具有相同类型或不同类型。所使用的网络和协议的类型对本发明没有意义,并且因此本文中不再详细描述。
43.如前所述,上面所示的层级仅描绘了一个实施方式。在另一实施方式中,在设备级处,可以存在连接至多个设备和连接至一个或更多个网关的网关,一个或更多个网关又连接至多个设备。此外,同一级别上的网关可以彼此连接。层级结构可以实现装备模型和数据流规则的集中管理,包括它们在网关内的分布,其中,它们可以在层级中从云向下推送,并且从而可以由所有网关(计算节点)应用。然而,每个网关中的装备模型不必相同,并且数据流规则可以提供实现装备模型之间的转换以及不同数据类型之间的转换的工具。
44.总之,图1示出了iiot平台架构,其可以提供连接性,并且通过级别深入数据访问,以得到所需的详细信息,而不管实际数据存储。此外,iiot平台架构可以提供用于对从设备级104直到全局云101’的基本资源的集成管理和控制的手段,包括安全性和包括iiot平台的设备。主要的信息流方向是从全局云级到较低级别(从上到下)和从设备级到较高级别(从下到上)。应当理解,例如,实际的系统拓扑、与外部系统的集成等可能根据工业要求和产品而不同。
45.图2示出了本发明的实施方式的软件使能功能。在步骤201中,将连接请求从在用户设备上运行的隧道客户端应用发送至在全局云中的第一网关上(或企业级网关上)运行的隧道服务。
46.在步骤202中,第一网关的隧道服务然后向隧道客户端应用发送对身份和访问管理(iam)服务的重定向请求,以用于认证用户并且用于获得用户的saml访问令牌。应当理解,也可以使用其他认证协议和令牌格式。在步骤203中,隧道客户端应用向iam服务发送认证请求,并且用户例如使用他/她的联合身份(即用户名和密码)登录。
47.在认证不成功的情况下(步骤204:“否”),在步骤205中向用户显示适当的错误消息,并且该处理将不再继续。在成功的情况下(步骤204:“是”),在步骤206中,iam服务向隧道客户端应用发送特定于用户的访问令牌。
48.在步骤207中,隧道客户端应用然后向第一网关的隧道服务发送包含用户的访问令牌的第二连接请求。然后,在步骤208中,第一网关的隧道服务将用户的访问令牌发送给iam服务以进行验证。
49.在验证不成功的情况下(步骤209:“否”),在步骤210中向用户显示适当的错误消息,并且该处理将不再继续。如果访问令牌被成功验证(步骤209:“是”),则在步骤211中,隧道客户端应用然后向第一网关的隧道服务发送针对较低级别(例如设备级)处的目标设备中的目标服务(例如远程桌面服务)的列表的查询,所述目标服务被分配为可用于与组织/企业中的用户相关联的角色。在另一实施方式中,列表可以包括可用的目标设备,而不是目标服务。在接收到该列表后,隧道客户端应用在隧道客户端应用的图形用户接口中(或者例如在命令行接口中)将该列表呈现给用户。
50.在步骤212中,用户然后从该列表中选择可用的目标服务来尝试连接,并且第一网关的隧道服务与到目标服务的路径上的其他网关中的隧道服务通信,以便打开在用户设备与控制对所选目标服务的访问的隧道服务(即,与所选目标服务在同一目标设备中的隧道
服务,或者直接连接至包含目标服务的目标设备的另一设备/网关中的隧道服务)之间的端到端隧道,例如利用tls加密的tcp/ip隧道。该隧道经由信任的基于证书的点对点连接(例如,安全网络套接字连接)的链来进行中继,该链通过用户设备与目标的隧道服务(即,如前所述控制对所选目标服务的访问的隧道服务)之间的中间网关。即使这些中间点对点连接中的每一个中间点对点连接都是这样单独加密的,端到端隧道本身也是利用tls单独加密的,以便实现端到端加密。应当注意的是,隧道不是由任何一个网关单独建立的,因为链/路径中的中间网关中的每一个中间网关也可以包括其自己的隧道服务,该隧道服务可以与第一网关的隧道服务和目标的隧道服务一起工作以打开隧道。换句话说,链/路径中的所有隧道服务可以包括可以被协调以在建立端到端隧道时一起工作的功能。
51.在步骤213中,隧道客户端应用使用在步骤212中打开的隧道向目标的隧道服务发送包含用户的访问令牌的连接请求。在准许用户对目标服务的访问之前,在步骤214中,通过经由信任的基于证书的点对点连接的链来中继隧道,在目标的隧道服务与iam服务之间打开另一端到端隧道,例如利用tls加密的tcp/ip隧道,该链通过目标的隧道服务与iam服务之间的中间网关。如在步骤212中,该隧道也可以由链/路径中一起工作的所有隧道服务来建立。然后,目标的隧道服务经由隧道将用户的访问令牌发送给iam服务以进行验证。
52.在验证不成功的情况下(步骤215:“否”),则在步骤216向用户显示适当的错误消息,并且用户被拒绝对目标服务的访问。如果访问令牌被成功验证(步骤215:“是”),则在步骤217中,目标的隧道服务基于与用户相关联的角色例如利用rbac或一些其他授权方法来检查用户是否被授权访问目标服务。在授权不成功的情况下(步骤218:“否”),在步骤219中向用户显示适当的错误消息,并且用户被拒绝对目标服务的访问。如果授权成功(步骤218:“是”),则在步骤220中,目标的隧道服务准许用户对目标服务的访问,并且经由目标的隧道服务与用户设备之间的隧道在用户设备与目标服务之间建立端到端连接。用户然后可以与目标设备中的目标服务(例如远程桌面服务)通信,例如以远程控制它。
53.然而,根据目标服务本身是如何配置的,目标服务也可以在准许对其的访问之前应用进一步的动作来认证用户,例如通过要求用户名和密码,或者通过使用从目标的隧道服务到iam服务的隧道来重新验证用户的访问令牌。在这种情况下,目标服务可以单独从用户设备请求用户的访问令牌。如果目标服务接收到包括用户的访问令牌的连接请求,则目标服务然后可以将访问令牌发送至iam服务,以在准许用户对目标服务的访问之前验证访问令牌(第三次)。
54.上面在图2中描述的步骤和相关功能没有绝对的时间顺序,并且一些步骤可以同时执行或者以不同于给定顺序的顺序执行。也可以在步骤之间或步骤内执行其他功能,并且可以发送其他信息。一些步骤或步骤的一部分也可以省去或由相应的步骤或步骤的一部分代替。例如,如果用户设备先前已经获得了访问令牌,则它可能已经被包括在步骤201的第一连接请求中,在这种情况下,该处理将直接继续到步骤208。
55.传统远程访问方法的特殊问题是用户认证,因为遗留系统中的用户认证通常需要用户知道每个单独设备的特定访问凭证以便连接到它。对于服务技术人员来说,管理可能数千台工业设备的所有独立凭证是耗时的,以及对于设备管理来说,管理可能数百名服务技术人员的所有用户帐户尤其是在用户角色不断变化的情况下也是耗时的。由于这种复杂性,这样的遗留认证系统可能会导致公司安全策略的受损。例如,在遗留系统中,心怀不满
的前雇员在他/她的雇佣已经结束后,仍然能够使用他/她的用户凭证对系统造成损害或伤害。因此,一些实施方式的特定好处可能是它们可以用于添加用于访问目标服务的附加认证层。或者,如果隧道是远程访问目标服务的唯一方式,并且所有其他端口都被禁用,则一些实施方式可以可替选地用于替换目标服务使用的现有认证协议,例如通过用使用联合身份的认证和利用rbac的授权来替换特定于设备的用户名和密码。
56.用户设备与目标服务之间的隧道可以用于在用户设备与目标服务之间的任一方向上转发任何tcp/ip连接(例如,从目标服务到用户设备的远程桌面连接也是可能的),只要用户被认证并且目标服务被配置成允许针对该特定用户的该连接。例如,目标服务因此也可以使用隧道从用户设备的网络上的软件储存库获取软件更新。一些实施方式的另一好处可以是它们可以不需要像传统远程访问方法可能所做的那样复杂的设置配置来建立远程连接。此外,一些实施方式可以通过仅使用现有的(遗留)网络基础设施,通过多个网络级别的层级隧道实现远程访问,使得例如不需要将任何单独的远程访问网关安装到系统。尽管通过不同的网络级别可能存在多个中间跳,但可以利用目标的隧道服务与用户设备之间的端到端加密来建立连接,以便即使在中间节点受损的情况下也防止中间节点建立中间人攻击。换句话说,如果某个节点受损,则来自该节点的点对点连接可能会断开连接,并且作为结果端到端隧道也因此会断开连接。当用户的访问令牌过期时,隧道也可以自动断开连接。
57.图3从包括隧道客户端应用的用户设备的角度示出了本发明的实施方式的软件使能功能。在步骤301中,隧道客户端应用经由图形用户接口(或命令行接口)检测请求连接至在全局云中的第一网关上(或企业级网关上)运行的隧道服务的用户输入。在步骤302中,隧道客户端应用然后向在第一网关上运行的隧道服务发送相应的连接请求。
58.在步骤303中,隧道客户端应用从第一网关的隧道服务接收对身份和访问管理(iam)服务的重定向请求,以用于认证用户并用于获得针对用户的saml访问令牌。在步骤304中,隧道客户端应用向iam服务发送该连接请求,并且在步骤305中,用户被要求例如通过使用特定于用户的联合身份在网页浏览器窗口中登录到iam服务。
59.在登录不成功的情况下(步骤306:“否”),在步骤307中,隧道客户端应用向用户显示适当的错误消息,并且该处理将不再继续,或者用户可能被要求重试登录。在成功的情况下(步骤306:“是”),在步骤308中,隧道客户端应用从iam服务接收用户的特定于用户的访问令牌。
60.在步骤309中,隧道客户端应用然后向第一网关的隧道服务发送包含用户的访问令牌的第二连接请求。然后,在步骤310中,隧道客户端应用从第一网关的隧道服务接收关于连接是否成功的回复。在连接不成功的情况下(步骤310:“否”),在步骤311中,隧道客户端应用向用户显示适当的错误消息,并且该处理将不再继续。如果连接成功(步骤310:“是”),则在步骤312中,隧道客户端应用然后向第一网关的隧道服务发送用于获得目标服务(例如远程桌面服务)的列表的查询,所述目标服务被分配为可用于与组织/企业中的用户相关联的角色。在步骤313中,隧道客户端应用接收该列表,并且在隧道客户端应用的图形用户接口中(或例如命令行界面中)将其呈现给用户。
61.在步骤314中,隧道客户端应用然后检测请求连接至由用户指定的目标服务的用户输入,并且在步骤315中,隧道客户端应用向第一网关的隧道服务发送在用户设备与控制
对所选目标服务的访问的隧道服务(即,与所选目标服务在同一目标设备中的隧道服务,或者直接连接至包含目标服务的目标设备的另一设备/网关中的隧道服务)之间建立隧道的请求。在步骤316中,隧道客户端应用接收建立了隧道的信息,并且在步骤317中,隧道客户端应用向目标的隧道服务(即,控制对所选目标服务的访问的隧道服务)发送包含用户的访问令牌的连接请求。
62.然后,在步骤318中,隧道客户端应用从目标的隧道服务接收关于连接是否成功的回复。在连接不成功的情况下(步骤318:“否”),在步骤319中,隧道客户端应用向用户显示适当的错误消息,并且该处理将不再继续。如果连接成功(步骤318:“是”),则在步骤320中,用户设备可以使用在用户设备与目标的隧道服务之间创建的隧道,以便与目标服务通信。
63.上面在图3中描述的步骤和相关功能没有绝对的时间顺序,并且一些步骤可以同时执行或者以不同于给定顺序的顺序执行。也可以在步骤之间或步骤内执行其他功能,并且可以发送其他信息。步骤中的一些或步骤的一部分也可以省去或由相应的步骤或步骤的一部分代替。
64.图4以简化泳道图的形式示出了本发明的实施方式的基本功能。该实施方式包括iam服务401、包括隧道客户端应用的用户设备402、包括隧道服务的第一网关403、包括隧道服务的一个或更多个中间网关404、包括隧道服务的一个或更多个设备网关405以及一个或更多个目标服务406。设备网关405是直接连接至包括一个或更多个目标服务406(例如远程桌面服务)的一个或更多个目标设备的网关。可替选地,设备网关405也可以是本身包括网关功能的目标设备,在这种情况下,目标服务406将在设备网关405内部。在示出的实施方式中,iam服务401、用户设备402和第一网关403都在公共互联网上,而中间网关404、设备网关405和目标服务406在通过防火墙(fw)407与公共互联网分开的受保护的内部网网络上。在内部网网络内在中间网关404与设备网关405之间还存在另一防火墙408。在该实施方式中,在设备网关405与中间网关404之间以及在中间网关404与第一网关403之间存在信任的基于证书的连接,例如安全网络套接字连接。这些连接可以使用设备网关中的出站端口和中间网关中的出站端口(例如端口80或443)。
65.在点410中,从用户设备向第一网关发送连接请求。在点411中,第一网关在连接请求中没有检测到访问令牌,并且向用户设备发送到iam服务的重定向请求,以用于认证用户并用于获得针对用户的saml接入令牌。在点412中,用户设备向iam服务发送认证请求,并且在点413中,用户利用例如他/她的联合身份(即用户名和密码)登录。在成功登录后,在点414中,iam服务向用户设备发送特定于用户的访问令牌。
66.在点415中,用户设备然后向第一网关发送包含用户的访问令牌的第二连接请求。然后,在点416中,第一网关将用户的访问令牌发送至iam服务以进行验证。在成功验证后,在点417中,iam服务向第一网关发送声明验证成功的回复。然后,在点418中,第一网关允许连接,并且向用户设备发送声明连接请求成功的回复。
67.在点419中,用户设备向第一网关发送针对目标服务(例如远程桌面服务)的列表的查询,所述目标服务被分配为可用于与组织/企业中的用户相关联的角色,并且在点420中,第一网关将该列表作为回复发送给用户设备。在点421中,用户设备向第一网关发送打开到控制对用户想要连接至的目标服务的访问的设备网关的隧道的请求。
68.在点422中,用户设备、第一网关、中间网关和设备网关彼此通信,以在用户设备与
设备网关之间建立端到端隧道,例如利用tls加密的tcp/ip隧道。该隧道经由信任的点对点连接(例如安全网络套接字连接)的链进行中继,该链通过用户设备与设备网关之间的中间网关和第一网关。即使这些中间点对点连接中的每一个中间点对点连接都是这样单独加密的,端到端隧道本身也是利用tls单独加密的,以便实现端到端加密。
69.在点423中,用户设备(经由隧道)向设备网关发送包含用户的访问令牌的连接请求,以用于请求对目标服务的访问。在准许用户设备对目标服务的访问之前,在点424中,通过经由设备网关与iam服务之间的中间网关和第一网关中继隧道,在设备网关与iam服务之间打开第二加密端到端隧道,例如利用tls加密的tcp/ip隧道。
70.在点425中,设备网关然后经由第二隧道将用户的访问令牌发送至iam服务以进行验证。在验证成功后,在点426中,iam服务向设备网关发送声明验证成功的回复。然后,在点427中,设备网关向用户设备发送声明连接请求成功并且用户设备现在被允许与目标服务进行通信的回复。最后,在点428中,用户设备可以使用第一隧道与目标服务通信。
71.图5是示出设备(装置)500的一些单元的简化框图,设备500例如是用户设备、设备级设备、用于iiot的网关或相应的计算设备。在示出的示例中,该设备包括:一个或更多个接口(if)501,其用于从其他设备并且可能从用户接收和/或检索信息以及/或者向其他设备并且可能向用户发送信息;处理器502;算法503,其对应于上面结合图1至图4描述的一个或更多个功能;以及存储器504,其可用于存储用于实现功能的算法所需的计算机程序代码。存储器504还可用于存储其他可能的信息,例如配置、列表、数据流规则、装备模型、遥测数据、防火墙数据等。
72.换句话说,被配置成提供上面结合图1至图4描述的一个或更多个功能的设备(装置)是计算设备,其可以是被配置成执行利用实施方式/示例/实现方式描述的一个或更多个相应设备功能的任何装置或设备或装备或节点,并且其可以被配置成执行来自不同实施方式/示例/实现方式的功能。
73.设备/装置可以包括连接至存储器和装置的各种接口的处理器、控制器、控制单元、微控制器等。处理器可以是中央处理单元,或者处理器可以是附加的操作处理器。本文中描述的单元/子单元和/或算法中的每一种或一些或一种可以被配置为计算机或处理器,或微处理器例如单芯片计算机元件或例如芯片组,至少包括用于提供用于算术操作的存储区的存储器以及用于执行算术操作的操作处理器。上述单元/子单元和/或算法中的每一种或一些或一种可以包括一个或更多个计算机处理器、专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、逻辑门和/或其他硬件部件,其已经被编程和/或将通过下载计算机程序代码(一个或更多个算法)以执行一个或更多个实施方式/实现方式/示例的一个或更多个功能的方式被编程。实施方式提供了包含在任何客户端可读分发/数据存储介质或存储单元或制品上的计算机程序,包括可由一个或更多个处理器/计算机执行的程序指令,这些指令在被加载到设备中时构成了上面结合图1至图4描述的一个或更多个功能。也被称为程序产品的程序——其包括软件例程、构成“程序库”的程序片段、小程序和宏——可以存储在任何介质中,并且可以下载到装置中。换言之,上述单元/子单元和/或算法中的每一种或一些或一种可以是包括一个或更多个算术逻辑单元、多个特殊寄存器和控制电路的元件。
74.此外,被配置成提供用于iiot的网关的设备/装置或被配置成提供以上参照图1至
图4描述的一个或更多个相应功能的设备可以包括易失性和/或非易失性存储器,例如eeprom、rom、prom、ram、dram、sram、双浮动栅场效应晶体管、固件、可编程逻辑等,并且通常存储内容、数据等。一个或更多个存储器可以是任何类型(彼此不同),具有任何可能的存储结构,并且如果需要,由任何数据库管理系统进行管理。换句话说,存储器或其一部分可以是处理器/装置内部或处理器/装置外部的任何计算机可用的非暂态介质,在这种情况下,它可以经由本领域已知的各种手段可通信地耦接至处理器/装置。外部存储器的示例包括可拆卸地连接至装置的可移动存储器、分布式数据库以及云服务器。存储器还可以存储用于处理器执行与根据示例/实施方式的装置的操作相关联的步骤的计算机程序代码如软件应用(例如,对于单元/子单元/算法中的一个或更多个)或操作系统、信息、数据、内容等。
75.对于本领域技术人员来说,将明显的是,随着技术的进步,可以以各种方式实现本发明构思。本发明及其实施方式不限于上述示例,而是可以在权利要求的范围内变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献