网络基础设施的动态的、基于端点配置的部署转让专利

申请号 : CN201910809064.9

文献号 : CN110875847B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B·H·赫格拉特V·德塞B·J·利普奇恩斯基S·乔利特

申请人 : 埃森哲环球解决方案有限公司

摘要 :

本公开的实施例涉及网络基础设施的动态的、基于端点配置的部署。基础设施部署平台可以接收与多个设备有关的配置数据,该多个设备被包括作为系统的组件或若干系统中的一个系统。基础设施部署平台可以处理配置数据,并且可以基于处理该配置数据来确定涉及多个设备的上下文信息。该上下文信息可以标识多个设备之间的通信关系或关联。基础设施部署平台可以限定用于多个设备的网络的组织结构。该组织结构可以基于通信关系或关联来约束多个设备之间的通信。基础设施部署平台可以将上下文信息或关于组织结构的数据传输到网络基础设施控制器设备。基础设施部署平台可以执行动作,以使网络基于系统和/或若干系统中的一个系统的功能责任而被部署。

权利要求 :

1.一种方法,包括:

由基础设施部署平台接收与多个设备有关的配置数据,所述多个设备被包括作为系统的组件,所述配置数据包括关于所述多个设备之间的通信关系或关联的信息,关于所述通信关系或关联的所述信息标识所述多个设备中的一个或多个设备,所述多个设备中的特定设备能够与所述多个设备中的所述一个或多个设备通信;

在接收到所述配置数据之后,由所述基础设施部署平台处理所述配置数据;

基于处理所述配置数据,由所述基础设施部署平台确定涉及所述多个设备的上下文信息,所述上下文信息标识所述多个设备之间的所述通信关系或关联;

由所述基础设施部署平台限定用于所述多个设备的网络的组织结构,所述组织结构基于所述通信关系或关联来约束所述多个设备之间的通信,使得所述网络仅包括基于所述通信关系或关联而需要的通信路径或链路;

由所述基础设施部署平台将所述上下文信息或关于所述组织结构的数据传输到网络基础设施控制器设备;以及由所述基础设施部署平台执行动作,以使所述网络基于所述组织结构而被部署。

2.根据权利要求1所述的方法,其中所述上下文信息还标识:与所述多个设备中的两个或更多个设备相关联的功能;并且其中限定所述组织结构包括:

限定所述组织结构,使得所述组织结构还基于所述功能来约束所述多个设备之间的所述通信。

3.根据权利要求1所述的方法,其中限定所述组织结构包括:使用以下中的至少一个来限定所述组织结构:虚拟局域网(VLAN),

物理分段,

防火墙,

逻辑分段,

白名单,或

黑名单。

4.根据权利要求1所述的方法,其中所述配置数据包括:与所述多个设备中的一个或多个设备相关联的控制逻辑;

针对所述多个设备中的两个或更多个设备的设备标识信息;或与所述多个设备中的所述两个或更多个设备相关联的地址信息。

5.根据权利要求1所述的方法,其中接收所述配置数据包括:基于检测到初始配置数据的改变和/或与所述系统相关联的指令代码,接收所述配置数据。

6.根据权利要求1所述的方法,其中执行所述动作包括:执行所述动作,以使所述网络被部署使得安全性标签被附加到与所述多个设备有关的传输的层2以太网帧。

7.根据权利要求1所述的方法,其中所述系统包括以下中的至少一个:工业控制系统(ICS),

分布式控制系统(DCS),

建筑自动化系统(BAS),

建筑管理系统(BMS),

工业物联网(IIoT)系统,

物联网(IoT)系统,

包括一个或多个医学设备的系统,或

包括一个或多个车辆的系统。

8.根据权利要求1所述的方法,其中所述基础设施部署平台从服务器设备接收所述配置数据,所述服务器设备被定位为远离所述多个设备。

9.根据权利要求1所述的方法,其中所述网络基础设施控制器设备被定位为远离所述多个设备。

10.一种设备,包括:

一个或多个存储器;以及

一个或多个处理器,所述一个或多个处理器通信地耦合到所述一个或多个存储器,所述一个或多个处理器被配置为:接收与系统的多个端点有关的至少一个配置文件,所述配置文件包括关于所述多个端点之间的通信关系的信息,关于所述通信关系的所述信息标识所述多个端点中的一个或多个端点,所述多个端点中的特定端点能够与所述多个端点中的所述一个或多个端点通信;

在接收到所述至少一个配置文件之后,解析所述至少一个配置文件;

基于解析所述至少一个配置文件,确定涉及所述多个端点的上下文信息,所述上下文信息标识与所述多个端点相关联的功能和/或所述多个端点之间的所述通信关系;

限定用于所述多个端点的网络基础设施,所述网络基础设施基于所述功能和/或所述通信关系来约束所述多个端点之间的通信,使得所述网络仅包括基于所述功能和/或所述通信关系而需要的通信路径或链路;以及执行动作,以使网络基于所述网络基础设施而被实现。

11.根据权利要求10所述的设备,其中在限定所述网络基础设施时,所述一个或多个处理器被配置为:通过将标识符与所述多个端点中的两个或更多个端点相关联,来限定所述网络基础设施。

12.根据权利要求10所述的设备,其中在限定所述网络基础设施时,所述一个或多个处理器被配置为:基于以下中的至少一个来限定所述网络基础设施:虚拟局域网(VLAN)方案,

物理分段,

防火墙方案,

逻辑分段,

白名单,或

黑名单。

13.根据权利要求10所述的设备,其中所述多个端点包括:控制设备;

输入/输出(I/O)设备;

人机接口(HMI)设备;或

计算设备。

14.根据权利要求10所述的设备,其中所述多个端点包括物联网(IoT)设备。

15.根据权利要求10所述的设备,其中所述系统被配置为实现多个过程;并且其中所述上下文信息针对所述多个端点中的每个端点,来标识所述端点与所述多个过程中的一个或多个过程的关联。

16.根据权利要求10所述的设备,其中所述系统包括动态车辆通信系统或车辆控制系统。

17.一种包括指令的非暂态计算机可读介质,所述指令包括:一个或多个指令,所述一个或多个指令在由设备的一个或多个处理器执行时,使所述一个或多个处理器:接收与多个物联网(IoT)设备有关的配置数据,所述多个IoT设备通信地耦合到网络的网络基础设施控制器,所述配置数据包括关于所述多个IoT设备之间的通信关系或关联的信息,关于所述通信关系或关联的所述信息标识所述多个IoT设备中的一个或多个IoT设备,所述多个IoT设备中的特定IoT设备能够与所述多个IoT设备中的所述一个或多个IoT设备通信;

在接收到所述配置数据之后,处理所述配置数据,其中使所述一个或多个处理器处理所述配置数据的所述一个或多个指令使所述一个或多个处理器:在所述配置数据中标识与所述多个IoT设备中的每个IoT设备有关的网络信息,其中所述网络信息标识所述多个IoT设备之间的所述通信关系或关联,以及基于所述网络信息导出一个或多个命令;以及向所述网络基础设施控制器提供所述一个或多个命令,所述一个或多个命令被配置为:使所述网络基础设施控制器针对所述多个IoT设备中的每个IoT设备,来过滤源自所述IoT设备的出口通信,使得所述网络仅包括基于所述通信关系或关联而需要的通信路径或链路。

18.根据权利要求17所述的非暂态计算机可读介质,其中所述网络信息针对所述多个IoT设备中的每个IoT设备,来标识与所述IoT设备相关联的相应预期通信接收方。

19.根据权利要求18所述的非暂态计算机可读介质,其中所述一个或多个命令被配置为使所述网络基础设施控制器通过以下方式来过滤源自所述多个IoT设备中的每个IoT设备的出口通信:使所述网络基础设施控制器仅允许特定的出口通信穿过所述网络,所述特定的出口通信被定向到与所述IoT设备相关联的所述相应预期通信接收方。

20.根据权利要求18所述的非暂态计算机可读介质,其中所述网络信息针对所述多个IoT设备中的每个IoT设备来标识:与关联于所述IoT设备的所述相应预期通信接收方相关联的互联网协议(IP)地址;或与所述相应预期通信接收方相关联的域名。

说明书 :

网络基础设施的动态的、基于端点配置的部署

技术领域

[0001] 本公开涉及网络基础设施,更具体地涉及网络基础设施的动态的、基于端点配置的部署。

背景技术

[0002] 诸如物联网(IoT)设备、工业控制系统的组件等的设备通常通过有线或无线网络彼此通信。

发明内容

[0003] 根据一些可能的实现,一种方法可以包括:由基础设施部署平台接收与多个设备有关的配置数据。该多个设备可以被包括作为系统的组件。该方法可以包括:在接收到配置数据之后,由基础设施部署平台处理该配置数据;以及基于处理该配置数据,由基础设施部署平台确定涉及多个设备的上下文信息。该上下文信息可以标识多个设备之间的通信关系或关联。该方法可以包括:由基础设施部署平台限定用于多个设备的网络的组织结构。该组织结构可以基于通信关系或关联来约束多个设备之间的通信。该方法可以包括:由基础设施部署平台将上下文信息或关于组织结构的数据传输到网络基础设施控制器设备。该方法可以包括:由基础设施部署平台执行动作,以使网络基于组织结构而被部署。
[0004] 根据一些可能的实现,一种设备可以包括一个或多个存储器以及一个或多个处理器,该一个或多个处理器通信地耦合到一个或多个存储器,该一个或多个处理器被配置为接收与系统的多个端点有关的至少一个配置文件。一个或多个处理器可以在接收到至少一个配置文件之后解析至少一个配置文件。该一个或多个处理器可以基于解析至少一个配置文件,确定涉及多个端点的上下文信息,该上下文信息标识与多个端点相关联的功能和/或多个端点之间的通信关系。该一个或多个处理器可以限定用于多个端点的网络基础设施。该网络基础设施可以基于功能和/或通信关系来约束多个端点之间的通信。该一个或多个处理器可以执行动作,以使网络基于网络基础设施而被实现。
[0005] 根据一些可能的实现,一种非暂态计算机可读介质可以存储指令。该指令可以包括一个或多个指令,该一个或多个指令在由设备的一个或多个处理器执行时,使一个或多个处理器接收与多个物联网(IoT)设备有关的配置数据。多个IoT设备可以通信地耦合到网络的网络基础设施控制器。该一个或多个指令在由一个或多个处理器执行时,可以使一个或多个处理器在接收到配置数据之后处理该配置数据。使一个或多个处理器处理配置数据的一个或多个指令使一个或多个处理器:在配置数据中标识与多个IoT设备中的每个IoT设备有关的网络信息,以及基于网络信息导出一个或多个命令。该一个或多个指令在由一个或多个处理器执行时,可以使一个或多个处理器向网络基础设施控制器提供一个或多个命令。该一个或多个命令可以被配置为使网络基础设施控制器针对多个IoT设备中的每个IoT设备,来过滤源自IoT设备的出口通信。

附图说明

[0006] 图1A-图1C是本文描述的示例实现的图。
[0007] 图2是其中可以实现本文描述的系统和/或方法的示例环境的图。
[0008] 图3是图2的一个或多个设备的示例组件的图。
[0009] 图4是用于构建和部署用于系统的网络的示例过程的流程图。
[0010] 图5是用于构建和部署用于系统的网络的示例过程的流程图。
[0011] 图6是用于控制设备之间的通信的示例过程的流程图。

具体实施方式

[0012] 以下对示例实现的详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元件。
[0013] 许多现有系统,诸如工业控制系统,没有被设计为实现简单且高效的系统管理和更新。例如,如果需要对工业控制系统进行任何基础设施改变,则可能需要涉及多个用户——例如,用户(例如,操作员)在过程的操作中要求另外的功能性,这要求另外的用户(例如,控制系统工程师)将工业过程要求转换为网络基础设施(例如,利用命令行界面来修改代码等),并且向另一用户(例如,网络工程师)提供要求以在网络中实现适当的调整。许多现有系统还包含来自各种解决方案供应方的工具和组件这一事实也加剧了问题,因为可能需要另外的知识和专业知识,从而使系统维护和更新成为一项复杂且耗时的任务。这些系统管理和更新问题导致这些系统通常是不安全的,因为这种系统由于难以进行这种改变而不随时间(例如,随着设备被添加,随着威胁出现)演变网络配置。
[0014] 因此,现有系统没有被设计为具有足够的安全性。例如,针对这种系统部署的网络通常是临时布置的大型“垃圾堆积场”,其在设备之间形成通信路径,而不管那些设备中的一些设备是否甚至需要彼此通信。类似地,IoT设备的网络也具有最小乃至没有安全性控制或组织控制,这不仅使设备易受攻击和危害,而且还将风险扩展到整个互连的网络环境。
[0015] 本文描述的一些实现提供了基础设施部署平台,其能够提供用于系统(例如,工业控制系统、IoT设备系统、动态车辆通信系统等)的网络基础设施的动态的、基于端点配置的部署。在一些实现中,基础设施部署平台可以采用一个或多个机器学习算法来提供自动的系统配置分析以及网络设计和部署。
[0016] 在一些实现中,基础设施部署平台可以被配置为通过以下来协调网络基础设施的设计和部署:处理与系统的设备或端点有关的配置数据(例如,标识设备之间的通信关系或关联、与设备有关的控制逻辑、目录结构等的数据);确定涉及设备的上下文信息(例如,标识设备之间的通信路径、与设备相关联的系统的设备、过程(例如,工业过程)之间的协议流、每个设备的类型、设备的目的和/或角色(例如,功能等)等的信息);利用上下文信息(其可以提供对与设备相关联的系统过程、设备可以彼此交互的条件、以及系统的整体布局(例如,从工业角度来看)的洞察)来限定约束设备到设备通信的网络的组织结构(例如,基于设备功能、基于过程需要和/或设备到设备通信需要而被约束);并且基于该组织结构来部署网络。
[0017] 在一些实现中,基础设施部署平台可以利用诸如虚拟局域网(VLAN)之类的组织网络构造来限定网络的组织结构。例如,基础设施部署平台可以被配置为:动态地选择VLAN ID和子网以与系统的设备相关联,以便将设备布置在与系统的个体过程对准的逻辑群组中和/或基于预期的设备功能来布置。这可以包括但不限于以滚动基础来进行。基础设施部署平台可以与限定网络的组织结构相关联地利用所基于的控制类型,该控制类型的其他示例包括物理分段、防火墙、逻辑分段(例如,就层2或层3寻址而言)、白名单、黑名单等。
[0018] 在一些实现中,基础设施部署平台可以覆盖所部署的网络中的安全性(例如,通过采用安全性机制,诸如涉及在层2以太网帧中使用安全性标签的那些安全性机制等),以进一步使网络内的通信安全。
[0019] 在一些实现中,基础设施部署平台可以被配置为实现对系统的设备的通信控制。例如,在IoT设备的系统中,基础设施部署平台可以被配置为:处理与设备有关的配置数据;
从配置数据中确定网络信息(例如,设备之间的通信关系或关联),并且诸如通过以下来向网络基础设施控制器提供网络信息(例如,以适当的格式)以管理被传输到设备和/或源自设备的通信:限制出口通信或业务仅去往适当的接收方设备、上游网络等。
[0020] 以这种方式,基础设施部署平台可以利用系统(诸如工业控制系统等,其具有有限的工程化和受控制的结果集)的结构化性质来设计和部署用于系统中的设备的安全网络基础设施。如本文所述,基于上下文信息来组织网络基础设施、使得设备到设备通信被约束巩固(例如,硬化)了设备的整体通信架构,这提供了更不易受攻击的更安全的网络。这还简化了整体网络,这实现了更高效地部署对系统和/或网络的更新和/或升级。如本文所述,在正在进行系统配置时实时地(或接近实时地)实现网络的设计和部署还允许网络的各部分在开发过程早期和在整个开发过程中被模拟和/或测试,这进一步提供了最终网络的可靠性。此外,如本文所述,过滤网络中的出口通信或业务(例如,对于IoT设备的系统等)限制了恶意行为方危害网络,这提高了整体网络安全性。
[0021] 图1A-图1C是本文描述的示例实现100的图。示例实现100可以包括基础设施部署平台和系统(例如,工业控制系统等)的各种设备。例如,设备可以包括工业控制系统组件,诸如控制设备(例如,可编程逻辑控制器(PLC)等)、输入/输出(I/O)设备、人机接口(HMI)设备、计算设备(例如,工作站)等、IoT设备、车辆系统组件等。在一些实现中,这些设备中的一个或多个设备可以被包括在单个设备中。在一些实现中,基础设施部署平台可以包括一个或多个应用(例如,应用代码和/或算法),其被配置为使基础设施部署平台的一个或多个处理器以自动方式执行本文描述的各种操作。
[0022] 如图1A中所示,设备可以与配置数据(例如,配置文件等)相关联。在一些实现中,配置数据可以包含与一个或多个设备有关的设备标识信息(例如,设备ID、设备地址(例如,互联网协议(IP)地址等)、与一个或多个设备相关联的控制逻辑(例如,PLC代码等)、关于设备之间的通信关系或关联的信息(例如,(例如,通过IP地址等)标识特定设备可以与之通信的其他设备的信息)、目录结构(例如,HMI目录结构等)等)。在一些实施中,配置文件可以是基于固件的、被下载的、被上传的、被手动应用的(例如,如在PLC配置、电缆调制解调器操作中)等。
[0023] 如图1A中进一步所示,并且如附图标记102所示,基础设施部署平台可以接收与各种设备有关的配置数据。如附图标记104所示,基础设施部署平台可以处理配置数据。在一些实现中,配置数据可以是机器可读格式(例如,以可扩展标记语言(XML)格式等)。在这种情况下,基础结构部署平台可以解析配置数据。
[0024] 如附图标记106所示,基础设施部署平台可以基于配置数据来确定涉及设备的上下文信息。例如,上下文信息可以包括:关于设备之间的通信路径的信息、关于设备之间的协议流的信息、关于设备与之相关联的系统的个体过程(例如,工业过程)的信息、关于每个设备的类型的信息、关于设备的目的和/或角色(例如,功能等)的信息、从人类交互(例如,HMI文件)捕获的信息等。这种上下文信息可以使基础设施部署平台能够增加对设备与之相关联的系统过程、设备可以彼此交互的条件、以及系统的整体布局(例如,从工业角度看)的洞察,基础设施部署平台可以利用其中的一些或全部来构建和部署用于设备的适当的网络。这种上下文信息可以使基础设施部署平台能够预测和/或确定故障的风险、和/或元件的移除、和/或工业过程和/或系统的节点的关键性、和/或增强维护计划和/或事件响应。在某些情况下,这可以实时地或接近实时地进行。
[0025] 在一些实现中,基于处理与第一设备有关的第一配置数据,基础设施部署平台可以标识第一设备可以与之通信的第二设备,获得与第二设备有关的第二配置数据,类似地处理第二配置数据以标识第二设备可以与之通信的任何其他设备,诸如此类。在这种情况下,基础设施部署平台可以反复地聚合关于系统中的所有各种设备到设备连接和/或关系的数据,以用于确定上下文信息。
[0026] 如图1B中所示,并且如附图标记108所示,基础设施部署平台可以限定用于设备的网络的组织结构,其约束设备之间的通信。如附图标记110所示,基础设施部署平台可以基于组织结构来部署网络(例如,通过将上下文信息或关于组织结构的数据传输到网络基础设施控制器设备、通过根据需要配置各种网络设备(例如,交换机、路由器、防火墙等)等)。例如,基础设施部署平台可以基于上下文信息来限定组织结构(例如,基于设备可以与之相关联的过程、设备的功能、一个或多个设备与一个或多个其他设备进行通信的实际需要(例如,如配置数据中指定的)等),使得网络仅包括所需要的通信路径或链路。即,例如,网络基础设施可以不包括两个设备之间的通信路径,基于上下文信息,这两个设备不需要彼此通信。在一些实现中,基础设施部署平台可以基于设备的预期的、个体的和/或集体的功能在逻辑上将设备布置成群组。
[0027] 基于上下文信息来组织网络基础设施、使得设备到设备通信被约束巩固(例如,硬化)了设备的整体通信架构,这提供了更不易受攻击的、和/或最小化破坏的影响(例如,通过防止攻击方横向移动)的更安全的网络。这还简化了网络的整体操作,从而实现更高效地部署对系统和/或网络的更新和/或升级。
[0028] 在一些实现中,基础设施部署平台可以使用任何合适的网络组织构造来限定网络的组织结构。例如,在一些实现中,基础设施部署平台可以利用虚拟局域网(VLAN)来限定组织结构。例如,基础设施部署平台可以通过以下方式来利用VLAN的逻辑子网性质将设备分组在一起:群组与系统的个体过程或若干系统的一个系统对齐。在一些实现中,基础设施部署平台可以利用VLAN方案来配置用于设备的VLAN。例如,可以预限定VLAN方案(例如,基于用户输入(例如,控制系统工程师、网络工程师、过程专家等的输入))。在一些实现中,基础设施部署平台可以通过以下方式将设备分组在一起:基于VLAN方案将设备的特定子网与特定VLAN ID相关联。
[0029] 以这种方式,基于设备的功能性和/或设备之间所需的通信路径或链路,基础设施部署平台可以将设备动态配置到VLAN中。
[0030] 在一些实现中,基础设施部署平台可以利用一个或多个机器学习算法来自动化网络的组织结构的设计。例如,在一些实现中,基础设施部署平台可以使用一个或多个机器学习算法,该一个或多个机器学习算法被配置为学习如何正确地将设备与VLAN ID相关联。在一些实现中,基础设施部署平台可以提供关于设备与VLAN ID的关联的信息,作为一个或多个机器学习算法的输入,这可以执行机器学习以自动化对设备与VLAN ID的关联的未来的确定或预测。例如,基础设施部署平台可以基于已知输入(例如,一个或多个VLAN方案、关于设备功能性的信息、关于设备到设备通信的信息、关于与设备相关联的系统过程的信息等)和已知输出(例如,设备与VLAN ID的实际关联等)来训练机器学习算法。在一些实现中,基于从基础设施部署平台的用户和/或从一个或多个其他设备(例如,(多个)管理设备)接收的反馈和/或其他信息馈送(诸如威胁情报馈送)等,基础设施部署平台可以改善机器学习算法。例如,基础设施部署平台的用户和/或一个或多个管理设备可以提供以下信息:指示机器学习算法进行的、对设备与VLAN ID的关联的预测是否准确和/或有帮助的信息。当该信息指示特定预测是准确和/或有帮助时,基础设施部署平台可以将机器学习算法配置为基于该特定预测来进行对设备与VLAN ID的关联的预测(例如,以与进行特定预测相类似的方式来预测设备与VLAN ID的关联)。当该信息指示特定预测不准确或没有帮助时,基础设施部署平台可以将机器学习算法配置为避免以进行特定预测的方式将设备与VLAN ID相关联。以这种方式,基础设施部署平台可以基于机器学习算法来预测设备与VLAN ID的关联,这提高了预测准确性并节省了处理器资源和/或存储资源,否则这些资源可能被用来生成和存储用于预测设备与VLAN ID的关联的规则。
[0031] 在一些实现中,基础设施部署平台可以被配置为:利用业务控制机制,作为限定网络的组织结构和/或部署网络的一部分。例如,VLAN实现对用于业务流管理的访问控制列表(ACL)的部署。在一些实现中,基础设施部署平台可以将这种ACL部署为网络中的安全性能力。附加地或备选地,基础设施部署平台可以利用安全性机制(例如,媒体访问控制安全性(MACsec)加密、认证存储库等,这涉及在层2以太网帧中使用安全性标签以用于动态应用控制),以进一步使网络内的通信(例如,层2业务以及使用更高层协议传输的业务(例如,IP业务))安全。
[0032] 以这种方式,基础设施部署平台可以利用诸如由VLAN提供的组织构造来设计干净且简单的网络环境(例如,从业务观点看并且与物理过程、设备功能等相关),可以覆盖所得到的网络基础设施中的安全性以控制设备之间的认证和访问,和/或可以包括完全动态的能力以使得可以动态地克服故障以维护工业过程。
[0033] 如图1C中所示,并且如附图标记112所示,基础设施部署平台可以检测(例如,实时地(或接近实时地))对系统的更新。例如,在一些情况下,用户(例如,控制系统工程师等)可以修改指令代码(例如,与配置数据中的控制逻辑有关的)——例如,用户可以检查出自系统的存储库的指令代码,编辑该指令代码,并且检查回到存储库中的经编辑的指令代码。作为另一示例,用户(例如,控制系统工程师等)可以通过以下方式来修改系统硬件:向系统添加一个或多个设备和/或从系统移除一个或多个设备,并且改变相关的配置数据。
[0034] 如附图标记114所示,基础设施部署平台可以确定对上下文信息和网络的组织结构的(多个)对应的更新。例如,基础设施部署平台可以基于配置数据中的变化来确定上下文信息的任何改变(例如,设备和过程关联、设备之间的通信关系或关联、设备功能等),并且相应地更新组织结构(例如,如上所述,使用机器学习)。如附图标记116所示,基础设施部署平台可以实现更新,使得网络反映经更新的组织结构。在一些实现中,并且在基础设施部署平台采用(多个)机器学习算法(例如,如上所述)的情况下,(多个)机器学习算法可以被配置为:确定适当的网络级别设计变化,并且实现网络基础设施中的变化。
[0035] 以这种方式,基础设施部署平台可以通过以下方式来自动化和协调用户(例如,控制系统工程师)与系统之间的交互:无缝地更新(例如,实时地或接近实时地)网络基础设施来反映对系统进行的任何改变。
[0036] 此外,现有系统开发过程通常包含通用网络构造(例如,通用布局、子网、IP地址等)并且在开发期间忽略对网络的各个方面的测试(例如,I/O设备等)。本文描述的基础设施部署平台可以被用于在进行系统配置时(例如,在生成和/或创建上述配置数据时、在编码控制逻辑时等)实时地(或接近实时地)设计和部署网络。这允许在整个开发过程中测试网络的各个部分,从而实现创建用于系统的整体硬化的、基于功能的、并且可靠的网络。
[0037] 在一些实现中,基础设施部署平台可以被配置为提供附加的安全性控制功能。例如,在一些实现中,基础设施部署平台可以执行对系统和/或对应网络的安全性监测以标识系统中可能受攻击的任何设备,并且基于上述的上下文信息(例如,其可以指示哪些设备具有比其他设备更高的优先级,哪些设备对系统是关键的等)来确定在上下文内可能需要采取的一个或多个动作(例如,诸如停用系统中的一些设备或停用系统中的所有设备,这取决于哪个(哪些)设备受到了攻击),以允许工业功能安全地继续。这提供了网际(cyber)防御的更具战略性的方法,其减少或消除了在网络中部署附加的安全性功能的需要,从而节省了计算资源和存储器资源。这还减少或消除了攻击可能使整个系统和/或网络不可操作的可能性,从而节省了否则可能需要针对危机管理、修复等花费的成本。
[0038] 附加地或备选地,基础设施部署平台可以被配置为向另一安全性系统提供上下文信息,以使该安全性系统能够标识攻击并且在适当时实现补救措施。
[0039] 本文描述的动态的、基于端点配置的基础设施部署技术可以被利用于各种应用。例如,基础设施部署平台可以被配置为设计和部署用于系统的网络,系统诸如工业控制系统、工业IoT设备系统、智能城市IoT设备系统、消费者IoT设备系统(例如,其中支持硬件路由器和/或接入点)、动态车辆通信(例如,车辆到一切(V2X)、车辆到车辆(V2V)、车辆到基础设施(V2I)等),和/或其他非标准的、特制的计算环境。
[0040] 在一些实现中,基础设施部署平台可以能够过滤设备的出口通信,使得给定设备可以仅与作为执行设备的(多个)功能的一部分所需的那个(那些)设备通信。以这种方式,出口通信可以被授权为有效通信(例如,基于给定设备的已知功能性、从配置数据导出)。这限制了设法访问设备的外部源(例如,恶意行为方)利用该设备攻击系统的其他设备和/或提取数据,从而提高了系统的整体安全性。
[0041] 例如,在IoT设备环境(例如,诸如家庭IoT设备、工业IoT设备、智能城市IoT设备等)中,基础设施部署平台可以被配置为过滤IoT设备的出口通信。在一些实现中,基础设施部署平台可以被配置为(例如,从被配置为管理IoT设备的服务器设备等)获得与IoT设备有关的配置数据,并且处理(例如,解析)该配置数据以标识网络信息,诸如标识与预期或目标的(多个)接收方的通信关系或关联的信息。例如,针对给定的IoT设备,网络信息可以标识与(多个)IoT服务器设备相关联的设备ID、地址(例如,IP地址)、域名等,IoT设备需要与(多个)IoT服务器设备通信,作为IoT设备的正常功能的一部分。在一些实现中,基础设施部署平台可以被配置为处理网络信息(例如,通过以预限定的方式格式化网络信息以便实现业务过滤),并且向网络基础设施控制器提供(例如,上传等)经处理的网络信息,以使网络基础设施控制器能够过滤源自IoT设备的通信——例如,使得仅允许被定向到与IoT设备相关联的预期接收方的那些通信穿过网络。在一些实现中,基础设施部署平台可以被配置为基于对配置数据的改变(例如,对通信关系或关联等的改变)来实时地(或接近实时地)向网络基础设施控制器提供经更新的网络信息。
[0042] 以这种方式,基础设施部署平台可以通过以下方式来过滤出口通信:限制这种通信仅去往适当的接收方设备、上游网络等。这可以防止IoT设备被劫持和使用,例如,作为攻击车辆。此外,这提供了IoT设备环境中的网络安全性系统,该网际安全性系统否则易受攻击,并且实现在网络基础设施变化和/或新威胁出现时对IoT设备的通信的动态控制。
[0043] 如上文所指示的,图1A-图1C仅作为示例被提供。其他示例是可能的,并且可以与关于图1A-图1C所描述的示例不同。
[0044] 图2是示例环境200的图,其中可以实现本文描述的系统和/或方法。如图2中所示,环境200可以包括(多个)系统设备210、基础设施部署平台215、(多个)网络设备230和网络235。环境200的设备可以经由有线连接、无线连接、或有线和无线连接的组合而互连。
[0045] (多个)系统设备210包括能够接收、生成、存储、处理和/或提供与系统(例如,工业控制系统(ICS)、分布式控制系统(DCS)、建筑自动系统(BAS)、建筑管理系统(BMS)、工业物联网(IIoT)系统、物联网(IoT)系统、包括一个或多个医学设备的系统、包括一个或多个车辆的系统等、IoT设备系统、动态车辆通信系统等)相关联的数据的一个或多个设备。
[0046] 例如,(多个)系统设备210可以包括一个或多个工业控制设备(例如,一个或多个控制设备、I/O设备、HMI设备、计算设备等)、一个或多个IoT设备(例如,一台或多台计算机、膝上型计算机、平板计算机、智能手机、智能手表、智能传感器、智能配件、智能电视、智能安全性系统、智能家居系统、联网设备(例如,电器、外围设备、照明系统、车辆配件等)、通信设备、用于与IoT设备通信的服务器设备)等。在一些实现中,(多个)系统设备210可以与配置数据相关联,基础设施部署平台(例如,基础设施部署平台215)可以处理和利用该配置数据来构建和部署用于(多个)系统设备210的网络,如本文其他地方所述。
[0047] 基础设施部署平台215包括能够接收、生成、存储、处理和/或提供与(多个)系统设备210和/或(多个)网络设备230相关联的数据的一个或多个设备。在一些实现中,如本文其他地方所述,基础设施部署平台215可以利用与设备(例如,(多个)系统设备210)有关的配置数据来构建和部署(例如,使用(多个)网络设备230)用于设备的网络(例如,网络235)。在一些实现中,如本文其他地方所述,基础设施部署平台215可以采用一个或多个机器学习算法来构建和部署网络。
[0048] 基础设施部署平台215可以包括服务器设备或服务器设备的群组。在一些实现中,如图所示,基础设施部署平台215可以被托管在云计算环境220中。值得注意的是,虽然本文描述的实现将基础设施部署平台215描述为被托管在云计算环境220中,但是在一些实现中,基础设施部署平台215不是基于云的或者可能是部分基于云的。
[0049] 云计算环境220包括将计算作为服务递送的环境,由此可以将共享的资源、服务等提供给(多个)系统设备210、(多个)网络设备230和/或一个或多个其他的基础设施部署平台215。云计算环境220可以提供计算、软件、数据访问、存储和/或其他服务,其不要求端点用户知道递送该服务的系统和/或设备的物理位置和配置。如图所示,云计算环境220可以包括计算资源222集。
[0050] 计算资源222包括一个或多个个人计算机、工作站计算机、服务器设备或其他类型的计算和/或通信设备。在一些实现中,计算资源222可以托管基础设施部署平台215。在一些实现中,云资源可以包括在计算资源222中执行的计算实例、被提供在计算资源222中的存储设备、由计算资源222提供的数据传送设备等。在一些实现中,计算资源222可以经由有线连接、无线连接或有线和无线连接的组合与其他计算资源222通信。
[0051] 如图2中进一步所示,计算资源222可以包括云资源的群组,诸如一个或多个应用(“APP”)222-1、一个或多个虚拟机(“VM”)222-2、虚拟化存储装置(“VS”)222-3、一个或多个管理程序(“HYP”)222-4等。
[0052] 应用222-1包括一个或多个软件应用,其可以被提供给(多个)系统设备210和/或(多个)网络设备230或由(多个)系统设备210和/或(多个)网络设备230访问。应用222-1可以消除在(多个)系统设备210和/或(多个)网络设备230上安装和执行软件应用的需要。例如,应用222-1可以包括与基础设施部署平台215相关联的软件和/或能够经由云计算环境220被提供的任何其他软件。在一些实现中,一个应用222-1可以经由虚拟机222-2发送/接收去往/来自一个或多个其他应用222-1的信息。
[0053] 虚拟机222-2包括如同物理机器的、执行程序的机器(例如,计算机)的软件实现。虚拟机222-2可以是系统虚拟机或过程虚拟机,这取决于虚拟机222-2对任何真实机器的使用和对应程度。系统虚拟机可以提供支持完整操作系统(OS)的执行的完整系统平台。过程虚拟机可以执行单个程序,并且可以支持单个过程。在一些实现中,虚拟机222-2可以代表用户(例如,系统设备210和/或网络设备230)和/或代表一个或多个其他基础设施部署平台
215来执行,并且可以管理云计算环境220的基础设施,诸如数据管理、同步或长持续时间数据传送。
[0054] 虚拟化存储装置222-3包括一个或多个存储系统、和/或在计算资源222的存储系统或设备内使用虚拟化技术的一个或多个设备。在一些实现中,在存储系统的上下文中,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储从物理存储的抽象(或分离),以使得可以访问该存储系统而不考虑物理存储装置或异构结构。该分离可以使存储系统的管理员在管理员如何管理用于端点用户的存储方面具有灵活性。文件虚拟化可以消除在以文件级别访问的数据与文件被物理存储的位置之间的依赖性。这可以实现对存储使用、服务器整合和/或无中断文件迁移性能的优化。
[0055] 管理程序222-4提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在诸如计算资源222之类的主机计算机上并发执行。管理程序222-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化的硬件资源。
[0056] (多个)网络设备230包括能够接收、存储、生成、处理和/或传送与(多个)系统设备210相关联的业务(例如,分组)、和/或能够监测用于(多个)系统设备210和/或网络235的业务。例如,网络设备230可以包括路由器、网关、交换机、集线器、桥接器、反向代理、服务器(例如、代理服务器、网络服务器、主机服务器、存储服务器、数据中心或云计算环境中的服务器等)、防火墙、安全性设备、入侵检测设备、负载平衡器或类似类型的设备。网络设备230可以与单个系统设备210或系统设备210的群组(例如,与私有网络、数据中心等相关联的系统设备210)结合使用。在一些实现中,可以通过网络设备230将通信路由到达系统设备210的群组。附加地或备选地,当通信被定向到一个或多个系统设备210时,可以将通信路由到网络设备230。在一些实现中,网络设备230可以是在诸如机箱之类的外壳内实现的物理设备。在一些实现中,网络设备230可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
[0057] 网络235包括与(多个)系统设备210和(多个)网络设备230相关联的网络。例如,网络235可以包括VLAN、子网、无线网络、有线网络、特定网络段(例如、连接到一个或多个网络网关的联网设备的群组)、以太网段、多个网络段、多个以太网段等。在一些实现中,如本文其他地方所述,网络235可以由基础设施部署平台(例如,基础设施部署平台215)在结构上进行组织和部署。
[0058] 图2中所示的设备和网络的数目和布置作为示例而被提供。在实践中,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者与图2中所示那些设备和/或网络不同地布置的设备和/或网络。此外,在图2中所示的两个或更多个设备可以在单个设备内被实现,或者在图2中所示的单个设备可以被实现为多个分布式设备。附加地或备选地,环境200的设备集(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集执行的一个或多个功能。
[0059] 图3是设备300的示例组件的图。设备300可以对应于(多个)系统设备210、基础设施部署平台215和/或(多个)网络设备230。在一些实现中,(多个)系统设备210、基础设施部署平台215和/或(多个)网络设备230可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3中所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
[0060] 总线310包括允许设备300的组件之间进行通信的组件。处理器320以硬件、固件或硬件和软件的组合来实现。处理器320是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、或其他类型的处理组件。在一些实现中,处理器320包括能够被编程以执行功能的一个或多个处理器。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪速存储器、磁存储器和/或光存储器),其存储由处理器320使用的信息和/或指令。
[0061] 存储组件340存储与设备300的操作和使用有关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态盘)、光盘(CD)、数字通用光盘(DVD)、软盘、盒式磁带、磁带和/或其他类型的非暂态计算机可读介质,以及对应的驱动器。
[0062] 输入组件350包括允许设备300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)来接收信息的组件。附加地或备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪、致动器和/或(多个)图像传感器(例如、(多个)相机)。输出组件360包括提供来自设备300(例如,显示器、扬声器和/或一个或多个LED)的输出信息的组件。
[0063] 通信接口370包括类似收发器的组件(例如,收发器和/或单独的接收器和发射器),其使设备300能够诸如经由有线连接、无线连接或有线和无线连接的组合与其他设备通信。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、无线电频率(RF)接口、通用串行总线(USB)接口、无线局域网接口、蜂窝网络接口等。
[0064] 设备300可以执行本文描述的一个或多个过程。设备300可以基于处理器320来执行这些过程,处理器320执行由诸如存储器330和/或存储组件340之类的非暂态计算机可读介质存储的软件指令。计算机可读介质在本文中被限定为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨度多个物理存储设备的存储器空间。
[0065] 软件指令可以经由通信接口370从另一计算机可读介质或从另一设备而被读取到存储器330和/或存储组件340中。在被执行时,被存储在存储器330和/或存储组件340中的软件指令可以使处理器320执行本文描述的一个或多个过程。附加地或备选地,可以使用硬连线电路装置代替软件指令或与软件指令组合,以执行本文描述的一个或多个过程。因此,本文描述的实现不限于硬件电路装置和软件的任何特定组合。
[0066] 图3中所示的组件的数目和布置作为示例而被提供。在实践中,设备300可以包括附加的组件、更少的组件、不同的组件、或者与图3中所示的组件不同地布置的组件。附加地或备选地,设备300的组件集(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集执行的一个或多个功能。
[0067] 图4是用于构建和部署用于系统的网络的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由基础设施部署平台(例如,基础设施部署平台215)执行。在一些实现中,图4的一个或多个过程框可以由与基础设施部署平台分离或包括基础设施部署平台的另一设备或设备群组来执行,诸如(多个)系统设备210和/或(多个)网络设备230。
[0068] 如图4中所示,过程400可以包括接收与多个设备(例如,系统设备210)有关的配置数据,该多个设备被包括作为系统的组件(框410)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、输入组件350、通信接口370等的基础设施部署平台)可以接收与多个设备有关的配置数据。在一些实现中,多个设备可以被包括作为系统的组件。
[0069] 如图4中进一步所示,过程400可以包括在接收到配置数据之后处理配置数据(框420)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以在接收到配置数据之后处理配置数据。
[0070] 如图4中进一步所示,过程400可以包括基于处理配置数据来确定涉及多个设备的上下文信息,该上下文信息标识多个设备之间的通信关系或关联(框430)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以基于处理配置数据来确定涉及多个设备的上下文信息。在一些实现中,上下文信息可以标识多个设备之间的通信关系或关联。
[0071] 如图4中进一步所示,过程400可以包括限定用于多个设备的网络(例如,网络235)的组织结构,该组织结构基于通信关系或关联来约束多个设备之间的通信(框440)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以限定用于多个设备的网络的组织结构。在一些实现中,组织结构可以基于通信关系或关联来约束多个设备之间的通信。
[0072] 如图4中进一步所示,过程400可以包括将上下文信息和/或关于组织结构的数据传输到网络基础设施控制器设备。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、通信接口370等的基础设施部署平台)可以将上下文信息和/或关于组织结构的数据传输到网络基础设施控制器设备。
[0073] 如图4中进一步所示,过程400可以包括执行动作以使网络基于组织结构而被部署(框450)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、通信接口370等的基础设施部署平台)可以执行动作以使网络基于组织结构而被部署。
[0074] 过程400可以包括另外的实现,诸如下面描述的和/或结合在本文其他地方描述的一个或多个其他过程的任何单个实现或实现的任何组合。
[0075] 在一些实现中,上下文信息还可以标识与多个设备中的两个或更多个设备相关联的功能。在一些实现中,当限定组织结构时,基础设施部署平台可以限定组织结构,使得该组织结构还基于功能来约束多个设备之间的通信。在一些实现中,当限定组织结构时,基础设施部署平台可以使用虚拟局域网(VLAN)、物理分段、防火墙、逻辑分段、白名单或黑名单来限定组织结构。
[0076] 在一些实现中,配置数据可以包括与多个设备中的一个或多个设备相关联的控制逻辑、针对多个设备中的两个或更多个设备的设备标识信息、或者与多个设备中的两个或更多个设备相关联的地址信息。在一些实现中,当接收配置数据时,基础设施部署平台可以基于检测到初始配置数据的改变和/或与系统相关联的指令代码来接收配置数据。
[0077] 在一些实现中,当执行动作时,基础设施部署平台可以执行动作,以使网络被部署使得安全性标签被附加到与多个设备有关的传输的层2以太网帧。在一些实现中,该系统可以包括以下中的至少一个:工业控制系统(ICS)、分布式控制系统(DCS)、建筑自动化系统(BAS)、建筑管理系统(BMS)、工业物联网(IIoT)系统、物联网(IIoT)系统、包括一个或多个医学设备的系统、包括一个或多个车辆的系统等。
[0078] 在一些实现中,基础设施部署平台从被定位为远离多个设备的服务器设备接收配置数据。
[0079] 在一些实现中,网络基础设施控制器设备被定位为远离多个设备。
[0080] 尽管图4示出了过程400的示例框,但是在一些实现中,过程400可以包括附加的框、更少的框、不同的框、或者与图4中描绘的框不同地布置的框。附加地或备选地,可以并行地执行过程400的两个或更多个框。
[0081] 图5是用于构建和部署用于系统的网络的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由基础设施部署平台(例如,基础设施部署平台215)执行。在一些实现中,图5的一个或多个过程框可以由与基础设施部署平台分离或包括基础设施部署平台的另一设备或设备群组执行,诸如(多个)系统设备210和/或(多个)网络设备230。在一些实现中,设备(例如,基础设施部署平台)可以包括一个或多个存储器以及一个或多个处理器,该一个或多个处理器通信地耦合到一个或多个存储器并被配置为执行过程500。
[0082] 如图5中所示,过程500可以包括接收与系统的多个端点(例如,系统设备210)有关的至少一个配置文件(框510)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、输入组件350、通信接口370等的基础设施部署平台)可以接收与系统的多个端点有关的至少一个配置文件。
[0083] 如图5中进一步所示,过程500可以包括在接收到至少一个配置文件之后解析至少一个配置文件(框520)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以在接收到至少一个配置文件之后解析至少一个配置文件。
[0084] 如图5中进一步所示,过程500可以包括基于解析至少一个配置文件来确定涉及多个端点的上下文信息,该上下文信息标识与多个端点相关联的功能和/或多个端点之间的通信关系(框530)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以基于解析至少一个配置文件来确定涉及多个端点的上下文信息。在一些实现中,该上下文信息可以标识与多个端点相关联的功能和/或多个端点之间的通信关系。
[0085] 如图5中进一步所示,过程500可以包括限定用于多个端点的网络基础设施,该网络基础设施基于功能和/或通信关系来约束多个端点之间的通信(框540)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以限定用于多个端点的网络基础设施。在一些实现中,网络基础设施可以基于功能和/或通信关系来约束多个端点之间的通信。
[0086] 如图5中进一步所示,过程500可以包括执行动作,以使网络基于网络基础设施而被实现(框550)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、通信接口370等的基础设施部署平台)可以执行动作,以使网络基于网络基础设施而被实现。
[0087] 过程500可以包括另外的实现,诸如下面描述的和/或结合在本文其他地方描述的一个或多个其他过程的任何单个实现或实现的任何组合。
[0088] 在一些实现中,当限定网络基础设施时,基础设施部署平台可以通过将虚拟局域网(VLAN)标识符与多个端点中的两个或更多个端点相关联来限定网络基础设施。在一些实现中,当限定网络基础设施时,基础设施部署平台可以基于虚拟局域网(VLAN)方案、物理分段、防火墙方案、逻辑分段、白名单或黑名单来限定网络基础设施。
[0089] 在一些实现中,多个端点可以包括控制设备、输入/输出(I/O)设备、人机接口(HMI)设备或计算设备。在一些实现中,多个端点可以包括物联网(IoT)设备。
[0090] 在一些实现中,系统可以被配置为实现多个过程,并且上下文信息可以针对多个端点中的每个端点,来标识端点与多个过程中的一个或多个过程的关联。在一些实现中,该系统可以包括动态车辆通信系统。
[0091] 尽管图5示出了过程500的示例框,但是在一些实现中,过程500可以包括附加的框、更少的框、不同的框、或者与图5中描绘的框不同地布置的框。附加地或备选地,可以并行地执行过程500的两个或更多个框。
[0092] 图6是用于控制设备之间的通信的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由基础设施部署平台(例如,基础设施部署平台215)执行。在一些实现中,图6的一个或多个过程框可以由与基础设施部署平台分离或包括基础设施部署平台的另一设备或设备群组执行,诸如(多个)系统设备210和/或(多个)网络设备230。在一些实现中,非暂态计算机可读介质可以包括指令。在一些实现中,指令可以包括一个或多个指令,该一个或多个指令在由设备(例如,基础设施部署平台)的一个或多个处理器执行时,使该一个或多个处理器执行过程600。
[0093] 如图6中所示,过程600可以包括接收与多个物联网(IoT)设备(例如,系统设备210)有关的配置数据,多个IoT设备通信地耦合到网络(例如,网络235)的网络基础设施控制器(框610)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源
222、处理器320、存储器330、存储组件340、输入组件350、通信接口370等的基础设施部署平台)可以接收与多个物联网(IoT)设备有关的配置数据。在一些实现中,多个IoT设备可以通信地耦合到网络的网络基础设施控制器。
[0094] 如图6中进一步所示,过程600可以包括在接收到配置数据之后,通过以下方式来处理配置数据:在配置数据中标识与多个IoT设备的每个IoT设备有关的网络信息,并且基于该网络信息导出一个或多个命令(框620)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340等的基础设施部署平台)可以在接收到配置数据之后处理配置数据。在一些实现中,基础设施部署平台可以通过以下方式来处理配置数据:在配置数据中标识与多个IoT设备中的每个IoT设备有关的网络信息,并且基于该网络信息导出一个或多个命令。
[0095] 如图6中进一步所示,过程600可以包括向网络基础设施控制器提供一个或多个命令,该一个或多个命令被配置为使网络基础设施控制器针对多个IoT设备中的每个IoT设备,来过滤源自IoT设备的出口通信(框630)。例如,如上面结合图1A-图1C所述,基础设施部署平台(例如,使用计算资源222、处理器320、存储器330、存储组件340、输出组件360、通信接口370等的基础设施部署平台)可以向网络基础设施控制器提供一个或多个命令。在一些实现中,该一个或多个命令可以被配置为使网络基础设施控制器针对多个IoT设备中的每个IoT设备来过滤源自IoT设备的出口通信。
[0096] 过程600可以包括另外的实现,诸如下面描述的和/或结合在本文其他地方描述的一个或多个其他过程的任何单个实现或实现的任何组合。
[0097] 在一些实现中,网络信息可以针对多个IoT设备中的每个IoT设备,来标识与IoT设备相关联的相应预期通信接收方。在一些实现中,该一个或多个命令可以被配置为通过以下方式使网络基础设施控制器过滤源自多个IoT设备中的每个IoT设备的出口通信:使网络基础设施控制器仅允许特定的出口通信穿过网络,该出口通信被定向到与IoT设备相关联的相应预期通信接收方。
[0098] 在一些实现中,针对多个IoT设备中的每个IoT设备,网络信息可以标识与关联于IoT设备的相应预期通信接收方相关联的互联网协议(IP)地址,或与相应预期通信接收方相关联的域名。在一些实现中,多个IoT设备可以包括消费者IoT设备、工业IoT设备、或智能城市IoT设备。在一些实现中,当接收配置数据时,基础设施部署平台可以从被配置为管理多个IoT设备的服务器设备接收配置数据。
[0099] 尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括附加的框、更少的框,不同的框、或者与图6中描绘的框不同地布置的框。附加地或备选地,可以并行执行过程600的两个或更多个框。
[0100] 下面是一些说明性实施例。
[0101] 1.一种方法,包括:由基础设施部署平台接收与多个设备有关的配置数据,多个设备被包括作为系统的组件;在接收到配置数据之后,由基础设施部署平台处理配置数据,基于处理配置数据,由基础设施部署平台确定涉及多个设备的上下文信息,该上下文信息标识多个设备之间的通信关系或关联;由基础设施部署平台限定用于多个设备的网络的组织结构,该组织结构基于通信关系或关联来约束多个设备之间的通信;由基础设施部署平台将上下文信息或关于组织结构的数据传输到网络基础设施控制器设备;以及由基础设施部署平台执行动作,以使网络基于组织结构而被部署。
[0102] 2.根据示例1的方法,其中上下文信息还标识:与多个设备中的两个或更多个设备相关联的功能;并且其中限定组织结构包括:限定组织结构,使得组织结构还基于功能来约束多个设备之间的通信。
[0103] 3.根据示例1的方法,其中限定组织结构包括:使用以下中的至少一个来限定组织结构:虚拟局域网(VLAN),物理分段,防火墙,逻辑分段,白名单,或黑名单。
[0104] 4.根据示例1的方法,其中配置数据包括:与多个设备中的一个或多个设备相关联的控制逻辑;针对多个设备中的两个或更多个设备的设备标识信息;或与多个设备中的两个或更多个设备相关联的地址信息。
[0105] 5.根据示例1的方法,其中接收配置数据包括:基于检测到初始配置数据的改变和/或与系统相关联的指令代码,接收配置数据。
[0106] 6.根据示例1的方法,其中执行动作包括:执行动作,以使网络被部署使得安全性标签被附加到与多个设备有关的传输的层2以太网帧。
[0107] 7.根据示例1的方法,其中系统包括以下中的至少一个:工业控制系统(ICS),分布式控制系统(DCS),建筑自动化系统(BAS),建筑管理系统(BMS),工业物联网(IIoT)系统,物联网(IoT)系统,包括一个或多个医学设备的系统,或包括一个或多个车辆的系统。
[0108] 8.根据示例1的方法,其中基础设施部署平台从服务器设备接收配置数据,该服务器设备被定位为远离多个设备。
[0109] 9.根据示例1的方法,其中网络基础设施控制器设备被定位为远离多个设备。
[0110] 10.一种设备,包括:一个或多个存储器;以及一个或多个处理器,一个或多个处理器通信地耦合到一个或多个存储器,该一个或多个处理器被配置为:接收与系统的多个端点有关的至少一个配置文件,在接收到至少一个配置文件之后,解析至少一个配置文件,基于解析至少一个配置文件,确定涉及多个端点的上下文信息,该上下文信息标识与多个端点相关联的功能和/或多个端点之间的通信关系;限定用于多个端点的网络基础设施,网络基础设施基于功能和/或通信关系来约束多个端点之间的通信;以及执行动作,以使网络基于网络基础设施而被实现。
[0111] 11.根据示例10的设备,其中在限定网络基础设施时,该一个或多个处理器被配置为:通过将标识符与多个端点中的两个或更多个端点相关联,来限定网络基础设施。
[0112] 12.根据示例10的设备,其中在限定网络基础设施时,该一个或多个处理器被配置为:基于以下中的至少一个来限定网络基础设施:虚拟局域网(VLAN)方案,物理分段,防火墙方案,逻辑分段,白名单,或黑名单。
[0113] 13.根据示例10的设备,其中多个端点包括:控制设备;输入/输出(I/O)设备;人机接口(HMI)设备;或计算设备。
[0114] 14.根据示例10的设备,其中多个端点包括物联网(IoT)设备。
[0115] 15.根据示例10的设备,其中系统被配置为实现多个过程;并且其中上下文信息针对多个端点中的每个端点,来标识端点与多个过程中的一个或多个过程的关联。
[0116] 16.根据示例10的设备,其中系统包括动态车辆通信系统或车辆控制系统。
[0117] 17.一种包括指令的非暂态计算机可读介质,该指令包括:一个或多个指令,该一个或多个指令在由设备的一个或多个处理器执行时,使一个或多个处理器:接收与多个物联网(IoT)设备有关的配置数据,该多个IoT设备通信地耦合到网络的网络基础设施控制器;在接收到配置数据之后,处理配置数据,其中使一个或多个处理器处理配置数据的一个或多个指令使一个或多个处理器:在配置数据中标识与多个IoT设备中的每个IoT设备有关的网络信息,以及基于网络信息导出一个或多个命令;以及向网络基础设施控制器提供一个或多个命令,该一个或多个命令被配置为:使网络基础设施控制器针对多个IoT设备中的每个IoT设备,来过滤源自IoT设备的出口通信。
[0118] 18.根据示例17的非暂态计算机可读介质,其中网络信息针对多个IoT设备中的每个IoT设备,来标识与IoT设备相关联的相应预期通信接收方。
[0119] 19.根据示例18的非暂态计算机可读介质,其中一个或多个命令被配置为使网络基础设施控制器通过以下方式来过滤源自多个IoT设备中的每个IoT设备的出口通信:使网络基础设施控制器仅允许特定的出口通信穿过网络,该特定的出口通信被定向到与IoT设备相关联的相应预期通信接收方。
[0120] 20.根据示例18的非暂态计算机可读介质,其中网络信息针对多个IoT设备中的每个IoT设备来标识:与关联于IoT设备的相应预期通信接收方相关联的互联网协议(IP)地址;或与相应预期通信接收方相关联的域名。
[0121] 以这种方式,基础设施部署平台可以利用系统(诸如工业控制系统等,其具有有限的受控结果集)的结构化性质,来设计用于该系统中的设备的、安全的网络基础设施。如本文所述,基于上下文信息来组织网络基础设施、使得设备到设备通信被约束巩固(例如,硬化)了设备的整体通信架构,这提供了更不易受攻击的、更安全的网络。这还简化了整体网络,从而实现更高效地部署对系统和/或网络的更新和/或升级。如本文所述,在进行系统配置时实时地(或接近实时地)启用网络的设计和部署还允许在整个开发过程中测试网络的各个部分,这进一步提高了最终网络的可靠性。此外,如本文所述,过滤网络中的出口通信或业务(例如,用于IoT设备的系统等)限制了恶意行为方危害网络,这提高了整体系统安全性。
[0122] 前述的公开内容提供了说明和描述,但并非旨在穷举、或将实现限于所公开的精确形式。鉴于以上公开内容的修改和变化是可能的,或者可以从实现的实践中获得。
[0123] 如本文所使用的,术语组件旨在被广义地解释为硬件、固件、或硬件和软件的组合。
[0124] 如本文所使用的,分组可以指用于传递信息的通信结构,诸如协议数据单元(PDU)、网络分组、帧、数据报、分段、消息、块、小区、帧、子帧、时隙、符号、上述任意一项的一部分、和/或能够经由网络被传输的其他类型的经格式化或未经格式化的数据单元。
[0125] 显而易见的是,本文描述的系统和/或方法可以以硬件、固件或硬件和软件的组合的不同形式来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。因此,本文没有参考具体的软件代码来描述系统和/或方法的操作和行为——应当理解,可以将软件和硬件设计为基于本文的描述来实现该系统和/或方法。
[0126] 即使在权利要求中记载了和/或在说明书中公开了特定的特征组合,但是这些组合并不旨在限制公开可能的实现。实际上,这些特征中的许多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可能直接仅依赖于一个权利要求,但是可能的实现的公开包括每个从属权利要求与权利要求集中的每个其他的权利要求进行组合。
[0127] 除非明确地如此描述,否则本文使用的元件、动作或指令不应当被解释为是关键的或必要的。此外,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。另外,如本文所使用的,术语“集”旨在包括一个或多个项目(例如,有关项目、无关项目、有关项目和无关项目的组合等),并且可以与“一个或多个”互换使用。在仅有一个项目的情况下,使用术语“一个”或类似的语言。此外,如本文所使用的,术语“有”、“具有”、“带有”等的术语旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。