DE102018217432A1 - Check the integrity of embedded devices - Google Patents
Check the integrity of embedded devices Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying 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.
- (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.
-
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.
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
Das eingebettete Gerät
Mit Vorteil ist die Vorrichtung
Mit Vorteil ist die Vorrichtung
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. Das Tool (Vorrichtung
DW ) ist vom Hersteller signiert. Der Kunde kann die Integrität des Tools prüfen.1. The tool (deviceDW ) is signed by the manufacturer. The customer can check the integrity of the tool. -
2. Das Tool
DW kennt die Software (bzw. alle gültigen Versionen), die sich im eingebetteten GerätEG befindet.2. The toolDW knows the software (or all valid versions) that are in the embedded deviceEG located. -
3. Das Tool
DW berechnet über einen zufällig gewählten Bereich der Software einen HashwertHW2 (z.B. SHA256).3. The toolDW calculates a hash value over a randomly selected area of the softwareHW2 (e.g. SHA256). -
4. Das Tool
DW beauftragt das GerätEG über diesen Bereich einen HashwertHW1 zu berechnen.4. The toolDW instructs the deviceEG a hash value over this rangeHW1 to calculate. -
5. Das Tool
DW vergleicht den selbst berechneten HashwertHW2 mit dem vom Gerät gelieferten HashwertHW1 .5. The toolDW compares the self-calculated hash valueHW2 with the hash value supplied by the deviceHW1 . -
6. Wenn der vom Gerät
EG gelieferte HashwertHW1 von dem selbst berechneten abweicht, ist das eingebettete GerätEG als Kompromittiert anzusehen und muss ausgetauscht werden.6. If the deviceEG supplied hash valueHW1 deviates from the self-calculated one is the embedded deviceEG To be regarded as compromised and must be replaced. -
7. Die Schritte 2-5 werden mehrmals durchgeführt und die zufälligen Bereiche
B1 - Bn müssen den gesamten relevanten SpeicherSP1 abdecken.7. Steps 2-5 are carried out several times and the random areasB1 - Bn must have all the relevant memorySP1 cover. - 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
Wenn das Tool
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
Um zu verhindern, dass das Gerät
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
Beispielhafte Vorteile der vorliegenden ErfindungExemplary advantages of the present invention
Die Ermittlung von Hashes
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.
- (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.
- (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
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)
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)
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)
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 |
-
2018
- 2018-10-11 DE DE102018217432.6A patent/DE102018217432A1/en active Pending
Patent Citations (4)
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)
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 |