CN102446125B - 验证控制装置的应用程序的方法和执行该方法的控制装置 - Google Patents

验证控制装置的应用程序的方法和执行该方法的控制装置 Download PDF

Info

Publication number
CN102446125B
CN102446125B CN201110315569.3A CN201110315569A CN102446125B CN 102446125 B CN102446125 B CN 102446125B CN 201110315569 A CN201110315569 A CN 201110315569A CN 102446125 B CN102446125 B CN 102446125B
Authority
CN
China
Prior art keywords
signature
application program
logic controller
plc
programmable logic
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
Application number
CN201110315569.3A
Other languages
English (en)
Other versions
CN102446125A (zh
Inventor
延斯·基德利
马库斯·韦尔特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of CN102446125A publication Critical patent/CN102446125A/zh
Application granted granted Critical
Publication of CN102446125B publication Critical patent/CN102446125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Abstract

用于对故障安全的存储器可编程的控制装置的应用程序进行验证的方法和存储器可编程的控制装置(SPS),其中在创建应用程序的过程中通过程序部件或完整的应用程序生成签名(期望值),其中该签名的副本分别存储在存储器可编程的控制装置上和外部部件中。在安全相关的应用程序的程序启动之前,一方面将在存储器可编程的控制装置方面所存储的副本传送给外部部件并且与那里存在的副本比较。在另一比较中,通过存储器可编程的控制装置的工作存储器的内容通过实际被加载的应用程序生成签名(实际值)并且随后将其与局部存在的签名的期望值的副本比较。当两个比较得到肯定结果时,才释放实际应用个程序的启动。

Description

验证控制装置的应用程序的方法和执行该方法的控制装置
技术领域
本发明涉及一种用于对故障安全的可编程逻辑控制器的应用程序进行验证的方法,其中由多个程序部件构成的应用程序从加载存储器传输至工作存储器中,以及一种可编程逻辑控制器。
背景技术
可编程逻辑控制器使用在自动化技术的所有领域中。在其中可编程逻辑控制器失灵会导致严重后果(例如机器和设备的损坏或者甚至人员伤害)的应用情况下,对工作安全性提出了提高的要求。在这样的场景中使用的可编程逻辑控制器为此设置了如下措施,其使故障保险性或工作安全性提高,例如通过冗余设计、更好的故障识别等来实现。这样的可编程逻辑控制器也称作“安全相关”、“故障安全”、“故障保险”等等。所需的功能安全性的规范也记录在众多标准中,例如在欧洲标准EN 61508中。
例如对应用者而言必须能够可靠地对于故障安全的“安全相关的”可编程逻辑控制器来检查是否有正确的安全程序被加载到控制装置中,即必须能够校验:加载在可编程的控制装置的工作存储器中的应用程序是针对具体任务设计的应用程序,而非例如其他应用程序或具有错误的输出状态(版本)的应用程序。在此,又必须保证,不仅“正确的”应用程序加载到工作存储器中而且该应用程序也被处理,而并非例如以前处理过的其他应用程序的程序或者程序部件(功能部件)被加载和处理。于是会发生:执行完整的“错误”或陈旧的应用程序,或者来自以前处理过的应用程序的仅仅一个单独的功能部件保留,其于是无意地被处理。同样,会发生:单个的功能部件被删除或损坏,使得存在的应用程序不完整或不能用。
为了排除这样的错误,在“加载”故障安全的可编程逻辑控制器的情况下,各种操作方法是常见的。这样,一方面保证了,加载存储器(即例如可编程逻辑控制器的存储器卡、硬盘或其他大容量存储器)包含“正确的”应用程序并且因此包含“正确的”功能部件或程序部件,其方式是在可编程逻辑控制器方面确定在加载存储器中的应用程序或程序部件或功能部件的程序标识。这意味着:例如函数名称和相应的输出状态(版本)和必要时在加载存储器中的“例程”顺序(排列)确定为程序标识。这些信息被传输给外部部件、通常传输给创建系统(“工程系统”)并且在那里与在应用程序创建时被确定和存储的期望值比较。在比较为肯定的情况下,确认消息可以由外部部件发送给可编程逻辑控制器,由此最后启动应用程序的处理。通过该操作方法保证了在加载存储器中存在正确的应用程序连带所有其相关的功能部件和程序部件,更确切地说处于正确的顺序和正确的输出状态(版本)。
由于还会出现:在加载因此确定的应用程序之后在可编程逻辑控制器的工作存储器中还存在其他应用程序的部分(片段)并且因此会获得执行,所以必须遵守所谓的加载规定,即必须采取如下措施:其保证在加载“正确的”应用程序之前清除工作存储器上的程序片段等。这例如可以表示:进行可编程逻辑控制器的“复位”,使得整个工作存储器写满标准值(例如在每个存储单元中的逻辑“0”或逻辑“1”)等等。
尤其是前述的加载规定的遵守在实践中越来越成问题,因为加载规定在所使用的不同的可编程逻辑控制器(“目标系统”,“目标”)的情况下部分彼此差异相当大。这意味着:例如具有专有硬件的、简单的、可编程逻辑控制器(该硬件作为加载存储器具有仅仅一个存储卡和仅仅一个相关的工作存储器)以其他加载规定加载和启动,例如基于PC的系统,其中在实时操作系统中的可编程逻辑控制器与面向窗口的操作系统(例如Microsoft Windows)并行工作。虽然在遵守相应有效的加载规定的情况下保证了:“正确的”应用程序实际上被加载在工作存储器中并且此外没有其他程序部分等等在工作存储器中存在,但由于针对不同系统有不同加载规定所以会容易出现如下故障,其未被识别或通常仅能困难地识别并且导致同样并不一定达到适当的状态。
另一缺点在于:除了必须知悉加载规定以及遵守其之外也需要准确知悉或分析相应的可编程逻辑控制器及其存储器结构。
发明内容
于是,本发明的任务是简化在安全相关的可编程逻辑控制器中的加载过程。
本发明的另一任务是识别可编程逻辑控制器的工作存储器的有故障的内容,该内容例如由加载程序(加载规定)的有错误的执行而造成。
在此,本发明的中心思想是:对在存储器中存在的应用程序就其与所期望的状态的一致性方面不进行校验或不仅仅进行校验,而是对加载过程之后工作存储器的内容在与所希望的状态(期望值)的一致性方面进行校验,使得由于不遵守或由于在应用加载规定时的错误形成的不希望的状态也被可靠地识别。本发明的另一构思是,该校验并且因此在实际值与期望值之间的比较借助相关的可编程逻辑控制器本身来进行。
任务的解决方案尤其是设计了根据本发明的实施例所述的方法和根据本发明的实施例所述的可编程逻辑控制器。借助所述方法和这种可编程逻辑控制器(SPS)可以保证,在工作存储器(AS)中存在正确而完整的应用程序,其中保证了没有其他功能部件或程序片段无意地存在于工作存储器(AS)中并且可以实现处理。借助该方法保证了成功应用对于具体存在的架构所需的加载规定。
在此,设计的是用于对安全相关的可编程逻辑控制器的应用程序进行验证的方法,其中由多个程序部件构成的应用程序由加载存储器传输至工作存储器中。在此,在创建应用程序的过程中作为期望值通过多个程序部件形成签名,其中该签名的第一副本传输至故障安全的可编程逻辑控制器并且存储在那里,并且其中该签名的第二副本存储在外部部件中。至少在将应用程序和该签名的第一副本传输至故障安全的可编程逻辑控制器之后,该签名的第一副本被传输给外部部件(“回读”)并且借助第二比较与该签名的第二副本进行比较。此外,由在工作存储器中存在的应用程序或由多个传输至工作存储器中的程序部件借助故障安全的可编程逻辑控制器的管理实体将第二签名确定为实际值,由此所确定的第二签名借助在可编程逻辑控制器方面进行的第一比较与该签名的第一副本比较。可编程逻辑控制器在比较之一有差异时转变到可靠的工作状态中。通过该方法保证了:在可编程逻辑控制器的工作存储器中存在的应用程序恰好对应于在创建(编程)时曾确定的应用程序。存储在可编程逻辑控制器上的签名的回读和与作为期望值存储的签名的比较在此拦截故障,该故障在根本没有数据传输至可编程逻辑控制器中(既无新应用程序也无签名的期望值的副本),而是带有合适签名的“老”应用程序在那里保持不变时形成;在这样的情况下可编程逻辑控制器借助“不期望的”程序来启动是可能的。
该任务的解决方案还设计了用于使用在安全相关的应用情况中的可编程逻辑控制器,其中可编程逻辑控制器构建为用于执行前述的方法,其中可编程逻辑控制器配备有:管理实体,用于确定在可编程逻辑控制器的工作存储器中的应用程序的签名的实际值;和比较装置,用于将所确定的实际值与作为期望值存储的第二签名比较,并且其中可编程逻辑控制器构建为在比较结果为否定的情况下激活可靠的工作状态。通过这样的可编程逻辑控制器可以执行上述的方法,使得可以实现与此相关的优点。
根据本发明的方法的有利的扩展方案在从属权利要求中给出。在此所给出的特征和优点相应地也适于根据本发明的可编程逻辑控制器。
作为可靠的工作状态,例如可编程逻辑控制器的应急停止(Not-Stop)可以被力争达到,其中在一个有利的实施形式中可编程逻辑控制器的电输出端可以被引入到为此预定义的状态中。
有利地,签名(实际值)的确定和与期望值的比较在程序加载到工作存储器中之后即在第一程序启动之前进行,使得在故障情况下起初可以阻止有错误的应用程序的执行。在一个可替选的实施形式中,被加载到工作存储器中的所有程序部件被用于创建签名(实际值),使得省去校验完整的工作存储器内容,只要在可编程逻辑控制器的每次重新启动或“完全复位”工作存储器之后以当前地、动态地创建签名来开始。
附加地,所确定的签名(实际值)也可以被传输给外部部件、例如工程系统,在那里进一步与那里作为期望值存储的签名或其副本进行比较,并且其中应用程序的工作仅在比较为肯定时被启动,例如通过将启动消息传输给可编程逻辑控制器来进行。由此,在可编程逻辑控制器方面进行的比较可以被校验或补充。
有利地,用作期望值的签名或用作第一期望值和第二期望值的签名在创建应用程序的过程中被确定并且存储,其中有利地代替最初基于函数名称和文档名称或其版本号的程序标识形成对于相应的函数部件、程序例程等等的内容典型的校验值,例如CRC值(CRC=循环冗余校验)、Hash值、校验和、所谓的“指纹”等等。在此,有利地各个程序部分、函数部件等的校验值或签名可以彼此链接或计算为总值,例如通过所谓的XOR函数(XOR=比特水平上的异或运算)。由此,可以可靠地检测内容上的故障和结构上的故障,其中结构上的故障尤其是在各个功能块和程序部件的顺序影响签名值时才可以被识别。
在用作实际值的签名由所有在工作存储器中存在的程序部件(“代码序列”)形成并且在控制装置启动时与加载存储器中的签名的期望值比较时,可以可靠地识别所不期望的程序部件或程序片段在工作存储器中的存在。
借助该方法也可以事后确定工作存储器或其中存储有可执行的应用程序的工作存储器区域的内容改变或者扭曲,其方式是在可编程逻辑控制器的连续运行期间重复地新确定签名的实际值并且重新与期望值比较。这样的重复的执行例如也可以在工作停顿中或者在如下的工作周期中进行,其中可编程逻辑控制器的微处理器通过应用程序单独地未完全被利用。
作为借助其进行第二比较的外部部件首先考虑创建系统或者开发系统,其用于创建应用程序并且因此也用于创建签名的期望值。然而,进行“外部”比较的功能也可以转移到其他部件中,例如转移到安全服务器中,其有序管理自动化设备的所有安全相关程序的签名等等。尤其是,为此也考虑所谓的“投入运行的服务器”,其中借助这样的服务器可以为自动化装置的许多或所有可编程逻辑控制器供给应用程序。
附图说明
根据本发明的方法的一个实施例在下文中借助附图来阐述。该实施例同时用于阐述根据本发明的可编程逻辑控制器。
其中:
图1在示意性视图中示出了根据现有技术的可编程逻辑控制器和创建系统/工程系统的对于实施该方法所需的部件,以及
图2示出了构建为用于执行根据本发明的方法的装置。
具体实施方式
在附图中示意性地示出了由开发系统ES(也称作“创建系统”、“编程系统”或“工程系统”)和可编程逻辑控制器SPS构成的装置,它们通过(未示出的)数据连接彼此链接。借助该装置要阐述根据现有技术的方法。在此要假设的是,曾创建了应用程序,其由多个程序部件F-FBx、FDBx、F-FCx(通常也称作“函数”、“例程”、“函数块”等等)构成。该应用程序在开发系统ES中存储在存储器BO(部件文件夹)中。在完成应用程序之后,通过开发系统ES借助在那里可执行的函数E-SIG-S(创建签名期望值)作为期望值创建和存储签名SIG-S。签名SIG-G在此情况下是所谓的“程序标识”,即:其是校验值,其由应用程序或者应用程序的程序部件F-FBx、F-DBx、F-FCx的文档的名称和版本名称创建。为了使应用程序在故障安全的可编程逻辑控制器SPS上运行,将应用程序传输至可编程逻辑控制器SPS的加载存储器LS中;加载存储器LS例如可以是可更换的存储卡(“闪存”卡等等)、硬盘或者其他大容量存储器。
为了执行应用程序,应用程序必须被传输至工作存储器AS中。为此,可编程逻辑控制器SPS的对象管理OV确定如下信息:例如应用程序或对象、例程和在加载存储器LS中形成应用程序的程序部件F-FBx、F-DBx、F-FCx的对象名、函数名、文档名、版本状态等等,并且该对象管理也将这些信息传送给开发系统ES。在那里,函数E-SIG-I从这些信息创建签名SIG-I的实际值(创建签名实际值),函数E-SIG-I在一个有利的扩展方案中也可以与函数E-SIG-S的函数相同。随后,期望值SIG-S和实际值SIG-I借助比较V进行比较,其中在协调之后肯定的确认消息被传送给可编程逻辑控制器SPS的对象管理OV。在该比较之前、期间或之后由可编程逻辑控制器SPS处理加载指令或加载规定的序列,其负责完全擦除工作存储器AS,使得没有以前处理过的应用程序的片段保留在那里。根据加载规定,现在借助肯定的确认消息启动的应用程序或形成应用程序的程序部件加载到工作存储器AS中并且运行,其中当然在否定的确认消息的情况下阻止程序启动。在这样的情况下,可编程逻辑控制器SPS的(未示出的)输出端被置于限定的状态中或例如被关断。“可靠的运行状态”在此可以针对每个可编程逻辑控制器SPS或每种应用情况特别地限定。加载规定也可以包括工作指令,借助其保证了应用程序完全并且正确地传输至工作存储器,例如通过所谓的“控制读”(“Verify(校验)”)来传输。
对于现有技术的实施例(图1),出于清楚性的原因选择了简单的架构,其可以以简单的加载规定启动。在实践中,通常使用更为复杂的架构,其根据具体的情况而会彼此相差极大并且要求复杂的并且通常非常不同的加载规定。在此,处理错误的即与具体的配置不匹配的加载规定会导致不期望的结果,其还不一定被识别出。
函数E-SIG-S和E-SIG-I以及用于执行比较V的装置可以组合成软件模块(程序标识);相应内容适用于与此类似的函数E-SIG-S和E-SIG-I2以及用于执行以下所讨论的图2的比较V2的装置。
以下借助图2阐述了根据本发明的方法,其中其名称或附图标记已在图1中已知的部件、装置和函数在此情况下不重新描述。
图2中所示的架构对应于(这涉及硬件)借助图1(现有技术)所阐述的情况。在创建在开发系统ES的存储器BO中又存在的应用程序之后,这里也通过函数E-SIG-S来产生关于应用程序或应用程序的程序部件F-FBx、F-DBx、F-FCx的签名(期望值)。然而该签名现在以第一副本SIG-S-1存储在可编程逻辑控制器中,其中存储与应用程序一同可以在加载存储器LS中进行,或者在可编程逻辑控制器SPS的与加载存储器LS不同的位置(存储器装置)上进行。此外,第二副本SIG-S-2存储在开发系统ES的存储器中。
以下要假设的是,应用程序在加载存储器LS中,并且签名的第一副本SIG-S-1存储在可编程逻辑控制器SPS的与加载存储器LS不同的第二存储器中。第二存储器有利地可以是所谓的智能卡,其作为“启动钥匙”插入到可编程逻辑控制器SPS的读取设备中,使得在那里所存储的信息尤其是签名的第一副本SIG-S-1可以被对象管理OV读取。为了准备程序启动,通过对象管理OV执行加载规定,该加载规定使得工作存储器AS被擦除,使得之后应用程序并且由此程序部件从加载存储器传输至工作存储器AS,之后执行安全校验。有利地,加载规定可以固定地存储在可编程逻辑控制器SPS的存储器中。
安全校验包括函数E-SIG-I1的调用,由此关于工作存储器AS的内容通过SPS或在那里的函数E-SIG-I1创建签名(程序签名、CRC值、“指纹”等等),并且其中借助比较V1将实际值与作为期望值存储的签名SIG-S-1进行比较。可替选地,传输至工作存储器AS中的每个程序块等等也会有助于形成签名,使得工作存储器的“屏蔽”可免除并且在“流量控制”的意义下通过连续校验所加载的和所擦除的(卸载)程序部件来替代。
在比较V1得到肯定结果的情况下,工作存储器AS中的应用程序的处理会被启动,而在否定的比较的情况下可编程逻辑控制器SPS转变到可靠的运行状态中,其已经借助现有技术(图1)予以阐述。比较结果的分析可以由应用程序的例程来完成;在该情况下应用程序会构建为该例程在执行安全关键的指令之前被执行。可替选地,这样的任务也可以通过“固件”来完成。
此外,在启动应用程序之前,即在执行第一比较V1之前、期间或之后进行第二比较V2,由此信息从可编程逻辑控制器SPS传输给开发系统ES。这些信息包括在可编程逻辑控制器方面存储的签名的副本(期望值)SIG-S-1,其借助比较V2与在开发系统ES方面存储的第二副本SIG-S-2(期望值的第二副本)比较。在肯定的比较的情况下,相应的肯定的确认消息被发送给可编程逻辑控制器SPS,其中该确认消息与第一比较V1的肯定的结果一起引起在工作存储器AS中存在的应用程序的启动,由此可以启动程序执行。在否定的第二比较V2的情况下,当然否定的确认消息被发送给可编程逻辑控制器SPS,由此触发了已描述的可靠的运行状态。
在一个有利的扩展方案中,附加地将已通过函数E-SIG-I1生成的签名(“实际值”)传输给开发系统ES或其他外部部件,使得该签名直接通过进一步的第二比较V2可以与那里存在的第二副本SIG-S-2比较。
借助根据本发明的方法可以保证应用程序正确地被传输至工作存储器AS中,并且此外所需的加载规定成功并且正确地应用,而不必已知或不必校验具体存在的架构和具体的加载规定,此外也可以保证,在加载存储器LS中也存在对于此情况“正确的”应用程序,使得可以阻止可编程逻辑控制器SPS借助尽管基本上也有效的但对于其他应用情况设置的应用程序工作。

Claims (11)

1.一种用于对故障安全的可编程逻辑控制器的应用程序进行验证的方法,其中由多个程序部件构成的应用程序从加载存储器传输至工作存储器中,
其特征在于,
在创建应用程序的过程中作为期望值形成关于应用程序或多个程序部件的签名,其中该签名的第一副本被传输至故障安全的可编程逻辑控制器并且存储在那里,并且其中该签名的第二副本存储在外部部件中,
至少在将应用程序和/或该签名的第一副本传输给故障安全的可编程逻辑控制器之后将该签名的第一副本传输给外部部件并且借助第二比较与该签名的第二副本比较,
由工作存储器中存在的应用程序或多个被传输至工作存储器中的程序部件借助故障安全的可编程逻辑控制器的管理实体确定第二签名作为实际值,
所确定的第二签名借助可编程逻辑控制器的第一比较与该签名的第一副本比较,并且可编程逻辑控制器在第一比较中差异的情况下和/或在第二比较中差异的情况下转变到可靠的工作状态中。
2.根据权利要求1所述的方法,其特征在于
为了将可编程逻辑控制器转变到可靠的工作状态中而阻止在工作存储器中存在的应用程序的执行,或者停止该应用程序。
3.根据权利要求1或2所述的方法,其特征在于,
在应用程序的程序启动之前确定用作实际值的第二签名和将第二签名与该签名的第一副本进行第一比较。
4.根据权利要求1或2所述的方法,其特征在于,
作为实际值确定的签名被传输给外部部件,其中通过外部部件的装置进行与在所述外部部件中作为期望值存储的该签名的第二副本的另外的比较,其中可编程逻辑控制器的应用程序的工作在所述另外的比较的肯定的结果的情况下被启动。
5.根据权利要求1或2所述的方法,其特征在于,在创建应用程序的过程中对用作期望值的这个签名或这些签名进行计算。
6.根据权利要求1或2所述的方法,其特征在于,用作实际值和用作期望值的签名副本分别由各程序部件的特性或者签名形成。
7.根据权利要求1或2所述的方法,其特征在于,用作实际值的签名由所有在工作存储器中存在或在加载过程中传输至工作存储器中的程序部件确定。
8.根据权利要求1或2所述的方法,其特征在于,借助确定签名的实际值和借助将所述签名与作为期望值存储的签名的副本进行第一比较来在可编程逻辑控制器的工作期间重复执行验证的重复。
9.根据权利要求1或2所述的方法,其特征在于,用于创建应用程序的开发系统或工程系统用作外部部件。
10.根据权利要求1或2所述的方法,其特征在于,工业自动化装置的加载服务器或安全服务器用作为外部部件。
11.一种用于使用在安全相关的应用情况中的可编程逻辑控制器,其特征在于,
可编程逻辑控制器构建为用于执行根据权利要求1至10中任一项所述方法,其中可编程逻辑控制器配备有:管理实体,借助所述管理实体由工作存储器中存在的应用程序或多个被传输至工作存储器中的程序部件确定第二签名作为实际值;和比较装置,用于将所确定的第二签名与签名的第一副本比较,其中可编程逻辑控制器构建为在比较的结果为否定的情况下激活可靠的工作状态。
CN201110315569.3A 2010-10-06 2011-10-08 验证控制装置的应用程序的方法和执行该方法的控制装置 Active CN102446125B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20100186727 EP2447843B1 (de) 2010-10-06 2010-10-06 Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
EP10186727.3 2010-10-06

Publications (2)

Publication Number Publication Date
CN102446125A CN102446125A (zh) 2012-05-09
CN102446125B true CN102446125B (zh) 2017-06-20

Family

ID=43416384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110315569.3A Active CN102446125B (zh) 2010-10-06 2011-10-08 验证控制装置的应用程序的方法和执行该方法的控制装置

Country Status (3)

Country Link
US (1) US8856595B2 (zh)
EP (1) EP2447843B1 (zh)
CN (1) CN102446125B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10038565B2 (en) * 2012-12-20 2018-07-31 GM Global Technology Operations LLC Methods and systems for bypassing authenticity checks for secure control modules
US9047192B2 (en) * 2012-12-21 2015-06-02 Advanced Micro Devices, Inc. Signature-based store checking buffer
CN104035833A (zh) * 2013-03-07 2014-09-10 联发科技股份有限公司 校验机器可读代码完整性的方法及系统
DE102013211504A1 (de) * 2013-06-19 2014-12-24 Siemens Aktiengesellschaft Verfahren zum Verifizieren eines betriebssicheren Zustandes eines Rechners
CN105306434A (zh) * 2015-09-11 2016-02-03 北京金山安全软件有限公司 程序文件校验方法及装置、服务器和终端
US9900209B2 (en) * 2015-09-14 2018-02-20 Cisco Technology, Inc. Techniques for YANG model version control validation
JP6477553B2 (ja) * 2016-03-14 2019-03-06 オムロン株式会社 プログラム開発支援装置、プログラム開発支援プログラムおよびプログラム開発支援方法
US10986107B2 (en) 2016-05-20 2021-04-20 Georgia Tech Research Corporation Systems and methods for detecting anomalous software on a programmable logic controller
US11379249B2 (en) * 2019-05-08 2022-07-05 Distech Controls Inc. Computing device providing fail-safe execution of a service
US11360694B2 (en) 2019-05-08 2022-06-14 Distech Controls Inc. Method providing resilient execution of a service on a computing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139820B1 (en) * 2002-02-26 2006-11-21 Cisco Technology, Inc. Methods and apparatus for obtaining location information in relation to a target device
CN101595442A (zh) * 2006-10-10 2009-12-02 埃克弗洛普公司 更新电源微控制器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816985B2 (en) * 2001-11-13 2004-11-09 Sun Microsystems, Inc. Method and apparatus for detecting corrupt software code
JP4399704B2 (ja) * 2003-03-27 2010-01-20 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US20050193378A1 (en) * 2004-03-01 2005-09-01 Breault Richard E. System and method for building an executable program with a low probability of failure on demand
US20050229004A1 (en) * 2004-03-31 2005-10-13 Callaghan David M Digital rights management system and method
DE102005010131A1 (de) * 2005-03-02 2006-09-07 Arvato Mobile Gmbh Verfahren zur Übertragung von digitalen Inhalten eines Inhalteanbieters an die Nutzer eines Online- Inhalteübertragungssystems
KR20090038928A (ko) * 2006-08-08 2009-04-21 지멘스 에너지 앤드 오토메이션 인코포레이티드 Plc 시스템 결함에 관한 장치들, 시스템들, 및 방법들
US7870379B2 (en) * 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller
EP2437194A1 (en) * 2010-10-01 2012-04-04 Nagravision S.A. System and method to prevent manipulation of video data transmitted on an HDMI link.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139820B1 (en) * 2002-02-26 2006-11-21 Cisco Technology, Inc. Methods and apparatus for obtaining location information in relation to a target device
CN101595442A (zh) * 2006-10-10 2009-12-02 埃克弗洛普公司 更新电源微控制器

Also Published As

Publication number Publication date
US8856595B2 (en) 2014-10-07
CN102446125A (zh) 2012-05-09
US20120266022A1 (en) 2012-10-18
EP2447843A1 (de) 2012-05-02
EP2447843B1 (de) 2013-07-03

Similar Documents

Publication Publication Date Title
CN102446125B (zh) 验证控制装置的应用程序的方法和执行该方法的控制装置
CN109923518B (zh) 用于安全关键系统的软件更新机制
CN109726099B (zh) 一种应用灰度发布方法、装置及设备
EP2195737B1 (en) Method for reprogramming applications in embedded devices and related device
US20030051235A1 (en) Method and apparatus for verifying and analyzing computer software installation
US8931091B2 (en) Method for operating a tachograph and tachograph
CN107453873B (zh) 一种智能ic卡数据校验方法及系统
CN104200153A (zh) 一种启动验证方法和系统
US20060107121A1 (en) Method of speeding up regression testing using prior known failures to filter current new failures when compared to known good results
JP2007507016A (ja) シリアルインターフェイスを介したフラッシュプログラミングによる電子制御装置のソフトウェアアップデート方法およびこれに対応する状態自動装置
CN109376031B (zh) 一种防止eeprom存储区校验误判发生的方法及装置
CN111694702A (zh) 用于进行安全的信号操纵的方法和系统
CN107193249B (zh) 程序开发辅助装置以及程序开发辅助方法
CN102681838A (zh) 由虚拟机执行的中间编程代码的安全化的方法、计算机程序和装置
CN111459496B (zh) 一种防篡改的程序文件的生成方法、设备的升级方法
JP6094523B2 (ja) プログラム書き換え方法
CN108664012A (zh) 一种电动助力转向系统控制器的检测方法、装置及设备
CN109408099A (zh) 远程fpga固件代码更新系统、方法及介质
KR101572854B1 (ko) 사이버 보안 기능이 강화된 피엘씨 장치
CN101661399B (zh) 模块化软件移除方法
US20090204952A1 (en) Method of securing a computer program. and corresponding device, method of updating and update server
US8527835B2 (en) Method for secure data transfer
CN107844395A (zh) 一种reboot测试控制方法及系统
CN109683980B (zh) 实现轨旁安全平台u盘配置文件可靠装载的方法
CN109117190A (zh) 系统启动方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant