[go: up one dir, main page]

DE102019216527A1 - Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts - Google Patents

Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts Download PDF

Info

Publication number
DE102019216527A1
DE102019216527A1 DE102019216527.3A DE102019216527A DE102019216527A1 DE 102019216527 A1 DE102019216527 A1 DE 102019216527A1 DE 102019216527 A DE102019216527 A DE 102019216527A DE 102019216527 A1 DE102019216527 A1 DE 102019216527A1
Authority
DE
Germany
Prior art keywords
module
data
code
certificate
identity
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.)
Withdrawn
Application number
DE102019216527.3A
Other languages
English (en)
Inventor
Julien Rausch
Tobias Buhlinger
Alexander Breitenbach
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019216527.3A priority Critical patent/DE102019216527A1/de
Priority to US17/062,113 priority patent/US11586777B2/en
Priority to CN202011164229.0A priority patent/CN112737787A/zh
Publication of DE102019216527A1 publication Critical patent/DE102019216527A1/de
Withdrawn legal-status Critical Current

Links

Images

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/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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/602Providing cryptographic facilities or services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Abstract

Es sind ein Gerät (10), ein System (1) und ein Verfahren zum Nachweis eines Integritätszustands eines Geräts (10) bereitgestellt. Das Gerät (10) hat mindestens ein erstes und ein zweites Modul (11, 12, 20), die zur Lösung einer Aufgabe zusammenwirken und/oder zur Kommunikation mit einer übergeordneten Vorrichtung (30) ausgestaltet sind, ein Zertifizierungsmodul (16), das ausgestaltet ist, für jedes Modul (11, 12, 20) eine kryptografische Signatur (S) auszustellen, und ein Identitätserzeugungsmodul (15), das ausgestaltet ist, aus der Signatur (S) des ersten Moduls (11) einen ersten Code (110) als Identität des ersten Moduls (11) zu bilden, aus der Signatur (S) des zweiten Moduls (12; 20) einen zweiten Code (120, 200) als Identität des zweiten Moduls (11) zu bilden, und aus dem ersten und zweiten Code (110, 120; 110, 200) einen Gesamtcode (150) zu bilden, wobei das Zertifizierungsmodul (16) ausgestaltet ist, den Gesamtcode (200) mit einem Schlüssel (161) zu signieren, um für das Gerät (10) ein eineindeutiges Zertifikat (150, 165) auszustellen, welches das Gerät (10) eineindeutig identifiziert.

Description

  • Die vorliegende Erfindung bezieht sich auf ein Gerät oder eine Maschine, ein System und ein Verfahren zum Nachweis eines Integritätszustands eines solchen Geräts.
  • Eine Maschine oder eine industrielle Anlage hat eine Vielzahl von Geräten. Jedes Gerät hat eine Vielzahl von Modulen, wie ein Konfigurationsmodul oder ein Softwaremodul. Jedes Gerät hat in der Maschine oder der industriellen Anlage eine bestimmte Aufgabe. Gegebenenfalls wirken mindestens zwei der Geräte oder dessen Module zusammen, um eine Aufgabe zu lösen. Dabei tauschen die Geräte oder dessen Module untereinander Daten aus, wie beispielsweise Sensordaten, also Istwerte aus dem Betrieb der Maschine, oder Steuerbefehle mit Sollwerten zur Steuerung eines Antriebs, oder Ähnliches. Zudem werden bei einigen Anwendungen Daten an Vorrichtungen übertragen, die extern von der Maschine oder der industriellen Anlage angeordnet sind. Solche Vorrichtungen sind beispielsweise übergeordnete Steuereinrichtungen oder Datenverwaltungssysteme. In den Vorrichtungen werden gegebenenfalls auch Daten von anderen Maschinen oder industriellen Anlagen gespeichert und verwendet. Dadurch ist sowohl in der Maschine als auch bei den extern angeordneten Vorrichtungen eine Vielzahl von Daten zu verwalten.
  • Problematisch ist, wenn eines der Geräte unautorisiert gegen ein fremdes Gerät ausgetauscht wird oder die Konfiguration oder ein Anwendungsprogramm eines Geräts unautorisiert verändert wird. Dadurch kann der Betrieb des Geräts und des Systems oder der industriellen Anlage manipuliert werden. Zusätzlich oder alternativ kann aufgrund der Manipulation ein Fehler beispielsweise in der Konfiguration auftreten, so dass Ausschuss produziert wird. Ähnliches gilt, wenn in ein Gerät des Systems von extern unautorisiert oder durch eine falsche Verbindung von Geräten Daten eingespielt werden, wobei derartige Daten beispielsweise Daten von Sensoren des Systems verfälschen oder andere, schlimmstenfalls falsche, Sollwerte vorgeben. Auch auf derartige Weise kann der Betrieb des Geräts manipuliert werden.
  • Alles dies kann zu mindestens unerwünschten Ergebnissen im Betrieb des Geräts oder sogar zu gefährlichen Zuständen des Systems führen. Daraus können unerwünschte Stillstände des Geräts bzw. des Systems oder der industriellen Anlage resultieren. Diese Situationen sind auch in Bezug auf die Sicherheit des Geräts insbesondere in einem industriellen Umfeld nicht hinnehmbar, in dem vorbestimmte Anforderungen an die Sicherheit bestehen.
  • Problematisch ist auch, dass zur Qualitätssicherung von hergestellten Produkten und/oder zur Fehlersuche immer zweifelsfrei ermittelbar sein soll, mit welchen Geräten und oder welchen Modulen ein Produkt hergestellt wurde. Nur so ist bei Produktionsfehlern beispielsweise eine falsche Konfiguration des Geräts als Fehlerquelle sicher auszuschließen.
  • Daher ist es Aufgabe der vorliegenden Erfindung, ein Gerät oder eine Maschine, ein System und ein Verfahren zum Nachweis eines Integritätszustands eines solchen Geräts bereitzustellen, mit welchen die zuvor genannten Probleme gelöst werden können. Insbesondere sollen ein Gerät oder eine Maschine, ein System und ein Verfahren zum Nachweis eines Integritätszustands eines solchen Geräts bereitgestellt werden, mit welchen die Manipulation eines Geräts mit großer Sicherheit prüfbar ist und lange ungeplante Stillstandszeiten des Geräts oder der Maschine oder des Systems verhinderbar sind.
  • Die zuvor genannte Aufgabe wird gelöst durch ein Gerät, wie in Anspruch 1 beschrieben. Das Gerät hat mindestens ein erstes und ein zweites Modul, die zur Lösung einer Aufgabe zusammenwirken und/oder zur Kommunikation mit einer übergeordneten Vorrichtung ausgestaltet sind, ein Zertifizierungsmodul, das ausgestaltet ist, für jedes Modul eine kryptografische Signatur auszustellen, ein Identitätserzeugungsmodul, das ausgestaltet ist, aus der Signatur des ersten Moduls einen ersten Code als Identität des ersten Moduls zu bilden, aus der Signatur des zweiten Moduls einen zweiten Code als Identität des zweiten Moduls zu bilden, und aus dem ersten und zweiten Code einen Gesamtcode zu bilden, wobei das Zertifizierungsmodul ausgestaltet ist, den Gesamtcode mit einem Schlüssel zu signieren, um für das Gerät ein eineindeutiges Zertifikat auszustellen, welches das Gerät eineindeutig identifiziert.
  • Das Gerät ist derart ausgestaltet, dass sicher überprüfbar ist, ob das Gerät frei von Schadsoftware ist und ob keine sonstige unautorisierte Manipulation des Systems aufgetreten ist. Beispielsweise kann die Konfiguration eines mit dem Gerät verbundenen Feldbusses, bzw. sämtliche Konfiguration einer Steuerung, jederzeit fälschungssicher auf Umkonfiguration geprüft werden.
  • Mit dem Gerät wird es möglich, auf einfache Art und Weise zu prüfen ob eine Manipulation der Systemkonfiguration, einer Software/Firmware-Konfiguration des Geräts, die Anzahl, Art und Konfiguration angeschlossener Peripheriekomponenten und deren Buskonfiguration stattgefunden hat und somit die Systemintegrität gegeben ist. Damit ist auf einfache Art und Weise feststellbar, ob nur die gewollte Software installiert ist.
  • Noch ein anderer Vorteil liegt darin, dass das zuvor beschriebene Gerät auch bei der Suche nach der Ursache von Betriebsfehlern hilfreich ist. Insbesondere kann bei einer Abweichung der Produktionsmenge des Systems in Folge eines Gerätefehlers mit Hilfe des zuvor beschriebenen Geräts die Version der Steuerungsfirmware und die Konfiguration einschließlich aller Applikationsprogramme als Fehlerquelle ausgeschlossen werden.
  • Das Gerät ist derart aufgebaut, dass jedes systeminterne Modul und jede an das Gerät angeschlossene Peripherieeinrichtung eineindeutig dem Gerät zugeordnet ist. Hierbei können mit den Daten, die zwischen Geräten des Systems ausgetauscht werden, auch Angaben über das jeweilige Gerät mit übertragen werden, welches die Daten erzeugt hat.
  • Dadurch kann die Nachverfolgbarkeit der Herkunft aller Daten in Bezug auf eine Maschine des Systems und damit die Sicherheit der Daten und des Betriebs des Geräts und des Systems gewährleistet werden.
  • Optional kann das Gerät auch in einen Verbund, insbesondere eine Maschine oder einen Maschinenverbund eingebunden werden, in dem auch mindestens ein anderes Gerät angeordnet ist, wobei die Herkunft der Daten der einzelnen Geräte problemlos und immer eineindeutig ermittelt werden kann. Dadurch sind auch Daten von beispielsweise mehreren industriellen Steuereinrichtungen zum Steuern von Peripherie eineindeutig zuordenbar, die über Logikbausteine oder Antriebseinrichtungen an die Antriebe und/oder mindestens eine industrielle Steuereinrichtung angeschlossen sind. Die Manipulation von Daten ist dadurch zumindest schwieriger als bisher.
  • Insgesamt gestattet das zuvor beschriebene Gerät einen sehr einfachen, sicheren und zuverlässigen Betrieb des Systems oder einer Maschine oder eines der Maschine übergeordneten Maschinenverbunds oder einer übergeordneten industriellen Anlage. Dabei ist ein schnelles Reagieren auf aktuell auftretende Betriebszustände des Geräts bzw. des Systems möglich. Alle diese Eigenschaften resultieren in einem sehr effizienten Betrieb des Geräts und damit des Systems.
  • Vorteilhafte weitere Ausgestaltungen des Geräts sind in den abhängigen Ansprüchen angegeben.
  • Möglicherweise weist das erste Modul mindestens ein Anwendungsprogramm auf, das ausgestaltet ist, zur Lösung einer Aufgabe mindestens einen Parameter zu verwenden, und/oder zur Zusammenarbeit mit einem zweiten Anwendungsprogramm oder zur Kommunikation mit der übergeordneten Vorrichtung ausgestaltet ist.
  • Möglicherweise weist das zweite Modul mindestens eine Konfiguration auf, die mindestens einen Parameter aufweist, der zur Lösung der Aufgabe und/oder zur Kommunikation mit der übergeordneten Vorrichtung verwendbar ist.
  • Optional hat das Gerät zudem ein drittes Modul, das mit dem Gerät über ein Datennetzwerk verbunden ist, wobei das Identitätserzeugungsmodul ausgestaltet ist, aus der Signatur des dritten Moduls einen dritten Code zu bilden und den Gesamtcode aus dem ersten bis dritten Code zu bilden.
  • Denkbar ist, dass das Gerät eine modular aufgebaute Steuereinrichtung ist und das Datennetzwerk ein Feldbus ist. Zusätzlich oder alternativ kann der erste bis dritte Code jeweils ein Hashwert der Signatur sein und der Gesamtcode kann ein Hashwert des ersten bis dritten Codes sein.
  • Das Zertifizierungsmodul kann einen privaten Schlüssel aufweisen, der einen öffentlichen Schlüssel aufweist, wobei das Zertifizierungsmodul ausgestaltet ist, zum Signieren des Gesamtcodes für das Gerät den privaten Schlüssel zu verwenden.
  • Gemäß einer Option ist das Zertifizierungsmodul ausgestaltet, seinen öffentlichen Schlüssel an das erste oder zweite Modul zu senden, um die Identität des ersten oder zweiten Moduls zu prüfen.
  • Die zuvor genannte Aufgabe wird zudem gelöst durch ein System, wie in Anspruch 8 beschrieben. Das System hat mindestens zwei der zuvor beschriebenen Geräte, wobei eines der Geräte eine Steuereinrichtung ist, und wobei ein anderes der Geräte eine Antriebseinrichtung oder ein Werkzeug oder eine Transporteinrichtung ist.
  • Denkbar ist, dass das jedes Gerät ausgestaltet ist, bei einem Austausch von Daten mit einem anderen Gerät des Systems oder der übergeordneten Vorrichtung einen Austausch von Daten nur zuzulassen, wenn die Daten mit einem Unterzertifikat versehen sind.
  • In einer speziellen Ausgestaltung können die Daten Betriebszustandsdaten sein oder einen Steuerbefehl eines Geräts aufweisen.
  • In einer anderen speziellen Ausgestaltung umfassen die Daten mindestens einen Parameter, die bei der Steuerung des Antriebs mindestens eines Elements des Systems verwendbar sind.
  • In noch einer anderen speziellen Ausgestaltung umfassen die Daten eine IP-Adresse und/oder einen Namen des Geräts.
  • Das zuvor beschriebene System hat möglicherweise zudem eine extern von dem mindestens einen Gerät angeordneten Vorrichtung, wobei die Vorrichtung das Zertifikat des mindestens einen Geräts speichert, und wobei die Vorrichtung ausgestaltet ist, Daten, die von einem Gerät empfangen wurden, mit dem Zertifikat des Geräts auf Vertrauenswürdigkeit zu prüfen.
  • Die zuvor genannte Aufgabe wird zudem durch ein Verfahren zum Nachweis eines Integritätszustands eines Geräts gelöst, wie in Anspruch 13 beschrieben. Das Gerät hat mindestens ein erstes und ein zweites Modul, die zur Lösung einer Aufgabe zusammenwirken und/oder zur Kommunikation mit einer übergeordneten Vorrichtung ausgestaltet sind, wobei das Verfahren die Schritte aufweist: Ausstellen, mit einem Zertifizierungsmodul, einer kryptografischen Signatur für jedes Modul, und Bilden, mit einem Identitätserzeugungsmodul, aus der Signatur des ersten Moduls eines ersten Codes als Identität des ersten Moduls, Bilden, mit dem Identitätserzeugungsmodul, aus der Signatur des zweiten Moduls eines zweiten Codes als Identität des zweiten Moduls, und Bilden, mit dem Identitätserzeugungsmodul, aus dem ersten und zweiten Code eines Gesamtcodes, und Signieren, mit dem Zertifizierungsmodul, des Gesamtcodes mit einem Schlüssel, um für das Gerät ein eineindeutiges Zertifikat auszustellen, welches das Gerät eineindeutig identifiziert.
  • Das Verfahren erzielt die gleichen Vorteile, wie sie zuvor in Bezug auf das Gerät genannt sind.
  • Das Verfahren kann zudem die Schritte aufweisen: Prüfen, mit dem Zertifizierungsmodul, nach Empfang eines vorbestimmten Befehls, ob ein derzeit erstelltes eineindeutiges Zertifikat des Geräts mit einem Zertifikat übereinstimmt, das für das Gerät gespeichert ist, und Ausgeben von Daten, die eine Manipulation des derzeit erstellten eineindeutigen Zertifikats des Geräts anzeigen, wenn das derzeit erstellte eineindeutige Zertifikat des Geräts nicht mit dem Zertifikat übereinstimmt, das für das Gerät gespeichert ist.
  • Weitere mögliche Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale oder Ausführungsformen. Dabei wird der Fachmann auch Einzelaspekte als Verbesserungen oder Ergänzungen zu der jeweiligen Grundform der Erfindung hinzufügen.
  • Nachfolgend ist die Erfindung unter Bezugnahme auf die beiliegende Zeichnung und anhand von Ausführungsbeispielen näher beschrieben. Es zeigen:
    • 1 ein Blockschaltbild eines Systems mit mindestens einem Gerät oder Funktionsmodul gemäß einem ersten Ausführungsbeispiel;
    • 2 ein Flussdiagramm eines Verfahrens zum Nachweis eines Integritätszustands eines Systems gemäß dem ersten Ausfüh ru ngsbeispiel;
    • 3 ein Flussdiagramm des Verfahrens von 2 nach Wiedereinschalten des Geräts von 1; und
    • 4 ein Flussdiagramm eines Verfahrens zum Betrieb einer Maschine gemäß dem ersten Ausführungsbeispiel.
  • In den Figuren sind gleiche oder funktionsgleiche Elemente, sofern nichts anderes angegeben ist, mit denselben Bezugszeichen versehen.
  • 1 zeigt schematisch ein System 1 gemäß einem ersten Ausführungsbeispiel, in dem Gegenstände 2 behandelt werden können. In dem System 1 kann mindestens ein Benutzer 5 tätig sein. Ein Gerät 7, dass extern von dem System 1 angeordnet ist, kann nicht mit dem System 1 Daten austauschen, wie nachfolgend genauer beschrieben.
  • Das System 1 hat mindestens eine Maschine oder Gerät 10, ein Datennetzwerk 18, das insbesondere als Feldbus ausgestaltet ist, ein Peripheriemodul 20 mit Peripherieeinrichtungen 21, 22, 23 bis 2N und optional eine externe Vorrichtung 30, die extern von der Maschine oder dem Gerät 10 und den Peripheriegeräten 21, 22, 23 bis 2N angeordnet ist. Die Vorrichtung 30 ist insbesondere eine dem Gerät 10 übergeordnete Vorrichtung. Der Feldbus ist ausgestaltet, Sensoren und/oder Aktoren und/oder Leitsysteme, wie Steuereinrichtungen usw., für eine Übertragung von elektrischen Signalen zu verbinden. Der Feldbus ist ein beliebiger Feldbus der bekannten Feldbusse, wie insbesondere Sercos, CAN, FlexRay, Profibus, Ethernet, usw. Die Peripherieeinrichtungen 21 bis 2N sind beispielsweise Antriebsregler oder Sensoren oder Aktoren oder Schalter oder Geber sonstige Einrichtungen, die von den Anwendungsprogrammen 121, 122 steuerbar sind.
  • Zwischen der Maschine oder dem Gerät 10 und den Peripherieeinrichtungen 21 bis 2N sind mit Hilfe des Datennetzwerks 18 Daten 40 austauschbar. An der externen Vorrichtung 30 können Daten 45 des Geräts 10 angezeigt und/oder geprüft und/oder analysiert werden. Die Daten 45 sind Integritätsdaten, welche Informationen zur Identität des Geräts 10 und des daran angeschlossenen Peripheriemoduls 20 aufweisen.
  • Das System 1 kann eine industrielle Anlage sein, wie beispielsweise eine Montage- oder Demontageanlage zur Montage eines Gegenstands 2 oder zur Demontage des Gegenstands 2 sein. Zusätzlich oder alternativ ist die Bewegung oder die Bearbeitung des Gegenstands 2 mit dem Gerät 10 steuerbar. Dabei ist das Gerät 10 beispielsweise zumindest die Steuerung einer Schweißvorrichtung oder eines Schraubwerkzeugs oder einer Druckmaschine oder einer Rührmaschine oder eine beliebige andere Maschine oder eines beliebigen anderen Geräts, wie nachfolgend beschrieben. Insbesondere ist das Gerät eine modular aufgebaute Steuervorrichtung.
  • Das Gerät 10 hat ein Konfigurationsmodul 11, ein Softwaremodul 12, einen Sandbox-Softwarecontainer 14, ein Identitätserzeugungsmodul 15 und ein Zertifizierungsmodul 16. Der Sandbox-Softwarecontainer 14 umfasst mindestens eines der Module 15, 16.
  • Das Konfigurationsmodul 11 hat mindestens eine spezifische Konfiguration 111, 112 für eine spezielle Ausgestaltung von Hardware des Geräts 10 oder für den Feldbus gespeichert. Hardware des Geräts 10 ist insbesondere mindestens ein Speicher zum Speichern von Daten, mindestens ein Prozessor zur Verarbeitung der Daten und mindestens ein zusätzliches Bauteil, das mit dem Prozessor zusammenarbeitet, um eine Bearbeitung und/oder Behandlung des Gegenstands 2 vorzunehmen. Die mindestens eine spezifische Konfiguration 111, 112 umfasst mindestens einen Parameter 1120. Parameter 1120 sind beispielsweise die Größe eines Stroms, mit dem eine Schweißverbindung geschweißt werden soll, das maximale Anzugsdrehmoment für eine Schraube, der Wertebereich, in dem ein Temperatursensor messen soll, usw. Selbstverständlich sind je nach Art des Geräts 10 beliebige andere Parameter 1120 wählbar bzw. verwendbar.
  • Das Softwaremodul 12 hat mindestens ein Anwendungsprogramm 121, 122, das unter Verwendung der Hardware und der mindestens einen Konfiguration 111, 112 des Konfigurationsmoduls 11 ausführbar ist. Das mindestens eine Anwendungsprogramm 121, 122 ist ausgestaltet, um mindestens eine Funktion des Geräts 10 auszuführen. Eine derartige Funktion des Geräts 10 kann ein Herstellen einer Schweißverbindung und/oder ein Verschließen einer Flasche mit einem Drehverschluss, ein Einschrauben einer Schraube in mindestens ein Bauteil, ein Erfassen einer physikalischen Größe und/oder ein Verstellen eines Schalters und/oder eines Hebels und/oder ein Antreiben eines Elements in eine Bewegung, usw. sein. Selbstverständlich sind beliebige andere Funktionen des Geräts 10 möglich, die mit mindestens einem Anwendungsprogramm 121, 122 steuerbar sind.
  • Bei dem Gerät 10 erfüllt jede Konfiguration 111, 112 des Konfigurationsmoduls 11 und jedes Anwendungsprogramm 121, 122 des Softwaremoduls 12 eine bestimmte Aufgabe oder hat eine vorbestimmte Funktion. Die bestimmte Aufgabe oder vorbestimmte Funktion kann eine Behandlung und/oder Positionierung und/oder Bearbeitung des Gegenstands 2 oder ein Ausgeben der Daten 45 an die Vorrichtung 30 sein. Selbstverständlich sind beliebige andere Aufgabe(n) und/oder Funktion(en) oder deren Kombination denkbar.
  • Zudem hat jedes Modul 11, 12, 14, 15, 16 des Geräts 10 und des Peripheriemoduls 20 sowie deren Peripherieeinrichtungen 21 bis 2N eine kryptografische Signatur S. In 1 sind der Übersichtlichkeit halber nicht alle kryptografischen Signaturen S mit einem Bezugszeichen versehen. Die kryptografische Signatur S ist für jede Komponente des Systems 1, also für das Gerät 10, jedes der Module 11, 12, 14, 15, 16, usw., eine eineindeutige Signatur.
  • Das Identitätserzeugungsmodul 15 erzeugt für das Konfigurationsmodul 11 aus den Signaturen S des Moduls 11 und den Konfigurationen 111, 112 einen Code 110. Der Code 110 ist somit ein spezielles Merkmal des Konfigurationsmoduls 11. Hat das Konfigurationsmodul 11 beispielsweise nur die spezielle Konfiguration 111, also nur eine einzige spezielle Konfiguration, so ist der Code 110 ein spezielles Merkmal, das aus der Signatur S des Moduls 11 und aus der Signatur S der einen speziellen Konfiguration 111 gebildet wird. Andernfalls erzeugt das Identitätserzeugungsmodul 15 aus den speziellen Merkmalen von mindestens zwei speziellen Konfigurationen 111, 112 und dem Modul 11 ein spezielles Merkmal als Code 110. Hierbei können die speziellen Merkmale der speziellen Konfigurationen 111, 112 und/oder des Moduls 11 länger oder kürzer sein als der Code 110.
  • Zudem erzeugt das Identitätserzeugungsmodul 15 für das Softwaremodul 12 einen Code 120, der ein spezielles Merkmal des Softwaremoduls 12 ist. Hat das Softwaremodul 12 beispielsweise nur das Anwendungsprogramm 121, also nur ein einziges Anwendungsprogramm, so ist der Code 120 ein spezielles Merkmal, das aus der Signatur S des Moduls 12 und aus der Signatur S des Anwendungsprogramms 121 gebildet wird. Andernfalls erzeugt das Identitätserzeugungsmodul 15 aus den speziellen Merkmalen von mindestens zwei Anwendungsprogrammen 121, 122 und dem Modul 11 ein spezielles Merkmal als Code 120. Die speziellen Merkmale der Anwendungsprogramme 121, 122 und/oder des Moduls 12 können länger oder kürzer sein als der Code 120.
  • Zudem erzeugt das Identitätserzeugungsmodul 15 für das Peripheriemodul 20 einen Code 200. Hat das Peripheriemodul 20 nur eine der Peripherieeinrichtungen 21, 22, 23 bis 2N, also beispielsweise die Peripherieeinrichtung 21, so ist der Code 200 ein spezielles Merkmal, das aus der Signatur S des Peripheriemoduls 20 und der Signatur S der Peripherieeinrichtung 21 gebildet wird. Andernfalls erzeugt das Identitätserzeugungsmodul 15 aus den speziellen Merkmalen der insgesamt vorhandenen Peripherieeinrichtungen 21 bis 2N ein einziges spezielles Merkmal für das Peripheriemodul 20 als Code 200.
  • Zudem erzeugt das Identitätserzeugungsmodul 15 aus den Codes 110, 120, 200 einen gemeinsamen Code 150. Die Codes 110, 120, 200 können unterschiedlich oder gleich lang sein. Die Codes 110, 120, 200 können länger oder kürzer sein als der Code 150.
  • Das Modul 16 versieht den Code 150 mit Hilfe des privaten Schlüssels 161 mit einer Signatur 165. Das damit entstehende Zertifikat 150, 165 kann beispielsweise mittels der Daten 45 an die externe Vorrichtung 30 ausgegeben werden. Damit kann ein Benutzer 5 des Systems 1 prüfen, ob die Identität des Geräts 10 der erwarteten Identität entspricht oder nicht. Das Zertifikat 150, 165 identifiziert das Gerät 10 eineindeutig. Mit anderen Worten, das Zertifikat 150, 165 ist ein Nachweis für die Identität des Geräts 10.
  • In dem Modul 16 ist mindestens ein privater Schlüssel 161 für das Gerät 10 verwahrt und sicher gespeichert. Der mindestens eine private Schlüssel 161 ist gegen Auslesen aus dem zugehörigen Modul 16 geschützt. Der Käufer oder Betreiber, beispielsweise ein Benutzer 5, des Geräts 10 kann eigene private Schlüssel 161 in dem gewünschten Modul 16 erzeugen und für seinen Zweck verwenden. Jeder private Schlüssel 161 hat einen öffentlichen Anteil 162, der als öffentlicher Schlüssel bezeichnet wird.
  • Das Modul 16 vergibt auch die Signaturen S an die Module 11, 12, 15. Außerdem vergibt das Modul 16 auch die Signaturen S an die Konfigurationen 111, 112 sowie an die Anwendungsprogramme 121, 122. Zudem kann das Modul 16 die Signaturen S an das Peripheriemodul 20 vergeben. Die Signaturen S werden auf dem Gerät 10 mit einem privaten Schlüssel 161 des zuvor erwähnten mindestens einen privaten Schlüssels 161 erzeugt. Diese(r) private(n) Schlüssel 161 werden/wird in einem geschützten Speicher verwaltet. Der öffentliche Teil 162 des privaten Schlüssels 161 wird durch das Gerät 10 über beispielsweise die Daten 45 bereitgestellt. Dadurch kann der öffentliche Teil 162 des privaten Schlüssels 161 in überlagerten Systemen wie beispielsweise Engineeringsystemen oder Auditsystemen, insbesondere der Vorrichtung 30, verwendet werden, um dort auf Änderungen der Konfiguration zu prüfen und aufmerksam zu machen. Zusätzlich kann der öffentliche Teil 162 des privaten Schlüssels 161 in dem Modul 16 verwendet werden. Die Prüfung von mindestens einer Änderung der Konfiguration ist nachfolgend genauer beschrieben.
  • Somit wird mit dem Modul 16 mit Hilfe von kryptografischen Operationen ein Code 150 als Nachweis der Konfiguration des Geräts 10 erstellt und mit dem Modul 16 digital signiert. Das dadurch erzeugte Zertifikat 150, 165 wird auf Anfrage, beispielsweise in den Daten 45, ausgehändigt. Aus dem Zertifikat 150, 165 kann gegenüber Dritten nachgewiesen werden, dass das Gerät 10 nicht manipuliert wurde.
  • Liegt keine Manipulation vor, kann der Nachweis bzw. das Zertifikat 150, 165 zweifelsfrei einer Geräteidentität zugeordnet werden. Wurde das Gerät 10 jedoch manipuliert, kann das Zertifikat 150, 165 keiner Geräteidentität zugeordnet werden.
  • Sichergestellt wird die Identität mit einer eineindeutigen Geräteidentität basierend auf einer manipulationssicheren „Root-of-Trust“ auf jedem Einzelgerät. Drittgeräte oder Benutzer 5 des Systems 1 können zyklisch, also jeweils nach Ablauf einer vorbestimmten Zeitdauer, ein neues Zertifikat 150, 165 anfordern, um zyklisch die Integrität seiner Kommunikationspartner zu überprüfen.
  • Der Nachweis mittels des Zertifikats 150, 165 wird durch das System 1 automatisch generiert. Innerhalb des Systems 1 wird zu diesem Zeitpunkt eine Inventarisierung mit dem Modul 16 gestartet, welches individuelle Merkmale der Module 11, 12, 20 erzeugt. Ein individuelles Merkmal kann beispielsweise ein Hashwert oder verkürzter Wert des jeweiligen Objekts sein. Beispielweise kann aus einem Code mit dem Wert „63“ der Hashwert 9 gebildet werden, der der Quersumme des Werts „63“ entspricht. Gemäß einem anderen Beispiel wird aus einem Code mit dem Wert „789“ der Hashwert 7 gebildet werden, der dem Startwert des Werts „789“ entspricht. Gemäß noch einem anderen Beispiel wird aus einem Code mit dem Wert „789“ der Hashwert „79“ gebildet, der dem Startwert und Endwert des Werts „789“ entspricht. Selbstverständlich sind beliebige andere Verfahren zur Erzeugung von Hashwerten möglich.
  • Für jede installierte Software bzw. jedes installierte Anwendungsprogramm 121, 122 wird ein individuelles Merkmal erzeugt. Außerdem wird für jegliche Art von gespeicherter Konfiguration ein individuelles Merkmal erzeugt. Zusätzlich wird für jede angeschlossene Peripherieeinrichtung 21 bis 2N an dem Datennetzwerk beispielsweise, ein individuelles Merkmal erzeugt.
  • Alle innerhalb des Systems 1 vorhanden individuellen Merkmale fasst das Integritätsmodul 15 zu einem gesamtheitlichen Merkmal, insbesondere dem Code 150, zusammen und signiert diesen digital mit der Signatur 161 unter Verwendung des Moduls 16.
  • Die Gesamtheit der Merkmale bzw. der Code 150 einschließlich der digitalen Signatur 165 mit dem privaten Schlüssel 161 ergeben den oben erwähnten Nachweis über das Zertifikat 150, 165. Damit kann zu jeder Zeit ein gesamtes System 1 einfach auf Veränderung geprüft werden.
  • 2 zeigt ein Verfahren zum Nachweis eines Integritätszustands eines Geräts 10 oder eines Systems 1. Hierbei ist an jedes Modul 11, 12, 15, 16, jede Konfiguration 111, 112, jedes Anwendungsprogramm 121, 122 sowie an das Gerät 10 und das Peripheriemodul 20 und dessen Peripherieeinrichtungen 21 bis 2N eine kryptografische Signatur S zu vergeben.
  • Nach dem Beginn des Verfahrens von 2 werden daher bei einem Schritt S1 die Signaturen S zum Entwicklungszeitpunkt mindestens eines Anwendungsprogramms 121 erzeugt, das beispielsweise Firmware ist. Die Signaturen S können zu einem geeigneten Zeitpunkt des Fertigungsprozesses des Geräts 10 aufgebracht werden, insbesondere während des Fertigungsprozesses oder am Ende. Hierfür kann ein Zertifizierungsgerät 50 verwendet werden, das mindestens einen privaten Schlüssel aufweist. Der private Schlüssel 51 hat einen öffentlichen Anteil, den sogenannten öffentlichen Schlüssel 52. Basierend auf dem privaten Schlüssel 51 stellt das Zertifizierungsgerät 50 auf Anfrage aus dem mindestens einem Anwendungsprogramm 121 oder dem Gerät 10 eine Signatur S bzw. ein Zertifikat für das jeweilige Anwendungsprogramm 121 aus und sendet dieses an das Gerät 10 bzw. das Modul 12. Das Zertifizierungsgerät 50 generiert die Signatur S bzw. das Zertifikat auf Basis seines privaten Schlüssels 51. Hierfür signiert das Zertifizierungsgerät 50 die Anfrage aus dem jeweiligen Anwendungsprogramm 121 mit dem privaten Schlüssel 51 und erstellt damit die Signatur S bzw. das Zertifikat. Somit ist die Signatur S bzw. das Zertifikat eine vertrauenswürdige Signatur S bzw. Zertifikat für das jeweilige Anwendungsprogramm 121. Danach geht der Fluss zu einem Schritt S2 weiter.
  • Bei dem Schritt S2 wird mindestens ein Anwendungsprogramm 122, wie beispielsweise ein kundenspezifisches Programm, das beispielsweise ein SPS-Programm (SPS = speicherprogrammierbare Steuerung) ist, auf das Gerät 10 und/oder das System 1 aufgebracht. Alternativ oder zusätzlich können Konfigurationen 111, 112 auf das Gerät 10 und/oder das System 1 aufgebracht werden, die insbesondere eine Feldbuskonfiguration umfassen. Der Schritt S2 entspricht einem Engineering-Betriebszustand, in dem das Modul 16 in einen ersten Betriebszustand geschaltet ist. In dem Engineering-Betriebszustand findet ein Engineering einer Steuerungskomponente des Geräts 10 statt. Hierbei kann mindestens eines der Anwendungsprogramme 122, das insbesondere ein SPS-Programm ist, programmiert und beliebig geändert werden. Zusätzlich oder alternativ können zum Datennetzwerk 18 zusätzliche Teilnehmer, wie die Peripherieeinrichtungen 21 bis 2N hinzugefügt und beliebig konfiguriert werden. Zusätzlich oder alternativ kann sämtliche andere Kundensoftware als Anwendungsprogramm 122 oder eine sonstige Konfiguration 111, 112 hinzugefügt werden. Danach geht der Fluss zu einem Schritt S3 weiter.
  • Bei dem Schritt S3 generiert das Modul 16 zur Laufzeit der Anwendungsprogramme 121, 122 deren Signatur S auf einen bestimmten Befehl hin. Dies findet mit dem Modul 16 statt, wie zuvor in Bezug auf das Anwendungsprogramm 121 beim Schritt S1 und zuvor in Bezug auf die Codes 110, 120, 150 beschrieben. Im Kontext dieses Befehls wird von dem Modul 16 für alle Komponenten und Module 11, 12, 15 des Geräts 10, die noch keine Signatur S haben, ein Signierungsprozess angestoßen. Dabei können die Signaturen S durch beliebige und/oder unterschiedliche kryptografische Mechanismen erzeugt werden. Für diesen Befehl oder ein solches Kommando ist das Modul 16 zuständig, das ein eigenständiges und vor allem vom restlichen System 1 unabhängiges Softwaremodul ist. Dieses Softwaremodul 16 hat neben der Signaturerzeugung und Identitätserzeugung mittels des Zertifikats 150, 165 auch die Aufgabe, alle anderen Module 11, 12, 15, 20 zu überwachen und regelmäßig die Signaturen der Module 11, 12, 15, 20 und das Zertifikat 150, 165 zu prüfen, um festzustellen, ob eine unerwartete Manipulation im Gerät 10 und damit im System 1 stattgefunden hat. Danach ist das Gerät 10 für den Betrieb eingerichtet. Somit geht der Fluss zu einem Schritt S4 weiter.
  • Bei dem Schritt S4 sind an dem Modul 16 zwei verschiedene Betriebszustände auswählbar. Die Betriebszustände sind insbesondere durch einen Schalter auswählbar oder durch eine Eingabe an einer Anzeige des Moduls 16 auswählbar. Wird das Modul 16 in den ersten Betriebszustand geschaltet, der der in Bezug auf Schritt S2 beschriebene Engineering-Betriebszustand ist, geht der Fluss zu dem Schritt S2 zurück. Wird das Modul 16 in den zweiten Betriebszustand geschaltet, der ein Überwachungs-Betriebszustand ist, geht der Fluss zu einem Schritt S5 weiter. Der zweite Betriebszustand (Überwachungs-Betriebszustand) kann erst eingeschaltet werden, nachdem der Engineeringvorgang abgeschlossen ist, also die Programmierung des Geräts 10 fertig ist, da die Konfiguration und Parametrierung des Geräts 10 abgeschlossen ist.
  • Bei dem Schritt S5, bei dem das Modul 16 in einen zweiten Betriebszustand (Überwachungs-Betriebszustand) geschaltet ist, sind alle Signaturen S generiert. Daher kann das Modul 15 nun einem ganzheitlichen Status des Geräts 10 aggregieren bzw. erzeugen. Die Erzeugung des ganzheitlichen Status des Geräts 10 kann nach Ablauf einer vorbestimmten Zeitdauer wiederholt werden. Die vorbestimmte Zeitdauer ist beispielsweise 6 Monate oder ein Jahr oder eine beliebige andere konfigurierbare Zeitdauer. Die Zeitdauer kann bei der Konfiguration des Moduls 15 und/oder des Moduls 16 eingestellt werden. Für die Generierung des ganzheitlichen Status zieht das Gerät 15 alle Einzelsignaturen S der Einzelmodule 11, 12, 15, 16, 20 heran bzw. verwendet alle Einzelsignaturen S. Es entsteht ein Datum als Code 150, mit dem manipulationssicher - mittels, insbesondere asymmetrischer, Kryptografie - das aktuelle Steuerungssetup des Geräts 10 auf einen Blick auditiert werden kann. Das aktuelle Steuerungssetup des Geräts 10 ist der ganzheitliche Status des Geräts 10, der die Verschaltung mit dem Peripheriemodul 20 einschließt. Dieser Mechanismus läuft komplett unabhängig vom restlichen Steuerungssystem, das mit den Modulen 11, 12 ausgeführt wird, in dem eigenen Sandbox-Softwarecontainer 14 der Steuerung des Geräts 10. Dieser Sandbox-Softwarecontainer 14 umfasst mindestens eines der Module 15, 16. Danach geht der Fluss zu einem Schritt S6 weiter.
  • Bei dem Schritt S6 wird auf Anforderung eines Benutzers 5 mit der Vorrichtung 30, beispielsweise ihrer Anzeigeeinrichtung, oder am Gerät 10 das aktuelle Steuerungssetup des Geräts 10 angezeigt. Die Anzeige kann auf Eingabe eines Befehls durch einen Benutzer 5 an dem Modul 15 oder dem Modul 16 erfolgen. Der Befehl ist beispielsweise ein Befehl zum Feststellen des Steuerungssetups und/oder ein Befehl zur Anzeige des Steuerungssetups. Damit kann der Benutzer 5 auf einen Blick verlässlich erfassen oder feststellen, ob eine Änderung am Steuerungssystem des Geräts 10 stattgefunden hat oder nicht. Auch dieser Kontrollmechanismus läuft komplett unabhängig vom restlichen Steuerungssystem in dem eigenen Sandbox-Softwarecontainer 14 der Steuerung des Geräts 10. Danach geht der Fluss zu einem Schritt S7 weiter.
  • Bei dem Schritt S7 prüft das Modul 16, ob das gemäß Schritt S6 erzeugte aktuelle Steuerungssetup des Geräts 10 von dem erwarteten Steuerungssetup des Geräts 10 abweicht. Weicht das erzeugte aktuelle Steuerungssetup des Geräts 10 von dem erwarteten Steuerungssetup des Geräts 10 ab, stellt das Modul 16 fest, dass eine ungewollte Veränderung, also Manipulation, des Geräts 10 vorliegt. Somit geht der Fluss zu einem Schritt S8 weiter. Liegt keine Manipulation des Geräts 10 vor, geht der Fluss zu dem Schritt S5 zurück.
  • Bei dem Schritt S8 sendet das Modul 16 an ein überlagertes Auditsystem, beispielsweise die Vorrichtung 30, einen Alarm mittels der Daten 45. Danach geht der Fluss zu dem Schritt S4 zurück.
  • Das Verfahren ist beendet, wenn das Gerät 10 bzw. das System 1 ausgeschaltet wird.
  • Beim Wiedereinschalten des Geräts 10 geht das Gerät 10 in den Zustand gemäß Schritt S4, wie in 3 gezeigt.
  • Somit kann nach dem Wiedereinschalten des Geräts 10 ausgewählt werden, ob das Gerät 10 in den zweiten Betriebszustand (Überwachungs-Betriebszustand) gemäß dem zuvor beschriebenen Schritt S5 oder in den ersten Betriebszustand (Engineering-Betriebszustand) geschaltet werden soll, in dem nacheinander die Schritte S2 und S3 ausgeführt werden. Soll an dem Gerät 10 bzw. an dem System 1 autorisiert etwas geändert werden, kann ein Benutzer 5 unter Verwendung von geeigneten Sicherheitsmaßnahmen, wie Eingabe einer Authentifizierung, insbesondere eines Passworts oder von biometrischen Daten usw., das Modul 16 in den ersten Betriebszustand (Engineering-Betriebszustand) gemäß den zuvor beschriebenen Schritten S2, S3 schalten.
  • 4 veranschaulicht ein Verfahren zum Betrieb eines Systems, beispielsweise des Systems 1. Nach dem Beginn des Verfahrens werden bei einem Schritt S11 mit einem Gerät 10 beispielsweise Betriebszustandsdaten als Daten 48 erfasst und zum Versenden vorbereitet. Die Betriebszustandsdaten sind insbesondere eine Position des Roboters im Raum, ein Dampfduck in einem Kessel oder eine Position eines Ventilkolbens, oder die Größe eines elektrischen Stroms, oder der Versatz zu einer Ausrichtmarke, oder eine beliebige sonstige physikalische Größe. Danach geht der Fluss zu einem Schritt S12 weiter.
  • Bei dem Schritt S12 werden die Betriebszustandsdaten mit dem Zertifikat 150, 165 des Geräts 10 versehen, das die Betriebszustandsdaten erfasst hat. Dieses Gerät 10 ist nachfolgend als erstes Gerät 10 bezeichnet. Danach geht der Fluss zu einem Schritt S13 weiter.
  • Bei dem Schritt S13 werden die bei dem Schritt S12 gekennzeichneten Daten beispielsweise als Daten 48 an ein zweites Gerät 10 versendet, so dass die Daten 48 beispielsweise von dem Anwendungsprogramm 122 des zweiten Geräts 10 beispielsweise bei der Steuerung eines Antriebs verwendbar sind. Danach geht der Fluss zu einem Schritt S14 weiter.
  • Bei dem Schritt S14 empfängt das zweite Gerät 10 die Daten 48 und prüft die Daten 48 daraufhin, ob die Daten 48 vertrauenswürdige Daten sind. Sind die Daten 48 mit dem Zertifikat 150, 165 des ersten Geräts 10 versehen, akzeptiert das zweite Gerät 10 die Daten 48 als vertrauenswürdig. Andernfalls verwirft das zweite Gerät 10, die Daten 48 als nicht vertrauenswürdige Daten. Beispielsweise würde das zweite Gerät 10 Daten des externen Geräts 7 als nicht vertrauenswürdige Daten verwerfen, da das externe Gerät 7 seinen Daten kein für die Geräte 10 des Systems 1 vertrauenswürdiges Zertifikat zufügen kann. Danach geht der Fluss zu einem Schritt S15 weiter.
  • Bei dem Schritt S15 werden die bei dem Schritt S12 gekennzeichneten Daten 48 beispielsweise als Daten 45 an die Vorrichtung 30 verschickt, so dass die Daten 48 in der Vorrichtung 30 auswertbar sind, beispielsweise mit Hilfe einer Anzeigeeinrichtung. Optional umfassen die Daten 45 eine IP-Adresse und/oder einen Namen des Geräts 10 und/oder der Vorrichtung 30 umfassen. Danach geht der Fluss zu einem Schritt S16 weiter.
  • Bei dem Schritt S16 prüft die Vorrichtung 30 das Zertifikat, mit dem die Daten 16 versehen sind, mit dem Zertifikat 150, 165 des Geräts 10. Da das erste Gerät 10 die Daten 48 mit dem Zertifikat 150 versehen hat, akzeptiert die Vorrichtung 30 die Daten 48 als vertrauenswürdig. Somit können die Daten 48 weiterverarbeitet werden. Andernfalls werden die Daten 48 verworfen und die Vorrichtung 30 gibt eine Warnmeldung an einen Benutzer 5 aus.
  • Danach ist das Verfahren beendet.
  • Auf diese Weise können die Daten von unterschiedlichen Geräten 10 des Systems 1 nicht mehr einfach verwechselt werden. Dies trägt zu der richtigen Verwendung der Daten und damit zur Systemsicherheit bei.
  • Noch dazu ist mit den Zertifikaten 150, 165 unaufwändig Kryptographie verwendbar. Dadurch schafft das System 1 die Möglichkeit, auch beispielsweise eine fälschungssichere Darstellung der Kommunikationsbeziehungen zwischen Gerät 10 und Peripheriemodul 20 oder mehreren Geräten 10 einfach automatisch zu generieren. Dies verbessert die Bedienbarkeit des mindestens einen Geräts 10 oder des Systems 1. Außerdem wird auch dadurch die Sicherheit des Geräts 10 oder des Systems 1 erhöht, da Fehler schneller auffindbar sind. Dies trägt darüber hinaus dazu bei, dass Geräte- oder Systemstillstände so selten und kurz wie möglich gehalten werden können.
  • Gemäß einem zweiten Ausführungsbeispiel sind mehrere Geräte 10 in einem Verbund, insbesondere einer Maschine oder einem Maschinenverbund, zusammengefasst. Somit kann zusätzlich zu dem Zertifikat 150, 165 gemäß 1 auch für den Verbund ein Zertifikat erstellt werden. In diesem Fall wird nicht jeweils das Zertifikat 150, 165 der einzelnen Geräte 10 sondern das Zertifikat des Verbunds verwendet, um die Zugehörigkeit der einzelnen Geräte 10 zu dem Verbund anzuzeigen.
  • Somit ist nur das Zertifikat des Verbunds in den Daten 45 an die Vorrichtung 30 zu übertragen.
  • Dadurch kann die Anzahl der Daten 45, in denen ansonsten alle Zertifikate 150, 165 der einzelnen Geräte 10 des Verbunds an die Vorrichtung 30 zu übertragen wären, deutlich reduziert werden.
  • Um also dem gesamten Verbund zu vertrauen, erfolgt auf eine Aufforderung zur Generierung bzw. Abfrage der Gerätidentität gemäß beispielsweise Schritt S7 von 2 ein Dateitransfer des Zertifikats des Verbunds an überlagerte oder übergeordnete Systeme, wie beispielsweise das System 1 oder die Vorrichtung 30. Das kann manuell erfolgen, indem der Benutzer 5 die Verbundidentität gezielt von einem Zertifizierungsgerät des Verbunds herunterlädt. Ein solcher Benutzer 5 ist in der Regel Personal zur Inbetriebnahme oder Wartung des Geräts 10. Alternativ kann die Verbundidentität automatisiert an die Vorrichtung 30 gemeldet werden. Das automatisierte Melden könnte über eine entsprechende Schnittstelle, insbesondere Web-Interface, erfolgen.
  • Dadurch können auch der Verbund und/oder das System 1 als „Einheit“ identifiziert werden.
  • Ansonsten ist das System 1 gemäß dem vorliegenden Ausführungsbeispiel auf die gleiche Weise aufgebaut, wie zuvor in Bezug auf das erste Ausführungsbeispiel beschrieben.
  • Alle zuvor beschriebenen Ausgestaltungen des Systems 1, des Geräts 10 und des damit durchführbaren und zuvor beschriebenen Verfahrens können einzeln oder in allen möglichen Kombinationen Verwendung finden. Insbesondere können alle Merkmale und/oder Funktionen der zuvor beschriebenen Ausführungsbeispiele beliebig kombiniert werden. Zusätzlich sind insbesondere folgende Modifikationen denkbar.
  • Die in den Figuren dargestellten Teile sind schematisch dargestellt und können in der genauen Ausgestaltung von den in den Figuren gezeigten Formen abweichen, solange deren zuvor beschriebenen Funktionen gewährleistet sind.
  • Beispielsweise kann die Kommunikation, mit anderen Worten, der Austausch von Daten 40, 45, 48, in dem System 1 zumindest teilweise drahtgebunden oder zumindest teilweise drahtlos erfolgen. Möglicherweise können alternativ oder zusätzlich Mittel zur Realisierung einer Nahfeldkommunikation und/oder einer Fernfeldkommunikation vorgesehen sein, welche während einer Grundparametrierung mindestens eines Geräts 10 auswählbar sind/ist und deren Funkradius mittels einstellbarer Funkmodulparameter einstellbar ist.

Claims (14)

  1. Gerät (10), mit mindestens einem ersten und einem zweiten Modul (11, 12; 20), die zur Lösung einer Aufgabe zusammenwirken und/oder zur Kommunikation mit einer übergeordneten Vorrichtung (30) ausgestaltet sind, einem Zertifizierungsmodul (16), das ausgestaltet ist, für jedes Modul (11, 12, 20) eine kryptografische Signatur (S) auszustellen, einem Identitätserzeugungsmodul (15), das ausgestaltet ist, aus der Signatur (S) des ersten Moduls (11) einen ersten Code (110) als Identität des ersten Moduls (11) zu bilden, aus der Signatur (S) des zweiten Moduls (12; 20) einen zweiten Code (120, 200) als Identität des zweiten Moduls (11) zu bilden, und aus dem ersten und zweiten Code (110, 120; 110, 200) einen Gesamtcode (150) zu bilden, wobei das Zertifizierungsmodul (16) ausgestaltet ist, den Gesamtcode (200) mit einem Schlüssel (161) zu signieren, um für das Gerät (10) ein eineindeutiges Zertifikat (150, 165) auszustellen, welches das Gerät (10) eineindeutig identifiziert.
  2. Gerät (10) nach Anspruch 1, wobei das erste Modul (11) mindestens ein Anwendungsprogramm (121, 122) aufweist, das ausgestaltet ist, zur Lösung einer Aufgabe mindestens einen Parameter (1120) zu verwenden, oder zur Zusammenarbeit mit einem zweiten Anwendungsprogramm (121, 122) und/oder zur Kommunikation mit der übergeordneten Vorrichtung (30) ausgestaltet ist,
  3. Gerät (10) nach Anspruch 1 oder 2, wobei das zweite Modul (12) mindestens eine Konfiguration (111, 112) aufweist, die mindestens einen Parameter (1120) aufweist, der zur Lösung der Aufgabe und/oder zur Kommunikation mit der übergeordneten Vorrichtung (30) verwendbar ist.
  4. Gerät (10) nach einem der vorangehenden Ansprüche, zudem mit einem dritten Modul (20), das mit dem Gerät (10) über ein Datennetzwerk (18) verbunden ist, wobei das Identitätserzeugungsmodul (15) ausgestaltet ist, aus der Signatur (S) des dritten Moduls (20) einen dritten Code (200) zu bilden und den Gesamtcode (200) aus dem ersten bis dritten Code (110, 120, 150) zu bilden.
  5. Gerät (10) nach Anspruch 4, wobei das Gerät (10) eine modular aufgebaute Steuereinrichtung ist und das Datennetzwerk (18) ein Feldbus ist, und/oder wobei der erste bis dritte Code (110, 120, 150) jeweils ein Hashwert der Signatur (S) ist und der Gesamtcode (200) ein Hashwert des ersten bis dritten Codes (110, 120, 150) ist.
  6. Gerät (10) nach einer der vorangehenden Ansprüche, wobei das Zertifizierungsmodul (16) einen privaten Schlüssel (161) aufweist, der einen öffentlichen Schlüssel (162) aufweist, und wobei das Zertifizierungsmodul (16) ausgestaltet ist, zum Signieren des Gesamtcodes (200) für das Gerät (10) den privaten Schlüssel (161) zu verwenden.
  7. Gerät (10) nach Anspruch 6, wobei das Zertifizierungsmodul (16) ausgestaltet ist, seinen öffentlichen Schlüssel (162) an das erste oder zweite Modul (11, 12; 20) zu senden, um die Identität des ersten oder zweiten Moduls (11, 12; 20) zu prüfen.
  8. System (1), mit mindestens zwei Geräten (10) nach einem der vorangehenden Ansprüche, wobei eines der Geräte (10) eine Steuereinrichtung ist, und wobei ein anderes der Geräte (10) eine Antriebseinrichtung oder ein Werkzeug oder eine Transporteinrichtung ist.
  9. System (1) nach Anspruch 8, wobei jedes Gerät (10) ausgestaltet ist, bei einem Austausch von Daten (45; 48) mit einem anderen Gerät (10) des Systems (1) oder der übergeordneten Vorrichtung (30) einen Austausch von Daten (45; 48) nur zuzulassen, wenn die Daten (45; 48) mit einem Unterzertifikat (150; 165; S) versehen sind.
  10. System (1) nach Anspruch 8 oder 9, wobei die Daten (45; 48) Betriebszustandsdaten sind oder einen Steuerbefehl eines Geräts (10) aufweisen.
  11. System (1) nach einem der Ansprüche 8 bis 10, wobei die Daten (45; 48) mindestens einen Parameter (1120) umfassen, die bei der Steuerung des Antriebs mindestens eines Elements des Systems (1) verwendbar sind, und/oder wobei die Daten (45; 48) eine IP-Adresse und/oder einen Namen des Geräts (10) umfassen.
  12. System (1) nach einem der Ansprüche 8 bis 11, zudem mit einer extern von dem mindestens einen Gerät (10) angeordneten Vorrichtung (30), wobei die Vorrichtung (30) das Zertifikat (150, 165; S) des mindestens einen Geräts (10) speichert, und wobei die Vorrichtung (10) ausgestaltet ist, Daten (45; 48), die von einem Gerät (10) empfangen wurden, mit dem Zertifikat (150, 165; S) des Geräts (10) auf Vertrauenswürdigkeit zu prüfen.
  13. Verfahren zum Nachweis eines Integritätszustands eines Geräts (10), das mindestens ein erstes und ein zweites Modul (11, 12, 20) aufweist, die zur Lösung einer Aufgabe zusammenwirken und/oder zur Kommunikation mit einer übergeordneten Vorrichtung (30) ausgestaltet sind, wobei das Verfahren die Schritte aufweist Ausstellen (S1, S2, S3), mit einem Zertifizierungsmodul (16), einer kryptografischen Signatur (S) für jedes Modul (11, 12, 20), und Bilden (S3), mit einem Identitätserzeugungsmodul (15), aus der Signatur (S) des ersten Moduls (11) eines ersten Codes (110) als Identität des ersten Moduls (11), Bilden (S3), mit dem Identitätserzeugungsmodul (15), aus der Signatur (S) des zweiten Moduls (12; 20) eines zweiten Codes (120, 200) als Identität des zweiten Moduls (11), Bilden (S3), mit dem Identitätserzeugungsmodul (15), aus dem ersten und zweiten Code (110, 120; 110, 200) eines Gesamtcodes (150), und Signieren (S3), mit dem Zertifizierungsmodul (16), des Gesamtcodes (200) mit einem Schlüssel (161), um für das Gerät (10) ein eineindeutiges Zertifikat (150, 165) auszustellen, welches das Gerät (10) eineindeutig identifiziert.
  14. Verfahren nach Anspruch 13, zudem mit den Schritten Prüfen (S7), mit dem Zertifizierungsmodul (16), nach Empfang eines vorbestimmten Befehls, ob ein derzeit erstelltes eineindeutiges Zertifikat (150, 165) des Geräts (10) mit einem Zertifikat (150, 161) übereinstimmt, das für das Gerät (10) gespeichert ist, und Ausgeben (S8) von Daten (45), die eine Manipulation des derzeit erstellten eineindeutigen Zertifikats (150, 161) des Geräts (10) anzeigen, wenn das derzeit erstellte eineindeutige Zertifikat (150, 165) des Geräts (10) nicht mit dem Zertifikat (150, 161) übereinstimmt, das für das Gerät (10) gespeichert ist.
DE102019216527.3A 2019-10-28 2019-10-28 Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts Withdrawn DE102019216527A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102019216527.3A DE102019216527A1 (de) 2019-10-28 2019-10-28 Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts
US17/062,113 US11586777B2 (en) 2019-10-28 2020-10-02 Device, system and method for verifying an integrity status of a device
CN202011164229.0A CN112737787A (zh) 2019-10-28 2020-10-27 设备、系统和用于证明设备的完整性状态的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019216527.3A DE102019216527A1 (de) 2019-10-28 2019-10-28 Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts

Publications (1)

Publication Number Publication Date
DE102019216527A1 true DE102019216527A1 (de) 2021-04-29

Family

ID=75378825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019216527.3A Withdrawn DE102019216527A1 (de) 2019-10-28 2019-10-28 Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts

Country Status (3)

Country Link
US (1) US11586777B2 (de)
CN (1) CN112737787A (de)
DE (1) DE102019216527A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019216533B4 (de) * 2019-10-28 2024-09-19 Robert Bosch Gmbh System, maschine, verfahren zur konfiguration eines systems und verfahren zum betrieb einer maschine

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931545B1 (en) * 2000-08-28 2005-08-16 Contentguard Holdings, Inc. Systems and methods for integrity certification and verification of content consumption environments
US20050229004A1 (en) * 2004-03-31 2005-10-13 Callaghan David M Digital rights management system and method
WO2009157133A1 (ja) * 2008-06-23 2009-12-30 パナソニック株式会社 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路
CN101763596A (zh) * 2009-12-25 2010-06-30 鸿富锦精密工业(深圳)有限公司 数字签章系统及方法
US8484474B2 (en) * 2010-07-01 2013-07-09 Rockwell Automation Technologies, Inc. Methods for firmware signature
US8799634B2 (en) * 2011-12-23 2014-08-05 Blackberry Limited Method and system for temporarily reconfiguring system settings of a computing device during execution of a software application
DE102012217743B4 (de) * 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
US9122605B2 (en) * 2013-09-23 2015-09-01 Honeywell International Inc. Methods for determining multiple simultaneous fault conditions
US20150242620A1 (en) * 2014-02-27 2015-08-27 Microsemi SoC Corporation Methods for controlling the use of intellectual property in individual integrated circuit devices
US9553722B2 (en) * 2014-07-08 2017-01-24 Cryptography Research, Inc. Generating a key based on a combination of keys
US10375106B1 (en) * 2016-01-13 2019-08-06 National Technology & Engineering Solutions Of Sandia, Llc Backplane filtering and firewalls
DE102016200382A1 (de) * 2016-01-14 2017-07-20 Siemens Aktiengesellschaft Verfahren zur Überprüfung einer Sicherheitseinstufung eines ersten Geräts mit Hilfe eines digitalen Zertifikats, ein erstes und zweites Gerät sowie eine Zertifikat-Ausstellungsvorrichtung
US10355858B2 (en) * 2016-03-30 2019-07-16 Intel Corporation Authenticating a system to enable access to a diagnostic interface in a storage device
CN105790941B (zh) * 2016-04-22 2019-08-16 北京迪曼森科技有限公司 一种基于标识的具有域划分的组合密钥生成及认证方法
US10552138B2 (en) * 2016-06-12 2020-02-04 Intel Corporation Technologies for secure software update using bundles and merkle signatures
US10956615B2 (en) * 2017-02-17 2021-03-23 Microsoft Technology Licensing, Llc Securely defining operating system composition without multiple authoring
EP3370386B1 (de) * 2017-03-03 2019-05-15 The Boeing Company System und computerimplementiertes verfahren zur maschine-maschine-authentifizierung einer vorrichtung
WO2019029817A1 (en) * 2017-08-11 2019-02-14 Huawei Technologies Co., Ltd. DEVICES AND METHODS FOR KEY CERTIFICATE WITH MULTIPLE DEVICE CERTIFICATES
CN107566127B (zh) * 2017-09-30 2020-12-01 北京迪曼森科技有限公司 一种iki可信数字标识的生成方法及使用方法
US11240044B2 (en) * 2018-11-22 2022-02-01 International Business Machines Corporation Verifying purpose of data usage at sub-application granularity
US11140201B2 (en) * 2019-02-19 2021-10-05 International Business Machines Corporation Security platform for multi-component system and services thereof
CN109981287B (zh) * 2019-03-14 2020-03-17 亚数信息科技(上海)有限公司 一种代码签名方法及其存储介质

Also Published As

Publication number Publication date
CN112737787A (zh) 2021-04-30
US11586777B2 (en) 2023-02-21
US20210124846A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
EP3605253A1 (de) Automatisierte public key infrastructure initialisierung
EP4073602B1 (de) Leitsystem für technische anlagen mit zertifikatsmanagement
EP3264208A1 (de) Verfahren zum aktualisieren von prozessobjekten in einem engineerings-system
WO2017008953A1 (de) Verfahren und anordnung zum sicheren austausch von konfigurationsdaten einer vorrichtung
EP3985532B1 (de) Zertifikatsmanagement für technische anlagen
DE102015108359A1 (de) Verfahren und Vorrichtung zur automatischen Validierung von Sicherheitsfunktionen an einem modular aufgebauten Sicherheitssystem
EP3414632A1 (de) Verfahren und vorrichtung zum überwachen einer datenverarbeitung und -übertragung in einer sicherheitskette eines sicherheitssystems
EP3470939B1 (de) Verfahren und system zum überwachen der sicherheitsintegrität einer durch ein sicherheitssystem bereitgestellten sicherheitsfunktion
DE102019216527A1 (de) Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts
EP3993339B1 (de) Zertifikatsmanagement in einer technischen anlage
EP4031945B1 (de) Verfahren zur validierung oder verifikation eines feldgeräts
DE102019216533B4 (de) System, maschine, verfahren zur konfiguration eines systems und verfahren zum betrieb einer maschine
EP3470937B1 (de) Verfahren und vorrichtungen zum überwachen der reaktionszeit einer durch ein sicherheitssystem bereitgestellten sicherheitsfunktion
EP3582031A1 (de) Sichere verwaltung von zugangsdaten für steuereinrichtungen
EP3851923B1 (de) Leitsystem für technische anlagen mit zertifikatsmanagement
EP2599258A1 (de) Verfahren zum verarbeiten von nachrichten in einem kommunikationsnetz aus mehreren netzknoten
EP3820081A1 (de) Verfahren zur durchführung einer erlaubnisabhängigen kommunikation zwischen wenigstens einem feldgerät der automatisierungstechnik und einem bediengerät
DE102019125092A1 (de) System und Verfahren zum manipulationssicheren Verwalten von Daten eines Feldgeräts der Automatisierungstechnik
EP3734902A1 (de) Verfahren und system zur vergabe von öffentlich getrusteten zertifikaten, engineering- oder leitsystem und technische anlage
EP4243343A1 (de) Verfahren zur ausstellung eines zertifikats und computerimplementierte registrierungsstelle
EP4432602A1 (de) Verfahren zur ausstellung eines zertifikats und computerimplementierte registrierungsstelle
DE102016219207A1 (de) Verfahren und vorrichtung zum zertifizieren einer sicherheitskritischen funktionskette
EP4578140A1 (de) Sicheres technisches modul
EP4376354A1 (de) Sicheres technisches modul
EP4333363A1 (de) Verfahren zur ausstellung eines zertifikats und computerimplementierte registrierungsstelle

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee