DE102018217432A1 - Check the integrity of embedded devices - Google Patents

Check the integrity of embedded devices 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
German (de)
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/en
Publication of DE102018217432A1 publication Critical patent/DE102018217432A1/en
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.Method and device for recognizing whether the software stored on an embedded device corresponds to the delivery status or a valid update, the device being a trustworthy device; wherein the device is configured to calculate a hash value over a randomly determined area of the software; and wherein the device is further configured to compare a hash value calculated by the device itself of the randomly determined area of the software with the hash value calculated by the device.

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.The invention relates to a method and a device for recognizing whether the software stored on an embedded device corresponds to the delivery status or a valid update.

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.Embedded devices are highly specialized devices for specific purposes. Usually, embedded devices are embedded in a specific technical context or in a higher-level technical system, e.g. in home entertainment (consumer electronics, e.g. set-top boxes or routers), in medical technology systems, or in aircraft and vehicle technology. But also e.g. ATMs are examples of embedded devices.

An die Prozessoren für eingebettete Geräte werden oft hohe Echtzeitanforderungen, aber auch Anforderungen wie geringer Energieverbrauch oder geringe Speicherkapazität gestellt.The processors for embedded devices often have high real-time requirements, but also requirements such as low energy consumption or low storage capacity.

Die Software bzw. Firmware für eingebettete Geräte kann im Arbeitsspeicher (ROM) aber auch in einem persistenten Flash-Speicher untergebracht sein.The software or firmware for embedded devices can also be stored in the main memory (ROM) in a persistent flash memory.

Software- bzw. Firmware-Updates für eingebettete Geräte erfolgen üblicherweise über einen entsprechenden Internet-Download.Software or firmware updates for embedded devices are usually carried out via a corresponding 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.There is a risk that such a download could lead to malware on the embedded device and thus compromise the integrity of the device.

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.It is also possible that a vulnerability in the software or in the device could allow malicious software to reach the device. The attacker can then use these devices in a botnet for DDoS attacks (Distributed Denial of Service). Since embedded devices are manufactured in large numbers, there is great potential and risk here.

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.It is therefore the object of the present invention to provide a simple and reliable method for recognizing whether the software stored on an embedded device corresponds to the delivery status or a valid update.

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.
The task is solved by a method for recognizing whether the software stored on an embedded device (eg IP router, switchable socket ...) corresponds to the delivery status or a valid update, the method comprises the following method steps:
  • (VS1) calculating a hash value (e.g. by SHA256) over a randomly determined area (memory area or memory areas in which the software to be checked is located) of the software by a trustworthy entity (tool, tool, e.g. diagnostic tool or engineering system);
  • (VS2) calculating a hash value over the randomly determined area (memory area in which the software is located) of the software by the device itself;
  • (VS3) comparing the calculated hash values by the trusted entity. If the calculated hash values match, it is ensured that the software stored on the embedded device (e.g. IP router, switchable socket ...) corresponds to the delivery status or a valid update and that there is no compromise. With the method according to the invention, it is recognized whether the software on the device corresponds to the delivery status or a valid update. Before the method steps are carried out, the embedded device is advantageously isolated from other devices and in particular from the Internet and in each case rebooted. This ensures that there is no persistent malware in the working memory (RAM) of the embedded device or that the device cannot contact an attacker's server. Advantageously, so many areas, ie memory areas, are checked by the method, so that it can be ruled out that malware is on the embedded device. The method advantageously checks all areas except the configuration areas of the memory (RAM or flash memory).

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.The method can also be used with embedded devices that have an operating system (e.g. Linux). Such embedded devices have many individual files (e.g. DLLs) in memory.

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.The hash values are each calculated using suitable hash functions, advantageously using suitable cryptographic hash functions with the properties required for a hash function: one-way function (the original content cannot be generated from a hash value; that is, a hash function must not be reversible), collision safety (different contents must not be assigned the same hash value) and efficiency (the calculation of a hash value must be done as quickly as possible). Currently e.g. SHA-256 is a suitable hash function.

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. This advantageously ensures that the amount of memory in the device is checked in such a way that it is not possible to remember the original files in parallel with the malware.

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.This advantageously ensures that the original software cannot be brought to safety during or before the test. E.g. by internet connection (e.g. by upload) or by saving in a memory. The size of the tested memory must be such that it is no longer possible for malicious software to use the original data for the hash calculation.

Mit Vorteil werden im Arbeitsspeicher (RAM) auch die Interruptvektoren der Prozessoren des eingebetteten Gerätes überprüft.The interrupt vectors of the processors of the embedded device are also advantageously checked in the main memory (RAM).

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.A first advantageous embodiment of the invention is that the randomly determined area of the software is determined by a random generator of the trustworthy entity. A cryptographically secure random number generator is advantageously used.

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.A further advantageous embodiment of the invention is that the method steps (VS1) to (VS3) are repeated until hash values have been calculated and compared for each area of the software. This increases the likelihood of detecting malware.

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.A further advantageous embodiment of the invention is that hash values are only determined for the areas of the software that comprise the boot loader and operating system and application software (all data that are not changed). Areas, i.e. Memory areas in which data with variable content (e.g. configuration data) are not used for the test.

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.A further advantageous embodiment of the invention is that hash values are determined in particular for software areas that contain the public key (public key). Public keys can be very long. The public keys can be reduced to small strings and compressed using hash functions. This saves transmission time, since it is not the key that has to be read out, but only the associated hash value. The hash function can also serve as integrity protection (e.g. as a signature) for the key. One can check whether the confidential areas in two devices are the same. For example, private keys can be compared here, since only the hash value is used and the private key is not compromised.

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.A further advantageous embodiment of the invention is that the method is only carried out when the embedded device and the trustworthy entity (tool, diagnostic tool) are connected to one another in an exclusive communication connection (advantageously bidirectionally). This means that the embedded device and the trustworthy entity are isolated from the environment and in particular from the Internet in terms of data technology. E.g. through an island connection between device and tool; without internet. The exclusive communication connection is advantageously a point-to-point connection, and advantageously a secure point-to-point connection.

Mit Vorteil wird das erfindungsgemässe Verfahren dazu eingesetzt, um Konfigurationen (bzw. Parametrierungen) von verschiedenen eingebetteten Geräten zu vergleichen.The method according to the invention is advantageously used to compare configurations (or parameterizations) of different embedded devices.

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.
The task is further solved by a device (eg tool, diagnostic tool) for recognizing whether the software stored on an embedded device corresponds to the delivery status or a valid update,
the device being a trustworthy device (advantageously a signed device);
wherein the device is configured to calculate a hash value (eg generated by SHA256) over a randomly determined area (memory area in which the software is located) of the software;
the device being further configured to compare a hash value of the randomly determined area of the software (memory area in which the software is located) calculated by the device itself with the hash value calculated by the device.

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.Before the test, the embedded device is advantageously isolated from other devices and in particular from the Internet and rebooted in each case. This ensures that there is no persistent malware in the RAM (RAM) of the embedded device. If the embedded device has external SD cards, it must be ensured that they have been removed before checking the device integrity. The interrupt vectors of the processors of the embedded device are also advantageously checked in the main memory (RAM).

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.A further advantageous embodiment of the invention is that the device is set up to calculate the respective hash values of regions of the software which are determined at random in each case and to compare them with the respective hash values of these respective regions calculated by the embedded device itself. This increases the probability that the software to be tested in the Delivery status or a valid update is located on the embedded device.

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.A further advantageous embodiment of the invention is that the device provides an interface for an exclusive communication connection between the device and the device (advantageously bidirectionally). This ensures that there is no persistent malware in the RAM (RAM) of the embedded device.

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.
The invention and advantageous embodiments of the present invention are explained using the example of the following figure. It shows:
  • 1 an exemplary device for recognizing whether the software stored on a device, in particular an embedded device, corresponds to the delivery state or a valid update, and
  • 2nd an exemplary flow chart for a method for recognizing whether the software stored on a device, in particular an embedded device, corresponds to the delivery status or a valid update.

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.Embedded devices are highly specialized devices for specific purposes. Usually, embedded devices are embedded in a specific technical context or in a higher-level technical system, e.g. in home entertainment (consumer electronics, e.g. set-top boxes or routers), in medical technology systems, or in aircraft and vehicle technology.

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. 1 shows an exemplary device DW to detect if the on an embedded device EG stored software corresponds to the delivery status or a valid update, whereby it is in the device DW a trustworthy device DW acts; being the device DW is set up a hash value HW2 over a random area B1 - Calculate Bn of the software; and being the device DW is further set up by the embedded device EG self-calculated hash value HW1 of the randomly determined area B1 - Bn the software with that through the device DW calculated hash values HW2 to compare. The device was advantageous DW certified or signed by a trusted authority. For example, through a corresponding certification server, for example through a corresponding internet connection. The hash values HW1 , HW2 can be generated using the hash function SHA256, for example. In the area B1 - Bn are areas of the memory SP1 of the embedded device EG in which the software to be tested is stored. The device DW can check software in memory (RAM) or in a flash memory of the embedded device EG is deposited. Areas are beneficial B1 - Bn, ie memory areas in which data with variable content (eg configuration data) is not used for the test.

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.One area of the software corresponds e.g. Sections (memory sections) in the main memory (RAM) or in a persistent memory (e.g. flash memory) of the embedded device (e.g. IP router) on which the software is physically stored.

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.The device DW (eg a diagnostic tool) includes appropriate processing equipment P2 (eg a powerful processor for the effective determination of a hash value HW2 and to compare the hash values HW1 and HW2 ), Storage medium SP2 (RAM, flash memory), and means of communication for connection to the embedded device or to the Internet I. In the illustration according to 1 is the device DW over the communication link KV1 with the embedded device EG connected, for example via a USB interface.

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.The embedded device EG (eg an IP router) includes appropriate processing equipment P1 (eg a powerful processor for the effective determination of a hash value HW1 ), Storage medium SP1 (RAM, flash memory) with the memory areas B1 - Bn in which the software to be checked (eg application programs, firmware) is stored. Via the communication link KV2 (e.g. radio connection, WLAN) is the embedded device EG connected to the internet.

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.The device is advantageous DW set up the respective hash values HW2 of randomly determined areas B1 - Calculate bn of the software and with that of the embedded device EG self-calculated respective hash values HW1 of these respective areas B1 - Compare Bn in each case.

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.The device is advantageous DW set up, an interface for an exclusive communication connection KV1 to the embedded device EG to manufacture. For example, through an island connection between the device EG and device DW ; without internet.

Beispielhaftes Szenario um festzustellen, dass das eingebettete Gerät noch keine Schadsoftware enthält: Example scenario to determine that the embedded device does not yet contain any malware:

  1. 1. Das Tool (Vorrichtung DW) ist vom Hersteller signiert. Der Kunde kann die Integrität des Tools prüfen.1. The tool (device DW ) is signed by the manufacturer. The customer can check the integrity of the tool.
  2. 2. Das Tool DW kennt die Software (bzw. alle gültigen Versionen), die sich im eingebetteten Gerät EG befindet.2. The tool DW knows the software (or all valid versions) that are in the embedded device EG located.
  3. 3. Das Tool DW berechnet über einen zufällig gewählten Bereich der Software einen Hashwert HW2 (z.B. SHA256).3. The tool DW calculates a hash value over a randomly selected area of the software HW2 (e.g. SHA256).
  4. 4. Das Tool DW beauftragt das Gerät EG über diesen Bereich einen Hashwert HW1 zu berechnen.4. The tool DW instructs the device EG a hash value over this range HW1 to calculate.
  5. 5. Das Tool DW vergleicht den selbst berechneten Hashwert HW2 mit dem vom Gerät gelieferten Hashwert HW1.5. The tool DW compares the self-calculated hash value HW2 with the hash value supplied by the device 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.6. If the device EG supplied hash value HW1 deviates from the self-calculated one is the embedded device EG To be regarded as compromised and must be replaced.
  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.7. Steps 2-5 are carried out several times and the random areas B1 - Bn must have all the relevant memory SP1 cover.
  8. 8. Wenn alle Tests positiv verlaufen sind, kann das Update für den Austausch der Schlüssel oder der Firmware eingespielt werden.8. If all tests are positive, the update for the exchange of the keys or the firmware can be installed.

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.The memory SP1 in an embedded device EG is limited. Because the areas B1 - Bn from which a hash value is to be calculated by the tool DW can be determined via a random number generator, you can not together with the malware in the device EG be included. For safety, there are various random areas B1 - Bn checked. The areas that contain the public keys (e.g. for checking signed updates) in the device EG are naturally included in the test. Other areas in which there is variable content (eg parameterization) are not checked.

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.If the tool DW detects that the embedded device EG If the compromised public key has not yet been compromised. For this purpose is in the device EG a second public key with which the update for the public key was signed.

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.If the check determines that device integrity is no longer given, it can be concluded that either the private key has been compromised or that vulnerabilities have been exploited.

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.Because the store SP1 in the embedded device EG is limited, it is a device EG with changed memory it is not possible to calculate the hashes. Since the areas for checking are random, the hash values of the malware cannot be known and can already be found in the device. The test must fail and the integrity violation is recognized.

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.To prevent the device EG loads the hash values over the Internet I from a server of the attacker, a 1: 1 device-PC connection is established for this test or it is ensured in another way that the device does not receive the data from an external source.

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.As it can happen that the manufacturer is not aware that the private key has been compromised, this check can also be carried out before a "normal" update or as a separate function in a diagnostic tool DW be integrated.

Beispielhafte Vorteile der vorliegenden ErfindungExemplary advantages of the present invention

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.The determination of hashes HW1 , HW2 about random areas B1 - Bn of the device memory SP1 of an embedded device to be tested EG . About the random areas B1 - Bn and the number of hashes is not possible for malware to know or calculate the hashes in advance. Due to the simplicity of the procedure, the check can be carried out before each "normal" access. This means that a compromised private key can be identified. Is also a tool DW possible that the integrity of the devices can be determined. The integrity of the tool DW for verification is carried out by signing the tool using a known method.

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.A signature (i.e. a digital signature) is created by a sender for a message or an electronic artifact (e.g. a software update) using an asymmetric cryptographic procedure with a private key (secret signature key; private key). A recipient can use the public key (public key or verification key) to check the integrity of the message or artifact (e.g. software update, firmware update). Usually, the private key for a digital signature is not applied directly to the message or artifact, but to its hash value, which is calculated using a hash function (such as SHA-256) from the message or from the artifact.

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.
2nd shows an exemplary flow diagram for a method for recognizing whether the software stored on an embedded device corresponds to the delivery state or a valid update. The process comprises the following process steps:
  • (VS1) calculating a hash value over a randomly determined area of the software by a trustworthy entity;
  • (VS2) calculating a hash value over the randomly determined area of the software by the device itself;
  • (VS3) comparing the calculated hash values by the trusted entity.

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.One area of the software corresponds e.g. Sections (memory sections) in the main memory (RAM) or in a persistent memory (e.g. flash memory) of the embedded device (e.g. IP router) in which the corresponding software is stored.

Mit Vorteil wird der zufällig bestimmte Bereich der Software durch einen Zufallsgenerator der vertrauenswürdigen Instanz bestimmt. Mit Vorteil durch einen kryptographischen Zufallsgenerator.The randomly determined area of the software is advantageously determined by a random generator of the trustworthy entity. Benefit from a cryptographic random number generator.

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.The method steps (VS1) to (VS3) are advantageously repeated until hash values have been calculated for each area of the software and have been compared in each case. If all memory areas (RAM and flash memory) in which the software is stored are checked, it is ensured that there is no malware on the embedded device.

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.Advantageously, hash values are only determined for those areas of the software that include the boot loader and operating system and application software. It saves time if the areas that contain variable data (e.g. configuration data) are not checked.

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.Some configurations contain keys for symmetric encryption. These keys must not be compromised. The keys are not compromised by calculating a hash via the key. However, the configuration data can be determined and compared by different devices. This enables incorrect configurations to be determined.

Mit Vorteil werden Hashwerte insbesondere für Softwarebereiche bestimmt, die die öffentlichen Schlüssel (Public Key) enthalten.Hash values are advantageously determined, in particular, for software areas which contain the public keys.

Mit Vorteil wird das Verfahren nur durchgeführt wird, wenn Gerät und vertrauenswürdige Instanz in einer ausschliesslichen Kommunikationsverbindung miteinander verbunden sind.The method is advantageously carried out only when the device and the trustworthy entity are connected to one another in an exclusive communication connection.

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.It is advantageous to carry out the procedural steps VS1 - VS3 the embedded device is isolated from other devices and especially from the Internet and rebooted. This ensures that there is no persistent malware in the RAM (RAM) of the embedded device.

Das Verfahren kann z.B. durch eine entsprechend eingerichtete Vorrichtung (z.B. Diagnosewerkzeug oder Engineeringtool) mit entsprechender Software- und Hardwareausstattung durchgeführt werden.The method can e.g. be carried out by means of an appropriately set up device (e.g. diagnostic tool or engineering tool) with appropriate software and hardware equipment.

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.Method and device for recognizing whether the software stored on an embedded device corresponds to the delivery status or a valid update, the device being a trustworthy device; wherein the device is configured to calculate a hash value over a randomly determined area of the software; and wherein the device is further configured to compare a hash value calculated by the device itself of the randomly determined area of the software with the hash value calculated by the device.

BezugszeichenlisteReference list

EGEG
Eingebettetes GerätEmbedded device
DWDW
DiagnosewerkzeugDiagnostic tool
KV1, KV2KV1, KV2
KommunikationsverbindungCommunication link
SP1, SP2SP1, SP2
SpeicherStorage
P1, P2P1, P2
Prozessorprocessor
B1 - BnB1 - Bn
BereichArea
HW1, HW2HW1, HW2
HashwertHash value
VS1 - VS3VS1 - VS3
VerfahrensschrittProcedural step

Claims (10)

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).Process for recognizing whether the software stored on an embedded device (EG) corresponds to the delivery status or a valid update, the process comprises the following process steps: (VS1) calculating a hash value (HW2) over a randomly determined area (B1 - Bn) of the software by a trustworthy entity (DW); (VS2) calculating a hash value (HW1) over the randomly determined area (B1 - Bn) of the software by the device (EG) itself; (VS3) comparing the calculated hash values (HW1, HW2) by the trustworthy entity (DW). Verfahren nach Anspruch 1, wobei der zufällig bestimmte Bereich (B1 - Bn) der Software durch einen Zufallsgenerator der vertrauenswürdigen Instanz (DW) bestimmt wird.Procedure according to Claim 1 , the randomly determined area (B1 - Bn) of the software being determined by a random generator of the trustworthy entity (DW). 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. Method according to one of the preceding claims, wherein the method steps (VS1) to (VS3) are repeated until hash values (HW1, HW2) have been calculated and compared in each case for each area (B1-Bn) of the software. 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.Method according to one of the preceding claims, wherein hash values are determined only for the areas (B1 - Bn) of the software which comprise the boot loader, operating system and application software. 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.Method according to one of the preceding claims, wherein hash values are determined in particular for software areas (B1-Bn) which contain the public keys (public key). 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.Method according to one of the preceding claims, the method being carried out only if the device (EG) and the trustworthy entity (DW) are connected to one another in an exclusive communication connection (KV1). Verfahren nach einem der vorstehenden Ansprüche, wobei das Verfahren dazu eingesetzt wird, um Konfigurationen von verschiedenen Geräten (EG) zu vergleichen.Method according to one of the preceding claims, wherein the method is used to compare configurations of different devices (EG). 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.Device (DW) for recognizing whether the software stored on an embedded device (EG) corresponds to the delivery status or a valid update, the device (DW) being a trusted device; the device (DW) being set up to calculate a hash value (HW2) over a randomly determined area (B1 - Bn) of the software; wherein the device (DW) is further configured to compare a hash value (HW1) of the randomly determined area (B1 - Bn) of the software calculated by the device (EG) with the hash value (HW2) calculated by the device (DW). 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.Device (DW) after Claim 8 , The device being set up to calculate the respective hash values (HW2) of randomly determined areas (B1 - Bn) of the software and with the respective hash values (HW1) of these respective areas (B1 - Bn) calculated by the device (EG) itself to compare each. Vorrichtung (DW) nach Anspruch 8 oder 9, umfassend eine Schnittstelle für eine ausschliessliche Kommunikationsverbindung (KV1) zum Gerät (EG).Device (DW) after Claim 8 or 9 , comprising an interface for an exclusive communication connection (KV1) to the device (EG).
DE102018217432.6A 2018-10-11 2018-10-11 Check the integrity of embedded devices Pending DE102018217432A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018217432.6A DE102018217432A1 (en) 2018-10-11 2018-10-11 Check the integrity of embedded devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018217432.6A DE102018217432A1 (en) 2018-10-11 2018-10-11 Check the integrity of embedded devices

Publications (1)

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

Family

ID=69954705

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018217432.6A Pending DE102018217432A1 (en) 2018-10-11 2018-10-11 Check the integrity of embedded devices

Country Status (1)

Country Link
DE (1) DE102018217432A1 (en)

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 (en) * 2013-11-06 2016-08-18 Mitsubishi Electric Corporation Software update device and software update program
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 (en) * 2013-11-06 2016-08-18 Mitsubishi Electric Corporation Software update device and software update program
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 (en) Distributed management of a certificate withdrawal list
DE102007057900B4 (en) Authenticate suspicious data using keytables
DE102012217743B4 (en) Checking an integrity of property data of a device by a tester
DE10393456B4 (en) Encapsulation of TCPA trusted platform module functionality within a server management coprocessor subsystem
DE102005030590B4 (en) Safe patch system
DE60220959T2 (en) Method and apparatus for providing a list of public keys in a public key system
DE102018101307A1 (en) SGX enclave remote authentication techniques
DE102016224537B4 (en) Master Block Chain
DE102020122712A1 (en) INTEGRITY MANIFESTO CERTIFICATE
DE10141737C1 (en) Secure communication method for use in vehicle has new or updated programs provided with digital signature allowing checking by external trust centre for detection of false programs
DE102015209116A1 (en) Method and update gateway for updating an embedded controller
WO2015144764A1 (en) Method and system for improving the data security during a communication process
DE112005001666T5 (en) A method for providing private direct proof keys in signed groups to devices using a distribution CD
DE102013108020A1 (en) Authentication scheme for activating a special privilege mode in a secure electronic control unit
DE102020121533A1 (en) TRUSTED AUTOMOTIVE AUTOMOTIVE MICROCON TROLLERS
DE102007030622A1 (en) Method and application for linking between systems based on hardware security units
DE102016210788B4 (en) Component for processing data worthy of protection and method for implementing a security function for protecting data worthy of protection in such a component
DE102021127624A1 (en) SECURELY DEPLOYING THE IDENTITY OF A PLATFORM'S BASEBOARD MANAGEMENT CONTROLLER
DE102019104680A1 (en) Packet processing in a computer system
DE102018217431A1 (en) Secure key exchange on one device, especially an embedded device
DE102014210282A1 (en) Generate a cryptographic key
DE102018217432A1 (en) Check the integrity of embedded devices
EP3495979A1 (en) Method and confirmation device for confirming the integrity of a system
EP3767513B1 (en) Method for secure execution of a remote signature, and security system
DE102020117552A1 (en) SAFE HYBRID BOAT SYSTEMS AND SAFE BOAT PROCEDURES FOR HYBRID SYSTEMS

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