Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-ASSISTED METHOD FOR STORING AN INTEGRITY STATUS, INTEGRITY STATUS DEVICE, AND COMPUTER PROGRAMME PRODUCT
Document Type and Number:
WIPO Patent Application WO/2021/164911
Kind Code:
A1
Abstract:
The invention relates to: a computer-assisted method for monitoring an integrity status of a computing device; an integrity status device for a computing device; and a computer programme product. The computer-assisted method comprises a plurality of steps. First, an initialisation value for an overall integrity value is determined. Then, the overall integrity value is stored in a trusted memory area of a memory unit. Subsequently, an integrity status is determined by an integrity detection system and an integrity status value is generated. Then, the integrity status value is stored in the overall integrity value in the trusted memory area as an integrity status.

Inventors:
FALK RAINER (DE)
FEIST CHRISTIAN PETER (DE)
FRIES STEFFEN (DE)
PFAU AXEL (DE)
PYKA STEFAN (DE)
SCHNEIDER DANIEL (DE)
SPERL FRANZ (DE)
Application Number:
PCT/EP2020/083693
Publication Date:
August 26, 2021
Filing Date:
November 27, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F21/50
Foreign References:
US20090307487A12009-12-10
US20180157839A12018-06-07
US20130263262A12013-10-03
Download PDF:
Claims:
Patentansprüche

1. Computergestütztes Verfahren zum Überwachen eines Integri tätsstatus einer Rechenvorrichtung (1) mit folgenden Schrit ten:

- Festlegen eines Initialisierungswertes für einen Gesamtin- tegritätswert,

- Speichern des Gesamtintegritätswerts in einem vertrauens würdigen Speicherbereich (40, 41, 42) einer Speichereinheit

(4),

- Ermitteln eines Integritätsstatus durch ein Integritätser kennungssystem (2) und Erzeugen eines Integritätsstatuswertes

(5), wobei der Integritätsstatuswert (5) das Ergebnis einer Integritätsprüfung einer oder mehrerer Komponenten der Re chenvorrichtung durch das Integritätserkennungssystem be schreibt,

- Speichern des Integritätsstatuswertes (5) in dem Gesamtin- tegritätswert in dem vertrauenswürdigen Speicherbereich (40, 41, 42) als Integritätsstatus.

2. Computergestütztes Verfahren nach Anspruch 1, wobei der Gesamtintegritätswert, insbesondere nach einer erkannten In tegritätsverletzung, durch eine kryptographische Prüfsumme abhängig von dem Initialisierungswert oder einem zeitlich vorhergehenden Integritätsstatuswert erzeugt wird.

3. Computergestütztes Verfahren nach Anspruch 1 oder 2, wobei als der vertrauenswürdige Speicherbereich ein Trusted- Plattform-Modul verwendet wird.

4. Computergestütztes Verfahren nach einem der vorhergehenden Ansprüche, wobei das Integritätserkennungssystem (2) Kompo nenten (3) der Rechenvorrichtung (1) auf Integrität überprüft und einen Zustandswert (6) ermittelt, den Zustandswert (6) mit einem Referenzregelwert (27, 28) vergleicht und bei einer Abweichung der beiden Werte eine Integritätsverletzung als Integritätsstatus ermittelt.

5. Computergestütztes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Integritätsstatuswert (5) den Initiali sierungswert des Gesamtintegritätswerts beim Speichern er setzt.

6. Computergestütztes Verfahren nach einem der Ansprüche 1 bis 4, wobei der Gesamtintegritätswert um den Integritätssta tuswert (5) beim Speichern erweitert wird.

7. Computergestütztes Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Bereitstellen des Gesamtintegritätswerts geschützt durch eine kryptographische Prüfsumme erfolgt.

8. Computergestütztes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Gesamtintegritätswert lokal mittels ei nes Applikationsprozessors oder eines Mikrocontrollers über wacht wird.

9. Computergestütztes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Gesamtintegritätswert mittels einer Re- moteverbindung überwacht wird.

10. Computergestütztes Verfahren nach einem der vorhergehen den Ansprüche, wobei das Speichern des Gesamtintegritätswer- tes nach Abschluss eines Arbeitszyklus, bis zu einem manuel len Zurücksetzen oder kontinuierlich erfolgt.

11. Computergestütztes Verfahren nach einem der vorhergehen den Ansprüche, wobei der Integritätsstatuswert (5) die Integ rität wenigstens einer Komponente (3) der Rechenvorrichtung (1) beschreibt.

12. Computergestütztes Verfahren nach Anspruch 10, wobei als Komponente (3) wenigstens eine Programmbinärdatei, wenigstens eine Konfigurationsdatei, wenigstens eine Projektierungsdatei und/oder wenigstens eine Liste erlaubter Prozesse überwacht wird.

13. Computergestütztes Verfahren, wobei als Rechnereinheit (1) eine Steuerungsvorrichtung, ein Industriecomputer, ein IoT-Knoten oder ein IoT-Gateway verwendet wird. 14. Integritätsstatusvorrichtung für eine Rechenvorrichtung

(1) zum Durchführen des computergestützten Verfahrens gemäß einem der Ansprüche 1 bis 13 mit:

- einem Integritätserkennungssystem (2) zum Ermitteln eines Integritätsstatus und Erzeugen eines Integritätsstatuswerts (5),

- einer Speichereinheit (4) mit einem vertrauenswürdigen Speicherbereich (40, 41, 42) zum Speichern eines Gesamtinteg ritätswerts, wobei als Gesamtintegritätswert ein Initialisie rungswert und/oder der Integritätsstatuswert gespeichert ist.

15. Computerprogrammprodukt, welches direkt in eine Speicher einheit (4) einer programmierbaren Rechenvorrichtung (1) ei nes Industriecomputers ladbar ist, mit Programmcode-Mitteln, um ein Verfahren nach einem der Ansprüche 1-13 auszuführen, wenn das Computerprogrammprodukt in der Rechenvorrichtung (1) des Industriecomputers ausgeführt wird.

Description:
Beschreibung

Computergestütztes Verfahren zum Speichern eines Integritäts status, Integritätsstatusvorrichtung und Computerprogrammpro dukt

Die Integrität von Automatisierungsgeräten, insbesondere von Steuergeräten, speicherprogrammierbaren Steuerungen und in dustriellen Geräten des Internets der Dinge (IoT-Geräte) muss gewährleistet sein, um einen fehlerfreien Betrieb zu ermögli chen.

Angriffe oder Attacken auf ein IT-System oder ein IT- basiertes Automatisierungssystem, d.h. unerlaubte Zugriffe zum Schaden eines solchen Systems, können derzeit bereits mittels geeigneter Vorrichtungen bzw. Software detektiert werden, wie z.B. mittels eines Integritätsüberwachungssystems (engl.: Intrusion Detection System - IDS).

Es sind Host-basierte Integritätsdetektionssysteme (engl.: Host-based intrusion detection System - HIDS) bekannt. Diese erkennen unzulässiges Verhalten von Software, welche auf ei nem Host ausgeführt wird. Es ist mit diesem System möglich, periodisch die Integrität von Daten zu überprüfen.

Die Integrität kann auch während des Bootens überprüft werden (engl. Secure Boot, Measured Boot). Nachteilig überprüfen sie dann allerdings lediglich einmalig die Integrität einer zu überwachenden Rechenvorrichtung.

Erkennt das IDS, das HIDS oder ein Secure Boot eine Integri- tätsverletzung, muss eine Integritätsverletzungsnachricht ab geben werden. Die Ausgabe der Nachricht kann insbesondere per Mail, Log-Eintrag oder Generieren einer Meldung stattfinden.

Nachteilig kann das Generieren, die Ausgabe oder das Weiter leiten dieser Nachrichten durch Angreifer unterbunden werden. Ebenso ist es nachteilig möglich, dass ein Angreifer die Nachrichten löscht. Somit ist es nachteilig möglich, dass die Rechenvorrichtung trotz einer Integritätsverletzung weiter betrieben wird.

Es ist somit Aufgabe der vorliegenden Erfindung, ein Verfah ren für eine Laufzeitüberwachung für eine Integrität einer Rechenvorrichtung anzugeben, wobei eine Integritätsverletzung zuverlässig erkannt und gespeichert wird.

Die Aufgabe wird mit einem computergestützten Verfahren gemäß Anspruch 1, einer Integritätsstatusvorrichtung gemäß Anspruch 14 und einem Computerprogrammprodukt gemäß Anspruch 15 ge löst.

Das erfindungsgemäße computergestützte Verfahren zum Überwa chen eines Integritätsstatus einer Rechenvorrichtung umfasst folgende Schritte. Zunächst wird ein Initialisierungswert für einen Gesamtintegritätswert festgelegt. Der Gesamtintegri- tätswert wird in einem vertrauenswürdigen Speicherbereich ge speichert. Durch ein Integritätserkennungssystem wird ein In tegritätsstatus ermittelt und daraus ein Integritätsstatus wert erzeugt. Der Integritätsstatuswert wird in dem Gesamtin- tegritätswert in dem vertrauenswürdigen Speicherbereich ge speichert.

Die erfindungsgemäße Integritätsstatusvorrichtung für eine Rechenvorrichtung zum Durchführen des erfindungsgemäßen com putergestützten Verfahrens umfasst ein Integritätserkennungs system zum Ermitteln eines Integritätsstatus und Erzeugen ei nes Integritätsstatuswertes. Sie umfasst weiterhin eine Spei chereinheit mit einem vertrauenswürdigen Speicherbereich zum Speichern eines Gesamtintegritätswerts, wobei als Gesamtin- tegritätswert ein Initialisierungswert und/oder der Integri- tätsstatuswert gespeichert ist.

Das erfindungsgemäße Computerprogrammprodukt, welches direkt in einen Speicher einer programmierbaren Rechenvorrichtung eines Industriecomputers ladbar ist, umfasst Programmcode- Mittel, um das erfindungsgemäße Verfahren auszuführen, wenn das Computerprogrammprodukt in der Rechenvorrichtung des In dustriecomputers ausgeführt wird.

Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe „durchführen", „be rechnen", „rechnergestützt", „rechnen", „feststellen", "gene rieren", "konfigurieren", "rekonstruieren", „erzeugen" und dergleichen, vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse.

Unter einer „Speichereinheit" kann im Zusammenhang mit der Erfindung beispielsweise ein flüchtiger Speicher, insbesonde re in Form von eines statischen Arbeitsspeichers (engl, sta- tic Random-Access Memory, SRAM) oder ein nicht flüchtiger Speicher, insbesondere ein Flash-Speicher oder ein gebrandter Speicher (engl.: Fuses) verstanden werden. Die Speicherein heit kann dabei alleinstehend, also als dedizierter Chip, o- der als Teil eines anderen Chips ausgestaltet sein.

Bei dem erfindungsgemäßen Verfahren zum Überwachen eines In tegritätsstatus einer Rechenvorrichtung erfolgt zunächst das Festlegen eines Initialisierungswertes für einen Gesamtinteg ritätswert. Dieser Initialisierungswert kann insbesondere ein Zufallswert, ein individuell für eine Rechenvorrichtung fest gelegter Wert oder ein konstanter Initialisierungswert sein. In einem nächsten Schritt wird der Gesamtintegritätswert in einem vertrauenswürdigen Speicherbereich gespeichert. Als vertrauenswürdiger Speicherbereich wird eine Speichereinheit angesehen, welche speziell vor physikalischen und / oder Software-basierten Manipulationen, insbesondere Zurücksetzen, Löschen oder beliebiges Ändern zur Laufzeit, geschützt ist. Weiterhin wird ein Integritätsstatus durch ein Integritätser kennungssystem ermittelt und ein Integritätsstatuswert er- zeugt. Als Integritätserkennungssystem (engl.: intrusion de- tection System -IDS) wird ein System verstanden, welches An griffe gegen eine Rechenvorrichtung erkennt. Der Integritäts statuswert wird in dem Gesamtintegritätswert in dem vertrau enswürdigen Bereich gespeichert. Der Integritätsstatuswert bezeichnet das Ergebnis einer Integritätsprüfung einer oder mehrerer Komponenten einer Rechenvorrichtung durch das Integ ritätserkennungssystem, wobei als zu überprüfende Komponenten der Rechenvorrichtung insbesondere Programmbinärdateien, Kon figurationsdateien, Projektierungsdateien oder Prozesslisten verstanden werden.

Vorteilhaft wird durch das erfindungsgemäße Verfahren, insbe sondere durch das Speichern des Gesamtintegritätswertes in einem vertrauenswürdigen Bereich, erreicht, dass ein Integri tätsstatuswert, insbesondere nach einer erkannten Integri- tätsverletzung, derart sicher gespeichert ist, dass ein An greifer diesen Wert nicht verändern oder zurücksetzen kann.

In anderen Worten wird eine Information über den Integritäts status der Rechenvorrichtung nicht manipulierbar durch Dritte gespeichert. Somit sind verlässliche Aussagen darüber mög lich, ob die Rechenvorrichtung zuverlässig und integer arbei tet. Dies ist insbesondere bei industriell eingesetzten Re chenvorrichtungen von hoher Bedeutung.

In einer vorteilhaften Ausgestaltung und Weiterbildung der Erfindung wird der Gesamtintegritätswert, insbesondere nach einer erkannten Integritätsverletzung, durch eine kryptogra- phische Prüfsumme abhängig von dem Initialisierungswert und/oder einem zeitlich vorhergehenden Integritätsstatuswert erzeugt.

Die kryptographische Prüfsumme kann beispielsweise mit einem kryptographischen Hash, einem Nachrichtenauthentifizierungs- code (engl. „Message Authentication Code", MAC) oder einer digitalen Signatur gebildet werden. Die Prüfsumme kann insbe sondere über einen Teil eines Datenelements, beispielsweise des Initialisierungswertes, oder über das gesamte Datenele- ment, beispielsweise den Initialisierungswert und/oder einem zeitlich vorhergehenden Initialisierungswert gebildet werden.

Bei der kryptographischen Funktion kann es sich beispielswei se um eine Einwegfunktion insbesondere um eine Hashfunktion der Familie SHA-2 (engl. „Secure Hash Algorithm") oder SHA-3 handeln. Die Berechnung der Prüfsumme kann beispielsweise un ter Verwendung eines Prozessors und/oder Speichers erfolgen.

Vorteilhaft erhöht das Einsetzen einer kryptographischen Prüfsumme die Robustheit des Gesamtintegritätswertes gegen über Manipulation zusätzlich. Ein Zurücksetzen oder Fälschen des Gesamtintegritätswertes auf den Initialisierungswert oder einen anderen, durch den Angreifer kontrollierten Wert, ist vorteilhaft nicht mehr mit einem praktikablen, in anderen Worten sinnvoll durchführbaren, Aufwand möglich.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung wird als der vertrauenswürdige Speicherbe reich ein Trusted-Plattform-Modul verwendet. Als Trusted- Plattform-Modul wird ein integrierter Schaltkreis, insbeson dere ein Prozessor verstanden, der eine Rechenvorrichtung um Sicherheitsfunktionen erweitert. Das Trusted-Plattform-Modul umfasst ein Konfigurationsregister, welches kryptographisch erweiterbar ist. Der Gesamtintegritätswert wird vorteilhaft kryptographisch geschützt als Erweiterung des Konfigurations registers gespeichert.

In einer vorteilhaften Ausgestaltung und Weiterbildung der Erfindung können unterschiedliche Schlüssel in Abhängigkeit des Gesamtintegritätswerts durch einen Applikationsprozessor nutzbar sein. Insbesondere kann ein erster Schlüssel nur nutzbar sein, solange der Initialisierungswert als Gesamtin- tegritätswert gespeichert ist. Nach einer durch das Integri- tätserkennungssystem erkannten Integritätsverletzung wird der erste Schlüssel ungültig und ist demnach nicht mehr nutzbar. Ein zweiter Schlüssel wird bei Erkennen der Integritätsver letzung nutzbar. Dadurch kann erreicht werden, dass ein Schlüssel zum manipulationsgeschützten Melden einer Integri- tätsverletzung erst dann nutzbar bzw. zugreifbar ist, wenn tatsächlich eine Integritätsverletzung erkannt wurde.

Das Melden der Integritätsverletzung wird hier in anderen Worten indirekt mit Hilfe des Trusted-Plattform-Modul vorge nommen. Das Trusted-Plattform-Modul kann, in Abhängigkeit des gespeicherten Gesamtintegritätswertes, einen bestimmten Schlüssel zur Verwendung freigeben. Ist die Freigabe / Ver wendung des Schlüssels also an einen bestimmten Integritäts wert, der eine Manipulation darstellt, gebunden, kann mit Hilfe des Schlüssels eine Meldung beispielsweise signiert werden. Der Empfänger der Meldung kann die Signatur verifi zieren und sich vorteilhaft sicher sein, dass ein bestimmter Zustand (erkannte Manipulation) Vorgelegen haben muss.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung erfolgt das Speichern des Gesamtintegri- tätswerts dauerhaft. Insbesondere erfolgt das Speichern des Gesamtintegritätswerts dauerhaft, wenn eine Integritätsver letzung erkannt wurde. Das dauerhafte Speichern erfolgt ins besondere durch das Programmieren eines einmalprogrammierba ren Speicherbereichs (engl.: One-Time-Programmable, OTP). Dieser Speicherbereich kann insbesondere basierend auf Fuse- oder Antifuse-Technologie ausgestaltet sein.

Bei der Verwendung eines Trusted - Plattform - Moduls (engl, trusted platform module TPM) erfolgt das dauerhafte Speichern durch die Verwendung von nicht-volatilen Indices im Platt- form-Konfigurationsregister-Modus (PCR-Modus) des Trusted - Plattform -Moduls. Das Zugreifen auf Indices im Plattform- Konfigurationsregister-Modus, insbesondere das Zurücksetzen oder beliebige Modifizieren, ist nur mittels passender Zu griffsregelungen, insbesondere in Form eines Passworts, mög lich. Dies bietet den Vorteil, dass kompromittierte Rechen vorrichtungen, in anderen Worten Rechenvorrichtungen, bei de nen eine Integritätsverletzung erkannt wurde, auch nach einem Neustart durch das Auslesen des Gesamtintegritätswerts noch als Rechenvorrichtung mit bekannter Integritätsverletzung er kannt werden. Insbesondere in Netzwerken mit sehr hohen Si cherheitsanforderungen kann so überprüft werden, ob auf einem der verwendeten Rechenvorrichtungen zu einem früheren Zeit punkt eine Integritätsverletzung erkannt wurde.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung können unterschiedliche vertrauenswürdige Speicherbereiche oder Speicherarten für unterschiedliche Er eignisse verwendet werden. Insbesondere kann ein Trusted- Plattform-Modul-Konfigurationsregister für das Speichern von Statuswerten, die auf Manipulationen an der Geräte Firmware hindeuten, und ein anderes Konfigurationsregister für spezi elle Log-Nachrichten, die auf eine Manipulation hinweisen, eingesetzt werden. Dies erhöht die Zuverlässigkeit der Spei cherung des Gesamtintegritätswerts und des Auslesens des Ge- samtintegritätswerts und erhöht insbesondere die Robustheit gegenüber Angriffen, die darauf abzielen, den oder die ge speicherten Integritätswerte zu manipulieren.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung überprüft das Integritätserkennungssystem Komponenten der Rechenvorrichtung auf Integrität und ermit telt einen Zustandswert. Den Zustandswert vergleicht es mit einem Referenzregelwert. Bei einer Abweichung der beiden Wer te wird eine Integritätsverletzung als Integritätsstatus er mittelt.

Unter einer unzureichenden Übereinstimmung kann im Zusammen hang mit der Patentanmeldung verstanden werden, dass bei spielsweise Datenbits von verschlüsselten Daten eines Daten pakets einer Netzwerkkommunikation bei einer statistischen Analyse statistischen Eigenschaften, insbesondere erwarteten oder vorgegebenen statistischen Eigenschaften, nicht genügt. Diese statistischen Eigenschaften können beispielsweise durch einen Verschlüsselungsalgorithmus vorgegeben werden, der durch eine Sicherheitsrichtlinie für die Netzwerkkommunikati on gefordert wird. Dies kann bedeuten, dass die Datenbits der Nutzdaten des Datenpaketes beispielsweise eine zufällige sta tistische Verteilung aufweisen sollen, um zu bestätigen, dass diese verschlüsselt sind. Weisen die Datenbits hingegen eine nicht-zufällige statistische Verteilung auf, weisen diese insbesondere eine unzureichende Übereinstimmung mit vorgege benen statistischen Eigenschaften auf. Unter einer unzu reichenden Übereinstimmung kann aber auch verstanden werden, dass eine oder mehrere Anforderungen einer Sicherheitsricht linie an eine Netzwerkkommunikation nicht erfüllt sind.

Unter einer unzureichenden Übereinstimmung kann im Zusammen hang mit der Patentanmeldung weiterhin verstanden werden, dass beispielsweise Datenbits einer kryptographische Prüfsum me einer Datei nicht einer bekannten Referenzprüfsumme ent sprechen.

Das Integritätserkennungssystem umfasst insbesondere eine Laufzeit-Integritätsüberwachung, welche während der Laufzeit der Rechenvorrichtung Komponenten der Rechenvorrichtung, ins besondere die Gerätesoftware, die laufenden Prozesse sowie Eintragungen (Logs) überprüft. Der Vergleich der gemessenen Zustände der überprüften Komponenten der Rechenvorrichtung mit entsprechenden Referenzregeln ermöglicht das Erkennen ei ner Integritätsverletzung. Daraufhin wird ein Integritätssta tuswert erzeugt.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung ersetzt der Integritätsstatuswert den Ini tialisierungswertstatuswert des Gesamtintegritätswerts beim Speichern. Vorteilhaft wird somit ein definierter Wert als Gesamtintegritätswert gespeichert und lässt sich bei Bedarf auslesen.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung wird der Gesamtintegritätswert um den In tegritätsstatuswert beim Speichern erweitert. Der gespeicher te Gesamtintegritätswert kann somit insbesondere von dem vor herigen gespeicherten Wert abhängen, indem der hier beschrie- bene Speichervorgang z.B. einen fortlaufenden, kryptographi- schen Hashwert berechnet und abspeichert. Dies hat den Vor teil, dass ein Angreifer, der Zugriff auf die Erweiterungs funktion hat, den abgespeicherten Wert nicht ohne hohen Auf wand beliebig festlegen kann.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung erfolgt ein Bereitstellen des Gesamtinteg- ritätswertes geschützt durch eine kryptographische Prüfsumme, insbesondere durch eine kryptographische Signatur. Somit wird vorteilhaft das Bereitstellen des Gesamtintegritätswertes vor Manipulation und ist somit robust gegenüber Fälschungen. Ein Dritter kann dabei vorteilhaft nicht den Gesamtintegritäts- wert beim Ausgeben des geschützten Gesamtintegritätswertes verändern.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung wird der Gesamtintegritätswert lokal mit tels eines Applikationsprozessors oder eines Mikrocontrollers überwacht. Vorteilhaft erfolgt die Überwachung während der Laufzeit der Rechenvorrichtung und ermöglicht somit das Be reitstellen eines Alarms oder einer Meldung über eine Integ ritätsverletzung während der Laufzeit der Rechenvorrichtung.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung erfolgt das Speichern des Gesamtintegri- tätswertes nach Abschluss eines Arbeitszyklus, bis zu einem manuellen Zurücksetzen der Rechenvorrichtung oder kontinuier lich. Vorteilhaft kann somit für die Rechenvorrichtung und deren Einsatz, insbesondere wenn der Einsatz in der industri ellen Anwendung erfolgt, die Dauer einer nachweisbaren Integ ritätsverletzung bestimmt werden.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung beschreibt der Integritätsstatuswert die Integrität wenigstens einer Komponente der Rechenvorrichtung. Als Komponenten der Rechenvorrichtung werden dabei insbeson dere Programmbinärdateien, Konfigurationsdateien, Projektie- rungsdaten oder Prozesslisten verstanden. Eine Referenz des Integritätsverletzungsereignisses und/oder eine Referenz der betroffenen Komponenten kann als kryptographische Prüfsumme der Ereignisdaten als Gesamtintegritätswert gespeichert wer den. Die Ereignisdaten, auf deren Basis die Referenz gebildet wird, können dabei beliebig fein gewählt werden.

In einer weiteren vorteilhaften Ausgestaltung und Weiterbil dung der Erfindung wird als Recheneinheit eine Steuervorrich tung, ein Industriecomputer, ein Edge-Gateway, ein IoT-Knoten oder ein IoT-Gateway verwendet. Die Integrität der genannten Rechenvorrichtungen ist aufgrund der zentralen Position oder der industriellen Nutzung besonders wichtig. Es ist vorteil haft, wenn ein Integritätswert zuverlässig und nicht manipu lierbar gespeichert und ausgelesen werden kann.

Weitere Merkmale, Eigenschaften und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung un ter Bezugnahme auf die beiliegenden Figuren. Darin zeigen schematisch:

Figur 1 eine Rechenvorrichtung mit einem Integritätserken nungssystem, Komponenten und einer Speichereinheit;

Figur 2 ein Verfahrensdiagramm zu einem computergestützten Verfahren zum überwachen eines Integritätsstatus einer Re chenvorrichtung .

Figur 1 zeigt eine Rechenvorrichtung 1 mit einem Integritäts erkennungssystem 2, Komponenten 3 und einer Speichereinheit 4. Das Integritätserkennungssystem 2 umfasst eine Integri- tätsstatusermittlungseinheit 29, eine erste Zustandswerter mittlungseinheit 25 und eine zweite Zustandswertermittlungs einheit 26. Die erste Zustandswertermittlungseinheit 25 ist mit einem ersten Referenzregelwerk 27 verbunden. Die zweite Zustandswertermittlungseinheit 26 ist mit einem zweiten Refe renzregelwerk 28 verbunden. Die Komponenten 3 umfassen unter anderem wenigstens eine Programmbinärdatei 30, wenigstens ei- ne Konfigurationsdatei 31, wenigstens einen Prozess 32 und wenigstens eine Log-Datei 33. Die Komponenten 3 können ebenso weitere für die Rechenvorrichtung 1 relevante Dateien umfas sen. Die Speichereinheit 4 umfasst einen zurücksetzbaren Speicherbereich 40, einen Laufzeitspeicherbereich 41 und ei nen Lebenszeitspeicherbereich 42. Insbesondere der Laufzeit speicherbereich 41 und der Lebenszeitspeicherbereich 42 sind als Trusted-Plattform- Modul ausgestaltet. Der Laufzeitspei cherbereich 41 umfasst insbesondere ein Plattformkonfigurati onsregister. Der Lebenszeitspeicherbereich 42 umfasst insbe sondere einen Passwort-geschätzten nicht flüchtigen Index.

Der Lebenszeitspeicherbereich 42 kann aber auch, alternativ zu dem Trustes-Plattform-Modul, dauerhaft als einmalprogram mierbare Speichereinheit (One-Time-Programmable, insbesondere Fuses der CPU) ausgestaltet sein.

Die erste Zustandswertermittlungseinheit 25 und die zweite Zustandswertermittlungseinheit 26 überprüfen die unterschied lichen Komponenten 3, in diesem Beispiel Programmbinärdatei 30 und die Konfigurationsdatei 31. Die von der ersten Zu standswertermittlungseinheit 25 und von der zweiten Zustands wertermittlungseinheit 26 ermittelten Zustandswerte 6 werden mittels eines ersten Referenzregelwerk 27 und/oder eines zweiten Referenzregelwerk 28 in der Integritätsstatusermitt lungseinheit 29 ausgewertet. Zweckmäßigerweise umfasst das Referenzregelwerk Referenzen zu der überprüften Komponente 3. Die Referenzen der Referenzregelwerke 27, 28 werden mit den Zustandswerten 6 verglichen. Weichen die Referenzwerte und die Zustandswerte voneinander ab, wird eine Integritätsver letzung erkannt. Weiterhin kann das Ergebnis in der Integri- tätsstatusermittlungseinheit 29 kategorisiert werden. Dabei können insbesondere Informationsdaten zu der Integritätsver letzung zu einem Integritätsstatuswert 5 zusammengefasst wer den. Die Genauigkeit dieser Informationsdaten zu der Integri- tätsverletzung können gewählt werden. Es kann lediglich fest gehalten werden, dass eine Integritätsverletzung stattgefun den hat. Es ist ebenso möglich, Informationen über die Be troffenen Komponenten 3 für eine spätere Analyse in den In- tegritätsstatuswert 5 mit einzubeziehen. Vorteilhaft kann so später zwischen mehreren unterschiedlichen Integritätsverlet zung unterschieden werden.

Das Integritätserkennungssystem 2 arbeitet zur Laufzeit (engl, „run time check"), in anderen Worten parallel während der Ausführung einer Hauptfunktion der Recheneinheit. Bei der Hauptfunktion der Recheneinheit kann es sich insbesondere um eine Steuerungs- oder Überwachungsfunktionen eines techni schen Systems oder um eine Verarbeitung von Nutzerdaten han deln.

Das Integritätserkennungssystem 2 arbeitet in einer bevorzug ten Ausgestaltung in Echtzeit (engl, „realtime run time check"). Unter „Echtzeit" kann im Zusammenhang mit der Pa tentanmeldung verstanden werden, dass das Analysieren und/oder das Bereitstellen zuverlässig innerhalb einer vorbe stimmten Zeitspanne, beispielsweise in einem festen Zeitras ter, durchgeführt wird.

Der Integritätsstatuswert 5 wird anschließend in einem ver trauenswürdigen Speicherbereich der Speichereinheit 4 gespei chert. Das Speichern erfolgt insbesondere mittels des Einsat zes einer kryptographischen Einwegoperation. Die kryptogra- phische Einwegoperation bezieht einen Initialisierungswert, bei einem ersten Speichervorgang, und/oder einen zeitlich vorhergehenden Integritätsstatuswert in die Berechnung eines Gesamtintegritätswerts mit ein. Der Initialisierungswert, welcher insbesondere 128 Bit oder 256 Bit umfasst, wird beim Systemstart mit einem Zufallswert, einem individuell für das Gerät festgelegten Initialisierungswert oder einem konstanten Wert initialisiert. Vorteilhaft wird auf diese Weise der von der Integritätsstatusermittlungseinheit 29 ermittelte Integ ritätsstatuswert 5 in einem vertrauenswürdigen Bereich auf nicht umkehrbare Art als mit einem zeitlich vorhergehenden Integritätsstatuswert und/oder dem Initialisierungswert als Gesamtintegritätswert gespeichert. Das Einsetzen einer Ein wegoperation verhindert, dass auf einen früheren Integritäts- statuswert, den Initialisierungswert oder einen von einem An greifer festgelegten Wert zurückgerechnet werden kann. Die Statusinformation, dass eine Integritätsverletzung erkannt wurde, liegt somit verlässlich und nicht manipulierbar vor.

In diesem Ausführungsbeispiel umfasst die Speichereinheit 4 drei unterschiedliche Speicherbereiche: einen zurücksetzbaren Speicherbereich 40, einen Laufzeitspeicherbereich 41 und ei nen Lebenszeitspeicherbereich 42. Der Gesamtintegritätswert kann in wenigstens einem dieser Speicherbereiche gespeichert werden. Es ist auch möglich, dass der Gesamtintegritätswert in jedem der genannten Speicherbereiche gespeichert wird. In dem zurücksetzbaren Speicherbereich 40 kann der Gesamtinteg ritätswert während der Laufzeit der Rechenvorrichtung 1 zu rückgesetzt werden. Der Laufzeitspeicherbereich 41 wird nach einem Neustart der Rechenvorrichtung 1 zurückgesetzt. Der Le benszeitspeicherbereich 42 speichert Daten kontinuierlich und kann nicht oder nur unter bestimmten Voraussetzungen zurück gesetzt werden. Eine Voraussetzung könnte das Bereitstellen eines Passworts sein. Eine dauerhafte Speichereinheit kann beispielsweise als einmalprogrammierbares Speicherelement, insbesondere als Fuses oder OTP-Memory, ausgestaltet sein. Hier wird der Gesamtintegritätswert und somit auch eine er fasste Integritätsverletzung dauerhaft gespeichert.

Vorteilhaft wird durch das kryptographische Speichern des Ge- samtintegritätswerts verhindert, dass ein Integritätsstatus einer erkannten Integritätsverletzung durch einen Dritten wieder auf einen Integritätsstatus „integer" zurückgesetzt wird.

Allgemeine Ereignisse, welche das Integritätserkennungssystem 2 durchläuft, insbesondere ein Neustart des Integritätserken nungssystems 2 oder ein Ausführen einer ersten Zustandswer termittlung können zusätzlich protokolliert werden. Dies er höht die Zuverlässigkeit des Integritätserkennungssystems 2, da Manipulationen zusätzlich leichter erkannt werden können. Der in der Speichereinheit 4 gespeicherte Gesamtintegritäts- wert kann auf unterschiedliche Arten bereitgestellt werden.

Er kann lokal auf der Rechenvorrichtung 1 geprüft werden.

Dies kann insbesondere mittels eines Applikationsprozessors oder durch einen separaten Mikrocontroller oder Krypto- Controller erfolgen. Es ist ebenso vorteilhaft möglich, den Gesamtintegritätswert aus der Speichereinheit 4 aus der Ferne (engl, „remote") auszulesen. Insbesondere kann der Gesamtin- tegritätswert in einem Fernzeugnis (engl, „remote attestati- on") bereitgestellt werden. Dabei werden die Werte entspre chender Plattformkonfigurationsregister des Trusted- Plattform-Moduls verwendet und mit einem nicht extrahierbaren privaten Schlüssel signiert. Die Signatur und die Plattform konfigurationsregister können anschließend in eine andere Re chenvorrichtung, insbesondere einen Server, zur Überprüfung weitergegeben werden. Der Zugang der Rechenvorrichtung 1 zu weiteren Rechenvorrichtungen oder zu einem Netzwerk kann so mit vorteilhaft kontrolliert werden.

Es ist ebenfalls möglich, dass der Speicherbereich 4, insbe sondere der Gesamtintegritätswert, direkt von einem Anwender oder einer Softwarekomponente ausgelesen und ausgewertet wer den kann. Erfolgt das Speichern in der Speichereinheit 4 mit tels eines Trusted-Plattform-Moduls, ist es möglich den Ge- samtintegritätswert auch für die Zugriffskontrolle auf kryp- tographisch gesicherte Daten, insbesondere Schlüssel, als Be dingung zu verwenden. Insbesondere kann ein mithilfe des Trusted-Plattform-Moduls geschützter Schlüssel nur entschlüs selt oder verwendet werden, wenn eine Integritätsverletzung nicht stattgefunden hat.

Nach dem Auswerten des Gesamtintegritätswertes, insbesondere nach dem Erkennen einer Integritätsverletzung, kann eine Mail an einen zugelassenen Anwender geschickt werden. Es ist zu sätzlich oder alternativ ebenso möglich, einen Log-Eintrag zu generieren und in einer Log-Datei zu speichern, oder insbe sondere eine Log-Meldung zu generieren und per Syslog zu ver schicken, ein Monitoring-Event auszulösen und per SNMP-Trap an eine Monitoring-Einheit zu melden oder einen Neustart des Gerätes durchzuführen. Das Auswerten kann während der Lauf zeit, z.B. zyklisch oder Ereignis-basiert, oder während des Bootvorgangs, insbesondere eines Secure Boot Vorgangs, erfol gen. Bei einem Secure Boot wird ausgehend von einer vertrau enswürdigen ersten Komponente die jeweilige nächste Komponen te der Bootkette, insbesondere dem Bootloader oder dem Kernel, auf Integrität und Authentizität geprüft. Typischer weise erfolgt das Überprüfen unter Verwendung von digitalen Signaturen. Es ist auch möglich, eine Integritätsverletzung nur aufzuzeichnen und mit der Bootsequenz dennoch fortzufah ren.

Das dem Auswerten des Gesamtintegritätswertes kann auch als Teil eines „trusted boot" erfolgen. Dieser Vorgang wird typi scherweise unter Verwendung eines Trusted-Plattform-Moduls durchgeführt. Dabei bildet ausgehend von einem Vertrauenspfad (engl, „root of trust") jede Bootkomponente eine kryptogra- phische Prüfsumme der nächsten Bootkomponente. Die Prüfsummen werden anschließend in einem Plattform-Konfigurationsregister des Trusted-Plattform-Moduls gespeichert.

Die Speichereinheit 4 ist insbesondere sicherheitsgeschützt. Unter „sicherheitsgeschützt" kann im Zusammenhang mit der Er findung beispielsweise verstanden werden, dass insbesondere nur lesend auf eine sicherheitsgeschützten Speicherbereich zugegriffen werden kann oder dass insbesondere nur eine be stimmte Komponente oder bestimmte Komponenten zugreifen kön nen. Hierzu können beispielsweise die entsprechenden sicher- heitsgeschützten Komponenten Schutzmodule oder Versiegelungen aufweisen.

Zusätzlich zu dem Integritätsüberwachungssystem kann die Re chenvorrichtung 1 Vorrichtungen umfassen, welche eine Manipu lation bereits von außen ersichtlich machen. Insbesondere kann die Rechenvorrichtung 1 Bohrschutzfolien oder spezielle Sensoren (insbesondere Temperatursensoren, Spannungssensoren, Taktfrequenzmessvorrichtungen, Lichtmessvorrichtungen und Strahlungsmessvorrichtungen) umfassen. Somit können Angriffe vorteilhaft auch an der Hardware erkannt werden.

Figur 2 zeigt ein Verfahrensdiagramm eines computergestützten Verfahrens zum Überwachen eines Integritätsstatus einer Re chenvorrichtung 1 mit mehreren Schritten. In einem ersten Schritt S1 erfolgt das Festlegen eines Initialisierungswertes für einen Gesamtintegritätswert. In einem zweiten Schritt S2 erfolgt das Speichern des Gesamtintegritätswertes in einem vertrauenswürdigen Speicherbereich einer Speichereinheit 4.

In einem dritten Schritt S3 erfolgt das Ermitteln eines In tegritätsstatus durch ein Integritätserkennungssystem 2. In einem vierten Schritt S4 erfolgt das Erzeugen eines Integri- tätsstatuswertes 5. In einem fünften Schritt S5 erfolgt das Speichern des Integritätsstatuswertes 5 in dem Gesamtintegri- tätswert.

Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh rungsbeispiel näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele einge schränkt. Variationen hiervon können vom Fachmann abgeleitet werden, ohne den Schutzumfang der Erfindung, wie er durch die nachfolgenden Patentansprüche definiert wird, zu verlassen.

Bezugszeichenliste

1 Rechenvorrichtung

2 Integritätserkennungssystem

3 Komponenten

4 Speichereinheit

5 Integritätsstatuswert

6 Zustandswert

25 erste Zustandswertermittlungseinheit

26 zweite Zustandswertermittlungseinheit

27 erstes Referenzregelwerk

28 zweites Referenzregelwerk

29 Integritätsstatusermittlungseinheit

30 Programmbinärdatei

31 Konfigurationsdatei

32 Prozess

33 Logdatei

40 zurücksetzbarer Speicherbereich

41 Laufzeit-Speicherbereich

42 Lebenszeit-Speicherbereich

51 Festlegen eines Initialisierungswerts für einen Ge samtintegritätswert

52 Speichern des Gesamtintegritätswerts in einem vertrau enswürdigen Speicherbereich einer Speichereinheit

53 Ermitteln eines Integritätsstatus durch ein Integritäts erkennungssystem

54 Erzeugen eines Integritätsstatuswertes

55 Speichern des Integritätsstatuswertes in dem Gesamtin- tegritätswert