(19)
(11) EP 3 439 228 A1

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
06.02.2019  Patentblatt  2019/06

(21) Anmeldenummer: 17184450.9

(22) Anmeldetag:  02.08.2017
(51) Internationale Patentklassifikation (IPC): 
H04L 9/08(2006.01)
(84) Benannte Vertragsstaaten:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Benannte Erstreckungsstaaten:
BA ME
Benannte Validierungsstaaten:
MA MD

(71) Anmelder: Siemens Aktiengesellschaft
80333 München (DE)

(72) Erfinder:
  • Aschauer, Dr. Hans
    81829 München (DE)
  • Falk, Dr. Rainer
    85586 Poing (DE)
  • Fischer, Kai
    85598 Baldham (DE)
  • Fries, Steffen
    85598 Baldham (DE)
  • Heintel, Markus
    81377 München (DE)
  • Klasen, Dr. Wolfgang
    85521 Ottobrunn (DE)
  • Pfau, Axel
    80333 München (DE)

   


(54) VERFAHREN UND VORRICHTUNGEN ZUM ERREICHEN EINER SICHERHEITSFUNKTION, INSBESONDERE IM UMFELD EINER GERÄTE- UND/ODER ANLAGENSTEUERUNG


(57) Die Erfindung beansprucht ein Verfahren zum Erreichen einer Sicherheitsfunktion für eine Sicherheits-Steuerungseinrichtung (E) zur Steuerung eines Geräts oder einer Anlage, umfassend:
ein Steuerungs-Grundgerät (G), wobei das Steuerungs-Grundgerät derart ausgebildet und eingerichtet ist, dass mittels des Ablaufs eines Steuerungsprogramms im Steuerungs-Grundgerät ein mit dem Steuerungs-Grundgerät verbindbares oder verbundenes Gerät, oder eine damit verbindbare oder verbundene Anlage, steuerbar ist oder gesteuert wird, und ein Sicherheitsmodul (S), welches zur Bereitstellung oder Ausführung einer kryptographischen Funktionalität für das Steuerungs-Grundgerät ausgebildet und eingerichtet ist, wobei das Sicherheitsmodul mittels einer Datenverbindung mit dem Steuerungs-Grundgerät verbindbar oder verbunden ist,
aufweisend folgende Schritte:
a) Bereitstellen zumindest eines ersten Teilgeheimnisses (KS1), welches im Steuerungs-Grundgerät gespeichert ist,
b) Bereitstellen zumindest eines zweiten Teilgeheimnisses (KS2), welches im Sicherheitsmodul gespeichert ist,
c) Zusammenführen des zumindest einen ersten und zweiten Teilgeheimnisses für das Erreichen der Sicherheitsfunktion, dadurch gekennzeichnet, dass
das zumindest eine erste Teilgeheimnis in Teilstücke einer vorgebbaren Größe zerlegt wird und die Menge an Teilstücken mit dem zumindest zweiten Teilgeheimnis schrittweise mittels einer Berechnungsvorschrift zusammengeführt werden, die entsprechend der Größe und Menge innerhalb eines vorgebbaren Zeitabschnitts während der Ausführung der Berechnungsvorschrift verarbeitbar sind.




Beschreibung


[0001] Die Erfindung betrifft (Betriebs-)Verfahren und Vorrichtungen für eine Sicherheits-Steuerungseinrichtung zur Steuerung eines Geräts oder einer Anlage, wobei die Sicherheits-Steuerungseinrichtung ein Steuerungs-Grundgerät sowie ein Sicherheitsmodul umfasst, wobei das Sicherheitsmodul mit dem Steuerungs-Grundgerät verbindbar ist oder verbunden ist.

[0002] Es besteht ein Bedarf, um mit IT-Security-Mechanismen Produkte, beispielsweise Geräte, Gerätekomponenten oder Softwarekomponenten, vor Manipulationen und/oder einem Reverse Engineering zu schützen. Kryptographische IT-Security-Mechanismen sind bereits beispielsweise in Smart Devices, beispielsweise in Geräten des Internets der Dinge, von cyberphysikalischen Systemen, von Automatisierungssystemen der Energietechnik oder von Fertigungssystemen, der Betriebstechnik und von anderen Anlagen in Einsatz.

[0003] Der Begriff "Security" bzw. "Sicherheit" bezieht sich im Rahmen der vorliegenden Beschreibung im Wesentlichen auf die Sicherheit, Vertraulichkeit und/oder Integrität von Daten sowie deren Übertragung und auch Sicherheit, Vertraulichkeit und/oder Integrität beim Zugriff auf entsprechende Daten. Auch die Authentifizierung bei Datenübertragungen beziehungsweise beim Datenzugriff gehört zum Begriff "Sicherheit", wie er im Rahmen der vorliegenden Beschreibung verwendet wird. Ein Modul kann hierbei als eine Hardware- und/oder Funktionseinheit, die software- und/oder firmwaremäßig ausgestaltet sein kann, ausgeprägt sein. Die Funktion kann beispielsweise mittels eines Prozessors und/oder einer Speichereinheit zum Speichern von Programmbefehlen ausgeführt werden.

[0004] Der Einsatz derartige Sicherheits-Steuerungseinrichtungen bzw. -Verfahren sind möglich. Es ist beispielsweise ein Sicherheitsmodul in der europäische Patentanmeldung EP 16172472.9 bereits vorgeschlagen worden. Hierbei umfasst die Sicherheits-Steuerungseinrichtung ein Steuerungs-Grundgerät sowie ein Sicherheitsmodul, wobei das Sicherheitsmodul mittels einer Datenverbindung über eine Datenschnittstelle mit dem Steuerungs-Grundgerät verbunden ist.

[0005] In der Europäischen Anmeldung EP 16172887.8 ist eine Gruppenauthentisierung von Geräten oder auch Komponenten derselben schon vorgeschlagen worden. Nur wenn alle originalen Komponenten im Gerät verfügbar sind, kann sich das Gerät authentifizieren.

[0006] Allgemein bekannt ist eine secure Multi-Party Computation (MPC) (https://en.wikipedia.org/wiki/Secure_multi-party_computation) bekannt. In einer Mehr-Parteien-Kommunikation (Multi-Party Communications) bzw. Nachrichtenaustausch kommt es in der Regel darauf an, dass die Parteien private (geheimzuhaltende) Daten mit einer öffentlichen Funktion ggf. mittels einer Vertrauensstelle berechnen lassen können und ein Ergebnis erhalten ohne ihre privaten Daten offenlegen zu müssen. Die "Vertrauensstelle" prüft dabei, ob die Parteien bzw. deren an der Kommunikation beteiligten Geräte vertrauenswürdig sind. Die verschiedenen Eingabewerte für die Berechnung sind dabei geheim und jeweils nur einer Partei (bzw. einer Untermenge derselben) bekannt. Für die Berechnung soll _keine_ zusätzliche vertrauenswürdige Partei benötigt werden. Kryptographische Operationen im Zusammenhang mit MPC sind in der Regel rechenaufwändig.

[0007] Nach https://www.dyadicsec.com/technology_mpc/ gibt es ein virtuelles HSM (Hardware Security Module). Ein HSM bezeichnet ein internes oder externes Peripheriegerät für die effiziente und sichere Ausführung kryptographischer Operationen oder Applikationen. Dies ermöglicht zum Beispiel, die Vertrauenswürdigkeit und die Integrität von Daten und den damit verbundenen Informationen in sicherheitskritischen IT-Systemen sicherzustellen. Beim virtuellen HSM wird der kryptographische Schlüssel eines virtuellen HSM auf mehrere Server-Maschinen verteilt. Dabei berechnen die mehreren Server-Maschinen unter Nutzung von MPC gemeinsam eine kryptographische Operation, ohne dass der HSM-Schlüssel vorliegt.

[0008] Hinsichtlich der oben erwähnten IT-Security-Mechanismen sind insbesondere im industriellen Umfeld weniger aufwändige Security-Verfahren bzw. -einrichtungen gefragt.

[0009] Es ist Aufgabe der vorliegenden Erfindung, Verfahren und Vor- bzw. Einrichtungen mit verbesserten Sicherheits-Eigenschaften insbesondere in einem industriellen Umfeld zur Verfügung zu stellen.

[0010] Die Aufgabe wird durch die in den unabhängigen Ansprüchen angegebenen Merkmale gelöst. In den abhängigen Ansprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.

[0011] Die Erfindung beansprucht ein Verfahren zum Erreichen einer Sicherheitsfunktion für eine Sicherheits-Steuerungseinrichtung zur Steuerung eines Geräts oder einer Anlage, umfassend:
  • ein Steuerungs-Grundgerät, wobei das Steuerungs-Grundgerät derart ausgebildet und eingerichtet ist, dass mittels des Ablaufs eines Steuerungsprogramms im Steuerungs-Grundgerät ein mit dem Steuerungs-Grundgerät verbindbares oder verbundenes Gerät, oder eine damit verbindbare oder verbundene Anlage, steuerbar ist oder gesteuert wird, und
    • ein Sicherheitsmodul, welches zur Bereitstellung oder Ausführung einer kryptographischen Funktionalität für das Steuerungs-Grundgerät ausgebildet und eingerichtet ist,
    • wobei das Sicherheitsmodul mittels einer Datenverbindung mit dem Steuerungs-Grundgerät verbindbar oder verbunden ist,
  • aufweisend folgende Schritte:
    1. a) Bereitstellen zumindest eines ersten Teilgeheimnisses, welches im Steuerungs-Grundgerät gespeichert ist,
    2. b) Bereitstellen zumindest eines zweiten Teilgeheimnisses, welches im Sicherheitsmodul gespeichert ist,
    3. c) Zusammenführen des zumindest einen ersten und zweiten Teilgeheimnisses für das Erreichen der Sicherheitsfunktion,
      dadurch gekennzeichnet, dass
      das zumindest eine erste Teilgeheimnis in Teilstücke einer vorgebbaren Größe zerlegt wird und die Menge an Teilstücken mit dem zumindest zweiten Teilgeheimnis schrittweise mittels einer Berechnungsvorschrift zusammengeführt werden, die entsprechend der Größe und Menge innerhalb eines vorgebbaren Zeitabschnitts während der Ausführung der Berechnungsvorschrift verarbeitbar sind.


[0012] In jeden Einzelschritt der Berechnungsvorschrift können nur diejenigen Teilstücke eingehen, welche in dem Einzelschritt verarbeitet werden können.

[0013] Dabei ist insbesondere in einem industriellen Umfeld (Anlage, Fertigungssystem o.ä.) das Sicherheitsmodul als "vertrauenswürdig" gegenüber dem Steuerungs-Grundgerät und umgekehrt einzustufen. Somit können die eingangs erwähnten aufwändigen Security-Mechanismen vermieden werden.

[0014] Mit anderen Worten ausgedrückt, wird die Sicherheitsfunktion z.B. die MAC (Message Authentification Code) durch die in den Einzelschritten verarbeiteten Teilstücke berechnet. Das Zusammenführen der Teilstücke und der Teilgeheimnissen führt nicht explizit zu einem Gesamtgeheimnis, welches Gegenstand eines Angriffs werden kann.

[0015] Unter "Bereitstellen" kann im Zusammenhang mit der Erfindung beispielsweise ein Erstellen, Laden oder ein Speichern, des Teilgeheimnisses auf oder von einem Datenträger bzw. Plattform verstanden werden.

[0016] Unter einer "Berechnungsvorschrift" kann im Zusammenhang mit der Erfindung beispielsweise ein Aufteilen des Geheimnisses in (mehrere) Teilgeheimnisse verstanden werden, wobei die Teilgeheimisse wiederum in Teilstücke unterteilt sein können. Eine Berechnungsvorschrift kann insbesondere angeben, wie das Geheimnis auf die Teilinformationen verteilt wird. Es ist beispielsweise möglich, dass das Geheimnis beispielsweise anhand einer vordefinierten Regel in unterschiedlich große Teile zerlegt wird. Die Berechnungsvorschrift kann beispielsweise auch festlegen, dass insbesondere nur ein Teil der Teilgeheimnisse notwendig ist, um das Geheimnis aus den Teilgeheimnissen zu berechnen. Mit anderen Worten ist damit insbesondere das Geheimnis anhand eines unvollständigen Geheimnisses berechenbar. Mittels einer Berechnungsvorschrift kann beispielsweise ein Anteil des Geheimnisses auch redundant auf mindestens zwei Teilgeheimnisse aufgeteilt werden. Insbesondere bei einer redundanten Aufteilung eines Geheimnisses umfassen die entsprechenden Teilinformationen ganz oder teilweise den gleichen Anteil an dem Geheimnis.

[0017] Das Zusammenführen der Teilgeheimnisse kann innerhalb eines Zeitraums durchgeführt werden, in dem das Steuerungs-Grundgerät mit dem Sicherheitsmodul zusammenwirkt. Das Zusammenwirken kann durch die Datenverbindung, die mechanisch oder auch drahtlos ausgebildet sein kann, ermöglicht werden.

[0018] Ein Zwischenergebnis beim Zusammenführen der Teilstücke kann temporär in einem Zwischenspeicher des Sicherheitsmoduls zur Verarbeitung des dort bereitgehaltenen Inhalts bereitgestellt werden, wobei das Zwischenergebnis nach einem vorgebbaren Zeitablauf und/oder in vorgebbaren regelmäßigen Zeitabständen unkenntlich gemacht wird. Der Inhalt des Zwischenspeichers kann durch eine Stromversorgung seitens des Steuerungs-Grundgeräts gehalten werden.

[0019] Eine Abtrennung der Stromversorgung und/oder ein Abhören und/oder eine Manipulation kann im Zusammenwirken des Steuerungs-Grundgerät mit dem Sicherheitsmodul erkannt, erfasst und/oder protokolliert werden. Es kann gegebenenfalls eine Folgemaßnahme eingeleitet werden.

[0020] Es können entsprechende Mittel z.B. in Form von Sensoren eingesetzt werden, die geeignet sind zum Erkennen einer Abtrennung und/oder eines Abhörens und/oder einer Manipulation im Zusammenwirken zwischen dem Steuerungs-Grundgerät und dem Sicherheitsmodul. Abhängig vom Erkennen können entsprechende Folgemaßnahmen eingeleitet werden. Dabei kann eine derartige Folgemaßnahme sein, die eine Sicherheitsfunktion der Sicherheits-Steuerungseinrichtung betrifft, beispielsweise ein entsprechendes Alarmsignal, eine entsprechende Alarm-Nachricht, ein Löschen von Schlüsseln, eine Sperrung von Funktionalitäten oder weitere vergleichbare und/oder ergänzende Aktionen.

[0021] Zur Erhöhung des Sicherheitsniveaus können in die Berechnungsvorschrift für die Sicherheitsfunktion Zusatzdaten eingehen.

[0022] Das erste Teilgeheimnis kann dabei durch einen Wert, z.B. einen Schlüssel, repräsentiert werden, welcher aus einer sogenannten PUF (physical unclonable function) generiert wird.

[0023] Das erstes Teilgeheimnis kann dabei ein öffentlicher Schlüssel und das zweites Teilgeheimnis kann ein privater Schlüssel sein. Sowohl erstes und zweites Teilgeheimnis können aus einem öffentlichen Anteil und einem privaten Anteil bestehen, die auch private oder öffentlich Schlüssel sein.

[0024] Ein weiterer Aspekt der Erfindung ist eine Sicherheits-Steuerungseinrichtung zur Steuerung eines Geräts oder einer Anlage, umfassend:
  • ein Steuerungs-Grundgerät, wobei das Steuerungs-Grundgerät derart ausgebildet und eingerichtet ist, dass mittels des Ablaufs eines Steuerungsprogramms im Steuerungs-Grundgerät ein mit dem Steuerungs-Grundgerät verbindbares oder verbundenes Gerät, oder eine damit verbindbare oder verbundene Anlage, steuerbar ist, und
  • ein Sicherheitsmodul, welches zur Bereitstellung oder Ausführung einer kryptographischen Funktionalität für das Steuerungs-Grundgerät ausgebildet und eingerichtet ist,
  • wobei das Sicherheitsmodul mittels einer Datenverbindung über eine Datenschnittstelle mit dem Steuerungs-Grundgerät verbindbar oder verbunden ist,
    • aufweisend:
      1. a) Mittel zum Bereitstellen zumindest eines ersten Teilgeheimnisses, welches im Steuerungs-Grundgerät gespeichert ist,
      2. b) Mittel zum Bereitstellen zumindest eines zweiten Teilgeheimnisses, welches im Sicherheitsmodul gespeichert ist,
      3. c) Mittel zum Zusammenführen des zumindest einen ersten und zweiten Teilgeheimnisses für das Erreichen der Sicherheitsfunktion,
        wobei die Mittel zum Zusammenführen derart ausgelegt sind, dass das zumindest eine erste Teilgeheimnis in Teilstücke einer vorgebbaren Größe bzw. Länge zerlegbar ist und die Menge an Teilstücken mit dem zumindest zweiten Teilgeheimnis schrittweise mittels einer Berechnungsvorschrift zusammengeführt werden kann, die entsprechend der Größe und Menge innerhalb eines vorgebbaren Zeitabschnitts während der Ausführung der Berechnungsvorschrift verarbeitbar sind.


[0025] Unter einem Speicher oder einer Speichereinheit kann im Zusammenhang mit der Erfindung beispielsweise ein Speicher in Form von Arbeitsspeicher (engl. Random-Access Memory, RAM) oder eine Festplatte verstanden werden. Ein Arbeitsspeicher oder ein sogenannter Cache (Pufferspeicher) kann als Zwischenspeicher oder auch flüchtiger Speicher angesehen werden. Die Festplatte kann als permanenter oder persistenter Speicher angesehen werden. Der Inhalt eines flüchtigen Speichers kann meist nur mit einer entsprechenden Stromversorgung bzw. Batteriepuffer bzw. Kondensatorpufferung gehalten werden.

[0026] Im Steuerungs-Grundgerät kann eine Stromversorgungseinheit integriert sein, welche durch Stromversorgung für das Halten des Inhalts eines (Zwischen)speichers sorgt und durch Unterbrechung der Stromversorgung das Unkenntlich machen dessen Inhalts einleitet. Mit Unterbrechung der Stromversorgung geht auch die Unterbrechung der Verbindung zwischen Steuerungs-Grundgerät und Sicherheitsmodul einher, womit die Sicherheitsfunktion nicht mehr vollständig gewährleistet werden kann. Oben genannte Manipulation kann auch durch eine Überbrückung der unterbrochenen Stromversorgung herbeigeführt werden.

[0027] Die Sicherheits-Steuerungseinrichtung kann beispielsweise als ein Automatisierungssystem, ein "Controller", eine speicherprogrammierbare Steuerung (eine sogenannte "SPS" oder "PLC"), ein Industrie-PC (ein sogenannter "IPC"), ein Computer, gegebenenfalls inklusive eines Echtzeit-Systems, eine modulare speicherprogrammierbare Steuerung oder eine ähnliche Steuerungseinrichtung ausgebildet und eingerichtet sein.

[0028] Die mittels der Sicherheits-Steuereinrichtung steuerbare Anlage beziehungsweise das steuerbare Gerät kann beispielsweise als eine Produktionsanlage, eine Werkzeugmaschine, ein Roboter, ein autonomes Transportsystem und/oder eine ähnliche Einrichtung, Vorrichtung oder Anlage ausgebildet und eingerichtet sein. Beispielsweise kann das Gerät beziehungsweise die Anlage für die Fertigungsindustrie, die Prozessindustrie, die Gebäudeautomatisierung und/oder auch die Energieerzeugung und -verteilung, für ein Verkehrssicherungssystem und/oder eine Verkehrssteuerung ausgebildet oder vorgesehen sein.

[0029] Das Steuerungs-Grundgerät kann beispielsweise einem Steuerungsgerät beziehungsweise einem Controller ohne oder mit teilweiser Sicherheitsfunktionalität oder auch vollständiger Sicherheitsfunktion entsprechen. Ein solches Steuerungsgerät kann beispielsweise als Zentraleinheit einer speicherprogrammierbaren Steuerung, als speicherprogrammierbare Steuerung, als Industrie PC, als PC oder ähnliche Einrichtung ausgebildet und eingerichtet sein.

[0030] Dabei kann das Steuerungs-Grundgerät beispielsweise ein Echtzeit-Betriebssystem umfassen, welches eine Echtzeit-Steuerung eines mit dem Grundgerät verbundenen oder verbindbaren Geräts beziehungsweise einer damit verbundenen oder verbindbaren Anlage ermöglicht.

[0031] Das erstes Teilgeheimnis kann dabei ein öffentlicher Schlüssel und das zweites Teilgeheimnis kann ein privater Schlüssel sein. Sowohl erstes und zweites Teilgeheimnis können aus einem öffentlichen Anteil und einem privaten Anteil bestehen, die auch private oder öffentlich Schlüssel sein.

[0032] Unter einem "(Gesamt-)Geheimnis", insbesondere auch als ein "Geheimnis in Form einer Zeichenkette", kann im Zusammenhang mit der Erfindung beispielsweise eine Lizenzinformation, ein kryptographischer Schlüssel, insbesondere ein symmetrischer Schlüssel oder ein privater Schlüssel eines asymmetrischen Schlüsselpaares, verstanden werden. Unter einem "Geheimnis" kann im Zusammenhang mit der Erfindung beispielsweise auch ein Passwort für einen Zugriff auf eine Lizenzinformation oder auf einen kryptographischen Schlüssel verstanden werden. Das Geheimnis kann beispielsweise anhand einer weiteren Sicherheitsrichtlinie erzeugt werden, die beispielsweise eine Schlüssellänge oder einen Berechnungsalgorithmus für den Schlüssel angibt. Insbesondere der Ausdruck "rekonstruiertes Geheimnis" kann im Zusammenhang mit der Erfindung gleichbedeutend verwendet werden.

[0033] Unter einem "Teilgeheimnis" kann im Zusammenhang mit der Erfindung beispielsweise ein Anteil an dem Geheimnis verstanden werden, das vorzugsweise von einer der Komponenten eines Gerätes oder einer Anlage gespeichert wird. Ein Geheimnis in Form einer Zeichenkette kann beispielsweise auf mehrere Teilzeichenketten aufgeteilt werden, wobei insbesondere ein Teilgeheimnis zumindest einen Teil der Teilzeichenketten umfasst und somit in Teilstücke unterteilt sein kann.

[0034] Unter "sicherheitsgeschützt" kann im Zusammenhang mit der Erfindung beispielsweise verstanden werden, dass insbesondere nur lesend auf eine sicherheitsgeschützte Komponente oder Speichereinheit zugegriffen werden kann oder dass insbesondere nur eine bestimmte Komponente oder bestimmte Komponenten zugreifen können. Hierzu können beispielsweise die entsprechenden sicherheitsgeschützten Komponenten Schutzmodule oder Versiegelungen aufweisen.

[0035] Eine Datenschnittstelle kann zwischen dem Sicherheitsmodul und dem Steuerungs-Grundgerät ausgebildet sein, welche beispielsweise eine drahtgebundene oder drahtlose Schnittstelle sein kann. Dabei kann eine erste Kopplungsschnittstelle und eine dazu passende zweite Kopplungschnittstelle beispielsweise über eine Kombination von entsprechend komplementären Steckverbinder-Komponenten oder auch über entsprechende Kontaktflächen oder -stifte erfolgen. Dabei kann die Schnittstelle als eine serielle oder parallele Schnittstelle ausgebildet und eingerichtet sein. Weiterhin kann die Schnittstelle zwischen Sicherheitsmodul und Steuerungs-Grundgerät auch als Drahtlos-Schnittstelle, z.B. eine WLAN-, eine Bluetooth- oder eine NFC-Schnittstelle (NFC: Near Field Communication) ausgebildet und eingerichtet sein. Bei einer Drahtlosschnittstelle kann die Stromzufuhr ähnlich wie bei einem drahtlosen Laden bei Mobilfunkgeräten implementiert sein.

[0036] Weiterhin kann das Sicherheitsmodul zudem auch mechanisch mit dem Steuerungs-Grundgerät verbunden sein, insbesondere lösbar mit dem Steuerungs-Grundgerät verbunden sein. Derartige Verbindungen können beispielsweise über entsprechende Verrastungen, Verklemmungen, Verschraubungen oder beliebige Kombinationen davon erfolgen.

[0037] Zudem kann vorgesehen sein, dass die Energieversorgung des Sicherheitsmoduls über das Steuerungs-Grundgerät erfolgt, beispielsweise über Kopplungsschnittstellen bzw. darin integrierte Schnittstellen zur Energieversorgung. Das Sicherheitsmodul kann auch eine eigene Energiequelle umfassen, wie beispielsweise eine Batterie, ein wiederaufladbarerer Akku, ein Kondensator und/oder eine vergleichbare Energiequelle. Die Energiequelle des Sicherheitsmoduls dient der Pufferung des Zwischenspeichers, um dessen Inhalt bei einer Auftrennung der oben genannten Verbindung zwischen Steuerungs-Grundgerät und Sicherheitsmodul unkenntlich machen zu können.

[0038] Die Sicherheitsfunktion der Sicherheits-Steuereinrichtung kann beispielsweise jede Funktion zur Verschlüsselung, zum Schutz der Vertraulichkeit, zum Integritätsschutz, zur Authentifikation von Daten und/oder Ähnlichem bestehen. Daten können dabei z.B. Nutzerdaten, Steuerdaten, Konfigurationsdaten und/oder administrative Daten sein.

[0039] Dabei wird die jeweilige Sicherheitsfunktion der Sicherheits-Steuereinrichtung durch ein Zusammenwirken von Steuerungs-Grundgerät und Sicherheitsmodul erreicht.

[0040] Dabei wird unter einem gelösten Sicherheitsmodul ein solches verstanden, welches zumindest keine Verbindung mehr mit dem Steuerungs-Grundgerät aufweist. Dementsprechend ist keine Stromversorgung für das Sicherheitsmodul durch das Steuerungs-Grundgerät mehr gegeben. Demnach ist auch im Zwischenspeicher dann kein Geheimnis gespeichert.

[0041] Dabei kann das Trennen der Verbindung zwischen dem Steuerungs-Grundgerät und dem Sicherheitsmodul beispielsweise durch räumliche Trennung der Schnittstellen-Verbindungselemente von Steuerungs-Grundgerät und Sicherheitsmodul erfolgen. Das Herstellen der Verbindung zwischen dem Steuerungs-Grundgerät und dem Sicherheitsmodul kann beispielsweise mittels Annähern und/oder Kontaktieren eines Schnittstellen-Verbindungselements des Sicherheitsmoduls und des Schnittstellen-Verbindungselements des Steuerungs-Grundgeräts erfolgen. Dabei kann das Herstellen der Verbindung weiterhin auch eine nachfolgende Kommunikation zur Herstellung einer funktionierenden Datenverbindung umfassen.

[0042] Kopplungsschnittstellen-Verbindungselemente von Steuerungs-Grundgerät und dem jeweiligen Sicherheitsmodul können beispielsweise entsprechend zusammenwirkende Steckerelemente, Kontaktelemente oder auch Antennen umfassen oder aus solchen bestehen. Weiterhin kann das Sicherheitsmodul entsprechend einem Sicherheitsmodul gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.

[0043] Des Weiteren wird ein Computerprogrammprodukt mit Programmcodemitteln zur Durchführung des Verfahrens nach einem der vorangehenden Verfahrensansprüche beansprucht, wenn es auf einer Sicherheits-Steuerungseinrichtung nach einem der vorangehenden Einrichtungsansprüche abläuft oder auf einem computerlesbaren Medium gespeichert ist.

[0044] Zusätzlich kann eine Variante des Computerprogrammproduktes mit Programmbefehlen zur Konfiguration eines Erstellungsgeräts, beispielsweise ein 3D-Drucker, ein Computersystem oder ein zur Erstellung von Prozessoren und/oder Geräten geeignete Herstellungsmaschine sein.

[0045] Die Verfahren, Vorrichtungen und Computerprogramm(produkte) können entsprechend der Weiterbildungen/Ausführungsformen de oben genannten Sicherheits-Steuereinrichtung, Sicherheitsmodul und Steuerungsgrundgerät und deren Weiterbildungen/Ausführungsformen ausgebildet sein.

[0046] Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Figuren näher erläutert werden. Dabei zeigt in schematischer Darstellung:

[0047] Die Figur beispielhaft eine Sicherheits-Steuerungseinrichtung mit Steuerungs-Grundgerät und mit Sicherheitsmodul zur Steuerung einer Anlage.

[0048] Fig. 1 zeigt eine Sicherheits-Steuerungseinrichtung E zur Steuerung einer in der Figur nicht dargestellten Anlage. Über eine Datenverbindung DV mittels einer Daten- bzw. eine I/0-Schnittstelle können Eingabedaten I und Ausgabedaten O zwischen einem Steuerungs-Grundgerät G und zumindest einem Sicherheitsmodul S ausgetauscht werden. Das Sicherheitsmodul kann ein Security-Token sein. Die Verbindung bzw. ein Zusammenwirken des genannten Geräts G und des genannten Moduls S kann über eine erste Kopplungsschnittstelle, z.B. ein Steckerelement, und eine zur ersten Kopplungsschnittstelle passenden zweiten Kopplungsschnittstelle, z.B. ein entsprechendes Gegen-Steckerelement (die beide in der Figur nicht explizit dargestellt sind), hergestellt werden. Zudem umfasst das Steuerungs-Grundgerät eine Steuerungseinheit beispielsweise ausgestaltet als Stromversorgungseinheit SV, die über eine Versorgungsanbindung V, welche in die Datenverbindung DV integriert sein kann, mit einem flüchtigen Zwischenspeicher FS des Sicherheitsmoduls S verbindbar oder verbunden ist. Dann sind die Kopplungsschnittstellen auch als Datenschnittschnittstellen ausgebildet. Das Sicherheitsmodul weist zudem eine Verarbeitungseinheit VE mit einem Prozessor auf, wobei in einem persistenten Speicher PS2 des Sicherheitsmoduls ein Teilgeheimnis z.B. in Form eines Schlüssels KS2 oder einer Ableitung davon abgelegt ist. Im persistenten Speicher PS1 des Steuerungsgrundgeräts G ist ebenso ein Teilgeheimnis KS1 abgelegt. Über die Datenverbindung DV wird bei bestehender Stromversorgung durch SV das Teilgeheimnis KS1 zur Verarbeitungseinheit VE übertragen. Die Verarbeitungseinheit VE holt aus dem Speicher PS2 das Teilgeheimnis KS2. Zur Berechnung der kryptographischen Funktion z.B. Verschlüsselung wird das benötigte Geheimnis (geheimer Schlüssel, privater Schlüssel) auf mehrere Teilgeheimnisse KS1, KS2 aufgeteilt. Dabei sollte jedes Teilgeheimnis für sich genommen die jeweiligen Sicherheitsanforderungen an die geforderte kryptographische Stärke erfüllen (z.B. 128-bit symmetrische Sicherheit).

[0049] Teilgeheimnis KS1 kann sequentiell in Teilstücke unterteilt übergeben und in einem inkrementell ablaufenden Prozess durch die kryptographische Verarbeitungseinheit VE mit Teilgeheimnis KS2 und ggf. mit weiteren Eingabedaten verbunden werden. Dadurch ist sichergestellt, dass ein Angreifer, der das Sicherheitsmodul im Betrieb abtrennt, nur einen Bruchteil des Teilgeheimnisses KS1 erhält. Der Wert eines Gesamtgeheimnisses tritt hierbei nicht explizit in Erscheinung.

[0050] Die Zusammenführung mit Teilgeheimnis KS2 (und optional weiteren Teilgeheimnissen und weiteren Zusatzdaten) erfolgt dann derart, dass zu einem bestimmten Zeitpunkt lediglich k-bit des Teilgeheimnis KS1 in der Verarbeitungseinheit VE unverarbeitet vorliegt. Die jeweiligen Teilstücke (k-bit) von Teilgeheimnis KS1 sind hinreichend klein, damit ein sogenannter Brute-Force-Angriff auf den jeweils nicht im Sicherheitsmodul vorliegenden Teil ausgeschlossen werden kann.

[0051] Die genutzte kryptographische Funktion sollte so gestaltet sein, dass:
  1. 1. eine inkrementelle/sequentielle Übergabe des Teilgeheimnisses KS1 in einem Schritt n
    möglich ist und dabei ein Zwischenergebnis , abgekürzt ZEn, entsteht.
  2. 2. Die Rekonstruktion des Teilgeheimnisses KS1 aus ZEn nach Beendigung von Schritt n nicht möglich ist.
Das Sicherungs-Grundgerät und das Sicherheitsmodul können über geeignete Fehlerzähler ausschließen, dass das Teilgeheimnis KS1 schrittweise entwendet wird. Z.B. kann nach einer vorgegebenen Anzahl von Unterbrechungen während der Berechnung eines oder beide Teilgeheimnisse KS1 oder KS2 endgültig verworfen werden.

[0052] Ein Teil des kryptographischen Geheimnisses, d.h. das Teilgeheimnis KS1) wird ausschließlich außerhalb der Sicherheitsmoduls im Speicher des Steuerungs-Grundgeräts G persistent im Speicher PS1 gespeichert. Ein anderer Teil (Teilgeheimnis KS2) wird ausschließlich auf dem Sicherheitsmodul PS2 persistent im Speicher PS2 gespeichert. Die Verarbeitungseinheit VE ermöglicht vorzugsweise eine serielle Verarbeitung des Teilgeheimnisses KS1.

[0053] Ein sogenannter MAC (Message Authentication Code), mit K gekennzeichnet, kann auf dem Sicherheitsmodul generiert werden und ggf. direkt ausgegeben wird.

[0054] Eine Ausführungsform sieht vor, dass K im Zwischenspeicher FS des Sicherheitsmoduls hinterlegt wird:

D: Daten

KS2: Teilgeheimnis 2

KS1[x]: Teilgeheimnis 1 bit x, wobei bit x als Teilstück bezeichnet werden kann.

H: geeignete kryptographische Einwegfunktion, z.B. HMAC

MAC := H(H(H D | KS2 | KS1[0]) | KS1[1]) | KS1[n]), wobei " | " die serielle Verarbeitung der Teilstücke 0 bis n ausdrückt.



[0055] Es kann auch eine Blockchiffre, z.B. AES in einem MAC-Mode zur Berechnung eines Nachrichtenauthentisierungscodes verwendet (insbesondere CBC-MAC). Dabei wird jeweils ein Eingabeblock, bei AES z.B. 128 bit, abhängig von dem aktuell bearbeiteten Bit i des ersten Teilgeheimnisses, d.h. KS1[i] bestimmt.

[0056] Beim Auftrennen der Verbindung zum Steuerungs-Grundgerät geht K auf dem Sicherheitsmodul und, falls in FS (zwischen)gespeichert, im Zwischenspeicher verloren. Die sequentielle Verarbeitung von KS1 kann nur weitergeführt bzw. rekonstruiert werden, wenn das Sicherheitsmodul wieder mit demselben Steuerungs-Grundgerät verbunden wird und Teilgeheimnis KS1 erneut an VE zur Berechnung übergeben wird.

[0057] Zusätzlich kann das Sicherheitsmodul eine Logik enthalten, die den Spannungsabfall beim Trennen der Stromverbindung V erkennt, und zusätzlich ein aktives Überschreiben des flüchtigen Zwischenspeichers FS auslöst. Dazu muss auf das Sicherheitsmodul ein (kleiner) Energiepuffer enthalten sein, der den flüchtigen Zwischenspeicher FS ausreichend für den Löschvorgang versorgt.

[0058] Die Steckverbindung zwischen Grundgerät und modularer Sicherheitskomponente kann so ausgeführt werden, dass eine Überbrückung der Stromversorgung beim Auftrennen der Stromverbindung V konstruktiv ver-/behindert wird. Der Steckverbinder kann einen seitlichen Zugang zu den Steckkontakten durch eine Wand mechanisch verhindern.

[0059] Die modulare Sicherheitskomponente kann zusätzlich eine Sensorik aufweisen, die eine Überbrückung der Stromversorgung durch das Steuerungs-Grundgerät erkennt und den Inhalt des flüchtigen Zwischenspeichers zerstört. Dazu kann z.B. der Spannungspegel, ein Innenwiderstand oder eine Impedanz der Stromversorgung gemessen und hinsichtlich einer unzulässigen Manipulation geprüft werden.
Der flüchtige Zwischenspeicher auf der modularen Sicherheitskomponente kann regelmäßig zufällig maskiert werden (Zufallsmaske kann auch im flüchtigen Zwischenspeicher gehalten werden). Dadurch können Einbrenneffekte im flüchtigen Zwischenspeicher verhindert werden. D.h. dass der Speicherinhalt des Geheimnisses K kann nicht im Klartext gespeichert ist, sondern nur in maskierter Form abhängig von einer zufällig oder pseudozufällig erzeugten, wechselnden Maske (z.B. Kstore := K XOR Mask).

[0060] Die Flüchtigkeit des Zwischenspeichers für das Teilgeheimnis KS1 (typischerweise einige 100bit) kann durch geeignete Maßnahmen erhöht werden, in dem mögliche alternative Speicherarten zu klassischen DRAM verwendet werden.

[0061] Speichertechnologien oder Registern bzw. Flip-Flops sind z.B.:
  • zirkulares Schieberegister, um wiederum Einbrenneffekte zu vermeiden
  • Verzögerungsleitung (Laufzeitspeicher, delay line)


[0062] Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.

[0063] Die Implementierung der vorstehend beschriebenen Prozesse oder Verfahrensabläufe kann anhand von Instruktionen erfolgen, die auf computerlesbaren Speichermedien oder in flüchtigen Computerspeichern (im Folgenden zusammenfassend als computerlesbare Speicher bezeichnet) vorliegen. Computerlesbare Speicher sind beispielsweise flüchtige Speicher wie Caches, Puffer oder RAM sowie nichtflüchtige Speicher wie Wechseldatenträger, Festplatten, usw.

[0064] Die vorstehend beschriebenen Funktionen oder Schritte können dabei in Form zumindest eines Instruktionssatzes in/auf einem computerlesbaren Speicher vorliegen. Die Funktionen oder Schritte sind dabei nicht an einen bestimmten Instruktionssatz oder an eine bestimmte Form von Instruktionssätzen oder an ein bestimmtes Speichermedium oder an einen bestimmten Prozessor oder an bestimmte Ausführungsschemata gebunden und können durch Software, Firmware, Microcode, Hardware, Prozessoren, integrierte Schaltungen usw. im Alleinbetrieb oder in beliebiger Kombination ausgeführt werden. Dabei können verschiedenste Verarbeitungsstrategien zum Einsatz kommen, beispielsweise serielle Verarbeitung durch einen einzelnen Prozessor oder Multiprocessing oder Multitasking oder Parallelverarbeitung usw.

[0065] Die Instruktionen können in lokalen Speichern abgelegt sein, es ist aber auch möglich, die Instruktionen auf einem entfernten System abzulegen und darauf via Netzwerk zuzugreifen.

[0066] Der Begriff "Prozessor", "zentrale Signalverarbeitung", "Steuereinheit" oder "Datenauswertemittel", wie hier verwendet, umfasst Verarbeitungsmittel im weitesten Sinne, also beispielsweise Server, Universalprozessoren, Grafikprozessoren, digitale Signalprozessoren, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikschaltungen wie FPGAs, diskrete analoge oder digitale Schaltungen und beliebige Kombinationen davon, einschließlich aller anderen dem Fachmann bekannten oder in Zukunft entwickelten Verarbeitungsmittel. Prozessoren können dabei aus einer oder mehreren Vorrichtungen bzw. Einrichtungen bzw. Einheiten bestehen. Besteht ein Prozessor aus mehreren Vorrichtungen, können diese zur parallelen oder sequentiellen Verarbeitung bzw. Ausführung von Instruktionen ausgelegt bzw. konfiguriert sein.


Ansprüche

1. Verfahren zum Erreichen einer Sicherheitsfunktion für eine Sicherheits-Steuerungseinrichtung (E) zur Steuerung eines Geräts oder einer Anlage, umfassend:

- ein Steuerungs-Grundgerät (G), wobei das Steuerungs-Grundgerät derart ausgebildet und eingerichtet ist, dass mittels des Ablaufs eines Steuerungsprogramms im Steuerungs-Grundgerät ein mit dem Steuerungs-Grundgerät verbindbares oder verbundenes Gerät, oder eine damit verbindbare oder verbundene Anlage, steuerbar ist oder gesteuert wird, und

- ein Sicherheitsmodul (S), welches zur Bereitstellung oder Ausführung einer kryptographischen Funktionalität für das Steuerungs-Grundgerät ausgebildet und eingerichtet ist,

- wobei das Sicherheitsmodul mittels einer Datenverbindung mit dem Steuerungs-Grundgerät verbindbar oder verbunden ist,

- aufweisend folgende Schritte:

a) Bereitstellen zumindest eines ersten Teilgeheimnisses (KS1), welches im Steuerungs-Grundgerät gespeichert ist,

b) Bereitstellen zumindest eines zweiten Teilgeheimnisses (KS2), welches im Sicherheitsmodul gespeichert ist,

c) Zusammenführen des zumindest einen ersten und zweiten Teilgeheimnisses für das Erreichen der Sicherheitsfunktion,
dadurch gekennzeichnet, dass
das zumindest eine erste Teilgeheimnis in Teilstücke einer vorgebbaren Größe zerlegt wird und die Menge an Teilstücken mit dem zumindest zweiten Teilgeheimnis schrittweise mittels einer Berechnungsvorschrift zusammengeführt werden, die entsprechend der Größe und Menge innerhalb eines vorgebbaren Zeitabschnitts während der Ausführung der Berechnungsvorschrift verarbeitbar sind.


 
2. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass in jeden Einzelschritt der Berechnungsvorschrift nur diejenigen Teilstücke eingehen, welche in dem Einzelschritt verarbeitet werden können.
 
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Zusammenführen innerhalb eines Zeitraums durchgeführt wird, in dem das Steuerungs-Grundgerät mit dem Sicherheitsmodul zusammenwirkt.
 
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Zwischenergebnis beim Zusammenführen der Teilstücke temporär in einem Zwischenspeicher (FS) des Sicherheitsmoduls zur Verarbeitung des dort bereitgehaltenen Inhalts bereitgestellt wird, wobei das Zwischenergebnis nach einem vorgebbaren Zeitablauf und/oder in vorgebbaren regelmäßigen Zeitabständen unkenntlich gemacht wird.
 
5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Inhalt des Zwischenspeichers durch eine Stromversorgung (SV) seitens des Steuerungs-Grundgeräts gehalten wird.
 
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Abtrennung der Stromversorgung und/oder ein Abhören und/oder eine Manipulation im Zusammenwirken des Steuerungs-Grundgerät mit dem Sicherheitsmodul erkannt, erfasst und/oder protokolliert wird und gegebenenfalls eine Folgemaßnahme eingeleitet wird.
 
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in die Berechnungsvorschrift für die Sicherheitsfunktion Zusatzdaten eingehen.
 
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das erste Teilgeheimnis durch einen Wert repräsentiert wird, welcher aus einer sogenannten PUF generiert wird.
 
9. Sicherheits-Steuerungseinrichtung (E) zur Steuerung eines Geräts oder einer Anlage, umfassend:

- ein Steuerungs-Grundgerät (G), wobei das Steuerungs-Grundgerät derart ausgebildet und eingerichtet ist, dass mittels des Ablaufs eines Steuerungsprogramms im Steuerungs-Grundgerät ein mit dem Steuerungs-Grundgerät verbindbares oder verbundenes Gerät, oder eine damit verbindbare oder verbundene Anlage, steuerbar ist, und

- ein Sicherheitsmodul, welches zur Bereitstellung oder Ausführung einer kryptographischen Funktionalität für das Steuerungs-Grundgerät ausgebildet und eingerichtet ist,

- wobei das Sicherheitsmodul (S) mittels einer Datenverbindung (DV) über eine Datenschnittstelle mit dem Steuerungs-Grundgerät verbindbar oder verbunden ist,

- aufweisend:

a) Mittel zum Bereitstellen zumindest eines ersten Teilgeheimnisses (KS1), welches im Steuerungs-Grundgerät gespeichert ist,

b) Mittel zum Bereitstellen zumindest eines zweiten Teilgeheimnisses (KS2), welches im Sicherheitsmodul gespeichert ist,

c) Mittel zum Zusammenführen des zumindest einen ersten und zweiten Teilgeheimnisses für das Erreichen der Sicherheitsfunktion,
wobei die Mittel zum Zusammenführen derart ausgelegt sind, dass das zumindest eine erste Teilgeheimnis in Teilstücke einer vorgebbaren Größe zerlegbar ist und die Menge an Teilstücken mit dem zumindest zweiten Teilgeheimnis schrittweise mittels einer Berechnungsvorschrift zusammengeführt werden kann, die entsprechend der Größe und Menge innerhalb eines vorgebbaren Zeitabschnitts während der Ausführung der Berechnungsvorschrift verarbeitbar sind.


 
10. Sicherheits-Steuerungseinrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass in jeden Einzelschritt der Berechnungsvorschrift nur diejenigen Teilstücke einbezogen sind, welche in dem Einzelschritt verarbeitet werden können.
 
11. Sicherheits-Steuerungseinrichtung nach einem der vorhergehenden Einrichtungsansprüchen, dadurch gekennzeichnet, dass das Zusammenführen innerhalb eines Zeitraums durchführbar ist, in dem das Steuerungs-Grundgerät mit dem Sicherheitsmodul mittels der Datenverbindung zusammenwirkt.
 
12. Sicherheits-Steuerungseinrichtung nach einem der vorhergehenden Einrichtungsansprüchen, dadurch gekennzeichnet, dass ein Zwischenergebnis beim Zusammenführen der Teilstücke temporär in einem Zwischenspeicher des Sicherheitsmoduls zur Verarbeitung des dort bereitgehaltenen Inhalts bereitgestellt ist, wobei das Zwischenergebnis nach einem vorgebbaren Zeitablauf und/oder in vorgebbaren regelmäßigen Zeitabständen unkenntlich machbar ist.
 
13. Sicherheits-Steuerungseinrichtung nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass der Inhalt des Zwischenspeichers durch eine Stromversorgung seitens des Steuerungs-Grundgeräts gehalten werden kann.
 
14. Sicherheits-Steuerungseinrichtung nach einem der vorhergehenden Einrichtungsansprüchen, dadurch gekennzeichnet, dass eine Abtrennung der Stromversorgung und/oder ein Abhören und/oder eine Manipulation im Zusammenwirken des Steuerungs-Grundgerät mit dem Sicherheitsmodul erkennbar, erfassbar und/oder protokollierbar ist und gegebenenfalls eine Folgemaßnahme eingeleitet werden kann.
 
15. Computerprogrammprodukt mit Programmcodemitteln zur Durchführung des Verfahrens nach einem der vorangehenden Verfahrensansprüche, wenn es auf einer Sicherheits-Steuerungseinrichtung nach einem der vorangehenden Einrichtungsansprüche abläuft oder auf einem computerlesbaren Medium gespeichert ist.
 




Zeichnung







Recherchenbericht









Recherchenbericht




Angeführte Verweise

IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE



Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.

In der Beschreibung aufgeführte Patentdokumente