DE102018217432A1 - Prüfung der Integrität von eingebetteten Geräten - Google Patents

Prüfung der Integrität von eingebetteten Geräten Download PDF

Info

Publication number
DE102018217432A1
DE102018217432A1 DE102018217432.6A DE102018217432A DE102018217432A1 DE 102018217432 A1 DE102018217432 A1 DE 102018217432A1 DE 102018217432 A DE102018217432 A DE 102018217432A DE 102018217432 A1 DE102018217432 A1 DE 102018217432A1
Authority
DE
Germany
Prior art keywords
software
hash value
areas
calculated
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018217432.6A
Other languages
English (en)
Inventor
Peter Hoch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Schweiz AG
Original Assignee
Siemens Schweiz AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Schweiz AG filed Critical Siemens Schweiz AG
Priority to DE102018217432.6A priority Critical patent/DE102018217432A1/de
Publication of DE102018217432A1 publication Critical patent/DE102018217432A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Abstract

Verfahren und Vorrichtung zum Erkennen, ob die auf einem eingebetteten Gerät hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, wobei es sich bei der Vorrichtung um eine vertrauenswürdige Vorrichtung handelt; wobei die Vorrichtung eingerichtet ist, einen Hashwert über einen zufällig bestimmten Bereich der Software zu berechnen; und wobei die Vorrichtung weiter eingerichtet ist, einen durch das Gerät selbst berechneten Hashwert des zufällig bestimmten Bereiches der Software mit dem durch die Vorrichtung berechneten Hashwertes zu vergleichen.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erkennen, ob die auf einem eingebetteten Gerät hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht.
  • Eingebettete Geräte sind hochspezialisierte Geräte für spezifische Zwecke. Üblicherweise sind eingebettete Geräte in einen spezifischen technischen Kontext bzw. in eine übergeordnetes technisches System eingebettet, z.B. im Home-Entertainment (Unterhaltungselektronik, z.B. Set-Top-Boxen oder Router), in medizintechnischen Systemen, oder in der Flugzeug- und Fahrzeugtechnik. Aber auch z.B. Geldautomaten sind Beispiele für eingebettete Geräte.
  • An die Prozessoren für eingebettete Geräte werden oft hohe Echtzeitanforderungen, aber auch Anforderungen wie geringer Energieverbrauch oder geringe Speicherkapazität gestellt.
  • Die Software bzw. Firmware für eingebettete Geräte kann im Arbeitsspeicher (ROM) aber auch in einem persistenten Flash-Speicher untergebracht sein.
  • Software- bzw. Firmware-Updates für eingebettete Geräte erfolgen üblicherweise über einen entsprechenden Internet-Download.
  • Es besteht dabei die Gefahr, dass durch einen solchen Download Schadsoftware auf das eingebettete Gerät gelangen kann und somit die Integrität des Gerätes kompromittiert.
  • Es ist auch möglich, dass durch eine Schwachstelle in der Software bzw. im Gerät durch einen Angreifer Schadsoftware auf das Gerät gelangt. Diese Geräte können dann von dem Angreifer in einem Botnet für DDoS Angriffe (Distributed Denial of Service) eingesetzt werden. Da eingebettete Geräte in großen Stückzahlen gefertigt werden besteht hier ein großes Potential bzw. Risiko.
  • Es ist daher die Aufgabe der vorliegenden Erfindung, ein einfaches und sicheres Verfahren bereitzustellen, zum Erkennen, ob die auf einem eingebetteten Gerät hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht.
  • Die Aufgabe wird gelöst durch ein Verfahren zum Erkennen, ob die auf einem eingebetteten Gerät (z.B. IP Router, schaltbare Steckdose ...) hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, das Verfahren umfassend die folgenden Verfahrensschritte:
    • (VS1) Berechnen eines Hashwertes (z.B. durch SHA256) über einen zufällig bestimmten Bereich (Speicherbereich oder Speicherbereiche in dem oder denen sich die zu überprüfende Software befindet) der Software durch eine vertrauenswürdige Instanz (Tool, Werkzeug, z.B. Diagnosetool oder Engineeringsystem) ;
    • (VS2) Berechnen eines Hashwertes über den zufällig bestimmten Bereich (Speicherbereich in dem sich die Software befindet) der Software durch das Gerät selbst;
    • (VS3) Vergleichen der berechneten Hashwerte durch die vertrauenswürdige Instanz. Stimmen die berechneten Hashwerte überein, ist sichergestellt, dass die auf dem eingebetteten Gerät (z.B. IP Router, schaltbare Steckdose ...) hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht und keine Kompromittierung vorliegt. Mit dem erfindungsgemässen Verfahren wird erkannt, ob die Software, die sich auf dem Gerät befindet, dem Auslieferungszustand oder einem gültigen Update entspricht. Mit Vorteil wird vor der Durchführung der Verfahrensschritte das eingebettete Gerät von anderen Geräten und insbesondere vom Internet isoliert und jeweils neu gebootet. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes keine persistente Schad-Software befindet bzw. vom Gerät nicht mit einem Server des Angreifers Kontakt aufgenommen werden kann. Mit Vorteil werden so viele Bereiche, d.h. Speicherbereiche, durch das Verfahren überprüft, so dass ausgeschlossen werden kann, dass sich Schad-Software auf dem eingebetteten Gerät befindet. Mit Vorteil werden durch das Verfahren alle Bereiche bis auf die Konfigurationsbereiche des Speichers (RAM oder Flash-Speicher) geprüft.
  • Das Verfahren kann auch bei eingebetteten Geräten verwendet werden, die ein Betriebssystem (z.B. Linux) besitzen. Solche eingebetteten Geräte weisen viele einzelne Dateien (z.B. DLLs) im Speicher auf.
  • Die Hashwerte werden jeweils durch geeignete Hashfunktionen berechnet, mit Vorteil durch geeignete kryptographische Hashfunktionen mit den für eine Hashfunktion geforderten Eigenschaften: Einwegfunktion (aus einem Hashwert darf nicht der originale Inhalt erzeugt werden können; d.h. eine Hashfunktion darf nicht umkehrbar sein), Kollisionssicherheit (unterschiedlichen Inhalten darf nicht derselbe Hashwert zugeordnet sein) und Effizienz (die Berechnung eines Hashwertes muss möglichst schnell erfolgen). Zurzeit stellt z.B. SHA-256 eine geeignete Hashfunktion dar.
  • Mit Vorteil ist sichergestellt, dass der Speicherumfang des Gerätes so geprüft wird, dass es nicht möglich ist, sich die Originaldateien parallel zur Schadsoftware zu merken.
  • Mit Vorteil ist sichergestellt, dass die Originalsoftware nicht bei oder vor der Prüfung in Sicherheit gebracht werden kann. Z.B. durch Internetverbindung (z.B. durch einen upload) oder durch sichern in einem Speicher. Die Grösse des geprüften Speichers muss so sein, dass es einer Schad-SW nicht mehr möglich ist, die Originaldaten für die Hash-Berechnung heranzuziehen.
  • Mit Vorteil werden im Arbeitsspeicher (RAM) auch die Interruptvektoren der Prozessoren des eingebetteten Gerätes überprüft.
  • Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass der zufällig bestimmte Bereich der Software durch einen Zufallsgenerator der vertrauenswürdigen Instanz bestimmt wird. Mit Vorteil wird ein kryptographisch sicherer Zufallszahlengenerator verwendet.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Verfahrensschritte (VS1) bis (VS3) solange wiederholt werden, bis für jeden Bereich der Software Hashwerte berechnet und jeweils verglichen worden sind. Dies erhöht die Wahrscheinlichkeit Schad-Software zu erkennen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass Hashwerte nur für die Bereiche der Software bestimmt werden, die Bootloader und Betriebssystem und Applikationssoftware (alle Daten, die nicht verändert werden) umfassen. Mit Vorteil werden Bereiche, d.h. Speicherbereiche, in denen sich Daten mit variablem Inhalt (z.B. Konfigurationsdaten) befinden, nicht für die Prüfung verwendet.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass Hashwerte insbesondere für Softwarebereiche bestimmt werden, die die öffentlichen Schlüssel (Public Key) enthalten. Öffentliche Schlüssel (Public Key) können sehr lang sein. Durch Hashfunktionen können die öffentlichen Schlüssel auf kleine Zeichenfolgen reduziert und komprimiert werden. Dadurch wird Übertragungszeit gespart, da nicht der Schlüssel ausgelesen werden muss, sondern nur der dazugehörige Hashwert. Auch kann die Hashfunktion als Integritätsschutz (z.B. als Signatur) für den Schlüssel dienen. Man kann prüfen, ob die vertraulichen Bereiche in zwei Geräten gleich sind. Beispielsweise können hier private Schlüssel verglichen werden, da nur der Hashwert verwendet wird und dadurch der private Schlüssel nicht kompromittiert wird.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass das Verfahren nur durchgeführt wird, wenn das eingebettete Gerät und die vertrauenswürdige Instanz (Tool, Diagnosetool) in einer ausschliesslichen Kommunikationsverbindung (mit Vorteil bidirektional) miteinander verbunden sind. D.h., dass das eingebettete Gerät und die vertrauenswürdige Instanz von der Umgebung und insbesondere vom Internet datentechnisch isoliert sind. Z.B. durch eine Inselverbindung zwischen Gerät und Tool; ohne Internet. Mit Vorteil handelt es sich bei der ausschliesslichen Kommunikationsverbindung um eine Punkt-zu-Punkt-Verbindung, mit Vorteil um eine sichere Punkt-zu-Punkt-Verbindung.
  • Mit Vorteil wird das erfindungsgemässe Verfahren dazu eingesetzt, um Konfigurationen (bzw. Parametrierungen) von verschiedenen eingebetteten Geräten zu vergleichen.
  • Die Aufgabe wird weiterhin gelöst durch eine Vorrichtung (z.B. Tool, Diagnosetool) zum Erkennen, ob die auf einem eingebetteten Gerät, hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht,
    wobei es sich bei der Vorrichtung um eine vertrauenswürdige Vorrichtung (mit Vorteil signierte Vorrichtung) handelt;
    wobei die Vorrichtung eingerichtet ist, einen Hashwert (z.B. durch SHA256 erzeugt) über einen zufällig bestimmten Bereich (Speicherbereich in dem sich die Software befindet) der Software zu berechnen;
    wobei die Vorrichtung weiter eingerichtet ist, einen durch das Gerät selbst berechneten Hashwert des zufällig bestimmten Bereiches der Software (Speicherbereich in dem sich die Software befindet) mit dem durch die Vorrichtung berechneten Hashwertes zu vergleichen.
  • Mit Vorteil wird vor der Prüfung das eingebettete Gerät von anderen Geräten und insbesondere vom Internet isoliert und jeweils neu gebootet. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes keine persistente Schad-Software befindet. Wenn das eingebettete Gerät externe SD Karten hat, muss sichergestellt sein, dass vor der Prüfung der Geräteintegrität diese entfernt wurden. Mit Vorteil werden im Arbeitsspeicher (RAM) auch die Interruptvektoren der Prozessoren des eingebetteten Gerätes überprüft.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Vorrichtung eingerichtet ist, die jeweiligen Hashwerte von jeweils zufällig bestimmten Bereichen der Software zu berechnen und mit den vom eingebetteten Gerät selbst berechneten jeweiligen Hashwerte dieser jeweiligen Bereiche jeweils zu vergleichen. Dies erhöht die Wahrscheinlichkeit, dass die zu prüfende Software im Auslieferungszustand oder einem gültigen Update auf dem eingebetteten Gerät befindet.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Vorrichtung eine Schnittstelle für eine ausschliessliche Kommunikationsverbindung zwischen Vorrichtung und Gerät bereitstellt (mit Vorteil bidirektional). Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes keine persistente Schad-Software befindet.
  • Die Erfindung sowie vorteilhafte Ausführungen der vorliegenden Erfindung werden am Beispiel der nachfolgenden Figur erläutert. Dabei zeigt:
    • 1 eine beispielhafte Vorrichtung zum Erkennen, ob die auf einem Gerät, insbesondere einem eingebetteten Gerät, hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, und
    • 2 ein beispielhaftes Flussdiagramm für ein Verfahren zum Erkennen, ob die auf einem Gerät, insbesondere einem eingebetteten Gerät, hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht.
  • Eingebettete Geräte sind hochspezialisierte Geräte für spezifische Zwecke. Üblicherweise sind eingebettete Geräte in einen spezifischen technischen Kontext bzw. in eine übergeordnetes technisches System eingebettet, z.B. im Home-Entertainment (Unterhaltungselektronik, z.B. Set-Top-Boxen oder Router), in medizintechnischen Systemen, oder in der Flugzeug- und Fahrzeugtechnik.
  • 1 zeigt eine beispielhafte Vorrichtung DW zum Erkennen, ob die auf einem eingebetteten Gerät EG hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, wobei es sich bei der Vorrichtung DW um eine vertrauenswürdige Vorrichtung DW handelt; wobei die Vorrichtung DW eingerichtet ist, einen Hashwert HW2 über einen zufällig bestimmten Bereich B1 - Bn der Software zu berechnen; und wobei die Vorrichtung DW weiter eingerichtet ist, einen durch das eingebettete Gerät EG selbst berechneten Hashwert HW1 des zufällig bestimmten Bereiches B1 - Bn der Software mit dem durch die Vorrichtung DW berechneten Hashwertes HW2 zu vergleichen. Mit Vorteil wurde die Vorrichtung DW durch eine vertrauenswürdige Instanz zertifiziert oder signiert. Z.B. durch einen entsprechenden Zertifizierungsserver, z.B. durch eine entsprechende Internetverbindung. Die Hashwerte HW1, HW2 können z.B. durch die Hashfunktion SHA256 erzeugt werden. Bei den Bereiches B1 - Bn handelt es sich um Bereiche des Speichers SP1 des eingebetteten Gerätes EG in denen die zu prüfende Software abgelegt ist. Die Vorrichtung DW kann Software prüfen, die im Arbeitsspeicher (RAM) oder in einem Flash-Speicher des eingebetteten Gerätes EG hinterlegt ist. Mit Vorteil werden Bereiche B1 - Bn, d.h. Speicherbereiche, in denen sich Daten mit variablem Inhalt (z.B. Konfigurationsdaten) befinden, nicht für die Prüfung verwendet.
  • Ein Bereich der Software entspricht z.B. Abschnitte (Speicherabschnitte) im Arbeitsspeicher (RAM) oder in einem persistenten Speicher (z.B. Flash-Speicher) des eingebetteten Gerätes (z.B. IP Router) auf dem die Software physikalisch abgelegt ist.
  • Die Vorrichtung DW (z.B. ein Diagnosewerkzeug) umfasst entsprechende Verarbeitungsmittel P2 (z.B. einen leistungsfähigen Prozessor zur effektiven Bestimmung eines Hashwertes HW2 und zum Vergleich der Hashwerte HW1 und HW2), Speichermittel SP2 (Arbeitsspeicher, Flashspeicher), und Kommunikationsmittel zur Verbindung zum eingebetteten Gerät bzw. zum Internet I. In der Darstellung gemäss 1 ist die Vorrichtung DW über die Kommunikationsverbindung KV1 mit dem eingebetteten Gerät EG verbunden, z.B. über eine USB-Schnittstelle.
  • Das eingebettete Gerät EG (z.B. ein IP-Router) umfasst entsprechende Verarbeitungsmittel P1 (z.B. einen leistungsfähigen Prozessor zur effektiven Bestimmung eines Hashwertes HW1), Speichermittel SP1 (Arbeitsspeicher, Flashspeicher) mit den Speicherbereichen B1 - Bn, in denen die zu überprüfende Software (z.B. Applikationsprogramme, Firmware) abgelegt sind. Über die Kommunikationsverbindung KV2 (z.B. Funkverbindung, WLAN) ist das eingebettete Gerät EG mit dem Internet verbunden.
  • Mit Vorteil ist die Vorrichtung DW eingerichtet, die jeweiligen Hashwerte HW2 von jeweils zufällig bestimmten Bereichen B1 - Bn der Software zu berechnen und mit den vom eingebetteten Gerät EG selbst berechneten jeweiligen Hashwerte HW1 dieser jeweiligen Bereiche B1 - Bn jeweils zu vergleichen.
  • Mit Vorteil ist die Vorrichtung DW eingerichtet, eine Schnittstelle für eine ausschliessliche Kommunikationsverbindung KV1 zum eingebetteten Gerät EG herzustellen. Z.B. durch eine Inselverbindung zwischen Gerät EG und Vorrichtung DW; ohne Internet.
  • Beispielhaftes Szenario um festzustellen, dass das eingebettete Gerät noch keine Schadsoftware enthält:
    1. 1. Das Tool (Vorrichtung DW) ist vom Hersteller signiert. Der Kunde kann die Integrität des Tools prüfen.
    2. 2. Das Tool DW kennt die Software (bzw. alle gültigen Versionen), die sich im eingebetteten Gerät EG befindet.
    3. 3. Das Tool DW berechnet über einen zufällig gewählten Bereich der Software einen Hashwert HW2 (z.B. SHA256).
    4. 4. Das Tool DW beauftragt das Gerät EG über diesen Bereich einen Hashwert HW1 zu berechnen.
    5. 5. Das Tool DW vergleicht den selbst berechneten Hashwert HW2 mit dem vom Gerät gelieferten Hashwert HW1.
    6. 6. Wenn der vom Gerät EG gelieferte Hashwert HW1 von dem selbst berechneten abweicht, ist das eingebettete Gerät EG als Kompromittiert anzusehen und muss ausgetauscht werden.
    7. 7. Die Schritte 2-5 werden mehrmals durchgeführt und die zufälligen Bereiche B1 - Bn müssen den gesamten relevanten Speicher SP1 abdecken.
    8. 8. Wenn alle Tests positiv verlaufen sind, kann das Update für den Austausch der Schlüssel oder der Firmware eingespielt werden.
  • Der Speicher SP1 in einem eingebetteten Gerät (embedded device) EG ist beschränkt. Da die Bereiche B1 - Bn von denen ein Hashwert berechnet werden soll, vom Tool DW über einen Zufallszahlengenerator ermittelt werden, können Sie nicht zusammen mit der Schadsoftware im Gerät EG enthalten sein. Zur Sicherheit werden verschiedene zufällige Bereiche B1 - Bn geprüft. Die Bereiche, die die Public Keys (z.B. zur Prüfung von signierten Updates) im Gerät EG enthalten, werden natürlich in die Prüfung mit einbezogen. Andere Bereiche, in denen sich variabler Inhalt befindet (z.B. Parametrierung), werden nicht geprüft.
  • Wenn das Tool DW feststellt, dass das eingebettete Gerät EG noch nicht kompromittiert wurde, wird der kompromittierte Public-Key ausgetauscht. Zu diesem Zweck befindet sich im Gerät EG ein zweiter Public-Key, mit dem das Update für den Public-Key signiert wurde.
  • Falls durch die Prüfung festgestellt wird, dass die Geräteintegrität nicht mehr gegeben ist, kann daraus geschlossen werden, dass entweder der Private Key kompromittiert wurde oder dass Schwachstellen ausgenutzt wurden.
  • Da der Speicher SP1 in dem eingebetteten Gerät (embedded device) EG beschränkt ist, ist es einem Gerät EG mit verändertem Speicher nicht möglich die Berechnung der Hashes durchzuführen. Da die Bereiche zur Prüfung zufällig sind, können die Hashwerte der Schadsoftware nicht bekannt ein und sich schon im Gerät befinden. Der Test muss also fehlschlagen und die Integritätsverletzung wird erkannt.
  • Um zu verhindern, dass das Gerät EG die Hashwerte über das Internet I von einem Server des Angreifers lädt, wird für diese Prüfung eine 1:1 Verbindung Gerät-PC hergestellt oder auf einem anderen Weg sichergestellt, dass das Gerät die Daten nicht aus einer externen Quelle erhält.
  • Da der Fall eintreten kann, dass dem Hersteller nicht bekannt ist, dass der Private-Key kompromittiert wurde, kann diese Prüfung auch vor einem „normalen“ Update durchgeführt werden oder als separate Funktion in einem Diagnosetool DW integriert sein.
  • Beispielhafte Vorteile der vorliegenden Erfindung
  • Die Ermittlung von Hashes HW1, HW2 über zufällige Bereiche B1 - Bn des Gerätespeichers SP1 eines zu prüfenden eingebetteten Gerätes EG. Über die zufälligen Bereiche B1 - Bn und die Anzahl der Hashes ist einer Schadsoftware nicht möglich die Hashes vorab zu kennen oder zu berechnen. Durch die Einfachheit des Verfahrens, kann die Prüfung vor jedem „normalen“ Zugriff erfolgen. Dadurch kann ein kompromittierter Private-Key“ erkannt werden. Auch ist ein Tool DW möglich, dass die Integrität der Geräte feststellen kann. Die Integrität des Tools DW zur Überprüfung wird durch eine Signierung des Tools mit einem bekannten Verfahren durchgeführt.
  • Eine Signatur (d.h. eine digitale Signatur) wird von einem Sender für eine Nachricht oder elektronisches Artefakt (z.B. ein Software-Update) durch ein asymmetrisches kryptographisches Verfahren mit einem Private-Key (geheimer Signaturschlüssel; privater Schlüssel) erstellt. Ein Empfänger kann mit dem Public-Key (öffentlicher Schlüssel bzw. Verifikationsschlüssel) die Integrität der Nachricht oder des Artefaktes (z.B. Software-Update, Firmware-Update) prüfen. Üblicherweise wird der Private-Key bei einer digitalen Signatur nicht direkt auf die Nachricht oder das Artefakt angewendet, sondern auf deren Hash-Wert, der mittels einer Hashfunktion (wie z.B. SHA-256) aus der Nachricht bzw. aus dem Artefakt berechnet wird.
  • 2 zeigt ein beispielhaftes Flussdiagramm für ein Verfahren zum Erkennen, ob die auf einem eingebetteten Gerät, hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht. Das Verfahren umfasst die folgenden Verfahrensschritte:
    • (VS1) Berechnen eines Hashwertes über einen zufällig bestimmten Bereich der Software durch eine vertrauenswürdige Instanz;
    • (VS2) Berechnen eines Hashwertes über den zufällig bestimmten Bereich der Software durch das Gerät selbst;
    • (VS3) Vergleichen der berechneten Hashwerte durch die vertrauenswürdige Instanz.
  • Ein Bereich der Software entspricht z.B. Abschnitte (Speicherabschnitte) im Arbeitsspeicher (RAM) oder in einem persistenten Speicher (z.B. Flash-Speicher) des eingebetteten Gerätes (z.B. IP Router) in denen die entsprechende Software gespeichert ist.
  • Mit Vorteil wird der zufällig bestimmte Bereich der Software durch einen Zufallsgenerator der vertrauenswürdigen Instanz bestimmt. Mit Vorteil durch einen kryptographischen Zufallsgenerator.
  • Mit Vorteil werden die Verfahrensschritte (VS1) bis (VS3) solange wiederholt werden, bis für jeden Bereich der Software Hashwerte berechnet und jeweils verglichen worden sind. Wenn alle Speicherbereiche (RAM und Flash-Speicher) in denen die Software hinterlegt ist überprüft werden, ist sichergestellt, dass sich keine Schadsoftware auf dem eingebetteten Gerät befindet.
  • Mit Vorteil werden Hashwerte nur für die Bereiche der Software bestimmt, die Bootloader und Betriebssystem und Applikationssoftware umfassen. Es spart Zeit, wenn die Bereiche, die variable Daten (z.B. Konfigurationsdaten) beinhalten nicht überprüft werden.
  • Teilweise enthalten Konfigurationen Schlüssel für eine Symmetrische Verschlüsselung. Diese Schlüssel dürfen nicht kompromittiert werden. Durch die Berechnung eines Hashes über den Schlüssel werden die Schlüssel nicht kompromittiert. Die Konfigurationsdaten können so aber von verschiedenen Geräten ermittelt und verglichen werden. Dadurch könnenFehlkonfigurationen ermittelt werden.
  • Mit Vorteil werden Hashwerte insbesondere für Softwarebereiche bestimmt, die die öffentlichen Schlüssel (Public Key) enthalten.
  • Mit Vorteil wird das Verfahren nur durchgeführt wird, wenn Gerät und vertrauenswürdige Instanz in einer ausschliesslichen Kommunikationsverbindung miteinander verbunden sind.
  • Mit Vorteil wird vor der Durchführung der Verfahrensschritte VS1 - VS3 das eingebettete Gerät von anderen Geräten und insbesondere vom Internet isoliert und jeweils neu gebootet. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes keine persistente Schad-Software befindet.
  • Das Verfahren kann z.B. durch eine entsprechend eingerichtete Vorrichtung (z.B. Diagnosewerkzeug oder Engineeringtool) mit entsprechender Software- und Hardwareausstattung durchgeführt werden.
  • Verfahren und Vorrichtung zum Erkennen, ob die auf einem eingebetteten Gerät hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, wobei es sich bei der Vorrichtung um eine vertrauenswürdige Vorrichtung handelt; wobei die Vorrichtung eingerichtet ist, einen Hashwert über einen zufällig bestimmten Bereich der Software zu berechnen; und wobei die Vorrichtung weiter eingerichtet ist, einen durch das Gerät selbst berechneten Hashwert des zufällig bestimmten Bereiches der Software mit dem durch die Vorrichtung berechneten Hashwertes zu vergleichen.
  • Bezugszeichenliste
  • EG
    Eingebettetes Gerät
    DW
    Diagnosewerkzeug
    KV1, KV2
    Kommunikationsverbindung
    SP1, SP2
    Speicher
    P1, P2
    Prozessor
    B1 - Bn
    Bereich
    HW1, HW2
    Hashwert
    VS1 - VS3
    Verfahrensschritt

Claims (10)

  1. Verfahren zum Erkennen, ob die auf einem eingebetteten Gerät (EG) hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, das Verfahren umfassend die folgenden Verfahrensschritte: (VS1) Berechnen eines Hashwertes (HW2) über einen zufällig bestimmten Bereich (B1 - Bn) der Software durch eine vertrauenswürdige Instanz (DW); (VS2) Berechnen eines Hashwertes (HW1) über den zufällig bestimmten Bereich (B1 - Bn) der Software durch das Gerät (EG) selbst; (VS3) Vergleichen der berechneten Hashwerte (HW1, HW2) durch die vertrauenswürdige Instanz (DW).
  2. Verfahren nach Anspruch 1, wobei der zufällig bestimmte Bereich (B1 - Bn) der Software durch einen Zufallsgenerator der vertrauenswürdigen Instanz (DW) bestimmt wird.
  3. Verfahren nach einem der vorstehenden Ansprüche, wobei die Verfahrensschritte (VS1) bis (VS3) solange wiederholt werden, bis für jeden Bereich (B1 - Bn) der Software Hashwerte (HW1, HW2) berechnet und jeweils verglichen worden sind.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei Hashwerte nur für die Bereiche (B1 - Bn) der Software bestimmt werden, die Bootloader, Betriebssystem und Applikationssoftware umfassen.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei Hashwerte insbesondere für Softwarebereiche (B1 - Bn) bestimmt werden, die die öffentlichen Schlüssel (Public Key) enthalten.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei das Verfahren nur durchgeführt wird, wenn das Gerät (EG) und die vertrauenswürdige Instanz (DW) in einer ausschliesslichen Kommunikationsverbindung (KV1) miteinander verbunden sind.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei das Verfahren dazu eingesetzt wird, um Konfigurationen von verschiedenen Geräten (EG) zu vergleichen.
  8. Vorrichtung (DW) zum Erkennen, ob die auf einem eingebetteten Gerät (EG) hinterlegte Software dem Auslieferungszustand oder einem gültigen Update entspricht, wobei es sich bei der Vorrichtung (DW) um eine vertrauenswürdige Vorrichtung handelt; wobei die Vorrichtung (DW) eingerichtet ist, einen Hashwert (HW2) über einen zufällig bestimmten Bereich (B1 - Bn) der Software zu berechnen; wobei die Vorrichtung (DW) weiter eingerichtet ist, einen durch das Gerät (EG) selbst berechneten Hashwert (HW1) des zufällig bestimmten Bereiches (B1 - Bn) der Software mit dem durch die Vorrichtung (DW) berechneten Hashwertes (HW2) zu vergleichen.
  9. Vorrichtung (DW) nach Anspruch 8, wobei die Vorrichtung eingerichtet ist, die jeweiligen Hashwerte (HW2) von jeweils zufällig bestimmten Bereichen (B1 - Bn) der Software zu berechnen und mit den vom Gerät (EG) selbst berechneten jeweiligen Hashwerte (HW1) dieser jeweiligen Bereiche (B1 - Bn) jeweils zu vergleichen.
  10. Vorrichtung (DW) nach Anspruch 8 oder 9, umfassend eine Schnittstelle für eine ausschliessliche Kommunikationsverbindung (KV1) zum Gerät (EG).
DE102018217432.6A 2018-10-11 2018-10-11 Prüfung der Integrität von eingebetteten Geräten Pending DE102018217432A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018217432.6A DE102018217432A1 (de) 2018-10-11 2018-10-11 Prüfung der Integrität von eingebetteten Geräten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018217432.6A DE102018217432A1 (de) 2018-10-11 2018-10-11 Prüfung der Integrität von eingebetteten Geräten

Publications (1)

Publication Number Publication Date
DE102018217432A1 true DE102018217432A1 (de) 2020-04-16

Family

ID=69954705

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018217432.6A Pending DE102018217432A1 (de) 2018-10-11 2018-10-11 Prüfung der Integrität von eingebetteten Geräten

Country Status (1)

Country Link
DE (1) DE102018217432A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022129062A1 (en) * 2020-12-18 2022-06-23 Thales Dis France Sas A method for checking if an update of a file comprising data has been done on a secure element cooperating with a terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138969A1 (en) * 2011-11-28 2013-05-30 Mocana Corporation Preventing glitching of a firmware image using one or more layers of randomness
US20160028549A1 (en) * 2014-07-24 2016-01-28 Yasuaki YUJI Information processing system and electronic device
DE112013007574T5 (de) * 2013-11-06 2016-08-18 Mitsubishi Electric Corporation Softwareaktualisierungsvorrichtung und Software-Aktualisierungsprogramm
US20180114000A1 (en) * 2015-05-12 2018-04-26 Critical Blue Ltd. Client software attestation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138969A1 (en) * 2011-11-28 2013-05-30 Mocana Corporation Preventing glitching of a firmware image using one or more layers of randomness
DE112013007574T5 (de) * 2013-11-06 2016-08-18 Mitsubishi Electric Corporation Softwareaktualisierungsvorrichtung und Software-Aktualisierungsprogramm
US20160028549A1 (en) * 2014-07-24 2016-01-28 Yasuaki YUJI Information processing system and electronic device
US20180114000A1 (en) * 2015-05-12 2018-04-26 Critical Blue Ltd. Client software attestation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022129062A1 (en) * 2020-12-18 2022-06-23 Thales Dis France Sas A method for checking if an update of a file comprising data has been done on a secure element cooperating with a terminal

Similar Documents

Publication Publication Date Title
DE602005001351T2 (de) Verteilte Verwaltung einer Zertifikatsrücknahmeliste
DE102007057900B4 (de) Authentifikation von verdächtigen Daten unter Verwendung von Schlüsseltabellen
DE102012217743B4 (de) Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
DE10393456B4 (de) Verkapselung einer TCPA-vertrauenswürdigen Plattformmodulfunktionalität innerhalb eines Server-Management-Coprozessor-Subsystems
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE102005030590B4 (de) Sicheres Patchsystem
DE60220959T2 (de) Verfahren und Vorrichtung zur Bereitstellung einer Liste von öffentlichen Schlüsseln in einem Public-Key-System
DE102018101307A1 (de) Techniken für SGX-Enklaven-Fernauthentifizierung
DE102016224537B4 (de) Masterblockchain
DE10141737C1 (de) Verfahren zur sicheren Datenübertragung innerhalb eines Verkehrsmittels
DE102015209116A1 (de) Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
WO2015144764A1 (de) Verfahren und system zur verbesserung der datensicherheit bei einem kommunikationsvorgang
DE102013108020A1 (de) Authentifizierungsschema zum Aktivieren eines Spezial-Privileg-Modus in einem gesicherten elektronischen Steuergerät
DE102020121533A1 (de) Vertrauenswürdige authentifizierung von automotiven mikrocon-trollern
DE102007030622A1 (de) Verfahren und Anwendung zum Verknüpfen zwischen Systemen auf der Grundlage von Hardware-Sicherheits-Einheiten
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102021127624A1 (de) Sichere bereitstellung der identität des basisboard-management-controllers einer plattform
DE102019104680A1 (de) Paketverarbeitung in einem Computersystem
EP3695337B1 (de) Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems
DE102018217431A1 (de) Sicherer Schlüsseltausch auf einem Gerät, insbesondere einem eingebetteten Gerät
DE102014210282A1 (de) Erzeugen eines kryptographischen Schlüssels
DE102018217432A1 (de) Prüfung der Integrität von eingebetteten Geräten
EP3767513B1 (de) Verfahren zur sicheren durchführung einer fernsignatur sowie sicherheitssystem
DE102020117552A1 (de) Sichere hybrid-boot-systeme und sichere boot-verfahren für hybridsysteme
EP3648430B1 (de) Hardware-sicherheitsmodul

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MAIER, DANIEL OLIVER, DIPL.-ING. UNIV., DE

R016 Response to examination communication