跨安全层安全通信的制作方法

文档序号:17732615发布日期:2019-05-22 02:57阅读:147来源:国知局
跨安全层安全通信的制作方法

本公开整体涉及安全通信。更具体地讲,本公开涉及工业控制系统中跨安全层的安全通信。



背景技术:

工业控制系统(ics)遵循基于普渡(purdue)模型的分层网络体系结构-l1至l5网络级别/安全层。通常,级别之间没有域信任。例如,l4安全层将具有l3安全层域控制器不信任的域控制器,反之亦然。基于这些安全层分离,l4安全层处的用户在l3安全层处不受信任(不可识别),反之亦然。在ics系统中,通常不允许用户跨层。



技术实现要素:

本公开提供工业控制系统中跨安全层的安全通信。

在第一实施方案中,提供了工业控制和自动化系统中的安全层。安全层包括用户数据库、web服务器、安全令牌服务器(sts)和应用程序服务器。用户数据库被配置为存储具有凭证的用户的身份以访问安全层的控制器。web服务器被配置为使用客户端设备来识别操作员。sts被配置为认证安全层的操作员。应用程序服务器被配置为协商客户端设备对目标安全层中的目标应用程序服务器的访问。

在第二实施方案中,提供了工业控制和自动化系统。该系统包括目标安全层和安全层。目标安全层包括目标sts和目标应用程序服务器。安全层包括用户设备、web服务器、sts和应用程序服务器。用户数据库被配置为存储具有凭证的用户的身份以访问安全层的控制器。web服务器被配置为使用客户端设备来识别操作员。sts被配置为认证安全层的操作员。应用程序服务器被配置为协商客户端设备对目标安全层中的目标应用程序服务器的访问。

在第三实施方案中,提供了用于工业控制系统中跨安全层的安全通信的方法。该方法包括使用web服务器来识别使用客户端设备访问目标安全层中的目标控制器的操作员。该方法还包括使用安全令牌服务器(sts)来认证客户端设备的操作员以访问目标安全层中的目标应用程序服务器。该方法还包括使用应用程序服务器来协商客户端设备对目标安全层中的目标应用程序服务器的访问。

从以下附图、描述和权利要求中,本领域的技术人员可容易地清楚其他技术特征。

附图说明

为了更完整地理解本公开,现在参考以下结合附图来进行的描述,其中:

图1示出了根据本公开的示例性工业控制和自动化系统;

图2示出了根据本公开的跨安全层的安全通信的示例;

图3示出了根据本公开的跨安全层的安全通信的另一个示例;

图4示出了根据本公开的跨安全层的安全通信的另外的示例;并且

图5示出了根据本公开的用于工业控制系统中跨安全层的安全通信的示例性方法。

具体实施方式

下文讨论的图1至图5,以及用于描述本公开在该专利文献中的原理的各种实施方案仅以例证的方式进行,并且不应理解为以任何方式限制本公开的范围。本领域的技术人员将理解,本公开的原理可以在任何类型的适当布置的设备或系统中实现。

跨安全层的安全通信可能需要相当数量的开发和维护时间/资源。安全地跨层复制数据并跨域安装相同软件会增加安装的占用空间和总拥有成本(许可、维护等)。设置受信任的子系统模型,其中授权必须基于受信任的子系统的身份而不是访问资源的实际用户,这不符合大多数工业控制和自动化系统的安全和法律要求。

基于声明的解决方案基于如openidconnect、oauth2.0等的开放标准。基于声明的解决方案的独特之处在于如何采用开放标准来解决跨安全层的安全通信中的问题,尤其是当用户呼叫经由服务进行路由以访问另一个安全层中的资源时。

例如,l3网络和l4网络均维护其自身的安全层或安全区。l3安全层和l4安全层可定义安全令牌服务,该安全令牌服务能够将用户身份转化为签名、加密并通过请求跨安全层传输的令牌。令牌由对应的安全子系统使用,该子系统首先验证令牌,并且然后基于来自原始安全层的用户身份来授权对所需资源的请求。l3安全层基于令牌中提供的信息来授权l4用户。这使l3安全层管理员可以控制l4用户对l3资源的访问,并基于特定用户身份控制访问,从而减少暴露的受攻击面,因为基于令牌的方法允许访问由l3安全层中的安全子系统控制的特定资源。

图1示出了根据本公开的示例性工业过程控制和自动化系统100。如图1所示,系统100包括有利于生产或加工至少一种产品或其他材料的各种部件。例如,在此使用系统100以有利于对一个或多个厂房101a至101n中的部件的控制。每个厂房101a至101n表示一个或多个加工设施(或其一个或多个部分),诸如用于生产至少一种产品或其他材料的一个或多个制造设施。一般来讲,每个厂房101a至101n可以实现一个或多个过程,并且可以单独地或共同地被称为过程系统。过程系统通常表示被配置为以某种方式加工一种或多种产品或其他材料的其任何系统或部分。

在图1中,系统100使用过程控制的普渡模型来实现。在普渡模型中,“0级”可以包括一个或多个传感器102a和一个或多个致动器102b。传感器102a和致动器102b表示过程系统中可执行多种功能中的任一种功能的部件。例如,传感器102a可测量过程系统中的多种特性,诸如温度、压力、流速、或通过电缆传输的电压。另外,致动器102b可以改变过程系统中的多种特性。传感器102a和致动器102b可以表示任何合适的过程系统中的任何其他或附加部件。传感器102a中的每个传感器包括用于测量过程系统中的一个或多个特性的任何合适的结构。致动器102b中的每个致动器包括用于在工艺系统中对一个或多个条件进行操作或影响的任何合适的结构。

至少一个网络104耦接到传感器102a和致动器102b。网络104有利于与传感器102a和致动器102b的交互。例如,网络104可传输来自传感器102a的测量数据并向致动器102b提供控制信号。网络104可以表示任何合适的网络或网络的组合。作为特定示例,网络104可以表示以太网网络、电信号网络(诸如hart或基金会现场总线(ff)网络)、气动控制信号网络,或任何其他或一个或多个附加类型的一个或多个网络。

在普渡模型中,“1级”可包括一个或多个控制器106,该一个或多个控制器耦接到网络104。除了其他以外,每个控制器106可以使用来自一个或多个传感器102a的测量结果来控制一个或多个致动器102b的操作。例如,控制器106可从一个或多个传感器102a接收测量数据,并且使用测量数据为一个或多个致动器102b生成控制信号。多个控制器106也可在冗余配置中操作,诸如当一个控制器106作为主控制器操作而另一个控制器106作为备用控制器(其与主控制器同步并且可在主控制器发生故障的情况下接管主控制器)操作时。每个控制器106包括用于与一个或多个传感器102a进行交互并且控制一个或多个致动器102b的任何合适的结构。每个控制器106可以例如表示多变量控制器,例如鲁棒多变量预测控制技术(rmpct)控制器或实现模型预测控制(mpc)或其他高级预测控制(apc)的其他类型的控制器。作为特定示例,每个控制器106可以表示运行实时操作系统的计算设备。

两个网络108耦接到控制器106。网络108有利于与控制器106的交互,诸如通过向控制器106传输数据和从控制器传输数据。网络108可以表示任何合适的网络或网络的组合。作为特定示例,网络108可以表示一对以太网网络或一对冗余的以太网网络,诸如来自霍尼韦尔国际公司(honeywellinternationalinc.)的容错以太网(fte)网络。

至少一个交换机/防火墙110将网络108耦接到两个网络112。交换机/防火墙110可以将流量从一个网络传输到另一个网络。交换机/防火墙110还可以阻止一个网络上的流量到达另一个网络。交换机/防火墙110包括用于在网络之间提供通信的任何合适的结构,诸如霍尼韦尔控制防火墙(honeywellcontrolfirewall)(cf9)设备。网络112可以表示任何合适的网络,诸如一对以太网网络或fte网络。

在普渡模型中,“2级”可以包括耦接到网络112的一个或多个机器级控制器114。机器级控制器114执行各种功能以支持可与特定的工业设备(诸如锅炉或其他机器)相关联的控制器106、传感器102a和致动器102b的操作和控制。例如,机器级控制器114可以记录由控制器106收集或生成的信息,诸如来自传感器102a的测量数据或用于致动器102b的控制信号。机器级控制器114还可以执行控制控制器106的操作的应用程序,从而控制致动器102b的操作。此外,机器级控制器114可以提供对控制器106的安全访问。机器级控制器114中的每个机器级控制器包括用于提供对机器或其他单独设备的访问、控制或与其相关的操作的任何合适的结构。机器级控制器114中的每个机器级控制器可以例如表示运行microsoftwindows操作系统的服务器计算设备。虽然未示出,但是不同机器级控制器114可以用于控制过程系统中的不同设备(其中每件设备与一个或多个控制器106、传感器102a和致动器102b相关联)。

一个或多个操作员站116耦接到网络112。操作员站116表示提供对机器级控制器114的用户访问的计算设备或通信设备,其然后可以提供对控制器106(以及可能的传感器102a和致动器102b)的用户访问。作为特定示例,操作员站116可以允许用户使用由控制器106和/或机器级控制器114收集的信息来查看传感器102a和致动器102b的操作历史。操作员站116还可以允许用户调整传感器102a、致动器102b、控制器106或机器级控制器114的操作。此外,操作员站116可以接收和显示由控制器106或机器级控制器114生成的警告、警示或其他消息或显示。操作员站116中的每个操作员站包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站116中的每个操作员站可以例如表示运行microsoftwindows操作系统的计算设备。

至少一个路由器/防火墙118将网络112耦接到两个网络120。路由器/防火墙118包括用于在网络之间提供通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络120可以表示任何合适的网络,诸如一对以太网网络或fte网络。

在普渡模型中,“3级”可以包括耦接到网络120的一个或多个单元级控制器122。每个单元级控制器122通常与过程系统中的单元相关联,该单元表示一起操作以实现过程的至少一部分的不同机器的集合。单元级控制器122执行各种功能以支持较低级别中的部件的操作和控制。例如,单元级控制器122可以记录由较低级别中的部件收集或生成的信息,执行控制较低级别中的部件的应用程序,并且提供对较低级别中的部件的安全访问。单元级控制器122中的每个单元级控制器包括用于提供对处理单元中的一个或多个机器或其他设备的访问、控制或与其相关的操作的任何合适的结构。单元级控制器122中的每个单元级控制器可以例如表示运行microsoftwindows操作系统的服务器计算设备。虽然未示出,但是不同单元级控制器122可以用于控制过程系统中的不同单元(其中每个单元与一个或多个机器级控制器114、控制器106、传感器102a和致动器102b相关联)。

可以由一个或多个操作员站124提供对单元级控制器122的访问。操作员站124中的每个操作员站包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站124中的每个操作员站可以例如表示运行microsoftwindows操作系统的计算设备。

至少一个路由器/防火墙126将网络120耦接到两个网络128。路由器/防火墙126包括用于在网络之间提供通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络128可以表示任何合适的网络,诸如一对以太网网络或fte网络。

在普渡模型中,“4级”可以包括耦接到网络128的一个或多个厂房级控制器130。每个厂房级控制器130通常与厂房101a-101n中的一个厂房相关联,该厂房可以包括实现相同、类似或不同过程的一个或多个处理单元。厂房级控制器130执行各种功能以支持较低级别中的部件的操作和控制。作为特定示例,厂房级控制器130可以执行一个或多个制造执行系统(mes)应用程序、调度应用程序或其他或附加厂房或过程控制应用程序。厂房级控制器130中的每个厂房级控制器包括用于提供对加工厂房中的一个或多个处理单元的访问、控制或与其相关的操作的任何合适的结构。厂房级控制器130中的每个厂房级控制器可以例如表示运行microsoftwindows操作系统的服务器计算设备。

可以由一个或多个操作员站132提供对厂房级控制器130的访问。操作员站132中的每个操作员站包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站132中的每个操作员站可以例如表示运行microsoftwindows操作系统的计算设备。

至少一个路由器/防火墙134将网络128耦接到一个或多个网络136。路由器/防火墙134包括用于在网络之间提供通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络136可以表示任何合适的网络,诸如企业型以太网或其他网络,或更大型网络(诸如互联网)的全部或一部分。

在普渡模型中,“5级”可以包括耦接到网络136的一个或多个企业级控制器138。每个企业级控制器138通常能够执行多个厂房101a-101n的规划操作并控制厂房101a-101n的各个方面。企业级控制器138还可以执行各种功能以支持厂房101a-101n中的部件的操作和控制。作为特定示例,企业级控制器138可以执行一个或多个订单处理应用程序、企业资源规划(erp)应用程序、高级规划和调度(aps)应用程序或任何其他或附加企业控制应用程序。企业级控制器138中的每个企业级控制器包括用于提供对一个或多个厂房的控制的访问、控制、或与其相关的操作的任何合适的结构。企业级控制器138中的每个企业级控制器可以例如表示运行microsoftwindows操作系统的服务器计算设备。在本文中,术语“企业”是指具有要管理的一个或多个厂房或其他加工设施的组织。应当注意,如果要管理单个厂房101a,那么企业级控制器138的功能可以结合到厂房级控制器130中。

可以由一个或多个操作员站140提供对企业级控制器138的访问。操作员站140中的每个操作员站包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何合适的结构。操作员站140中的每个操作员站可以例如表示运行microsoftwindows操作系统的计算设备。

普渡模型的各个级别可包括其他部件,诸如一个或多个数据库。与每个级别相关联的一个或多个数据库可存储与该级别或系统100的一个或多个其他级别相关联的任何合适的信息。例如,历史数据库141可耦接到网络136。历史数据库141可以表示存储关于系统100的各种信息的部件。历史数据库141可以例如存储在生产调度和优化期间使用的信息。历史数据库141表示用于存储信息和有利于信息检索的任何合适的结构。虽然被示出为耦接到网络136的单个集中式部件,但是历史数据库141可以位于系统100中的其他位置,或者多个历史数据库可以分布在系统100中的不同位置。

在特定实施方案中,图1中的各种控制器和操作员站可以表示计算设备。例如,控制器中的每个控制器可以包括一个或多个处理设备142和一个或多个存储器144,该一个或多个存储器用于存储由一个或多个处理设备142使用、生成或收集的指令和数据。控制器中的每个控制器还可以包括至少一个网络接口146,诸如一个或多个以太网接口或无线收发器。另外,操作员站中的每个操作员站可以包括一个或多个处理设备148以及用于存储由一个或多个处理设备148使用、生成或收集的指令和数据的一个或多个存储器150。操作员站中的每个操作员站还可以包括至少一个网络接口152,诸如一个或多个以太网接口或无线收发器。

根据本公开,系统100的各种部件支持用于工业过程控制和自动化系统100中跨安全层的安全通信的过程。例如,操作员站132中的一个或多个操作员站可被认证以与单元控制器122或机器控制器114进行安全通信,如下面更详细描述的。

虽然图1示出了工业过程控制和自动化系统100的一个示例,但是可以对图1作出各种改变。例如,控制系统可以包括任何数量的传感器、致动器、控制器、服务器、操作员站和网络。另外,图1中的系统100的组成和布置方式仅用于例示。部件可根据特定需要添加、省略、组合、或以任何其他合适的配置放置。此外,特定功能已被描述为由系统100的特定部件执行。这仅用于例示。一般来讲,过程控制系统是高度可配置的,并且可根据特定需要以任何合适的方式配置。

图2示出了根据本公开的跨安全层的示例性安全通信200。示于图2中的跨安全层的安全通信200的实施方案仅用于例示。图2不将本公开的范围限制于任何特定实施方式。

安全通信200在安全层202和目标安全层204上发生。在安全通信200的图示中,安全层202和目标安全层204由层边界205划分。安全层202可表示工业控制和自动化系统中来自普渡模型的任何层或级别。例如,安全级别202可包括与普渡模型的4级相关联的部件。目标安全层204可表示除安全层202之外的任何层或级别。例如,目标安全层204可包括与普渡模型的3级相关联的部件。安全层202包括web服务器208、安全令牌服务器(sts)210、应用程序服务器212和用户数据库214。目标安全层204包括目标web服务器216、目标sts218、目标应用程序服务器220和目标用户数据库222。web服务器208和目标web服务器216用于客户端设备206以初始访问特定安全层。sts210和目标sts218通过为sts所在的特定层生成访问令牌来授权对相应安全层的访问。例如,sts210生成用于安全层202的访问令牌,并且目标sts218生成用于目标安全层204的访问令牌。应用程序服务器212和目标应用程序服务器220执行相应安全层的应用程序。用户数据库214和目标用户数据库222存储被授予对相应安全层的访问的操作员的安全凭证。

web服务器208识别使用客户端设备206访问目标安全层204中的目标控制器的操作员。在操作224中,客户端设备206尝试访问目标安全层204上的应用程序。在操作226中,一旦web服务器208接收到访问应用程序的尝试,web服务器208便利用sts启动客户端设备206的sts认证。web服务器208与sts210通信,以便在客户端设备206初始访问安全层202时执行操作员识别。在操作228中,web服务器208通过重新导向客户端设备206以与sts210通信来响应访问尝试。

sts210认证客户端设备206的操作员以访问安全层202中的应用程序服务器212。在操作230中,sts210通过将操作员与用户数据库214中的身份进行比较来认证客户端设备206的操作员。用户数据库214存储具有凭证的用户的身份以访问安全层202的控制器。在操作232中,一旦sts210利用用户凭证认证操作员,sts210便向客户端设备206提供身份令牌。在操作234中,客户端设备206将身份令牌传输到web服务器208。web服务器208使用从客户端设备206接收的身份令牌,并且准备对应于客户端设备206的访问令牌。在操作236中,web服务器208向应用程序服务器212提供访问令牌。在操作238中,应用程序服务器212使用访问令牌来与sts210通信以便认证安全层202的客户端设备206。

一旦客户端设备206在应用程序服务器212和目标应用程序服务器220处被认证,它们便对于客户端设备206进行协商以访问目标安全层206中的目标应用程序服务器220。在操作240中,应用程序服务器212将访问令牌传输到目标应用程序服务器220。在操作242中,目标应用程序服务器220从访问令牌访问安全层声明,并基于安全层202和目标安全层204的配置将安全层声明映射到目标安全声明。在操作244中,目标应用程序服务器220使用sts210的访问令牌来认证客户端设备206。在操作246中,一旦利用安全层202上的sts210授权客户端设备206,目标应用程序服务器便利用目标sts218认证客户端设备206。在操作248中,一旦目标应用程序服务器220从目标sts218接收到认证,目标应用程序服务器220便传输对访问目标安全层204的控制器的请求的响应。目标应用程序服务器220允许客户端设备206访问目标安全层204的控制器。

虽然图2示出了安全通信200的示例,但是可以对图2作出各种改变。例如,虽然在图2中示出了部件的配置,但是其他实施方案可包括更多或更少的部件。

图3示出了根据本公开的跨安全层的另一个示例性安全通信300。图3中的跨安全层的安全通信300的实施方案仅用于例示。图3不将本公开的范围限制于任何特定实施方式。

安全通信300在安全层302和目标安全层304之上发生。在安全通信300的图示中,安全层302和目标安全层304由层边界305划分。安全层302可表示工业控制和自动化系统中来自普渡模型的任何层。目标安全层304可表示除安全层302之外的任何层。安全层302包括web服务器308、sts310、应用程序服务器312和用户数据库314。目标安全层304包括目标web服务器316、目标sts318、目标应用程序服务器320和目标用户数据库322。sts310和目标sts318通过为sts所在的特定层生成访问令牌来授权对相应安全层的访问。例如,sts310生成用于安全层302的访问令牌,并且目标sts318生成用于目标安全层304的访问令牌。应用程序服务器312和目标应用程序服务器320执行相应安全层的应用程序。用户数据库314和目标用户数据库322存储被授予对相应安全层的访问的操作员的安全凭证。

web服务器308识别使用客户端设备306访问目标安全层304中的目标控制器的操作员。在操作324中,客户端设备306尝试访问目标安全层304上的应用程序。在操作326中,一旦web服务器308接收到访问应用程序的尝试,web服务器308便利用sts启动客户端设备306的sts认证。web服务器308与sts310通信,以便在客户端设备306初始访问安全层302时执行操作员识别。在操作328中,web服务器308通过重新导向客户端设备306以与sts310通信来响应访问尝试。

sts310认证客户端设备306的操作员以访问安全层302中的应用程序服务器312。在操作330中,sts310通过将操作员与用户数据库314中的身份进行比较来认证客户端设备306的操作员。用户数据库314存储具有凭证的用户的身份以访问安全层302的控制器。在操作332中,一旦sts310利用用户凭证认证操作员,sts310便向客户端设备306提供身份令牌。在操作334中,客户端设备306将身份令牌传输到web服务器308。web服务器308使用从客户端设备306接收的身份令牌,并且准备对应于客户端设备306的访问令牌。在操作336中,web服务器308向应用程序服务器312提供访问令牌。在操作338中,应用程序服务器312使用访问令牌来与sts310通信以便认证安全层302的客户端设备306。在操作340中,一旦客户端设备306在应用程序服务器312处被认证,应用程序服务器312便将安全层302的访问令牌传输到目标安全层中的目标sts318。

目标sts318验证目标安全层304的客户端设备306或应用程序服务器312。目标sts318还通过确定令牌是否由sts310发布来验证令牌,其中目标sts318信任sts310。在操作342中,目标sts318接收安全层302的访问令牌,并且验证目标安全层304的目标访问令牌。目标sts318将目标访问令牌传输回到应用程序服务器312。

应用程序服务器312和目标应用程序服务器320对于客户端设备306进行协商以访问目标安全层304中的目标应用程序服务器320。在操作344中,应用程序服务器312接收目标访问令牌并且将目标访问令牌传输到目标应用程序服务器320。在操作346中,目标应用程序服务器320利用目标sts318认证客户端设备306。在操作348中,一旦目标应用程序服务器320从目标sts318接收到认证,目标应用程序服务器320便传输对访问目标安全层304的控制器的请求的响应。目标应用程序服务器320允许客户端设备306访问目标安全层304的控制器。

虽然图3示出了跨安全层的安全通信300的示例,但是可以对图3作出各种改变。例如,虽然在图3中示出了部件的配置,但是其他实施方案可包括更多或更少的部件。

图4示出了根据本公开的跨安全层的另一个示例性安全通信400。图4中的跨安全层的安全通信400的实施方案仅用于例示。图4不将本公开的范围限制于任何特定实施方式。

安全通信400在安全层402和目标安全层404之上发生。在安全通信400的图示中,安全层402和目标安全层404由层边界405划分。安全层402可表示工业控制和自动化系统中来自普渡模型的任何层。目标安全层404可表示除安全层402之外的任何层。安全层402包括web服务器408、sts410、应用程序服务器412和用户数据库414。目标安全层404包括目标web服务器416、目标sts418、目标应用程序服务器420和目标用户数据库422。web服务器408和目标web服务器416用于客户端设备406以初始访问特定安全层。sts410和目标sts418通过为sts所在的特定层生成访问令牌来授权对相应安全层的访问。例如,sts410生成用于安全层402的访问令牌,并且目标sts418生成用于目标安全层404的访问令牌。应用程序服务器412和目标应用程序服务器420执行相应安全层的应用程序。用户数据库414和目标用户数据库422存储被授予对相应安全层的访问的操作员的安全凭证。

web服务器408识别使用客户端设备406访问目标安全层404中的目标控制器的操作员。在操作424中,客户端设备406尝试访问目标安全层404上的应用程序。在操作426中,一旦web服务器408接收到访问应用程序的尝试,web服务器408便利用sts410启动客户端设备406的sts认证426。web服务器408与sts410通信,以便在客户端设备406初始访问安全层402时执行操作员识别。在操作428中,web服务器408通过重新导向客户端设备406以与sts410通信来响应访问尝试。

sts410认证客户端设备406的操作员以访问安全层402中的应用程序服务器412。在操作430中,sts410通过将操作员与用户数据库414中的身份进行比较来认证客户端设备406的操作员。用户数据库414存储具有凭证的用户的身份以访问安全层402的控制器。在操作432中,一旦sts410利用用户凭证认证操作员,sts410便向客户端设备406提供身份令牌。在操作434中,客户端设备406将身份令牌传输到web服务器408。web服务器408使用从客户端设备406接收的身份令牌,并且准备对应于客户端设备406的访问令牌。在操作436中,web服务器408向应用程序服务器412提供访问令牌。在操作438中,应用程序服务器412使用访问令牌来与sts410通信以便认证安全层402的客户端设备406。

一旦客户端设备406在应用程序服务器412、应用程序服务器412、应用程序服务器412和目标应用程序服务器420处被认证,它们便对于客户端设备406进行协商以访问目标安全层406中的目标应用程序服务器420。在操作440中,应用程序服务器412将访问令牌传输到目标应用程序服务器420。在操作442中,目标应用程序服务器420从访问令牌访问安全层声明,并基于安全层402和目标安全层404的配置将安全层声明映射到目标安全层声明。在操作442中,目标应用程序服务器利用目标sts418认证客户端设备406。在操作444中,一旦利用目标安全层404上的目标sts418授权客户端设备406,目标sts418便利用sts410认证客户端设备。在操作446中,目标sts418从访问令牌访问目标层声明,并基于安全层402和目标安全层404的配置将安全层声明映射到目标安全层声明。在操作448中,目标sts418将访问令牌重新发布为具有目标安全层声明的目标访问令牌。在操作450中,一旦目标应用程序服务器420从目标sts418接收到目标访问令牌,目标应用程序服务器420便传输对访问目标安全层404的控制器的请求的响应。目标应用程序服务器420允许客户端设备406访问目标安全层404的控制器。

虽然图4示出了跨安全层的安全通信400的示例,但是可以对图4作出各种改变。例如,虽然在图4中示出了部件的配置,但是其他实施方案可包括更多或更少的部件。

图5示出了根据本公开的用于跨安全层的安全通信的示例性方法500。图5中描绘的过程被描述为使用图2的安全通信200、图3的安全通信300、或图4的安全通信400结合示于图1中的工业过程系统100来执行。

在操作505中,web服务器识别使用客户端设备访问目标安全层中的目标控制器的操作员。客户端设备尝试访问目标安全层上的应用程序。一旦web服务器接收到访问应用程序的尝试,web服务器便利用sts启动客户端设备的sts认证。web服务器与sts通信,以便在客户端设备初始访问安全层时执行操作员识别。web服务器通过重新导向客户端设备以与sts通信来响应访问尝试。

在操作510中,sts认证客户端设备的操作员以访问安全层中的应用程序服务器。sts通过将操作员与用户数据库中的身份进行比较来认证客户端设备的操作员。用户数据库存储具有凭证的用户的身份以访问安全层的控制器。一旦sts利用用户凭证认证操作员,sts便向客户端设备提供身份令牌。客户端设备将身份令牌传输到web服务器。web服务器使用从客户端设备接收的身份令牌,并且准备对应于客户端设备的访问令牌。web服务器向应用程序服务器提供访问令牌。应用程序服务器使用访问令牌来与sts通信以便认证安全层的客户端设备。一旦客户端设备在应用程序服务器处被认证,应用程序服务器便将安全层的访问令牌传输到目标安全层中的目标sts。

在操作515中,目标sts验证目标安全层的客户端设备。目标sts接收安全层的访问令牌,并且验证目标安全层的目标访问令牌。目标sts将目标访问令牌传输回到应用程序服务器。

在操作520中,应用程序服务器和目标应用程序服务器对于客户端设备进行协商以访问目标安全层中的目标应用程序服务器。应用程序服务器接收目标访问令牌并且将目标访问令牌传输到目标应用程序服务器。目标应用程序服务器利用目标sts认证客户端设备。一旦目标应用程序服务器从目标sts接收到认证,目标应用程序服务器便传输对访问目标安全层的控制器的请求的响应。目标应用程序服务器允许客户端设备访问目标安全层的控制器。

虽然图5示出了用于跨安全层的安全通信的方法500的一个示例,但可以对图5作出各种改变。例如,示于图5中的各个步骤可重叠、并行发生、以不同顺序发生,或者发生任何次数。

阐述贯穿本专利文献中使用的某些字词和短语的定义可能是有利的。术语“传输”、“接收”、“通信”以及其衍生词涵盖直接通信和间接通信两者。术语“包括”和“包含”及其衍生词意指包括但不限于此。术语“或”是包括性的,表示和/或。短语“与…相关联”及其衍生词可以意指包括、包括在…内、与…互连、包含、包含在…内、连接到…或与…连接、耦接到…或与…耦接、可与…通信、与…协作、交错、并置、与…接近、结合到…或与…结合、具有、具有…的性质、具有与…的关系或与…具有关系等。当与项列表一起使用时,短语“…中的至少一个”意指可以使用所列的项中的一个或多个项的不同组合,并且可能仅需要列表中的一个项。例如,“a、b和c中的至少一者”包括以下组合中的任何一者:a、b、c、a和b、a和c、b和c以及a和b和c。

虽然本公开已描述了某些实施方案和大体上相关联的方法,但是这些实施方案和方法的变更和置换对于本领域的技术人员来说将是显而易见的。因此,上文对示例性实施方案的描述不限定或约束本公开。在不脱离如以下权利要求限定的本公开的实质和范围的情况下,其他改变、替换和变更也是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1