DE102018211932A1 - Method and device for safely starting a device - Google Patents
Method and device for safely starting a device Download PDFInfo
- Publication number
- DE102018211932A1 DE102018211932A1 DE102018211932.5A DE102018211932A DE102018211932A1 DE 102018211932 A1 DE102018211932 A1 DE 102018211932A1 DE 102018211932 A DE102018211932 A DE 102018211932A DE 102018211932 A1 DE102018211932 A1 DE 102018211932A1
- Authority
- DE
- Germany
- Prior art keywords
- boot manager
- update
- application programs
- program memory
- loaded
- 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 OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Verfahren (10) zum sicheren Start eines Gerätes (30), gekennzeichnet durch folgende Merkmale:- ein Bootmanager des Gerätes (30) wird verifiziert (11),- verläuft das Verifizieren (11) erfolgreich (12), so wird der Bootmanager geladen (13),- durch den Bootmanager wird eine Updateroutine geladen (14),- durch die Updateroutine wird ein Statusindikator des Gerätes (30) geprüft (15) und- indiziert der Statusindikator einen Normalbetrieb (16), so wird ein nichtflüchtiger Programmspeicher des Gerätes (30) vor Schreibzugriffen geschützt (17).Method (10) for the safe start of a device (30), characterized by the following features: - a boot manager of the device (30) is verified (11), - if verification (11) is successful (12), the boot manager is loaded ( 13), - the boot manager loads an update routine (14), - the update routine checks a status indicator of the device (30) (15) and - if the status indicator indicates normal operation (16), a non-volatile program memory of the device ( 30) protected against write access (17).
Description
Die vorliegende Erfindung betrifft ein Verfahren zum sicheren Start eines Gerätes. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.The present invention relates to a method for safely starting a device. The present invention also relates to a corresponding device, a corresponding computer program and a corresponding storage medium.
Stand der TechnikState of the art
Im Umfeld der digitalen Rechteverwaltung (digital rights management, DRM) sind sogenannte Hardwarebeschränkungen (hardware restrictions) verbreitet, die einen Inhaltsschutz (content protection) durch die elektronischen Bauteile eines Gerätes gewähren. Eine einschlägige Maßnahme ist dem Fachmann als sicherer Start (secure boot) bekannt und beschränkt das Urladen (boot) des Gerätes auf Software, welche vom Hersteller des Gerätes als vertrauenswürdig erachtet wird, um Schadsoftware oder andere unerwünschte Programme am Starten zu hindern.In the area of digital rights management (DRM), so-called hardware restrictions are widespread, which grant content protection through the electronic components of a device. A relevant measure is known to the person skilled in the art as a secure boot and limits the booting of the device to software which the device manufacturer deems to be trustworthy in order to prevent malware or other unwanted programs from starting.
Offenbarung der ErfindungDisclosure of the invention
Die Erfindung stellt vor diesem Hintergrund ein Verfahren zum sicheren Start eines Gerätes, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.Against this background, the invention provides a method for safely starting a device, a corresponding device, a corresponding computer program and a corresponding storage medium according to the independent claims.
Ein Vorzug dieser Lösung liegt in ihrer hohen Flexibilität: Das vorgeschlagene Verfahren baut auf einen initialen Vertrauensanker, welcher zur Lebenszeit des Gerätes möglichst nicht verändert wird.One advantage of this solution is its high flexibility: the proposed method builds on an initial trust anchor, which is not changed as much as possible during the lifetime of the device.
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass nach dem Schützen des Programmspeichers Anwendungsprogramme aus dem Programmspeicher verifiziert und geladen werden. Die Anwendungsprogramme werden nur dann durch das Gerät ausgeführt, wenn diese Verifikation erfolgreich verläuft. Die Vertrauenskette wird auf diese Weise auf die zu schützende Softwarekomponente ausgedehnt und die Manipulation der Software während der Laufzeit durch den Schreibschutz verhindert. Dieser Schutz der Softwarekomponente erfolgt transparent auf dem Zielgerät und benötigt daher keine zusätzlichen Schritte beim Erstellen der Software, zum Beispiel zur Signierung der Software.The measures listed in the dependent claims allow advantageous developments and improvements of the basic idea specified in the independent claim. Thus, it can be provided that after the program memory has been protected, application programs from the program memory are verified and loaded. The application programs are only executed by the device if this verification is successful. In this way, the chain of trust is extended to the software component to be protected and manipulation of the software during the runtime is prevented by the write protection. This protection of the software component is carried out transparently on the target device and therefore does not require any additional steps when creating the software, for example for signing the software.
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass das Verifizieren der Anwendungsprogramme mittels einer im Galois-Zählermodus (Galois/Counter Mode, GCM) betriebenen Blockchiffre wie AES erfolgt. Dies eröffnet den transparenten Einsatz eines symmetrischen Verschlüsselungsverfahrens mit der Möglichkeit zur Verifizierung der Authentizität der auszuführenden Softwarekomponente während des Ladens aus deren persistentem Speicher. Durch den Einsatz eines derartigen symmetrischen Kryptografie-Verfahrens für die Authentisierung der Software wird eine hohe Geschwindigkeit bei der Authentifizierung erreicht. Diese erfolgt transparent während des Ladens mit einem vernachlässigbaren Mehraufwand.According to a further aspect, it can be provided that the verification of the application programs is carried out by means of a block cipher such as AES operated in the Galois / Counter Mode (GCM). This opens up the transparent use of a symmetrical encryption method with the possibility of verifying the authenticity of the software component to be executed while it is being loaded from its persistent memory. By using such a symmetrical cryptography method for the authentication of the software, a high speed of authentication is achieved. This is done transparently during charging with negligible additional effort.
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass, falls der Start nach dem Laden des Bootmanagers fehlschlägt, das Gerät in den Updatemodus versetzt wird. In diesem kann das Gerät über den normalen Updateprozess wieder neu bespielt werden, um es in einen funktionstüchtigen Zustand zu bringen, sofern die Hardware fehlerfrei ist. Ein Angriff über den Speicher wird somit in den meisten Fällen sicher erkannt und vom System angemessen behandelt.According to a further aspect, it can be provided that if the start fails after loading the boot manager, the device is put into update mode. In this, the device can be re-recorded using the normal update process in order to bring it into a functional state, provided the hardware is error-free. In most cases, an attack via the memory is reliably recognized and appropriately handled by the system.
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Schreibzugriffe auf den Programmspeicher durch eine vertrauenswürdige Systemplattform (trusted computing base) des Gerätes wahlweise zugelassen werden. Derartigen Plattformen wird branchenübergreifend ein hohes Vertrauen entgegengebracht, da sie robust und durch Isolation vor Angriffen geschützt sind.According to a further aspect, it can be provided that the write accesses to the program memory are optionally permitted by a trusted system platform (trusted computing base) of the device. Such platforms are trusted across industries because they are robust and protected from attack by isolation.
Figurenlistelist of figures
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform. -
2 schematisch ein Steuergerät gemäß einer zweiten Ausführungsform.
-
1 the flowchart of a method according to a first embodiment. -
2 schematically a control device according to a second embodiment.
Ausführungsformen der ErfindungEmbodiments of the invention
Ein unverschlüsselter Bootmanager sollte keine vertraulichen Daten enthalten. Dieser initiale Bootmanager ist die Softwarekomponente, welche - einmal verifiziert (Prozess
Die Vertrauenskette wird weitergeführt, indem die initiale, authentische Bootkomponente das System soweit initialisiert, dass verschlüsselter Code und insbesondere eine Updateroutine aus dem Speicher geladen werden können (Prozess
Dieses Vorgehen bringt es mit sich, dass zum Updaten des Gerätes dieses zunächst neu gestartet werden muss. Nach dem Ausführen der initialen Komponente wird ein zweiter, entschlüsselter Bootmanager geladen, welcher den ausführbaren Code des Systems nicht mehr ändern kann. Alle nachfolgenden Komponenten müssen lediglich das sogenannte Authentication Tag prüfen, welches durch AES-GCM beim Entschlüsseln erzeugt wird, und einen Abbruch (
Hierbei sind zwei Anwendungsfälle zu berücksichtigen, in welchen ein sicherer Bootprozess fehlschlagen kann. Der erste Fall tritt ein, wenn die initiale Software nicht verifiziert oder die erste symmetrisch zu verifizierende Komponente nicht authentisiert werden kann (Zweig
Es sei bemerkt, dass der Schreibschutz des Codebereiches im Speicher nicht zwingend bis zu einem etwaigen Neustart andauern muss. Durch einen sicheren Mechanismus kann der Schreibschutz des Speichers auch zur Laufzeit aufgehoben werden. Eine Änderung der Schreibberechtigung sollte hierbei jedoch nur durch authentische Softwarekomponenten wie eine vertrauenswürdige Systemplattform erfolgen.It should be noted that the write protection of the code area in the memory does not necessarily have to last until a possible restart. The write protection of the memory can also be removed at runtime by a secure mechanism. However, the write authorization should only be changed by authentic software components such as a trustworthy system platform.
Dieses Verfahren (
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- DE 102015202936 A1 [0003]DE 102015202936 A1 [0003]
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102018211932.5A DE102018211932A1 (en) | 2018-07-18 | 2018-07-18 | Method and device for safely starting a device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102018211932.5A DE102018211932A1 (en) | 2018-07-18 | 2018-07-18 | Method and device for safely starting a device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE102018211932A1 true DE102018211932A1 (en) | 2020-01-23 |
Family
ID=69148134
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102018211932.5A Pending DE102018211932A1 (en) | 2018-07-18 | 2018-07-18 | Method and device for safely starting a device |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE102018211932A1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090328195A1 (en) * | 2008-06-30 | 2009-12-31 | Ned Smith | Authentication and Access Protection of Computer Boot Modules in Run-Time Environments |
| EP1544739B1 (en) * | 2003-12-16 | 2011-06-08 | Microsoft Corporation | Method and apparatus for custom software image updates to non-volatile storage in a failsafe manner |
| US20120255017A1 (en) * | 2011-03-31 | 2012-10-04 | Mcafee, Inc. | System and method for providing a secured operating system execution environment |
| US8560823B1 (en) * | 2007-04-24 | 2013-10-15 | Marvell International Ltd. | Trusted modular firmware update using digital certificate |
| DE102015202936A1 (en) | 2015-02-18 | 2016-08-18 | Robert Bosch Gmbh | Method for influencing the data communication with a device |
| DE102015209116A1 (en) * | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Method and update gateway for updating an embedded controller |
| DE102016106819A1 (en) * | 2016-04-11 | 2017-10-26 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
-
2018
- 2018-07-18 DE DE102018211932.5A patent/DE102018211932A1/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1544739B1 (en) * | 2003-12-16 | 2011-06-08 | Microsoft Corporation | Method and apparatus for custom software image updates to non-volatile storage in a failsafe manner |
| US8560823B1 (en) * | 2007-04-24 | 2013-10-15 | Marvell International Ltd. | Trusted modular firmware update using digital certificate |
| US20090328195A1 (en) * | 2008-06-30 | 2009-12-31 | Ned Smith | Authentication and Access Protection of Computer Boot Modules in Run-Time Environments |
| US20120255017A1 (en) * | 2011-03-31 | 2012-10-04 | Mcafee, Inc. | System and method for providing a secured operating system execution environment |
| DE102015202936A1 (en) | 2015-02-18 | 2016-08-18 | Robert Bosch Gmbh | Method for influencing the data communication with a device |
| DE102015209116A1 (en) * | 2015-05-19 | 2016-11-24 | Robert Bosch Gmbh | Method and update gateway for updating an embedded controller |
| DE102016106819A1 (en) * | 2016-04-11 | 2017-10-26 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69717063T2 (en) | Process and system for secure data processing | |
| DE69534757T2 (en) | System and method for secure storage and distribution of data using digital signatures | |
| DE102006046456B4 (en) | Circuit arrangement, method for starting up a circuit arrangement, method for operating a circuit arrangement and computer program products | |
| DE102015209116A1 (en) | Method and update gateway for updating an embedded controller | |
| DE102015209108A1 (en) | Method and decision gateway for authorizing a function of an embedded controller | |
| DE112008003931T5 (en) | Systems and procedures for data security | |
| EP2765752A1 (en) | Method for equipping a mobile terminal with an authentication certificate | |
| EP2494526A1 (en) | Method for operating a tachograph and tachograph | |
| DE102009052389A1 (en) | Method for secure interaction with a security element | |
| DE102013013179A1 (en) | Method for operating a security element | |
| DE602004009639T2 (en) | Method or device for authenticating digital data by means of an authentication plug-in | |
| EP3403214B1 (en) | Method and apparatus for providing a cryptographic security function for the operation of a device | |
| EP2434424B1 (en) | Method for increasing the security of security-relevant online services | |
| EP3248136B1 (en) | Method for operating a computer unit with a secure runtime environment, and such a computer unit | |
| Kurachi et al. | Improving secure coding rules for automotive software by using a vulnerability database | |
| DE102018211932A1 (en) | Method and device for safely starting a device | |
| DE102018211139A1 (en) | Control device and method for its operation | |
| DE102022202688A1 (en) | Method for validating data in a computing unit | |
| DE102012021719A1 (en) | Method for preparation of chip implemented or implementable in mobile terminal for secure transmission of data elements to chip from remote server, involves encrypting root key with data key and storing root key on chip in encrypted form | |
| DE102009053230A1 (en) | Method for authorization of diagnostic device on control unit of authorization system in motor vehicle, involves permitting execution of services e.g. updating software of control device, by control device | |
| EP3358488B1 (en) | Method for detecting unauthorised copies of a digital security token | |
| DE102015016750A1 (en) | Validation and execution of provisioning data on appliances | |
| WO2011141143A1 (en) | Method for checking whether program instructions have been executed by a portable terminal | |
| EP3441898B1 (en) | Method and device for protecting software against unauthorised use | |
| DE102005046696A1 (en) | Secured program code producing method for license verification, involves storing modified program code including exchanged references, coded program blocks and program block with decoded function as protected computer program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R163 | Identified publications notified | ||
| R012 | Request for examination validly filed |