用于保护分布式控制系统(dcs)的装置和方法

文档序号:10699226阅读:321来源:国知局
用于保护分布式控制系统(dcs)的装置和方法
【专利摘要】方法包括通过网络在第一分布式控制系统(DCS)节点(202)处接收(304)与安全管理器(208)相关联的信息。方法还包括使用信息通过网络在第一DCS节点和安全管理器之间建立(306、310)多个通信信道,其中通信信道包括不安全信道和安全信道。方法进一步包括通过不安全信道在第一DCS节点处从安全管理器接收(308)安全凭证,并且通过安全信道在第一DCS节点处从安全管理器接收(312)安全策略和激活时间。另外,方法包括将第一DCS节点转变(316)成在激活时间使用安全策略通过网络与第二DCS节点通信。
【专利说明】
用于保护分布式控制系统(DCS)的装置和方法
[0001] 相关申请的交叉引用和优先权声明
[0002] 本申请根据美国法典第35条119 (e)款要求2014年1月27日提交的美国临时专利申 请号61 /9 3 2,15 2的优先权。特此通过引用整体地合并该临时专利申请。
技术领域
[0003] 本公开一般涉及工业过程控制和自动化系统,更具体地,本公开涉及用于保护分 布式控制系统(DCS)的装置和方法。
【背景技术】
[0004] 工业过程控制和自动化系统常常被用来使大的和复杂的工业过程自动化。这些类 型的系统常规地包括传感器、致动器和控制器。控制器通常从传感器接收测量结果并生成 用于致动器的控制信号。
[0005] 工业过程控制和自动化系统已经从使用晦涩的专有技术演进到使用商业现成的 (COTS)联网部件和装备。不幸地,COTS技术的使用已经随之带来了在控制和自动化系统的 正常演进过程中尚未解决的许多安全挑战。结果,工业过程控制和自动化系统易受非法访 问和使用的攻击,所述非法访问和使用诸如由可以获得对分布式控制系统中使用的通信网 络的访问的黑客进行。

【发明内容】

[0006] 本公开提供用于保护分布式控制系统(DCS)的装置和方法。
[0007] 在第一实施例中,方法包括通过网络在第一DCS节点处接收与安全管理器相关联 的信息。方法还包括使用信息通过网络在第一 DCS节点和安全管理器之间建立多个通信信 道,其中通信信道包括不安全信道和安全信道。方法进一步包括通过不安全信道在第一 DCS 节点处从安全管理器接收安全凭证并且通过安全信道在第一 DCS节点处从安全管理器接收 安全策略和激活时间。另外,方法包括将第一 DCS节点转变成在激活时间使用安全策略通过 网络与第二DCS节点通信。
[0008] 在第二实施例中,装置包括第一DCS节点,其具有至少一个接口和至少一个处理设 备。至少一个接口被配置成通过网络接收与安全管理器相关联的信息。至少一个处理设备 被配置成使用信息通过网络在第一 DCS节点和安全管理器之间建立包括不安全信道和安全 信道的多个通信信道。至少一个处理设备还被配置成经由至少一个接口通过不安全信道从 安全管理器接收安全凭证并且经由至少一个接口通过安全信道从安全管理器接收安全策 略和激活时间。至少一个处理设备被进一步配置成转变至少一个接口以在激活时间使用安 全策略通过网络与第二DCS节点通信。
[0009] 在第三实施例中,非瞬时计算机可读介质包括计算机程序。计算机程序包括用于 通过网络在第一 DCS节点处接收与安全管理器相关联的信息的计算机可读程序代码。计算 机程序还包括用于使用信息通过网络在第一 DCS节点和安全管理器之间建立多个通信信道 的计算机可读程序代码,其中通信信道包括不安全信道和安全信道。计算机程序进一步包 括用于通过不安全信道在第一 DCS节点处从安全管理器接收安全凭证并且用于通过安全信 道在第一 DCS节点处从安全管理器接收安全策略和激活时间的计算机可读程序代码。另外, 计算机程序包括用于将第一 DCS节点转变成在激活时间使用安全策略通过网络与第二DCS 节点通信的计算机可读程序代码。
[0010]根据以下的图、说明书和权利要求书,其他技术特征对本领域技术人员可能是容 易地显然的。
【附图说明】
[0011] 为了更彻底地理解本公开,现在参考结合附图采取的以下描述,在所述附图中:
[0012] 图1和2图示了根据本公开的示例工业过程控制和自动化系统以及相关细节;
[0013] 图3图示了根据本公开的用于保护分布式控制系统(DCS)的示例方法;
[0014]图4图示了根据本公开的用于保护DCS的示例信令图;以及
[0015] 图5图示了根据本公开的用于跨子网路由安全策略以支持保护DCS的示例技术。
【具体实施方式】
[0016] 下面讨论的图1到5和用来描述本专利文档中的本发明的原理的各种实施例仅被 作为说明,并且不应该被以任何方式解释成限制本发明的范围。本领域那些技术人员将理 解可以在任何类型的被适当地布置的设备或系统中实现本发明的原理。
[0017] 图1和2图示了根据本公开的示例工业过程控制和自动化系统100和相关细节。如 图1中示出的那样,系统100包括促进至少一个产品或其他材料的生产或处理的各种部件。 例如,在这里使用系统100来促进对一个或多个工厂IOla-IOln中的部件的控制。每个工厂 IOla-IOln表示一个或多个处理设施(或其一个或多个部分),诸如用于生产至少一个产品 或其他材料的一个或多个制造设施。一般地,每个工厂IOla-IOln可以实现一个或多个过程 并且可以单独地或共同地被称为过程系统。过程系统一般表示被配置成以某方式处理一个 或多个产品或其他材料的任何系统或其部分。
[0018]在图1中,使用过程控制的普渡(Purdue)模型来实现系统100。在普渡模型中,"级 别0"可以包括一个或多个传感器102a以及一个或多个致动器102b。传感器102a和致动器 102b表示可以执行种种功能中的任何功能的过程系统中的部件。例如,传感器102a可以测 量过程系统中的种种特性,诸如温度、压力或流速。并且,致动器102b可以变更过程系统中 的种种特性。传感器l〇2a和致动器102b可以表示在任何适当的过程系统中的任何其他或附 加部件。传感器l〇2a中的每个包括用于测量过程系统中的一个或多个特性的任何适当的结 构。致动器l〇2b中的每个包括用于对过程系统中的一个或多个条件起作用或影响过程系统 中的一个或多个条件的任何适当的结构。
[0019] 至少一个网络104被耦合到传感器102a和致动器102b。网络104促进与传感器102a 和致动器102b的交互。例如,网络104可以输送来自传感器102a的测量数据并向致动器102b 提供控制信号。网络104可以表示任何适当的网络或网络的组合。作为特定示例,网络104可 以表示以太网、电信号网络(诸如HART或基金会现场总线(FOUNDATION FIELDBUS)网络)、气 动控制信号网络或(一个或多个)任何(一个或多个)其他或附加类型的网络。
[0020] 在普渡模型中,"级别Γ可以包括一个或多个控制器106,其被耦合到网络104。除 了其他东西之外,每个控制器106还可以使用来自一个或多个传感器102a的测量结果来控 制一个或多个致动器l〇2b的操作。例如,控制器106可以从一个或多个传感器102a接收测量 数据并使用测量数据来生成用于一个或多个致动器l〇2b的控制信号。每个控制器106包括 用于与一个或多个传感器l〇2a交互并控制一个或多个致动器102b的任何适当的结构。每个 控制器106可以例如表示多变量控制器,诸如鲁棒多变量预测控制技术(RMPCT)控制器,或 者实现模型预测控制(MPC)或其他先进的预测控制(APC)的其他类型的控制器。作为特定示 例,每个控制器106可以表示运行实时操作系统的计算设备。
[0021] 两个网络108被耦合到控制器106。网络108诸如通过向和从控制106输送数据来促 进与控制器106的交互。网络108可以表示任何适当的网络或网络的组合。作为特定示例,网 络108可以表示一对以太网或一对冗余以太网,诸如来自霍尼韦尔国际有限公司 (HONEYWELL INTERNATIONAL INC.)的容错以太网(FTE)网络。
[0022] 至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙110可 以将业务从一个网络输送到另一网络。交换机/防火墙110还可以阻止一个网络上的业务到 达另一网络。交换机/防火墙110包括用于提供网络之间的通信的任何适当的结构,诸如霍 尼韦尔控制防火墙(CF9)设备。网络112可以表示任何适当的网络,例如一对以太网或FTE网 络。
[0023] 在普渡模型中,"级别2"可以包括被耦合到网络112的一个或多个机器级控制器 114。机器级控制器114执行各种功能以支持控制器106、传感器102a和致动器102b的操作和 控制,其可以与一件(piece)特定的工业装备(诸如锅炉或其他机器)相关联。例如,机器级 控制器114可以日志记录由控制器106收集或生成的信息,诸如来自传感器102a的测量数据 或用于致动器102b的控制信号。机器级控制器114还可以执行控制控制器106的操作的应 用,从而控制致动器102b的操作。另外,机器级控制器114可以提供对控制器106的安全访 问。机器级控制器114中的每个包括用于提供对机器或其他单件装备的访问、控制或与机器 或其他单件装备相关的操作的任何适当的结构。机器级控制器114中的每个可以例如表示 运行MICROSOFT WINDOWS操作系统的服务器计算设备。尽管未被示出,但不同的机器级控制 器114可以被用来控制过程系统中的不同件装备(其中每件装备与一个或多个控制器106、 传感器102a和致动器102b相关联)。
[0024] -个或多个操作员站116被耦合到网络112。操作员站116表示提供对机器级控制 器114的用户访问的计算或通信设备,其然后可以提供对控制器106(并且可能对传感器 102a和致动器102b)的用户访问。作为特定示例,操作员站116可以允许用户使用由控制器 106和/或机器级控制器114收集的信息来回顾传感器102a和致动器102b的操作历史。操作 员站116还可以允许用户调整传感器102a、致动器102b、控制器106或机器级控制器114的操 作。另外,操作员站116可以接收和显示由控制器106或机器级控制器114生成的提醒、警报 或其他消息或显示。操作员站116中的每个包括用于支持对系统100中的一个或多个部件的 用户访问和控制的任何适当的结构。操作员站116中的每个可以例如表示运行MIC R 0 S 0 F T WINDOWS操作系统的计算设备。
[0025] 至少一个路由器/防火墙118将网络112耦合到两个网络120。路由器/防火墙118包 括用于提供网络之间的通信的任何适当的结构,诸如安全路由器或组合路由器/防火墙。网 络120可以表示任何适当的网络,诸如一对以太网或FTE网络。
[0026]在普渡模型中,"级别3"可以包括被耦合到网络120的一个或多个单元级控制器 122。每个单元级控制器122通常与过程系统中的单元相关联,所述单元表示一起操作以至 少实现过程的部分的不同机器的集合。单元级控制器122执行各种功能以支持较低级别中 的部件的操作和控制。例如,单元级控制器122可以日志记录由较低级别中的部件收集或生 成的信息、执行控制较低级别中的部件的应用,并提供对较低级别中的部件的安全访问。单 元级控制器122中的每个包括用于提供对过程单元中一个或多个机器或其他件装备的访 问、控制或与过程单元中一个或多个机器或其他件装备相关的操作的任何适当的结构。单 元级控制器122中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设 备。尽管未被示出,但不同的单元级控制器122可以被用来控制过程系统中的不同单元(其 中每个单元与一个或多个机器级控制器114、控制器106、传感器102a和致动器102b相关 联)。
[0027]对单元级控制器122的访问可以由一个或多个操作员站124提供。操作员站124中 的每个包括用于支持系统100中的一个或多个部件的用户访问和控制的任何适当的结构。 操作员站124中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。
[0028] 至少一个路由器/防火墙126将网络120耦合到两个网络128。路由器/防火墙126包 括用于提供网络之间的通信的任何适当的结构,诸如安全路由器或组合路由器/防火墙。网 络128可以表示任何适当的网络,诸如一对以太网或FTE网络。
[0029]在普渡模型中,"级别4"可以包括被耦合到网络128的一个或多个工厂级控制器 130。每个工厂级控制器130通常与可以包括实现相同、类似或不同过程的一个或多个过程 单元的工厂IOla-IOln中的一个相关联。工厂级控制器130执行各种功能以支持较低级别中 的部件的操作和控制。作为特定示例,工厂级控制器130可以执行一个或多个制造执行系统 (MES)应用、调度应用或者其他或附加的工厂或过程控制应用。工厂级控制器130中的每个 包括用于提供对过程工厂中的一个或多个过程单元的访问、控制或与过程工厂中的一个或 多个过程单元相关的操作的任何适当的结构。工厂级控制器130中的每个可以例如表示运 行MICROSOFT WINDOWS操作系统的服务器计算设备。
[0030]对工厂级控制器130的访问可以由一个或多个操作员站132提供。操作员站132中 的每个包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何适当的结 构。操作员点132中的每个可以例如表示运行MICROSOFT WINDOWS操作系统的计算设备。 [0031] 至少一个路由器/防火墙134将网络128耦合到一个或多个网络136。路由器/防火 墙134包括用于提供网络之间的通信的任何适当的结构,诸如安全路由器或组合路由器/防 火墙。网络136可以表示任何适当的网络,诸如企业范围的以太网或其他网络或者更大网络 (诸如因特网)的全部或一部分。
[0032]在普渡模型中,"级别5"可以包括被耦合到网络136的一个或多个企业级控制器 138。每个企业级控制器138通常能够执行针对多个工厂IOla-IOln的计划操作并能够控制 工厂IOla-IOln的各种方面。企业级控制器138还可以执行各种功能以支持工厂IOla-IOln 中的部件的操作和控制。作为特定示例,企业级控制器138可以执行一个或多个订单 (order)处理应用、企业资源计划(ERP)应用、先进的计划和调度(APS)应用或者任何其他或 附加的企业控制应用。企业级控制器138中的每个包括用于提供对一个或多个工厂的访问、 控制或与对一个或多个工厂的控制相关的操作的任何适当的结构。企业级控制器138中的 每个可以例如表示运行MICROSOFT WINDOWS操作系统的服务器计算设备。在本文档中,术语 "企业"指要管理一个或多个工厂或其他处理设施的组织。应注意,如果要管理单个工厂 l〇la,则企业级控制器138的功能可以被并入工厂级控制器130中。
[0033] 对企业级控制器138的访问可以由一个或多个操作员站140提供。操作员站140中 的每个包括用于支持对系统100中的一个或多个部件的用户访问和控制的任何适当的结 构。操作员站140中的每个可以例如表示运行MICR0S0FT WINDOWS操作系统的计算设备。
[0034] 普渡模型的各个级别可以包括其他部件,诸如一个或多个数据库。与每个级别相 关联的(一个或多个)数据库可以存储与该级别或者系统100的一个或多个其他级别相关联 的任何适当的信息。例如,历史装置(historian) 141可以被耦合到网络136。历史装置141可 以表示存储关于系统100的各种信息的部件。历史装置141可以例如存储在生产调度和优化 期间所使用的信息。历史装置141表示用于存储信息和促进对信息的检索的任何适当的结 构。尽管被示出为耦合到网络136的单个集中式部件,但历史装置141可以位于系统100中的 其他地方,或者多个历史装置可以被分布在系统100的不同位置中。
[0035] 在特定实施例中,图1中的各种控制器和操作员站可以表示计算设备。例如,控制 器中的每个可以包括一个或多个处理设备142和用于存储由(一个或多个)处理设备142使 用、生成或收集的指令和数据的一个或多个存储器144。控制器中的每个还可以包括至少一 个网络接口 146,诸如一个或多个以太网接口或无线收发机。并且,操作员站中的每个可以 包括一个或多个处理设备148和用于存储由(一个或多个)处理设备148使用、生成或收集的 指令和数据的一个或多个存储器150。操作员站中的每个还可以包括至少一个网络接口 152,诸如一个或多个以太网接口或无线收发机。
[0036] 如上面描述的那样,常规的工业过程控制和自动化系统常常易受非法访问和使用 的攻击。在各种实施例中,本公开采用对引导协议(Β00ΤΡ)扩展、经封装的(canned)策略应 用、节点到节点协商和子网路由的使用来保护分布式控制系统(DCS),同时维持可用性并保 护网络通信。可以在图1中示出的任何节点中,诸如在图1的任何控制器或者操作员站中,实 现该功能。在特定实施例中,可以在工业过程控制和自动化系统1 〇〇的级别3以下的控制器 或者操作员站中实现该功能。
[0037]在图2中示出了该功能的细节,其中可以如下面描述的那样保护两个DCS节点202-204之间的通信。DCS节点202-204可以表示DCS中的任何适当的设备,诸如在图1中示出的任 何控制器或者操作员站。
[0038] 在图2还示出了Β00ΤΡ服务器206、安全管理器208和证书机构(certificate authority) (CA)210。如下面更详细地描述的那样,Β00ΤΡ服务器206支持对引导协议扩展的 使用,所述引导协议扩展允许Β00ΤΡ服务器206通知DCS节点202-204安全管理器208的网络 地址和端口。DCS节点202-204可以使用来自Β00ΤΡ服务器206的信息经由开放信道和经加密 的信道两者与安全管理器208通信。安全管理器208操作成维持关于已经被配置的或者在被 配置的过程中的DCS节点的信息以支持DCS节点202-204之间的安全通信。安全管理器208还 向DCS节点202-204提供安全凭证(诸如证书),允许DCS节点202-204与彼此安全地通信。证 书机构210生成由安全管理器208提供的证书或者其他安全凭证。下面提供了对结合DCS节 点202-204的Β00ΤΡ服务器206、安全管理器208和证书机构210的操作的更详细的描述。
[0039] BOOTP服务器206包括支持使用引导协议的任何适当的结构。例如,BOOTP服务器 206可以包括一个或多个处理设备212和用于存储由(一个或多个)处理设备212使用、生成 或者收集的指令和数据的一个或多个存储器21LB00TP服务器206还可以包括至少一个网 络接口 216,诸如一个或多个以太网接口或者无线收发机。
[0040] 安全管理器208包括用于向DCS节点提供安全凭证的任何适当的结构。例如,安全 管理器208可以包括一个或多个处理设备218和用于存储由(一个或多个)处理设备218使 用、生成或者收集的指令和数据的一个或多个存储器220。安全管理器208还可以包括至少 一个网络接口 222,诸如一个或多个以太网接口或者无线收发机。在系统中可以存在一个或 多个安全管理器208,诸如每单元级控制器122-个安全管理器208。
[00411 证书机构210包括用于生成安全凭证的任何适当的结构。例如,证书机构210可以 包括一个或多个处理设备224和用于存储由(一个或多个)处理设备224使用、生成或者收集 的指令和数据的一个或多个存储器226。证书机构210还可以包括至少一个网络接口 228,诸 如一个或多个以太网接口或者无线收发机。
[0042] 可以在工业过程控制和自动化系统100中的任何(一个或多个)适当的级别处使用 BOOTP服务器206、安全管理器208和证书机构210。例如,在某些实施例中,BOOTP服务器206、 安全管理器208和证书机构210可以表示级别3、级别4或级别5部件并且被用来保护系统100 的级别1、级另Ij 2或级另Ij 3处的DCS节点。
[0043] 尽管图1和2图示了工业过程控制和自动化系统100的一个示例和相关细节,但可 以对图1和2做出各种改变。例如,控制和自动化系统可以包括任何数量的传感器、致动器、 控制器、操作员站、网络、DCS节点、BOOTP服务器、安全管理器和CA。并且,图1和2中的系统 100的组成和布置仅用于说明。可以根据特定需要在任何其他适当的配置中添加、省略、组 合或放置部件。作为特定示例,BOOTP服务器206、安全管理器208和证书机构210中的两个或 者更多可以被组合成单个功能单元。进一步地,特定功能已经被描述为由系统100的特定部 件执行。这仅用于说明。一般地,过程控制和自动化系统是高度可配置的并且可以根据特定 需要以任何适当的方式被配置。另外,图1和2图示了其中可以保护DCS的示例环境。可以在 任何其他适当的设备或系统中使用该功能。
[0044]图3图示了根据本公开的用于保护DCS的示例方法300。为了解释的容易,关于在图 1的系统100中操作的图2的部件202-210来描述方法300。方法300可以与在任何适当的系统 中的任何其他适当的部件一起使用。在对图3的解释期间参考图4,所述图4图示了根据本公 开的用于保护DCS的示例信令图400。再次,为了解释的容易,关于在图1的系统100中操作的 图2的部件202-210来描述信令图400。信令图400可以与在任何适当的系统中的任何其他适 当的部件一起使用。应注意,虽然DCS节点202-204在图4中被示出为表示嵌入式控制器,但 DCS节点202-204可以表示任何其他适当的DCS设备。
[0045]在图3和4的描述中使用了以下术语和短语。
[0046] ?安全代理(agent):在DCS节点上被执行或操作的部件,其使得DCS节点能够安全 地通信。
[0047] ?策略代理(PA):安全代理的另一名称。
[0048] ?策略决定点(PDP):安全管理器的另一名称。
[0049] ?安全管理器代理器(proxy):在直接的安全代理-安全管理器通信不可能时路由 安全凭证的应用代理器/部件。
[0050] ?安全凭证:建立DCS节点的身份的信息(诸如证书和策略)。
[0051] ?证书:节点在安全通信会话的建立期间用来认证的实体。
[0052] ?策略:在两个DCS节点之间想要的安全通信的级别。
[0053]如上面指出的那样,常常使用COTS联网部件和装备来设计常规的DCS节点。该设计 的一个缺点是它缺少用以分配安全凭证和使得DCS节点能够安全地通信的带外机构 (mechanism)。该设计因此缺少用于保护通过网络传送的信息的机构。升级节点以包括安全 通信能力常常要求断开节点,这通常向消费者导致不可接受地大量的工厂停机时间和不可 接受地大的成本(使它成为无吸引力的提议)。
[0054]下面描述的技术允许使用相同的通信网络以便向DCS节点安全地递送安全凭证并 且然后将DCS节点从不安全通信转变成安全通信,同时维持控制可用性。在图3和4中示出的 技术描述了保护DCS节点的方式。
[0055]如图3中示出的那样,在步骤302处,第一 DCS节点传输加入DCS网络的请求。这可以 包括例如DCS节点20 2向BOOTP服务器206传输BOOTP请求。BOOTP请求的传输可以发生在任何 (一个或多个)适当的时间,诸如在DCS节点202在网络中被试运行(commision)时。在步骤 304处,BOOTP服务器提供对请求的响应。这可以包括例如BOOTP服务器206向DCS节点202提 供BOOTP响应。
[0056] 在图4中示出了这的示例,其中DCS节点20 2向BOOTP服务器206传输BOOTP请求402 并且BOOTP服务器206向DCS节点202传输BOOTP响应404。
[0057] BOOTP协议允许预定义的和供应商特定的扩展被包括在BOOTP请求和BOOTP响应两 者中。在RFC951中描述了BOOTP分组结构,并且在RFC2132中描述了用于包括扩展的编码标 准。在某些实施例中,在系统100中和方法300中使用了这些推荐。在特定实施例中,以下扩 展可以由BOOTP服务器206供应到DCS节点以便分配允许DCS节点的安全代理建立经封装的 策略和从安全管理器208检索安全凭证的信息。
[0058] 代码 位 1-4 位 5~8 位 9-10 位 11-12 位 13-14 位 15-16 主要的 替代的 PDP PDP经加 PA PA经加密 242 PDP IP I PDP IP I明文端口 I密的端口 I明文端口丨的端口
[0059] 表1: BOOTP 扩展
[0060] 在表1中,主要的PDP IP字段表示主要的安全管理器208的IP地址,而替代的PDP IP字段表示替代的安全管理器208的IP地址。PDP明文(开放)端口标识由(一个或多个)安全 管理器208用来发送和接收明文消息的端口号,并且TOP经加密的端口标识由(一个或多个) 安全管理器208用来发送和接收经加密的消息的端口号。PA明文(开放)端口标识由PA(DCS 节点)用来发送和接收明文消息的端口号,并且PA经加密的端口标识由PA(DCS节点)用来发 送和接收经加密的消息的端口号。
[0061 ] 返回到图3,一旦第一 DCS节点已经获得BOOTP响应,第一 DCS节点就在步骤306处使 用经封装的策略通过第一信道请求加入DCS网络的许可。这可以包括例如DCS节点202向至 少一个安全管理器208传输加入DCS网络的请求。可以使用在BOOTP响应中标识的(一个或多 个)安全管理器208的(一个或多个)网络地址和(一个或多个)端口号、通过开放或者未经加 密的信道将请求路由到(一个或多个)安全管理器208。在步骤308处,安全管理器通过向第 一 DCS节点发送安全凭证来对加入请求进行响应(如果加入请求被同意的话)。这可以包括 例如至少一个安全管理器208使用在BOOTP响应中包含的PA(DCS节点202)的网络地址和端 口号通过开放的或者未经加密的信道向DCS节点202提供证书。在某些实施例中,在DCS节点 被允许加入DCS网络之前,加入请求要求用户同意。这可以有助于确保仅在人工操作员同意 加入请求时允许节点加入DCS网络。然而,也可以使用用于控制节点加入DCS网络的其他方 法。
[0062]在图4中示出了这的示例,其中DCS节点202向安全管理器208传输加入请求406并 且从安全管理器208接收包含安全凭证的响应408。可以通过未经加密的信道发送请求406 和响应408两者。
[0063] 返回到图3,一旦第一 DCS节点已经获得安全凭证,第一 DCS节点就在步骤310处使 用另一经封装的策略通过第二信道请求用于与第二DCS节点通信的策略。这可以包括例如 DCS节点202向至少一个安全管理器208传输针对通信策略的请求。可以通过使用安全凭证 建立的经加密的信道将请求路由到(一个或多个)安全管理器208。在步骤312处,安全管理 器通过向第一和第二DCS节点两者发送通信策略和(一个或多个)激活时间来对策略请求进 行响应。这可以包括例如至少一个安全管理器208通过经加密的信道向DCS节点202-204提 供策略和(一个或多个)激活时间。
[0064]在图4中示出了这的示例,其中第一DCS节点202向安全管理器208传输策略请求 410并且第一和第二DCS节点202-204从安全管理器208分别接收响应412-414。响应412-414 可以包括通信策略和DCS节点202-204可以开始使用策略与彼此通信的(一个或多个)激活 时间。
[0065]如上面提到的那样,第一 DCS节点202可以使用经封装的策略来与(一个或多个)安 全管理器208通信。经封装的策略建立允许DCS节点建立一个或多个独立信道,用于使用预 定义的策略的代理-管理器通信,在该点处DCS节点可以接收和使用不同的策略。在某些实 施例中,可以建立两个信道,一个用于开放/明文(未经加密的)通信并且另一个用于经加密 的/安全通信。这允许代理和管理器互相传送不安全信息(诸如节点证书和未被签名的CA证 书)和安全信息(诸如可适用于控制和I/O数据的节点到节点策略或者(一个或多个)策略激 活时间)两者。例如,代理(诸如DCS节点202)在接收到BOOTP响应404时可以建立以下本地策 略。
[0067]表2:经封装的策略(开放通信)
[0068] 加入请求406可以被发送到安全管理器208,并且安全管理器的响应408可以包括 节点和CA证书。在接收到这些证书时,代理可以建立以下策略。
[0070] 表3:经封装的策略(经加密的通信)
[0071] 可以在两个信道(开放的和经加密的)都被建立时完成经封装的策略建立。可以通 过经加密的信道传送对节点安全凭证的随后更新。
[0072] 一旦两个DCS节点都具有策略和(一个或多个)激活时间,DCS节点就在步骤314处 参加与彼此握手并且在步骤316处开始在被指定的(一个或多个)激活时间使用被指定的策 略。这可以包括例如DCS节点202-204参加四次握手以核实两个DCS节点202-204都准备好在 期望的(一个或多个)激活时间转变到新策略以及准备好如果需要则调整(一个或多个)激 活时间。在图4中示出了这的示例,其中DCS节点202-204参加握手过程416,并且每个节点 202-204在它的被指定的激活时间切换成使用它的被指定的策略。然而,应注意,也可以使 用其他握手技术。
[0073]节点到节点策略激活时间同步有助于确保每个DCS节点202-204接收策略并随后 转变到新策略,诸如在成功的四次握手之后。这还有助于维持每个节点的可用性和避免可 能由策略的过早激活产生的错误情况。在安全代理(DCS节点202-204)之间使用的端口可以 形成经加密的信道,由于如果可以在无干扰信道(clear channel)上修改用于策略的激活 时间则存在安全风险。其他方法是可能的。
[0074]在纯基于时间的激活方法中,在DCS节点被接受安全地加入DCS网络时,安全管理 器208向DCS节点分配策略和策略激活时间。然而,由于多个环境因素(诸如网络递送失败或 延迟或者时间同步问题),策略可能没有被递送到某些DCS节点,这可以导致达延长的时间 段的节点可用性的损失。从该类型的情形恢复可能要求再次尝试策略递送或者撤销已经被 递送的策略。
[0075]还可以利用安全代理之间的两次或者三次握手通信来完成节点到节点策略激活。 在两次握手通信中,每个代理可以通过向它的对等代理异步地发送消息来传送它的策略激 活目的。然而,在该两次交换中的单个分组掉落或者延迟可以导致策略的过早激活和节点 可用性的损失。三次握手可以类似于TCP SYN-SYNACK-ACK握手。然而,不像在其中存在定义 的客户端和服务器角色的TCP中,策略激活可以涉及其中两个代理最后是客户端和服务器 的情形。因此,如果三次握手由每个DCS节点同时地发起,则单代理可能最后提前激活它的 策略。另外,单个分组掉落(特别是最后的ACK)可以导致仅在单代理节点上激活策略。
[0076]四次握手可以被用来克服由单个分组掉落产生的过早激活。它还可以被用来调整 激活时间,这在纯基于时间的激活中是不可能的。在接收到它的策略时,第一代理(诸如DCS 节点202)向它的对等代理(诸如DCS节点204)发起"策略更新(激活时间)"消息,并且第二代 理确认该消息的接收。类似地和异步地,在接收到它的策略时,第二代理(诸如DCS节点204) 向它的对等代理(诸如DCS节点202)发起"策略更新(激活时间)"消息,并且第一代理确认该 消息的接收。在这些握手之后,两个PA按照商定的"激活时间"部署和激活它们的策略。在某 些实施例中,在单独的DCS节点202-204上的代理可以在下面的条件被满足时转变到它们的 策略并且激活它们的策略:
[0077] (1)节点接收到针对它发起的"策略更新"消息的确认(ACK),这指示其他节点已经 具有策略和激活时间的知识;
[0078] (2)节点接收到由另一节点发起的"策略更新"消息;以及
[0079] (3)到达激活时间。
[0080]四次握手的益处是仅在已经成功地交换三个或更多分组时激活策略。因此,不像 在其他方案中,当掉落一个或者两个分组时不存在策略的过早激活。
[0081 ]尽管图3图示了用于保护DCS的方法300的一个示例,但可以对图3做出各种改变。 例如,虽然被示出为一系列步骤,但图3中的各种步骤可以重叠、并行地发生、以不同顺序发 生或者发生任何次数。尽管图4图示了用于保护DCS的信令图400的一个示例,但可以对图4 做出各种改变。例如,任何其他信令可以被用来支持上面描述的功能。
[0082]图5图示了根据本公开的用于跨子网路由安全策略以支持保护DCS的示例技术。在 某些实施例中,代理-管理器通信可能不是直接的并在所有情形下是可能,诸如在使用子网 和要求跨不同级别的通信时。结果,当直接通信不可能时,可以通过管理器代理器将安全凭 证路由到代理。图5示出了一个示例方式,其中可以跨(如由针对控制层级的普渡模型定义 的)不同的级别并且在安全管理器208在与安全代理不同的子网中时使用代理器来路由安 全凭证。
[0083] 在图5中示出的示例中,安全管理器208被部署在DCS级别3处,并且安全代理502-504被分散在不同子网中的级别1和级别2处。选择安全管理器代理器506作为级别2处的一 个或多个节点,其在级别3处的安全管理器208与级别1和级别2处的安全代理502-504之间 路由安全凭证。类似于上面关于经封装的策略的使用描述的方式,可以在安全代理和安全 管理器代理器506之间建立两个独立的专用路径,并且可以在安全管理器代理器506和安全 管理器208之间建立两个独立的专用路径。这允许在代理器506处利用单跳建立管理器-代 理通信。
[0084] 在图5中示出了两个附加节点508-510,一个在级别1处并且另一个在级别2/3处。 这些节点缺少安全代理并且可以被配置成仅参加明文(开放)通信。因此,不是工业过程控 制和自动化系统的所有节点都需要被配置有安全代理。
[0085] 尽管图5图示了用于跨子网路由安全策略以支持保护DCS的技术的一个示例,但可 以对图5做出各种改变。例如,任何其他适当的技术可以被用来跨子网路由安全策略。并且, 在其他实施例中,不需要跨子网路由安全策略。
[0086] 在某些实施例中,由计算机程序实现或支持在本专利文档中描述的各种功能,所 述计算机程序由计算机可读程序代码形成并被具体化在计算机可读介质中。短语"计算机 可读程序代码"包括任何类型的计算机代码,其包括源代码、目标代码和可执行代码。短语 "计算机可读介质"包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机 访问存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)或任何其他类型的存储器。 "非瞬时"计算机可读介质排除了输送瞬时电信号或其他信号的有线的、无线的、光学的或 者其他的通信链路。非瞬时计算机可读介质包括其中数据可以被永久地存储的介质和其中 数据可以被存储并稍后被覆写的介质,诸如可重写光盘或者可擦除存储器设备。
[0087]阐明贯穿本专利文档使用的某些词和短语的定义可能是有利的。术语"应用"和 "程序"指适于以适当的计算机代码(包括源代码、目标代码或可执行代码)实现的一个或多 个计算机程序、软件部件、指令集、过程、函数、对象、类、实例、相关数据或它们的一部分。术 语"通信"以及其派生词包括直接通信和间接通信两者。术语"包括"和"包含"以及其派生词 意味着没有限制的包括。术语"或"是包括的,意味着和/或。短语"与……相关联"以及其派 生词可以意味着包括、被包括在……内、与……互连、包含、被包含在……内、连接到……或 与……连接、耦合到……或与……耦合、可与……通信、与……协作、交错、并列、接近、被绑 定到……或与……绑定、具有、具有……的属性、和或与……有关系等。短语"……中的至少 一个"在与项目的列表一起使用时意味着所列项目中的一个或多个的不同组合可以被使 用,并且仅列表中的一个项目可能被需要。例如,"以下中的至少一个:A、B和C"包括以下组 合中的任何:A、B、C、A和B、A和C、B和C以及A和B和C。
[0088] 虽然本公开已经描述了某些实施例和一般地相关联的方法,但对这些实施例和方 法的变更和置换对本领域那些技术人员而言将是显然的。因此,对示例实施例的上面的描 述不限定或约束本公开。在不脱离如由以下权利要求书限定的本公开的精神和范围的情况 下,其他改变、代替和变更也是可能的。
【主权项】
1. 一种方法包括: 通过网络在第一分布式控制系统(DCS)节点(202)处接收(304)与安全管理器(208)相 关联的息; 使用信息通过网络在第一 DCS节点和安全管理器之间建立(306、310)多个通信信道,通 信信道包括不安全信道和安全信道; 通过不安全信道在第一 DCS节点处从安全管理器接收(308)安全凭证; 通过安全信道在第一DCS节点处从安全管理器接收(312)安全策略和激活时间;以及 将第一 DCS节点转变(316)成在激活时间使用安全策略通过网络与第二DCS节点(204) 通信。2. 根据权利要求1所述的方法,其中接收与安全管理器相关联的信息包括: 从第一DCS节点向引导协议(BOOTP)服务器(206)传输(302)BOOTP请求(402);以及 在第一DCS节点处从BOOTP服务器接收(304)BOOTP响应(404),BOOTP响应包括安全管理 器的网络地址和将被用来与安全管理器通信的端口的标识符。3. 根据权利要求1所述的方法,其中建立多个通信信道包括: 使用第一预定义的策略建立(306)与安全管理器的不安全信道;以及 使用第二预定义的策略建立(310)与安全管理器的安全信道。4. 根据权利要求3所述的方法,其中建立多个通信信道进一步包括在建立不安全信道 之后但在建立安全信道之前: 通过不安全信道从第一DCS节点向安全管理器传输(306)加入请求(406);以及 通过不安全信道在第一 DCS节点处从安全管理器接收(308)加入响应(408),加入响应 包括表示安全凭证的证书。5. 根据权利要求4所述的方法,其中接收加入响应包括在用户同意加入请求之后从安 全管理器接收加入响应。6. 根据权利要求1所述的方法,进一步包括: 经由安全代理器(506)与安全管理器间接通信,安全代理器位于子网中,安全管理器位 于子网外部。7. 根据权利要求1所述的方法,进一步包括在将第一 DCS节点转变成与第二DCS节点通 信之前: 执行(314)握手操作以核实第一和第二DCS节点两者都准备好与彼此安全地通信。8. 根据权利要求7所述的方法,其中握手操作包括四次握手(416),其包括: 第一 DCS节点向第二DCS节点传输第一策略更新消息并且从第二DCS节点接收第一确 认;以及 第一 DCS节点从第二DCS节点接收第二策略更新消息并且向第二DCS节点传输第二确 认。9. 一种装置,包括: 第一分布式控制系统(DCS)节点(202),其包括: 至少一个接口(146、152),其被配置成通过网络接收与安全管理器(208)相关联的信 息;以及 至少一个处理设备(142、148),其被配置成: 使用信息通过网络在第一 DCS节点和安全管理器之间建立包括不安全信道和安全信道 的多个通信信道; 经由至少一个接口通过不安全信道从安全管理器接收安全凭证; 经由至少一个接口通过安全信道从安全管理器接收安全策略和激活时间;以及 转变至少一个接口以在激活时间使用安全策略通过网络与第二DCS节点(204)通信。10. 根据权利要求9所述的装置,其中至少一个处理设备被配置成: 发起经由至少一个接口的引导协议(BOOTP)请求(402)到BOOTP服务器的传输;以及 经由至少一个接口从BOOTP服务器接收BOOTP响应(404),B00TP响应包括安全管理器的 网络地址和将被用来与安全管理器通信的端口的标识符。11. 根据权利要求9所述的装置,其中: 至少一个处理设备被配置成: 使用第一预定义的策略建立与安全管理器的不安全信道;以及 使用第二预定义的策略建立与安全管理器的安全信道;以及 至少一个处理设备被配置成在建立不安全信道之后但在建立安全信道之前: 发起经由至少一个接口的通过不安全信道的加入请求(406)到安全管理器的传输;以 及 经由至少一个接口通过不安全信道从安全管理器接收加入响应(408),加入响应包括 表示安全凭证的证书。12. 根据权利要求11所述的装置,其中安全策略不同于第一和第二预定义的策略。13. 根据权利要求9所述的装置,其中至少一个处理设备被配置成在转变至少一个接口 以与第二DCS节点通信之前执行握手操作来核实第一和第二DCS节点两者都准备好与彼此 安全地通信。14. 根据权利要求13所述的装置,其中握手操作包括四次握手(416),其包括: 第一 DCS节点向第二DCS节点传输第一策略更新消息并且从第二DCS节点接收第一确 认;以及 第一 DCS节点从第二DCS节点接收第二策略更新消息并且向第二DCS节点传输第二确 认。15. -种包括计算机程序的非瞬时计算机可读介质,计算机程序包括计算机可读程序 代码,用于: 通过网络在第一分布式控制系统(DCS)节点(202)处接收(304)与安全管理器(208)相 关联的息; 使用信息通过网络在第一 DCS节点和安全管理器之间建立(306、310)多个通信信道,通 信信道包括不安全信道和安全信道; 通过不安全信道在第一 DCS节点处从安全管理器接收(308)安全凭证; 通过安全信道在第一DCS节点处从安全管理器接收(312)安全策略和激活时间;以及 将第一 DCS节点转变(316)成在激活时间使用安全策略通过网络与第二DCS节点(204) 通信。
【文档编号】H04L9/00GK106068624SQ201580005973
【公开日】2016年11月2日
【申请日】2015年1月20日 公开号201580005973.7, CN 106068624 A, CN 106068624A, CN 201580005973, CN-A-106068624, CN106068624 A, CN106068624A, CN201580005973, CN201580005973.7, PCT/2015/11937, PCT/US/15/011937, PCT/US/15/11937, PCT/US/2015/011937, PCT/US/2015/11937, PCT/US15/011937, PCT/US15/11937, PCT/US15011937, PCT/US1511937, PCT/US2015/011937, PCT/US2015/11937, PCT/US2015011937, PCT/US201511937
【发明人】H·S·哈里达斯, A·切尔诺古佐夫
【申请人】霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1