WO2018059855A1 - Verfahren zum manipulationssicheren speichern von daten eines feldgeräts - Google Patents

Verfahren zum manipulationssicheren speichern von daten eines feldgeräts Download PDF

Info

Publication number
WO2018059855A1
WO2018059855A1 PCT/EP2017/071543 EP2017071543W WO2018059855A1 WO 2018059855 A1 WO2018059855 A1 WO 2018059855A1 EP 2017071543 W EP2017071543 W EP 2017071543W WO 2018059855 A1 WO2018059855 A1 WO 2018059855A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data block
hash value
transaction
security
Prior art date
Application number
PCT/EP2017/071543
Other languages
English (en)
French (fr)
Inventor
Markus Kilian
Original Assignee
Endress+Hauser Gmbh+Co. Kg
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Endress+Hauser Gmbh+Co. Kg filed Critical Endress+Hauser Gmbh+Co. Kg
Priority to US16/337,699 priority Critical patent/US11032066B2/en
Publication of WO2018059855A1 publication Critical patent/WO2018059855A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • the invention relates to a method for the tamper-resistant storage of data
  • Field devices are in principle all devices that are used close to the process and the process-relevant
  • field devices are used to detect and / or influence process variables.
  • measuring process variables measuring devices, or
  • Sensors are used, for example, for measuring pressure and temperature.
  • Conductivity measurement, flow measurement, pH measurement, level measurement, etc. used and recorded the corresponding process variables pressure, temperature, conductivity, pH, level, flow, etc.
  • Actuators are used to influence process variables. These are, for example, pumps or valves that can influence the flow of a liquid in a pipe or the level in a container.
  • field devices are also understood as remote I / Os, radio adapters or general devices which are arranged at the field level.
  • Control units such as a PLC (Programmable Logic Controller) or a PLC (Programmable Logic Controller).
  • PLC Programmable Logic Controller
  • PLC Programmable Logic Controller
  • the higher-level units are used for process control and commissioning of the field devices. Those of the field devices,
  • acquired measured values are transmitted via the respective bus system to one (or possibly several) higher-level unit (s) which supply the measured values
  • control station is used for process visualization, process monitoring and process control via the higher-level units.
  • a data transmission from the higher-level unit via the bus system to the field devices is required, in particular for the configuration and parameterization of field devices and for the control of actuators.
  • Field devices create and / or process a variety of different data. With this data it is in addition to already mentioned above measurement data of sensors, by which a
  • Plant operator receives information about the current process values of the measuring points of his plant, for example, control data, for example, for the control of an actuator. Furthermore, the data are diagnostic, history, and / or status data that the
  • the data can be manipulated because it is often unencrypted over the
  • Communication network are sent, or stored unencrypted on the database. If data are subsequently manipulated, this can only be tracked with great difficulty or, due to the large amount of stored data, it can sometimes only be noticed very late.
  • the invention has for its object to provide a method which allows data from a variety of field devices in a system of
  • the object is achieved by a method for tamper-proof storage of data of a field device of automation technology, wherein the field device comprises a sensor and / or actuator and an electronic unit, wherein the field device generates data, which in particular are measurement data, control data, history data, parameterization data , Diagnostic and / or status data, comprising:
  • Storing the transaction in a data block the data block being configured according to a blockchain technology data block and thus having a data field containing stored transactions and a hash value;
  • Hash value of a previous data block is calculated
  • Data block contains all transactions generated after the date of creation of the last data block. These transactions are billed to an intermediate value via an algorithm, for example, the "Merkle Root" of all transactions contained in the data field of the data block is calculated, and the hash value of the data block is made from this
  • Stringing together several data blocks is called a blockchain.
  • security data block contains the hash value of the previous one in its data field
  • Data field of the security data block stored, signed hash value of the data block preceding the security data block is not changed.
  • a manipulation can be detected, since the hash value of the preceding data block differs from the hash value stored in the data field of the security data block in the case of a manipulation.
  • the field device is preferably directly or indirectly - for example by means of a fieldbus automation technology, which is in communication with an Internet-enabled device, preferably a gateway or an edge device - connected to the Internet. Via the Internet, the field device contacts the service platform and sends it its generated data.
  • the service platform itself creates the transactions as well as the transactions containing them Data blocks, and stores them.
  • a preferred embodiment of the method according to the invention provides that the service platform comprises at least one database in which the data blocks or the security data blocks are stored centrally via a client-server architecture.
  • the field device merely serves as the creator of the data and sends this data to the service platform in which the transactions and the data blocks, or the security data blocks, are created. The field device therefore does not have to be upgraded to carry out the method according to the invention, which results in no additional expenditure of time and money.
  • a plurality of subscriber nodes wherein the subscriber nodes data blocks, or security data blocks create, each at least one database is integrated in each subscriber node, and wherein the data blocks, or the security data blocks are stored locally in the databases.
  • a subscriber node is formed by a computer.
  • the various subscriber nodes are interconnected via a network, such as the
  • the field device contacts one of the subscriber nodes of the service platform and transmits to it the data to be stored. If necessary, the subscriber node transmits this data for validation to all other subscriber nodes and thereupon generates a new data block or a security data block which contains the transaction and possibly further transactions.
  • a created data block or security data block is verified by all subscriber nodes and stored in the service platform only if at least a predetermined number of all subscriber nodes successfully verify the hash value of the data block .
  • the validation of the Data block, or the security data block is carried out such that its hash value is checked. Only if the valid hash value of the previous data block is used can the data block or the safety data block be successfully validated. This means that data in a successfully validated data block can not be changed without changing the subsequent data blocks accordingly.
  • a change of data generates a changed intermediate value, whereby also the hash value of the respective data block is changed. The subsequent data block thus no longer matches its previous data block. Data from a once successfully validated data block can therefore no longer be changed by an attacker.
  • the created transaction before transmission into the data block, or in the security data block is transmitted to all subscriber nodes and is validated by the subscriber node and wherein the created transaction only in the Data block, or stored in the security data block, if it is successfully validated by at least one of the subscriber node.
  • the field device itself forms a subscriber node of the service platform and generates transactions and / or data blocks or security data blocks. However, for this the field device must
  • Algorithms are executed. Unlike creating a data block requires the
  • Data blocks, or the security data blocks, algorithms are integrated in the electronics unit of the field device or that the field device has a modular additional electronics unit, in particular a plug-in module, in which these algorithms are implemented.
  • the algorithms / software commands required for this purpose can, for example, in the form of a firmware update on a writable memory in the electronics unit, or the
  • a particularly advantageous embodiment of the method according to the invention provides that the field device receives the hash value of the previous data block before the transaction is created, and the generated data and / or the hash value of the previous data block with the first private key, or with a second one different from the first private key Key signed and / or encrypted.
  • This is an additional security mechanism, because now also the individual data of the transactions and consequently also the data fields of the data blocks are signed or encrypted. Without knowledge of the first or the second key an attacker can not change the data of a data block.
  • the second key may be a private key or a public key, which may also be asymmetric.
  • the security data block is created after defined time intervals. It is advantageous to choose the time intervals depending on the amount and the rate of newly created data blocks. In particular, if new data blocks are created comparatively frequently, it is advantageous to choose short time intervals.
  • the signed hash value is verified by means of a public key corresponding to the first private key.
  • the signature of the hash value can in principle be verified by anyone. However, a manipulation of this hash value is not possible without knowledge of the first private key.
  • Fig. 2 an embodiment of the method according to the invention.
  • 1 shows an explanation of data blocks BL1, BL2, SB, which are configured according to the blockchain technology and are used in the method according to the invention.
  • the Blockchain technology became known as the basis of the Internet currency "Bitcoin.”
  • a blockchain ie a chain of linked data blocks BL1, BL2, SB, allows a high degree of data integrity
  • a said data block BL1, BL2, SB usually consists of at least two components: one is a data field DF. Data in the form of transactions TA are stored in this data field DF. As transaction TA, a transmission of the data from a first
  • Subscriber node TK referred to a second subscriber node TK in a communication network KN.
  • a transaction TA contains a transmitted value, in this case data, as well as the sender and the recipient of the transaction TA.
  • subscriber node TK all devices are referred to, which use the blockchain technology in the communication network KN.
  • a data field DF of a data block BL1, BL2, SB contains at least one transaction TA, more frequently several transactions TA.
  • a data block BL1, BL2, SB contains a checksum # 1, # 2, # 3.
  • Checksum # 1, # 2, # 3 is a hash value and is created by sometimes complex calculations. For this purpose, all transactions TA of the data field of a block BL1, BL2, SB become one
  • This calculated intermediate value is then compared with the checksum # 1, # 2, # 3 of the previous data block BL1, BL2, SB to the checksum # 1, # 2, # 3 of the current data block BL1, BL2, SB.
  • the data block BL2 shown in FIG. 1 includes a checksum # 2.
  • This checksum # 2 was thus calculated from the transactions TA stored in the data field DF of the data block BL2 and the checksum # 1 of the preceding data block BL1.
  • the data block SB shown in FIG. 1, a security data block (more on that later) contains a checksum # 3. So this checksum # 3 was calculated from the data fields DF of the
  • Data blocks SB stored transactions TA and the checksum # 2 of the previous data block BL2 calculated.
  • a blockchain thus consists of a series of data blocks BL1, BL2, SB, in each of which one or more transactions TA
  • a change of data generates a changed intermediate value, whereby also the checksum # 1, # 2, # 3 of the respective data block BL1, BL2, SB is changed.
  • the subsequent data block BL1, BL2, SB thus no longer matches the previous data block BL1, BL2, SB.
  • Data of a once successfully validated data block BL1, BL2, SB are thus no longer changeable for an attacker.
  • New data blocks BL1, BL2, SB are created at regular intervals. In the data field of the new data block BL1, BL2, SB all transactions TA are stored, which were created after the time of the creation of the last data block BL1, BL2, SB.
  • the complexity of the block creation can be increased by the fact that the generated checksum # 1, # 2, # 3 must have a predefined format. For example, it is determined that the
  • Checksum must be 24 digits long, with the first four digits numbered 0.
  • a number sequence to be determined referred to as "nonce"
  • the calculation of the new checksum # 1, # 2, # 3 takes a correspondingly longer time since there are only a few noncenes which lead to the calculation of a checksum # 1, # 2, # 3 with the given criteria The finding of such a suitable nonce
  • the data block is transmitted to all subscriber nodes TK
  • the subscriber nodes TK now check the checksum # 1, # 2 , # 3 of the new data block BL1, BL2, SB Only after successful validation is the data block BL1, BL2, SB stored in all subscriber nodes TK High-level validation of more than half
  • the checksum # 1, # 2, # 3 is recalculated, the intermediate value of the transactions TA, or the checksum # 1, # 2, # 3 of the previous data block BL1, BL2, SB and recovered with the actual intermediate value, or with the actual checksum # 1, # 2, # 3 of the previous data block BL1, BL2, SB compared. If these values match, the data block BL1, BL2, SB has been successfully validated.
  • a further security level is implemented:
  • two normal data blocks BL1, BL2 and a so-called security data block SB are shown.
  • the hash value * # 2 * of the preceding data block BL2 is stored in the data field DF of this security data block SB and signed with a private key. Even if an attacker should be able to manipulate data of one of the data blocks BL1, BL2 preceding the security data block SB, and to change the hash values # 1, # 2, # 3 of the subsequent data blocks BL1, BL2, SB in conformity with the manipulated data block BL1, BL2, manipulation can be easily detected.
  • the first private key is only the executor of the
  • Security data block SB stored hash value * # 2 * is different, or the signature is invalid.
  • the time at which such a security data block is created can be defined and should be adapted to the amount and rate of newly created data blocks BL1, BL2.
  • Fig. 2 shows an embodiment of the method according to the invention.
  • a system of automation technology is shown on a data bus D1, which is, for example, a field bus of the control level, for example Ethernet, several computer units WS1, WS2 in the form of workstation PCs in the management level of the system are connected.
  • Computer units serve as higher-level units (control system or control unit), inter alia for process visualization, process monitoring and for engineering as well as for operating and monitoring field devices F1, F2, F3, F4.
  • a control unit PLC which is designed for example as a programmable logic controller and basically also referred to as a higher-level unit, the control level of the system with multiple field devices F1, F2, F3, F4 is connected.
  • the field devices F1, F2, F3, F4 may be sensors or actuators.
  • the fieldbus FB operates according to one of the known
  • Field bus standards e.g. Profibus®, Foundation Fieldbus® or HART®.
  • field bus FB can also be a local area network, or a wide area network, for example the Internet.
  • the control unit SPS has an interface via which the control unit PLC is connected to a further network I, in this embodiment the Internet. Via the Internet I, the control unit SPS is connected to a service platform SP.
  • the service platform SP has a plurality of subscriber nodes TK1, TK2, TK3, TK4.
  • the subscriber nodes TK1, TK2, TK3, TK4 are interconnected by means of a communication network KN, are to configured to execute a Blockchain with the properties and functions described in Fig. 1 and each have a database DB.
  • the field devices F1, F2, F3, F4 send their generated data via the Internet to the service platform SP via the control unit SPS.
  • a definition of field devices F1, F2, F3, F4 and the possible generated data is already described in the introductory part of the description.
  • a subscriber node TK1, TK2, TK3, TK4 of the service platform Upon receiving the data of the field devices F1, F2, F3, F4, a subscriber node TK1, TK2, TK3, TK4 of the service platform creates one or more transactions TA containing the data. After validation of the transactions TA by all subscriber nodes TK1, TK2, TK3, TK4 takes place, as described in Fig. 1, a block creation, or creating a security data block SP and possibly a performance of the other, described in Fig. 1 steps ,

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren zum manipulationssicheren Speichern von Daten eines Feldgeräts (F1, F2, F3, F4) der Automatisierungstechnik, wobei das Feldgerät (F1, F2, F3, F4) einen Sensor und/oder Aktor und eine Elektronikeinheit aufweist, wobei das Feldgerät (F1, F2, F3, F4) Daten generiert, bei denen es sich insbesondere um Messdaten, Steuerdaten, Historiendaten, Parametrierdaten, Diagnose- und/oder Statusdaten handelt, umfassend: - Erstellen zumindest einer Transaktion (TA), wobei die Transaktion (TA) generierte Daten des Feldgeräts (F1, F2, F3, F4) enthält; - Speichern der Transaktion (TA) in einem Datenblock (BL1, BL2), wobei der Datenblock (BL1, BL2) entsprechend einem Datenblock der Blockchain-Technologie ausgestaltet ist und somit ein Datenfeld (DF), enthaltend gespeicherte Transaktionen (TA), und einen Hashwert (#1, #2, #3) aufweist; - Verknüpfen des Datenblocks mit zu früheren Zeitpunkten erstellten Datenblöcken (BL1, BL2), indem der Hashwert (#1, #2, #3) des Datenblocks (BL1, BL2) aus den in der Transaktion (TA) enthaltenen Daten sowie dem Hashwert (#1, #2, #3) eines vorherigen Datenblocks (BL1, BL2) berechnet wird; - Speichern des Datenblocks (BL1, BL2) in einer Service-Plattform (SP), wobei in der Service-Plattform (SP) die zu früheren Zeitpunkten erstellten Datenblöcke (BL1, BL2) gespeichert sind; - Erstellen und Speichern eines Sicherheits-Datenblocks (SB) in der Service-Plattform (SP), wobei im Datenfeld (DF) des Sicherheits-Datenblocks (SB) zusätzlich oder alternativ zu gespeicherten Transaktionen (TA) der Hashwert (#1, #2, #3) des vorherigen Datenblocks (BL1, BL2) enthalten ist, wobei der Hashwert (#1, #2, #3) des vorherigen Datenblocks (BL1, BL2) mit einem ersten privaten Schlüssel signiert ist.

Description

Verfahren zum manipulationssicheren Speichern von Daten eines Feldgeräts
Die Erfindung betrifft ein Verfahren zum manipulationssicheren Speichern von Daten eines
Feldgeräts der Automatisierungstechnik.
Aus dem Stand der Technik sind bereits Feldgeräte bekannt geworden, die in industriellen Anlagen zum Einsatz kommen. In der Prozessautomatisierungstechnik ebenso wie in der
Fertigungsautomatisierungstechnik werden vielfach Feldgeräte eingesetzt. Als Feldgeräte werden im Prinzip alle Geräte bezeichnet, die prozessnah eingesetzt werden und die prozessrelevante
Informationen liefern oder verarbeiten. So werden Feldgeräte zur Erfassung und/oder Beeinflussung von Prozessgrößen verwendet. Zur Erfassung von Prozessgrößen dienen Messgeräte, bzw.
Sensoren. Diese werden beispielsweise zur Druck- und Temperaturmessung,
Leitfähigkeitsmessung, Durchflussmessung, pH-Messung, Füllstandmessung, etc. verwendet und erfassen die entsprechenden Prozessvariablen Druck, Temperatur, Leitfähigkeit, pH-Wert, Füllstand, Durchfluss etc. Zur Beeinflussung von Prozessgrößen werden Aktoren verwendet. Diese sind beispielsweise Pumpen oder Ventile, die den Durchfluss einer Flüssigkeit in einem Rohr oder den Füllstand in einem Behälter beeinflussen können. Neben den zuvor genannten Messgeräten und Aktoren werden unter Feldgeräten auch Remote I/Os, Funkadapter bzw. allgemein Geräte verstanden, die auf der Feldebene angeordnet sind.
Eine Vielzahl solcher Feldgeräte wird von der Endress+Hauser-Gruppe produziert und vertrieben.
In modernen Industrieanlagen sind Feldgeräte in der Regel über Kommunikationsnetzwerke wie beispielsweise Feldbusse (Profibus®, Foundation® Fieldbus, HART®, etc.) mit übergeordneten Einheiten verbunden. Normalerweise handelt es sich bei den übergeordneten Einheiten um
Steuereinheiten, wie beispielsweise eine SPS (speicherprogrammierbare Steuerung) oder einen PLC (Programmable Logic Controller). Die übergeordneten Einheiten dienen unter anderem zur Prozesssteuerung, sowie zur Inbetriebnahme der Feldgeräte. Die von den Feldgeräten,
insbesondere von Sensoren, erfassten Messwerte werden über das jeweilige Bussystem an eine (oder gegebenenfalls mehrere) übergeordnete Einheit(en) übermittelt, die die Messwerte
gegebenenfalls weiterverarbeiten und an den Leitstand der Anlage weiterleiten. Der Leitstand dient zur Prozessvisualisierung, Prozessüberwachung und Prozessteuerung über die übergeordneten Einheiten. Daneben ist auch eine Datenübertragung von der übergeordneten Einheit über das Bussystem an die Feldgeräte erforderlich, insbesondere zur Konfiguration und Parametrierung von Feldgeräten sowie zur Ansteuerung von Aktoren.
Feldgeräte erstellen und/oder verarbeiten eine Vielzahl unterschiedlicher Daten. Bei diesen Daten handelt es sich neben bereits oben genannten Messdaten von Sensoren, durch welche ein
Anlagenbetreiber Informationen über die aktuellen Prozesswerte der Messstellen seiner Anlage erhält, beispielsweise um Steuerdaten, bspw. zur Stellregelung eines Aktors. Des Weiteren handelt es sich bei den Daten um Diagnose-, Historien-, und/oder Statusdaten, durch die der
Anlagenbetreiber über Probleme der Feldgeräte, bzw. dem aktuellen Status der einzelnen
Feldgeräte informiert wird, oder um Kalibrier-/Parametrierdaten.
Heutzutage ist es üblich, diese Daten an einer zentralen Stelle in der Anlage zu speichern, beispielsweise in einer Datenbank in einem Workstation-PC in der Leitebene der Anlage. Dies ist jedoch mit Nachteilen verbunden: Fällt die Datenbank aus, bzw. wird die Datenbank zerstört, bzw. unlesbar, so sind die auf dieser Datenbank gespeicherten Daten verloren.
Des Weiteren sind die Daten manipulierbar, da sie häufig unverschlüsselt über das
Kommunikationsnetzwerk gesendet werden, bzw. unverschlüsselt auf der Datenbank abgelegt werden. Werden Daten im Nachhinein manipuliert, so kann dies nur sehr schwer nachverfolgt werden, bzw. aufgrund der Vielzahl an gespeicherten Daten mitunter erst sehr spät bemerkt werden.
Ausgehend von dieser Problematik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren vorzustellen, welches es erlaubt, Daten einer Vielzahl von Feldgeräten in einer Anlage der
Prozessautomatisierung auf (manipulations)sichere Art und Weise zu speichern.
Die Aufgabe wird durch ein Verfahren zum manipulationssicheren Speichern von Daten eines Feldgeräts der Automatisierungstechnik gelöst, wobei das Feldgerät einen Sensor und/oder Aktor und eine Elektronikeinheit aufweist, wobei das Feldgerät Daten generiert, bei denen es sich insbesondere um Messdaten, Steuerdaten, Historiendaten, Parametrierdaten, Diagnose- und/oder Statusdaten handelt, umfassend:
Erstellen zumindest einer Transaktion, wobei die Transaktion generierte Daten des
Feldgeräts enthält;
Speichern der Transaktion in einem Datenblock, wobei der Datenblock entsprechend einem Datenblock der Blockchain-Technologie ausgestaltet ist und somit ein Datenfeld, enthaltend gespeicherte Transaktionen, und einen Hashwert aufweist;
Verknüpfen des Datenblocks mit zu früheren Zeitpunkten erstellten Datenblöcken, indem der Hashwert des Datenblocks aus den in der Transaktion enthaltenen Daten sowie dem
Hashwert eines vorherigen Datenblocks berechnet wird;
- Speichern des Datenblocks in einer Service-Plattform, wobei in der Service-Plattform die zu früheren Zeitpunkten erstellten Datenblöcke gespeichert sind; Erstellen und Speichern eines Sicherheits-Datenblocks in der Service-Plattform, wobei im Datenfeld des Sicherheits-Datenblocks zusätzlich zu oder alternativ gespeicherten Transaktionen der Hashwert des vorherigen Datenblocks enthalten ist, wobei der Hashwert des vorherigen Datenblocks mit einem ersten privaten Schlüssel signiert ist.
Der große Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass Daten
manipulationssicher in Form von Datenblöcken gespeichert werden. Das Datenfeld eines
Datenblocks enthält sämtliche Transaktionen, welche nach dem Zeitpunkt des Erstellens des letzten Datenblocks generiert wurden. Diese Transaktionen werden über einen Algorithmus zu einem Zwischenwert verrechnet, beispielsweise wird die„Merkle Root" aller im Datenfeld des Datenblocks enthaltenen Transaktionen errechnet. Der Hashwert des Datenblocks wird aus diesem
Zwischenwert und dem Hashwert des vorangehenden Datenblocks erzeugt. Eine
Aneinanderreihung mehrerer Datenblöcke wird als Blockchain bezeichnet. Dadurch, dass die in einem Datenblock gespeicherten Daten zu einem Hashwert berechnet werden, können diese Daten nicht verändert/manipuliert werden, ohne den Hashwert des Datenblocks und somit die jeweiligen Hashwerte aller nachfolgenden Datenblöcke zu verändern.
Selbst wenn es einem Angreifer gelingen sollte, Daten eines Datenblocks zu manipulieren, sowie die Hashwerte der nachfolgenden Datenblöcke konform zu dem manipulierten Datenblock zu verändern, kann eine Manipulation auf einfache Art und Weise detektiert werden. Der
Sicherheitsdatenblock enthält in seinem Datenfeld nämlich den Hashwert des vorherigen
Datenblocks, welcher mittels eines ersten privaten Schlüssels signiert ist. Der erste private
Schlüssel ist lediglich dem Besitzer des Feldgeräts und/oder dem Betreiber der Serviceplattform bekannt. Ein Angreifer kann diesen gespeicherten Hashwert daher ohne Kenntnis des ersten privaten Schlüssels nicht manipulieren. In dem Falle, dass, wie oben beschrieben, Hashwerte der Datenblöcke bearbeitet werden, um die Konformität der Blockchain zu erhalten, wird der im
Datenfeld des Sicherheits-Datenblocks gespeicherte, signierte Hashwert des dem Sicherheits- Datenblock vorangehenden Datenblocks nicht verändert. Durch Abgleich des Hashwerts des vorangehenden Datenblocks mit dem signierten Hashwert kann eine Manipulation detektiert werden, da sich der Hashwert des vorangehenden Datenblocks im Falle einer Manipulation von dem im Datenfeld des Sicherheits-Datenblocks gespeicherten Hashwert unterscheidet.
Das Feldgerät ist vorzugsweise direkt oder indirekt - beispielsweise mittels eines Feldbusses der Automatisierungstechnik, der mit einem Internetfähigen Gerät, vorzugsweise einem Gateway oder einem Edge Device in Kommunikationsverbindung steht - mit dem Internet verbunden. Über das Internet kontaktiert das Feldgerät die Service-Plattform und sendet dieser seine generierten Daten. Die Service-Plattform selbst erstellt die Transaktionen, sowie die die Transaktionen enthaltenden Datenblöcke, und speichert diese.
Feldgeräte, welche im Zusammenhang mit dem erfindungsgemäßen Verfahren genannt werden, sind bereits im einleitenden Teil der Beschreibung beispielhaft beschrieben.
Eine bevorzugte Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, dass die Service- Plattform zumindest eine Datenbank umfasst, in der die Datenblöcke, bzw. die Sicherheits- Datenblocke, zentral über eine Client-Server-Architektur gespeichert werden. Wie bereits oben genannt dient das Feldgerät lediglich als Ersteller der Daten und sendet diese Daten an die Service- Plattform, in der die Transaktionen und die Datenblöcke, bzw. die Sicherheits-Datenblocke, erstellt werden. Das Feldgerät muss daher zur Ausführung des erfindungsgemäßen Verfahrens nicht aufgerüstet werden, wodurch keine zusätzlicher Zeit- und Kostenaufwand entsteht.
Gemäß einer vorteilhaften Weiterbildung des erfindungsgemäßen Systems ist vorgesehen, dass die Service-Plattform dezentral mit Hilfe einer Blockchain Technologie betrieben wird und aus einer
Vielzahl von Teilnehmerknoten besteht, wobei die Teilnehmerknoten Datenblöcke, bzw. Sicherheits- Datenblocke, erstellen, wobei in jedem Teilnehmerknoten jeweils zumindest eine Datenbank integriert wird, und wobei die Datenblöcke, bzw. die Sicherheits-Datenblocke, dezentral in den Datenbanken gespeichert werden. Ein Teilnehmerknoten wird von einer Recheneinheit gebildet. Die verschiedenen Teilnehmerknoten sind miteinander über ein Netzwerk, beispielsweise über das
Internet, miteinander verbunden. Das Feldgerät kontaktiert einen der Teilnehmerknoten der Service- Plattform und übermittelt diesem die zu speichernden Daten. Der Teilnehmerknoten übermittelt diese Daten ggf. zur Validierung an alle übrigen Teilnehmerknoten und erstellt daraufhin einen neuen Datenblock, bzw. einen Sicherheits-Datenblock, der die Transaktion und ggf. weitere Transaktionen enthält.
Es ist dabei vorgesehen, dass auf allen Datenbanken zu allen Zeitpunkten dieselben Datenblöcke, bzw. Sicherheits-Datenblocke, daraus folgend also die identischen Daten gespeichert und verfügbar sind. Fallen eine oder mehrere Datenbanken aus, bzw. werden durch einen Angreifer manipuliert, so können die Informationen aus den restlichen Datenbanken ausgelesen werden, wodurch ein vollständiger Datenverlust so gut wie unmöglich ist. Ein Beispiel für eine solche Service-Plattform ist beispielsweise Etherium.
Gemäß einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass ein erstellter Datenblock, bzw. Sicherheits-Datenblock, von allen Teilnehmerknoten verifiziert wird und nur dann in der Service-Plattform gespeichert wird, wenn zumindest eine vorgegebene Anzahl aller Teilnehmerknoten den Hashwert des Datenblocks erfolgreich verifiziert. Die Validierung des Datenblocks, bzw. des Sicherheits-Datenblocks, erfolgt derart, dass dessen Hashwert überprüft wird. Nur wenn der gültige Hashwert des vorherigen Datenblocks verwendet wird, kann der Datenblock, bzw. der Sicherheits-Datenblock erfolgreich validiert werden. Dies führt dazu, dass Daten in einem erfolgreich validierten Datenblock nicht geändert werden können, ohne die nachfolgenden Datenblöcke dementsprechend zu verändern. Eine Änderung von Daten erzeugt einen geänderten Zwischenwert, wodurch auch der Hashwert des jeweiligen Datenblocks verändert wird. Der darauffolgende Datenblock passt somit nicht mehr zu seinem vorherigen Datenblock. Daten eines einmal erfolgreich validierten Datenblocks sind dadurch für einen Angreifer nicht mehr veränderbar.
In einer besonders vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die erstellte Transaktion vor dem Speichern in den Datenblock, bzw. in den Sicherheits- Datenblock, an alle Teilnehmerknoten übermittelt wird und von den Teilnehmerknoten validiert wird und wobei die erstellte Transaktion nur dann in dem Datenblock, bzw. in dem Sicherheits- Datenblock, gespeichert wird, wenn diese von zumindest einem der Teilnehmerknoten erfolgreich validiert wird. Hierdurch wird eine zusätzliche Sicherheitsstufe erzielt. Es wird insbesondere geprüft, ob der Ersteller der Transaktion ein gültiger Teilnehmerknoten ist, bzw. dass die in der Transaktion enthaltenen Daten beispielsweise in einem gültigen Wertebereich liegen. In einer bevorzugten Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, dass das Feldgerät selbst einen Teilnehmerknoten der Service-Plattform bildet und Transaktionen und/oder Datenblöcke, bzw. Sicherheits-Datenblocke, erstellt. Hierfür muss das Feldgerät jedoch
gegebenenfalls über eine ausreichende Leistung und Energie, ggf. zugeführt mittels einer zusätzlichen Energieversorgung, verfügen, da zur Erstellung eines Datenblocks komplexe
Algorithmen ausgeführt werden. Im Gegensatz zur Erstellung eines Datenblocks benötigt die
Erstellung einer Transaktion erheblich weniger Leistung, so dass das Feldgerät keine zusätzliche Stromversorgung besitzen muss und auch über das Kommunikationsnetzwerk mit Energie versorgt werden kann. Es kann dabei vorgesehen sein dass die zur Erstellung der Transaktionen und/oder der
Datenblöcke, bzw. der Sicherheits-Datenblocke, benötigten Algorithmen in der Elektronikeinheit des Feldgeräts integriert sind oder dass das Feldgerät eine modulare Zusatzelektronikeinheit, insbesondere ein Steckmodul, aufweist, in welchem diese Algorithmen implementiert sind. Die hierfür benötigten Algorithmen/Softwarebefehle können hierfür beispielsweise in Form eines Firmwareupdates auf einen beschreibbaren Speicher in der Elektronikeinheit, bzw. der
Zusatzelektronikeinheit geladen werden. Eine besonders vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens sieht vor, dass das Feldgerät vor Erstellen der Transaktion den Hashwert des vorherigen Datenblocks erhält und die generierten Daten und/oder den Hashwert des vorherigen Datenblocks mit dem ersten privaten Schlüssel, oder mit einem vom ersten privaten Schlüssel abweichenden zweiten Schlüssel signiert und/oder verschlüsselt. Dies ist ein zusätzlicher Sicherheitsmechanismus, da nun auch die einzelnen Daten der Transaktionen und daraus folgend auch der Datenfelder der Datenblöcke signiert, bzw. verschlüsselt werden. Ohne Kenntnis des ersten, bzw. des zweiten Schlüssels kann ein Angreifer die Daten eines Datenblocks nicht verändern. Bei dem zweiten Schlüssel kann es sich um einen privaten Schlüssel oder um einen öffentlichen Schlüssel handeln, welcher auch asymmetrisch sein kann.
Gemäß einer bevorzugten Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, dass der Sicherheits-Datenblock nach definierten Zeitabständen erstellt wird. Vorteilhaft ist es, die Zeitabstände abhängig von der Menge und der Rate an neu erstellten Datenblöcken zu wählen. Insbesondere, wenn neue Datenblöcke vergleichsweise häufig erstellt werden ist es vorteilhaft, kurze Zeitabstände zu wählen.
Gemäß einer besonders bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass der signierte Hashwert mittels eines zu dem ersten privaten Schlüssel korrespondierenden öffentlichen Schlüssels verifiziert wird. Mittels des öffentlichen Schlüssels kann die Signatur des Hashwerts im Prinzip von jedem verifiziert werden. Eine Manipulation dieses Hashwertes ist jedoch ohne Kenntnis des ersten privaten Schlüssels nicht möglich.
Die Erfindung wird anhand der nachfolgenden Figuren näher erläutert. Es zeigen Fig. 1 : eine Erläuterung von Datenblöcken, welche im erfindungsgemäßen Verfahren zum Einsatz kommen; und
Fig: 2: ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens. Fig. 1 zeigt eine Erläuterung von Datenblöcken BL1 , BL2, SB, welche entsprechend der Blockchain- Technologie ausgestaltet sind und im erfindungsgemäßen Verfahren zum Einsatz kommen. Die Blockchain-Technologie wurde als Basis der Internet-Währung„Bitcoin" bekannt. Eine Blockchain, also eine Kette verknüpfter Datenblöcke BL1 , BL2, SB erlaubt eine hohe Datenintegrität. Im
Folgenden sei die Funktionsweise einer Blockchain, ausgestaltet für das erfindungsgemäße Verfahren, kurz erläutert.
Ein besagter Datenblock BL1 , BL2, SB besteht in der Regel aus zumindest zwei Komponenten: Zum einem ist das ein Datenfeld DF. In diesem Datenfeld DF sind Daten in Form von Transaktionen TA gespeichert. Als Transaktion TA wird eine Übermittlung der Daten von einem ersten
Teilnehmerknoten TK zu einem zweiten Teilnehmerknoten TK in einem Kommunikationsnetzwerk KN bezeichnet. Eine Transaktion TA enthält einen übermittelten Wert, in diesem Fall also Daten, sowie den Sender und den Empfänger der Transaktion TA. Als Teilnehmerknoten TK werden alle Geräte bezeichnet, welche die Blockchain-Technologie in dem Kommunikationsnetzwerk KN nutzen.
Ein Datenfeld DF eines Datenblocks BL1 , BL2, SB enthält zumindest eine Transaktion TA, häufiger mehrere Transaktionen TA.
Zum anderen enthält ein Datenblock BL1 , BL2, SB eine Prüfsumme #1 , #2, #3. Eine solche
Prüfsumme #1 , #2, #3 ist ein Hashwert und wird durch mitunter aufwendige Berechnungen erstellt. Hierfür werden alle Transaktionen TA des Datenfelds eines Blocks BL1 , BL2, SB zu einem
Zwischenwert berechnet. Hierfür wird beispielsweise die Merkle-Root der Gesamtzahl der
Transaktionen TA berechnet. Auf das genaue Funktionsprinzip wird an dieser Stelle nicht eingegangen. Es sei hierfür beispielsweise auf https://en.wikipedia.org/wiki/Merkle_tree verwiesen.
Dieser errechnete Zwischenwert wird anschließend mit der Prüfsumme #1 , #2, #3 des vorherigen Datenblocks BL1 , BL2, SB zur Prüfsumme #1 , #2, #3 des aktuellen Datenblocks BL1 , BL2, SB verrechnet. Beispielsweise enthält der in Fig. 1 gezeigte Datenblock BL2 eine Prüfsumme #2. Diese Prüfsumme #2 wurde also aus den in dem Datenfeld DF des Datenblocks BL2 gespeicherten Transaktionen TA und der Prüfsumme #1 des vorangehenden Datenblocks BL1 berechnet. Analog dazu enthält der in Fig. 1 gezeigte Datenblock SB, ein Sicherheitsdatenblock (dazu später mehr) eine Prüfsumme #3. Diese Prüfsumme #3 wurde also aus den in dem Datenfeld DF des
Datenblocks SB gespeicherten Transaktionen TA und der Prüfsumme #2 des vorangehenden Datenblocks BL2 berechnet.
Die Integrität der Daten, also die Sicherung der Daten gegen nachträgliche Manipulationen, ist somit durch die Speicherung der Prüfsumme #1 , #2 des vorangehenden Datenblocks BL1 , BL2 im jeweils nachfolgenden Datenblock BL2, SB gesichert. Eine Blockchain besteht also aus einer Reihe von Datenblöcken BL1 , BL2, SB, in denen jeweils eine oder mehrere Transaktionen TA
zusammengefasst und mit der Prüfsumme #1 , #2, #3 versehen sind. Eine Änderung von Daten erzeugt einen geänderten Zwischenwert, wodurch auch die Prüfsumme #1 , #2, #3 des jeweiligen Datenblocks BL1 , BL2, SB verändert wird. Der darauffolgende Datenblock BL1 , BL2, SB passt somit nicht mehr zu dem vorangehenden Datenblock BL1 , BL2, SB. Daten eines einmal erfolgreich validierten Datenblocks BL1 , BL2, SB sind dadurch für einen Angreifer nicht mehr veränderbar. Neue Datenblöcke BL1 , BL2, SB werden in regelmäßigen Zeitabständen erstellt. In das Datenfeld des neuen Datenblocks BL1 , BL2, SB werden alle Transaktionen TA gespeichert, welche nach dem Zeitpunkt der erstellen des letzten Datenblocks BL1 , BL2, SB erstellt wurden.
Die Komplexität der Blockerstellung kann dadurch erhöht werden, dass die erstellte Prüfsumme #1 , #2, #3 ein vorgegebenes Format aufweisen muss. Beispielsweise wird festgelegt, dass die
Prüfsumme 24 Stellen lang sein muss, wobei die ersten vier Stellen den Zahlenwert 0 aufweisen müssen. Hierfür wird neben dem Zwischenwert der Transaktionen TA und der Prüfsumme des vorherigen Datenblocks eine zu ermittelnde Zahlenfolge, als„Nonce" bezeichnet, mit einer festgelegten Länge zur Berechnung der Prüfsumme #1 , #2, #3 des aktuellen Datenblocks BL1 , BL2, SB verwendet. Die Berechnung der neuen Prüfsumme #1 , #2, #3 dauert entsprechend länger, da nur wenige Noncen vorhanden sind, welche zur Berechnung einer Prüfsumme #1 , #2, #3 mit den vorgegebenen Kriterien führen. Das Auffinden einer solchen geeigneten Nonce verursacht hierbei den beschriebenen zusätzlichen Zeitaufwand. Nachdem die Prüfsumme #1 , #2, #3 eines neuen Datenblocks BL1 , BL2, SB erstellt wurde, wird der Datenblock an alle Teilnehmerknoten TK übermittelt. Die Teilnehmerknoten TK überprüfen nun die Prüfsumme #1 , #2, #3 des neuen Datenblocks BL1 , BL2, SB. Erst nach erfolgreicher Validierung wird der Datenblock BL1 , BL2, SB in allen Teilnehmerknoten TK gespeichert. Insbesondere wird hierzu eine erfolgreiche Validierung von mehr als der Hälfte aller Teilnehmerknoten TK benötigt. Ein Angreifer müsste daher zum Einschleusen/Erstellen eines fremden, schädlichen Datenblocks BL1 , BL2, SB eine große Anzahl an Teilnehmerknoten TK manipulieren, bzw. kontrollieren, um den eingeschleusten Datenblock BL1 , BL2, SB erfolgreich zu validieren. Bei steigender Anzahl an Teilnehmerknoten TK ist dies als so gut wie unmöglich anzusehen. Für die Validierung eines Datenblocks BL1 , BL2, SB ist ein wesentlich geringerer Aufwand als zur Erstellung des Datenblocks BL1 , BL2, SB nötig. Die Prüfsumme #1 , #2, #3 wird rückgerechnet, der Zwischenwert der Transaktionen TA, bzw. die Prüfsumme #1 , #2, #3 des vorherigen Datenblocks BL1 , BL2, SB zurückgewonnen und mit dem tatsächlichen Zwischenwert, bzw. mit der tatsächlichen Prüfsumme #1 , #2, #3 des vorherigen Datenblock BL1 , BL2, SB verglichen. Stimmen diese Werte überein, so ist der Datenblock BL1 , BL2, SB erfolgreich validiert.
Im erfindungsgemäßen Verfahren ist eine weitere Sicherheitsstufe implementiert: Im in Fig. 1 gezeigten Ausführungsbeispiel sind zwei normale Datenblöcke BL1 , BL2 und ein sogenannter Sicherheits-Datenblock SB gezeigt. Zusätzlich zu den Transaktionen TA ist im Datenfeld DF dieses Sicherheits-Datenblocks SB der Hashwert *#2* des vorangehenden Datenblocks BL2 gespeichert und mit einem privaten Schlüssel signiert. Selbst wenn es einem Angreifer gelingen sollte, Daten eines der dem Sicherheits-Datenblock SB vorangehenden Datenblöcke BL1 , BL2 zu manipulieren, sowie die Hashwerte #1 , #2, #3 der nachfolgenden Datenblöcke BL1 , BL2, SB konform zu dem manipulierten Datenblock BL1 , BL2 zu verändern, kann eine Manipulation auf einfache Art und Weise detektiert werden. Der erste private Schlüssel ist lediglich dem Ausführenden des
Signaturprozesses bekannt. Ein Angreifer kann diesen im Sicherheits-Datenblock SB gespeicherten Hashwert *#2*daher ohne Kenntnis des ersten privaten Schlüssels nicht manipulieren. In dem Falle, dass Hashwerte #1 , #2, #3 der Datenblöcke BL1 , BL2 SB bearbeitet werden, um die Konformität der Blockchain zu erhalten, wird der im Datenfeld DF des Sicherheits-Datenblocks SB gespeicherte, signierte Hashwert *#2* des dem Sicherheits-Datenblock SB vorangehenden Datenblocks BL2 nicht verändert. Durch Abgleich des Hashwerts #2 des vorangehenden Datenblocks BL2 mit dem signierten Hashwert *#2* kann eine Manipulation detektiert werden, da sich der Hashwert #2 des vorangehenden Datenblocks BL2 im Falle einer Manipulation von dem im Datenfeld DF des
Sicherheits-Datenblocks SB gespeicherten Hashwert *#2* unterscheidet, bzw. die Signatur ungültig ist. Der Zeitpunkt, an dem ein solcher Sicherheits-Datenblock erstellt wird, kann definiert werden und sollte an die Menge und die Rate neu erstellter Datenblöcke BL1 , BL2 angepasst werden.
Fig. 2 zeigt eine Ausgestaltung des erfindungsgemäßen Verfahrens. Hierbei ist eine Anlage der Automatisierungstechnik dargestellt. An einem Datenbus D1 , bei dem es sich beispielsweise um einen Feldbus der Leitebene, beispielsweise Ethernet handelt, sind mehrere Rechnereinheiten WS1 , WS2 in Form von Workstation-PCs in der Leitebene der Anlage angeschlossen. Diese
Rechnereinheiten dienen als übergeordnete Einheiten (Leitsystem bzw. Steuereinheit), unter anderem zur Prozessvisualisierung, Prozessüberwachung und zum Engineering wie zum Bedienen und Überwachen von Feldgeräten F1 , F2, F3, F4. Über eine Steuereinheit SPS, die beispielsweise als speicherprogrammierbare Steuerung ausgestaltet ist und im Grunde genommen auch als übergeordnete Einheit bezeichnet wird, ist die Leitebene der Anlage mit mehreren Feldgeräten F1 , F2, F3, F4 verbunden. Bei den Feldgeräten F1 , F2, F3, F4 kann es sich sowohl um Sensoren oder um Aktoren handeln. Der Feldbus FB arbeitet entsprechend nach einem der bekannten
Feldbusstandards, z.B. Profibus®, Foundation Fieldbus® oder HART®. Anstatt des Feldbusses FB kann es sich auch um ein Local-Area-, oder um ein Wide-Area-Network, zum Beispiel das Internet, handeln.
Die Steuerungseinheit SPS besitzt eine Schnittstelle, über die die Steuerungseinheit SPS an ein weiteres Netzwerk I, in diesem Ausführungsbeispiel das Internet, angeschlossen wird. Über das Internet I ist die Steuerungseinheit SPS mit einer Service-Plattform SP verbunden. Die Service- Plattform SP weist mehrere Teilnehmerknoten TK1 , TK2, TK3, TK4 auf. Die Teilnehmerknoten TK1 , TK2, TK3, TK4 sind mittels eines Kommunikationsnetzwerks KN miteinander verbunden, sind dazu ausgestaltet, eine Blockchain mit den in Fig. 1 beschriebenen Eigenschaften und Funktionen auszuführen und weisen jeweils eine Datenbank DB auf.
Über die Steuerungseinheit SPS senden die Feldgeräte F1 , F2, F3, F4 ihre generierten Daten über das Internet an die Serviceplattform SP. Eine Definition von Feldgeräten F1 , F2, F3, F4 und den möglichen generierten Daten ist bereits im einleitenden Teil der Beschreibung beschrieben.
Alternativ können die Daten der Feldgeräte F1 , F2, F3, F4 auch über ein anderes, am Feldbus FB angeschlossenes, mit dem Internet I verbundenes Gerät, beispielsweise ein Gateway oder ein Edge-Device, an die Service-Plattform SP übermittelt werden. Es kann auch vorgesehen sein, dass die Feldgeräte F1 , F2, F3, F4 jeweils eine eigene Schnittstelle aufweisen, über die die Feldgeräte F1 , F2, F3, F4 mit dem Internet I verbunden werden können.
Nach Erhalt der Daten der Feldgeräte F1 , F2, F3, F4 erstellt ein Teilnehmerknoten TK1 , TK2, TK3, TK4 der Service-Plattform eine oder mehrere Transaktionen TA, die die Daten enthalten. Nach Validierung der Transaktionen TA durch alle Teilnehmerknoten TK1 , TK2, TK3, TK4 erfolgt, wie in Fig. 1 beschrieben, eine Blockerstellung, bzw. eine Erstellung eines Sicherheits-Datenblocks SP und ggf. eine Durchführung der weiteren, in Fig. 1 beschriebenen Schritte.
Zum Abschluss sind einige Vorteile des erfindungsgemäßen Verfahrens noch einmal aufgeführt:
- Dezentrale Speicherung der Daten der Anlage in mehreren Datenbanken DB statt in einer zentralen Datenbank DB, wodurch die Verletzlichkeit der Daten gesenkt wird;
Integrität der Daten durch Verknüpfung der Datenblöcke BL1 , BL2, BL3;
Durchlaufen mehrerer Validierungsvorgänge, wodurch nur den Anforderungen genügende
Transaktionen TA, bzw. gültige Datenblöcke BL1 , BL2, BL3 gespeichert werden;
- Zusätzlicher Schutz vor Angriffen durch Erstellen eines Sicherheits-Datenblocks SB in
vorgegebenen Zeitpunkten, welcher den signierten Hashwert *#2*des vorangehenden
Datenblocks BL2 enthält.
Es versteht sich von selbst, dass die gezeigten Ausführungsbeispiele ausschließlich beispielhafter Natur sind und das erfindungsgemäße Verfahren mit jeglicher Art und Anordnung von Feldgeräten in einer Anlage der Prozessautomatisierung ausführbar ist. Bezugszeichenliste
BL1 , BL2 Datenblock
D1 Datenbus
DB Datenbank
DF Datenfeld
F1 , F2, F3, F4 Feldgerät
FB Feldbus
KN Kommunikationsnetzwerk
SB Sicherheits-Datenblock
SPS Steuereinheit
SP Service-Plattform
TA Transaktion
TK1 , TK2, TK3, TK4 Teilnehmerknoten
WS1 , WS2 Workstation-PC
#1 , #2, #3 Hashwerte der Datenblöcke *#2* signierter Hashwert

Claims

Patentansprüche
Verfahren zum manipulationssicheren Speichern von Daten eines Feldgeräts (F1 , F2, F3, F4) der Automatisierungstechnik, wobei das Feldgerät (F1 , F2, F3, F4) einen Sensor und/oder Aktor und eine Elektronikeinheit aufweist, wobei das Feldgerät (F1 , F2, F3, F4) Daten generiert, bei denen es sich insbesondere um Messdaten, Steuerdaten, Historiendaten, Parametrierdaten, Diagnose- und/oder Statusdaten handelt, umfassend:
Erstellen zumindest einer Transaktion (TA), wobei die Transaktion (TA) generierte Daten des Feldgeräts (F1 , F2, F3, F4) enthält;
Speichern der Transaktion (TA) in einem Datenblock (BL1 , BL2), wobei der Datenblock (BL1 , BL2) entsprechend einem Datenblock der Blockchain-Technologie ausgestaltet ist und somit ein Datenfeld (DF), enthaltend gespeicherte Transaktionen (TA), und einen Hashwert (#1 , #2, #3) aufweist;
Verknüpfen des Datenblocks mit zu früheren Zeitpunkten erstellten Datenblöcken (BL1 , BL2), indem der Hashwert (#1 , #2, #3) des Datenblocks (BL1 , BL2) aus den in der Transaktion (TA) enthaltenen Daten sowie dem Hashwert (#1 , #2, #3) eines vorherigen Datenblocks (BL1 , BL2) berechnet wird;
Speichern des Datenblocks (BL1 , BL2) in einer Service-Plattform (SP), wobei in der Service-Plattform (SP) die zu früheren Zeitpunkten erstellten Datenblöcke (BL1 , BL2) gespeichert sind;
Erstellen und Speichern eines Sicherheits-Datenblocks (SB) in der Service-Plattform (SP), wobei im Datenfeld (DF) des Sicherheits-Datenblocks (SB) zusätzlich oder alternativ zu gespeicherten Transaktionen (TA) der Hashwert (#1 , #2, #3) des vorherigen Datenblocks (BL1 , BL2) enthalten ist, wobei der Hashwert (#1 , #2, #3) des vorherigen Datenblocks (BL1 , BL2) mit einem ersten privaten Schlüssel signiert ist.
Verfahren nach Anspruch 1 , wobei die Service-Plattform (SP) zumindest eine Datenbank (DB) umfasst, in der die Datenblöcke (BL1 , BL2), bzw. die Sicherheits-Datenblocke (SB), zentral über eine Client-Server-Architektur gespeichert werden.
Verfahren nach Anspruch 1 , wobei die Service-Plattform (SP) dezentral mit Hilfe einer
Blockchain Technologie betrieben wird und aus einer Vielzahl von Teilnehmerknoten (TK1 , TK2, TK3, TK4) besteht, wobei die Teilnehmerknoten (TK1 , TK2, TK3, TK4) Datenblöcke (BL1 , BL2) bzw. Sicherheits-Datenblocke (SB), erstellen, wobei in jedem Teilnehmerknoten (TK1 , TK2, TK3, TK4) jeweils zumindest eine Datenbank (DB) integriert wird, und wobei die Datenblöcke (BL1 , BL2) bzw. die Sicherheits-Datenblocke (SB), dezentral in den Datenbanken (DB) gespeichert werden Verfahren nach Anspruch 3, wobei ein erstellter Datenblock (BL1 , BL2), bzw. Sicherheits- Datenblock (SB), von allen Teilnehmerknoten (TK1 , TK2, TK3, TK4) verifiziert wird und nur dann in der Service-Plattform (SP) gespeichert wird, wenn zumindest eine vorgegebene Anzahl aller Teilnehmerknoten (TK1 , TK2, TK3, TK4) den Hashwert (#1 , #2, #3) des Datenblocks (BL1 , BL2), bzw. des Sicherheits-Datenblocks (SB), erfolgreich verifiziert.
Verfahren nach zumindest einem der Ansprüche 3 oder 4, wobei die erstellte Transaktion (TA) vor dem Speichern in den Datenblock (BL1 , BL2), bzw. in dem Sicherheits-Datenblock (SB) an alle Teilnehmerknoten (TK1 , TK2, TK3, TK4) übermittelt wird und von den Teilnehmerknoten (TK1 , TK2, TK3, TK4) validiert wird und wobei die erstellte Transaktion (TA) nur dann in dem Datenblock (BL1 , BL2), bzw. in dem Sicherheits-Datenblock (SB), gespeichert wird, wenn diese von zumindest einem der Teilnehmerknoten (TK1 , TK2, TK3, TK4) erfolgreich validiert wird.
Verfahren nach zumindest einem der Ansprüche 3 bis 5, wobei das Feldgerät (F1 , F2, F3, F4) selbst einen Teilnehmerknoten (TK1 , TK2, TK3, TK4) der Service-Plattform (SP) bildet und Transaktionen (TA) und/oder Datenblöcke (BL1 , BL2), bzw. Sicherheits-Datenblöcke (SB), erstellt.
Verfahren nach zumindest einem der vorherigen Ansprüche, wobei das Feldgerät (F1 , F2, F3, F4) vor Erstellen der Transaktion (TA) den Hashwert (#1 , #2, #3) des vorherigen Datenblocks (BL1 , BL2) erhält und die generierten Daten und/oder den Hashwert (#1 , #2, #3) des vorherigen Datenblocks (BL1 , BL2) mit dem ersten privaten Schlüssel, oder mit einem vom ersten privaten Schlüssel abweichenden zweiten Schlüssel signiert und/oder verschlüsselt.
Verfahren nach einem der vorherigen Ansprüche, wobei der Sicherheits-Datenblock (SB) nach definierten Zeitabständen erstellt wird.
9. Verfahren nach zumindest einem der vorherigen Ansprüche, wobei der signierte Hashwert (#1 #2, #3) mittels eines zu dem ersten privaten Schlüssel korrespondierenden öffentlichen
Schlüssels verifiziert wird.
PCT/EP2017/071543 2016-09-30 2017-08-28 Verfahren zum manipulationssicheren speichern von daten eines feldgeräts WO2018059855A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/337,699 US11032066B2 (en) 2016-09-30 2017-08-28 Method for tamper-proof storage of data of a field device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016118614.7 2016-09-30
DE102016118614.7A DE102016118614A1 (de) 2016-09-30 2016-09-30 Verfahren zum manipulationssicheren Speichern von Daten eines Feldgeräts

Publications (1)

Publication Number Publication Date
WO2018059855A1 true WO2018059855A1 (de) 2018-04-05

Family

ID=59761949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/071543 WO2018059855A1 (de) 2016-09-30 2017-08-28 Verfahren zum manipulationssicheren speichern von daten eines feldgeräts

Country Status (3)

Country Link
US (1) US11032066B2 (de)
DE (1) DE102016118614A1 (de)
WO (1) WO2018059855A1 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164780A (zh) * 2018-11-22 2019-01-08 北京八分量信息科技有限公司 一种基于边缘计算的工业现场设备控制方法、装置及系统
WO2021052708A1 (de) * 2019-09-18 2021-03-25 Endress+Hauser SE+Co. KG System und verfahren zum manipulationssicheren verwalten von daten eines feldgeräts der automatisierungstechnik
CN112558557A (zh) * 2019-09-25 2021-03-26 施耐德电器工业公司 工业过程控制
US11126750B2 (en) 2018-02-23 2021-09-21 Vega Grieshaber Kg Manipulation-proof storage of evidence-relevant data
GB2610981A (en) * 2019-05-06 2023-03-22 Fisher Rosemount Systems Inc Framework for privacy-preserving big-data sharing using distributed ledger
WO2023083721A1 (de) * 2021-11-11 2023-05-19 Endress+Hauser Flowtec Ag Verfahren zum erkennen von manipulation von daten in einem netzwerk
GB2614620A (en) * 2019-01-15 2023-07-12 Fisher Rosemount Systems Inc Maintaining quality control, regulatory, and parameter measurement data using distributed ledgers in process control systems
GB2615020A (en) * 2019-01-15 2023-07-26 Fisher Rosemount Systems Inc Distributed ledgers in process control systems

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018108309A1 (de) * 2018-04-09 2019-10-10 Wago Verwaltungsgesellschaft Mbh Automatisierungssystem, Reihenklemme für Automatisierungssysteme sowie Verfahren hierzu
PT3595267T (pt) 2018-07-11 2020-07-01 Siemens Ag Processos, dispositivos e sistemas para a troca de dados entre um sistema de bancos de dados distribuído e dispositivos
EP3715981A1 (de) * 2019-03-27 2020-09-30 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern einer ausführung von transaktionen
BE1027181B1 (de) 2019-04-09 2020-11-09 Phoenix Contact Gmbh & Co Verfahren und System zum sicheren Bereitstellen von Daten eines Gegenstands über dessen gesamten Lebenszyklus
WO2022167073A1 (de) * 2021-02-03 2022-08-11 Vega Grieshaber Kg Verfahren zum betreiben eines feldgeräts und system zum betreiben von feldgeräten

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600094B1 (en) * 2006-06-30 2009-10-06 Juniper Networks, Inc. Linked list traversal with reduced memory accesses
US7904450B2 (en) * 2008-04-25 2011-03-08 Wilson Kelce S Public electronic document dating list
CN102420994A (zh) * 2010-09-27 2012-04-18 索尼公司 电子数据完整性保护装置和方法以及数据监控系统
US9219687B2 (en) * 2013-03-15 2015-12-22 Cisco Technology, Inc. Path optimization in multi-node virtual switch with orphan ports
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHALLAL Y ET AL: "A taxonomy of multicast data origin authentication: Issues and solutions", IEEE COMMUNICATIONS SURVEYS AND TUTORIALS, INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, US, vol. 2, no. 3, 1 July 2004 (2004-07-01), pages 34 - 57, XP011285495, ISSN: 1553-877X *
YUN ZHOU ET AL: "Multimedia Broadcast Authentication Based on Batch Signature [Advances in Mobile Multimedia]", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 45, no. 8, 1 August 2007 (2007-08-01), pages 72 - 77, XP011190292, ISSN: 0163-6804 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126750B2 (en) 2018-02-23 2021-09-21 Vega Grieshaber Kg Manipulation-proof storage of evidence-relevant data
CN109164780A (zh) * 2018-11-22 2019-01-08 北京八分量信息科技有限公司 一种基于边缘计算的工业现场设备控制方法、装置及系统
CN109164780B (zh) * 2018-11-22 2020-06-16 北京八分量信息科技有限公司 一种基于边缘计算的工业现场设备控制方法、装置及系统
GB2615020B (en) * 2019-01-15 2023-11-29 Fisher Rosemount Systems Inc Distributed ledgers in process control systems
US11960473B2 (en) 2019-01-15 2024-04-16 Fisher-Rosemount Systems, Inc. Distributed ledgers in process control systems
GB2614620B (en) * 2019-01-15 2023-11-29 Fisher Rosemount Systems Inc Maintaining quality control, regulatory, and parameter measurement data using distributed ledgers in process control systems
GB2614620A (en) * 2019-01-15 2023-07-12 Fisher Rosemount Systems Inc Maintaining quality control, regulatory, and parameter measurement data using distributed ledgers in process control systems
GB2615020A (en) * 2019-01-15 2023-07-26 Fisher Rosemount Systems Inc Distributed ledgers in process control systems
GB2586293B (en) * 2019-01-15 2023-08-09 Fisher Rosemount Systems Inc Distributed ledgers in process control systems
GB2610981A (en) * 2019-05-06 2023-03-22 Fisher Rosemount Systems Inc Framework for privacy-preserving big-data sharing using distributed ledger
US11782421B2 (en) 2019-05-06 2023-10-10 Fisher-Rosemount Systems, Inc. Framework for privacy-preserving big-data sharing using distributed ledgers
GB2610981B (en) * 2019-05-06 2023-09-13 Fisher Rosemount Systems Inc Framework for privacy-preserving big-data sharing using distributed ledgers
WO2021052708A1 (de) * 2019-09-18 2021-03-25 Endress+Hauser SE+Co. KG System und verfahren zum manipulationssicheren verwalten von daten eines feldgeräts der automatisierungstechnik
CN114430895A (zh) * 2019-09-18 2022-05-03 恩德莱斯和豪瑟尔欧洲两合公司 用于以安全方式管理自动化现场设备的数据以防止操纵的系统和方法
EP3798772A1 (de) * 2019-09-25 2021-03-31 Schneider Electric Industries SAS Industrie-prozesssteuerung
US11693393B2 (en) 2019-09-25 2023-07-04 Schneider Electric Industries Sas Blockchain method for controlling an industrial process
CN112558557A (zh) * 2019-09-25 2021-03-26 施耐德电器工业公司 工业过程控制
WO2023083721A1 (de) * 2021-11-11 2023-05-19 Endress+Hauser Flowtec Ag Verfahren zum erkennen von manipulation von daten in einem netzwerk

Also Published As

Publication number Publication date
DE102016118614A1 (de) 2018-04-05
US11032066B2 (en) 2021-06-08
US20200036520A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
WO2018059855A1 (de) Verfahren zum manipulationssicheren speichern von daten eines feldgeräts
EP3520350B1 (de) Manipulationssicheres speichern einer prozessgrösse in einem automatisierungssystem
EP3264208B1 (de) Verfahren zum aktualisieren von prozessobjekten in einem engineerings-system
EP2911024B1 (de) Verfahren zur Inbetriebnahme eines industriellen Automatisierungsnetzwerks
DE102013101355A1 (de) Hybrides sequenzielles und simultanes Prozesssimulationssystem
EP3520349B1 (de) Verfahren zum manipulationssicheren bewerten von komponenteneigenschaften eines feldgeräts
EP3355230A1 (de) Verfahren und vorrichtung zum rechnergestützten erstellen und ausführen einer steuerfunktion
EP3763089B1 (de) Verfahren und steuersystem zum steuern und/oder überwachen von geräten
DE102017111928A1 (de) Verfahren zur autorisierten Aktualisierung eines Feldgeräts der Automatisierungstechnik
EP3379351B1 (de) Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung
EP3391611B1 (de) Zugangsschlüssel für ein feldgerät
EP3320431A1 (de) Computerimplementiertes verfahren zur bearbeitung von datenobjektvarianten
EP3384353B1 (de) Verfahren und system zur optimierung der bedienung von zumindest einem einer vielzahl von feldgeräten der automatisierungstechnik
EP3699704B1 (de) System und verfahren zum überprüfen von systemanforderungen von cyber-physikalischen systemen
DE102020124820A1 (de) Sicherer externer zugriff auf prozesssteuerungsdaten durch eine mobile vorrichtung
EP2954534A1 (de) Vorrichtung und verfahren zur erkennung von unbefugten manipulationen des systemzustandes einer steuer- und regeleinheit einer kerntechnischen anlage
EP4032243A1 (de) System und verfahren zum manipulationssicheren verwalten von daten eines feldgeräts der automatisierungstechnik
DE102019125120A1 (de) Selbstüberprüfendes System der Automatisierungstechnik
AT522276A1 (de) Vorrichtung und Verfahren zur Integritätsprüfung von Sensordatenströmen
DE102016118269A1 (de) Verfahren und System zum verteilten Speichern von Informationen in einer eine Vielzahl von Feldgeräten aufweisenden Anlage der Prozessautomatisierung
EP4073607A1 (de) Verfahren zum kompensieren einer fehlfunktion eines feldgeräts in einer anlage der automatisierungstechnik
DE112020005238T5 (de) Kommunikationsverarbeitungsvorrichtung, Kommunikationsverarbeitungsverfahren und -Programm, und Datenstruktur des Header-Teils der Netzwerkschicht
WO2020193044A1 (de) Verfahren und steuersystem zum steuern einer ausführung von transaktionen
DE102019127787A1 (de) Selbstüberprüfende Automatisierungskomponente
DE102008057003A1 (de) Verfahren zur sicheren Parametierung von AS Interface Slaves

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17761230

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17761230

Country of ref document: EP

Kind code of ref document: A1