Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MONITORING AN INTEGRITY OF A TEST DATASET
Document Type and Number:
WIPO Patent Application WO/2017/050479
Kind Code:
A1
Abstract:
The invention relates to a method as well as a crypto-arrangement and a computer program product for monitoring an integrity of a test dataset, wherein a random sample of a test dataset is checked for integrity. The method for monitoring an integrity of a test dataset comprises the following steps: random sample-type selection of the test dataset from a dataset to be transferred via a communications connection; cryptographically protected provision of the selected test dataset to a test unit, wherein a communication via the communications connection is carried out uninfluenced by the selection and preparation; testing of the cryptographically protected test dataset for integrity by the test unit, based on cryptographic calculations and plausibility information.

Inventors:
FALK RAINER (DE)
Application Number:
PCT/EP2016/068832
Publication Date:
March 30, 2017
Filing Date:
August 08, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L9/32; H04L29/06
Domestic Patent References:
WO1998047264A11998-10-22
Foreign References:
DE102010033229A12012-02-09
Other References:
RAINER FALK ET AL: "Security Service for the Rollout of Security Credentials in Ubiquitous Industrial Automation Environments", SERVICE COMPUTATION 2010, 21 November 2010 (2010-11-21), pages 104 - 110, XP055073477, Retrieved from the Internet [retrieved on 20130730]
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Überwachen einer Integrität eines verteilten Systems, aufweisend die folgenden Schritte:

- stichprobenartiges Bestimmen (Sl) eines Testdatensatzes ab¬ hängig von einem über eine Kommunikationsverbindung des verteilten Systems zu übertragenden Datensatz;

- kryptographisch geschütztes Bereitstellen (S2) des Testdatensatzes an eine Prüfeinheit, wobei eine Übertragung des Da- tensatzes über die Kommunikationsverbindung durch das Bestimmen und Bereitstellen unbeeinflusst erfolgt;

- Prüfen (S3) des kryptographisch geschützten Testdatensatzes durch die Prüfeinheit in Hinblick auf Integrität anhand von kryptographischen Berechnungen und von Plausibilitätsinforma- tionen.

2. Verfahren nach Anspruch 1, wobei es sich bei einer Kommunikation über die Kommunikationsverbindung um eine Steuerungskommunikation handelt und als Datensatz Steuerungsdaten oder Sensorwerte oder Ein- oder Ausgabe-Signale von Sensoren oder Aktuatoren übertragen werden.

3. Verfahren nach Anspruch 1 oder 2, wobei durch das Prüfen ein Ergebnis lieferbar ist, welches eine Integrität des Test- datensatzes bestätigt oder eine Alarmmeldung bereitstellt.

4. Verfahren nach Anspruch 3, wobei das Ergebnis die Integrität mittels einer kryptographisch geschützten Bestätigungsinformation attestiert.

5. Verfahren nach einem der vorstehenden Ansprüche, wobei der Testdatensatz als ein begrenzter, insbesondere digitaler, Signalausschnitt an einer Ein- oder Ausgabeschnittstelle ei¬ nes Steuergerätes erfasst wird.

6. Verfahren nach einem der vorstehenden Ansprüche, wobei das stichprobenartige Bestimmen in Abhängigkeit von einem Zu- fallswert oder von vorgegebenen Zeitpunkten oder von Messgrößen erfolgt.

7. Verfahren nach einem der vorstehenden Ansprüche, wobei für die kryptographischen Berechnungen Schlüsselmaterial, insbesondere ein symmetrisches oder asymmetrisches Schlüsselpaar, verwendet wird.

8. Verfahren nach einem der vorstehenden Ansprüche, wobei die Plausibilitätsinformationen einen weiteren Testdatensatz oder den zu übertragenden Datensatz oder Daten des verteilten Systems betreffen.

9. Kryptoanordnung zur Überwachung einer Integrität eines verteilten Systems, umfassend:

- eine Bestimmungseinheit zum stichprobenartigen Bestimmen eines Testdatensatzes abhängig von einem über eine Kommunika¬ tionsverbindung zu übertragenden Datensatz;

- eine Kryptoeinheit (11) zum kryptographisch geschützten Be- reitstellen des Testdatensatzes, wobei eine Übertragung des

Datensatzes über die Kommunikationsverbindung durch das Bestimmen und Bereitstellen unbeeinflusst ist;

- eine Prüfeinheit (20) mit Schnittstelle zum Empfangen des kryptographisch geschützten Testdatensatzes zum Prüfen des Testdatensatzes in Hinblick auf Integrität anhand von kryp¬ tographischen Berechnungen und von Plausibilitätsinformatio¬ nen .

10. Kryptoanordnung nach Anspruch 9, wobei es sich bei einer Kommunikation über die Kommunikationsverbindung um eine

Steuerungskommunikation handelt und der Datensatz Steuerungsdaten oder Sensorwerte oder Ein- oder Ausgabe-Signale von Sensoren oder Aktuatoren aufweist. 11. Kryptoanordnung nach Anspruch 9 oder 10, wobei die Bestimmungseinheit und die Kryptoeinheit als eine integrierte Komponente eines Steuergerätes oder eines Sensors oder Aktua- tors ausgebildet sind.

12. Computerprogrammprodukt mit einem ersten Computerpro¬ gramm, das Mittel zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8 aufweist, wenn das erste Computerpro¬ gramm auf einer ersten programmgesteuerten Einrichtung zur Ausführung gebracht wird.

13. Computerprogrammprodukt nach Anspruch 12, wobei das erste Computerprogramm auf der ersten programmgesteuerten Einrichtung separat zu einem weiteren Computerprogramm ausführbar ist, das Mittel zur Durchführung einer Steuerung aufweist, wenn das weitere Computerprogramm auf einer weiteren programmgesteuerten Einrichtung zur Ausführung gebracht wird.

Description:
Beschreibung

Überwachen einer Integrität eines Testdatensatzes Die Erfindung betrifft ein Verfahren sowie eine Krypto-Anord- nung und ein Computerprogrammprodukt zum Überwachen einer Integrität eines Testdatensatzes, wobei eine Stichprobe eines Testdatensatzes im Hinblick auf Integrität überprüft wird. In Automatisierungssystemen oder im Internet of Things sind

Anwendungen oder Geräte vor IT-Angriffen zu schützen. In diesem Umfeld bestehen oftmals hohe Anforderungen an die Latenz oder Verzögerung der Datenkommunikation. Es sind oftmals einfache, mit wenig Rechenkapazität ausgestattete Geräte im In- ternet of Things vorgesehen. Zum Erreichen eines ausreichenden Schutzniveaus ist es dabei in vielen Anwendungsszenarien weder praktikabel noch wirtschaftlich, jedes einzelne Kleinsystem oder jedes einzelne Datenpaket oder jede einzelne Kom ¬ munikationsverbindung hinreichend robust gegen Angriffe zu schützen. Zusätzlich vorgesehene kryptographische Schutzmaß ¬ nahmen können insbesondere bei Altgeräten oder Fremdgeräten häufig nicht auf einfache Weise nachgerüstet werden. Selbst wenn integrierte Security-Lösungen verwendet werden, ist das Schutzniveau oftmals nicht ausreichend, da im Umfeld von Automatisierungssystemen Steuerungssoftware manipuliert sein kann oder kryptographische Schlüssel zum Schutz einer Kommu ¬ nikation kompromittiert sein können.

Aus der Offenlegungsschrift DE 10 2010 033229 AI ist es be- kannt, zu Steuerungsdaten eine IntegritätsprüfInformation abzuleiten, welche kryptographisch geschützt übertragen und geprüft wird. Die Prüfung erfolgt separat zu den zu übertragen ¬ den Steuerungsdaten. Es ist ferner aus der Patentschrift DE 10 2009 039097 B3 be ¬ kannt, eine kryptographisch geschützte Datenstruktur über einen Wertebereich zusätzlich zur Übertragung der ungesicherten Messwerte bereitzustellen. Die kryptographisch geschützte Da- tenstruktur über den Wertebereich kann zur Überprüfung von für einen bestimmten Zeitraum vorhersagbaren Messwerten genutzt werden. Vor diesem Hintergrund ist es Aufgabe der vorliegenden Erfindung, eine funktionelle Integrität für einen über eine Kommu ¬ nikationsverbindung in Echtzeit zu übertragenden Datensatz auf einfache und rechenarme Weise sicherzustellen. Diese Aufgabe wird durch die Gegenstände der unabhängigen An ¬ sprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbil ¬ dungen sind in den abhängigen Ansprüchen angegeben.

Die Erfindung betrifft ein Verfahren zum Überwachen einer In- tegrität eines verteilten Systems, aufweisend die folgenden Schritte :

- stichprobenartiges Bestimmen eines Testdatensatzes abhängig von einem über eine Kommunikationsverbindung des verteilten Systems zu übertragenden Datensatz;

- kryptographisch geschütztes Bereitstellen des Testdatensatzes an eine Prüfeinheit, wobei eine Übertragung des Daten ¬ satzes über die Kommunikationsverbindung durch das Bestim- men und Bereitstellen unbeeinflusst erfolgt;

- Prüfen des kryptographisch geschützten Testdatensatzes durch die Prüfeinheit in Hinblick auf Integrität anhand von kryptographischen Berechnungen und von Plausibilitätsinfor- mationen.

Durch die Erfindung wird die Integrität eines verteilten Sys ¬ tems, insbesondere eines verteilten Steuerungssystems mit Sensoren und Aktuatoren, überprüft, indem ein Testdatensatz als Stichprobe erfasst und überprüft wird. Die Stichprobe wird dabei unabhängig von dem übertragenen Datensatz erfasst und überprüft. Dadurch wird eine Verzögerung bei der Übertra ¬ gung und Verarbeitung des übertragenen Datensatzes vermieden, sodass die Erfindung auch bei hohen EchtZeitanforderungen wie z.B. Antriebssteuerung, anwendbar ist. Bei einem kryptographischen Schutz des Datensatzes bzw. der Übertragung des Datensatzes käme es zu Verzögerungen durch das Erzeugen und Prüfen des kryptographischen Schutzes.

Weiterhin ist die Erfindung vorteilhaft bei Safety-kritischen Systemen einsetzbar, bei denen die Übertragung und Bearbeitung des Datensatzes nicht durch Security-Maßnahmen beein- flusst werden soll, d.h bei denen Rückwirkungsfreiheit si ¬ chergestellt sein soll. Andernfalls müssten Security-Maßnah ¬ men bei einer Safety-Evaluierung mit untersucht und bezüglich ihren Safety-Eigenschaften zertifiziert werden. Die Erfindung ist besonders vorteilhaft bei Steuerungssyste ¬ men anwendbar, bei denen nicht eine Informationsübertragung selbst kryptographisch geschützt werden muss, wie bei Datenü ¬ bertragungssystemen, sondern bei denen die korrekte Funktionalität einer Steuerungsfunktionalität überwacht werden soll. Dadurch kann indirekt anhand der Prüfung der Stichproben auch eine Integritätsverletzung der Datenübertragung erkannt werden. Die Stichproben werden dazu nicht nur kryptographisch geprüft, sondern es wird auch die Plausibilität geprüft. Da ¬ bei kann ein Testdatensatz in sich auf Plausibilität geprüft werden, es kann die Plausibilität zwischen mehreren Testda ¬ tensätzen geprüft werden, es kann die Plausibilität zwischen Testdatensatz und übertragenem Datensatz geprüft werden, und es kann die Plausibilität mit anderen Plausibilitätsinforma- tionen, z.B. Projektierungsdaten, Konfigurationsdaten, physi- kaiischen Eigenschaften eines Prozesses oder von Komponenten, geprüft werden.

Das Erfassen der Stichprobe über das stichprobenartige Be ¬ stimmen sowie das Anwenden des kryptographischen Verfahrens zum kryptographisch geschützten Bereitstellen erfolgt dabei ohne Einfluss auf die Übertragung des Datensatzes über die Kommunikationsverbindung. Eine Datenübertragung wird dabei unbeeinflusst durch die Bildung des kryptographisch geschütz- ten Datensatzes fortgeführt. Somit ist eine Rückwirkungsfrei ¬ heit des IT-Security-Schutzes auf die reguläre Operation, welche durch die Übertragung des Testdatensatzes ausgeführt wird, gewährleistet. Somit ist das Verfahren vorteilhaft auch bei Safety-kritischen Systemen oder bei Systemen mit hohen

EchtZeitanforderungen anwendbar. Die Übertragung des kryptog- raphisch geschützten Testdatensatzes kann über die gleiche Kommunikationsverbindung wie die zur Übertragung des Datensatzes erfolgen oder über eine separate, beispielsweise über Mobilfunk, Bluetooth, ZigBee oder NFC .

Beispielsweise wird ein Testdatensatz aus dem zu übertragenden Datensatz stichprobenartig ausgewählt. Alternativ wird der Testdatensatz separat, z.B. in Hardware, erfasst.

Das kryptographisch geschützte Bereitstellen erfolgt beispielsweise durch Hinzufügen einer kryptographischen Prüfsumme, beispielsweise unter Verwendung von schlüsselbasierten Hashfunktionen oder Nachrichten-Authentifizierungscodes, so- genannten Message Authentication Codes, oder durch Bilden einer digitalen Signatur. Es können ferner schlüssellose Prüfsummen vorgesehen sein. Der Schutz wird jeweils durch kryp- tographische Berechnungen auf Seiten einer Prüfeinheit er ¬ reicht. Insbesondere erfolgt dafür das Bilden einer schlüs- sellosen oder schlüsselbasierten Prüfsumme auf Basis des Testdatensatzes, der zusätzlich zu der darüber gebildeten Prüfsumme übermittelt wird. Ferner erfolgt im Falle von zum Schutz übermittelten Signaturen eine Signaturprüfung mit Hilfe von Schlüsselpaaren.

Insbesondere erfolgt die Prüfung des kryptographisch ge ¬ schützten Testdatensatzes ebenfalls unabhängig von der Übertragung des Datensatzes. Falls das Prüfen des kryptographisch geschützten Testdatensatzes durch die Prüfeinheit eine Integ- rität des Testdatensatzes nicht zusichern kann, kann bei ¬ spielsweise eine Datenübertragung zum schnellstmöglichen Zeitpunkt gestoppt werden. Insbesondere erfolgt eine Alarm ¬ meldung sobald wie möglich. Dennoch wird die Datenübertragung zunächst durch das Verfahren rückwirkungsfrei fortgeführt. Somit sind für den Regelfall, in welchem eine Manipulation von Datensätzen nicht auftritt, ein hoher Datendurchsatz und eine geringe Verzögerung erzielbar.

Für die Fälle, in welchen eine Manipulation durch das Prüfen erkannt wird, erfolgt der Eingriff schnellstmöglich und korrigiert dadurch beispielsweise bereits übertragene Datensät ¬ ze, beispielsweise einen bereits übertragenen Sensorwert. Beispielsweise wird bei einem manipulierten, bereits übertra ¬ genen Sensorwert eine Verarbeitung des Wertes oder eine Aus ¬ wertung oder ein Logeintrag rückgängig gemacht werden oder angepasst . Als Reaktion auf eine erkannte Manipulation kann ein Gerät, beispielsweise das den Datensatz übertragende oder empfangen ¬ de Feldgerät, beispielsweise einen eigensicheren Zustand ein ¬ nehmen, einen Neustart auslösen usw. Das betroffene Gerät kann insbesondere bei anderen Geräten als gesperrt gelistet werden.

Als Testdatensatz kann ein Ausschnitt aus einem über die Datenkommunikationsverbindung zu übertragenden Datensatz verwendet werden. Für das Zuerkennen der Integrität des Testda- tensatzes können verschiedene Anforderungen gestellt werden: Eine Integrität kann beispielsweise nur dann zuerkannt wer ¬ den, wenn eine Unversehrtheit des Testdatensatzes nachgewie ¬ sen werden kann, beispielsweise mit Hilfe von Prüfsummenverfahren. Ferner kann beispielsweise eine Integrität nur dann zuerkannt werden, wenn auch die Authentizität des geschützten Testdatensatzes erkannt wird. Dies wird insbesondere mit Hil ¬ fe von schlüsselbasierten Prüfsummen oder digitalen Signaturen erreicht. Außerdem werden für das Feststellen der Integrität Plausibi- litätsinformationen herangezogen, anhand derer der Inhalt des Testdatensatzes auf Plausibilität hin untersucht wird. Bei ¬ spielsweise werden Wertebereiche von Werten des Testdatensat- zes überprüft. Unerwartet von den Plausibilitätswerten abwei ¬ chende Messwerte bewirken, dass die Integrität nicht zuer ¬ kannt wird. Ebenso können statistische Parameter zur Auswer ¬ tung herangezogen werden. Diese spiegeln beispielsweise Mus- ter von in einer Automatisierungsanlage übermittelten Steue ¬ rungsbefehlen wider, beispielsweise die Häufigkeit oder Rei ¬ henfolge von Start-/Stop-Befehlen . Die Plausibilitätsinforma- tionen können ferner aus simulierten Daten abgeleitet werden, welche unter Verwendung von Simulationsmodellen und den Daten des Testdatensatzes ermittelt werden. Ebenso können redundan ¬ te Daten untereinander abgeglichen werden.

Neben dem Prüfen des kryptographisch geschützten Testdatensatzes in Hinblick auf eine Authentizität oder Identität ist somit überdies ein Test auf Plausibilität vorgesehen. Erst dann wird die Integrität zuerkannt. Insbesondere ist im Um ¬ feld von Steuerungskommunikation mit der Übertragung von sensitiven Informationen von Sensoren oder Aktuatoren die Überwachung der funktionalen Integrität eines Testdatensatzes re- levant . Dies wird vorteilhaft durch die Kombination von kryp- tographischen Berechnungen und von einem Abgleich mit Plausibilitätsinformationen erreicht.

In Systemen mit hohen Schutzanforderungen kann das Verfahren auf vorteilhafte Weise als zusätzliche Schutzebene verwendet werden. Insbesondere kann je nach Anforderungen an Echtzeitfähigkeit zwischen dem vorgeschlagenen Verfahren und anderen, rechenaufwändigeren Verfahren, gewechselt werden. Es ist auf vorteilhafte Weise nicht erforderlich, ein Komplettsystem kryptographisch zu überwachen. Die operative, echte Kommunikation muss gemäß dem vorgeschlagenen Verfahren nicht kryptographisch geschützt werden. Dadurch ist der beschriebene Ansatz auch bei extrem Echtzeit-kritischen Systemen anwendbar. Überdies wird nicht nur die Datenübertragung geschützt, sondern auch die Datenverarbeitung, beispielsweise auf einem Steuergerät. Durch die Trennung der Security-Funktionalität von der Steuerungs-Funktionalität ist eine getrennte Weiter- entwicklung beider Aspekte möglich. Zusätzliche Features können somit schnell eingeführt werden.

Gemäß einer Ausgestaltung handelt es sich bei einer Kommuni- kation über die Kommunikationsverbindung um eine Steuerungskommunikation und es werden als Datensatz Steuerungsdaten oder Sensorwerte oder Ein- oder Ausgabesignale von Sensoren oder Aktuatoren übertragen. Gerade bei einer Steuerungskommunikation ist ein Integritätsprüfverfahren gefordert, welches unabhängig von der Steuerungssoftware als solche durchgeführt wird. Da vor allem die Steuerungssoftware anfällig für Mani ¬ pulationsangriffe ist, wird durch das vorgeschlagene Verfah ¬ ren eine besonders sichere Integritätsprüfung vorgestellt. Gemäß einer Ausgestaltung ist durch das Prüfen ein Ergebnis lieferbar, welches eine Integrität des Testdatensatzes bestä ¬ tigt oder eine Alarmmeldung bereit stellt. In Abhängigkeit von dem Ergebnis kann beispielsweise beim Ausführen einer Steuerungssoftware eine vorgegebene Reaktion erfolgen, wie beispielsweise das Unterbrechen der Datenverbindung oder ein Unterlagen der Verarbeitung empfangener Sensorwerte oder Steuerungsbefehle. Überdies kann eine Alarmmeldung weitere Schritte einleiten, beispielsweise um eine Schwachstelle zu identifizieren. Beispielsweise leitet eine Steuerungseinheit, welche den Datensatz verarbeitet, einen Logeintrag mit Datum der empfangenen Daten, für welche die Integrität nicht bestä ¬ tigt werden konnte, oder Absender oder Inhalt.

Gemäß einer Ausgestaltung attestiert das Ergebnis die Integ- rität mittels einer kryptographisch geschützten Information. Da das Prüfen des Testdatensatzes auf Integrität inklusive des stichprobenartigen Auswählens und kryptographisch geschützten Bereitstellens ohne Rückwirkung auf die Datenkommu ¬ nikation stattfindet, ist entsprechend auch der Vorgang der kryptographischen Überprüfung abzusichern. Insbesondere geschieht dies über eine Attestierung, zum Beispiel mit Hilfe von Signaturverfahren oder Zertifikaten. Somit kann auf vorteilhafte Weise nicht vorgetäuscht werden, dass eine Integri- tat durch das Prüf erfahren bestätigt wird. Über die Bestäti ¬ gungsinformation kann beispielsweise eine Authentisierung der Prüfeinheit erfolgen. Gemäß einer Ausgestaltung wird der Testdatensatz als ein begrenzter, insbesondere digitaler, Signalausschnitt an einer Ein- oder Ausgabeschnittstelle eines Steuergerätes erfasst. Dazu kann beispielsweise ein Steuergerät eine integrierte Komponente aufweisen, die direkt an der Ein- oder Ausgabe- schnittsteile einen sogenannten Snapshot als Stichprobe er ¬ fasst und kryptographisch geschützt bereitstellt. Es kann beispielsweise ein analoger oder digitaler Sensorwert oder analoge oder digitale Aktuator-Steuergrößen oder eine Steuerungskommunikation einer Netzwerk-Kommunikationsschnittstelle übermittelt werden. Die Stichprobeninformation kann auf vorteilhafte Weise nicht durch einen Software des Steuergerätes manipuliert werden.

Auf vorteilhafte Weise ist ein besonders hoher Schutz gege- ben, wenn die Snapshots in Hardware oder nahe bei einer Ein- /Ausgabe-Funktionalität erfasst werden, da dann der Schutz nicht durch Software manipuliert werden kann.

Gemäß einer Ausgestaltung erfolgt das stichprobenartige Be- stimmen in Abhängigkeit von einem Zufallswert oder von vorge ¬ gebenen Zeitpunkten oder von Messgrößen. Somit kann insbesondere die Häufigkeit einer Überwachung einzelner Testdatensät ¬ ze bei einer Datenkommunikation variiert werden. Bei einer zufälligen Auswahl der Stichproben ist vorteilhafterweise ein Vorhersagen einer Überwachungsaktion erschwert. Ein Angreifer, welcher zu übertragende Daten manipulieren möchte, muss jederzeit mit einer Erstellung eines kryptographisch geschützten Testdatensatzes rechnen. Gemäß einer Ausgestaltung wird für die kryptographischen Berechnungen Schlüsselmaterial, insbesondere ein symmetrisches oder asymmetrisches Schlüsselpaar verwendet. Dabei kann insbesondere durch die Wahl des kryptographischen Schlüssels, welcher für das gewählte kryptographische Verfah ¬ ren zum Schutz des Testdatensatzes gewählt wird, ein Sicher ¬ heitsniveau variabel gewählt werden.

Gemäß einer Ausgestaltung bestreffen die Plausibilitätsinfor- mationen einen weiteren Testdatensatz oder den zu übertragenden Datensatz oder Daten des verteilten Systems. Der Plausi- bilitätscheck kann verschieden harten oder umfangreichen An- forderungen genügen müssen. Es können mehrere Plausibilitäts- prüfungen mit Hilfe verschiedener Plausibilitätsinformationen kombiniert werden.

Die Erfindung betrifft ferner eine Kryptoanordnung zur Über- wachung einer Integrität eines verteilten Systems, umfassend:

- eine Bestimmungseinheit zum stichprobenartigen Bestimmen eines Testdatensatzes abhängig von einem über eine Kommunika ¬ tionsverbindung zu übertragenden Datensatz;

- eine Kryptoeinheit zum kryptographisch geschützten Bereitstellen des Testdatensatzes, wobei eine Übertragung des Da ¬ tensatzes über die Kommunikationsverbindung durch das Bestimmen und Bereitstellen unbeeinflusst ist;

- eine Prüfeinheit mit Schnittstelle zum Empfangen des kryp ¬ tographisch geschützten Testdatensatzes zum Prüfen des Testdatensatzes in Hinblick auf Integrität anhand von kryptogra ¬ phischen Berechnungen und von Plausibilitätsinformationen .

Beispielsweise ist die Bestimmungseinheit eine integrierte Komponente eines Steuergerätes. Bei einem FPGA-basierten Sys ¬ tem on Chip mit programmierbarer Logik und einer zentralen Prozessoreinheit, beispielsweise CPU, Soft-CPU oder Hard-CPU, ist die Bestimmungseinheit in der FPGA-Logik realisiert.

Ebenso kann in diesem Fall die Krypto-Einheit in der FPGA- Logik realisiert sein. Die Krypto-Einheit hat insbesondere Zugriff auf einen kryptographischen Schlüssel, beispielsweise über einen Schlüsselspeicher. Beispielsweise erfolgt die Testdatensatz- oder Snapshot-Erfassung bei einem Steuerrechner über eine Kommunikationsschnittstelle oder bei einem Feldgerät in einem FPGA mit Input-Output-Funktionalität oder in einem separaten Input-Output-Baustein , oder in einem System On Chip mit Ein-Ausgabeeinheit integriert in diese, oder in einer separaten integrierten Hauptprozessoreinheit oder CPU, z.B. zur internen Überwachung der Ein-Ausgabeeinheit, beispielsweise für rückwirkungsfreies Snooping. Ferner er- folgt die Testdatensatz-Erfassung beispielsweise als in einen analogen oder digitalen Sensor oder Aktuator integriert. Ein Sensor oder Aktuator kann einen digitalen Snapshot erfassen und kryptographisch geschützt bereitstellen oder Datenpakete an einer Kommunikationsschnittstelle aufzeichnen und kryptog- raphisch gesichert als Stichprobe bereitstellen.

Die Prüfeinheit verfügt über einen Zugriff auf Schlüsselmate ¬ rial zum Überprüfen des kryptographisch geschützten Testdatensatzes. Beispielsweise ist ein symmetrisches Verschlüsse- lungsverfahren zwischen Krypto-Einheit und Prüfeinheit vorge ¬ sehen. Ebenso kann ein asymmetrisches Verfahren verwendet werden, bei welchem die Prüfeinheit eine digitale Signatur der Krypto-Einheit mit einem öffentlichen Schlüssel der

Krypto-Einheit prüft.

Die Prüfeinheit wirkt als Integrity Observer und überprüft die Integrität mittels einer Trusted Function. Die Trusted Function wird insbesondere durch das kryptographische Über ¬ prüfungsverfahren dargestellt. Sowohl beispielsweise eine kryptographische Prüfsumme der Stichproben wird verifiziert, wie auch der Inhalt der Stichprobe. Die Plausibilitätsinfor- mationen können dabei beispielsweise von einem Engineering- System bereitgestellte Informationen berücksichtigen oder einen Verlauf empfangener Sensorwerte. Die Stichprobe, das heißt der Testdatensatz, kann von einem involvierten Knoten innerhalb einer Steuerungsanlagen, wie beispielsweise einem Steuerrechner, Sensor oder Aktuator, in der Funktion der Auswahleinheit und der Krypto-Einheit selbst bereitgestellt wer- den oder sie kann alternativ von einer Zusatzkomponente, welche die Auswahleinheit oder die Krypto-Einheit darstellt, mitgehört und kryptographisch geschützt bereitgestellt wer ¬ den .

Die vorgeschlagene Lösung hat den Vorteil, dass das Zusammen ¬ wirken mehrerer Komponenten in einem verteilten Steuerungssystem überwacht werden kann. Dabei kann sowohl die Integrität eines Steuerungssystems selbst wie auch die Datenübertra- gung von Steuerungsdaten überwacht werden.

Gemäß einer weiteren Ausgestaltung handelt es sich bei einer Kommunikation über die Kommunikationsverbindung um eine

Steuerungskommunikation und der Datensatz weist Steuerungsda- ten oder Sensorwerte oder Ein- oder Ausgabesignale von Senso ¬ ren oder Aktuatoren auf.

Gemäß einer Ausgestaltung ist die Auswahl einer Krypto-Einheit als eine integrierte Komponente eines Steuergeräts oder eines Sensors oder Aktuators ausgebildet.

Die Erfindung betrifft ferner ein Computerprogrammprodukt mit einem ersten Computerprogramm, das Mittel zur Durchführung des Verfahrens nach einem der vorstehenden Ausgestaltungen aufweist, wenn das erste Computerprogramm auf einer ersten programmgesteuerten Einrichtung zur Ausführung gebracht wird.

Gemäß einer Weiterbildung ist das erste Computerprogramm auf der ersten programmgesteuerten Einrichtung separat zu einem weiteren Computerprogramm ausführbar, das Mittel zur Durchführung einer Steuerung aufweist, wenn das weitere Computerprogramm auf einer weiteren programmgesteuerten Einrichtung zur Ausführung gebracht wird. Beispielsweise wird der Testda ¬ tensatzes durch eine auf einer programmierbaren Logik vorge- sehenen separaten Prozessoreinheit oder durch einen separaten Rechenkern erfasst und kryptographisch geschützt. Somit ist die Software zum Erfassen und Schützen einer Stichprobe vorteilhafter Weise unabhängig von einer eigentlichen Steue- rungssoftware . Auch bei einer manipulierten Steuerungssoft ¬ ware ist die Stichprobenfunktionalität, die für eine Integri ¬ tätsüberwachung erforderlich ist, nicht beeinflusst. In einer Variante wird die Stichprobe auf dem Steuergerät in Software erfasst, wird allerdings in einer separierten Ausführungsumgebung, beispielsweise durch einen Hypervisor, separiert oder in einer Trustzone separiert, ausgeführt, ausgeführt.

Die Erfindung wird nachfolgend mit Hilfe von Ausführungsbei- spielen anhand der Figuren näher erläutert. Es zeigen:

Figur 1 eine schematische Darstellung eines vernetzten

Steuerungssystems mit einer Krypto-Anordnung gemäß einem ersten Ausführungsbeispiel der Erfindung;

Figur 2 eine schematische Darstellung eines System on Chip mit programmierbarer Hardware und Mitteln zur Ausführung des Verfahrens gemäß einem zweiten Ausführungsbeispiel der Erfindung.

Figur 1 zeigt schematisch ein vernetztes Steuerungssystem mit einem Feldgerät zur Messung von Druck FDP, welches die er- fassten Messdaten über ein Steuerungsnetzwerk C an einen Steuerrechner oder Control-Server S überträgt. Das Druckfeld- gerät FDP ist dazu mit einem Drucksensor S verbunden. Der

Steuerrechner S überträgt Steueranweisungen an das Steuergerät FDV. Dieses ist mit einem Ventil als Aktuator A verbunden . Die Datenübertragung erfolgt zyklisch, beispielsweise jede Millisekunde. Bei dem Steuerungsnetzwerk C handelt es sich beispielsweise um ein IP-basiertes Netzwerk, welches eine Vielzahl von Feldgeräten, wie beispielsweise weitere Sensoren oder Schalter, miteinander verbindet. Ebenso über das Steuer- netzwerk C angeschlossen ist ein Functional Integrity

Observer FIO, welcher die Stichproben der zu übertragenden Daten, entweder die Sensordaten oder die ausgegebenen Steuerbefehle, auf Integrität hin überprüft. Das Druckfeldgerät FDP sowie das Steuergerät FDV, der

Control-Server C, der Sensor S und der Aktuator A erstellen jeweils eine kryptographisch geschützte Stichprobe 50. Diese wird gemäß dem vorliegenden Beispiel über das Steuernetzwerk C zum Functional Integrity Observer FIO übertragen. Eine Stichprobe enthält eine Identifizierungsinformation des Ers ¬ tellers der Stichprobe, die erfassten Stichprobendaten sowie eine kryptographische Prüfsumme. Für jede der Komponenten er- fasst der Functional Integrity Observer FIO jeweils eine se ¬ parate Stichprobe 1-5. Unter Verwendung der Stichproben wird nun jeweils eine Plausibilisierung durchgeführt. Vorzugsweise erfasst der Functional Integrity Observer zusätzlich die zu den Stichproben 1-5 zugehörigen kryptographisch nicht ge- schützten übertragenen Daten und überprüft, ob diese konsis ¬ tent mit den kryptographisch geschützten Stichproben sind. Alternativ erfolgt die Plausibilisierung über den Inhalt der kryptographisch geschützten Testdaten aufgrund von abgespeicherten Referenzwerten.

Für den Fall, dass die Überprüfung ein Ergebnis ergibt, wel ¬ ches eine Integrität nicht bestätigen kann, wird eine Alarm ¬ meldung ausgegeben. Beispielsweise nehmen einzelne oder alle Geräte oder nur das Gerät, welches einen Alarm ausgelöst hat, einen eigensicheren Betriebszustand ein oder stellen eine lokale Alarmmeldung, beispielsweise zur Meldung an Service- Personal, bereit.

Die Stichproben 1-5 können verzögert zur Übertragung der zu- gehörigen Daten übertragen werden. Das heißt, sie müssen nicht oder nicht im selben Maß wie die eigentlichen Mess ¬ oder Steuerdaten mit geringer Latenz übertragen und bearbeitet werden. Neben einer Realisierung des Functional Integrity Observers

FIO als Zusatzknoten ist ebenso eine integrierte Funktionali ¬ tät des Control-Servers S denkbar. Er kann ebenso in einem übergeordneten Leitsystem, insbesondere einem SCADA-System, realisiert sein oder in einem Backend-System oder einem

Cloud-Service .

Die Auswerte-Algorithmik des Functional Integrity Observers FIO zur Erkennung von Integritätsverletzungen kann unterschiedliche Prüfungen durchführen. Diese können einzeln oder kombiniert miteinander vorgesehen sein. Beispielsweise führt das Ausbleiben von Stichproben dazu, dass eine Integrität des Gesamtsystems nicht zuerkannt wird. Ferner können die Stich- proben Messwerte enthalten, welche außerhalb von vorgesehenen Wertebereichen sind. Ferner können statistische Parameter ausgewertet werden, wie beispielsweise Häufigkeit von Über ¬ tragungsfehlern oder ähnlichem. Ebenso kann eine Plausibilisierung unter Verwendung eines Simulationsmodells des Automa- tisierungssystems durchgeführt werden. Dazu kann die Simula ¬ tion mit den ungeschützt übertragenen Mess- oder Steuerdaten beaufschlagt werden. So kann ein Ähnlichkeitsvergleich der tatsächlichen Stichproben mit den im Simulationsmodell ermittelten Stichproben durchgeführt werden. Ferner sind Quer- Checks mehrerer redundanter Datensätze möglich sowie die Be ¬ aufschlagung der ungeschützten Steuerungsbefehle auf eine virtuelle Steuerungsfunktionalität. Auch diese simulierte Steuerung kann durch einen Ähnlichkeitsvergleich mit den empfangenen Stichproben auf Plausibilität hin überprüft werden.

In Figur 2 ist ein System on Chip 100 mit programmierbarer Hardware 10, beispielsweise einem FGPA, und einem program ¬ mierbaren Prozessor, einer CPU 20, schematisch abgebildet. Applikationen 21, 22 können über ein Betriebssystem 23 auf eine Ein-/Ausgabeeinheit 12 zugreifen, welche durch die pro ¬ grammierbare Hardware 10 realisiert ist. Es sind insbesondere Sensoren S und Aktuatoren A angeschlossen. Durch Software der CPU 20 werden Steuerkommandos 30 ausgegeben beziehungsweise Messungen 40 erfasst und ausgewertet. Es ist überdies eine Netzwerkschnittstelle 13 vorgesehen, beispielsweise eine

Ethernetschnittstelle, worüber die Software mit anderen Sys ¬ temen Daten über ein Datenkommunikationsprotokoll austauschen kann, beispielsweise Diagnose- oder Konfigurationsdaten in einem SCADA-System oder übergeordneten Steuerrechner.

Es ist überdies eine Snapshot-Capture-Unit 11 vorgesehen und als Teil der programmierbaren Hardware 10 realisiert. Bei ¬ spielsweise kann diese als VHDL-Modul oder Verilog-Modul rea ¬ lisiert sein. Sie kann als Digital-Logik oder über eine Soft- CPU oder als Kombination aus Digital-Logik und Soft-CPU realisiert sein. Über interne Schnittstellen, vorzugsweise mit Read-Only-Funktionalität , kann die Snapshot-Capture-Unit 11 auf Kommandos, Messungen und Teile der Datenkommunikation zugreifen. Durch den Nur-Lese-Zugriff kann ein rückwirkungsfreies Mithören der Signale beziehungsweise der Kommunikation erreicht werden. Es kann eine Treiberfunktion vorgesehen wer- den oder ein Pufferregister oder ein Latch oder ein Dual- Port-RAM, um den erfassten Wert eines Signals rückwirkungs ¬ frei zu puffern. Bei einer Ein-/Ausgabe-Schnittstelle kann die Snapshot-Capture-Unit 11 Sensor- oder Aktuatorgrößen di ¬ rekt an der Eingabe oder nach dem Schnittstellenblock abgrei- fen.

Die Snapshot-Capture-Unit 11 umfasst einen kryptographischen Schlüssel K, beispielsweise einen Signaturschlüssel als pri ¬ vaten asymmetrischen Schlüssel oder einen symmetrischen kryp- tographischen Schlüssel. Die Snapshot-Capture-Unit 11 erfasst stichprobenartig Signale und speichert diese intern. Liegt ein vollständiger Stichprobensatz vor, so kann ein kryptogra- phisch geschützter Stichprobensatz bereitgestellt werden. Dazu wird der Schlüssel K verwendet, um beispielsweise eine di- gitale Signatur oder einen Nachrichtenprüfcode, sogenannten Message Authentication Code, über die erfassten Stichprobendaten zu bilden. Die kryptographisch geschützte Stichprobe 50 wird der CPU 20 bereit gestellt. Eine Software, die auf der CPU 20 ausgeführt wird, kann die Stichprobe über das Netz- werk-Interface 13 weiterleiten oder lokal prüfen. Auf vorteilhafte Weise sind die erfassten Stichproben vertrauenswürdig, da sie direkt in Hardware, nämlich auf der programmier ¬ baren Hardware 10, erfasst und dort kryptographisch geschützt werden. Sie können daher nicht durch einen Softwarecode der CPU 20, welcher manipuliert sein könnte, unbemerkt modifi ¬ ziert werden.

Figur 3 zeigt schematisch den Ablauf der Verfahrensschritte des stichprobenartigen Bestimmens Sl, des kryptographisch geschützten Bereitstellens S2 sowie des Prüfens S3. In Verfah ¬ rensschritte werden in vorteilhafter Weise in der abgebilde ¬ ten Reihenfolge durchlaufen.

Obwohl die Erfindung im Detail durch die Ausführungsbeispiele näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und ande ¬ re Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.