CN113630374A - 实现通过网络与目标装置的安全通信的方法 - Google Patents
实现通过网络与目标装置的安全通信的方法 Download PDFInfo
- Publication number
- CN113630374A CN113630374A CN202110489740.6A CN202110489740A CN113630374A CN 113630374 A CN113630374 A CN 113630374A CN 202110489740 A CN202110489740 A CN 202110489740A CN 113630374 A CN113630374 A CN 113630374A
- Authority
- CN
- China
- Prior art keywords
- opc
- certificate
- network
- initial
- target device
- 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.)
- Granted
Links
Images
Classifications
-
- 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/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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- 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
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
- 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
- H04L9/3265—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 using certificate chains, trees or paths; Hierarchical trust model
-
- 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
- H04L9/3268—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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
提供实现通过网络与目标装置安全通信的方法。方法包括目标装置上运行的OPC UA服务器开启不安全OPC UA端点,其提供符合OPC UA信息模型的安全上下文数据,其中安全上下文数据指示存在目标装置上存储的初始装置证书;第一装置上运行的OPC UA客户端通过网络连接到OPC UA服务器并请求初始装置证书;OPC UA客户端接收初始装置证书;第一装置验证初始装置证书;第一装置建立装置证书;第一装置使用初始装置公有密钥加密装置证书以产生加密数据;通过网络将加密数据从OPC UA客户端发送到OPC UA服务器;目标装置使用初始装置私有密钥解密加密数据以得到装置证书;将装置证书存储在目标装置上;OPC UA服务器开启安全OPC UA端点,其基于装置证书提供对目标装置的技术功能的访问。
Description
技术领域
本公开涉及装置到网络中的集成或者网络内的装置的升级,集中于实现与装置(例如现场装置)的安全通信。具体来说,本文所述的实施例涉及用于实现通过网络与目标装置的安全通信的方法、目标装置、包括该目标装置和另一网络装置的系统、实现通过网络与目标装置的安全通信的另一网络装置以及对应的计算机程序产品。
背景技术
当前进行中的第四次工业革命(包括已知的“工业4.0”)正以前所未有的方式推进制造过程中的自动化和数据交换,而且还在办公室和家庭内提供例如现场装置等的装置以及特别是所谓的嵌入式装置之间的智能连接性。一方通常具有现场的网络基础设施,无论是在工厂、办公室或者甚至家庭中,并且期望装置按照安全方式通过网络利用控制器相互通信,以便避免可引起工厂、办公室或家庭内的灾难性故障的从偷听到采集相关数据到恶意篡改装置变化的安全漏洞。基于公有密钥基础设施(PKI)的非对称密码学是保护这种通信的方式。
OPC UA是一种与这类装置的通信的技术。其中“OPC UA”是OPC基金会的统一架构(UA)的众所周知缩写词。由14部分组成的当前OPC UA规范应该形成全部OPC UA相关条款和功能的基础,并且通过引用完整地结合到本文中。OPC UA支持基于PKI的机制,以保护装置(例如传感器或致动器)上运行的OPC UA服务器与作为控制器(所述控制器通常具有用户接口)的组成部分的OPC UA客户端之间的通信。对于基于PKI的安全通信,OPC UA服务器和OPCUA客户端两者的证书被交换和验证,以构建信任关系或安全上下文。
但是,特别是在嵌入式装置上的许多OPC UA服务器仍然缺乏与基于证书的安全OPC UA通信的集成。通常使用非安全通信,或者采用基于基本用户名/密码的概念来保护OPC UA通信。这些方式没有充分防止窃听者和恶意操纵。极大地需要对基于证书、加密和完整性保护的通信的升级。具有现场的网络基础设施的所述一方通常设法安装伴随集成OPCUA服务器的新装置或者升级旧装置,以便按照基于PKI的安全方式通过网络相互之间与控制器进行通信,并且可优选所述一方自己的PKI。
为了例如在新装置的调试或者升级现有装置(所述装置被连接到所述一方的网络基础设施)的重新初始化期间构建装置的OPC UA服务器与OPC UA客户端之间的信任关系,所述一方可信任所述的装置的预安装装置证书,但是然后可必须管理所述一方自己的PKI内的许多第三方证书。使用这种预安装装置证书还可能引起OPC UA客户端中的验证问题。
所述一方可希望生成自己的装置证书,所述装置证书完全集成在所述一方自己的PKI中,但是则需要在因来自不同制造商/厂商而可能属于不同类型并且因此可能具有不同硬件和操作系统的装置上安装装置证书。特别当装置是嵌入式装置时,它们因硬件限制而可能缺乏创建证书的能力。装置特定调试工具可用来直接访问装置的文件系统,以便复制其中的装置证书。但是这可要求每个特定装置类型的专有软件,并且经过通过网络的远程访问通常也许不是可能的。例如经过USB对装置的直接访问可用来安装装置证书,但是麻烦并且可能不安全。其他方式使用与装置上的OPC UA服务器的最初不安全通信来访问安全相关方面,并且安装装置证书,但是依靠关于可信网络连接在这个初始阶段存在的假设,情况可能通常不是这样并且造成安全风险。其他网络协议尝试安全访问装置,但是它们的安全性通常可能没有正确被估计,从而导致意外安全风险。但是即使它们被认为是安全的(例如SSH),它们也能够使连网和配置方面的附加工作量成为必要(例如对防火墙和路由选择的调整),并且在所述一方忘记还原这些调整时最终可能引入安全风险。
因此,需要改进装置中集成的OPC UA服务器与网络装置上运行的OPC UA之间的安全上下文或信任关系的建立。
发明内容
按照实施例,提供一种用于实现通过网络与目标装置的安全通信的方法。该方法包括:由目标装置上运行的OPC UA服务器来开启不安全OPC UA端点,不安全OPC UA端点提供符合OPC UA信息模型的安全上下文数据,其中安全上下文数据指示目标装置上存储的初始装置证书的存在;由第一装置上运行的OPC UA客户端通过网络连接到OPC UA服务器,并且请求初始装置证书;由OPC UA客户端通过网络上的不安全通信从OPC UA服务器接收初始装置证书;由第一装置针对初始装置证书的发布者的根证书或中间证书来验证初始装置证书;由第一装置建立装置证书;由第一装置使用初始装置证书的初始装置公有密钥来加密至少装置证书,以产生加密数据;通过网络将加密数据从OPC UA客户端发送到OPC UA服务器;由目标装置使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到至少装置证书;将装置证书存储在目标装置上;以及由OPC UA服务器开启安全OPC UA端点,安全OPC UA端点基于装置证书来提供经由网络上的安全通信对目标装置的技术功能的访问。
按照另一个实施例,提供一种目标装置。该目标装置包括存储器以及用于将目标装置连接到网络的网络连接器。该目标装置配置成:运行OPC UA服务器,该OPC UA服务器开启不安全OPC UA端点,不安全OPC UA端点提供符合OPC UA信息模型的安全上下文数据,其中安全上下文数据指示存储器中存储的初始装置证书的存在;通过网络从OPC UA客户端接收对初始装置证书的请求;从存储器中检索初始装置证书,并且通过经由网络的不安全通信将初始装置证书发送到OPC UA客户端;通过网络从OPC UA客户端接收加密数据,该加密数据包括通过使用初始装置证书的初始装置公有密钥所加密的装置证书;使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到装置证书;将装置证书存储在目标装置的存储器中;以及由OPC UA服务器开启安全OPC UAS端点,安全OPC UA端点基于装置证书来提供经由通过网络的安全通信对目标装置的技术功能的访问。
能够与本文所述实施例相组合的其他优点、特征、方面和细节通过从属权利要求、描述和附图是显而易见的。
附图说明
下面将参照附图描述更多细节,附图包括:
图1示出按照本文所述实施例的目标装置、第一装置以及包括目标装置和第一装置的系统;以及
图2示出按照本文所述实施例、实现通过网络与目标装置的安全通信的方法。
具体实施方式
按照实施例,提供一种用于实现通过网络与目标装置的安全通信的方法。网络能够是工业站点或者另一自动化站点的网络、办公网络或者专用网络(包括例如家用电器)。网络可包括配置成执行工业工作过程(例如生产或检查过程)的装置和/或配置成自动化办公任务或家庭任务的装置。网络可以是有线、无线或者它们的混合,并且特别可以是数字无线网络或者包括数字无线网络。网络可以是局域网,例如LAN。网络可以是实时网络,例如实时以太网(RTE)。网络可以是虚拟网络。网络可以是VPN(虚拟专用网络)。
网络或者它的一部分可属于第一方,特别是拥有工业站点、办公或家庭的一方。第一方可从第二方得到目标装置,特别是从第二方购买目标装置,以及第一方因此可以是第二方的客户,所述第二方能够是目标装置的厂商。网络可以是不可信和/或不安全网络。具体来说,第一方也许不能够信任通过网络的全部通信是安全的。该方法可以是实现通过不可信和/或不安全网络与目标装置的安全通信的方法。
目标装置因作为实现通过网络与它进行安全通信的方法的目标而在本文中被冠以此名。由于目标装置能够连接到网络,所以目标装置可被称作智能装置或聪明装置,而这个术语在这里并不暗示目标装置必然能够连接到因特网。目标装置可包括网络连接器,用于将目标装置连接到网络。网络连接器可以是用于对目标装置所提供的技术功能的外部访问的唯一接口。目标装置可以是无头目标装置,即,没有用户接口的装置。目标装置可以特别是嵌入式目标装置。嵌入式目标装置具有受限处理能力和/或受限存储器空间,并且可具有严格功率要求。嵌入式目标装置也许不能够在装置上进行证书发布。目标装置可能相对网络是未配置的,即,没有显示与网络的过去或当前的成员关系或者与网络的另一个装置的关系的配置数据。简言之,这种目标装置被称作未配置目标装置。目标装置可能从未作为网络的一部分或者可能已经重置为例如工厂设定。目标装置可以是现场装置,例如传感器或致动器。目标装置可以是自动化中使用的另外某个装置,例如可被安装在柜中的控制器等。目标装置可以是或者包括PLC(可编程逻辑控制器)或DCS(分布式控制系统)。目标装置可以是虚拟机上的虚拟装置。
目标装置提供技术功能。术语“技术功能”应该包括提供一个技术功能的情况。技术功能可涉及工业工作过程的任务或者办公任务或家庭任务。技术功能在目标装置是传感器时可包括数据(例如在目标装置是传感器时的测量数据)的集合或者例如在目标装置是现场装置时的物理量的移动或变化的执行。
网络包括第一装置。第一装置可配置用于建立它本身与网络的其他装置(特别是经过调试阶段的装置,但是可能还有重新配置或重新初始化的装置)之间的安全上下文。第一装置可以是通用计算机(例如PC)或者用于建立安全上下文的专用计算机。第一装置可属于第一方或者受第一方控制。第一装置可运行用于建立安全上下文的程序,以下称作调试工具。第一装置可通过建立与目标装置的安全上下文来实现与目标装置的安全通信。如果第一装置建立与未配置目标装置的安全上下文,则第一装置被说成引导目标装置。该方法可以是通过网络引导目标装置以实现与目标装置的安全通信的方法。在建立与目标装置的安全上下文之后,即,在引导阶段结束并且运行时阶段已经开始之后,第一装置可与目标装置安全地通信,和/或向其他装置(第一装置具有与所述其他装置的已建立安全上下文)提供信息,其中所述信息允许其他装置与目标装置安全地通信。
该方法可包括将目标装置加入网络。将目标装置加入网络可包括将目标装置在物理上连接到网络的网络基础设施,特别是第一方的网络基础设施(例如第一方的工业站点)。将目标装置加入网络可包括向目标装置指配网络标识。可例如通过计划和设计地址并且通过将所指配地址设置到目标装置,手动/静态地进行网络标识的指配。备选地,可在将目标装置连接到网络基础设施之后,例如通过使用动态DNS/IP指配连同DHCP,自动进行指配。网络标识至少在网络内可以是唯一的。网络标识可以是或者包括:IP地址和/或主机名。将目标装置加入网络可包括向目标装置指配网络配置。网络配置可包括网络标识以及下列任何项或组合:DNS服务器的标识、端口、URL、子网掩码、网络时间的可靠源。
目标装置运行OPC UA服务器。可向本地发现服务器(LDS)和/或全局发现服务器(GDS)注册目标装置的OPC UA服务器。第一装置运行OPC UA客户端。当装置被说成运行或执行功能的OPC UA实体时,要理解装置的适当软件可操纵这些任务。例如,第一装置的调试工具可包括作为其软件例程的一部分的OPC UA客户端或者可至少控制第一装置上的OPC UA客户端的执行。类似地,目标装置可具有软件(例如目标装置的制造商的专有软件),并且这个软件可包括或者至少控制目标装置上的OPC UA服务器的执行。
该方法可包括建立第一装置与目标装置之间的网络连接性。网络连接性可包括经由TCP/IP进行通信的能力。该方法可包括使目标装置的网络标识是第一装置已知的。使目标装置的网络标识是第一装置已知的可包括由第一装置发现目标装置的网络标识。发现目标装置的网络标识可包括通过连接到LDS或GDS或者通过使用mDNS的OPC UA发现机制(例如OPC UA FindSerers服务),这是OPC UA多播子网发现。备选地,目标装置的网络标识可以是第一装置已知的,例如从人机接口(HMI)被输入到第一装置或者以其他方式被加载到第一装置中。
该方法包括由OPC UA服务器(即,由目标装置上运行的OPC UA服务器)来开启不安全OPC UA端点。开启OPC UA端点可创建/添加所述端点或者启用所述端点。不安全OPC UA端点可以是OPC UA服务器所提供的唯一被启用的OPC UA端点,或者可以是OPC UA服务器在这个阶段、特别在整个引导阶段期间所提供的唯一OPC UA端点。不安全OPC UA端点可实现作为OPC UA安全策略的“None”。不安全OPC UA端点可实现作为OPC UA消息安全模式的“None”。如果目标装置是未配置目标装置,则不安全OPC UA端点可被称作引导OPC UA端点。
不安全OPC UA端点提供安全上下文数据。安全上下文数据可由其他装置(例如第一装置)的OPC UA客户端来访问。安全上下文数据包含用于建立与目标装置的安全上下文的数据。安全上下文数据指示目标装置上存储的初始装置证书的存在。初始装置证书包括初始装置公有密钥。对应初始装置私有密钥可被存储在目标装置上。初始装置证书和/或初始装置私有密钥可被存储在目标装置的存储器(例如,目标装置的安全存储装置,例如TPM安全存储装置,其中TPM是可信平台模块的缩写词)中。初始装置证书可以是由装置的制造商或厂商所安装的证书,并且相应地可以是厂商装置证书或制造商装置证书。同样,初始装置私有密钥可以是厂商私有密钥或制造商私有密钥。
安全上下文数据符合OPC UA信息模型。一旦OPC UA客户端已经连接到不安全OPCUA服务器,安全上下文数据能够通过对服务/方法的由OPC UA调用来访问。例如,指示初始装置证书的存在的安全上下文数据的信息项可作为字符串被嵌入在OPC UA属性节点。OPCUA属性节点可通过类型OPC UA FileType的节点来定义,并且可通过其方法来访问。
不安全OPC UA端点可能不提供对目标装置的技术功能的访问。当不安全OPC UA端点存在或者被启用的同时或者当安全上下文尚未在目标装置与另一个网络装置(例如第一装置)之间建立的同时,OPC UA服务器或目标装置可以不提供对目标装置的技术功能的访问。OPC UA服务器或目标装置在引导阶段期间可以不提供目标装置的技术功能的访问。
该方法包括由OPC UA客户端通过网络连接到OPC UA服务器,即,由第一装置上运行的OPC UA客户端连接到目标装置上运行的OPC UA服务器。连接到OPC UA服务器的OPC UA客户端可包括由OPC UA客户端连接到不安全OPC UA端点。连接到OPC UA服务器的OPC UA客户端可包括OPC UA客户端请求OPC UA服务器例如通过OPC UA GetEndpoints服务所提供的OPC UA端点的列表。由OPC UA服务器所返回的列表可以是包含不安全OPC Ua端点的长度一的列表。OPC UA客户端可使用列表中包含的连接信息来连接到不安全OPC UA端点。连接信息可包括主机名、IP地址、端口号和安全选项(例如OPC UA安全策略“None”和OPC UA消息安全模式“None”)中的至少一个。
OPC UA客户端可浏览安全上下文数据。浏览安全上下文数据可包括对OPC UA方法(例如类型FileType的节点的读方法)的调用,并且评估所返回数据。OPC UA客户端可例如通过查找安全上下文数据中或者甚至与安全上下文数据的至少部分对应的所返回数据中的对应信息元素来识别初始装置证书的存在。
该方法包括由OPC UA客户端来请求初始装置证书。OPC UA服务器可在接收对初始装置证书的请求时从存储器中检索或者使目标装置检索初始装置证书。初始装置证书可由OPC UA服务器或者由目标装置从安全存储装置中检索。其中,初始装置证书可由只读模式的安全存储装置(例如TPM安全存储装置)来提供。初始装置证书然后可由OPC UA服务器响应该请求而被发送到OPC UA客户端,初始装置证书的发送通过不安全通信进行。如果初始装置证书作为这种属性被提供给OPC UA客户端,则请求初始装置证书可包括OPC UA客户端读取OPC UA属性节点的属性。备选地,请求初始装置证书可包括OPC UA客户端使用对OPCUA服务器处的方法的OPC UA方法调用,并且得到作为通过这种方法回传的值的初始装置证书。
该方法包括由OPC UA客户端从OPC UA服务器接收初始装置证书。初始装置证书通过经由网络的不安全通信来接收。初始装置证书可响应对初始装置证书的请求而接收。
该方法包括由第一装置验证初始装置证书。验证针对初始装置证书的发布者的根证书或中间证书。初始装置证书的发布者的根证书或中间证书可存在于第一装置中,或者可从外部可信源下载。外部可信源与目标装置无关。验证初始装置证书可包括由第一装置访问持有(hold)初始装置证书的发布者的根证书或中间证书的第一可信公有密钥基础设施(PKI),第一可信公有密钥基础设施与目标装置无关。第一可信PKI可以是位于不属于第一方或者不是由第一方所控制的装置上的外部可信PKI。持有初始装置证书的发布者的根证书或中间证书的第一可信PKI可以是位于网络外部的装置上的非本地可信PKI。访问可至少部分通过外部网络(例如通过因特网)进行,外部网络与包括第一装置和目标装置的网络是不同的。初始装置证书的发布者的根证书或中间证书可被下载到第一装置,并且被存储在第一装置中(例如根存储单元中)。初始装置证书的发布者可以是第二方,例如目标装置的制造商或厂商。持有初始装置证书的发布者的根证书或中间证书的第一可信PKI可以是厂商或者制造商的PKI,即,厂商PKI或者制造商PKI。
该方法可包括认证目标装置。认证目标装置可包括密码协议,该密码协议向第一装置证明目标装置具有初始装置私有密钥。例如,OPC UA客户端可从OPC UA服务器接收采用初始装置私有密钥所签署的签名,作为对OPC UA方法调用的响应。
该方法包括由第一装置建立装置证书。装置证书可基于第一装置所信任并且与持有初始装置证书的发布者的根证书或中间证书的第一公有密钥基础设施(PKI)不同的第二PKI。第二PKI可以是第一方的PKI。第二PKI可以是本地PKI。本地PKI可位于第一装置上或者除了第一装置之外并且除了目标装置之外的网络的网络装置上。第二PKI可以是位于属于第一方或者受第一方控制的装置上的内部PKI,并且这个装置可以是网络的本地装置或者网络外部的非本地装置。建立装置证书可包括基于第二PKI来创建目标装置的装置公有密钥和装置私有密钥,并且创建目标装置的装置证书。目标装置的装置证书包括这个方面的装置公有密钥。备选地,建立装置证书可包括将初始装置证书集成到第二PKI中。将初始装置证书集成到第二PKI中可包括签署初始装置证书,以便将初始装置证书变换为装置证书。可通过第二PKI的根证书的根公有密钥或者通过第二PKI的中间证书的中间公有密钥来签署初始装置证书,以便将初始装置证书变换为基于第二PKI的装置证书。如果拥有或控制第一装置的第一方是已经制造或销售目标装置的第二方的客户,则装置证书能够被称作客户装置证书,以及装置公有密钥和装置私有密钥则可被称作客户装置公有密钥和客户装置私有密钥。第二PKI在这种情况下相应地可被称作客户PKI,第二PKI的根证书或中间证书可被称作客户根证书/客户中间证书,以及对应根公有密钥/中间公有密钥可被称作根公有密钥/客户中间公有密钥。
装置证书可包括与网络内的目标装置的网络标识相关的数据。与网络标识相关的数据可以是目标装置本身的网络标识。与目标装置的网络标识相关的数据可包括目标装置的IP地址和/或DNS服务器的标识和/或目标装置的主机名或者允许对它们的确定。与网络标识相关的数据可包括网络内的目标装置的唯一标识或者允许对它的确定。与目标装置的网络标识相关的数据可通过装置证书的签名来签署。
该方法包括由第一装置使用初始装置证书的初始装置公有密钥来加密至少装置证书,以产生加密数据。产生加密数据的加密可包括使用初始装置证书的初始装置公有密钥来加密装置私有密钥。加密数据可通过初始装置公有密钥来加密,包括目标装置的装置私有密钥以及包含目标装置的装置公有密钥的装置证书或者由其组成,特别在基于第二PKI创建目标装置的装置公有密钥和装置私有密钥以及目标装置的装置时。加密数据可通过初始装置公有密钥来加密,包括通过第二PKI的根或中间公有密钥所签署的装置证书或者由其组成,所述装置证书包含初始装置公有密钥。在这种情况下,加密数据可以不包括私有密钥。
该方法包括通过网络将加密数据从OPC UA客户端发送到OPC UA服务器。可通过传递作为OPC UA方法调用的参数的加密数据来发送加密数据。
该方法包括由目标装置使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到至少装置证书。另外,目标装置的装置私有密钥在被包含于加密数据中时可被得到。加密可由OPC UA服务器或者通过OPC UA服务器能够与其通信的目标装置上运行的某个加密/解密程序进行。OPC UA服务器或者加密/解密程序可以能够访问目标装置的安全存储装置,以得到初始装置私有密钥以供解密。该方法可包括由目标装置(例如由OPCUA服务器或者加密/解密程序)来检验装置证书的内容(例如装置证书的有效性周期)。
该方法包括将装置证书存储在目标装置上。装置证书可被存储在目标装置的安全存储装置中。该方法可包括将装置私有密钥存储在目标装置上,例如目标装置的安全存储装置中,特别在装置私有密钥由目标装置在对加密数据进行解密时来得到时。该方法可包括由OPC UA服务器将装置证书上传到LDS或GDS的证书存储单元。该方法可包括由OPC UA服务器建立信任列表。信任列表可包括一个或多个可信证书。(一个或多个)可信证书可与网络中包含的网络装置关联,其中网络装置特别可以是第一装置本身以及第一装置与其已经建立信任关系的网络内的装置。一个或多个可信证书可以是第二PKI(例如客户PKI)的根或中间证书或者可以是从其中可得出的。一个或多个可信证书可采取加密形式例如在加密数据内和/或第二加密数据内从OPC UA客户端传送到OPC UA服务器。可在与加密数据相同的消息中或者在不同消息中发送第二加密数据。第二加密数据可按照下列方式的任一种在第一装置上产生:使用初始装置证书的初始装置公有密钥的加密;或者使用装置证书的装置公有密钥的加密;或者使用OPC UA客户端和OPC Ua服务器通过密钥协定协议的执行所商定的短暂密钥的加密。
该方法可包括关闭不安全OPC UA端点。关闭不安全OPC UA端点可包括禁用不安全OPC UA端点,去除OPC UA端点,或者首先禁用OPC UA端点并且以后在开启另一个端点之后将它去除。
该方法包括由OPC UA服务器开启安全OPC UA端点。开启安全OPC UA端点可包括创建/添加安全OPC UA端点或者启用安全OPC UA端点。安全OPC UA端点可以是OPC UA服务器所提供的唯一被启用的OPC UA端点,或者可以是OPC UA服务器在这个阶段(这个阶段能够被称作运行时阶段)所提供的唯一OPC UA端点(排除其他端点)。安全OPC UA端点基于装置证书来提供经由通过网络的安全通信对目标装置的技术功能的访问。装置证书可用来签署和/或加密安全OPC UA端点与OPC UA客户端(例如第一装置的OPC UA客户端或者网络的另一个网络装置的OPC UA客户端)之间的通信。安全OPC UA端点可实现作为OPC UA安全策略的“Aes128-Sha256-RsaOaep”或“Basic256Sha256”。安全OPC UA端点可实现OPC UA消息安全模式“Sign”或“Sign&Encrypt”。安全OPC UA端点能够被称作运行时OPC UA端点。安全OPCUA端点可呈现按照OPC UA信息模型的与目标装置的技术功能相关的数据。与目标装置的OPC UA服务器的安全OPC Ua端点内的技术功能相关的数据可为已经建立基于第一装置与目标装置之间所构建的信任关系(安全上下文)或者从其中得出的安全上下文的网络装置的OPC UA客户端提供对目标装置的技术功能的访问。
可在开启安全OPC UA端点之前关闭不安全OPC UA端点。备选地,在已经建立第一装置与目标装置之间的安全上下文之后(即,在运行时阶段),不安全OPC UA端点和安全OPCUA端点可共存。安全OPC UA端点可包含按照OPC UA信息模型的退役(decommissioning)数据,退役数据允许与安全OPC UA端点所连接的网络装置的OPC UA客户端使OPC UA服务器重新开启(创建/添加或启用)不安全OPC UA端点。不安全OPC UA端点可包含按照OPC UA信息模型的退役数据,从而允许被连接到不安全UA端点的OPC UA客户端接连执行下列任一个或全部:废除安全上下文;关闭安全OPC UA端点;从(安全)存储装置中卸载装置证书;从(安全)存储装置中卸载装置私有密钥;将目标装置重置成工厂设定。然后可使用本文所述方法重新初始化目标装置,或者目标装置可与网络断开。
实现通过网络与目标装置的安全通信的方法可包括建立通过网络与目标装置的安全通信。该方法则可被称作实现和建立通过网络与目标装置的安全通信的方法。可在网络装置与目标装置之间建立安全通信。网络装置可以是网络内的第一装置或第二装置。更具体来说,可在网络装置的OPC UA客户端与目标装置的OPC UA服务器的安全OPC UA端点之间建立安全通信。网络装置的OPC UA客户端可以是(i)在与第一装置不同的网络装置上运行的OPC UA客户端,(ii)在第一装置上运行并且与用于实现安全通信的OPC UA客户端不同的OPC UA客户端,或者(iii)在第一装置上运行的用于实现安全通信的OPC UA客户端。在前两种情况(i)和(ii)中,网络装置的OPC UA客户端可以是例如控制器等并且通常与调试工具不同的软件的一部分或者由其控制。
建立安全通信可包括下列任一个。网络装置的OPC UA客户端可例如通过OPC UA服务“FindServers”来发现OPC UA服务器。网络装置的OPC UA客户端可连接到OPC UA服务器。网络装置的OPC UA客户端可例如通过OPC UA服务“GetEndpoints”从OPC UA服务器得到OPCUA端点的列表,其中列表可以仅包含安全OPC UA端点,或者可包含安全OPC UA端点和不安全OPC UA端点。网络装置的OPC UA客户端可连接到安全OPC UA端点。连接到安全OPC UA端点可包括下列任一个。网络装置的OPC UA客户端可向安全OPC UA端点发送安全会话请求,该安全会话请求包括网络装置的装置证书。安全OPC UA端点和OPC UA服务器分别可例如针对OPC UA服务器的信任列表中包含的第二PKI(例如客户PKI)的根证书或中间证书来验证网络装置的装置证书。安全OPC UA端点可向网络装置的OPC UA客户端发送安全会话响应,该安全会话响应包括装置证书(即,实现安全通信的方法中先前存储于目标装置中的装置证书)。网络装置的OPC UA客户端和控制器或网络装置可分别针对第二PKI(例如客户PKI)的根证书或中间证书来验证装置证书。装置证书的验证可包括远程访问第二PKI,并且下载第二PKI的根证书或中间证书。网络装置的OPC UA客户端可使用装置证书来建立对安全OPCUA端点的安全传输,例如以发送请求。安全OPC UA端点可使用网络装置的装置证书来建立对网络装置的OPC UA客户端的安全传输,例如以发送对请求的响应。该方法可包括至少基于装置证书(例如基于装置证书和网络装置的装置证书)来建立网络装置的OPC UA客户端与OPC UA服务器的安全OPC UA端点之间的安全通信。
该方法可包括由网络装置的OPC UA客户端经过与安全OPC UA端点的安全通信通过网络来访问目标装置的技术功能的至少一个技术功能。访问至少一个技术功能可包括下载目标装置的技术数据,例如特别在目标装置是传感器时由目标装置所产生的测量数据或者例如与目标装置的状态有关的状态数据(包括故障分析的数据)。下载可包括向OPC UA服务器请求技术数据,并且响应该请求而从OPC UA服务器接收技术数据。访问至少一个技术功能可包括向目标装置发送命令,所述命令使目标装置执行技术功能,例如特别在目标装置是传感器时执行测量(在测量数据然后被下载时实际轮询测量数据)或者例如特别在目标装置是致动器时执行移动或者影响物理量。
该方法可包括更新装置证书或其他证书,或者经由网络装置的OPC UA客户端与目标装置的OPC UA服务器的安全OPC UA端点之间的安全通信来建立其他证书。
本文所述的方法提供若干优点。该方法允许实现与目标装置的整个过程(建立与目标装置的安全上下文/信任关系)例如由第一装置上的调试工具通过网络远程被执行。与直接访问潜在的许多目标装置的每个相比,这种远程执行不太麻烦。另外,它能够减轻伴随对目标装置的直接访问的风险(例如操纵USB flash驱动器)。与一些已知方法不同,它没有假定网络通信是可信或安全的。网络可以是不安全的(没有采取安全措施)或不可信的(采取安全措施但是被认为不充分),而本文所述的方法仍然提供安全证书操纵。
由目标装置的OPC UA服务器所提供的功能性在两个OPC UA端点之间划分,不安全OPC UA端点仅提供建立安全上下文的功能性。在运行时阶段关闭不安全OPC UA端点可增强安全性。虽然与不安全OPC UA端点的通信可通过不安全或者至少不可信网络进行,以及虽然这个通信本身可能没有受到基于PKI的机制所保护,但是针对初始装置证书的发布者(例如目标装置的厂商)的根/中间证书的初始装置证书的验证防止从OPC UA服务器到OPC UA客户端的途中的修改。通过使用初始装置证书来加密装置证书,能够保护装置证书免受回到OPC UA服务器的途中的修改。一旦建立安全上下文,对目标装置的技术功能的访问成为可用。那就意味着,OPC UA服务器仅在安全上下文经由不安全OPC UA端点来建立之后才提供对目标装置的技术功能的访问(经由安全OPC UA端点)。为了实现这种方法,启动两个OPCUA端点。如果装置已经提供基于OPC UA的连接性,则启动附加OPC UA端点所要求的附加开销甚至对嵌入式目标装置通常也较低并且是可管理的。
第一装置与目标装置之间的全部通信以及目标装置内所执行以建立安全上下文的动作(特别是通过网络的通信)能够被集成到OPC UA框架中。本文所述的方法能够符合OPC UA规范,即,不需要在OPC UA规范之外工作(或者修改OPC UA规范以涵盖本文所述的方法)。当装置证书签署网络标识(例如IP/DNS地址)或者与其相关的数据时,装置证书完全符合OPC UA标准,以便使OPC UA客户端中的验证问题遵循OPC UA规范。预安装的初始装置证书(例如目标装置上安装的厂商/制造商证书)不能提供这个方面,因为网络标识在安装初始装置证书时不是已知的。该方法与装置类型以及装置的基础专有硬件或软件无关,并且能够普遍适用于运行OPC UA服务器的每个目标装置。该方法不需要对防火墙或路由选择的调整,并且因此不可能忘记复原这类调整。没有除了基于OPC UA的通信之外的其他技术或协议需要被用于实现与目标装置的安全通信。因此,由于该方法的机制能够与遵循OPC UA规范的OPC UA客户端和服务器相集成,所以不存在例如因使用不同协议引起的潜在媒体违规或者需要专有软件在目标装置上安装证书或者需要直接访问目标装置。当目标装置已经被安装(例如在第一方的工业站点)并且连接到不可信网络时,证书操纵能够远程进行。总体结果是完全在OPC Ua框架内的更好集成、简化和安全的工作流程,特别作为目标装置建立和调试过程的组成部分。
另外,第一方(例如向装置厂商已经购买目标装置的客户)能够利用他自己的PKI。不需要手动信任第三方证书,例如目标装置上预安装的厂商/制造商证书或初始(厂商/制造商)装置证书。该方法利用一些通用PKI机制(例如证书验证和认证),并且本文所述方法的附加开销通常较低,特别当目标装置已经支持基于PKI的机制时。该方法可适用于首次安装的目标装置以及升级现有网络基础设施内的目标装置的安全性。该方法不要求对现有网络基础设施的较大变更。
虽然嵌入式目标装置因硬件限制而没有创建证书的能力,但是本文所述的方法可通过深入用于建立与嵌入式目标装置上的OPC UA服务器的安全通信(例如目标装置的安全引导过程)的设计和安全性来提供安全性。但是该方法还可用于正常UA服务器/目标装置,以按照远程和高度自动方式将它们与第一方的PKI相集成。
按照另一实施例,提供一种目标装置。该目标装置可以是嵌入式目标装置。该目标装置可以是现场装置,例如传感器或致动器。该目标装置可以是用于工业过程或另一自动化过程的装置。该目标装置包括存储器。存储器可包括安全存储装置,例如TPM安全存储装置。存储器可包括RAM,并且可包括ROM。目标装置可包括例如下列至少一个等的其他组件:处理器,例如中央处理器(CPU);输入单元,例如用户接口(UI);输出单元,例如显示器、LED状态灯或声音装置;控制单元;以及内部或外部电源。目标装置可包括软件,其中包括操作系统。目标装置包括网络连接器,用于将目标装置连接到网络。当网络连接器将目标装置连接到网络基础设施时,目标装置可允许通过网络的远程访问。目标装置可被称作智能装置,而不一定暗示它具有到因特网的连接。目标装置可包括用于数据交换的其他接口(例如USB端口),但是网络连接器备选地可以是用于与目标装置的数据交换的唯一接口。目标装置可以是无头的,即,没有输入单元。目标装置可以没有输出单元。目标装置可具有本文中相对实现通过网络与目标装置的安全通信的方法所述的性质的部分或全部。
目标装置可具有通过工厂设定所提供的集成OPC UA服务器,或者可采用OPC UA服务器来改型。目标装置配置成运行OPC UA服务器,所述OPC UA服务器开启不安全OPC UA端点。不安全OPC UA端点提供符合OPC UA信息模型的安全上下文数据。安全上下文数据可由OPC UA客户端使用OPC UA消息交换远程访问。安全上下文数据指示存储器中(例如存储器的安全存储装置中)存储的初始装置证书的存在。目标装置和OPC UA服务器分别配置成通过网络从OPC UA客户端接收对初始装置证书的请求,从存储器中检索初始装置证书,并且通过经由网络的不安全通信向OPC UA客户端发送初始装置证书。目标装置和OPC UA服务器分别配置成通过网络从OPC UA客户端接收加密数据,该加密数据包括通过使用初始装置证书的初始装置公有密钥所加密的装置证书。请求、检索和发送可经由OPC UA消息交换进行。目标装置配置成使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到装置证书。解密可由OPC UA服务器来执行,或者由OPC UA服务器来发起并且由目标装置的其他软件来执行。解密可包括从存储器(特别从安全存储装置)中检索初始装置私有密钥。目标装置配置成在目标装置的存储器中存储装置证书。目标装置和OPC UA服务器分别配置成开启安全OPC UA端点,安全OPC UA端点基于装置证书来提供经由通过网络的安全通信对目标装置的技术功能的访问。
目标装置及其组件(包括软件,例如OPC UA服务器)分别可配置成实现或执行本文针对实现通过网络与目标装置的安全通信的方法所述的特征的任一个。当目标装置被说成运行软件(例如OPC UA服务器)、通过网络交换一些数据(发送或接收)对一些数据进行加密或解密或者内部检索一些数据时,要理解,这可涉及典型硬件(例如处理器)可能在控制单元的控制下处理那个数据、从/向其中读取/写入数据的存储器以及网络连接器充当用于通过网络的数据的交换的网络接口,并且可涉及软件建立、配置和执行OPC UA服务器以及运行用于通过网络的数据交换的协议栈等。
按照另一个实施例,提供一种计算机程序产品。该计算机程序产品包含计算机程序。当计算机程序被安装在目标装置中(例如目标装置的存储器中)并且由目标装置(例如由目标装置的处理器)来执行以及目标装置被连接到网络时,计算机程序使目标装置:运行OPC UA服务器,该OPC UA服务器开启不安全OPC UA端点,不安全OPC UA端点提供符合OPCUA信息模型的安全上下文数据,其中安全上下文数据指示存储器中存储的初始装置证书的存在;通过网络从OPC UA客户端接收对初始装置证书的请求;从存储器中检索初始装置证书,并且通过经由网络的不安全通信将初始装置证书发送到OPC UA客户端;通过网络从OPCUA客户端接收加密数据,该加密数据包括通过使用初始装置证书的初始装置公有密钥所加密的装置证书;使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到装置证书;将装置证书存储在目标装置的存储器中;以及由OPC UA服务器开启安全OPCUAS端点,安全OPC UA端点基于装置证书来提供经由通过网络的安全通信对目标装置的技术功能的访问。目标装置可具有本文所述特征的任一个,以及计算机程序可使目标装置执行本文中结合目标装置所述的方法特征的任一个。
按照另一实施例,提供一种网络装置。该网络装置可以是控制器,特别是用于控制现场装置的控制器。该网络装置包括存储器以及用于将网络装置连接到网络的网络连接器。该网络装置可执行作为计算机程序的调试工具。该网络装置及其调试工具分别配置成运行OPC UA客户端以用于访问目标装置的不安全OPC UA端点,不安全OPC UA端点提供符合OPC UA信息模型的安全上下文数据,其中安全上下文数据指示存储器中存储的初始装置证书的存在,以及用于浏览安全上下文数据。浏览安全上下文数据可包括在安全上下文数据内识别指示初始装置证书的存在的信息元素。浏览可涉及OPC UA消息(例如查询和响应)的交换。OPC UA客户端配置成通过网络从OPC UA客户端发送对初始装置证书的传输的请求,并且通过经由网络的不安全通信从OPC UA端点接收初始装置证书。网络装置及其调试工具分别配置成针对初始装置证书的发布者的根证书或中间证书来验证初始装置证书。验证初始装置证书可包括访问持有初始装置证书的发布者的根证书或中间证书的可信公有密钥基础设施,可信公有密钥基础设施与目标装置无关。可通过因特网访问可信公有密钥基础设施。网络装置及其调试工具分别配置成使用初始装置证书的初始装置公有密钥来加密至少装置证书,以产生加密数据。与装置证书的装置公有密钥关联的装置私有密钥可连同装置证书一起被加密并且形成所产生加密数据的组成部分,或者可单独被加密以形成第二加密数据。OPC UA客户端配置成通过网络将加密数据(和第二加密数据,若有的话)从OPC UA客户端发送到OPC UA服务器,使得目标装置能够使用与初始装置证书关联的初始装置私有密钥对加密数据(和第二加密数据,若有的话)进行解密以得到装置证书(和装置私有密钥,若有的话),在目标装置的存储器中存储装置证书(和装置私有密钥,若有的话),并且使安全OPC UA端点被OPC UA服务器开启,安全OPC UA端点基于装置证书来提供经由通过网络的安全通信对目标装置的技术功能的访问。网络装置可以是如本文所述的第一装置,并且可包括其结构和功能特征的任一个。
按照另一个实施例,提供一种系统,该系统包括如本文所述的第一装置和目标装置,第一装置和目标装置通过网络来连接并且配置成执行本文所述的方法。又一实施例涉及本文所述系统的使用,以执行本文所述的方法。
图1示出系统10,并且用来示出实现和建立通过网络20与目标装置200的安全通信的示范方法。系统10包括第一装置100、目标装置200、目标装置的厂商的外部PKI 300(厂商PKI)以及目标装置的购买者的内部PKI 400(客户PKI)。第一装置100包括网络连接器102,该网络连接器102经由网络20的网络基础设施来连接到目标装置200的网络连接器202。第一装置执行调试工具110,即,运行OPC UA客户端120的计算机程序。第二装置200包括安全存储装置250,该安全存储装置250是经由内部通信路径255从目标装置200上运行的OPC UA服务器220可访问的。
目标装置200在加入网络20时被指配网络标识,例如经由DHCP所得到的DNS/IP地址。调试工具110知道目标装置200的网络标识,例如使用OPC UA的LDS、GDS或mDNS服务发现它。目标装置200是未配置的,并且没有提供OPC UA消息交换的安全性,以及因此被说成处于引导阶段。OPC UA服务器220提供不安全OPC UA端点,在这里称作引导OPC UA端点222。引导OPC UA端点222提供数据224,所述数据224指示初始装置证书(因由目标装置200的厂商预先安装而在这里称作厂商装置证书)的存在。数据224是OPC UA信息模型的组成部分,例如作为字符串被嵌入在属性节点或者使用OPC UA FileType。厂商装置证书连同匹配初始装置私有密钥(在这里称作厂商装置私有密钥)一起被存储在安全存储装置250中。
OPC UA客户端120发现OPC UA服务器220(例如经由“FindServers”),连接到OPCUA服务器220,请求OPC UA服务器220的OPC UA端点的列表(例如经由“GetEndpoints”),得到具有作为唯一入口的引导OPC Ua端点222的列表,并且连接到引导OPC UA端点222。OPCUA客户端120使用OPC UA消息安全模式“None”来交换OPC UA消息,以浏览数据224,并且识别厂商装置证书的存在。
OPC UA客户端120下载厂商装置证书,包括OPC UA客户端120向OPC UA服务器220请求厂商装置证书,以及OPC UA服务器220通过经由通信路径255与安全存储装置250的内部通信来检索厂商装置证书,并且作为对请求的响应将厂商装置证书发送到OPC UA客户端120。调试工具110针对厂商的根或中间证书来验证厂商装置证书,该根或中间证书可被安装在调试工具110中或者经由因特网连接32通过因特网30从厂商PKI 300来下载。OPC uA消息交换仍然使用OPC UA消息安全模式“None”,但是厂商装置证书的验证确保消息交换尚未被篡改。
在第一备选方案中,调试工具110创建与客户PKI 400相集成、采用客户根证书或客户中间证书所签署的客户装置证书。为此,调试工具110能够通过内部网络40的网络连接42来访问客户PKI 400,其中内部网络可以是网络20的一部分或者可与其无关。客户装置证书包括和签署客户装置公有密钥以及目标装置200的网络标识(例如DNS或IP地址)。使用厂商装置证书的厂商公有密钥来加密客户装置证书以及匹配客户装置公有密钥的客户装置私有密钥,以产生加密数据。在第二备选方案中,调试工具将目标装置200的网络标识添加到厂商装置证书,并且采用客户根证书或客户中间证书来签署厂商装置证书,以便将所产生客户装置证书集成到客户PKI 400中。使用厂商装置证书的厂商公有密钥来加密客户装置证书,以产生加密数据。在这个第二备选方案中,没有客户装置私有密钥需要被发送,因为厂商装置私有密钥仍然匹配客户装置证书的公有密钥,因为它源于厂商装置证书。
例如使用具有作为参数的加密数据的OPC UA方法调用将加密数据从OPC UA客户端120回传到OPC UA服务器220。使用与厂商装置证书关联的厂商装置私有密钥,OPC UA服务器220对加密数据进行解密,或者使加密数据在目标装置200上被解密。OPC UA服务器220可经由内部通信路径255再次访问安全存储装置250,以得到厂商装置私有密钥以便用于解密过程中。OPC UA服务器220因此得到客户装置证书以及适用时的客户装置私有密钥。OPCUA服务器220可检验客户装置证书的内容,例如到期日期等。OPC UA消息交换仍然是不安全的(OPC uA消息安全类型:“None”),但是采用厂商装置证书的加密防止对加密数据(包括至少客户装置证书)的修改。
通过客户装置证书成功被解密和检验,客户装置证书被存储在安全存储装置中,以及适用时还有客户私有密钥。客户装置证书是在运行时阶段期间(其中目标装置200的技术功能能够由OPC UA客户端经过运行时OPC UA端点远程访问)供安全OPC UA端点(在这里称作运行时OPC UA端点226)中的将来使用的证书。
运行时阶段开始于OPC UA服务器220开启运行时OPC UA端点226,所述运行时OPCUA端点226使用客户装置证书来保护OPC UA消息交换。运行时OPC UA端点提供按照OPC UA信息模型的数据228,所述数据228预计由OPC UA服务器所托管,以允许对目标装置200的技术功能的访问。使用客户装置证书,运行时OPC UA端点226能够利用已建立信任关系,从而提供OPC UA客户端和OPC UA服务器标识和加密通信。例如,控制器510运行OPC UA客户端520,其中控制器510是运行时软件,该运行时软件由第一装置100或者网络20的另外某个网络装置来执行,并且具有到客户PKI 400的网络40的网络连接44。OPC UA客户端520连接到运行时OPC UA端点226,其中OPC UA客户端520可能已经使用OPC UA服务FindServers和GetEndpoints。运行时OPC UA端点226使用客户装置证书与OPC UA客户端520安全地通信,以便在OPC UA客户端520通过经由网络连接44访问客户PKI 400针对客户根证书或客户中间证书来验证客户装置证书之后签署或者签署并且加密OPC UA消息。OPC UA客户端520能够经由与运行时OPC UA端点226的安全通信来访问目标装置的技术功能,例如以检索传感器的测量数据或者在目标装置是现场装置时命令致动器的动作。
图2示出实现和建立通过网络与目标装置200的安全通信的示范方法600。使用图1的参考标号。方法600包括下列步骤。目标装置200的OPC UA服务器220开启不安全OPC UA端点222(特征610),不安全OPC UA端点222提供安全上下文数据224,所述安全上下文数据224指示目标装置的安全存储装置250中存储的初始装置证书的存在。第一装置100上运行的OPC UA客户端120通过网络20分别连接到OPC UA服务器220和不安全OPC UA端点222,并且请求初始装置证书(特征620)。安全OPC UA端点222可从安全存储装置250中检索初始装置证书(特征623)。OPC UA客户端通过经由网络20的不安全通信分别从OPC UA服务器和OPCUA服务器的不安全OPC UA端点中检索初始装置证书(特征630)。第一装置100和调试工具110分别针对初始装置证书的发布者的根证书或中间证书来验证初始装置证书(特征640)。这可包括调试工具110分访问外部PKI 300,并且下载初始装置证书的发布者的根证书或中间证书(特征645)。第一装置和调试工具110分别建立装置证书(特征640)。这可包括调试工具110访问内部PKI 400,以用于在其中集成装置证书(特征645)。第一装置和调试工具分别使用初始装置证书的初始装置公有密钥来加密至少装置证书,以产生加密数据(660)。OPCUA客户端120通过网络20分别向OPC UA服务器220和不安全OPC UA端点222发送加密数据(特征670)。目标装置和不安全OPC UA服务器222或者目标装置所执行的另外某个软件分别使用与初始装置证书关联的初始装置私有密钥对加密数据进行解密,以得到至少装置证书(特征680)。不安全OPC UA端点222和OPC UA服务器220或目标装置分别在目标装置上的安全存储装置250中存储装置证书(特征690)。特征610至690以及本文中对该方法所述的时间上中间的任何特征属于目标装置200的引导阶段B。OPC UA服务器220开启安全OPC UA端点226,安全OPC UA端点226基于装置证书来提供经由通过网络20的安全通信对目标装置200的技术功能的访问(特征710)。这可包括从安全存储装置250中检索装置证书(特征715)。运行控制器510的网络装置的OPC UA客户端510、OPC UA服务器220和安全OPC UA端点226可分别交换和验证证书,以建立安全上下文(安全通信/会话,特征720)。网络装置的OPC UA客户端510可利用安全通信经由安全OPC UA端点226来访问目标装置200的技术功能。特征710至730以及本文中对该方法所述的时间上中间的任何特征属于目标装置200的运行时阶段R。
虽然以上所述针对实施例,但是这些实施例或者这些实施例的特征可与其他实施例相组合,以产生又一些实施例。本描述将被理解为说明性而不是限制性的,以及范围应该通过以下权利要求来限定。
Claims (15)
1.一种用于实现通过网络(20)与目标装置(200)的安全通信的方法(600),所述方法包括:
由所述目标装置上运行的OPC UA服务器(220)来开启(610)不安全OPC UA端点(222),所述不安全OPC UA端点提供符合OPC UA信息模型的安全上下文数据(224),其中,所述安全上下文数据指示所述目标装置上存储的初始装置证书的存在;
由第一装置(100)上运行的OPC UA客户端(120)通过所述网络连接(620)到所述OPC UA服务器,并且请求所述初始装置证书;
由所述OPC UA客户端通过所述网络上的不安全通信从所述OPC UA服务器接收(630)所述初始装置证书;
由所述第一装置针对所述初始装置证书的发布者的根证书或中间证书来验证(640)所述初始装置证书;
由所述第一装置建立(650)装置证书;
由所述第一装置使用所述初始装置证书的初始装置公有密钥来加密(660)至少所述装置证书,以产生加密数据;
通过所述网络将所述加密数据从所述OPC UA客户端发送(670)到所述OPC UA服务器;
由所述目标装置使用与所述初始装置证书关联的初始装置私有密钥对所述加密数据解密(680),以得到至少所述装置证书;
将所述装置证书存储(690)在所述目标装置上;以及
由所述OPC UA服务器开启(710)安全OPC UA端点(226),所述安全OPC UA端点基于所述装置证书来提供经由所述网络上的安全通信对所述目标装置的技术功能(228)的访问。
2.如权利要求1所述的方法,其中,所述装置证书包括与所述网络内的所述目标装置的网络标识相关的数据。
3.如权利要求1所述的方法,其中,在请求所述初始装置证书之前,所述OPC UA客户端浏览所述安全上下文数据,并且识别所述初始装置证书的存在。
4.如权利要求1所述的方法,其中,在接收对所述初始装置证书的所述请求时,所述OPCUA服务器从所述目标装置的安全存储装置(250)中检索所述初始装置证书,并且向所述OPCUA客户端发送所述初始装置证书。
5.如权利要求1所述的方法,其中,验证所述初始装置证书包括访问持有所述初始装置证书的所述发布者的所述根证书或所述中间证书的可信公有密钥基础设施(300),所述可信公有密钥基础设施与所述目标装置无关。
6.如权利要求1所述的方法,包括:基于所述装置证书来建立网络装置的OPC UA客户端(520)与所述OPC UA服务器的所述安全OPC UA端点之间的安全通信,并且由所述网络装置通过所述网络来访问所述目标装置的技术功能,其中所述网络装置是所述网络内的所述第一装置或第二装置。
7.如权利要求6所述的方法,其中,所述装置证书基于所述第一装置信任的第二公有密钥基础设施(400)。
8.如权利要求7所述的方法,其中,建立所述装置证书包括(a)创建装置公有密钥和装置私有密钥,并且基于所述第二公有密钥基础设施来创建所述装置证书,或者(b)通过签署所述初始装置证书以将所述初始装置证书变换为所述装置证书,将所述初始装置证书集成到所述第二公有密钥基础设施中。
9.如权利要求7-8中的任一项所述的方法,其中,建立所述安全通信包括由所述网络装置针对所述第二公有密钥基础设施的根证书或中间证书来验证所述装置证书。
10.如权利要求1所述的方法,其中,与所述目标装置的网络标识相关的所述数据包括所述目标装置的IP地址和/或DNS服务器的标识和/或所述目标装置的主机名。
11.如权利要求1所述的方法,包括:将所述目标装置加入所述网络,并且使用TCP/IP来建立与所述第一装置的网络连接性(22)。
12.如权利要求1所述的方法,包括:在开启所述安全OPC UA端点之前,关闭所述不安全OPC UA端点。
13.一种目标装置(100),包括存储器(250)以及用于将所述目标装置连接到网络(20)的网络连接器,所述目标装置配置成:
运行OPC UA服务器(220),所述OPC UA服务器(220)开启不安全OPC UA端点(222),所述不安全OPC UA端点(222)提供符合OPC UA信息模型的安全上下文数据(224),其中所述安全上下文数据指示所述存储器中存储的初始装置证书的存在;
通过所述网络从OPC UA客户端(120)接收对所述初始装置证书的请求;
从所述存储器中检索所述初始装置证书,并且通过所述网络上的不安全通信将所述初始装置证书发送到所述OPC UA客户端;
通过所述网络从所述OPC UA客户端接收加密数据,所述加密数据包括通过使用所述初始装置证书的初始装置公有密钥加密的装置证书;
使用与所述初始装置证书关联的初始装置私有密钥对所述加密数据解密,以得到所述装置证书;
在所述目标装置的所述存储器中存储所述装置证书;以及
由所述OPC UA服务器开启安全OPC UA端点(226),所述安全OPC UA端点(226)基于所述装置证书来提供经由所述网络上的安全通信对所述目标装置的技术功能(228)的访问。
14.如权利要求13所述的目标装置,其中,所述目标装置是用于自动化过程的现场装置。
15.一种包含计算机程序的计算机程序产品,所述计算机程序在被安装在包括存储器(250)以及用于将所述目标装置连接到网络(20)的网络连接器的目标装置(200)中并且由所述目标装置(200)执行时使所述目标装置:
运行OPC UA服务器(220),所述OPC UA服务器(220)开启不安全OPC UA端点(222),所述不安全OPC UA端点(222)提供符合OPC UA信息模型的安全上下文数据(224),其中,所述安全上下文数据指示所述存储器中存储的初始装置证书的存在;
通过所述网络从OPC UA客户端接收对所述初始装置证书的请求;
从所述存储器中检索所述初始装置证书,并且通过所述网络上的不安全通信将所述初始装置证书发送到所述OPC UA客户端;
通过所述网络从所述OPC UA客户端接收加密数据,所述加密数据包括通过使用所述初始装置证书的初始装置公有密钥加密的装置证书;
使用与所述初始装置证书关联的初始装置私有密钥对所述加密数据解密,以得到所述装置证书;
在所述目标装置的所述存储器中存储所述装置证书;以及
由所述OPC UA服务器开启安全OPC UA端点(226),所述安全OPC UA端点基于所述装置证书来提供经由所述网络上的安全通信对所述目标装置的技术功能(228)的访问。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20173540.4 | 2020-05-07 | ||
EP20173540.4A EP3907960B1 (en) | 2020-05-07 | 2020-05-07 | Method of enabling a secure communication to a target device over a network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630374A true CN113630374A (zh) | 2021-11-09 |
CN113630374B CN113630374B (zh) | 2023-10-10 |
Family
ID=70617023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110489740.6A Active CN113630374B (zh) | 2020-05-07 | 2021-05-06 | 实现通过网络与目标装置的安全通信的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11582210B2 (zh) |
EP (1) | EP3907960B1 (zh) |
CN (1) | CN113630374B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740109A (zh) * | 2018-07-18 | 2020-01-31 | 慧与发展有限责任合伙企业 | 网络设备、用于安全的方法和计算机可读存储介质 |
US11818173B2 (en) * | 2020-05-29 | 2023-11-14 | Palo Alto Networks, Inc. | Reducing memory footprint after TLS connection establishment |
CN117997543A (zh) * | 2022-11-06 | 2024-05-07 | 华为技术有限公司 | 通信方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411528A (zh) * | 2016-10-17 | 2017-02-15 | 重庆邮电大学 | 一种基于隐式证书的轻量级认证密钥协商方法 |
CN108494763A (zh) * | 2018-03-16 | 2018-09-04 | 沈阳中科博微科技股份有限公司 | 一种opc-ua数据通信处理方法 |
WO2019103946A1 (en) * | 2017-11-24 | 2019-05-31 | Microsoft Technology Licensing, Llc | Distributed global discovery servers in operational technology infrastructure |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997186B2 (en) * | 2013-01-24 | 2015-03-31 | General Electric Company | System and method for enhanced control system security |
US10218675B2 (en) * | 2014-04-28 | 2019-02-26 | Honeywell International Inc. | Legacy device securitization using bump-in-the-wire security devices within a microgrid system |
US10764319B2 (en) * | 2017-10-05 | 2020-09-01 | Honeywell International Inc. | Intelligent automated security vulnerability detection and analysis for industrial internet of things (IIOT) devices |
US10819722B2 (en) * | 2018-03-21 | 2020-10-27 | Honeywell International Inc. | Blockchain for securing distributed IIoT or edge device data at rest |
-
2020
- 2020-05-07 EP EP20173540.4A patent/EP3907960B1/en active Active
-
2021
- 2021-05-06 CN CN202110489740.6A patent/CN113630374B/zh active Active
- 2021-05-06 US US17/313,496 patent/US11582210B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411528A (zh) * | 2016-10-17 | 2017-02-15 | 重庆邮电大学 | 一种基于隐式证书的轻量级认证密钥协商方法 |
WO2019103946A1 (en) * | 2017-11-24 | 2019-05-31 | Microsoft Technology Licensing, Llc | Distributed global discovery servers in operational technology infrastructure |
CN108494763A (zh) * | 2018-03-16 | 2018-09-04 | 沈阳中科博微科技股份有限公司 | 一种opc-ua数据通信处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US11582210B2 (en) | 2023-02-14 |
EP3907960B1 (en) | 2024-07-03 |
US20210352051A1 (en) | 2021-11-11 |
CN113630374B (zh) | 2023-10-10 |
EP3907960A1 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946700B2 (ja) | 目的のネットワーク環境に対するネットワーク装置のアドレス可能性の自動確立のための方法および装置 | |
CN113630374B (zh) | 实现通过网络与目标装置的安全通信的方法 | |
US9003485B2 (en) | Systems and methods for the rapid deployment of network security devices | |
EP2156610B1 (en) | Managing network components using usb keys | |
US8370905B2 (en) | Domain access system | |
JP4607567B2 (ja) | 証明書転送方法、証明書転送装置、証明書転送システム、プログラム及び記録媒体 | |
WO2012145347A1 (en) | Secure network cloud architecture | |
JP2009538100A (ja) | 自動ポリシーに基づくネットワーク装置構成およびネットワーク配備 | |
US20100275251A1 (en) | Transferring credential information | |
JP2005204283A (ja) | デジタル証明書転送方法、デジタル証明書転送装置、デジタル証明書転送システム、プログラム及び記録媒体 | |
US20230006988A1 (en) | Method for selectively executing a container, and network arrangement | |
Kohnhäuser et al. | On the security of IIoT deployments: An investigation of secure provisioning solutions for OPC UA | |
Fischer et al. | Security architecture elements for IoT enabled automation networks | |
CN112887261B (zh) | 通信设备与远程终端之间的数据流的防护方法、实施该方法的设备 | |
CN118661402A (zh) | 用于通过中央提供实体安全地提供服务的方法和设备 | |
US20240243930A1 (en) | Communication method for iot nodes or iot devices in a local network | |
US11888898B2 (en) | Network configuration security using encrypted transport | |
JP6527115B2 (ja) | 機器リスト作成システムおよび機器リスト作成方法 | |
EP3942770A1 (en) | Chained trusted platform modules (tpms) as a secure bus for pre-placement of device capabilities | |
AU2021107349A4 (en) | A web-enabled smart home gateway for automatic device and network configuration and automatic system updates via iot | |
Lackorzynski et al. | A Case for Practical Configuration Management Using Hardware-based Security Tokens | |
Asanga | Public Key and Multi Factor Based Centralized SSH Authentication System for a Cloud Based Environment Using LDAP | |
Cooper | FIDO IoT spec | |
Zou | Network performance and key management of VPN tunnels between autonomous vehicles | |
TWI241797B (en) | Method for establishing addressability, deploying, installing and delivering a network device, network device provisioning system, network device, and machine-readable medium |
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 |