CN108370313B - 用于过程控制系统的嵌入式安全架构 - Google Patents
用于过程控制系统的嵌入式安全架构 Download PDFInfo
- Publication number
- CN108370313B CN108370313B CN201680070023.7A CN201680070023A CN108370313B CN 108370313 B CN108370313 B CN 108370313B CN 201680070023 A CN201680070023 A CN 201680070023A CN 108370313 B CN108370313 B CN 108370313B
- Authority
- CN
- China
- Prior art keywords
- dcs
- node
- hash
- dcs node
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
一种装置包括第一分布式控制系统(DCS)节点(202)。第一DCS包括至少一个接口,所述至少一个接口被配置成通过网络(128)与第二DCS节点(204)通信。第一DCS节点还包括至少一个处理设备。处理设备被配置成与第二DCS节点交换安全关联策略(411)。处理设备还被配置成使用安全关联策略与第二DCS节点交换公钥(412)。处理设备还被配置成向第一DCS节点的现场可编程门阵列(402)发送第二DCS节点的公钥(542)。处理设备还被配置成从现场可编程门阵列接收共享秘密(544)。处理设备还被配置成使用共享秘密生成消息的散列(546)。
Description
技术领域
本公开一般地针对通信网络。更具体地,本公开针对用于嵌入式安全架构的装置和方法,所述嵌入式安全架构结合对安全微控制器和现场可编程门阵列(FPGA)组件的使用。
背景技术
随着工业控制系统(ICS)从20世纪90年代初期的封闭专有系统在这些年来(现在在云和物联网(IoT)的出现时)演进到方便的、连接的和开放的系统,已经要求工业控制系统(ICS)采用日益增长的安全防御机制级别。九十年代中后期采用的开放系统提供了针对增加的便利性、改进的连通性并且因此改进的生产力的趋势移动。然而,由于关于开放系统漏洞的广泛知识,这些系统变得更加易受漏洞利用(exploit)的伤害。为了减轻这些顾虑,安全架构开始批准(mandate)周边安全和安全强化节点。然而,虚拟平台和远程访问支持的随后引入进一步要求附加的安全对策,以防止通过个人的未经授权的访问和系统特权获得。因此,基于系统能力并且具有防止系统漏洞的外部利用的共同主题,安全架构和解决方案继续演进。
ICS解决方案供应商已经采用经加密和认证的通信以及基于角色的访问控制,以通过开发采用许多安全原则的解决方案来减轻内部人攻击,所述安全原则包括最小特权原则、职责分离和纵深防御。
发明内容
本公开提供用于嵌入式安全架构的装置和方法,所述嵌入式安全架构结合对安全微控制器和现场可编程门阵列(FPGA)组件的使用。
在第一示例中,一种方法包括由第一分布式控制系统(DCS)节点通过网络与第二DCS节点交换安全关联策略。该方法还包括使用安全关联策略与第二DCS节点交换公钥。该方法还包括向第一DCS节点的现场可编程门阵列发送第二DCS节点的公钥。该方法还包括从该现场可编程门阵列接收共享秘密(shared secret)。该方法还包括使用共享秘密生成消息的散列。
在第二示例中,一种装置包括第一DCS节点。第一DCS包括被配置成通过网络与第二DCS节点通信的至少一个接口。第一DCS节点还包括至少一个处理设备。处理设备被配置成与第二DCS节点交换安全关联策略。处理设备还被配置成使用安全关联策略与第二DCS节点交换公钥。处理设备还被配置成向第一DCS的现场可编程门阵列发送第二DCS节点的公钥。处理设备还被配置成从该现场可编程门阵列接收共享秘密。处理设备还被配置成使用共享秘密生成消息的散列。
在第三示例中,一种非暂时性计算机可读介质包括计算机程序。计算机程序包括用于由第一DCS节点通过网络与第二DCS节点交换安全关联策略的计算机可读程序代码。计算机可读程序代码还用于使用安全关联策略与第二DCS节点交换公钥。计算机可读程序代码还用于向第一DCS节点的现场可编程门阵列发送第二DCS节点的公钥。计算机可读程序代码还用于从该现场可编程门阵列接收共享秘密。计算机可读程序代码还用于使用共享秘密生成消息的散列。
附图说明
为了得到对本公开及其特征的更完全理解,现在参考结合附图理解的以下描述,在附图中:
图1和图2图示了根据本公开的示例工业过程控制和自动化系统以及相关细节;
图3图示了根据本公开的用于建立因特网密钥交换(IKE)协议中的安全关联的示例信令图;
图4图示了根据本公开的示例嵌入式安全架构;
图5图示了根据本公开的针对IKE主模式的示例信令图;
图6图示了根据本公开的示例密钥验证基础结构;
图7图示了根据本公开的示例信任链;
图8图示了根据本公开的示例分区设计;以及
图9图示了根据本公开的示例安全启动过程。
具体实施方式
以下讨论的图1至9以及用于描述本专利文档中的本发明的原理的各种示例仅作为说明,并且不应以任何方式解释成限制本发明的范围。本领域技术人员将理解,可以以任何合适的方式和在任何类型的经适当地布置的设备或系统中实现本发明的原理。
一个或多个实施例认识到采用加密通信以显著的性能退化和鲁棒的安全设计为代价。加密通信独自不足以解决其它安全问题,比如通过有规律且非标准通道的通过嵌入式节点上的固件注入的恶意软件利用。通过非直接通道的与硬件的可用性组合的开放系统的使用进一步使得获取硬件和执行恶意软件攻击对于流氓个人而言更加简单。
一个或多个实施例提供了使用软件、现场可编程门阵列(FPGA)和安全微控制器的组合的高性能且鲁棒的嵌入式安全架构,以通过卸载CPU密集型安全计算来实现加密通信。一个或多个实施例还提供了核实签名的固件并随后在验证失败场景中锁定的组合解决方案,以防止在嵌入式设备上执行非授权的软件。高性能和锁定的嵌入式节点的组合将仍然是未来云整合和IoT设备所要求的最小限度(minimum),因为连通性在即将推出的具有开放协议连通性的架构中采取全新的定义。
图1和图2图示了根据本公开的示例工业过程控制和自动化系统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或FOUNDATION FIELDBUS网络)、气动控制信号网络或任何其它的或附加的(多个)类型的(多个)网络。
在普渡模型中,“级别1”可以包括一个或多个控制器106,所述一个或多个控制器106耦合到网络104。除了别的之外,每一个控制器106可以使用来自一个或多个传感器102a的测量结果来控制一个或多个致动器102b的操作。例如,控制器106可以从一个或多个传感器102a接收测量数据并且使用该测量数据生成用于一个或多个致动器102b的控制信号。每一个控制器106包括用于与一个或多个传感器102a交互并控制一个或多个致动器102b的任何合适的结构。每一个控制器106可以例如表示多变量控制器,诸如鲁棒的多变量预测控制技术(RMPCT)控制器,或者实现模型预测控制(MPC)或其它先进的预测控制(APC)的其它类型的控制器。作为特定示例,每一个控制器106可以表示运行实时操作系统的计算设备。
两个网络108耦合到控制器106。网络108诸如通过向控制器106输送数据以及输送来自控制器106的数据而促进与控制器106的交互。网络108可以表示任何合适的网络或网络的组合。作为特定示例,网络108可以表示以太网网络对或以太网网络的冗余对,诸如来自霍尼韦尔国际公司的容错以太网(FTE)网络。
至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙110可以从一个网络向另一个输送业务。交换机/防火墙110还可以阻止一个网络上的业务到达另一网络。交换机/防火墙110包括用于提供网络之间的通信的任何合适的结构,诸如霍尼韦尔控制防火墙(CF9)设备。网络112可以表示诸如以太网网络对或FTE网络之类的任何合适的网络。
在普渡模型中,“级别2”可以包括耦合到网络112的一个或多个机器级控制器114。机器级控制器114执行各种功能以支持控制器106、传感器102a和致动器102b的操作和控制,其可能与工业装备(诸如锅炉或其它机器)的特定片段(piece)相关联。例如,机器级控制器114可以日志记录(log)由控制器106收集或生成的信息,诸如来自传感器102a的测量数据或用于致动器102b的控制信号。机器级控制器114还可以执行控制控制器106的操作的应用,从而控制致动器102b的操作。此外,机器级控制器114可以提供对控制器106的安全访问。机器级控制器114中的每一个包括用于提供对机器或装备的其它单独片段的访问、控制或与机器或装备的其它单独片段有关的操作的任何合适的结构。机器级控制器114中的每一个可以例如表示运行微软WINDOWS操作系统的服务器计算设备。尽管未示出,但是不同的机器级控制器114可以用于控制过程系统中的装备的不同片段(其中装备的每一个片段与一个或多个控制器106、传感器102a和致动器102b相关联)。
一个或多个操作员站116耦合到网络112。操作员站116表示提供对机器级控制器114的用户访问的计算或通信设备,机器级控制器114然后可以提供对控制器106(并且可能提供对传感器102a和致动器102b)的用户访问。作为特定示例,操作员站116可以允许用户使用由控制器106和/或机器级控制器114所收集的信息来审阅传感器102a和致动器102b的操作历史。操作员站116还可以允许用户调整传感器102a、致动器102b、控制器106或机器级控制器114的操作。此外,操作员站116可以接收和显示由控制器106或机器级控制器114生成的警告、警报或其它消息或显示。操作员站116中的每一个包括用于支持对系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站116中的每一个可以例如表示运行微软WINDOWS操作系统的计算设备。
至少一个路由器/防火墙118将网络112耦合到两个网络120。路由器/防火墙118包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络120可以表示诸如以太网网络对或FTE网络之类的任何合适的网络。
在普渡模型中,“级别3”可以包括耦合到网络120的一个或多个单元级控制器122。每一个单元级控制器122通常与过程系统中的单元相关联,所述单元表示一起操作以实现过程的至少部分的不同机器的集合。单元级控制器122执行各种功能以支持较低级别中的组件的操作和控制。例如,单元级控制器122可以日志记录由较低级别中的组件收集或生成的信息,执行控制较低级别中的组件的应用,并且提供对较低级别中的组件的安全访问。单元级控制器122中的每一个包括用于提供对一个或多个机器或过程单元中的装备的其它片段的访问、控制或与一个或多个机器或过程单元中的装备的其它片段的有关的操作的任何合适的结构。单元级控制器122中的每一个可以例如表示运行微软WINDOWS操作系统的服务器计算设备。尽管未示出,但是不同的单元级控制器122可以用于控制过程系统中的不同单元(其中每一个单元与一个或多个机器级控制器114、控制器106、传感器102a和致动器102b相关联)。
可以通过一个或多个操作员站124提供对单元级控制器122的访问。操作员站124中的每一个包括用于支持对系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站124中的每一个可以例如表示运行微软WINDOWS操作系统的计算设备。
至少一个路由器/防火墙126将网络120耦合到两个网络128。路由器/防火墙126包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络128可以表示诸如以太网网络对或FTE网络之类的任何合适的网络。
在普渡模型中,“级别4”可以包括耦合到网络128的一个或多个工厂级控制器130。每一个工厂级控制器130通常与工厂101a-101n之一相关联,所述工厂101a-101n可以包括实现相同的、类似的或不同的过程的一个或多个过程单元。工厂级控制器130执行各种功能以支持较低级别中的组件的操作和控制。作为特定示例,工厂级控制器130可以执行一个或多个制造执行系统(MES)应用、调度应用或者其它的或附加的工厂或过程控制应用。工厂级控制器130中的每一个包括用于提供对过程工厂中的一个或多个过程单元的访问、控制或与过程工厂中的一个或多个过程单元有关的操作的任何合适的结构。工厂级控制器130中的每一个可以例如表示运行微软WINDOWS操作系统的服务器计算设备。
可以通过一个或多个操作员站132提供对工厂级控制器130的访问。操作员站132中的每一个包括用于支持对系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站132中的每一个可以例如表示运行微软WINDOWS操作系统的计算设备。
至少一个路由器/防火墙134将网络128耦合到一个或多个网络136。路由器/防火墙134包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络136可以表示诸如企业范围的以太网或其它网络或者更大网络(诸如因特网)的全部或一部分之类的任何合适的网络。
在普渡模型中,“级别5”可以包括耦合到网络136的一个或多个企业级控制器138。每一个企业级控制器138通常能够执行用于多个工厂101a-101n的规划操作并且能够控制工厂101a-101n的各种方面。企业级控制器138还可以执行各种功能以支持工厂101a-101n中的组件的操作和控制。作为特定示例,企业级控制器138可以执行一个或多个订单(order)处理应用、企业资源规划(ERP)应用、先进的规划和调度(APS)应用或任何其它的或附加的企业控制应用。企业级控制器138中的每一个包括用于提供对一个或多个工厂的访问、控制或者与对所述一个或多个工厂的控制有关的操作的任何合适的结构。企业级控制器138中的每一个可以例如表示运行微软WINDOWS操作系统的服务器计算设备。在本文档中,术语“企业”是指具有要管理的一个或多个工厂或者其它处理设施的组织。注意,如果要管理单个工厂101a,则可以将企业级控制器138的功能结合到工厂级控制器130中。
可以通过一个或多个操作员站140提供对企业级控制器138的访问。操作员站140中的每一个包括用于支持对系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站140中的每一个可以例如表示运行微软WINDOWS操作系统的计算设备。
普渡模型的各种级别可以包括其它组件,诸如一个或多个数据库。与每一个级别相关联的(多个)数据库可以存储与系统100的该级别或一个或多个其它级别相关联的任何合适的信息。例如,历史记录器(historian)141可以耦合到网络136。历史记录器141可以表示存储关于系统100的各种信息的组件。历史记录器141可以例如存储在生产调度和优化期间使用的信息。历史记录器141表示用于存储信息并促进对信息的检索的任何合适的结构。尽管被示出为耦合到网络136的单个集中式组件,但是历史记录器141可以位于系统100中的其它地方,或者多个历史记录器可以分布在系统100中的不同位置中。
在特定实施例中,图1中的各种控制器和操作员站可以表示计算设备。例如,控制器中的每一个可以包括一个或多个处理设备142和用于存储由(多个)处理设备142使用、生成或收集的指令和数据的一个或多个存储器144。控制器中的每一个还可以包括至少一个网络接口146,诸如一个或多个以太网接口或无线收发器。而且,操作员站中的每一个可以包括一个或多个处理设备148和用于存储由(多个)处理设备148使用、生成或收集的指令和数据的一个或多个存储器150。操作员站中的每一个还可以包括至少一个网络接口152,诸如一个或多个以太网接口或无线收发器。
如以上所描述的,常规工业过程控制和自动化系统常常易受非法访问和使用的伤害。在各种实施例中,本公开采用对自举协议(BOOTP)扩展、罐装(canned)策略应用、节点到节点协商和子网络路由的使用来保护分布式控制系统(DCS),同时维持可用性并保护网络通信。该功能可以在图1中示出的任何节点中实现,诸如在图1的控制器或操作员站中的任何中实现。在特定实施例中,该功能可以在工业过程控制和自动化系统100的级别3以下的控制器或操作员站中实现。
该功能的细节在图2中示出,其中两个DCS节点202-204之间的通信可以如以下所描述的那样被保护。DCS节点202-204可以表示DCS中的任何合适的设备,诸如图1中示出的控制器或操作员站中的任何。
图2中还示出了BOOTP服务器206、安全管理器208和证书管理机构(authority)(CA)210。如以下更详细描述的,BOOTP服务器206支持自举协议扩展的使用,所述自举协议扩展允许BOOTP服务器206通知DCS节点202-204安全管理器208的网络地址和端口。DCS节点202-204可以使用来自BOOTP服务器206的信息经由开放通道和加密通道二者与安全管理器208通信。安全管理器208操作以维持关于已经被配置成支持DCS节点202-204之间的安全通信或处于正在被配置成支持DCS节点202-204之间的安全通信的过程中的DCS节点的信息。安全管理器208还向DCS节点202-204提供安全凭证(诸如证书),以允许DCS节点202-204与彼此安全地通信。证书管理机构210生成由安全管理器208提供的证书或其它安全凭证。以下提供了对BOOTP服务器206、安全管理器208和证书管理机构210连同DCS节点202-204的操作的更详细的描述。
BOOTP服务器206包括支持使用自举协议的任何合适的结构。例如,BOOTP服务器206可以包括一个或多个处理设备212以及用于存储由(多个)处理设备212使用、生成或收集的指令和数据的一个或多个存储器214。BOOTP服务器206还可以包括至少一个网络接口216,诸如一个或多个以太网接口或无线收发器。
安全管理器208包括用于向DCS节点提供安全凭证的任何合适的结构。例如,安全管理器208可以包括一个或多个处理设备218以及用于存储由(多个)处理设备218使用、生成或收集的指令和数据的一个或多个存储器220。安全管理器208还可以包括至少一个网络接口222,诸如一个或多个以太网接口或无线收发器。系统中可以存在一个或多个安全管理器208,诸如每个单元级控制器122一个安全管理器208。
证书管理机构210包括用于生成安全凭证的任何合适的结构。例如,证书管理机构210可以包括一个或多个处理设备224以及用于存储由(多个)处理设备224使用、生成或收集的指令和数据的一个或多个存储器226。证书管理机构210还可以包括至少一个网络接口228,诸如一个或多个以太网接口或无线收发器。
BOOTP服务器206、安全管理器208和证书管理机构210可以在工业过程控制和自动化系统100中的(多个)任何合适的级别处使用。例如,在一些实施例中,BOOTP服务器206、安全管理器208和证书管理机构210可以表示级别3、级别4或级别5组件,并且可以用于保护系统100的级别1、级别2或级别3处的DCS节点。
尽管图1和图2图示了工业过程控制和自动化系统100以及相关细节的一个示例,但是可以对图1和图2做出各种改变。例如,控制和自动化系统可以包括任何数量的传感器、致动器、控制器、操作员站、网络、DCS节点、BOOTP服务器、安全管理器和CA。而且,图1和图2中的系统100的组成和布置仅用于说明。可以根据特定需要以任何其它合适的配置添加、省略、组合或放置组件。作为特定示例,BOOTP服务器206、安全管理器208和证书管理机构210中的两个或更多个可以组合成单个功能单元。另外,特定功能已经被描述为由系统100的特定组件执行。这仅用于说明。一般地,过程控制和自动化系统是高度可配置的并且可以根据特定需要以任何合适的方式配置。此外,图1和图2图示了在其中DCS可以被保护的示例环境。该功能可以在任何其它合适的设备或系统中使用。
图3图示了根据本公开的用于建立因特网密钥交换(IKE)协议中的安全关联的示例信令图300。通信可以在IKE发起器302和IKE响应器304之间。
在IP层处的加密通信可以通过采用如在RFC 2401中指定的IPsec来实现。在IPsec中,IKE是用于建立和维持安全关联(SA)的协议。图3描述了在IKE主模式中交换的六条消息。表1提供了图3中使用的符号。
表1:
SA<sub>I</sub> | 发起器的SA协商有效载荷 |
SA<sub>R</sub> | 响应器的SA协商有效载荷 |
SA | 全部SA有效载荷 |
G | P-256 生成器 |
d<sub>I</sub> | 发起器的Diffie-Hellman(DH)私钥 |
Q<sub>I</sub> | 发起器的DH公钥 |
d<sub>R</sub> | 响应器的DH私钥 |
Q<sub>R</sub> | 响应器的DH公钥 |
N<sub>I</sub> | 发起器的随机新鲜值(nonce) |
N<sub>R</sub> | 响应器的随机新鲜值 |
K<sub>DH</sub> | DH 共享秘密 (K<sub>DH</sub>是点d<sub>I</sub> x Q<sub>R</sub> = d<sub>R</sub> x Q<sub>I </sub>= d<sub>I</sub> x d<sub>R</sub> x G的x坐标) |
K | 从新鲜值和DH共享秘密导出的秘密密钥 |
K<sub>e</sub> | 从K、K<sub>DH</sub>和C<sub>I</sub>以及C<sub>R</sub>导出的加密密钥 |
C<sub>I</sub> | 来自ISAKMP头部的发起器的cookie |
C<sub>R</sub> | 来自ISAKMP头部的响应器的cookie |
Prf(K, X) | (键控的)伪随机函数,即HMAC-SHA-256(K, X) |
CA | (运行时)证书管理机构 |
PK<sub>CA</sub> | CA的EDSA-256公钥 |
SK<sub>I</sub> | 发起器的EDSA-256私钥 |
PK<sub>I</sub> | 发起器的EDSA-256公钥 |
Cert<sub>I</sub> | 由CA发布的发起器的EDSA-256公钥证书 |
SK<sub>R</sub> | 响应器的EDSA-256私钥 |
PK<sub>R</sub> | 响应器的EDSA-256公钥 |
Cert<sub>R</sub> | 由CA发布的响应器的EDSA-256公钥证书 |
ID<sub>I</sub> | 发起器的标识有效载荷 |
ID<sub>R</sub> | 响应器的标识有效载荷 |
IKE协议主模式包括标记为m1-m6的六条消息。在消息306处,IKE发起器302向IKE响应器304发送包括SA否定有效载荷的m1。在消息308处,IKE响应器304向IKE发起器302发送包括SA否定有效载荷的m2。消息m1和m2协商将在随后的协议通信(m3-m6)中使用的建议。
在消息310处,IKE发起器302向IKE响应器304发送包括Diffie-Hellman(DH)公钥和随机新鲜值的m3。在消息312处,IKE响应器304向IKE发起器302发送包括DH公钥和随机新鲜值的m4。消息m3和m4执行DH密钥协商和新鲜值交换。从这些消息生成共享秘密以供随后的协议通信(消息m5和m6)使用。
在消息314处,IKE发起器302向IKE响应器304发送包括加密密钥、标识有效载荷、由CA发布的EDSA-256公钥证书、EDSA-256私钥和散列的m5。在消息316处,IKE响应器304向IKE发起器302发送包括加密密钥、标识有效载荷、由CA发布的EDSA-256公钥证书、EDSA-256私钥和散列的m6。消息m5和m6对两个端点和DH交换进行认证。
在一个或多个实施例中,以下将安全计算分类并分组成CPU密集型和CPU非密集型安全构想(construct):
CPU密集型安全构想:
·密钥生成——单个随机数生成和一点乘法的组合(示例:生成dI,QI=dI*G)。
·随机数生成——随机数生成(示例:生成随机NI,生成随机NR)。
·ECDH——单点乘法(示例:KDH=dI*QR的x坐标)。
·消息签名操作——(示例:SigI=Sign (SKI, HashI))。
·消息核实操作——(示例:使用PKI核实HashI的签名SigI)。
CPU非密集型安全构想:
·消息散列计算:数据的SHA256散列(HashI = Prf(K, QI | QR | CI | CR | SA| IDI))。
·消息对称加密/解密:(示例:E(Ke, IDI|CertI|SigI),使用K对接收到的消息进行解密)。
一个或多个实施例认识到并且考虑在DCS系统内,所有操作通常在软件中执行。组合以上安全构想的单个IKE协商在以666 MHz时钟速度的双核对称多处理ARM处理器上平均需要207ms的CPU周期时间,或者在以400Mhz时钟速度的单核功率PC架构上需要280-300ms的CPU周期时间。
虽然完成IKE协商所花费的时间为几百毫秒,但是DCS程序仍然被关于仅有软件的(software only)解决方案的挑战困扰。
一个或多个实施例认识并且考虑到仅有软件的方法不鲁棒。存在软件生成的密钥所需的密钥存储和持久性。这些选择是EEPROM芯片上的非易失性存储器位置。这些位置通过软件可访问,并且因此易受恶意软件攻击的伤害。通过注入和执行固件并且因此挫败安全意图,可以破解、擦除和重写密钥。
一个或多个实施例认识并且考虑到扩展的温度范围支持。由于DCS嵌入式系统在开放场地中并且具有最小保护的安装简档,要求DCS嵌入式系统支持扩展的温度。作为结果,限制功耗在架构选择方面至关重要。这转化成最小化时钟速度以有助于最小化功耗,一个与其它行业(示例:消费者电子产品)相反的设计,其中时钟速度已经以多倍的数字增加并且其中仅有软件的安全解决方案是可容易接受的。
一个或多个实施例认识并且考虑到仅有软件的方法性能没有扩展。在仅有软件的解决方案中,同时执行大量IKE协商(诸如100次IKE协商)花费的总CPU时间是不可接受的(特别是在启动或冗余节点故障切换场景中)。此外,CPU与单核功率PC架构或ARM双核对称多处理架构上的其它关键应用共享,进一步延迟最后的IKE协商完成时间。这可能导致网络通信延迟,其导致嵌入式节点的视图的暂时性丢失,一个在关键部门中的工厂操作期间不可接受的情况。
图4图示了根据本公开的示例嵌入式安全架构400。嵌入式安全架构400描述了用于嵌入式系统的安全架构。通过使用安全微控制器、FPGA和软件的组合,相对于用于IKE协商的仅有软件的解决方案,该架构实现高性能。软件仍然在利用CPU密集型安全构想实现加密通信的心脏处,所述CPU密集型安全构想被卸载到更好性能的外围支持设备。
在图4中,嵌入式安全架构400包括FPGA 402、内核驱动404、IKE库406、IPsec内核模块408、具有安全通信411的策略代理410、密码库412、安全微控制器414,以及具有设备认证417的出厂设置应用416。
该实施例提供了用于密钥存储、密钥生成和消息签名的安全微控制器414的使用。因为私钥在安全微控制器414内生成,私钥被存储在安全微控制器414内,私钥决不离开安全微控制器414,并且安全微控制器414芯片读取被禁用,所以安全微控制器414的使用提高了解决方案鲁棒性。
本公开的一个或多个实施例提供了用来撬开芯片并且读取其内容所做的任何恶意尝试使内部存储的数据自毁。本公开的一个或多个实施例还提供了:通过将签名操作卸载到安全微控制器414,实现某级别的并行性并且改进用于其它关键操作的CPU可用性。
如图3中所示的消息签名操作要求在IKE主模式期间对私钥的访问。作为结果,它是在安全微控制器414内所做的默认操作。
本公开的一个或多个实施例提供了FPGA上的低频时钟速度和用于微控制器集成的低等待时间I2C总线的使用,以降低功率消耗以及支持扩展温度范围。DCS嵌入式节点被安装在扩展温度范围(-70摄氏度到80摄氏度)要求支持的环境中。作为结果,嵌入式节点被用于其处理器和支持外设的所允许的时钟速度的受限集合所约束。
在该架构中,相对于其中在666 Mhz下的双核ARM处理器、100Mhz的FPGA时钟速度上执行软件并且安全微控制器414通过100Khz专用I2C总线连接到双核ARM处理器的仅有软件的方法,以下时钟速度有助于满足功率消耗和增加性能。利用100MHz的时钟速度和低等待时间I2C总线配置,本文中的实施例中的一个或多个在总性能上实现更好的结果,同时保持在我们的环境中的功率约束内。
本公开的一个或多个实施例提供了用于RNG、ECDH和消息验证的FPGA的使用,以及用于在IKE协商中短暂密钥生成的FPGA的使用。来自FPGA的固有益处进一步改进性能。FPGA利用硬件并行性并且打破了顺序执行的范式,因此每个时钟周期完成更多。此外,由于(相对于基于软件的RNG)通过真实RNG生成的数字的增加的不确定性或随机性(熵),实现了改进的鲁棒性。由于密钥有效性的长度,本公开的一个或多个实施例提供了用于IKE短暂密钥生成(随后用于创建共享密码)的FPGA的使用。
图5图示了根据本公开的针对IKE主模式的示例信令图500。图500示出了使用图4的嵌入式安全架构400的针对IKE主模式的安全构想执行的分布中的建议改变。图5中的信令示出在发起器节点和响应器节点之间。第一节点可以是发起器并且包括安全微控制器502、FPGA 504和IKE库506。第二节点可以是响应器并且包括安全微控制器508、FPGA 510和IKE库512。图500包括类似于图3中的那些消息的消息m1-m6。
在消息514和516处,IKE库506和512协商将在随后的协议通信中使用的SA有效载荷。
在消息518处,IKE库506向FPGA 504发送随机新鲜值请求,并且在消息520处反过来接收新鲜值。在消息522处,IKE库506向FPGA 504发送短暂密钥请求,并且在消息524处反过来接收DH发起器公钥。类似地,在消息528处,IKE库512向FPGA 510发送随机新鲜值请求,并且在消息530处反过来接收新鲜值。在消息532处,IKE库512向FPGA 510发送短暂密钥请求,并且在消息534处反过来接收DH响应器公钥。在消息526和536处,IKE库506和512执行DH密钥协商和新鲜值交换。
在消息538和540处,从这些消息生成共享秘密以供随后的协议通信使用。在消息538处,IKE库512使用DH发起器公钥向FPGA 510发送共享秘密请求。FPGA 510使用DH响应器私钥和DH发起器公钥生成共享秘密。在消息540处,FPGA 510向IKE库512发送该共享秘密。
类似地,在消息542和544处,生成共享秘密以供随后的协议通信使用。在消息542处,IKE库506利用DH响应器公钥向FPGA 504发送共享秘密请求。FPGA 504使用DH发起器私钥和DH响应器公钥生成共享秘密。在消息544处,FPGA 504向IKE库506发送该共享秘密。
IKE库506可以生成发起器消息的发起器散列。在消息546处,IKE库506向安全微控制器502发送针对发起器散列的签名请求。在消息548处,安全微控制器502向IKE库506返回发起器散列的签名。IKE库506使用共享秘密对发起器消息、发起器公钥证书和签名加密。在消息550处,IKE库506向IKE库512发送加密的消息。
IKE库512使用共享秘密解密发起器消息。在消息552处,IKE库512向FPGA 510发送签名和发起器公钥证书以用于验证,所述FPGA 510在消息554处返回该验证。IKE库512然后重新计算发起器散列。在消息556处,IKE库512利用发起器公钥将针对发起器散列和签名的核实的请求发送到FPGA 510用于验证,所述FPGA 510在消息558处返回针对验证的OK(好的)。
IKE库512可以生成响应器消息的响应器散列。在消息560处,IKE库512向安全微控制器502发送针对响应器散列的签名请求。在消息562处,安全微控制器502向IKE库512返回响应器散列的签名。IKE库512使用共享秘密对响应器消息、响应器公钥证书和签名加密。在消息564处,IKE库512向IKE库506发送加密的消息。
IKE库506使用共享秘密解密发起器消息。在消息566处,IKE库506向FPGA 510发送签名和响应器公钥证书用于验证,所述FPGA 510在消息568处返回该验证。IKE库506然后重新计算响应器散列。在消息570处,IKE库506利用响应器公钥将针对响应器散列和签名的核实的请求发送到FPGA 504用于验证,所述FPGA 504在消息572处返回针对验证的OK。
尽管图5图示了工业过程控制的一个示例和针对IKE主模式的信令图500,但是可以对图5做出各种改变。
加密通信有助于确保去往嵌入式设备的通信信息的机密性和完整性。然而,当存在对设备的物理访问时或当利用非标准访问通道(或后门)时,它不足以防范威胁。被减轻的典型攻击媒介是:
·基于存储器的漏洞利用,用来获得目标上的代码执行。
·通过将漏洞利用代码写到持久性存储而获得持久性,诸如bootkit——漏洞利用作为低级别系统启动过程的部分而执行;rootkit——漏洞利用作为操作系统的部分而执行;以及病毒——漏洞利用作为有规律的、潜在地享有特权的应用或系统服务而执行。
·通过离线操纵软件图像而获得持久性,例如直接闪存重写。
软件的运行时验证是困难的。因此,签名的固件和安全启动能力的组合是用来防止以上漏洞利用的默认选择。
本公开的一个或多个实施例提供了用于密钥使用以及第一阶段启动加载器(FSBL)和第二阶段启动加载器(SSBL)验证的安全启动解决方案。如本文中公开的安全启动解决方案提供了验证模块或使用非对称密钥密码术的分区验证。
图6图示了根据本公开的示例密钥验证基础结构600。密钥验证基础结构600描述了主要和次要密钥使用。存在两个使得能实现安全启动特征的非对称密钥对602和604。它们是主密钥对和次密钥对。这些对中的密钥被标记为RSA主秘密密钥(PSK)、RSA主公钥(PPK)、RSA次秘密密钥(SSK)和RSA次公钥(SPK)。
SPK由PSK签署,并且通过主密钥所有者将PPK、SSK、SPK和SPK.SIG的包递送给次密钥所有者。随后,SSK被用于签署图像散列签名。具有其证书(包含PPK、SPK、SPK.SIG、imageHash.SIG)的图像形成签名的图像606。
在一个示例实施例中,使用这两个密钥对设计的密钥管理细节如下:
主密钥602由根管理机构拥有和维持。仅在发布用于新产品的次密钥对604时利用秘密密钥。在制造期间,公钥的散列被存储在每一个设备中的一次可编程内部存储器(电熔丝)中。主秘密密钥被物理保护并且与网络断开连接直到要求对附加的次密钥对604的需要。次密钥对604由产品SCM团队拥有和维持。
在示例实施例中,密钥验证序列如下:
在嵌入式设备中计算固件散列并且将其与签名的图像散列进行比较(匹配是成功标准)。SPK用于验证签名的图像散列。在嵌入式设备中计算SPK散列并且将其与签名的SPK散列进行比较(匹配是成功标准)。PPK用于验证签名的SPK散列。计算PPK散列并且将其与存储在电熔丝中的PPK散列进行比较(匹配是成功标准),所述电熔丝是片上系统上的处理系统的一部分。如果满足所有成功标准,则固件被验证。
图7图示了根据本公开的示例信任链700。信任链700显示针对嵌入式节点构建的分区之间的信任链。片上系统引擎在FSBL 702的执行之前验证它。FSBL 702验证SSBL 704并且加载SSBL 704。SSBL然后在加载剩余模块706-712之前验证剩余模块706-712(或分区)。该执行被转移到内核710以用于后续处理。
图8图示了根据本公开的示例分区设计800。分区设计800的总分区801包括使用中的区域802、PPK 804、SPK 806、SPK.SIG 808、分区签名810、未使用的区域812以及分区大小814。在一个示例实施例中,除FSBL和SSBL之外的每一个分区被打包,如分区设计800中所示。PPK 804、SPK 806、SPK.SIG 808和分区签名810刚好在图像之后被打包在一起。分区大小814被包括在分区的结束处并且包括使用中的区域802、PPK 804、SPK 806、SPK.SIG 808的总大小。
图9图示了根据本公开的示例安全启动过程900。当分区验证未能成功时,安全启动过程900提供要进入锁定模式的节点。锁定模式免受以上提及的多个攻击。只有避免引入用于挫败安全启动能力的后门技术的制造商才可以恢复锁定的嵌入式设备。
在操作902处,处理器加载分区方案。在操作904处,处理器加载和验证第一阶段启动加载器(FSBL)。如果FSBL是有效的,则处理器在操作908处将该FSBL加载到片上存储器中,执行该FSBL,并且加载和验证第二阶段启动加载器(SSBL)。如果SSBL是有效的,则处理器在操作912处将该SSBL加载到存储器(诸如双数据速率同步动态随机存取存储器)中并且执行该SSBL。
在操作914处,针对每个分区,处理器验证分区头部,将每一个分区加载到存储器中并且执行每一个分区。在操作916处,完成安全启动。
如果在操作904或908处,FSBL或SSBL是无效的,则处理器在操作918处进入安全锁定。而且,如果在操作914处,分区头部中的任何分区头部是无效的,则处理器在操作918处进入安全锁定。一旦在安全锁定中,处理器就必须由制造商或制造商的代理解锁。
在一些实施例中,以上所描述的各种功能由计算机程序实现或支持,所述计算机程序由计算机可读程序代码形成并且体现在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)或任何其它类型的存储器。“非暂时性”计算机可读介质排除输送暂时性电信号或其它信号的有线的、无线的、光学的或其它的通信链路。非暂时性计算机可读介质包括可以永久地存储数据的介质和可以存储数据并且后来重写数据的介质,诸如可重写光盘或可擦除存储器设备。
阐述贯穿本专利文档所使用的某些词和短语的定义可以是有利的。术语“应用”和“程序”是指被适配用于以合适的计算机代码(包括源代码、目标代码或可执行代码)实现的一个或多个计算机程序、软件组件、指令集、过程、函数、对象、类、实例、相关数据或其一部分。术语“包括”和“包含”及其派生词意味着包括而没有限制。术语“或”是包括性的,意味着和/或。短语“与……相关联”及其派生词可以意味着包括、被包括在……内、与……互连、包含、被包含在……内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……协作、交错、并列、接近、绑定到或与……绑定、具有、具有……的性质、和或与……有关系等。在与项目列表一起使用时,短语“……中的至少一个”意味着可以使用所列出的项目中的一个或多个的不同组合,并且可能仅需要列表中的一个项目。例如,“A、B和C中的至少一个”包括以下组合中的任何:A、B、C、A和B、A和C、B和C以及A和B和C。
虽然本公开已经描述了某些实施例和一般相关联的方法,但是这些实施例和方法的更改和置换对本领域技术人员将是明显的。因此,示例实施例的以上描述不限定或约束本公开。在不脱离如由以下权利要求书限定的本公开的精神和范围的情况下,其它改变、替换和更改也是可能的。
Claims (7)
1.一种用于嵌入式安全架构的方法,包括:
由第一分布式控制系统DCS节点(202)通过网络(120)与第二DCS节点(204)交换安全关联策略(411);
使用安全关联策略与第二DCS节点交换公钥;
向第一DCS节点的现场可编程门阵列(402, 504)发送第二DCS节点的公钥;
接收由现场可编程门阵列所生成的共享秘密;以及
使用共享秘密生成消息的散列;向第一DCS节点的安全微控制器(502)发送散列;
从第一DCS节点的安全微控制器接收签名的散列;
使用共享秘密对消息和签名的散列加密;以及
向第二DCS节点发送所加密的消息和签名的散列。
2.根据权利要求1所述的方法,其中安全微控制器的芯片读取被禁用。
3.根据权利要求2所述的方法,进一步包括:
响应于用来撬开安全微控制器并且读取安全微控制器上的数据(414)的尝试,破坏所述数据中的至少一些。
4.根据权利要求1所述的方法,进一步包括:
向现场可编程门阵列请求第一DCS节点的公钥;以及
接收第一DCS节点的公钥。
5.根据权利要求1所述的方法,进一步包括:
向现场可编程门阵列请求随机新鲜值;
接收随机新鲜值;以及
向第二DCS节点发送随机新鲜值。
6.一种用于嵌入式安全架构的装置,包括:
第一分布式控制系统DCS节点(202),包括:
至少一个接口,其被配置成通过网络(128)与第二DCS节点(204)通信;以及
至少一个处理设备,其被配置成:
与第二DCS节点交换安全关联策略(411);
使用安全关联策略与第二DCS节点交换公钥;
向第一DCS节点的现场可编程门阵列(402, 504)发送第二DCS节点的公钥;
接收由现场可编程门阵列所生成的共享秘密;以及
使用共享秘密生成消息的散列;
向第一DCS节点的安全微控制器(502)发送散列;
从第一DCS节点的安全微控制器接收签名的散列;
使用共享秘密对消息和签名的散列加密;以及
向第二DCS节点发送所加密的消息和签名的散列。
7.一种非暂时性计算机可读介质,其上存储有计算机可读程序代码,该计算机可读程序代码被处理器执行时实现以下方法:
由第一分布式控制系统DCS节点(202)通过网络(120)与第二DCS节点(204)交换安全关联策略(411);
使用安全关联策略与第二DCS节点交换公钥;
向第一DCS节点的现场可编程门阵列(402, 504)发送第二DCS节点的公钥;
接收由现场可编程门阵列所声称的共享秘密;
使用共享秘密生成消息的散列;
向第一DCS节点的安全微控制器(502)发送散列;
从第一DCS节点的安全微控制器接收签名的散列;
使用共享秘密对消息和签名的散列加密;以及
向第二DCS节点发送所加密的消息和签名的散列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/954,550 US10038552B2 (en) | 2015-11-30 | 2015-11-30 | Embedded security architecture for process control systems |
US14/954550 | 2015-11-30 | ||
PCT/US2016/060939 WO2017095599A1 (en) | 2015-11-30 | 2016-11-08 | Embedded security architecture for process control systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108370313A CN108370313A (zh) | 2018-08-03 |
CN108370313B true CN108370313B (zh) | 2021-11-23 |
Family
ID=58777395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680070023.7A Active CN108370313B (zh) | 2015-11-30 | 2016-11-08 | 用于过程控制系统的嵌入式安全架构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10038552B2 (zh) |
EP (1) | EP3384626B1 (zh) |
CN (1) | CN108370313B (zh) |
AU (1) | AU2016364938B2 (zh) |
WO (1) | WO2017095599A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10587421B2 (en) | 2017-01-12 | 2020-03-10 | Honeywell International Inc. | Techniques for genuine device assurance by establishing identity and trust using certificates |
US10749692B2 (en) | 2017-05-05 | 2020-08-18 | Honeywell International Inc. | Automated certificate enrollment for devices in industrial control systems or other systems |
JP6834771B2 (ja) * | 2017-05-19 | 2021-02-24 | 富士通株式会社 | 通信装置および通信方法 |
US10521600B2 (en) * | 2017-12-13 | 2019-12-31 | University Of Florida Research Foundation, Inc. | Reconfigurable system-on-chip security architecture |
CN108229132A (zh) * | 2017-12-27 | 2018-06-29 | 北京和利时系统工程有限公司 | 一种安全启动方法和装置、终端 |
CN109558366B (zh) * | 2018-11-15 | 2023-03-31 | 浙江国利网安科技有限公司 | 一种基于多处理器架构的防火墙 |
EP3957022A4 (en) * | 2019-04-15 | 2023-01-11 | Aclara Technologies LLC | SYSTEM AND METHODS FOR ENHANCED SECURITY IN ADVANCED MEASUREMENT INFRACTION NETWORKS |
US11089062B2 (en) * | 2019-08-29 | 2021-08-10 | International Business Machines Corporation | Automated security architecture formulation and deployment |
CN113496398A (zh) * | 2020-03-19 | 2021-10-12 | 中移(上海)信息通信科技有限公司 | 基于智能合约的数据处理方法、装置、设备及介质 |
CN112910932B (zh) * | 2021-04-30 | 2021-07-20 | 北京数盾信息科技有限公司 | 一种数据处理方法、装置及系统 |
US11893248B2 (en) * | 2022-02-11 | 2024-02-06 | Western Digital Technologies, Inc. | Secure metadata protection |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645792A (zh) * | 2004-01-21 | 2005-07-27 | 佳能株式会社 | 通信装置、数字签名发行方法、装置及签名发送方法 |
US20140010371A1 (en) * | 2012-07-09 | 2014-01-09 | Roger I. Khazan | Cryptography and key management device and architecture |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0645033B1 (en) * | 1992-06-12 | 1996-12-04 | The Dow Chemical Company | Intelligent process control communication system and method |
US7165174B1 (en) * | 1995-02-13 | 2007-01-16 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management |
US6560656B1 (en) * | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6243695B1 (en) | 1998-03-18 | 2001-06-05 | Motorola, Inc. | Access control system and method therefor |
US6990379B2 (en) | 1999-12-30 | 2006-01-24 | Microsoft Corporation | Method and apparatus for providing a dynamic resource role model for subscriber-requester based protocols in a home automation and control system |
US7069580B1 (en) * | 2000-06-16 | 2006-06-27 | Fisher-Rosemount Systems, Inc. | Function-based process control verification and security in a process control system |
US20030088650A1 (en) | 2001-07-30 | 2003-05-08 | Lockheed Martin Corporation | Using a diskless client network topology for disk duplication and configuration |
WO2003028284A1 (en) * | 2001-09-26 | 2003-04-03 | Synchron Networks | Secure broadcast system and method |
US7536548B1 (en) * | 2002-06-04 | 2009-05-19 | Rockwell Automation Technologies, Inc. | System and methodology providing multi-tier-security for network data exchange with industrial control components |
US20040015262A1 (en) | 2002-07-18 | 2004-01-22 | International Business Machines Corporation | Method for controlling access to devices in a pervasive embedded environment |
US20040153171A1 (en) * | 2002-10-21 | 2004-08-05 | Brandt David D. | System and methodology providing automation security architecture in an industrial controller environment |
US7574509B2 (en) * | 2002-11-25 | 2009-08-11 | Fisher-Rosemount Systems, Inc. | Interactive two-way collaboration in process control plants |
US7284278B2 (en) | 2003-03-04 | 2007-10-16 | Dell Products L.P. | Secured KVM switch |
US7835931B2 (en) | 2003-10-03 | 2010-11-16 | Meta Command Systems, Inc. | Method and system for network-based, distributed, real-time command and control of an enterprise |
US20050102514A1 (en) | 2003-11-10 | 2005-05-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, apparatus and system for pre-establishing secure communication channels |
ITTO20031030A1 (it) | 2003-12-22 | 2005-06-23 | Proma Srl | Dispositivo di abbattimento per schienali di veicoli. |
US7778422B2 (en) * | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US7646872B2 (en) * | 2004-04-02 | 2010-01-12 | Research In Motion Limited | Systems and methods to securely generate shared keys |
US8527752B2 (en) | 2004-06-16 | 2013-09-03 | Dormarke Assets Limited Liability | Graduated authentication in an identity management system |
US20060236408A1 (en) | 2005-04-14 | 2006-10-19 | International Business Machines Corporation | Method and apparatus for device dependent access control for device independent web content |
US7591002B2 (en) | 2005-06-09 | 2009-09-15 | Microsoft Corporation | Conditional activation of security policies |
US8050624B2 (en) * | 2005-06-24 | 2011-11-01 | Rosemount, Inc. | Distributed process control system and method utilizing wireless communication of packet messages |
WO2007018476A1 (en) * | 2005-08-11 | 2007-02-15 | Nss Msc Sdn Bhd | Hybrid cryptographic approach to mobile messaging |
US8220042B2 (en) | 2005-09-12 | 2012-07-10 | Microsoft Corporation | Creating secure interactive connections with remote resources |
US7765399B2 (en) * | 2006-02-22 | 2010-07-27 | Harris Corporation | Computer architecture for a handheld electronic device |
US8381306B2 (en) | 2006-05-30 | 2013-02-19 | Microsoft Corporation | Translating role-based access control policy to resource authorization policy |
US8051488B2 (en) * | 2006-10-05 | 2011-11-01 | Microsoft Corporation | Trial usage for encrypted subscription-based data |
WO2009006621A2 (en) | 2007-07-03 | 2009-01-08 | Fieldbus Foundation | Block-oriented control system having wireless gateway for communication with wireless field devices |
US8122497B2 (en) | 2007-09-10 | 2012-02-21 | Redcloud, Inc. | Networked physical security access control system and method |
US20090276537A1 (en) | 2007-12-20 | 2009-11-05 | Deverick James W | Mechanisms for role negotiation in the establishment of secure communication channels in peer-to-peer environments |
US8935528B2 (en) * | 2008-06-26 | 2015-01-13 | Microsoft Corporation | Techniques for ensuring authentication and integrity of communications |
US8429435B1 (en) * | 2008-07-25 | 2013-04-23 | Autani Corporation | Automation devices, systems, architectures, and methods for energy management and other applications |
US20100050267A1 (en) | 2008-08-20 | 2010-02-25 | Zoltan Nochta | Method and system for the automated transformation of access control management information in computer systems |
EP2159653B1 (de) | 2008-09-02 | 2014-07-23 | Siemens Aktiengesellschaft | Verfahren zur Einräumung einer Zugriffsberechtigung auf ein rechnerbasiertes Objekt in einem Automatisierungssystem, Computerprogramm und Automatisierungssystem |
US9344438B2 (en) | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
US8307085B2 (en) | 2010-03-16 | 2012-11-06 | Microsoft Corporation | Storing state of distributed architecture in external store |
US8873746B2 (en) | 2010-01-28 | 2014-10-28 | Intel Corporation | Establishing, at least in part, secure communication channel between nodes so as to permit inspection, at least in part, of encrypted communication carried out, at least in part, between the nodes |
JP2012053621A (ja) * | 2010-08-31 | 2012-03-15 | Toshiba Corp | 認証個人カード及びその不正アクセス防止方法 |
DE102011108003B4 (de) * | 2011-07-19 | 2013-07-25 | Abb Technology Ag | Prozessleitsystem |
US8909930B2 (en) | 2011-10-31 | 2014-12-09 | L-3 Communications Corporation | External reference monitor |
KR101303278B1 (ko) * | 2011-12-14 | 2013-09-04 | 한국전자통신연구원 | 비트스트림 보호를 위한 fpga 장치 및 그 방법 |
US9635029B2 (en) | 2012-01-27 | 2017-04-25 | Honeywell International Inc. | Role-based access control permissions |
US9230091B2 (en) * | 2012-06-20 | 2016-01-05 | Microsoft Technology Licensing, Llc | Managing use of a field programmable gate array with isolated components |
US9503478B2 (en) | 2014-01-27 | 2016-11-22 | Honeywell International Inc. | Policy-based secure communication with automatic key management for industrial control and automation systems |
US9438628B2 (en) | 2014-01-27 | 2016-09-06 | Honeywell International Inc. | Apparatus and method for securing a distributed control system (DCS) |
US10244000B2 (en) | 2014-02-24 | 2019-03-26 | Honeywell International Inc. | Apparatus and method for establishing seamless secure communications between components in an industrial control and automation system |
-
2015
- 2015-11-30 US US14/954,550 patent/US10038552B2/en active Active
-
2016
- 2016-11-08 WO PCT/US2016/060939 patent/WO2017095599A1/en unknown
- 2016-11-08 AU AU2016364938A patent/AU2016364938B2/en active Active
- 2016-11-08 EP EP16871254.5A patent/EP3384626B1/en active Active
- 2016-11-08 CN CN201680070023.7A patent/CN108370313B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645792A (zh) * | 2004-01-21 | 2005-07-27 | 佳能株式会社 | 通信装置、数字签名发行方法、装置及签名发送方法 |
US20140010371A1 (en) * | 2012-07-09 | 2014-01-09 | Roger I. Khazan | Cryptography and key management device and architecture |
Also Published As
Publication number | Publication date |
---|---|
CN108370313A (zh) | 2018-08-03 |
EP3384626A1 (en) | 2018-10-10 |
WO2017095599A1 (en) | 2017-06-08 |
EP3384626A4 (en) | 2019-06-19 |
US20170155511A1 (en) | 2017-06-01 |
AU2016364938B2 (en) | 2020-12-03 |
AU2016364938A1 (en) | 2018-04-26 |
US10038552B2 (en) | 2018-07-31 |
EP3384626B1 (en) | 2021-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108370313B (zh) | 用于过程控制系统的嵌入式安全架构 | |
Tange et al. | A systematic survey of industrial Internet of Things security: Requirements and fog computing opportunities | |
Yousefnezhad et al. | Security in product lifecycle of IoT devices: A survey | |
US10831894B2 (en) | Decentralized root-of-trust framework for heterogeneous networks | |
WO2019108438A1 (en) | System and method for securing data transport between a non-ip endpoint device that is connected to a gateway device and a connected service | |
EP3718036A1 (en) | System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service | |
CN110192197B (zh) | 通过使用证书建立身份标识和信任来实现正品设备保证的技术 | |
US10691619B1 (en) | Combined integrity protection, encryption and authentication | |
Faisal et al. | Establishment of trust in internet of things by integrating trusted platform module: To counter cybersecurity challenges | |
Schläpfer et al. | Security on IoT devices with secure elements | |
US11126567B1 (en) | Combined integrity protection, encryption and authentication | |
Sfyrakis et al. | A survey on hardware approaches for remote attestation in network infrastructures | |
Spathoulas et al. | Towards a secure industrial internet of things | |
Fröhlich et al. | A secure IIoT gateway architecture based on trusted execution environments | |
CN112838926A (zh) | 加速器之间的密钥共享方法 | |
Zhang et al. | PriRoster: Privacy-preserving radio context attestation in cognitive radio networks | |
Upadhyay et al. | A comprehensive review on the issues related to the data security of internet of things (IoT) devices | |
d BH et al. | Cyber Security Perspective of Top Future Technologies | |
Hoffmann et al. | A puf-based secure bootstrap protocol for cyber-physical system networks | |
US11889002B2 (en) | Use of physical unclonable functions to prevent counterfeiting of industrial control products | |
CN112839021B (zh) | 带交换机的加速器之间的密钥共享方法 | |
Souare et al. | AES-ECC and Blockchain in Optimizing the Security of Communication-Rich IoT | |
Qureshi et al. | Multilayer Security and Privacy Provision in Internet of Things Networks: Challenges and Future Trends | |
Endler | EdgeSec–A Security framework for middlewares and edge devices in the Internet of Things (IoT) | |
Gilles et al. | Securing communication on the field: Protecting geo-distributed computing in an untrusted environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |