一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有安全通信的工业自动化系统装置、系统和方法与流程

2022-02-25 21:29:59 来源:中国专利 TAG:


1.本发明涉及包括被配置成与信任的另外的工业自动化系统装置安全地通信的安全通信处理单元的工业自动化系统装置,包括这样的装置的工业自动化系统,以及用于在工业自动化系统中的安全通信的方法。


背景技术:

2.在工业自动化系统中,可能要求安全的装置到装置通信。诸如opc ua之类的通信协议提供这样的安全通信。在发起在opc ua中的安全通信之前,系统中的每个应用都要求密码资产,诸如非对称密钥对和用于该密钥对的应用实例证书(application instance certificate)。这些密码资产的初始部署和管理是复杂的、易错的和费力的。因此,期望改进的系统和方法,以便简化安全通信设置,从而减少成本和工作量(effort)。


技术实现要素:

3.问题通过独立权利要求的主题得到解决。实施例通过从属权利要求、下面的描述和附图来提供。
4.所描述的实施例类似地涉及工业自动化系统装置、工业自动化系统和用于在工业自动化系统中的安全通信的方法。从实施例的不同组合中可以产生协同效应,尽管可能没有详细描述它们。
5.更进一步地,应当注意,本发明的涉及方法的所有实施例可以利用如所描述的步骤顺序来实行,然而这不必是该方法的步骤的唯一的和基本的顺序。除非下文明确相反地提出,本文提出的方法可利用所公开步骤的另一顺序来实行,而不脱离相应的方法实施例。
6.技术术语根据它们的通常意义使用。如果某些术语传达特定的含义,则将在下面给出术语的定义,在下面的上下文中,使用该术语。
7.对于安全通信,诸如opc ua应用之类的工业自动化系统应用要求唯一的非对称密钥对,以及在opc ua的情况下要求关联的应用实例证书。密钥的公开部分存储在应用实例证书的字段中,并且因此与应用实例证书一起被分配,然而密钥的私有部分保持秘密。利用通信伙伴的公开密钥,应用可以核实伙伴的身份,检查它的消息签名并且为它加密消息。在目前的实践中,密钥和应用实例证书由应用本身生成或者通过管理者提供到应用。每个应用在所谓的证书存储(certificate store)中存储它的证书,该证书存储含有用于自己的证书和信任的证书——后者被称为信任列表(trust list)的单独位置。当客户端和服务器发起安全通信时,它们首先互相认证它们自己。为此,客户端和服务器互相交换和核实它们的应用实例证书。为了核实通信伙伴的证书,opc ua应用必须(i)直接在信任列表中存储证书,或者(ii)存储允许通过核实一连串的证书在通信伙伴的证书中建立信任的中间证书(例如由证书授权机构(ca)发布的)。因此,根据目前的实践,在发起安全连接之前,opc ua应用必须首先建立它们的证书存储,该证书存储具有用于它们自己和它们所有的通信伙伴的适当的密钥和证书。然而,建立和管理装置的证书存储涉及显著的工作量和复杂性,或者
提供不足的安全性级别。
8.根据第一方面,提供工业自动化系统装置,该工业自动化系统装置包括被配置成与另外的信任的工业自动化系统装置安全地通信的安全通信处理单元,并且还包括预共享秘密模块,该预共享秘密模块包括预共享秘密。预共享秘密包括共享非对称密钥对生成数据。安全通信处理单元被配置成从共享非对称密钥对生成数据中得到包括共享秘密密钥sk_ca和共享公开密钥pk_ca的共享非对称密钥对,得到包括共享公开密钥pk_ca的共享证书c_ca,以及利用所得到的共享秘密密钥sk_ca对共享证书c_ca进行签名。安全通信处理单元还被配置成生成包括装置秘密密钥sk_i和装置公开密钥pk_i的装置非对称密钥对,得到包括装置公开密钥pk_i并且利用共享秘密密钥签名的装置证书c_i,以及基于共享证书c_ca信任另外的装置并且基于装置证书和装置密钥对与另外的装置安全地通信。安全通信单元还可被配置成得到包括装置公开密钥pk_i和利用共享秘密密钥签名的装置证书c_i。
9.术语“共享”在这里指示还被其它装置使用。例如,共享非对称密钥对由工业自动化系统装置和另外的装置使用。然而,“共享”确实通常不一定意味着非对称密钥对被传送或另外的装置具有对该非对称密钥对的访问。只有应当能够安全地通信的装置具有共享密钥和证书。其它装置不必须具有对共享密钥和证书的访问,因为这将破坏安全性。特别地,在本公开中,共享密钥和证书基于预共享秘密由每个装置本身生成。
10.安全通信处理单元提供用来生成或得到安全性相关的密钥和证书的处理方式。它还可以负责认证另外的装置,对消息和证书进行签名,以及来往于另外的装置所传递的消息的编码和译码。
[0011]“装置公开密钥”、“装置秘密密钥”和“装置证书”分别意味着装置特定的公开密钥、秘密密钥和证书。与共享项相比之下,装置特定的项由装置单独地生成或得到,并且包括装置特定的信息或数据。例如,装置证书可包括装置相关数据,而共享证书并不包括装置相关数据。
[0012]
术语“预共享秘密”以单数形式使用。然而,“预共享秘密”可包括许多不同的信息类型。类似地,“另外的装置”可以代表许多另外的装置。工业自动化系统装置可同时与若干信任的另外的装置通信。
[0013]
因此,工业自动化系统装置凭借具有数据或信息的预共享秘密是可配置的,利用预共享秘密,它可以为本身提供密钥和证书,并且当发起与其它装置在两个方向上的通信时,密钥和证书中的一些(即共享私有密钥和共享证书)代表信任的基础。特别地,共享证书代表根证书,并且装置信任所有利用根证书签名的证书(例如装置证书),或者更精确地,所有利用与根证书相关的共享私有密钥签名的证书。此外,装置能够本身生成装置特定的密钥并且本身生成用于认证和安全通信的装置特定的证书。
[0014]
根据实施例,工业自动化系统装置是opc统一架构(opc ua)装置。根据opc ua,在发起安全通信之前,每个opc ua应用要求三个密码资产:(i)唯一的非对称密钥对;(ii)用于密钥对的应用实例证书,该应用实例证书包括必要的中间证书,其用来建立到根证书的链;以及(iii)实现用于通信伙伴的应用实例证书的核实的信任证书列表。唯一的非对称密钥对对应于装置密钥对,因此应用实例证书对应于装置证书,该装置证书由共享证书签名,该共享证书是根证书,并且信任证书列表分别包括根证书或共享证书。
[0015]
根据实施例,预共享秘密还可包括共享证书相关信息。通信处理单元被配置成从
预共享秘密的共享证书相关信息中得到共享证书c_ca。这样的证书相关信息可包括例如有效期或发行者。这个选项允许将与认证和安全通信相关的所有配置数据归拢在一处,并且允许减少用于部署和维持两个或更多个单独配置的工作量。
[0016]
备选地,在另外的实施例中,装置证书c_i包括预配置默认数据。这个选项允许减少不得不与预共享秘密一起存储的数据量。
[0017]
根据实施例,用于生成共享非对称密钥对(sk_ca,pk_ca)的密钥生成算法是与由另外的装置使用的算法相同的算法,使得获得相同的密钥对,以及获得相同的证书(即共享证书c_ca)。可以存在若干不同的密钥生成算法。预共享秘密可以以例如某个数量配置,其中该数量规定(prescribe)使用哪个算法,使得保证具有同样的预共享秘密的另外的装置使用同样的算法。
[0018]
根据实施例,预共享秘密提供足够的熵(entropy),以便以密码安全的方式得到共享非对称密钥对(sk_ca,pk_ca)。
[0019]
根据实施例,安全通信处理单元还被配置成使用常规的熵源来生成装置密钥对。也就是说,用于生成密钥的种子以通常的方式是基于随机数据的。
[0020]
根据实施例,工业自动化系统装置还包括证书存储和信任列表,该证书存储包括装置证书,该信任列表包括共享证书。
[0021]
根据实施例,预共享秘密的证书相关信息包括下列中的一项或多项:主题名称;有效期;证书签名算法;版本;序列号;签名散列算法(signature hash algorithm);发行者;公开密钥;公开密钥参数;基本约束;备选名称;主题密钥标识符;授权机构密钥标识符;密钥使用和/或拇指指纹。然而,预共享秘密可以不限于这个信息,而可以包括另外的项。
[0022]
根据实施例,预共享秘密的装置证书和共享证书的证书相关信息各自解释为x.509证书,该x.509证书是用于创建数字证书的公开密钥基础设施(pki)的itu-t标准。
[0023]
根据实施例,预共享秘密通过预配置或通过外部访问接口被提供到装置。外部访问接口可以是远程接口,例如使用tcp或udp。此外,它可以是有线接口(其中,例如装置直接连接到编程装置(在使用网络的情况下或者在不使用网络的情况下))或者无线接口。经由外部接口对装置的访问可以是安全的,例如通过访问或网络密码。在这种情况中,预共享秘密信息可以例如被存储在闪速存储器中。通过使用外部访问接口,从制造硬件的步骤中分离配置的步骤是可能的。此外,预共享秘密的更新和修改是可能的。
[0024]
备选地,预共享秘密可被存储在rom中,当制造硬件时rom被实现到装置中。作为另外的备选方案,预共享秘密的默认值或至少基本数据可在rom中提供,其按命令被读取到闪速存储器中。该命令可以在首次使用该装置时或当重置该装置时用信号发出。闪速存储器然后可以使用例如外部访问接口被盖写(overwrite)。
[0025]
通过编码技术(诸如分组编码规则(per)、celtixfire(cxf)编码方案或其它已知技术),预共享秘密的大小可以在大小方面被最小化。
[0026]
根据另外的方面,提供包括如上所述的至少一个工业自动化系统装置的工业自动化系统。该系统可以例如根据客户端-服务器架构被构建并且包括客户端可以连接到的一个或多个服务器。
[0027]
根据实施例,至少另外的信任的装置包括用于得到相同的非对称共享密钥对和相同的共享证书的相同的预共享秘密。也就是说,其它装置可以被配置有预共享秘密。装置可
以自动地互操作。具有同样的预共享秘密生成的信任根的那些装置具有包括作为例如ip地址和主机名称的变量的有效证书。此外,这些装置具有由信任根签名的证书,使得它们能够互相连接并且互相通信。然而,如果预共享秘密配置不同,则信任根也不同并且认证将失败。在这种情况中,可能没有连接。
[0028]
根据另外的方面,提供用于在工业自动化系统中的安全通信的方法,该方法包括下面的步骤。在第一步骤中,提供包括非对称密钥对生成数据的预共享秘密。在第二步骤中,从非对称密钥对生成数据得到包括共享秘密密钥sk_ca和共享公开密钥pk_ca的共享非对称密钥对。在第三步骤中,得到包括共享公开密钥pk_ca的共享证书c_ca。在第四步骤中,使用所得到的共享秘密密钥sk_ca对共享证书c_ca进行签名。在第五步骤中,生成包括装置秘密密钥sk_i和装置公开密钥pk_i的装置非对称密钥对。在第六步骤中,生成包括装置公开密钥pk_i并且利用共享秘密密钥签名的装置证书c_i。
[0029]
根据实施例,在第七步骤中,另外的装置基于共享证书c_ca被信任,并且提供基于共享证书和装置密钥对的与另外的装置的安全通信。
[0030]
安全通信单元还可包括计算机程序元件,该计算机程序元件包括指令,该指令在安全通信单元的控制器或处理器上执行以根据上面所述的方法控制安全通信单元。该计算机程序元件可被存储在计算机可读介质上。
[0031]
计算机程序元件可以是计算机程序的一部分,但是它本身还可以是整个程序。例如,计算机程序元件可被用于更新已经存在的计算机程序以得到本发明。
[0032]
控制器可包括没有可编程逻辑的电路,或者可以是或包括微控制器、现场可编程门阵列(fpga)、asic、复杂可编程逻辑装置(cpld)或为本领域技术人员已知的任何其它可编程逻辑装置。
[0033]
计算机可读介质可被看作存储介质,诸如例如,usb棒、cd、dvd、数据存储装置、硬盘或任何其它的介质,在其上可以存储如上所述的程序元件。
[0034]
因此,本发明使得由opc ua应用所要求的密码资产的部署和管理变容易。它实现从预共享秘密(pss)中得到所有的三种密码资产(密钥对、关联证书和信任证书)。因此,任何给定的装置必须仅持有公共pss来建立安全opc ua通信。结果,不再需要针对部署和管理opc ua证书的复杂协议或基础设施。
[0035]
参考附图和下面的描述,本发明的这些和其它的特征、方面和优点将变得更好理解。附图仅是示意性的并且不是按比例的。基本地,相同或类似的部件提供有同样的参考符号。
附图说明
[0036]
图1示出根据实施例的工业自动化系统装置的框图;图2示出根据实施例的功能图;图3示出根据实施例的工业自动化系统的框图;图4示出根据实施例的方法的流程图;图5示出根据实施例的具有证书的字段和值的示例的表格。
具体实施方式
[0037]
图1示出根据实施例的工业自动化系统装置100的框图。装置100包括安全通信处理单元102和包括预共享秘密的预共享秘密模块104。通信处理单元102可以是可编程逻辑,或者可以是或包括微控制器、现场可编程门阵列(fpga)、asic、复杂可编程逻辑装置(cpld)、处理器或处理装置。预共享秘密模块104可以是例如存储装置、存储器装置或存储器装置的一部分。优选地,预共享秘密模块104是闪速存储器的只读存储器(rom),诸如eeprom。预共享秘密可以是存储在预共享秘密模块104中的逻辑或数据。此外,装置包括证书存储106,在证书存储106中存储信任列表108。在工业自动化系统中,存在若干这样的装置,例如实现为具有一个或多个服务器和许多客户端的客户端-服务器架构。在本公开中,工业自动化系统装置100可以是服务器或客户端。服务器和客户端可以以安全的方式互相通信,其中安全性在主要方面中基于预共享秘密,密钥和证书分别从预共享秘密中生成或得到。
[0038]
在图1中示出的框和模块的功能性参考图2来解释。图2示出根据实施例的功能图。装置将来自操作(2)的所得到的证书c_ca存储在它们的证书存储106的信任列表108中。因此,所有具有预共享秘密202的装置信任同样的(共享)证书c_ca 206。此外,在后续的操作(3)中,每个装置d_i生成它自己的装置依赖非对称密钥对(sk_i,pk_i)208和它自己的装置依赖证书c_i 210。装置证书c_i 210签名有来自操作(1)的共享sk_ca,并且将装置依赖pk_i列为主题公开密钥。
[0039]
该规程允许共享同样的预共享秘密202的所有装置建立互相的作为例如opc ua连接的安全连接。这是因为装置依赖证书c_i,c_j,
……
,c_n 210全部都由共享私有密钥sk_ca签名,该共享私有密钥sk_ca对应于由装置信任的共享证书c_ca 206。这使得装置能够从共享同样的预共享秘密202的其它装置中核实并建立对装置依赖证书中的信任。
[0040]
由制造商在装置100中实现或者可经由外部接口配置的预共享秘密202可以包括例如一个或两个部分。在第一部分中,提供共享非对称密钥对生成数据。安全通信处理单元102被配置成从共享非对称密钥对生成数据中得到包括共享秘密密钥sk_ca和共享公开密钥pk_ca的共享非对称密钥对204,得到包括共享公开密钥pk_ca的共享证书c_ca 206,以及利用所得到的共享秘密密钥sk_ca对共享证书c_ca 206进行签名。安全通信处理单元102还被配置成生成包括装置秘密密钥sk_i和装置公开密钥pk_i的装置非对称密钥对208,得到包括装置公开密钥pk_i并且利用共享秘密密钥签名的装置证书c_i 210。利用这个实现和配置,使安全通信处理单元102能够基于共享证书c_ca 206决定是否信任另外的装置,因为共享证书c_ca与同样的私有密钥(另外的装置的数据签名有该私有密钥)相关。如果另外的装置被信任,则装置与另外的装置使用装置证书的密钥对208安全地通信。
[0041]
预共享秘密202可包括两个部分。预共享秘密202的第一部分提供必要的熵以得到共享的密码安全的非对称密钥对(sk_ca,pk_ca)206。在可选的第二部分中,预共享秘密202可包括证书相关信息。安全通信处理单元被配置成从预共享秘密202的共享证书相关信息中得到共享证书c_ca 206。因此,共享证书相关信息可以使装置能够得到共享证书c_ca 206和装置依赖证书c_i,c_j,
……
,c_n 210的特定的字段,诸如主题名称、有效期、证书签名算法等。
[0042]
例如,预共享秘密202的第一部分可被用作用于密码安全伪随机随机数生成器
(csprng)的输入。出于安全性的原因,csprng提供有足够的随机性并且具有充足的大小是至关重要的。在利用预共享秘密202初始化csprng后,csprng的输出被用作用于对共享密钥对(sk_ca,pk_ca)204的密钥生成的输入。注意的是,可以存在除了csprng之外的其它可能性和技术,以便从预共享秘密得到证书。使用的密码系统可以是rsa公开密钥密码系统或者另一个公开密钥密码系统。在rsa密码系统的情况下,可以使用例如2048位的密钥大小。然而,预共享秘密202的第一部分还可以限定不同的密钥大小。当生成非对称密钥对204时,在使用csprng的情况下,下列是关键的:(i)用于密钥生成的所有熵都来自csprng输出,该csprng输出利用预共享秘密202被初始化;和(ii)所有的装置使用同样的密钥生成算法来生成它们的密钥对。这些要求确保共享预共享秘密202的装置将生成同样的密钥对(sk_ca,pk_ca)204。注意的是,对于装置依赖密钥对208和证书210的生成,装置可使用常规的熵源(并且不是预共享秘密202)。
[0043]
预共享秘密202的剩余部分可被用于得到共享证书c_ca和装置依赖证书c_i,c_j,
……
,c_n的特定的字段。为此,pss的第二部分可被解释为例如使用预定义方案编码的两个x. 509证书。预共享秘密的大小可被最小化。为了最小化预共享秘密202的大小,可使用诸如per或cxf之类的空间有效的编码方案。然而,存在可使用的另外的编码方法。装置d_i可使用在pss中编码的第一x. 509证书以得到用于c_ca的字段,并且使用第二x. 509证书以得到用于c_i的字段。在预共享秘密202中的每个编码证书可具有填有默认值的空白字段(即空字段),这取决于证书是用于c_ca还是c_i。在示例中,这些默认值可以是图5中所示的那些默认值。其它的、更少的或另外的字段和值是可能的。
[0044]
注意的是,pss的第二部分还可以被完全省略以减小pss的大小。在这种情况中,所有所得到的证书仅由上面定义的默认值构成。
[0045]
图3示出具有工业自动化系统装置100、302的工业自动化系统的示例。装置100(d1、d2、d3、d4)包括用于得到相同的非对称共享密钥对和相同的共享证书的相同的预共享秘密pss1。也就是说,其它装置可配置有预共享秘密。装置可以自动地互操作。具有同样的预共享秘密生成的信任根的那些装置(即装置100(d1、d2、d3、d4))具有同样的有效共享根证书c_ca(pss1)。此外,这些装置100(d1、d2、d3、d4)具有由信任根c_ca(pss1)签名的证书(c_d1、c_d2、c_d3、c_d4),使得它们可以互相连接并且互相通信。然而,如果预共享秘密配置不同(诸如在具有不同预共享秘密pss2并且从而具有不同共享证书c_ca(pss2)的d5的情况下),则信任根也不同并且认证将失败。在这种该情况中,没有连接是可能的。
[0046]
图4示出用于在工业自动化系统中的安全通信的方法的流程图。在步骤402中,提供包括非对称密钥对生成数据的预共享秘密。在第二步骤404中,从非对称密钥对生成数据中得到包括共享秘密密钥sk_ca和共享公开密钥pk_ca的共享非对称密钥对。在第三步骤406中,得到包括共享公开密钥pk_ca的共享证书c_ca。在第四步骤408中,共享证书c_ca使用所得到的共享秘密密钥sk_ca来签名。在第五步骤410中,生成包括装置秘密密钥sk_i和装置公开密钥pk_i的装置非对称密钥对。在第六步骤412中,生成包括装置公开密钥pk_i并且利用共享秘密密钥签名的装置证书c_i,并且在第七步骤414中,另外的装置基于共享证书c_ca被信任,并且提供基于共享证书和装置密钥对的与另外的装置的安全通信。
[0047]
该方法使诸如opc ua应用实例证书之类的证书和它们在opc ua证书存储中对应的密钥的安装和管理变容易。该方法实现从预共享秘密中得到共享证书和密钥。因此,证书
授权机构(ca)证书或者自签名的应用实例证书必须不再被管理和分配,这使得维持pki是冗余的。相反,通信伙伴必须仅共享同样的pss。在示例中,该方法可被用于利用全球发现服务器(global discovery server)gds处于“按单制造”的场景下的装置的安全部署。例如,操作者从制造商订购装置。当订购时,操作者指定预共享秘密,该预共享秘密然后被制造商配置到装置中。操作者维持gds,该gds管理装置的供应(provisioning)。这个gds还由操作者提供有pss。当订购的装置部署在操作者的网络中时,共享的pss使装置和gds能够建立安全的opc ua连接。基于该安全连接,gds然后执行装置的供应。传统的安全装置供应(在没有本发明的情况下)将要求在操作者的地点(site)处进行部署前向装置和gds两者供应必要的证书的pki。
[0048]
在另外的示例中,该方法可以超出装置供应来使用。在装置在操作者的地点处被部署之后,操作者使用opc ua客户端和给定的预共享秘密安全地连接到装置。接下来,操作者在装置中设置新的预共享秘密。客户端和服务器然后基于新的预共享秘密重新生成它们的密钥和证书。最后,操作者使用新的预共享秘密用于与装置的任何随后的安全opc ua通信。利用所描述的方式,既不要求pki也不要求gds来部署和管理与装置的安全opc ua连接。
[0049]
根据研究附图、本公开和所附权利要求书,通过本领域技术人员在实施要求保护的本发明中能够理解和实现对所公开的实施例的其他改变。在权利要求中,词语“包括”不排除其他元件或步骤,以及不定冠词“一”或“一个”不排除多个。单处理器或其他单元可实现权利要求中所记载的若干项的功能。在互不相同的从属权利要求中记载某些措施的纯粹事实并不指示这些措施的组合不能有利地使用。计算机程序可被存储/分配在适当的介质(诸如与其它硬件一起或作为其它硬件的一部分供应的光学存储介质或固态介质)上,但是还可被分配在其它的形式中(诸如经由互联网或其它有线或无线电信系统)。权利要求书中的任何参考符号不应当被理解为限制范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献