EP3326101B1 - Method and system for firmware-updating a control device for process control - Google Patents
Method and system for firmware-updating a control device for process control Download PDFInfo
- Publication number
- EP3326101B1 EP3326101B1 EP16750636.9A EP16750636A EP3326101B1 EP 3326101 B1 EP3326101 B1 EP 3326101B1 EP 16750636 A EP16750636 A EP 16750636A EP 3326101 B1 EP3326101 B1 EP 3326101B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- firmware
- control device
- updating
- file
- update
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1011—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1077—Recurrent authorisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2139—Recurrent verification
Definitions
- the invention relates generally to automation technology, and in particular to a method and a system for updating the firmware of a control device for process control.
- control devices are used to control machines and systems, which are connected to the respective machine or system via sensors and actuators, whereby the sensors and actuators are usually connected to inputs and outputs of the control device via I / O modules .
- the control devices are usually designed as programmable logic controllers (PLC) which can be programmed with a control application that can be executed by a microprocessor of the control device.
- PLC programmable logic controller
- a firmware update in the form of an update may be required to correct errors or to expand the functions of a safety controller.
- the firmware typically includes operating software for the control device, as well as software, also referred to as a loader, for loading the operating software, and can also include an operating program for a programmable IC, such as an FPGA (Field-Programmable Gate Array), which forms the microprocessor for executing the control application.
- a firmware update cannot be carried out by the user without further ado.
- a firmware update can be carried out by the device manufacturer in compliance with the safety requirements, which, however, is associated with a high level of logistics and costs, especially in the case of control devices that are already installed in the field.
- the invention is based on the object of showing a way in which a method for updating the firmware of a control device, in particular a safety controller, can be simplified and / or improved.
- a core concept of the invention consists in providing a device-specific authorization check for the implementation of a firmware update by the manufacturer and, if the authorization check is successful, provide a device-specific activation code to carry out the firmware update, for which purpose a release device is provided by the manufacturer and an update device that can be connected to a control device is provided by the user.
- firmware updates can advantageously be carried out under the complete control of the manufacturer, the logistical and cost outlay required for this being able to be considerably reduced, and in addition, firmware updates that have been carried out can be traced for each device.
- firmware updates that have been carried out can be traced for each device.
- a secure firmware update under control and long-term archiving by the manufacturer can be made possible.
- a method for updating the firmware of a control device for process control with at least one control module is provided, wherein the control module is assigned a firmware stored in a system memory of the control device.
- a firmware file with new firmware contained therein for the at least one control module is first provided in an update device that can be connected to the control device. This can be done in any suitable manner, for example by loading from a data carrier or by Internet downloading from a website of the manufacturer of the control device.
- the control device is designed in particular as a safety control for fail-safe control of a safety-critical process.
- the method also provides that the update device retrieves first device data from the control device, which is stored in the control device, generates a signed device file as a function of this first device data and as a function of information identifying the new firmware, and generates the signed device -Transfer file to a central release facility. This can take place, for example, in response to a user input entered at the update device, with the user input optionally also being able to select the firmware to be newly installed.
- a digital signature can be generated in a manner known per se with the aid of a secret signature key, which enables the central release device to check the integrity of the signed device file by means of an associated verification key.
- the signed device file includes the first device data and the information that identifies the new firmware, as well as a digital signature generated for this data.
- the signed device file received is checked by the central release device and an activation code is generated and transmitted back to the update device only if the check is successful, the activation code being second device data and a unique one Includes identification information.
- the unique identification information can advantageously be provided as a GUID (Globally Unique Identifier) and is used to track firmware updates that have been carried out.
- the update device After receiving the activation code, the update device carries out a consistency check of the first device data, as a function of which the signed device file was generated, and of the second device data contained in the received activation code.
- the method can provide for a renewed retrieval of the first device data stored in the control device by the update device, in which case the update device performs a consistency check of the newly retrieved first device data and the second device data contained in the received activation code.
- the communication between the update device and the central release device can preferably take place via a direct communication connection, for example a wired Internet connection.
- the data can also be transmitted between the update device and the central release device in any other suitable manner, for example by e-mail data exchange or via a radio network. In principle, data exchange using a separate data carrier would also be conceivable.
- a renewed retrieval of the first device data can in particular be advantageously provided if the data exchange takes place offline, ie not by means of an existing communication connection, since in In this case, the first device data may have changed since the previous retrieval.
- the method advantageously provides that the update device first transmits the new firmware as a firmware file to the control device and then transmits a device-specific update command to the control device to initiate the update, the control device in response to the received update command, the firmware of the control module stored in the system memory is automatically updated with the firmware contained in the received firmware file, the firmware stored in the system memory preferably being overwritten with the new firmware.
- the firmware file transmitted by the update device can initially be temporarily stored, with the intermediate storage being able to take place, for example, in a parameterization memory of the control device.
- the system memory and / or the parameterization memory are preferably designed as overwritable memory, for example as a flash memory or as an EEPROM.
- the firmware file advantageously also includes security information, the control device executing a consistency check of the security information and only allowing the firmware update to proceed if the consistency check is successful.
- the security information can in particular include a check value, for example in the form of a CRC value (CRC: Cyclic Redundancy Check), with the aid of which errors that have occurred during the storage or transmission of the firmware file can be recognized.
- CRC Cyclic Redundancy Check
- control device can have several, i. at least two control modules.
- a separate firmware can advantageously be provided for each of the control modules.
- the firmware file can include a new firmware for each of the at least two control modules. Provision can also be made for the firmware of the at least two control modules to be updated separately, the firmware file in this case only comprising new firmware for one of the at least two control modules.
- the unique identification information contained in the activation code is particularly advantageously transmitted from the update device to the control device and stored in the control device. In this way, firmware updates carried out on the control device can advantageously be traced.
- the central release device particularly advantageously checks for update authorization, with release information being retrieved from a product lifecycle management database in particular as a function of the device-specific information contained in the received signed device file.
- the first and / or second device data preferably include a device type, a hardware version and / or a serial number of the control device and / or information on at least one firmware currently being executed by the control device.
- the consistency check of the first and second device data includes in particular a comparison of the data contained in each case, in particular device-specific information such as the serial number, in order to check whether the received activation code was created for the control device for which a firmware update is to be carried out.
- the update device In order to enable the manufacturer to fully track firmware updates that have been carried out successfully, it is particularly advantageous for the update device to transmit a confirmation message to the central release device when the firmware update has been carried out successfully, with the central release device in response the successful implementation of the firmware update is logged on the received confirmation message, wherein in particular a log entry comprising the unique identification information is stored in the product lifecycle management database.
- a history of the firmware updates that have taken place can also advantageously be created for verification purposes in the sense of a required life cycle management.
- the confirmation message is correspondingly transmitted from the update device to the central release device after a restart has taken place.
- a self-test of the control device is preferably carried out.
- a self-test is also known as a POST (Power-On Self-Test).
- POST Power-On Self-Test
- the steps typically performed in a POST are known per se and are therefore not explained in more detail here.
- control device comprises several control modules
- the control device after updating the firmware of the at least one control module stored in the system memory, performs a compatibility test of the firmware assigned to the different control modules, the control device changing to a safe operating state upon detection of an incompatibility.
- This check can be provided as part of the POST, the control device changing to a safe operating state even if another error or another incompatibility is detected.
- the method can advantageously provide for error-proof and / or encrypted data transmission.
- This relates to the transfer of the signed device file from the update device to the central release device, the transfer of the activation code from the central release device to the update device, the transfer of the device-specific update command from the update device the control device and / or the transmission of the unique identification information contained in the activation code from the update device to the control device.
- a system for updating the firmware of a control device accordingly comprises a control device for process control with at least one Control module, wherein firmware stored in a system memory of the control device is assigned to the control module, an update device that can be connected to the control device, and a central enabling device, the update device being designed to transfer first device data stored in the control device from the control device to generate a signed device file as a function of the first device data and as a function of information identifying new firmware, to transmit the signed device file to the central release device, from the central release device in response to the signed one sent Device file to receive an activation code, a consistency check of the first device data, depending on which the signed device file was generated, and the second device data contained in the received activation code or the first device stored in the control device to retrieve the data from the control device again and to carry out a consistency check of the newly retrieved first device data and of the second device data contained in the received activation code, and if the consistency check is successful, to update the firmware of the control device with the new firmware, and the
- An essential aspect of the invention can be seen in the fact that a corresponding traceability of firmware updates carried out is made possible both by the manufacturer and on the respective control device.
- control device is advantageously designed to store the unique identification information contained in the activation code received from the update device.
- update device is advantageously designed to transmit a confirmation message to the central release device when the firmware update has been carried out successfully, and the central release device is advantageously designed to successfully execute the firmware in response to the received confirmation message -To log updates, in particular a log entry comprising the unique identification information being stored in a product lifecycle management database.
- the functionality of the update device is preferably the responsibility of the device manufacturer.
- the device manufacturer can particularly advantageously provide software, also referred to below as a download tool, which the user can install on a conventional computer which has a communication interface for communication with a control device in order to form the update device.
- a digital storage medium is provided with instructions stored thereon, which are designed to carry out method steps when they are carried out on a computer, comprising: a) calling up first device data stored in a control device connected to the computer, b) generating a signed device File as a function of the first device data and as a function of information which identifies a newly provided firmware, c) transferring the signed device file to a central release device, d) receiving an activation code from the central release device in response to the sent signed device file, the activation code comprising second device data and unique identification information, e) performing a consistency check of the first device data retrieved in step a) and the second device data contained in the activation code received, or retrieving the data in the control again device stored first device data and performing a consistency check of the retrieved first device data and the second device data contained in the received activation code, and f) effecting, only if the consistency check is successful, an update of the firmware of the control device with the new firmware.
- Fig. 1 is an exemplary system 10 for updating the firmware of a control device 100 designed as a safety controller, which is used, for example, in automation technology.
- the control device 100 is connected via an interface 141 to a communication network 300 and via this to process devices 210 and 220.
- the communication network 300 can be designed, for example, as a PROFINET communication network.
- PROFINET Process Field Network
- PROFINET is an open Industrial Ethernet standard used in the field of automation.
- any other suitable communication network such as a fieldbus, can also be used.
- the control device 100 comprises a control unit 110 with two control modules 112 and 114. Furthermore, the control 100 comprises an internal system memory 120 connected to the control unit 110, but not externally can be accessed.
- the firmware is stored here, for example, in the form of a composite file, a so-called container file, which is unpacked and put into operation when the system is started.
- a parameterization memory 130 is provided in the controller 100 which contains the configuration of the controller, the application program and, if necessary, further application-specific data.
- a firmware update is possible, for example, in that a new firmware container is stored in the parameterization memory via the communication interface 142 of the controller 100 and then a command to the controller 100 starts a procedure which puts the new firmware into operation with this container.
- control device 100 can be connected for this purpose via a communication link 310 to a computer 400 on which a software tool provided by the manufacturer of the control device 100, hereinafter referred to as a download tool and in Fig. 1 referred to as DLT for short, is installed.
- a software tool provided by the manufacturer of the control device 100, hereinafter referred to as a download tool and in Fig. 1 referred to as DLT for short, is installed.
- the interface 142 can be designed, for example, as a USB interface or as an Ethernet interface.
- the computer 400 is preferably connected to a manufacturer server 500 via the Internet 320, the manufacturer server 500 comprising a central release device.
- a data transfer between the download tool and the central release facility can take place via the Internet can also be done in other ways.
- the manufacturer server 500 is also connected to a product lifecycle management database 510, hereinafter also referred to as PLM-DB for short.
- FIG. 2 A preferred sequence of a firmware update is shown again in detail as a flow chart in FIG Figures 2 and 3 shown, where Fig. 2 a first phase and Fig. 3 shows a second phase.
- Phase 1 shown comprises the following steps.
- step 600 the firmware file is read from the local file system by the download tool on the update device 400.
- the control device 100 is identified by a data query, for this purpose the update device 400 transmits a corresponding request 607 to the control device 100, which in response to this query in step 610 sends the first device data which are transmitted to the update device 400 in step 612.
- the device data received by the control device 100 are displayed to the user in step 615.
- the device data are transmitted to the manufacturer in a secure manner with the header data of the firmware update file, a corresponding signature file being generated for this purpose in step 620 and sent to the manufacturer server 500 in step 625.
- the signature file transmitted to the manufacturer server 500 in step 627 is checked in step 630 by a release device contained in the manufacturer server 500.
- the manufacturer server 500 compares the authorization with the PLM-DB 510. If the authorization check is successful, the manufacturer server 500 generates a secured activation code in step 635, for example in the form of an activation file, which comprises a backup and a unique code as a tracking ID.
- the manufacturer server 500 sends the activation code to the update device 400.
- the activation code transmitted in step 642 is received by the update device 400 and, in response to the receipt of the activation code transmitted in step 642, the update device 400 executes The illustrated embodiment in step 645 again interrogates the first device data from the control device 100, for this purpose the update device 400 transmits a corresponding request 647 to the control device 100, which sends the first device data in response to this request in step 650 which are transmitted to the update device 400 in step 652. That on The download tool running in the update device 400 checks in step 655 the consistency of the device and activation code and, if the consistency check is successful, carries out the data transfer in step 660. For this purpose, the firmware update file is transmitted to the control device 100 in step 662 and is initially temporarily stored there in step 665.
- the parameterization memory 130 or another suitable, also volatile, memory can be used for intermediate storage.
- confirmation of the storage is transmitted to the update device 400.
- step 670 there is a consistency check of the firmware update file for formal correctness, the result of the check being transmitted to the update device 400 in step 672. If the consistency check is successful, the update device 400 then sends a device-specific update command to the control device 100 in step 675, whereby the result of the consistency check is preferably displayed to the user and the user is also informed about the execution of the update, ie the programming or overwriting of the system memory 120 of the new firmware, additionally confirmed by an entry.
- the controller 100 executes the firmware update in step 680 and stores the unique tracking ID.
- step 682 the control device 100 transmits to the update device 400 the information as to whether the update, ie the overwriting of the system memory, was carried out successfully, the update result being displayed to the user in step 685.
- the control device 100 goes into a wait state for reset in step 690, ie to a restart of the control device 100, it also being possible for an automatic implementation of a reset to be provided.
- Phase 2 shown includes the following steps.
- control device 100 After the control device 100 has been restarted, it first carries out a self-test in step 700, with the package compatibility of the firmware assigned to the control modules 112 and 114 being checked in particular, whereby these can be present as diverse firmware components.
- step 705 If an error is detected in step 705 when performing the self-test, the control device 100 assumes a safe state in step 710.
- the measures required to achieve a safe state are known per se and are therefore not explained in more detail here.
- control device 100 changes over to normal operation in step 720.
- the download tool in the update device 400 establishes a connection to the control device 100 in step 725, connection inquiries 727 being transmitted to the control device 100, preferably cyclically, until the control device 100 responds in step 730 and the connection request 727 in Step 732 answered.
- step 735 the download tool queries the updated device data, with the update facility for this purpose 400 transmits a corresponding request 737 to the control device 100, which, in response to this request in step 740, causes device data to be sent, which are transmitted to the update device 400 in step 742.
- step 745 the download tool displays the requested device data for the operator, possibly with an error message.
- a confirmation of the update is securely transmitted to the manufacturer server 500 in step 750.
- the manufacturer server 500 logs or stores the confirmation in the PLM-DB 510 in step 755.
- a confirmation of the logging that has taken place is transmitted in step 757 to the update device 400 and the user is informed in step 760 of the completion of the process via a corresponding display.
- the following table shows an example of the structure of a firmware update file, i.e. the secure firmware container: component content description Container header 1.
- File name of the container ie the firmware update file Name of the firmware update file, the file is thus secured against renaming (pos. 1 is part of pos. 6); unique numeric device identifier; Version of the firmware update file; Number of subsequent components, for example in the case of several, also diverse control modules 2.
- Device ID 3. Version number 4. Number of components included 5.
- Component header 1 a) destination (e.g.
- control module 1 or control module 2) Ensuring the correct target of the programming and verification of the contained image; b) Type of image (loader, operating software, or FPGA program) Determination of the position in the firmware update file Size including image header; c) Offset address in the firmware update file d) Size in the firmware update file Destination address in read-only memory; Protection against corruption of the header or the component e) destination address f) checksum over the complete Component (incl. Header) 6.
- Component header 2 ... n further component headers according to the number in pos. 4 7. Header checksum over pos. 1 to 4 and all component headers Check sum over pos. 1-6 (all component headers) Firmware image 1 1.
- Image header (Magic Number 1, checksum, size, address information) Information for the firmware loader 2.
- Firmware image 1 the firmware image to be loaded 1 Firmware image ... 1.
- Firmware image n 1.
- FW image n the firmware image to be loaded n
- firmware to be updated also referred to as firmware image, operating software, software used to load operating software and called a loader, as well as software for programming an FPGA (Field- Programmable gate array) trained processor can include FPGA program used.
- the method described advantageously provides a distributed comparison and release device outside the safety controller.
- This implements a secured consent principle, whereby the consent or the comparison and the responsibility lies first with the manufacturer, the release of the programming is the responsibility of the download tool or, in the last instance, the Operator.
- the download tool itself is the responsibility of the manufacturer.
- Encryption of the firmware update file is advantageous, but not absolutely necessary, since all steps are preferably secured by a confidential checksum method.
- the algorithm used can be easily adapted, particularly advantageously, if necessary, without having to make changes to the firmware.
- the method can in principle be interrupted after the first query of the device data, but it is advantageous to run one after the other online.
- the programming is subject to the approval of the operator and is initiated by a secured programming command.
- the unique code which is part of the activation and was generated by the manufacturer, is stored in the PLM database 510 and non-volatile on the control device 100, this preferably being part of the programming command.
- This code can be used to track which activation was used for the firmware update, whereby the code is stored by the manufacturer and in the device, which results in a double chain of evidence.
- the unique code is advantageously implemented using a GUID (Globally Unique Identifier).
- GUID Globally Unique Identifier
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Stored Programmes (AREA)
Description
Die Erfindung betrifft allgemein die Automatisierungstechnik, und insbesondere ein Verfahren und ein System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung.The invention relates generally to automation technology, and in particular to a method and a system for updating the firmware of a control device for process control.
In der Automatisierungstechnik werden zur Steuerung von Maschinen und Anlagen Steuereinrichtungen eingesetzt, die über Sensoren und Aktoren an die jeweilige Maschine oder Anlage angebunden sind, wobei die Sensoren und Aktoren in der Regel über E/A-Baugruppen mit Ein- und Ausgängen der Steuereinrichtung verbunden sind. Heute sind die Steuereinrichtungen in der Regel als speicherprogrammierbare Steuerungen (SPS) ausgebildet, die mit einer durch einen Mikroprozessor der Steuereinrichtung ausführbaren Steuerapplikation programmiert werden können.In automation technology, control devices are used to control machines and systems, which are connected to the respective machine or system via sensors and actuators, whereby the sensors and actuators are usually connected to inputs and outputs of the control device via I / O modules . Today the control devices are usually designed as programmable logic controllers (PLC) which can be programmed with a control application that can be executed by a microprocessor of the control device.
Insbesondere zur Steuerung von sicherheitsrelevanten Prozessen, d.h. von Vorgängen, von denen eine Gefahr für Mensch oder Maschine ausgeht, werden Sicherheitssteuerungen eingesetzt, die vorgegebenen Sicherheitsanforderungen genügen müssen. Zur Fehlerbehebung oder Funktionserweiterung einer Sicherheitssteuerung kann eine Aktualisierung der Firmware in Form eines Updates erforderlich sein. Die Firmware umfasst typischerweise eine Betriebssoftware der Steuereinrichtung, sowie eine auch als Loader bezeichnete Software zum Laden der Betriebssoftware, und kann ferner ein Betriebsprogramm für einen programmierbaren IC, wie beispielsweise einen FPGA (Field-Programmable Gate Array), welcher den Mikroprozessor zur Ausführung der Steuerapplikation bildet, umfassen. Um den an eine Sicherheitssteuerung gestellten Sicherheitsanforderungen zu genügen, kann ein solches Firmware-Update jedoch nicht ohne weiteres vom Benutzer durchgeführt werden. Ein Firmware-Update kann vom Gerätehersteller unter Einhaltung der Sicherheitsanforderungen durchgeführt werden, womit jedoch, insbesondere bei bereits im Feld installierten Steuerungseinrichtungen, ein hoher Logistik- und Kostenaufwand verbunden ist.In particular, to control safety-relevant processes, that is to say of operations that pose a risk to man or machine, safety controls are used which must meet specified safety requirements. A firmware update in the form of an update may be required to correct errors or to expand the functions of a safety controller. The firmware typically includes operating software for the control device, as well as software, also referred to as a loader, for loading the operating software, and can also include an operating program for a programmable IC, such as an FPGA (Field-Programmable Gate Array), which forms the microprocessor for executing the control application. In order to meet the safety requirements placed on a safety controller, such a firmware update cannot be carried out by the user without further ado. A firmware update can be carried out by the device manufacturer in compliance with the safety requirements, which, however, is associated with a high level of logistics and costs, especially in the case of control devices that are already installed in the field.
Aus
Der Erfindung liegt die Aufgabe zugrunde, einen Weg aufzuzeigen, wie ein Verfahren zur Firmware-Aktualisierung einer Steuereinrichtung, insbesondere einer Sicherheitssteuerung, vereinfacht und/oder verbessert werden kann.The invention is based on the object of showing a way in which a method for updating the firmware of a control device, in particular a safety controller, can be simplified and / or improved.
Ein Kerngedanke der Erfindung besteht darin, herstellerseitig eine geräteindividuelle Berechtigungsprüfung für die Durchführung einer Firmware-Aktualisierung durchzuführen und bei erfolgreicher Berechtigungsprüfung einen geräteindividuellen Freischaltcode zur Durchführung der Firmware-Aktualisierung bereitzustellen, wobei zu diesem Zweck herstellerseitig eine Freigabeeinrichtung und nutzerseitig eine mit einer Steuereinrichtung verbindbare Aktualisierungs-Einrichtung vorgesehen sind.A core concept of the invention consists in providing a device-specific authorization check for the implementation of a firmware update by the manufacturer and, if the authorization check is successful, provide a device-specific activation code to carry out the firmware update, for which purpose a release device is provided by the manufacturer and an update device that can be connected to a control device is provided by the user.
Auf diese Weise kann vorteilhaft das Durchführen von Firmware-Updates unter der vollständigen Kontrolle des Herstellers erfolgen, wobei der dafür erforderliche Logistik- und Kostenaufwand erheblich reduziert werden kann, und wobei zudem eine Nachverfolgbarkeit durchgeführter Firmware-Updates geräteindividuell ermöglicht wird. Insbesondere kann ein sicheres Firmware-Update unter Kontrolle und Langzeitarchivierung durch den Hersteller ermöglicht werden.In this way, firmware updates can advantageously be carried out under the complete control of the manufacturer, the logistical and cost outlay required for this being able to be considerably reduced, and in addition, firmware updates that have been carried out can be traced for each device. In particular, a secure firmware update under control and long-term archiving by the manufacturer can be made possible.
Die oben genannte technische Aufgabe wird zum einen durch die Merkmale des Anspruchs 1 gelöst.The technical problem mentioned above is achieved on the one hand by the features of claim 1.
Danach ist ein Verfahren zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung mit wenigstens einem Steuermodul vorgesehen, wobei dem Steuermodul eine in einem Systemspeicher der Steuereinrichtung gespeicherte Firmware zugeordnet ist. Gemäß dem Verfahren wird zunächst eine Firmware-Datei mit einer darin enthaltenen neuen Firmware für das wenigstens eine Steuermodul in einer mit der Steuereinrichtung verbindbaren Aktualisierungs-Einrichtung bereitgestellt. Dies kann auf eine beliebige geeignete Weise erfolgen, beispielsweise durch Aufspielen von einem Datenträger oder durch Internet-Download von einer Webseite des Herstellers der Steuereinrichtung. Die Steuereinrichtung ist insbesondere als Sicherheitssteuerung zur fehlersicheren Steuerung eines sicherheitskritischen Prozesses ausgebildet.According to this, a method for updating the firmware of a control device for process control with at least one control module is provided, wherein the control module is assigned a firmware stored in a system memory of the control device. According to the method, a firmware file with new firmware contained therein for the at least one control module is first provided in an update device that can be connected to the control device. This can be done in any suitable manner, for example by loading from a data carrier or by Internet downloading from a website of the manufacturer of the control device. The control device is designed in particular as a safety control for fail-safe control of a safety-critical process.
Das Verfahren sieht ferner vor, dass die Aktualisierungs-Einrichtung von der Steuereinrichtung erste Gerätedaten abruft, die in der Steuereinrichtung gespeichert sind, in Abhängigkeit dieser ersten Gerätedaten sowie in Abhängigkeit einer die neue Firmware identifizierenden Information eine signierte Geräte-Datei erzeugt, und die signierte Geräte-Datei zu einer zentralen Freigabe-Einrichtung überträgt. Dies kann beispielsweise in Antwort auf eine an der Aktualisierungs-Einrichtung eingegebene Benutzereingabe erfolgen, wobei durch die Benutzereingabe gegebenenfalls auch die neu zu installierende Firmware ausgewählt werden kann. Zum Erzeugen der signierten Geräte-Datei kann insbesondere auf an sich bekannte Weise eine digitale Signatur mit Hilfe eines geheimen Signaturschlüssels erzeugt werden, die es der zentralen Freigabe-Einrichtung ermöglicht, mittels eines zugehörigen Verifikationsschlüssels die Integrität der signierten Geräte-Datei zu prüfen. Im einfachsten Fall umfasst die signierte Geräte-Datei die ersten Gerätedaten und die Information, welche die neue Firmware identifiziert, sowie eine für diese Daten erzeugte digitale Signatur.The method also provides that the update device retrieves first device data from the control device, which is stored in the control device, generates a signed device file as a function of this first device data and as a function of information identifying the new firmware, and generates the signed device -Transfer file to a central release facility. This can take place, for example, in response to a user input entered at the update device, with the user input optionally also being able to select the firmware to be newly installed. To generate the signed device file, a digital signature can be generated in a manner known per se with the aid of a secret signature key, which enables the central release device to check the integrity of the signed device file by means of an associated verification key. In the simplest case, the signed device file includes the first device data and the information that identifies the new firmware, as well as a digital signature generated for this data.
Von der zentralen Freigabeeinrichtung wird die empfangene signierte Geräte-Datei geprüft und nur bei erfolgreicher Prüfung ein Freischaltcode erzeugt und zurück zu der Aktualisierungs-Einrichtung übertragen, wobei der Freischaltcode zweite Gerätedaten und eine einzigartige Identifikationsinformation umfasst. Die einzigartige Identifikationsinformation kann vorteilhaft als GUID (Globally Unique Identifier) bereitgestellt werden und dient der Nachverfolgung durchgeführter Firmware-Updates.The signed device file received is checked by the central release device and an activation code is generated and transmitted back to the update device only if the check is successful, the activation code being second device data and a unique one Includes identification information. The unique identification information can advantageously be provided as a GUID (Globally Unique Identifier) and is used to track firmware updates that have been carried out.
Nach Empfang des Freischaltcodes führt die Aktualisierungs-Einrichtung eine Konsistenzprüfung der ersten Gerätedaten, in Abhängigkeit derer die signierte Geräte-Datei erzeugt wurde, und der im empfangenen Freischaltcode enthaltenen zweiten Gerätedaten durch. Alternativ kann das Verfahren ein erneutes Abrufen der in der Steuereinrichtung gespeicherten ersten Gerätedaten durch die Aktualisierungs-Einrichtung vorsehen, wobei die Aktualisierungs-Einrichtung in diesem Fall eine Konsistenzprüfung der erneut abgerufenen ersten Gerätedaten und der im empfangenen Freischaltcode enthaltenen zweiten Gerätedaten durchführt.After receiving the activation code, the update device carries out a consistency check of the first device data, as a function of which the signed device file was generated, and of the second device data contained in the received activation code. Alternatively, the method can provide for a renewed retrieval of the first device data stored in the control device by the update device, in which case the update device performs a consistency check of the newly retrieved first device data and the second device data contained in the received activation code.
Die Kommunikation zwischen Aktualisierungs-Einrichtung und zentraler Freigabeeinrichtung kann vorzugsweise über eine direkte Kommunikationsverbindung, beispielsweise eine drahtgebundene Internet-Verbindung, erfolgen. Eine Übertragung der Daten zwischen Aktualisierungs-Einrichtung und zentraler Freigabeeinrichtung kann aber auch auf jede andere geeignete Weise, beispielsweise per E-Mail-Datenaustausch oder über ein Funknetz erfolgen. Prinzipiell wäre auch ein Datenaustausch mittels eines separaten Datenträgers denkbar.The communication between the update device and the central release device can preferably take place via a direct communication connection, for example a wired Internet connection. However, the data can also be transmitted between the update device and the central release device in any other suitable manner, for example by e-mail data exchange or via a radio network. In principle, data exchange using a separate data carrier would also be conceivable.
Ein erneutes Abrufen der ersten Gerätedaten kann insbesondere dann vorteilhaft vorgesehen sein, wenn der Datenaustausch offline, d.h. nicht mittels einer bestehenden Kommunikationsverbindung erfolgt, da sich in diesem Fall die ersten Gerätedaten seit dem vorherigen Abrufen geändert haben können.A renewed retrieval of the first device data can in particular be advantageously provided if the data exchange takes place offline, ie not by means of an existing communication connection, since in In this case, the first device data may have changed since the previous retrieval.
Nur bei erfolgreicher Konsistenzprüfung führt die Aktualisierungs-Einrichtung eine Aktualisierung der Firmware der Steuereinrichtung mit der neuen Firmware durch. Zum Durchführen der Firmware-Aktualisierung der Steuereinrichtung sieht das Verfahren vorteilhaft vor, dass die Aktualisierungs-Einrichtung zunächst die neue Firmware als Firmware-Datei zu der Steuereinrichtung überträgt und danach zum Initiieren der Aktualisierung einen geräteindividuellen Aktualisierungs-Befehl zu der Steuereinrichtung überträgt, wobei die Steuereinrichtung unter Ansprechen auf den empfangenen Aktualisierungs-Befehl automatisch die im Systemspeicher gespeicherte Firmware des Steuermoduls mit der in der empfangenen Firmware-Datei enthaltenen Firmware aktualisiert, wobei vorzugsweise die im Systemspeicher gespeicherte Firmware mit der neuen Firmware überschrieben wird. Die von der Aktualisierungs-Einrichtung übertragene Firmware-Datei kann zu diesem Zweck zunächst zwischengespeichert werden, wobei die Zwischenspeicherung beispielsweise in einem Parametrierungsspeicher der Steuereinrichtung erfolgen kann. Der Systemspeicher und/oder der Parametrierungsspeicher sind vorzugsweise als überschreibbarer Speicher, beispielsweise als Flash-Speicher oder als EEPROM ausgebildet.Only if the consistency check is successful does the update device update the firmware of the control device with the new firmware. To carry out the firmware update of the control device, the method advantageously provides that the update device first transmits the new firmware as a firmware file to the control device and then transmits a device-specific update command to the control device to initiate the update, the control device in response to the received update command, the firmware of the control module stored in the system memory is automatically updated with the firmware contained in the received firmware file, the firmware stored in the system memory preferably being overwritten with the new firmware. For this purpose, the firmware file transmitted by the update device can initially be temporarily stored, with the intermediate storage being able to take place, for example, in a parameterization memory of the control device. The system memory and / or the parameterization memory are preferably designed as overwritable memory, for example as a flash memory or as an EEPROM.
Durch den Einsatz eines geräteindividuellen Aktualisierungs-Befehls wird vorteilhaft ein zusätzlicher Clone-Schutz erreicht, d.h. der Update-Vorgang ist nicht beliebig auf weitere Steuerungen, ohne Protokollierung beim Hersteller, übertragbar.The use of a device-specific update command advantageously achieves additional clone protection, ie the update process is not Can be freely transferred to other controls without logging by the manufacturer.
Vorteilhaft umfasst die Firmware-Datei ferner Absicherungsinformationen, wobei die Steuereinrichtung eine Konsistenzprüfung der Absicherungsinformationen ausführt und nur bei erfolgreicher Konsistenzprüfung einen Fortgang der Firmware-Aktualisierung zulässt. Die Absicherungsinformationen können insbesondere einen Prüfwert, beispielsweise in Form eines CRC-Wertes (CRC: Cyclic Redundancy Check), umfassen, mit dessen Hilfe Fehler, die während der Speicherung oder Übertragung der Firmware-Datei aufgetreten sind, erkannt werden können.The firmware file advantageously also includes security information, the control device executing a consistency check of the security information and only allowing the firmware update to proceed if the consistency check is successful. The security information can in particular include a check value, for example in the form of a CRC value (CRC: Cyclic Redundancy Check), with the aid of which errors that have occurred during the storage or transmission of the firmware file can be recognized.
In einer vorteilhaften Ausführungsform kann die Steuereinrichtung mehrere, d.h. wenigstens zwei, Steuermodule umfassen. Vorteilhaft kann für jedes der Steuermodule eine eigene Firmware vorgesehen sein. Dementsprechend kann die Firmware-Datei eine neue Firmware für jedes der wenigstens zwei Steuermodule umfassen. Es kann auch vorgesehen sein, die Firmware der wenigstens zwei Steuermodule separat zu aktualisieren, wobei die Firmware-Datei in diesem Fall nur eine neue Firmware für eines der wenigstens zwei Steuermodule umfasst.In an advantageous embodiment, the control device can have several, i. at least two control modules. A separate firmware can advantageously be provided for each of the control modules. Accordingly, the firmware file can include a new firmware for each of the at least two control modules. Provision can also be made for the firmware of the at least two control modules to be updated separately, the firmware file in this case only comprising new firmware for one of the at least two control modules.
Mit besonderem Vorteil wird die im Freischaltcode enthaltene einzigartige Identifikationsinformation von der Aktualisierungs-Einrichtung zu der Steuereinrichtung übertragen und in der Steuereinrichtung gespeichert. Auf diese Weise wird vorteilhaft eine Nachverfolgbarkeit durchgeführter Firmware-Aktualisierungen auf der Steuereinrichtung ermöglicht.The unique identification information contained in the activation code is particularly advantageously transmitted from the update device to the control device and stored in the control device. In this way, firmware updates carried out on the control device can advantageously be traced.
Besonders vorteilhaft führt die zentrale Freigabe-Einrichtung eine Prüfung auf Update-Berechtigung durch, wobei insbesondere in Abhängigkeit von in der empfangenen signierten Geräte-Datei enthaltenen gerätespezifischen Informationen Freigabeinformationen aus einer Produktlebenszyklusmanagement-Datenbank abgerufen werden.The central release device particularly advantageously checks for update authorization, with release information being retrieved from a product lifecycle management database in particular as a function of the device-specific information contained in the received signed device file.
Zu diesem Zweck werden signifikante gespeicherte Daten bzw. Merkmale aus der Produktlebenszyklusmanagement-Datenbank abgerufen und gegen die empfangene signierte Geräte-Datei geprüft, unter Berücksichtigung gerätespezifischer Merkmale wie Gerätetyp, Hardware-Produktionsstand und/oder der letzten vorhandenen Firmware-Version.For this purpose, significant stored data or features are retrieved from the product lifecycle management database and checked against the signed device file received, taking into account device-specific features such as device type, hardware production status and / or the last available firmware version.
Um die Prüfung auf Update-Berechtigung durch die zentrale Freigabe-Einrichtung und um die Konsistenzprüfung der ersten und zweiten Gerätedaten durch die Aktualisierungs-Einrichtung durchführen zu können, umfassen die ersten und/oder zweiten Gerätedaten vorzugsweise einen Gerätetyp, eine Hardware-Version und/oder eine Seriennummer der Steuereinrichtung und/oder eine Information zu wenigstens einer von der Steuereinrichtung aktuell ausgeführten Firmware.In order to be able to carry out the check for update authorization by the central release device and in order to be able to carry out the consistency check of the first and second device data by the update device, the first and / or second device data preferably include a device type, a hardware version and / or a serial number of the control device and / or information on at least one firmware currently being executed by the control device.
Die Konsistenzprüfung der ersten und zweiten Gerätedaten umfasst insbesondere einen Vergleich jeweils enthaltener Daten, insbesondere einer geräteindividuellen Information wie der Seriennummer, um zu prüfen, ob der empfangene Freischaltcode für die Steuereinrichtung erstellt wurde, für die eine Firmware-Aktualisierung durchgeführt werden soll.The consistency check of the first and second device data includes in particular a comparison of the data contained in each case, in particular device-specific information such as the serial number, in order to check whether the received activation code was created for the control device for which a firmware update is to be carried out.
Um herstellerseitig eine vollständige Nachverfolgbarkeit erfolgreich durchgeführter Firmware-Updates zu ermöglichen, ist besonders vorteilhaft vorgesehen, dass die Aktualisierungs-Einrichtung eine Bestätigungsnachricht zu der zentralen Freigabe-Einrichtung überträgt, wenn die Firmware-Aktualisierung erfolgreich durchgeführt wurde, wobei die zentrale Freigabe-Einrichtung in Antwort auf die empfangene Bestätigungsnachricht die erfolgreiche Durchführung der Firmware-Aktualisierung protokolliert, wobei insbesondere ein die einzigartige Identifikationsinformation umfassender Protokolleintrag in der Produktlebenszyklusmanagement-Datenbank gespeichert wird. Vorteilhaft kann auch eine Historie der erfolgten Firmware-Updates zur Nachweisführung im Sinne eines geforderten Lebenszyklus-Management erstellt werden.In order to enable the manufacturer to fully track firmware updates that have been carried out successfully, it is particularly advantageous for the update device to transmit a confirmation message to the central release device when the firmware update has been carried out successfully, with the central release device in response the successful implementation of the firmware update is logged on the received confirmation message, wherein in particular a log entry comprising the unique identification information is stored in the product lifecycle management database. A history of the firmware updates that have taken place can also advantageously be created for verification purposes in the sense of a required life cycle management.
Zum Übernehmen der Firmware-Aktualisierung muss ein Systemneustart der Steuereinrichtung durchgeführt werden. Dementsprechend erfolgt das Übertragen der Bestätigungsnachricht von der Aktualisierungs-Einrichtung zu der zentralen Freigabe-Einrichtung nach erfolgtem Neustart.To apply the firmware update, the control device must be restarted. The confirmation message is correspondingly transmitted from the update device to the central release device after a restart has taken place.
Bei Neustart der Steuereinrichtung wird vorzugsweise ein Selbsttest der Steuereinrichtung durchgeführt. Ein solcher Selbsttest wird auch als POST (Power-On Self-Test) bezeichnet. Die bei einem POST typischerweise ausgeführten Schritte sind an sich bekannt und werden daher hier nicht näher ausgeführt.When the control device is restarted, a self-test of the control device is preferably carried out. Such a self-test is also known as a POST (Power-On Self-Test). The steps typically performed in a POST are known per se and are therefore not explained in more detail here.
Sofern die Steuereinrichtung mehrere Steuermodule umfasst, ist vorteilhaft vorgesehen, dass die Steuereinrichtung nach Aktualisieren der im Systemspeicher gespeicherten Firmware des wenigstens einen Steuermoduls eine Prüfung der Verträglichkeit der den unterschiedlichen Steuermodulen zugeordneten Firmware durchführt, wobei die Steuereinrichtung bei Erkennen einer Unverträglichkeit in einen sicheren Betriebszustand wechselt. Diese Prüfung kann als Bestandteil des POST vorgesehen sein, wobei die Steuereinrichtung auch bei Erkennen eines anderen Fehlers oder einer anderen Unverträglichkeit in einen sicheren Betriebszustand wechselt.If the control device comprises several control modules, it is advantageously provided that the control device, after updating the firmware of the at least one control module stored in the system memory, performs a compatibility test of the firmware assigned to the different control modules, the control device changing to a safe operating state upon detection of an incompatibility. This check can be provided as part of the POST, the control device changing to a safe operating state even if another error or another incompatibility is detected.
Zur Erhöhung der Sicherheit kann das Verfahren vorteilhaft eine fehlergesicherte und/oder verschlüsselte Datenübertragung vorsehen. Dies betrifft das Übertragen der signierten Geräte-Datei von der Aktualisierungs-Einrichtung zu der zentralen Freigabe-Einrichtung, das Übertragen des Freischaltcodes von der zentralen Freigabe-Einrichtung zu der Aktualisierungs-Einrichtung, das Übertragen des geräteindividuellen Aktualisierungs-Befehls von der Aktualisierungs-Einrichtung zu der Steuereinrichtung und/oder das Übertragen der im Freischaltcode enthaltenen einzigartigen Identifikationsinformation von der Aktualisierungs-Einrichtung zu der Steuereinrichtung.To increase security, the method can advantageously provide for error-proof and / or encrypted data transmission. This relates to the transfer of the signed device file from the update device to the central release device, the transfer of the activation code from the central release device to the update device, the transfer of the device-specific update command from the update device the control device and / or the transmission of the unique identification information contained in the activation code from the update device to the control device.
Die oben genannte technische Aufgabe wird auch durch ein System gemäß Anspruch 12 gelöst.The technical problem mentioned above is also achieved by a system according to claim 12.
Ein erfindungsgemäßes System zur Firmware-Aktualisierung einer Steuereinrichtung umfasst dementsprechend eine Steuereinrichtung zur Prozesssteuerung mit wenigstens einem Steuermodul, wobei dem Steuermodul eine in einem Systemspeicher der Steuereinrichtung gespeicherte Firmware zugeordnet ist, eine mit der Steuereinrichtung verbindbare Aktualisierungs-Einrichtung, und eine zentrale Freigabe-Einrichtung, wobei die Aktualisierungs-Einrichtung dazu ausgebildet ist, in der Steuereinrichtung gespeicherte erste Gerätedaten von der Steuereinrichtung abzurufen, in Abhängigkeit der ersten Gerätedaten und in Abhängigkeit einer eine neue Firmware identifizierenden Information eine signierte Geräte-Datei zu erzeugen, die signierte Geräte-Datei zu der zentralen Freigabe-Einrichtung zu übertragen, von der zentralen Freigabe-Einrichtung in Antwort auf die gesendete signierte Geräte-Datei einen Freischaltcode zu empfangen, eine Konsistenzprüfung der ersten Gerätedaten, in Abhängigkeit derer die signierte Geräte-Datei erzeugt wurde, und im empfangenen Freischaltcode enthaltener zweiter Gerätedaten durchzuführen oder die in der Steuereinrichtung gespeicherten ersten Gerätedaten von der Steuereinrichtung erneut abzurufen und eine Konsistenzprüfung der erneut abgerufenen ersten Gerätedaten und im empfangenen Freischaltcode enthaltener zweiter Gerätedaten durchzuführen, und bei erfolgreicher Konsistenzprüfung eine Aktualisierung der Firmware der Steuereinrichtung mit der neuen Firmware zu bewirken, und wobei die Freigabe-Einrichtung dazu ausgebildet ist, eine von der Aktualisierungs-Einrichtung empfangene signierte Geräte-Datei zu prüfen, bei erfolgreicher Prüfung einen Freischaltcode zu erzeugen, der zweite Gerätedaten und eine einzigartige Identifikationsinformation umfasst, und den Freischaltcode in Antwort auf die empfangene signierte Geräte-Datei zu der Aktualisierungs-Einrichtung zu übertragen.A system according to the invention for updating the firmware of a control device accordingly comprises a control device for process control with at least one Control module, wherein firmware stored in a system memory of the control device is assigned to the control module, an update device that can be connected to the control device, and a central enabling device, the update device being designed to transfer first device data stored in the control device from the control device to generate a signed device file as a function of the first device data and as a function of information identifying new firmware, to transmit the signed device file to the central release device, from the central release device in response to the signed one sent Device file to receive an activation code, a consistency check of the first device data, depending on which the signed device file was generated, and the second device data contained in the received activation code or the first device stored in the control device to retrieve the data from the control device again and to carry out a consistency check of the newly retrieved first device data and of the second device data contained in the received activation code, and if the consistency check is successful, to update the firmware of the control device with the new firmware, and the release device is designed to to check a signed device file received by the update device, to generate an activation code if the check is successful, which includes second device data and unique identification information, and to transmit the activation code to the update device in response to the received signed device file .
Ein wesentlicher Aspekt der Erfindung kann darin gesehen werden, dass eine korrespondierende Nachverfolgbarkeit durchgeführter Firmware-Updates sowohl herstellerseitig als auch auf der jeweiligen Steuereinrichtung ermöglicht wird.An essential aspect of the invention can be seen in the fact that a corresponding traceability of firmware updates carried out is made possible both by the manufacturer and on the respective control device.
Zu diesem Zweck ist die Steuereinrichtung vorteilhaft dazu ausgebildet, die in dem von der Aktualisierungs-Einrichtung empfangenen Freischaltcode enthaltene einzigartige Identifikationsinformation zu speichern. Ferner ist die Aktualisierungs-Einrichtung vorteilhaft dazu ausgebildet, eine Bestätigungsnachricht zu der zentralen Freigabe-Einrichtung zu übertragen, wenn die Firmware-Aktualisierung erfolgreich durchgeführt wurde, und die zentrale Freigabeeinrichtung ist vorteilhaft dazu ausgebildet, in Antwort auf die empfangene Bestätigungsnachricht die erfolgreiche Durchführung der Firmware-Aktualisierung zu protokollieren, wobei insbesondere ein die einzigartige Identifikationsinformation umfassender Protokolleintrag in einer Produktlebenszyklusmanagement-Datenbank gespeichert wird.For this purpose, the control device is advantageously designed to store the unique identification information contained in the activation code received from the update device. Furthermore, the update device is advantageously designed to transmit a confirmation message to the central release device when the firmware update has been carried out successfully, and the central release device is advantageously designed to successfully execute the firmware in response to the received confirmation message -To log updates, in particular a log entry comprising the unique identification information being stored in a product lifecycle management database.
Die Funktionalität der Aktualisierungs-Einrichtung liegt vorzugsweise im Verantwortungsbereich des Geräteherstellers. Besonders vorteilhaft kann vom Gerätehersteller eine Software bereitgestellt werden, im Folgenden auch als Download-Tool bezeichnet, welches der Benutzer auf einem herkömmlichen Computer, welcher eine Kommunikationsschnittstelle zur Kommunikation mit einer Steuereinrichtung aufweist, installieren kann, um so die Aktualisierungs-Einrichtung zu bilden.The functionality of the update device is preferably the responsibility of the device manufacturer. The device manufacturer can particularly advantageously provide software, also referred to below as a download tool, which the user can install on a conventional computer which has a communication interface for communication with a control device in order to form the update device.
Die oben genannte technische Aufgabe wird dementsprechend auch durch ein digitales Speichermedium gemäß Anspruch 14 gelöst.The above-mentioned technical problem is accordingly also achieved by a digital storage medium according to claim 14.
Danach ist ein digitales Speichermedium mit darauf gespeicherten Anweisungen vorgesehen, welche dazu ausgebildet sind, Verfahrensschritte auszuführen, wenn sie auf einem Computer ausgeführt werden, umfassend: a) Abrufen von in einer mit dem Computer verbundenen Steuereinrichtung gespeicherten ersten Gerätedaten, b) Erzeugen einer signierten Geräte-Datei in Abhängigkeit der ersten Gerätedaten und in Abhängigkeit einer Information, welche eine neu bereitgestellte Firmware identifiziert, c) Übertragen der signierten Geräte-Datei zu einer zentralen Freigabe-Einrichtung, d) Empfangen eines Freischaltcodes von der zentralen Freigabe-Einrichtung in Antwort auf die gesendete signierte Geräte-Datei, wobei der Freischaltcode zweite Gerätedaten und eine einzigartige Identifikationsinformation umfasst, e) Durchführen einer Konsistenzprüfung der in Schritt a) abgerufenen ersten Gerätedaten und der im empfangenen Freischaltcode enthaltenen zweiten Gerätedaten, oder erneutes Abrufen der in der Steuereinrichtung gespeicherten ersten Gerätedaten und Durchführen einer Konsistenzprüfung der erneut abgerufenen ersten Gerätedaten und der im empfangenen Freischaltcode enthaltenen zweiten Gerätedaten, und f) Bewirken, nur bei erfolgreicher Konsistenzprüfung, einer Aktualisierung der Firmware der Steuereinrichtung mit der neuen Firmware.According to this, a digital storage medium is provided with instructions stored thereon, which are designed to carry out method steps when they are carried out on a computer, comprising: a) calling up first device data stored in a control device connected to the computer, b) generating a signed device File as a function of the first device data and as a function of information which identifies a newly provided firmware, c) transferring the signed device file to a central release device, d) receiving an activation code from the central release device in response to the sent signed device file, the activation code comprising second device data and unique identification information, e) performing a consistency check of the first device data retrieved in step a) and the second device data contained in the activation code received, or retrieving the data in the control again device stored first device data and performing a consistency check of the retrieved first device data and the second device data contained in the received activation code, and f) effecting, only if the consistency check is successful, an update of the firmware of the control device with the new firmware.
Die Erfindung wird nachfolgend beispielhaft anhand bevorzugter Ausführungsformen und unter Bezugnahme auf die beigefügten Zeichnungen genauer beschrieben. Dabei bezeichnen gleiche Bezugszeichen in den Zeichnungen gleiche oder ähnliche Teile. Es zeigen:
- Fig. 1
- eine schematische Darstellung einer bevorzugten Ausführungsform eines Systems zur Firmware-Aktualisierung,
- Fig. 2
- ein schematisches Ablaufdiagramm einer ersten Phase einer Firmware-Aktualisierung, und
- Fig. 3
- ein schematisches Ablaufdiagramm einer zweiten Phase einer Firmware-Aktualisierung.
- Fig. 1
- a schematic representation of a preferred embodiment of a system for firmware update,
- Fig. 2
- a schematic flow diagram of a first phase of a firmware update, and
- Fig. 3
- a schematic flow diagram of a second phase of a firmware update.
In
Im dargestellten Ausführungsbeispiel umfasst die Steuereinrichtung 100 eine Steuereinheit 110 mit zwei Steuermodulen 112 und 114. Ferner umfasst die Steuerung 100 einen an die Steuereinheit 110 angeschlossenen, internen Systemspeicher 120, auf den von extern jedoch nicht zugegriffen werden kann. Hier ist die Firmware beispielsweise in Form einer zusammengesetzten Datei, einer sogenannten Container-Datei, abgelegt, die beim Systemstart entpackt und in Betrieb genommen wird. Des Weiteren ist in der Steuerung 100 ein Parametrierungsspeicher 130 vorgesehen, der die Konfiguration der Steuerung, das Anwendungsprogramm und gegebenenfalls weitere anwendungsspezifische Daten enthält. Ein Firmware-Update ist beispielsweise möglich, indem über die KommunikationsSchnittstelle 142 der Steuerung 100 ein neuer Firmwarecontainer auf den Parametrierungsspeicher abgelegt wird und dann ein Kommando an die Steuerung 100 eine Prozedur startet, welche die neue Firmware mit diesem Container in Betrieb nimmt.In the exemplary embodiment shown, the
Im dargestellten Ausführungsbeispiel ist die Steuereinrichtung 100 zu diesem Zweck über eine Kommunikationsverbindung 310 mit einem Computer 400 verbindbar, auf welchem ein vom Hersteller der Steuereinrichtung 100 bereitgestelltes Software-Tool, im Folgenden als Download-Tool und in
Die Schnittstelle 142 kann beispielsweise als USB-Schnittstelle oder als Ethernet-Schnittstelle ausgebildet sein.The
Der Computer 400 ist vorzugsweise über das Internet 320 mit einem Hersteller-Server 500 verbunden, wobei der Hersteller-Server 500 eine zentrale Freigabeeinrichtung umfasst. Eine Datenübertragung zwischen dem Download-Tool und der zentralen Freigabeeinrichtung kann statt über das Internet auch auf anderem Weg erfolgen. Im dargestellten Ausführungsbeispiel ist der Hersteller-Server 500 ferner mit einer Produktlebenszyklusmanagement-Datenbank 510, im Folgend e auch kurz PLM-DB, verbunden.The
Nachfolgend wird ein bevorzugter Ablauf einer Firmware-Aktualisierung skizziert.
- Durch das Download-Tool werden
von der Sicherheitssteuerung 100 Gerätedaten abgefragt, die den Typ, die Seriennummer und Angaben zum aktuellen Hardware- und Firmware-Stand enthalten. - Durch das Download-Tool wird die Version der zu aktualisierenden Firmware ergänzt, gegen Verfälschung und Manipulation gesichert und als Gerätesignatur-File gespeichert.
- Das Gerätesignatur-File wird über E-Mail oder vorteilhafterweise über direkte Internet-Kommunikation an den Hersteller-
Server 500 übermittelt. - Beim Hersteller wird die Berechtigung für das Update geprüft, wobei dies vorteilhafterweise über einen auf dem Hersteller-
Server 500 ablaufenden, als Freischaltgenerator ausgebildeten Server-Dienst erfolgt. - Zur Prüfung der Berechtigung wird beim Hersteller die PLM-
DB 510 abgefragt und die Konsistenz und Plausibilität der übermittelten Daten geprüft sowie die in der PLM-DB 510 enthaltene HW-Version auf eine Berechtigung für ein Update herangezogen. - Sofern eine Update-Berechtigung vorliegt, wird ein abgesicherter gerätespezifischer Freischaltcode in Form einer Datei generiert, wobei diese einen einzigartigen Code enthält, der zur Nachverfolgbarkeit dient.
- Der Freischaltcode enthält Daten zum Gerätetyp, der Seriennummer, der Hardware-Version und einen Code zur Nachverfolgbarkeit.
- Der Freischaltcode ist gegen Verfälschung und Manipulation gesichert und wird über E-Mail oder vorzugsweise direkte Internet-Kommunikation an den Anwender des Download-Tools übermittelt
- Das Download-Tool liest einerseits die Firmware-Update-Datei in Form eines sicheren Firmware-Containers mit enthaltener Geräte- und Versionskennung ein, als auch den vom Hersteller generierten Freischaltcode.
- Das Download-Tool überprüft die Konsistenz der Daten
von der Steuereinrichtung 100 mit den Daten im Freischaltcode und gibt den Download des sicheren Firmware-Containers auf dieSteuereinrichtung 100 frei oder sperrt ihn. - Nach erfolgtem Transfer der Firmware-Update-Datei auf die
Steuereinrichtung 100 und einer Konsistenzprüfung auf derSteuereinrichtung 100 wird die Programmierung inklusive einer Gegenprüfung auf derSteuereinrichtung 100 ausgeführt. - Zur Einleitung der Programmierung wird ein abgesichertes Programmierkommando verwendet.
- Sofern die Übertragung des Firmware-Containers oder dessen Programmierung nicht korrekt verlief, wird der Anwender informiert und das Gerät verbleibt im eigensicheren Zustand.
- In diesem Zustand ist eine erneute Programmierung notwendig und möglich.
- Der Anwender der Steuerung erhält eine Firmware-Update-Datei zugeschickt oder kann sich diese alternativ vom Hersteller über das Internet laden; dies bedeutet, dass die Firmware-Update-Datei nicht personalisiert ist.
- Die Firmware-Update-Datei ist eine sichere Container-Datei, die vom Hersteller generiert und durch einen Kopfdatensatz, auch als Header bezeichnet, zusätzlich gegen Datenverfälschung oder Daten-Manipulation gesichert wird.
- Die Firmware-Update-Datei enthält Firmware-Komponenten für beide Steuermodule der sicheren Steuerung 100 und gegebenenfalls weitere Komponenten, vorteilhaft zum Beispiel FPGA-Konfiguration und Firmware-Loader, die gemeinsam einen Freigabeprozess nach IEC 61508 durchlaufen haben und zertifiziert sind.
- Der Anwender startet das Download-Tool, liest die Firmware-Update-Datei und verbindet sich
mit der Steuereinrichtung 100. - Das Download-Tool generiert aus den
Daten der Steuereinrichtung 100 und der Firmware-Update-Datei eine Signatur-Datei, in der Update-relevante Daten enthalten sind, wie zum Beispiel Seriennummer, Hardware-Version, vorhandene Firmware-Version und neue Firmware-Version. - Die Signatur-Datei wird dem Hersteller übermittelt, zum Beispiel per E-Mail oder direkte Internet-Kommunikation.
- Der Hersteller generiert nach Prüfung der Update-Fähigkeit einen Freischaltcode in Form einer abgesicherten Datei und übermittelt diese dem Anwender, zum Beispiel per E-Mail oder vorteilhafterweise per direkter Internet-Kommunikation.
- Der Anwender liest den Freischaltcode zusammen mit der Firmware-Update-Datei in das Download-Tool ein und das Download-Tool prüft die Konsistenz des Freischaltcodes.
- Bei positiver Prüfung wird die Firmware-Update-Datei als sicherer Container auf die
angeschlossene Steuereinrichtung 100 transferiert und dort auf Konsistenz des Containers geprüft, wobei insbesondere eine Prüfung des Headers erfolgt. - Danach erfolgt die Programmierung in
den Systemspeicher 120 und ein weiteres Rücklesen. - Das Ergebnis des Transfers, der Programmierung und der Überprüfungen werden vom Download-Tool für den Anwender angezeigt und ein Update-Protokoll generiert.
- Nach der kompletten Programmierung muss das Gerät neu gestartet werden.
- Beim Anlauf der programmierten Firmware findet eine weitere Konsistenzprüfung statt, dabei überprüft der Firmware-Loader die Prüfsumme der zu ladenden Firmware.
- Nach dem Start der beiden diversitären Firmware-Komponenten erfolgt eine Prüfung, ob die FW-Versionen zueinander passen.
- The download tool requests device data from the
safety controller 100 that contain the type, serial number and information on the current hardware and firmware version. - The version of the firmware to be updated is supplemented by the download tool, secured against falsification and manipulation and saved as a device signature file.
- The device signature file is transmitted to the
manufacturer server 500 via e-mail or advantageously via direct Internet communication. - The authorization for the update is checked at the manufacturer, this advantageously taking place via a server service that runs on the
manufacturer server 500 and is designed as an activation generator. - To check the authorization, the PLM-
DB 510 is queried from the manufacturer and the consistency and plausibility of the transmitted data is checked and the HW version contained in the PLM-DB 510 is used for authorization for an update. - If there is an update authorization, a secured device-specific activation code is generated in the form of a file, which contains a unique code that is used for traceability.
- The activation code contains data on the device type, serial number, hardware version and a code for traceability.
- The activation code is secured against falsification and manipulation and is transmitted to the user of the download tool via e-mail or preferably direct Internet communication
- On the one hand, the download tool reads in the firmware update file in the form of a secure firmware container with the device and version identification it contains, as well as the activation code generated by the manufacturer.
- The download tool checks the consistency of the data from the
control device 100 with the data in the activation code and enables or disables the download of the secure firmware container to thecontrol device 100. - After the firmware update file has been transferred to the
control device 100 and a consistency check has been carried out on thecontrol device 100, the programming including a counter check is carried out on thecontrol device 100. - A secured programming command is used to initiate programming.
- If the transfer of the firmware container or its programming did not proceed correctly, the user is informed and the device remains in the intrinsically safe state.
- In this state a new programming is necessary and possible.
- The user of the control receives a firmware update file or can alternatively download it from the manufacturer via the Internet; this means that the firmware update file is not personalized.
- The firmware update file is a secure container file that is generated by the manufacturer and is additionally protected against data corruption or data manipulation by a header data record, also known as a header.
- The firmware update file contains firmware components for both control modules of the
safe controller 100 and possibly further components, advantageously for example FPGA configuration and firmware loader, which have jointly gone through an approval process according to IEC 61508 and are certified. - The user starts the download tool, reads the firmware update file and connects to the
control device 100. - The download tool generates a signature file from the data of the
control device 100 and the firmware update file, which contains update-relevant data, such as serial number, hardware version, existing firmware version and new firmware version . - The signature file is sent to the manufacturer, for example by e-mail or direct Internet communication.
- After checking the update capability, the manufacturer generates an activation code in the form of a secured file and transmits this to the user, for example by e-mail or advantageously by direct Internet communication.
- The user reads the activation code together with the firmware update file into the download tool and the download tool checks the consistency of the activation code.
- If the check is positive, the firmware update file is transferred as a secure container to the
connected control device 100 and there the consistency of the container checked, the header being checked in particular. - This is followed by programming in the
system memory 120 and a further reading back. - The result of the transfer, the programming and the checks are displayed by the download tool for the user and an update log is generated.
- After the complete programming, the device must be restarted.
- When the programmed firmware is started up, another consistency check takes place; the firmware loader checks the checksum of the firmware to be loaded.
- After the two diverse firmware components have started, a check is made to determine whether the firmware versions match.
Ein bevorzugter Ablauf einer Firmware-Aktualisierung ist nochmals im Detail als Ablaufdiagramm in den
Die in
In Schritt 600 wird die Firmware-Datei durch das Download-Tool auf der Aktualisierungs-Einrichtung 400 vom lokalen Dateisystem gelesen. In Schritt 605 wird die Steuereinrichtung 100 durch eine Datenabfrage identifiziert, wobei zu diesem Zweck die Aktualisierungs-Einrichtung 400 eine entsprechende Anfrage 607 zu der Steuereinrichtung 100 überträgt, die in Antwort auf diese Anfrage in Schritt 610 das Senden von ersten Gerätedaten bewirkt, die in Schritt 612 zur Aktualisierungs-Einrichtung 400 übertragen werden. Im dargestellten Ausführungsbeispiel ist vorgesehen, dass die von der Steuereinrichtung 100 empfangenen Gerätedaten in Schritt 615 dem Anwender angezeigt werden. Die Gerätedaten werden mit den Headerdaten der Firmware-Update-Datei abgesichert zum Hersteller übertragen, wobei zu diesem Zweck in Schritt 620 eine entsprechende Signatur-Datei erzeugt und in Schritt 625 zum Hersteller-Server 500 gesendet wird. Die in Schritt 627 zum Hersteller-Server 500 übertragene Signatur-Datei wird in Schritt 630 von einer im Hersteller-Server 500 enthaltenen Freigabeeinrichtung geprüft. Zur Berechtigungsprüfung nimmt der Hersteller-Server 500 einen Abgleich mit der PLM-DB 510 vor. Bei erfolgreicher Berechtigungsprüfung generiert der Hersteller-Server 500 in Schritt 635 einen abgesicherten Freischaltcode, beispielsweise in Form einer Aktivierungsdatei, welche eine Sicherung und einen einzigartigen Code als Nachverfolgungs-ID umfasst. In Schritt 640 sendet der Hersteller-Server 500 den Freischaltcode zur Aktualisierungs-Einrichtung 400. Der in Schritt 642 übertragene Freischaltcode wird von der Aktualisierungs-Einrichtung 400 empfangen und in Antwort auf den Empfang des in Schritt 642 übertragenen Freischaltcodes führt die Aktualisierungs-Einrichtung 400 im dargestellten Ausführungsbeispiel in Schritt 645 erneut eine Abfrage der ersten Gerätedaten von der Steuereinrichtung 100 durch, wobei zu diesem Zweck die Aktualisierungs-Einrichtung 400 eine entsprechende Anfrage 647 zu der Steuereinrichtung 100 überträgt, die in Antwort auf diese Anfrage in Schritt 650 das Senden von ersten Gerätedaten bewirkt, die in Schritt 652 zur Aktualisierungs-Einrichtung 400 übertragen werden. Das auf der Aktualisierungs-Einrichtung 400 ablaufende Download-Tool überprüft in Schritt 655 die Konsistenz von Gerät und Freischaltcode und nimmt bei erfolgreicher Konsistenzprüfung in Schritt 660 den Datentransfer vor. Zu diesem Zweck wird in Schritt 662 die Firmware-Update-Datei zu der Steuereinrichtung 100 übertragen und dort in Schritt 665 zunächst zwischengespeichert. Zur Zwischenspeicherung kann der Parametrierungsspeicher 130 oder ein anderer geeigneter, auch flüchtiger, Speicher verwendet werden. In Schritt 667 wird eine Bestätigung der Speicherung zur Aktualisierungs-Einrichtung 400 übertragen. In Schritt 670 erfolgt eine Konsistenzprüfung der Firmware-Update-Datei auf formale Korrektheit, wobei das Ergebnis der Prüfung in Schritt 672 zur Aktualisierungs-Einrichtung 400 übertragen wird. Bei erfolgreicher Konsistenzprüfung sendet die Aktualisierungs-Einrichtung 400 daraufhin in Schritt 675 einen geräteindividuellen Update-Befehl zur Steuereinrichtung 100, wobei vorzugsweise das Ergebnis der Konsistenzprüfung dem Anwender angezeigt wird und dieser die Ausführung des Updates, d.h. die Programmierung bzw. das Überschreiben des Systemspeichers 120 mit der neuen Firmware, zusätzlich durch eine Eingabe bestätigt. In Antwort auf den Empfang des in Schritt 677 übertragenen Update-Befehls führt die Steuereinrichtung 100 in Schritt 680 das Firmware-Update aus und speichert die einzigartige Nachverfolgungs-ID. In Schritt 682 überträgt die Steuereinrichtung 100 zur Aktualisierungs-Einrichtung 400 die Information, ob das Update, d.h. das Überschreiben des Systemspeichers, erfolgreich durchgeführt wurde, wobei das Update-Ergebnis in Schritt 685 dem Anwender angezeigt wird. Nach erfolgtem Firmware-Update geht die Steuereinrichtung 100 in Schritt 690 in einen Wartezustand auf Reset, d.h. auf einen Neustart der Steuereinrichtung 100, wobei auch eine automatische Durchführung eines Resets vorgesehen sein kann.In
Die in
Nach Durchführen eines Neustarts der Steuereinrichtung 100 führt diese in Schritt 700 zunächst einen Selbsttest durch, wobei insbesondere auch die Paket-Verträglichkeit der den Steuermodulen 112 und 114 jeweils zugeordneten Firmware geprüft wird, wobei diese als diversitäre Firmware-Komponenten vorliegen können.After the
Wird in Schritt 705 ein Fehler bei Durchführen des Selbsttests erkannt, nimmt die Steuereinrichtung 100 in Schritt 710 einen sicheren Zustand ein. Die für die Erreichung eines sicheren Zustands erforderlichen Maßnahmen sind an sich bekannt und werden daher hier nicht näher erläutert.If an error is detected in
Wird kein Fehler erkannt, geht die Steuereinrichtung 100 in Schritt 720 in den Normalbetrieb über. Das Download-Tool in der Aktualisierungs-Einrichtung 400 baut in Schritt 725 eine Verbindung zu der Steuereinrichtung 100 auf, wobei zu diesem vorzugsweise zyklisch wiederholt Verbindungsanfragen 727 zu der Steuereinrichtung 100 übertragen werden, bis die Steuereinrichtung 100 in Schritt 730 reagiert und die Verbindungsanfrage 727 in Schritt 732 beantwortet.If no error is detected, the
In Schritt 735 fragt das Download-Tool die aktualisierten Gerätedaten ab, wobei zu diesem Zweck die Aktualisierungs-Einrichtung 400 eine entsprechende Anfrage 737 zu der Steuereinrichtung 100 überträgt, die in Antwort auf diese Anfrage in Schritt 740 das Senden von Gerätedaten bewirkt, die in Schritt 742 zur Aktualisierungs-Einrichtung 400 übertragen werden. In Schritt 745 zeigt das Download-Tool die abgefragten Gerätedaten für den Bediener an, gegebenenfalls mit Fehlermeldung. Eine Bestätigung des Updates wird in Schritt 750 abgesichert zum Hersteller-Server 500 übertragen. In Antwort auf die in Schritt 752 übertragene Update-Bestätigung protokolliert bzw. speichert der Hersteller-Server 500 in Schritt 755 die Bestätigung in der PLM-DB 510. Eine Bestätigung der erfolgten Protokollierung wird in Schritt 757 zur Aktualisierungs-Einrichtung 400 übertragen und der Anwender wird in Schritt 760 über eine entsprechende Anzeige vom Abschluss des Vorgangs informiert.In
In der nachfolgenden Tabelle ist beispielhaft die Struktur einer Firmware-Update-Datei, d.h. des sicheren Firmware-Containers dargestellt:
Es sei angemerkt, dass bei dem in der Tabelle dargestellten Beispiel die zu aktualisierende Firmware, auch als Firmware-Image bezeichnet, eine Betriebssoftware, eine zum Laden einer Betriebssoftware eingesetzte und als Loader bezeichnete Software, als auch ein zur Programmierung eines als FPGA (Field-Programmable Gate Array) ausgebildeten Prozessors eingesetztes FPGA-Programm umfassen kann.It should be noted that in the example shown in the table, the firmware to be updated, also referred to as firmware image, operating software, software used to load operating software and called a loader, as well as software for programming an FPGA (Field- Programmable gate array) trained processor can include FPGA program used.
Durch das beschriebene Verfahren wird vorteilhaft eine verteilte Vergleichs- und Freigabeeinrichtung außerhalb der Sicherheitssteuerung bereitgestellt. Damit wird ein abgesichertes Zustimmprinzip umgesetzt, wobei die Zustimmung bzw. der Vergleich und die Verantwortung zuerst beim Hersteller liegt, die Freigabe der Programmierung obliegt dem Download-Tool bzw. in letzter Instanz dem Bediener. Das Download-Tool liegt seinerseits in der Verantwortung des Herstellers. Eine Verschlüsselung der Firmware-Update-Datei ist vorteilhaft, aber an sich nicht zwingend erforderlich, da alle Schritte vorzugsweise durch ein vertrauliches Prüfsummenverfahren abgesichert sind. Durch die Umsetzung der wichtigen Vergleichs- und Freigabeschritte außerhalb der Firmware ist der eingesetzte Algorithmus besonders vorteilhaft bei Bedarf leicht anpassbar, ohne dass Änderungen der Firmware erfolgen müssen. Das Verfahren kann nach der ersten Abfrage der Gerätedaten prinzipiell unterbrochen werden, läuft aber vorteilhafterweise online nacheinander ab. Die Programmierung obliegt der Zustimmung durch den Bediener und wird durch ein abgesichertes Programmierkommando eingeleitet. Der einzigartige Code, der Bestandteil der Freischaltung ist und beim Hersteller generiert wurde, wird in der PLM-Datenbank 510 und nichtflüchtig auf der Steuereinrichtung 100 gespeichert, wobei dieser vorzugsweise Bestandteil des Programmierkommandos ist. Über diesen Code ist nachverfolgbar, über welche Freischaltung das Firmware-Update erfolgte, wobei der Code beim Hersteller und im Gerät gespeichert ist, wodurch eine doppelte Nachweiskette erreicht wird. Der einzigartige Code wird vorteilhaft über einen GUID (Globally Unique Identifier) realisiert. Ferner werden mögliche Abbrüche der Kommunikation durch Timeouts überwacht und ebenfalls beim Hersteller protokolliert, wobei vorteilhaft abgebrochene Updates zwischen der PLM-DB 510 und dem Anwender abgeglichen werden, wobei die dafür notwendigen Informationen vorliegen.The method described advantageously provides a distributed comparison and release device outside the safety controller. This implements a secured consent principle, whereby the consent or the comparison and the responsibility lies first with the manufacturer, the release of the programming is the responsibility of the download tool or, in the last instance, the Operator. The download tool itself is the responsibility of the manufacturer. Encryption of the firmware update file is advantageous, but not absolutely necessary, since all steps are preferably secured by a confidential checksum method. By implementing the important comparison and approval steps outside of the firmware, the algorithm used can be easily adapted, particularly advantageously, if necessary, without having to make changes to the firmware. The method can in principle be interrupted after the first query of the device data, but it is advantageous to run one after the other online. The programming is subject to the approval of the operator and is initiated by a secured programming command. The unique code, which is part of the activation and was generated by the manufacturer, is stored in the
Claims (14)
- A method for updating firmware of a control device (100) for process control which comprises at least one control module (112, 114), wherein the control module (112, 114) has associated therewith firmware stored in a system memory (120) of the control device (100), the method comprising the steps of:a) providing a firmware file with a new firmware contained therein for the at least one control module in an updating device (400) that is connectable to the control device (100);b) retrieving, by the updating device (400), first device data stored in the control device (100);c) generating, by the updating device (400), a signed device file depending on the first device data and depending on an information item identifying the new firmware;d) transmitting the signed device file from the updating device (400) to a central enabling device (500);e) checking the received signed device file by the central enabling device (500);f) generating an activation code, by the central enabling device (500), and transmitting the activation code from the central enabling device (500) to the updating device (400) only if the check of the received signed device file by the central enabling device (500) is successful, wherein the activation code comprises second device data and a unique identification information item;g) performing a consistency check on the first device data retrieved in step b) and on the second device data contained in the received activation code, by the updating device (400); or
again retrieving the first device data stored in the control device (100), by the updating device (400), and performing a consistency check on the again retrieved first device data and on the second device data contained in the received activation code, by the updating device (400); andh) only if the consistency check is successful, performing an update of the firmware of the control device (100) using the new firmware, by the updating device (400). - The method as claimed in claim 1, wherein the performing of an update of the firmware of the control device (100) comprises the steps of:- transferring the new firmware from the updating device (400) to the control device (100) in the form of a firmware file;- transmitting a device-specific update command from the updating device (400) to the control device (100); and- in response to the received update command, updating the firmware of the control module (112, 114) stored in the system memory (120) with the firmware contained in the received firmware file.
- The method as claimed in any one of the preceding claims, wherein the firmware file comprises protection information, and wherein the control device (100) performs a consistency check on the protection information and only allows the firmware update to continue if the consistency check is successful.
- The method as claimed in any one of the preceding claims, wherein the firmware file includes a new firmware for at least two control modules (112, 114).
- The method as claimed in any one of the preceding claims, wherein the unique identification information item contained in the activation code is transmitted from the updating device (400) to the control device (100) and is stored in the control device (100).
- The method as claimed in any one of the preceding claims, wherein the first and/or second device data include a device type, a hardware version, and/or a serial number of the control device, and/or information about at least one firmware currently executed on the control device.
- The method as claimed in any one of the preceding claims, wherein an update authorization check is performed by the central enabling device (500), by retrieving authorization information from a product life cycle management database (510) on the basis of device-specific information contained in the received signed device file.
- The method as claimed in any one of the preceding claims, wherein, once the firmware update has been successfully performed, the updating device (400) transmits an acknowledgment message to the central enabling device (500), wherein in response to the received acknowledgment message the central enabling device logs successful completion of the firmware update, in particular by storing a log entry containing the unique identification information item in the product life cycle management database (510).
- The method as claimed in any one of the preceding claims, wherein, once the firmware of the at least one control module (112, 114) stored in the system memory (120) has been updated, the control device (100) performs a check for compatibility of the firmware associated with different control modules, and if an incompatibility is detected, the control device (100) changes into a safe operating state.
- The method as claimed in any one of the preceding claims, wherein the control device (100) is configured as a safety control device for failsafe control of a safety-critical process.
- The method as claimed in any one of the preceding claims, wherein- the transmitting of the signed device file from the updating device (400) to a central enabling device (500), and/or- the transmitting of the activation code from the central enabling device (500) to the updating device (400), and/or- the transmitting of the device-specific updating command from the updating device (400) to the control device (100), and/or- the transmitting of the unique identification information item contained in the activation code from the updating device (400) to the control device (100) is performed in failsafe and/or encrypted manner.
- A system (10) for updating firmware of a control device (100), comprising:- a control device (100) for process control comprising at least one control module (112, 114), wherein the control module (112, 114) has associated therewith a firmware stored in a system memory (120) of the control device (100);- an updating device (400) connectable to the control device (100); and- a central enabling device (500);wherein the updating device (400) is adapted:a) to retrieve, from the control device (100), first device data stored in the control device (100);b) to generate a signed device file depending on the first device data and depending on an information item identifying a new firmware;c) to transmit the signed device file to the central enabling device (500);d) to receive an activation code from the central enabling device (500) in response to the transmitted signed device file;e) to perform a consistency check on the first device data retrieved in step a) and on second device data contained in the received activation code, or to again retrieve the first device data stored in the control device (100) from the control device (100) and to perform a consistency check on the again retrieved first device data and on second device data contained in the received activation code; andf) if the consistency check is successful, to effect update of the firmware of the control device (100) using the new firmware;and wherein the enabling device (500) is adapted:a) to check a signed device file received from the updating device (400);b) if the check is successful, to generate an activation code comprising second device data and a unique identification information item; andc) to transmit the activation code to the updating device (400) in response to the received signed device file.
- The system as claimed in claim 12, wherein- the control device is adapted to store the unique identification information item contained in the activation code received from the updating device (400) ;- the updating device (400) is adapted to transmit an acknowledgment message to the central enabling device (500) when the firmware updating has been performed successfully; and- the central enabling device is adapted, in response to the received acknowledgment message, to log successful completion of the firmware update, in particular by storing a log entry containing the unique identification information item in the product life cycle management database (510).
- A digital storage medium with instructions stored thereon, which when executed on a computer (400) are adapted to perform the following method steps:a) retrieving first device data stored in a control device (100) connected to the computer (400);b) generating a signed device file depending on the first device data and depending on information identifying a newly provided firmware;c) transmitting the signed device file to a central enabling device (500);d) receiving an activation code from the central enabling device (500) in response to the transmitted signed device file, the activation code comprising second device data and a unique identification information item;e) performing a consistency check on the first device data retrieved in step a) and on the second device data contained in the received activation code, or again retrieving the first device data stored in the control device and performing a consistency check on the again retrieved first device data and the second device data contained in the received activation code; andf) only if the consistency check is successful, effecting update of the firmware of the control device (100) using the new firmware.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102015112040.2A DE102015112040A1 (en) | 2015-07-23 | 2015-07-23 | Method and system for firmware update of a process control device |
| PCT/EP2016/067214 WO2017013134A1 (en) | 2015-07-23 | 2016-07-19 | Method and system for firmware-updating a control device for process control |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP3326101A1 EP3326101A1 (en) | 2018-05-30 |
| EP3326101B1 true EP3326101B1 (en) | 2020-10-21 |
Family
ID=56683890
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP16750636.9A Active EP3326101B1 (en) | 2015-07-23 | 2016-07-19 | Method and system for firmware-updating a control device for process control |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11429720B2 (en) |
| EP (1) | EP3326101B1 (en) |
| CN (1) | CN107924443B (en) |
| DE (1) | DE102015112040A1 (en) |
| WO (1) | WO2017013134A1 (en) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102017215044B4 (en) * | 2017-08-29 | 2023-11-16 | Lenze Se | Method for changing to a firmware version on an electrical control unit for a drive system, electrical control unit and drive system |
| US11099831B2 (en) * | 2018-02-08 | 2021-08-24 | Micron Technology, Inc. | Firmware update in a storage backed memory system |
| DE102018003745A1 (en) | 2018-05-07 | 2019-11-07 | Senvion Gmbh | Method for operating a wind turbine, wind turbine and computer program product |
| JP6557760B1 (en) * | 2018-06-19 | 2019-08-07 | Jig−Saw株式会社 | Device control method, control device and system |
| CN110737448B (en) * | 2018-09-05 | 2023-08-11 | 杭州瑞彼加医疗科技有限公司 | Firmware encryption system comprising microcontroller and firmware protection and upgrading method thereof |
| US11100228B2 (en) * | 2018-10-25 | 2021-08-24 | Dell Products, L.P. | System and method to recover FPGA firmware over a sideband interface |
| WO2020128639A1 (en) * | 2018-12-19 | 2020-06-25 | Telit Communications S.P.A. | Systems and methods for managing a trusted application in a computer chip module |
| BE1027055B1 (en) | 2019-02-18 | 2020-09-14 | Phoenix Contact Gmbh & Co | System and method for transferring an operating software update to a safety-related device |
| CN111614946A (en) * | 2019-02-26 | 2020-09-01 | 中强光电股份有限公司 | Projector and projector firmware update method |
| EP3734382A1 (en) * | 2019-05-03 | 2020-11-04 | AB Sandvik Coromant | Method for establishing communication in a machine tool system and a communication apparatus therefor |
| US11165777B2 (en) | 2019-05-30 | 2021-11-02 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
| US11153315B2 (en) | 2019-05-30 | 2021-10-19 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
| US11138328B2 (en) | 2019-05-30 | 2021-10-05 | Bank Of America Corporation | Controlling access to secure information resources using rotational datasets and dynamically configurable data containers |
| JP7008661B2 (en) * | 2019-05-31 | 2022-01-25 | 本田技研工業株式会社 | Authentication system |
| US10845787B1 (en) * | 2019-07-17 | 2020-11-24 | Rockwell Automation Technologies, Inc. | Concurrent updating for linear topologies in an industrial automation environment |
| US12135010B2 (en) | 2019-08-02 | 2024-11-05 | Vestas Wind Systems A/S | Providing safety configuration parameters for a wind turbine |
| DE102019122155A1 (en) * | 2019-08-19 | 2021-02-25 | Phoenix Contact Gmbh & Co. Kg | Network capable device |
| JP7207252B2 (en) * | 2019-10-10 | 2023-01-18 | トヨタ自動車株式会社 | converter |
| CN110989546A (en) * | 2019-10-18 | 2020-04-10 | 浙江合众新能源汽车有限公司 | Vehicle software data management method |
| CN113110852B (en) * | 2020-01-10 | 2024-11-08 | 北京小米移动软件有限公司 | Firmware upgrade method, device and storage medium |
| US12032951B2 (en) | 2020-06-19 | 2024-07-09 | Apple Inc. | Techniques for firmware updates with accessories |
| US11275576B2 (en) * | 2020-06-19 | 2022-03-15 | Apple Inc. | Techniques for firmware updates with accessories |
| TWI766608B (en) | 2021-03-10 | 2022-06-01 | 新加坡商捷普電子(新加坡)公司 | Program signing method |
| US11474807B1 (en) * | 2021-03-31 | 2022-10-18 | American Megatrends International, Llc | Firmware update method and computer program product for updating firmware |
| JP7563281B2 (en) * | 2021-04-12 | 2024-10-08 | オムロン株式会社 | Control device, control system, management method and program |
| CN113986308B (en) * | 2021-11-25 | 2024-12-06 | 北京广利核系统工程有限公司 | A method and system for online firmware upgrade |
| CN114595460B (en) * | 2022-01-11 | 2025-05-13 | 瑞芯微电子股份有限公司 | Signature firmware verification method, device and computer readable medium |
| LU501705B1 (en) | 2022-03-24 | 2023-09-25 | Phoenix Contact Gmbh & Co | Management and update system for automation devices of an automation system connected to an OT network |
| DE102022106975A1 (en) | 2022-03-24 | 2023-09-28 | Phoenix Contact Gmbh & Co. Kg | Management and update system for automation devices of an automation system connected to an OT network |
| EP4685588A1 (en) * | 2024-07-25 | 2026-01-28 | ABB Schweiz AG | Method for operating a safety controller - toolchain |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0790554A1 (en) | 1996-02-16 | 1997-08-20 | Siemens Aktiengesellschaft | Method and circuit to control a firmware loading process |
| US7809138B2 (en) * | 1999-03-16 | 2010-10-05 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
| US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
| US20070169073A1 (en) * | 2002-04-12 | 2007-07-19 | O'neill Patrick | Update package generation and distribution network |
| DE10234304A1 (en) | 2002-07-26 | 2004-02-19 | Endress + Hauser Gmbh + Co. Kg | Process for updating device descriptions for field devices in process automation technology |
| DE10240584A1 (en) | 2002-08-28 | 2004-03-11 | Pilz Gmbh & Co. | Safety control system for fault protected operation of critical process such as occurs in machine system operation |
| JP2004157753A (en) | 2002-11-06 | 2004-06-03 | Mitsubishi Electric Corp | Firmware download system |
| DE10350993A1 (en) | 2003-10-30 | 2005-05-25 | Siemens Ag | Firmware authentication method, especially for an automation system, whereby a specific compression element is generated in the form of a single- use hash value that is inserted in the firmware as a digital fingerprint |
| KR100604828B1 (en) | 2004-01-09 | 2006-07-28 | 삼성전자주식회사 | Firmware encryption method and decryption method and processing apparatus thereof |
| US7233830B1 (en) * | 2005-05-31 | 2007-06-19 | Rockwell Automation Technologies, Inc. | Application and service management for industrial control devices |
| US7770165B2 (en) | 2006-08-25 | 2010-08-03 | Microsoft Corporation | Providing firmware updates to portable media devices |
| US8151493B2 (en) * | 2006-08-31 | 2012-04-10 | Mibar Products, Ltd. | Plow system for non-highway vehicles |
| JP2008152551A (en) * | 2006-12-18 | 2008-07-03 | Fanuc Ltd | Software option setting system and setting method |
| KR20080090939A (en) | 2007-04-06 | 2008-10-09 | 삼성전자주식회사 | How to create firmware update file, update method using firmware update file and device |
| CN100458699C (en) * | 2007-04-10 | 2009-02-04 | 北京中星微电子有限公司 | Method and system for updating fastener |
| US20080295087A1 (en) | 2007-05-25 | 2008-11-27 | Samsung Electronics Co., Ltd. | Firmware upgrade system and control method thereof |
| US8601170B1 (en) * | 2009-09-08 | 2013-12-03 | Amazon Technologies, Inc. | Managing firmware update attempts |
| DE102010016257A1 (en) | 2010-03-31 | 2011-10-06 | Softing Ag | Method for updating firmware of field programmable gate array utilized in e.g. programmable logical circuit for controlling industrial process, involves rejecting data file in dependent upon result of identifier verification |
| CN102339227A (en) * | 2010-07-28 | 2012-02-01 | 环旭电子股份有限公司 | Multi-firmware embedded system and firmware update method thereof |
| US8713559B2 (en) | 2010-11-15 | 2014-04-29 | Schneider Electric It Corporation | System and method for updating firmware |
| CN102750155A (en) | 2011-04-19 | 2012-10-24 | 鸿富锦精密工业(深圳)有限公司 | Control board for updating firmware as well as firmware updating system and method |
| DE102012220767A1 (en) | 2012-11-14 | 2014-05-28 | Siemens Aktiengesellschaft | Methods and apparatus for installing building control software |
| US20140283133A1 (en) * | 2013-03-13 | 2014-09-18 | Rockwell Automation Technologies, Inc. | Code-enabled remote activation of software for industrial automation systems |
| WO2015016867A1 (en) * | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Updating boot code |
| US9374355B2 (en) * | 2013-10-28 | 2016-06-21 | GM Global Technology Operations LLC | Programming vehicle modules from remote devices and related methods and systems |
| US20150127930A1 (en) * | 2013-11-06 | 2015-05-07 | Seagate Technology Llc | Authenticated device initialization |
| US9542558B2 (en) * | 2014-03-12 | 2017-01-10 | Apple Inc. | Secure factory data generation and restoration |
| US8997249B1 (en) * | 2014-06-18 | 2015-03-31 | Storagecraft Technology Corporation | Software activation and revalidation |
-
2015
- 2015-07-23 DE DE102015112040.2A patent/DE102015112040A1/en not_active Withdrawn
-
2016
- 2016-07-19 US US15/747,058 patent/US11429720B2/en active Active
- 2016-07-19 EP EP16750636.9A patent/EP3326101B1/en active Active
- 2016-07-19 CN CN201680043227.1A patent/CN107924443B/en active Active
- 2016-07-19 WO PCT/EP2016/067214 patent/WO2017013134A1/en not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| None * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180365423A1 (en) | 2018-12-20 |
| DE102015112040A1 (en) | 2017-01-26 |
| CN107924443A (en) | 2018-04-17 |
| CN107924443B (en) | 2021-08-10 |
| EP3326101A1 (en) | 2018-05-30 |
| WO2017013134A1 (en) | 2017-01-26 |
| US11429720B2 (en) | 2022-08-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3326101B1 (en) | Method and system for firmware-updating a control device for process control | |
| DE112008003963B4 (en) | System and method for off-line programming of an industrial robot | |
| EP4235323B1 (en) | Method and device for automatically validating security functions on a modular security system | |
| WO2019081395A1 (en) | METHOD AND DEVICE FOR UPDATING SOFTWARE OF A CAR CONTROL DEVICE | |
| DE112016002236B4 (en) | COMMUNICATIONS FACILITY AND COMMUNICATIONS RESTRICTION PROGRAM | |
| EP3330816A1 (en) | Method for updating software in cloud gateways, computer program with an implementation of the method and processing unit for executing the method | |
| EP3001310B1 (en) | Method and apparatus for updating firmware for components of an industrial automation system | |
| EP3923095A1 (en) | Configuration device, update server and method for software update of a technical installation | |
| DE102015207795A1 (en) | Method and device for updating software in a means of transport | |
| EP3045986A1 (en) | Production machine with own functionality testing and method | |
| EP2770382B1 (en) | Method for commissioning an automation system | |
| EP3021179A1 (en) | Method for connecting an embedded device to a control unit | |
| EP4181000A1 (en) | Method and computing environment for creating and applying a test algorithm for computing operations | |
| EP2090948B1 (en) | Method for operating an automation system | |
| WO2005003935A1 (en) | System and/or method for releasing release license software programs | |
| WO2016087585A1 (en) | Method for programming and configuring a device in a traceable manner | |
| EP2741451B1 (en) | Method for connecting a hardware module to a field bus | |
| EP3118739B1 (en) | Method for carrying out an operating system update | |
| WO2016034676A1 (en) | Data transmission between at least one safe producer and at least one safe consumer | |
| DE102012218665B4 (en) | Application system for control units | |
| DE102008004923B4 (en) | Method for updating a control sequence of a machine control system and device for carrying out the method | |
| WO2020007660A1 (en) | Control unit and operating method for integrity self-monitoring suitable for a device which can be used in particular in an automation environment | |
| DE102016219207A1 (en) | METHOD AND DEVICE FOR CERTIFYING A SECURITY CRITICAL FUNCTIONAL CHAIN | |
| EP3306856B1 (en) | Method for providing a secure communication connection between components of a security-critical function chain | |
| DE102007062915A1 (en) | Storage programmable control i.e. digitally operated electronic system, operating method for controlling automation system, involves switching functional block at feasible state if external information corresponds to internal information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20180216 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: BA ME |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G05B 19/042 20060101ALI20200430BHEP Ipc: G06F 21/10 20130101ALI20200430BHEP Ipc: G06F 21/57 20130101AFI20200430BHEP |
|
| INTG | Intention to grant announced |
Effective date: 20200514 |
|
| GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 502016011505 Country of ref document: DE |
|
| REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: GERMAN |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1326561 Country of ref document: AT Kind code of ref document: T Effective date: 20201115 |
|
| REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20201021 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210122 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210222 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210121 |
|
| REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210121 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210221 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 502016011505 Country of ref document: DE |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| 26N | No opposition filed |
Effective date: 20210722 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
| GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20210719 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20210731 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210731 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210719 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210731 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210221 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210719 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210731 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210719 Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210731 |
|
| REG | Reference to a national code |
Ref country code: AT Ref legal event code: MM01 Ref document number: 1326561 Country of ref document: AT Kind code of ref document: T Effective date: 20210719 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210719 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20160719 |
|
| P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230424 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20250926 Year of fee payment: 10 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20201021 |