[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:
- a) Bereitstellen zumindest eines ersten Teilgeheimnisses, welches im Steuerungs-Grundgerät
gespeichert ist,
- b) Bereitstellen zumindest eines zweiten Teilgeheimnisses, 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.
[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:
- a) Mittel zum Bereitstellen zumindest eines ersten Teilgeheimnisses, welches im Steuerungs-Grundgerät
gespeichert ist,
- b) Mittel zum Bereitstellen zumindest eines zweiten Teilgeheimnisses, 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 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. eine inkrementelle/sequentielle Übergabe des Teilgeheimnisses KS1 in einem Schritt
n
möglich ist und dabei ein Zwischenergebnis , abgekürzt ZEn, entsteht.
- 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.
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.