DE102012215011A1 - Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key - Google Patents

Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key Download PDF

Info

Publication number
DE102012215011A1
DE102012215011A1 DE201210215011 DE102012215011A DE102012215011A1 DE 102012215011 A1 DE102012215011 A1 DE 102012215011A1 DE 201210215011 DE201210215011 DE 201210215011 DE 102012215011 A DE102012215011 A DE 102012215011A DE 102012215011 A1 DE102012215011 A1 DE 102012215011A1
Authority
DE
Germany
Prior art keywords
control unit
function
bit sequence
enabled
cryptographic
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.)
Withdrawn
Application number
DE201210215011
Other languages
German (de)
Inventor
Rainer Falk
Steffen Fries
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 AG
Original Assignee
Siemens 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 AG filed Critical Siemens AG
Priority to DE201210215011 priority Critical patent/DE102012215011A1/en
Publication of DE102012215011A1 publication Critical patent/DE102012215011A1/en
Withdrawn 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

Abstract

The method involves receiving (101) a bit string for activating a function of a control unit i.e. field programmable gate array, and generating (102) a cryptographic key as a function of a number of apparatus specific safety parameters. Cryptographic result data is computed (103) based on the received bit string and the generated cryptographic key. The function of the control unit is de-energized (104) as a function of the computed result data, where the safety parameters comprise authentication unit identification, circuit board identification and/or application identification. Independent claims are also included for the following: (1) a computer program product for performing a method for securing a control unit of an apparatus (2) a device for securing a control unit of an apparatus (3) an apparatus comprising a control unit.

Description

Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Sichern einer Steuerungseinheit eines Gerätes. The present invention relates to a method and a device for securing a control unit of a device.

Eine Steuerungseinheit für ein Gerät kann zum Beispiel als programmierbarer Logikbaustein implementiert werden. Ein Beispiel für einen solchen Logikbaustein ist ein FPGA (Field Programmable Gate Array). Ein FPGA ermöglicht eine schnelle und flexible hardware-nahe Realisierung. A control unit for a device can be implemented, for example, as a programmable logic device. An example of such a logic device is an FPGA (Field Programmable Gate Array). An FPGA enables a fast and flexible hardware-near realization.

Die eigentliche Funktionalität eines FPGA-Bausteins ist über eine Bitfolge, die eine Konfigurationsbeschreibung beinhaltet, konfigurierbar oder programmierbar. Die Konfiguration kann dabei je nach FPGA-Realisierung auf dem FPGA selbst gespeichert sein oder beim Start des FPGA-Bausteins nach Anlegen der Betriebsspannung von einem Speicherbaustein geladen werden. Auch können manche FPGA-Bausteine im Betrieb vollständig oder teilweise rekonfiguriert, d.h. umprogrammiert werden. Die Bitfolge (Bitstream) enthält die eigentliche programmierte Logikfunktionalität und stellt damit einen zu schützenden Wert dar. The actual functionality of an FPGA module is configurable or programmable via a bit sequence containing a configuration description. Depending on the FPGA implementation, the configuration may be stored on the FPGA itself, or it may be loaded by a memory module when the FPGA module is started after the operating voltage has been applied. Also, some FPGA devices may be completely or partially reconfigured during operation, i. be reprogrammed. The bit sequence (bit stream) contains the actual programmed logic functionality and thus represents a value to be protected.

Herkömmliche Ansätze zur Sicherung einer Steuerungseinheit, beispielsweise ein FPGA, nutzen beispielsweise eine kryptographische Verschlüsselung der Bitfolge. Weiterhin ist eine Merkmals-Freischaltung einer FPGA-Bitfolge bekannt, bei der eine bestimmte Funktion oder Funktionalität nur freigegeben wird, wenn eine vorbestimmte Berechtigung vorliegt. Die Berechtigung wird durch die durch die Bitfolge konfigurierte Funktionalität während der Ausführung geprüft. Conventional approaches for securing a control unit, for example an FPGA, use, for example, a cryptographic encryption of the bit sequence. Furthermore, a feature release of a FPGA bit sequence is known in which a certain function or functionality is only released if a predetermined authorization exists. The permission is checked by the functionality configured by the bit sequence during execution.

Ferner sind Verfahren bekannt, um das Design der Programmierung eines programmierbaren Logikbausteins zu schützen. Dabei wird die Bitfolge für die Konfigurationsbeschreibung auf einem separaten Konfigurationsspeicher abgelegt (siehe hierzu Referenz [1]). Furthermore, methods are known to protect the design of the programming of a programmable logic device. The bit sequence for the configuration description is stored on a separate configuration memory (see reference [1]).

Eine Bitfolge kann auch verschlüsselt vorliegen, wobei diese dann nach dem Laden durch die Steuerungseinheit entschlüsselt wird. Der dabei verwendete Schlüssel kann beispielsweise auf dem Chip der Steuerungseinheit selbst permanent oder volatil (Batterie-gepuffert) gespeichert sein. Der Schlüssel wird herkömmlicherweise bei der Fertigung des Gerätes, beispielsweise eines eingebetteten Systems (Embedded System), einprogrammiert. Beim Laden der Bitfolge kann auch eine kryptographische Prüfsumme der geladenen Bitfolge verifiziert werden, so dass nur eine unmanipulierte Bitfolge akzeptiert wird. Eine bestimmte Bitfolge für eine bestimmte Konfiguration kann auch selbst eine Sicherheitsfunktionalität realisieren. Insbesondere kann sie für eine geschützte Merkmalsfreischaltung prüfen, ob ein bestimmtes Sicherheits-IC (zum Beispiel eine Authentifizierungseinheit, Device Authentication Chip) vorhanden ist (siehe Referenz [2]). Nur wenn dies der Fall ist, also wenn eine Nutzungsberechtigung vorliegt, wird eine bestimmte Funktionalität freigeschaltet. Eine auf einem unterschiedlichen Gerät ausgeführte Bitfolge ist somit nicht funktionsfähig, da der erwartete Sicherheits-IC nicht vorhanden ist. A bit sequence can also be encrypted, which is then decrypted after being loaded by the control unit. The key used in this case can be permanently or volatilely stored on the chip of the control unit itself (battery-buffered). The key is conventionally programmed into the manufacture of the device, for example an embedded system. When loading the bit sequence, a cryptographic checksum of the loaded bit sequence can also be verified so that only an unmanipulated bit sequence is accepted. A particular bit sequence for a particular configuration may itself implement security functionality. In particular, for a protected feature release, it can check whether a specific security IC (for example an authentication device, device authentication chip) is present (see reference [2]). Only if this is the case, ie if there is a right to use, will a certain functionality be activated. A executed on a different device bit sequence is thus not functional, since the expected safety IC is not present.

Eine Prüfung vorhandener physikalischer Komponenten in der Personalcomputer-Umgebung ist auch aus Microsoft Product Activation bekannt (siehe Referenz [3]). Dabei werden die ermittelten physikalischen Komponenten eines PCs bei einer Software-Lizenzprüfung geprüft, um eine unberechtigte Ausführung einer Software, z.B. Windows-Betriebssystem oder ein Anwendungsprogramm, auf einer unterschiedlichen Hardware zu verhindern. Der Tausch einer bestimmten Teilmenge der überprüften physikalischen Komponenten kann dabei zulässig sein. Examination of existing physical components in the personal computer environment is also known from Microsoft Product Activation (see reference [3]). In this case, the determined physical components of a PC are checked during a software license check to prevent unauthorized execution of software, e.g. Windows operating system or an application program to prevent on a different hardware. The exchange of a certain subset of the examined physical components may be permissible.

Es ist eine Aufgabe der vorliegenden Erfindung, das Sichern einer Steuerungseinheit eines Gerätes zu verbessern. It is an object of the present invention to improve the securing of a control unit of a device.

Demgemäß wird ein Verfahren zum Sichern einer Steuerungseinheit eines Gerätes vorgeschlagen. Das Verfahren weist die folgenden Schritte auf: Empfangen einer Bitfolge zum Aktivieren zumindest einer freizuschaltenden Funktion der Steuerungseinheit, Generieren eines kryptographischen Schlüssels in Abhängigkeit von einer Anzahl von für das Gerät spezifischen Sicherheitsparametern, Berechnen von kryptographischen Ergebnisdaten in Abhängigkeit von der empfangenen Bitfolge und dem generierten kryptographischen Schlüssel, und Freischalten der zumindest einen freizuschaltenden Funktion in Abhängigkeit von den berechneten Ergebnisdaten. Durch die Bitfolge ist die Steuerungseinheit programmierbar. Accordingly, a method for securing a control unit of a device is proposed. The method comprises the following steps: receiving a bit sequence for activating at least one function of the control unit to be enabled, generating a cryptographic key in dependence on a number of security parameters specific to the device, calculating cryptographic result data depending on the received bit sequence and the generated cryptographic Key, and releasing the at least one function to be enabled depending on the calculated result data. The bit sequence makes the control unit programmable.

Erfindungsgemäß ist die Steuerungseinheit bzw. deren durch die Bitfolge bestimmte Konfiguration nur innerhalb der durch die für das Gerät spezifischen Parameter definierten Einsatzumgebung nutzbar. Dabei wird vorzugsweise ein kryptographischer Bitfolge-Schutz der Steuerungseinheit mit einem geräteinternen oder gerätespezifischen Schutz durch Sicherheitsparameter kombiniert. Wenn die Steuerungseinheit in einer unterschiedlichen Umgebung genutzt wird, zum Beispiel indem es aus einer ersten Steckfassung des Gerätes entnommen wird und in eine zweite Steckfassung eines zweiten Gerätes eingesetzt wird, so liegt eine unterschiedliche Einsatzumgebung, das heißt zumindest ein unterschiedlicher für das Gerät spezifischer Parameter, vor. In diesem Fall wird ein unterschiedlicher kryptographischer Schlüssel generiert. Es werden daher unterschiedliche Ergebnisdaten berechnet, sodass kein Freischalten der zumindest einen freizuschaltenden Funktion erfolgt. Es ist jedoch möglich, dass in diesem Fall ein Freischalten einer zweiten Funktion erfolgt. According to the invention, the control unit or its configuration determined by the bit sequence can only be used within the operating environment defined by the parameters specific to the device. In this case, preferably a cryptographic bit sequence protection of the control unit is combined with a device-internal or device-specific protection by security parameters. If the control unit is used in a different environment, for example by being taken from a first jack of the device and inserted into a second jack of a second device, there is a different environment of use, ie at least a different parameter specific to the device, in front. In this case, a different cryptographic key is generated. It will therefore be different Result data calculated so that no unlocking of the at least one function to be unlocked takes place. However, it is possible that in this case, a release of a second function takes place.

Damit ist die vorgeschlagene Lösung effizienter und auch robuster. Die vorgeschlagene Lösung ist deshalb effizienter, da die zum Bitfolge-Schutz vorhandene Sicherheitsfunktionalität auch für die Steuerungseinheit genutzt werden kann. Damit muss nicht eine doppelte Sicherheitsrealisierung innerhalb der Bitfolge erfolgen, wodurch frei nutzbare Bereiche der Steuerungseinheit belegt werden würden. This makes the proposed solution more efficient and also more robust. The proposed solution is therefore more efficient since the security functionality available for the bit sequence protection can also be used for the control unit. This does not require a double security implementation within the bit sequence, which would occupy freely usable areas of the control unit.

Konkret kann die Prüfung der gerätespezifischen Parameter durch die Steuerungseinheit beispielsweise durch eine der beiden folgenden Varianten erfolgen. Gemäß einer ersten Variante kann die Freigabe des kryptographischen Schlüssels zum Freischalten durch die Steuerungseinheit nach einer erfolgreichen Authentisierung einer Authentisierungseinheit oder eines Sicherheits-ICs des Gerätes durch die Steuerungseinheit erteilt werden. Gemäß einer zweiten Variante kann der kryptographische Schlüssel zum Freischalten mittels einer Schlüsselableitung von einem Basisschlüssel generiert werden. Der Basisschlüssel wird vorzugsweise in der Steuerungseinheit gespeichert. Specifically, the testing of the device-specific parameters by the control unit, for example, by one of the two following variants. According to a first variant, the release of the cryptographic key for enabling by the control unit can be issued after a successful authentication of an authentication unit or a security IC of the device by the control unit. According to a second variant, the cryptographic key for enabling can be generated by means of a key derivation from a base key. The base key is preferably stored in the control unit.

Der kryptographische Schlüssel zum Freischalten kann auch als Bitstream Protection Key (BPK) bezeichnet werden. The unlock cryptographic key can also be called a Bitstream Protection Key (BPK).

Bei einer Ausführungsform umfasst das Verfahren die folgenden Schritte: Empfangen der Bitfolge zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit als eine verschlüsselte Bitfolge, Berechnen der kryptographischen Ergebnisdaten durch Entschlüsseln der verschlüsselten Bitfolge in eine entschlüsselte Bitfolge mittels des kryptographischen Schlüssels, und Freischalten der zumindest einen freizuschaltenden Funktion mittels der entschlüsselten Bitfolge. In one embodiment, the method comprises the steps of receiving the bit string to activate the at least one enable function of the control unit as an encrypted bit string, calculating the cryptographic result data by decrypting the encrypted bit string into a decrypted bit string using the cryptographic key, and enabling the at least one unlocked function by means of the decrypted bit sequence.

Die vorgeschlagene Lösung ist auch deshalb robuster, da in einer unerwünschten Umgebung nicht einmal die Entschlüsselung der Bitfolge möglich ist. Damit greift der vorgeschlagene Schutz früher als bei den herkömmlichen Varianten. The proposed solution is also more robust because not even the decryption of the bit sequence is possible in an undesirable environment. Thus, the proposed protection takes earlier than in the conventional variants.

Bei einer weiteren Ausführungsform umfasst das Verfahren die folgenden Schritte: Laden der Bitfolge zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit von einer externen Vorrichtung, Generieren des kryptographischen Schlüssels als ein Verschlüsselungsschlüssel in Abhängigkeit von einer Anzahl von für das Gerät spezifischen Sicherheitsparametern, Verschlüsseln der geladenen Bitfolge mittels des generierten Verschlüsselungsschlüssels zur Bereitstellung einer verschlüsselten Bitfolge, Speichern der bereitgestellten verschlüsselten Bitfolge auf einer Speichereinrichtung des Gerätes, Empfangen der von der Speichereinrichtung zwischengespeicherten verschlüsselten Bitfolge durch die Steuerungseinheit, Generieren des kryptographischen Schlüssels als ein Entschlüsselungsschlüssel in Abhängigkeit von einer Anzahl von für das Gerät spezifischen Sicherheitsparameter, Berechnen der kryptographischen Ergebnisdaten durch Entschlüsseln der entschlüsselten Bitfolge mittels des Entschlüsselungsschlüssels in eine entschlüsselte Bitfolge, und Freischalten der zumindest einen freizuschaltenden Funktion der Steuerungseinheit mittels der entschlüsselten Bitfolge. In a further embodiment, the method comprises the steps of: loading the bit string to activate the at least one enable function of the control unit from an external device, generating the cryptographic key as an encryption key in dependence on a number of security specific parameters for the device, encrypting the loaded ones A bit string using the generated encryption key to provide an encrypted bit string, storing the provided encrypted bit string on a memory device of the device, receiving the encrypted bit string cached by the memory device by the control unit, generating the cryptographic key as a decryption key in response to a number of times for the device specific security parameters, calculating the cryptographic result data by decrypting the decrypt sselten bit sequence by means of the decryption key in a bit string decrypted, and enabling the at least one function to be released by means of the control unit of the decrypted bit string.

Die Bitfolge kann vorteilhafterweise verschlüsselt in der Speichereinrichtung abgelegt werden und zu einer weiteren Verwendung durch die Steuerungseinheit wieder verwendet werden. Falls die Steuerungseinheit sowohl zum Verschlüsselungszeitpunkt als auch zum Entschlüsselungszeitpunkt mit dem korrekten Gerät gekoppelt ist, ist sichergestellt, dass die sicherheitsspezifischen Parameter identisch sind. Nur in diesem Fall wird die zumindest eine freizuschaltende Funktion der Steuerungseinheit auch freigeschaltet. The bit sequence can advantageously be stored encrypted in the memory device and used again for further use by the control unit. If the control unit is coupled to the correct device both at the encryption time and at the time of decryption, it is ensured that the security-specific parameters are identical. Only in this case, the at least one function of the control unit to be enabled is also enabled.

Bei einer weiteren Ausführungsform werden der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel identisch ausgebildet. In another embodiment, the encryption key and the decryption key are formed identically.

Der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel sind damit vorteilhafterweise symmetrisch ausgebildet. Folglich ist sichergestellt, dass bei einer unveränderten Geräteumgebung auch die Sicherheitsparameter des Gerätes unverändert sind und damit der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel identisch ausgebildet sind. The encryption key and the decryption key are thus advantageously symmetrical. Consequently, it is ensured that with an unchanged device environment, the security parameters of the device are unchanged and thus the encryption key and the decryption key are identical.

Bei einer weiteren Ausführungsform umfasst das Verfahren die folgenden Schritte: Empfangen der Bitfolge mit einer Prüfsumme zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit, Berechnen der kryptographischen Ergebnisdaten durch Prüfen der Prüfsumme der empfangenen Bitfolge mittels des kryptographischen Schlüssels, und Freischalten der zumindest einen freizuschaltenden Funktion in Abhängigkeit der geprüften Prüfsumme. In a further embodiment, the method comprises the following steps: receiving the bit sequence with a checksum for activating the at least one function of the control unit to be enabled, calculating the cryptographic result data by checking the checksum of the received bit sequence using the cryptographic key, and enabling the at least one function to be enabled depending on the checked checksum.

Diese Ausführungsform ist technisch einfach und kann in relativ kurzer Zeit ausgeführt werden, da vorliegend nur die Prüfsumme der Bitfolge zu prüfen ist. Bei einer weiteren Ausführungsform werden sämtliche Funktionen der Steuerungseinheit als freizuschaltende Funktionen ausgebildet. Die sämtlichen Funktionen werden in Abhängigkeit von den berechneten Ergebnisdaten freigeschaltet. This embodiment is technically simple and can be carried out in a relatively short time, since in the present case only the checksum of the bit sequence is to be checked. In a further embodiment, all the functions of the control unit are designed as functions to be enabled. All functions are enabled depending on the calculated result data.

Bei dieser Ausführungsform ist dann die gesamte Steuerungseinheit gesperrt, soweit diese nicht mit dem korrekten Gerät gekoppelt ist und durch die Bitfolge freigeschaltet ist. In this embodiment, the entire control unit is then disabled, as far as it is not coupled to the correct device and is enabled by the bit sequence.

Bei einer weiteren Ausführungsform umfasst die Anzahl der für das Gerät oder dessen Einsatz spezifischen Sicherheitsparameter eine Authentifizierungseinheit-Identifikation einer Authentifizierungseinheit des Gerätes, eine Platinen-Identifikation einer Platine des Gerätes und/oder eine Applikations-Identifikation einer Applikation des Gerätes und/oder eine Identifikation eines elektronischen Bausteins der Komponente wie zum Beispiel einer Batterie-Komponente oder einer Sensor-Komponente. In a further embodiment, the number of security parameters specific to the device or its use comprises an authentication unit identification of an authentication unit of the device, a board identification of a board of the device and / or an application identification of an application of the device and / or an identification of a device electronic component of the component such as a battery component or a sensor component.

Durch die Authentifizierungseinheit kann eine Authentifizierung der Steuerungseinheit gegenüber dem Gerät erfolgen. Auch kann hierdurch eine Authentifizierung des Gerätes gegenüber der Steuerungseinheit erfolgen. Die Platinenidentifikation kann vorteilhafterweise sicherstellen, dass die Steuerungseinheit mit der korrekten Platine und damit mit dem korrekten Gerät gekoppelt ist. Auch kann die Applikationsidentifikation sicherstellen, dass die Steuerungseinheit mit der korrekten Applikation des Gerätes verwendet wird. Selbstverständlich ist denkbar, eine Vielzahl von Applikationen und damit eine Vielzahl von Applikations-Identifikationen zu verwenden. The authentication unit can be used to authenticate the control unit with respect to the device. This can also be done by an authentication of the device to the control unit. The board identification can advantageously ensure that the control unit is coupled to the correct board and thus to the correct device. The application identification can also ensure that the control unit is used with the correct application of the device. Of course, it is conceivable to use a multiplicity of applications and thus a large number of application identifications.

Bei einer weiteren Ausführungsform umfasst die Anzahl der für das Gerät spezifischen Sicherheitsparameter eine Authentifizierungseinheit-Identifikation einer Authentifizierungseinheit des Gerätes und eine Platinen-Identifikation einer Platine des Gerätes und/oder eine Applikations-Identifikation einer Applikation des Gerätes. In a further embodiment, the number of security parameters specific to the device comprises an authentication unit identification of an authentication unit of the device and a board identification of a board of the device and / or an application identification of an application of the device.

Bei einer weiteren Ausführungsform wird der kryptographische Schlüssel mittels der Anzahl der für das Gerät spezifischen Sicherheitsparameter und eines Hash-Algorithmus generiert. In another embodiment, the cryptographic key is generated by means of the number of security specific parameters for the device and a hash algorithm.

Die Sicherheitsparameter können konkateniert werden, wobei dann vom Ergebnis ein Hashwert berechnet wird. Als Hash-Algorithmus können beispielsweise SHA-1 oder SHA-256 eingesetzt werden. Ferner können die Sicherheitsparameter oder auch Umgebungswerte konkateniert werden und eine Ableitung mittels einer Keyed-Hash Funktion (z.B. HMAC-SHA1) einer Schlüsselableitungsfunktion zugeführt werden, bei der die Steuerungseinheit einen spezifischen Basisschlüssel nutzt und diesen dann ableitet. Alternativ kann an Stelle des Keyed-Hash ein symmetrischer Algorithmus eingesetzt werden, bei dem die Steuerungseinheit spezifische Basisschlüssel als Verschlüsselungsschlüssel verwendet. The security parameters can be concatenated, in which case the result is used to calculate a hash value. As a hash algorithm, for example, SHA-1 or SHA-256 can be used. Furthermore, the security parameters or even environmental values can be concatenated and a derivation by means of a keyed hash function (for example HMAC-SHA1) can be supplied to a key derivation function in which the control unit uses a specific basic key and then derives it. Alternatively, instead of the keyed hash, a symmetric algorithm may be employed in which the control unit uses specific base keys as encryption keys.

Bei einer weiteren Ausführungsform werden die Sicherheitsparameter zu einer Parameterfolge konkateniert. Dabei wird ein Hash-Wert von der Parameterfolge mittels des Hash-Algorithmus zur Bereitstellung des kryptographischen Schlüssels berechnet. In a further embodiment, the security parameters are concatenated into a sequence of parameters. In this case, a hash value of the parameter sequence is calculated by means of the hash algorithm for providing the cryptographic key.

Diese Ausführungsform stellt eine technisch einfache Realisierung zur Berechnung des kryptographischen Schlüssels dar. This embodiment represents a technically simple implementation for calculating the cryptographic key.

Bei einer weiteren Ausführungsform wird der kryptographische Schlüssel mittels der Anzahl der für das Gerät spezifischen Sicherheitsparameter und einer Schlüsselableitungsfunktion generiert. In another embodiment, the cryptographic key is generated by means of the number of security specific parameters for the device and a key derivation function.

Bei der Bildung des kryptographischen Schlüssels zum Freischalten der zumindest einen Funktion der Steuerungseinheit in Abhängigkeit der Sicherheitsparameter des Gerätes kann dieser kryptographische Schlüssel abhängig von einem Basisschlüssel mittels einer Schlüsselableitungsfunktion gebildet werden. Als Sicherheitsparameter können beispielsweise eine Geräteidentifikation des Gerätes, eine Komponentenidentifikation von weiteren Bausteinen des Gerätes, eine Modulidentifikation bei einer separaten Platine oder einer verbundenen Peripheriekomponente oder eine Applikations-Identifikation oder ein Applikations-Hash verwendet werden. Beispiele für eine Geräteidentifikation beinhalten eine Seriennummer des Gerätes, einen Gerätetyp des Gerätes, einen Hardware-Versionsstand des Gerätes und/oder einen Herstellernamen. In the formation of the cryptographic key for enabling the at least one function of the control unit in dependence on the security parameters of the device, this cryptographic key can be formed depending on a base key by means of a key derivation function. As a safety parameter, for example, a device identification of the device, a component identification of other devices of the device, a module identification on a separate board or a connected peripheral component or an application identification or an application hash can be used. Examples of a device identification include a serial number of the device, a device type of the device, a hardware version of the device and / or a manufacturer name.

Dabei kann differenziert werden, ob die Steuerungseinheit die Sicherheitsparameter nur abfragt, oder mittels einer Authentifizierung, z.B. über die oben erwähnte Authentifizierungseinheit, manipulationsgeschützt ermittelt. Letzteres würde vorteilhafterweise ein einfaches Klonen der Informationen vermeiden. Ein weiterer Vorteil bei diesem Ansatz ist die direkte Bindung der Bitfolge an die jeweilige Hardwareumgebung, da der verwendete kryptographische Schlüsseleinsatz spezifisch ist. Damit ist eine Steuerungseinheit mit korrektem Schlüssel nur in dem dafür vorgesehenen Gerät einsetzbar. It can be differentiated whether the control unit only interrogates the security parameters, or by means of an authentication, e.g. via the above-mentioned authentication unit, determined tamper-proof. The latter would advantageously avoid simple cloning of the information. Another advantage with this approach is the direct binding of the bit sequence to the respective hardware environment, since the cryptographic key used is specific. Thus, a control unit with a correct key can only be used in the device provided for this purpose.

Neben Sicherheitsparametern des Gerätes können zusätzlich Sensoren mit abgefragt werden, um die Einsatzumgebung weiter einzuschränken. Solche Sensoren können Temperatursensoren, Spannungssensoren, Luftfeuchtigkeitssensoren und Luftdrucksensoren umfassen, welche die Steuerungseinheit intern zur Verfügung stellen kann oder auch extern angeschlossen werden können. Entspricht das Ergebnis allerdings nicht den erwarteten Vorgaben, kann vorteilhafterweise eine Aktion einer Anzahl vorbestimmter Aktionen über eine Policy festgelegt werden. So kann zum Beispiel die Konfiguration einer Bitfolge verhindert werden. Alternativ kann auch ein kryptographischer Schlüssel gelöscht werden. In addition to safety parameters of the device, additional sensors can be interrogated to further restrict the environment of use. Such sensors may include temperature sensors, voltage sensors, humidity sensors and air pressure sensors, which may provide the control unit internally available or may be connected externally. However, if the result does not meet the expected specifications, advantageously an action of a number of predetermined actions can be determined via a policy. For example, the configuration of a bit string can be prevented. Alternatively, you can also a cryptographic key to be deleted.

Bei einer Ausführungsform kann der kryptographische Schlüssel zum Freischalten der zumindest einen freizuschaltenden Funktion der Steuerungseinheit bei der Fertigung der Steuerungseinheit, beispielsweise ein FPGA-Chip, oder bei der Fertigung des Gerätes erfolgen. Der kryptographische Schlüssel kann dabei durch den FPGA-Chip mittels eines Zufallszahlengenerators zufällig bzw. pseudozufällig erzeugt werden. Alternativ kann er über eine vorbestimmte Schnittstelle, z.B. eine JTAG-Schnittstelle, konfiguriert werden. In einer weiteren Variante wird der Schlüssel nicht von außen vorgegeben, sondern es werden nur Parameter, z.B. eine Zufallszahl, zur Bildung des kryptographischen Schlüssels von außen bereitgestellt. So ist auch die Bildung des Schlüssels sicherer und robuster. In one embodiment, the cryptographic key can be used to unlock the at least one function of the control unit to be enabled in the production of the control unit, for example an FPGA chip, or during the manufacture of the device. The cryptographic key can be generated randomly or pseudorandomly by the FPGA chip by means of a random number generator. Alternatively, it may be transmitted over a predetermined interface, e.g. a JTAG interface. In a further variant, the key is not specified from outside, but only parameters, e.g. a random number, provided for the formation of the cryptographic key from the outside. So the formation of the key is safer and more robust.

Bei einer weiteren Ausführungsform ist die Steuerungseinheit als ein programmierbarer Logikbaustein ausgebildet ist. Der programmierbare Logikbaustein ist beispielsweise ein FPGA (Field Programmable Gate Array). In a further embodiment, the control unit is designed as a programmable logic device. The programmable logic device is, for example, an FPGA (Field Programmable Gate Array).

Bei einer weiteren Ausführungsform die Steuerungseinheit als ein Controller einer sicheren digitale Speicherkarte (SD-Karte, SD Memory Card oder Secure Digital Memory Card), einer Festplatte oder eines USB-Sticks (USB; Universal Serial Bus) ausgebildet ist. In a further embodiment, the control unit is designed as a controller of a secure digital memory card (SD card, SD memory card or Secure Digital Memory Card), a hard disk or a USB stick (USB, Universal Serial Bus).

Weiterhin wird ein Computerprogrammprodukt vorgeschlagen, welches auf einer programmgesteuerten Einrichtung die Durchführung des wie oben erläuterten Verfahrens veranlasst. Furthermore, a computer program product is proposed, which causes the execution of the method as explained above on a program-controlled device.

Ein Computerprogrammprodukt wie ein Computerprogramm-Mittel kann beispielsweise als Speichermedium, wie Speicherkarte, USB-Stick, CD-ROM, DVD oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen. A computer program product such as a computer program means can be provided or supplied, for example, as a storage medium, such as a memory card, USB stick, CD-ROM, DVD or in the form of a downloadable file from a server in a network. This can be done, for example, in a wireless communication network by transmitting a corresponding file with the computer program product or the computer program means.

Außerdem wird ein Datenträger mit einem gespeicherten Computerprogramm mit Befehlen vorgeschlagen, welche die Durchführung des wie oben erläuterten Verfahrens auf einer programmgesteuerten Einrichtung veranlassen. In addition, a data carrier with a stored computer program with instructions is suggested, which cause the execution of the method as explained above on a program-controlled device.

Des Weiteren wird eine Vorrichtung zum Sichern einer Steuerungseinheit eines Gerätes vorgeschlagen. Die Vorrichtung umfasst ein Empfangsmittel, ein Generierungsmittel, ein Berechnungsmittel und ein Freischaltmittel. Das Empfangsmittel ist zum Empfangen einer Bitfolge zum Aktivieren zumindest einer freizuschaltenden Funktion der Steuerungseinheit eingerichtet. Das Generierungsmittel ist zum Generieren eines kryptographischen Schlüssels in Abhängigkeit von einer Anzahl von für das Gerät spezifischen Sicherheitsparametern eingerichtet. Das Berechnungsmittel ist zum Berechnen von kryptographischen Ergebnisdaten in Abhängigkeit von der empfangenen Bitfolge und dem generierten kryptographischen Schlüssel eingerichtet. Weiter ist das Freischaltmittel zum Freischalten der zumindest einen freizuschaltenden Funktion in Abhängigkeit von den berechneten Ergebnisdaten eingerichtet. Furthermore, a device for securing a control unit of a device is proposed. The device comprises a receiving means, a generating means, a calculating means and an enabling means. The receiving means is arranged to receive a bit sequence for activating at least one function of the control unit to be enabled. The generating means is arranged to generate a cryptographic key in dependence on a number of security specific parameters for the device. The calculating means is arranged to calculate cryptographic result data in dependence on the received bit string and the generated cryptographic key. Furthermore, the enabling means for enabling the at least one function to be enabled is set up as a function of the calculated result data.

Das jeweilige Mittel, Empfangsmittel, Generierungsmittel, Berechnungsmittel und Freischaltmittel, kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann das jeweilige Mittel als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein. The respective means, receiving means, generating means, calculating means and enabling means can be implemented by hardware and / or software technology. In a hardware implementation, the respective means may be designed as a device or as part of a device, for example as a computer or as a microprocessor. In a software implementation, the respective unit may be designed as a computer program product, as a function, as a routine, as part of a program code or as an executable object.

Weiter wird ein Gerät vorgeschlagen, welches eine Anzahl von Einrichtungen zum Bereitstellen von für das Gerät spezifischen Sicherheitsparametern sowie eine Steuerungseinheit mit einer wie oben beschriebenen Vorrichtung zum Sichern der Steuerungseinheit aufweist. Dabei ist die Vorrichtung dazu eingerichtet, zumindest eine freizuschaltende Funktion der Steuerungseinheit in Abhängigkeit von der Anzahl der bereitgestellten Sicherheitsparameter freizuschalten. Furthermore, a device is proposed which has a number of devices for providing device-specific security parameters as well as a control unit with a device for securing the control unit as described above. In this case, the device is set up to enable at least one function of the control unit to be enabled in dependence on the number of security parameters provided.

Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die im Zusammenhang mit den Zeichnungen näher erläutert werden. The above-described characteristics, features, and advantages of this invention, as well as the manner in which they will be achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in detail in conjunction with the drawings.

Dabei zeigen:Showing:

1 ein Ablaufdiagramm eines ersten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit eines Gerätes; 1 a flowchart of a first embodiment of a method for securing a control unit of a device;

2 ein Ablaufdiagramm eines zweiten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit eines Gerätes; 2 a flowchart of a second embodiment of a method for securing a control unit of a device;

3 ein Ablaufdiagramm eines dritten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit eines Gerätes; 3 a flowchart of a third embodiment of a method for securing a control unit of a device;

4 ein Ablaufdiagramm eines vierten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit eines Gerätes; 4 a flowchart of a fourth embodiment of a method for securing a control unit of a device;

5 ein Blockschaltbild eines Ausführungsbeispiels einer Vorrichtung zum Sichern einer Steuerungseinheit eines Gerätes; 5 a block diagram of an embodiment of an apparatus for securing a control unit of a device;

6 ein Blockschaltbild eines ersten Ausführungsbeispiels eines Gerätes mit einer Steuerungseinheit und einer Vorrichtung zum Sichern der Steuerungseinheit; 6 a block diagram of a first embodiment of an apparatus with a control unit and a device for securing the control unit;

7 ein Blockschaltbild eines zweiten Ausführungsbeispiels eines Gerätes mit einer Steuerungseinheit und einer Vorrichtung zum Sichern der Steuerungseinheit; und 7 a block diagram of a second embodiment of an apparatus with a control unit and a device for securing the control unit; and

8 ein Blockschaltbild eines dritten Ausführungsbeispiels eines Gerätes mit einer Steuerungseinheit und einer Vorrichtung zum Sichern der Steuerungseinheit. 8th a block diagram of a third embodiment of an apparatus with a control unit and a device for securing the control unit.

In den Figuren sind gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen versehen worden, sofern nichts anderes angegeben ist. In the figures, the same or functionally identical elements have been given the same reference numerals, unless stated otherwise.

In 1 ist ein Ablaufdiagramm eines ersten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit 1 eines Gerätes 2 dargestellt. Hierzu zeigen die 68 Ausführungsformen eines solchen Gerätes 2. In 1 is a flowchart of a first embodiment of a method for securing a control unit 1 a device 2 shown. To show the 6 - 8th Embodiments of such a device 2 ,

Die Steuerungseinheit 1 ist beispielsweise als ein programmierbarer Logikbaustein, insbesondere als ein FPGA, ausgebildet. Die Steuerungseinheit 1 kann auch als ein Controller einer SD-Karte, einer Festplatte oder eines USB-Sticks ausgebildet sein. Entsprechend ist das Gerät 2 beispielsweise eine SD-Karte, eine Festplatte oder ein USB-Stick. Das Gerät 2 kann aber beispielsweise auch eine Kaffeemaschine oder ein Schutzgerät sein, bei welcher der FPGA als Steuereinheit 1 verbaut ist. The control unit 1 is for example designed as a programmable logic device, in particular as an FPGA. The control unit 1 can also be designed as a controller of an SD card, a hard disk or a USB stick. The device is corresponding 2 For example, an SD card, a hard disk or a USB stick. The device 2 but may for example also be a coffee machine or a protective device, in which the FPGA as a control unit 1 is installed.

Das Ausführungsbeispiel der 1 hat die folgenden Verfahrensschritte 101 bis 104 (siehe hierzu auch 5):
In Schritt 101 wird eine Bitfolge B zum Aktivieren zumindest einer freizuschaltenden Funktion F der Steuerungseinheit 1 empfangen, insbesondere von der Steuerungseinheit 1. Vorzugsweise sind alle Funktionen der Steuerungseinheit 1 als freizuschaltende Funktionen ausgebildet. Folglich kann die Steuerungseinheit 1 nur nach einer erfolgreichen Aktivierung eingesetzt werden. Jedoch ist es ebenso möglich, dass nur einzelne Funktionen der Steuerungseinheit 1 als freizuschaltende Funktion ausgebildet sind.
The embodiment of 1 has the following process steps 101 to 104 (see also 5 ):
In step 101 A bit sequence B is used to activate at least one function F of the control unit to be enabled 1 received, in particular from the control unit 1 , Preferably, all functions of the control unit 1 designed as unlocking functions. Consequently, the control unit 1 only be used after a successful activation. However, it is equally possible that only individual functions of the control unit 1 are designed to be unlocked function.

In Schritt 102 wird ein kryptographischer Schlüssel K in Abhängigkeit von einer Anzahl von für das Gerät 2 spezifischen Sicherheitsparametern S, ID1–ID3 generiert. Insbesondere indiziert der jeweilige Sicherheitsparameter S, ID1–ID3 das Vorhandensein einer bestimmten Einrichtung 5, 6, 7 des Gerätes 2 (siehe beispielsweise 8). In step 102 is a cryptographic key K depending on a number of for the device 2 specific security parameters S, ID1-ID3 generated. In particular, the respective security parameter S, ID1-ID3 indicates the presence of a specific device 5 . 6 . 7 of the device 2 (see, for example 8th ).

Die Anzahl der für das Gerät 2 spezifischen Sicherheitsparameter 2, ID1–ID3 umfasst beispielsweise eine Identifikation ID1 einer Authentifizierungseinheit 5 des Gerätes 2, eine Identifikation ID2 einer Platine 6 des Gerätes 2 und eine Identifikation ID3 einer Applikation 7 des Gerätes 2. Dabei ist die Authentifizierungseinheit 5 dazu eingerichtet, die Steuerungseinheit 1 gegenüber dem Gerät 2 zu authentifizieren. Das Vorhandensein der korrekten Identifikation der Platine oder Platinenidentifikation ID2 stellt sicher, dass die korrekte Steuerungseinheit 1 auf der entsprechend korrekten Platine 6 des Gerätes 2 verlötet ist. Das Vorhandensein der Identifikation einer bestimmten Applikation 7 des Gerätes 2 stellt das gleichzeitige korrekte Vorhandensein der Steuerungseinheit 1 und der zugeordneten Applikation 7 sicher. The number of devices for the device 2 specific safety parameters 2 ID1-ID3 comprises, for example, an identification ID1 of an authentication unit 5 of the device 2 , an identification ID2 of a board 6 of the device 2 and an identification ID3 of an application 7 of the device 2 , Where is the authentication unit 5 set up the control unit 1 opposite the device 2 to authenticate. The presence of the correct identification of the board or board ID2 ensures that the correct control unit 1 on the corresponding correct board 6 of the device 2 is soldered. The presence of the identification of a particular application 7 of the device 2 represents the simultaneous correct presence of the control unit 1 and the associated application 7 for sure.

Beispielsweise wird der kryptographische Schlüssel K mittels der Anzahl der für das Gerät 2 spezifischen Sicherheitsparameter S, ID1–ID3 und eines Hash-Algorithmus generiert. Insbesondere werden dann die vorhandenen Sicherheitsparameter S, ID1–ID3 zu einer Parameterfolge konkateniert. Ein Hash-Wert wird dann von der Parameterfolge mittels des Hash-Algorithmus zur Bereitstellung des kryptographischen Schlüssels K berechnet. Alternativ kann der kryptographische Schlüssel K mittels der Anzahl der für das Gerät 2 spezifischen Sicherheitsparameter S, ID1–ID3 und einer Schlüsselableitungsfunktion generiert werden. For example, the cryptographic key K is determined by the number of times for the device 2 generated specific security parameters S, ID1-ID3 and a hash algorithm. In particular, the existing security parameters S, ID1-ID3 are then concatenated into a parameter sequence. A hash value is then calculated from the parameter sequence by means of the hash algorithm for providing the cryptographic key K. Alternatively, the cryptographic key K may be determined by the number of times for the device 2 specific security parameters S, ID1-ID3 and a key derivation function.

In Schritt 103 werden kryptographische Ergebnisdaten E in Abhängigkeit von der empfangenen Bitfolge B und dem generierten kryptographischen Schlüssel K berechnet. Für das Beispiel, dass die Bitfolge B eine verschlüsselte Bitfolge B1 ist, umfassen die berechneten Ergebnisdaten E eine entschlüsselte Bitfolge B2. Details hierzu sind in den 2 bis 4 angegeben. In step 103 Cryptographic result data E are calculated as a function of the received bit sequence B and the generated cryptographic key K. For the example that the bit sequence B is an encrypted bit sequence B1, the calculated result data E comprises a decrypted bit sequence B2. Details are in the 2 to 4 specified.

In Schritt 104 wird die zumindest eine freizuschaltende Funktion F der Steuerungseinheit 1 in Abhängigkeit von den berechneten Ergebnisdaten E freigeschaltet. Wenn also die berechneten Ergebnisdaten E einem vorbestimmten erwarteten Ergebnis entsprechen, wird die zumindest eine freizuschaltende Funktion F der Steuerungseinheit 1 tatsächlich freigeschaltet. In step 104 becomes the at least one function F to be enabled, of the control unit 1 released depending on the calculated result data E. Thus, when the calculated result data E corresponds to a predetermined expected result, the at least one function F to be released becomes the control unit 1 actually unlocked.

2 zeigt ein Ablaufdiagramm eines zweiten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit 1 eines Gerätes 2. 2 shows a flowchart of a second embodiment of a method for saving a control unit 1 a device 2 ,

Das zweite Ausführungsbeispiel der 2 umfasst die folgenden Schritte 201204: The second embodiment of the 2 includes the following steps 201 - 204 :

In Schritt 201 wird eine verschlüsselte Bitfolge B1 zum Aktivieren der zumindest einen freizuschaltenden Funktion F der Steuerungseinheit 1 durch die Steuerungseinheit 1 empfangen. In step 201 becomes an encrypted bit sequence B1 for activating the at least one function F to be enabled, of the control unit 1 through the control unit 1 receive.

In Schritt 202 wird ein kryptographischer Schlüssel K in Abhängigkeit von einer Anzahl von für das Gerät 2 spezifischen Sicherheitsparametern S, ID1–ID3 generiert oder berechnet. In step 202 is a cryptographic key K depending on a number of for the device 2 specific safety parameters S, ID1-ID3 generated or calculated.

In Schritt 203 wird die verschlüsselte Bitfolge B1 mittels des kryptographischen Schlüssels K in eine entschlüsselte Bitfolge B2 entschlüsselt. In step 203 the encrypted bit sequence B1 is decrypted by means of the cryptographic key K into a decrypted bit sequence B2.

In Schritt 204 wird die zumindest eine freizuschaltende Funktion F mittels der entschlüsselten Bitfolge B2 freigeschaltet. In step 204 the at least one function F to be enabled is enabled by means of the decrypted bit sequence B2.

In 3 ist ein Ablaufdiagramm eines dritten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit 1 eines Gerätes 2 illustriert. In 3 Fig. 10 is a flow chart of a third embodiment of a method for saving a control unit 1 a device 2 illustrated.

Das Ausführungsbeispiel der 3 umfasst die folgenden Verfahrensschritte 301 bis 308: The embodiment of 3 includes the following process steps 301 to 308 :

Ferner wird hierzu auf die 8 verwiesen. Furthermore, this is on the 8th directed.

In Schritt 301 wird eine Bitfolge B zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit 1 von einer externen Einrichtung 3 geladen. Mit anderen Worten stellt die externe Einrichtung 3 die Bitfolge B dem Gerät 2, dabei insbesondere der Steuerungseinheit 1 des Gerätes 2, bereit. In step 301 becomes a bit sequence B for activating the at least one enable function of the control unit 1 from an external device 3 loaded. In other words, the external device 3 the bit sequence B the device 2 , in particular the control unit 1 of the device 2 , ready.

In Schritt 103 wird ein Verschlüsselungsschlüssel K in Abhängigkeit von der Anzahl der gerätespezifischen Sicherheitsparameter S, ID1–ID3 generiert. In step 103 an encryption key K is generated as a function of the number of device-specific security parameters S, ID1-ID3.

In Schritt 303 wird die geladene Bitfolge B mittels des generierten Verschlüsselungsschlüssels K zur Bereitstellung einer verschlüsselten Bitfolge B1 verschlüsselt. In step 303 the loaded bit sequence B is encrypted by means of the generated encryption key K to provide an encrypted bit sequence B1.

In Schritt 304 wird die bereitgestellte verschlüsselte Bitfolge B1 auf einer Speichereinrichtung 4 des Gerätes 2 gespeichert. Somit ist die verschlüsselte Bitfolge B1 für zumindest eine nachfolgende Anwendung zwischengespeichert und gesichert. In step 304 becomes the provided encrypted bit sequence B1 on a storage device 4 of the device 2 saved. Thus, the encrypted bit string B1 is cached and secured for at least one subsequent application.

In Schritt 305 wird die von der Speichereinrichtung 4 zwischengespeicherte, verschlüsselte Bitfolge B1 durch die Steuerungseinheit 1 empfangen. In step 305 is the one from the storage device 4 cached, encrypted bit sequence B1 by the control unit 1 receive.

In Schritt 306 wird ein Entschlüsselungsschlüssel K durch die Steuerungseinheit 1 in Abhängigkeit von der Anzahl der Sicherheitsparameter S generiert. In step 306 becomes a decryption key K by the control unit 1 depending on the number of safety parameters S generated.

In Schritt 307 entschlüsselt die Steuerungseinheit 1 die verschlüsselte Bitfolge B1 mittels des Entschlüsselungsschlüssels K in eine entschlüsselte Bitfolge B2. Vorzugsweise werden der Verschlüsselungsschlüssel und der Entschlüsselungsschlüssel K identisch ausgebildet. In step 307 decrypts the control unit 1 the encrypted bit sequence B1 by means of the decryption key K in a decrypted bit sequence B2. Preferably, the encryption key and the decryption key K are formed identically.

In Schritt 308 wird die zumindest eine freizuschaltende Funktion der Steuerungseinheit 1 mittels der entschlüsselten Bitfolge B2 freigeschaltet. In step 308 becomes the at least one function of the control unit to be enabled 1 unlocked by the decrypted bit sequence B2.

4 zeigt ein Ablaufdiagramm eines vierten Ausführungsbeispiels eines Verfahrens zum Sichern einer Steuerungseinheit 1 eines Gerätes 2. 4 shows a flowchart of a fourth embodiment of a method for securing a control unit 1 a device 2 ,

Das vierte Ausführungsbeispiel der 4 umfasst die folgenden Schritte 401 bis 404: The fourth embodiment of 4 includes the following steps 401 to 404 :

In Schritt 401 empfängt die Steuerungseinheit 1 eine Bitfolge B3 mit einer Prüfsumme. Die Bitfolge B3 mit der Prüfsumme ist zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit 1 geeignet. In step 401 receives the control unit 1 a bit sequence B3 with a checksum. The bit sequence B3 with the checksum is for activating the at least one function of the control unit to be enabled 1 suitable.

In Schritt 402 wird ein kryptographischer Schlüssel K in Abhängigkeit von einer Anzahl von gerätespezifischen Sicherheitsparametern S, ID1–ID3 berechnet. In step 402 a cryptographic key K is calculated as a function of a number of device-specific security parameters S, ID1-ID3.

In Schritt 403 wird die Prüfsumme der empfangenen Bitfolge B3 mittels des kryptographischen Schlüssels K geprüft. In step 403 the checksum of the received bit sequence B3 is checked by means of the cryptographic key K.

In Schritt 404 wird die zumindest eine freizuschaltende Funktion in Abhängigkeit der geprüften Prüfsumme freigeschaltet. In step 404 the at least one function to be enabled is enabled depending on the checked checksum.

In 5 ist ein Blockschaltbild eines Ausführungsbeispiels einer Vorrichtung 10 zum Sichern einer Steuerungseinheit 1 eines Gerätes 2 dargestellt. Die nachfolgenden 6 bis 8 zeigen ein solches Gerät 2 mit einer solchen Steuerungseinheit 1. In 5 is a block diagram of an embodiment of a device 10 for saving a control unit 1 a device 2 shown. The following 6 to 8th show such a device 2 with such a control unit 1 ,

Die Vorrichtung 10 der 5 umfasst ein Empfangsmittel 11, ein Generierungsmittel 12, ein Berechnungsmittel 13 und ein Freischaltmittel 14. The device 10 of the 5 comprises a receiving means 11 , a generator 12 , a calculation tool 13 and an unlocking device 14 ,

Das Empfangsmittel 11 ist dazu eingerichtet, eine Bitfolge B zum Aktivieren zumindest einer freizuschaltenden Funktion F der Steuerungseinheit 1 zu empfangen. Das Generierungsmittel 12 ist dazu eingerichtet, einen kryptographischen Schlüssel K in Abhängigkeit von einer Anzahl von für das Gerät 2 spezifischen Sicherheitsparametern S zu generieren. Das Berechnungsmittel 13 empfängt die Bitfolge B und den generierten kryptographischen Schlüssel K. In Abhängigkeit von der empfangenen Bitfolge B und dem generierten kryptographischen Schlüssel K berechnet das Berechnungsmittel 13 kryptographische Ergebnisdaten E. The receiving means 11 is adapted to a bit sequence B for activating at least one function F of the control unit to be enabled 1 to recieve. The generating agent 12 is to set up a cryptographic key K depending on a number of for the device 2 specific safety parameters S to generate. The calculation means 13 receives the bit sequence B and the generated cryptographic key K. The computing means calculates in dependence on the received bit sequence B and the generated cryptographic key K. 13 cryptographic result data E.

Das Freischaltmittel 14 ist dazu eingerichtet, die zumindest eine freizuschaltende Funktion F in Abhängigkeit von den berechneten Ergebnisdaten E freizuschalten. Dabei bezeichnet das Bezugszeichen F in der 5 die zumindest eine freizuschaltende Funktion F selbst oder ein Freischaltsignal zum Freischalten dieser zumindest einen freizuschaltenden Funktion. The activation device 14 is set up to enable the at least one function F to be enabled as a function of the calculated result data E. Here, the reference numeral F in the 5 the at least one function F to be enabled or an enabling signal for enabling this at least one function to be enabled.

In 6 ist ein Blockschaltbild eines ersten Ausführungsbeispiels eines Gerätes 2 mit einer Steuerungseinheit 1 und einer Vorrichtung 10 zum Sichern der Steuerungseinheit 1 dargestellt. In dem Ausführungsbeispiel der 6 integriert die Steuerungseinheit 1 die Vorrichtung 10. Es ist auch denkbar, dass die Steuerungseinheit 1 die Vorrichtung 10 nicht integriert, sondern nur mit dieser gekoppelt ist. In 6 is a block diagram of a first embodiment of a device 2 with a control unit 1 and a device 10 for saving the control unit 1 shown. In the embodiment of 6 integrates the control unit 1 the device 10 , It is also conceivable that the control unit 1 the device 10 not integrated, but only with this is coupled.

Neben der Steuerungseinheit 10 zum Steuern des Gerätes 2 hat das Gerät 2 auch eine Speichereinrichtung 4 und eine Authentifizierungseinheit 5. Alle Einrichtungen des Gerätes 2, nämlich die Steuerungseinheit 1, die Speichereinrichtung 4 und die Authentifizierungseinheit 5, sind auf einer Platine 6 des Gerätes 2 angeordnet bzw. gelötet. In addition to the control unit 10 to control the device 2 has the device 2 also a memory device 4 and an authentication unit 5 , All devices of the device 2 namely the control unit 1 , the storage device 4 and the authentication unit 5 , are on a circuit board 6 of the device 2 arranged or soldered.

In dem Beispiel der 6 wird als Sicherheitsparameter die Identifikation ID1 der Authentifizierungseinheit 5 verwendet. In the example of 6 is the identification ID1 of the authentication unit as a security parameter 5 used.

7 zeigt ein zweites Ausführungsbeispiel eines Gerätes 2 mit einer Steuerungseinheit 1 und einer Vorrichtung 10 zum Sichern der Steuerungseinheit 1. Das zweite Ausführungsbeispiel der 7 basiert auf dem ersten Ausführungsbeispiel der 6 und weist sämtliche Merkmale des ersten Ausführungsbeispiels auf. 7 shows a second embodiment of a device 2 with a control unit 1 and a device 10 for saving the control unit 1 , The second embodiment of the 7 is based on the first embodiment of 6 and has all the features of the first embodiment.

Das zweite Ausführungsbeispiel der 7 unterscheidet sich von dem ersten Ausführungsbeispiel der 6 dahingehend, dass die Vorrichtung 10 der Steuerungseinheit 1 nicht nur eine Identifikation ID1 der Authentifizierungseinheit 5 nutzt, sondern auch eine Identifikation ID2 der Platine 6 des Gerätes 2 sowie eine Identifikation ID3 einer auf dem Gerät 2 installierten Applikation 7. Selbstverständlich können auf dem Gerät 2 nicht nur eine Applikation 7, sondern eine Vielzahl von Applikationen 7 installiert sein, welche jeweils eine Identifikation ID3 haben und bereitstellen. Die 7 ist auch dahingehend nur schematisch, dass die Identifikation ID2 von der Platine 6 bereitgestellt wird. The second embodiment of the 7 differs from the first embodiment of the 6 in that the device 10 the control unit 1 not just an identification ID1 of the authentication unit 5 uses, but also an identification ID2 of the board 6 of the device 2 as well as an identification ID3 one on the device 2 installed application 7 , Of course, on the device 2 not just an application 7 but a variety of applications 7 be installed, each of which has and provide ID3. The 7 is also only schematically that the identification ID2 from the board 6 provided.

Die Vorrichtung 10 generiert dann den kryptographischen Schlüssel K in Abhängigkeit von den empfangenen Identifikationen, nämlich der Identifikation ID1 der Authentifizierungseinheit 5, der Identifikation ID2 der Platine 6 des Gerätes 2 und der Identifikation ID 3 der Applikation 7 des Gerätes 2. Ferner ist denkbar, weitere Identifikationen oder Sicherheitsparameter von Einrichtungen des Gerätes 2 zu verwenden, soweit gerätespezifisch vorhanden. The device 10 then generates the cryptographic key K in dependence on the received identifications, namely the identification ID1 of the authentication unit 5 , the ID2 of the board 6 of the device 2 and the identification ID 3 the application 7 of the device 2 , It is also conceivable, further identifications or safety parameters of devices of the device 2 to use, as far as device-specific available.

8 zeigt ein Blockschaltbild eines dritten Ausführungsbeispiels eines Gerätes 2 mit einer Steuerungseinheit 1 und einer Vorrichtung 10 zum Sichern der Steuerungseinheit 1. 8th shows a block diagram of a third embodiment of a device 2 with a control unit 1 and a device 10 for saving the control unit 1 ,

Das dritte Ausführungsbeispiel der 8 basiert auf dem zweiten Ausführungsbeispiel 7 und weist sämtliche Merkmale des zweiten Ausführungsbeispiels der 7 auf. Ferner ist in der 8 eine externe Einrichtung 3 dargestellt, welche die Bitfolge B zum Aktivieren der zumindest einen freizuschaltenden Funktion F der Steuerungseinheit 1 bereitstellt. Die Steuerungseinheit 10 empfängt demnach die Bitfolge B und generiert ferner einen kryptographischen Schlüssel K als Verschlüsselungsschlüssel in Abhängigkeit der empfangenen Identifikationen ID1–ID3. Dann kann die Steuerungseinheit 1 die Bitfolge B mittels des generierten Verschlüsselungsschlüssels K zur Bereitstellung einer verschlüsselten Bitfolge B1 verschlüsseln. Die verschlüsselte Bitfolge B1 wird dann an eine Speichereinrichtung 4 des Gerätes 2 übertragen, welche die verschlüsselte Bitfolge B1 zwischenspeichert und für spätere Anwendungen bereithält. Die Speichereinrichtung 4 ist beispielsweise ein Flash-Speicher oder ein EPROM-Speicher. The third embodiment of 8th is based on the second embodiment 7 and has all the features of the second embodiment of 7 on. Furthermore, in the 8th an external device 3 which shows the bit sequence B for activating the at least one function F of the control unit to be enabled 1 provides. The control unit 10 thus receives the bit string B and further generates a cryptographic key K as an encryption key in response to the received identifications ID1-ID3. Then the control unit 1 encrypt the bit sequence B by means of the generated encryption key K to provide an encrypted bit sequence B1. The encrypted bit sequence B1 is then sent to a memory device 4 of the device 2 which caches the encrypted bit sequence B1 and holds it ready for later applications. The storage device 4 is for example a flash memory or an EPROM memory.

Wenn die zumindest eine freizuschaltende Funktion F der Steuerungseinheit 1 wieder freigeschaltet werden soll, lädt die Steuerungseinheit 1 die verschlüsselte Bitfolge B1 von der Speichereinrichtung 4 und generiert einen Entschlüsselungsschlüssel K in Abhängigkeit von den dann vorhandenen Identifikationen ID1–ID3. Nur wenn die Identifikationen ID1– ID3 zur Generierung des Entschlüsselungsschlüssels denen zur Generierung des Verschlüsselungsschlüssels entsprechen, sind der Entschlüsselungsschlüssel und der Verschlüsselungsschlüssel auch identisch und die verschlüsselte Bitfolge B1 kann durch den Entschlüsselungsschlüssel K in eine entschlüsselte Bitfolge B2 entschlüsselt werden. Mittels der entschlüsselten Bitfolge B2 kann dann die zumindest eine freizuschaltende Funktion der Steuerungseinheit 1 freigeschaltet werden. If the at least one enable function F of the control unit 1 is re-enabled, loads the control unit 1 the encrypted bit sequence B1 from the memory device 4 and generates a decryption key K in response to the identifications ID1-ID3 then present. Only if the identifications ID1-ID3 for generating the decryption key correspond to those for generating the encryption key, the decryption key and the encryption key are also identical and the encrypted bit sequence B1 can be decrypted by the decryption key K into a decrypted bit sequence B2. By means of the decrypted bit sequence B2, the at least one function of the control unit to be enabled can then be used 1 be unlocked.

Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Although the invention has been further illustrated and described in detail by the preferred embodiment, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by those skilled in the art without departing from the scope of the invention.

Literatur: Literature:

  • [1] Ed Peterson, Developing Tamper Resistant Designs with Xilinx Virtex-6 and 7 Series FPGAs, XAPP1084 (v1.1) December 1, 2011; (http://www.xilinx.com/support/documentation/application_notes/xapp1084_tamp_resist_dsgns.pdf) [1] Ed Peterson, Developing Tamper Resistant Designs with Xilinx Virtex-6 and 7 Series FPGAs, XAPP1084 (v1.1) December 1, 2011; (Http://www.xilinx.com/support/documentation/application_notes/xapp1084_tamp_resist_dsgns.pdf)
  • [2] Catalin Baetoniu, FPGA IFF Copy Protection Using Dallas Semiconductor/Maxim DS2432 Secure EEPROMs, XAPP780 (v1.1) May 28, 2010; (http://www.xilinx.com/support/documentation/application_notes/xapp780.pdf) [2] Catalin Baetoniu, FPGA IFF Copy Protection Using Dallas Semiconductor / DS2432 Secure EEPROMs, XAPP780 (v1.1) May 28, 2010; (Http://www.xilinx.com/support/documentation/application_notes/xapp780.pdf)
  • [3] http://de.wikipedia.org/wiki/Microsoft_Windows_XP# Produktaktivierung [3] http://en.wikipedia.org/wiki/Microsoft_Windows_XP# Product Activation

Claims (15)

Verfahren zum Sichern einer Steuerungseinheit (1) eines Gerätes (2), mit den Schritten: Empfangen (101, 201, 305, 401) einer Bitfolge (B) zum Aktivieren zumindest einer freizuschaltenden Funktion der Steuerungseinheit (1), Generieren (102, 202, 306, 402) eines kryptographischen Schlüssels (K) in Abhängigkeit von einer Anzahl von für das Gerät (2) spezifischen Sicherheitsparametern (S), Berechnen (103, 203, 307, 403) von kryptographischen Ergebnisdaten (E) in Abhängigkeit von der empfangenen Bitfolge (B) und dem generierten kryptographischen Schlüssel (K), und Freischalten (104, 204, 308, 404) der zumindest einen freizuschaltenden Funktion in Abhängigkeit von den berechneten Ergebnisdaten (E). Method for saving a control unit ( 1 ) of a device ( 2 ), with the steps: receiving ( 101 . 201 . 305 . 401 ) a bit sequence (B) for activating at least one function of the control unit to be enabled ( 1 ), To generate ( 102 . 202 . 306 . 402 ) of a cryptographic key (K) depending on a number of devices ( 2 ) specific security parameters (S), calculating ( 103 . 203 . 307 . 403 ) of cryptographic result data (E) in dependence on the received bit sequence (B) and the generated cryptographic key (K), and enabling ( 104 . 204 . 308 . 404 ) of the at least one function to be enabled as a function of the calculated result data (E). Verfahren nach Anspruch 1, gekennzeichnet durch Empfangen (201) der Bitfolge (B) zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit (1) als eine verschlüsselte Bitfolge (B1), Berechnen (203) der kryptographischen Ergebnisdaten (E) durch Entschlüsseln der verschlüsselten Bitfolge (B1) in eine entschlüsselte Bitfolge (B2) mittels des kryptographischen Schlüssels (K), und Freischalten (204) der zumindest einen freizuschaltenden Funktion mittels der entschlüsselten Bitfolge (B2). Method according to claim 1, characterized by receiving ( 201 ) of the bit sequence (B) for activating the at least one function of the control unit to be enabled ( 1 ) as an encrypted bit sequence (B1), calculating ( 203 ) of the cryptographic result data (E) by decrypting the encrypted bit sequence (B1) into a decrypted bit sequence (B2) by means of the cryptographic key (K), and activating ( 204 ) of the at least one function to be enabled by means of the decrypted bit sequence (B2). Verfahren nach Anspruch 2, gekennzeichnet durch Laden (301) der Bitfolge (B) zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit (1) von einer externen Einrichtung (3), Generieren (302) des kryptographischen Schlüssels (K) als ein Verschlüsselungsschlüssel (K) in Abhängigkeit von der Anzahl der Sicherheitsparameter (S), Verschlüsseln (303) der geladenen Bitfolge (B) mittels des generierten Verschlüsselungsschlüssels (K) zur Bereitstellung einer verschlüsselten Bitfolge (B1), Speichern (304) der bereitgestellten verschlüsselten Bitfolge (B1) auf einer Speichereinrichtung (4) des Gerätes (2), Empfangen (305) der von der Speichereinrichtung (4) gespeicherten verschlüsselten Bitfolge (B1) durch die Steuerungseinheit (1), Generieren (306) des kryptographischen Schlüssels (K) als ein Entschlüsselungsschlüssel in Abhängigkeit von der Anzahl der Sicherheitsparameter (S), Berechnen (307) der kryptographischen Ergebnisdaten (E) durch Entschlüsseln der verschlüsselten Bitfolge (B1) mittels des Entschlüsselungsschlüssels (K) in eine entschlüsselte Bitfolge (B2), und Freischalten (308) der zumindest einen freizuschaltenden Funktion der Steuerungseinheit (1) mittels der entschlüsselten Bitfolge (B2). Method according to claim 2, characterized by loading ( 301 ) of the bit sequence (B) for activating the at least one function of the control unit to be enabled ( 1 ) by an external body ( 3 ), To generate ( 302 ) of the cryptographic key (K) as an encryption key (K) as a function of the number of security parameters (S), encrypting ( 303 ) of the loaded bit sequence (B) by means of the generated encryption key (K) for providing an encrypted bit sequence (B1), storing ( 304 ) of the provided encrypted bit sequence (B1) on a storage device ( 4 ) of the device ( 2 ), Receiving ( 305 ) of the memory device ( 4 stored encrypted bit sequence (B1) by the control unit ( 1 ), To generate ( 306 ) of the cryptographic key (K) as a decryption key in dependence on the number of security parameters (S), calculating ( 307 ) of the cryptographic result data (E) by decrypting the encrypted bit sequence (B1) by means of the decryption key (K) into a decrypted bit sequence (B2), and activating ( 308 ) of the at least one function of the control unit to be enabled ( 1 ) by means of the decrypted bit sequence (B2). Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der Verschlüsselungsschlüssel (K) und der Entschlüsselungsschlüssel (K) identisch ausgebildet werden. A method according to claim 3, characterized in that the encryption key (K) and the decryption key (K) are formed identical. Verfahren nach Anspruch 1, gekennzeichnet durch Empfangen (401) der Bitfolge (B3) mit einer Prüfsumme zum Aktivieren der zumindest einen freizuschaltenden Funktion der Steuerungseinheit (1), Berechnen (403) der kryptographischen Ergebnisdaten (E) durch Prüfen der Prüfsumme der empfangenen Bitfolge (B3) mittels des kryptographischen Schlüssels (K), und Freischalten (404) der zumindest einen freizuschaltenden Funktion in Abhängigkeit der geprüften Prüfsumme. Method according to claim 1, characterized by receiving ( 401 ) of the bit sequence (B3) with a checksum for activating the at least one function of the control unit to be enabled ( 1 ), To calculate ( 403 ) of the cryptographic result data (E) by checking the checksum of the received bit sequence (B3) by means of the cryptographic key (K), and enabling ( 404 ) of the at least one function to be enabled depending on the checked checksum. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass alle Funktionen der Steuerungseinheit (1) als freizuschaltende Funktionen ausgebildet werden, welche in Abhängigkeit von den berechneten Ergebnisdaten (E) freigeschaltet werden. Method according to one of claims 1 to 5, characterized in that all functions of the control unit ( 1 ) are designed as functions to be enabled, which are enabled as a function of the calculated result data (E). Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Anzahl der für das Gerät (2) spezifischen Sicherheitsparameter (S) eine Authentifizierungseinheit-Identifikation (ID1) einer Authentifizierungseinheit (5) des Gerätes (2), eine Platinen-Identifikation (ID2) einer Platine (6) des Gerätes (2) und/oder eine Applikations-Identifikation (ID3) einer Applikation (7) des Gerätes (2) umfasst. Method according to one of claims 1 to 6, characterized in that the number of devices ( 2 ) specific safety parameters (S) an authentication unit identification (ID1) of an authentication unit ( 5 ) of the device ( 2 ), a board identification (ID2) of a board ( 6 ) of the device ( 2 ) and / or an application identification (ID3) of an application ( 7 ) of the device ( 2 ). Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Anzahl der für das Gerät (2) spezifischen Sicherheitsparameter (S) eine Authentifizierungseinheit-Identifikation (ID1) einer Authentifizierungseinheit (5) des Gerätes (2) und eine Platinen-Identifikation (ID2) einer Platine (6) des Gerätes (2) und/oder eine Applikations-Identifikation (ID3) einer Applikation (7) des Gerätes (2) umfasst. Method according to one of claims 1 to 6, characterized in that the number of devices ( 2 ) specific security parameter (S) an authentication unit identification (ID 1 ) of an authentication unit ( 5 ) of the device ( 2 ) and a board identification (ID2) of a board ( 6 ) of the device ( 2 ) and / or an application identification (ID3) of an application ( 7 ) of the device ( 2 ). Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass der kryptographische Schlüssel (K) mittels der Anzahl der für das Gerät (2) spezifischen Sicherheitsparameter (S) und eines Hash-Algorithmus oder einer Schlüsselableitungsfunktion generiert wird. Method according to one of claims 1 to 8, characterized in that the cryptographic key (K) by means of the number of the device ( 2 ) specific security parameter (S) and a hash algorithm or a key derivation function is generated. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Sicherheitsparameter (S) zu einer Parameterfolge konkateniert werden, wobei ein Hash-Wert von der Parameterfolge mittels des Hash-Algorithmus zur Bereitstellung des kryptographischen Schlüssels (K) berechnet wird. A method according to claim 9, characterized in that the security parameters (S) are concatenated into a parameter sequence, wherein a hash value of the parameter sequence by means of the hash algorithm for providing the cryptographic key (K) is calculated. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Steuerungseinheit (1) als ein programmierbarer Logikbaustein, insbesondere als ein FPGA, ausgebildet ist. Method according to one of claims 1 to 10, characterized in that the control unit ( 1 ) is designed as a programmable logic device, in particular as an FPGA. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Steuerungseinheit (1) als ein Controller einer SD-Karte, einer Festplatte oder eines USB-Sticks ausgebildet ist. Method according to one of claims 1 to 10, characterized in that the control unit ( 1 ) is designed as a controller of an SD card, a hard disk or a USB stick. Computerprogrammprodukt, welches auf einer programmgesteuerten Einrichtung die Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12 veranlasst. Computer program product, which causes the execution of a method according to one of claims 1 to 12 on a program-controlled device. Vorrichtung (10) zum Sichern einer Steuerungseinheit (1) eines Gerätes (2), mit: einem Empfangsmittel (11) zum Empfangen einer Bitfolge (B) zum Aktivieren zumindest einer freizuschaltenden Funktion der Steuerungseinheit (1), einem Generierungsmittel (12) zum Generieren eines kryptographischen Schlüssels (K) in Abhängigkeit von einer Anzahl von für das Gerät (2) spezifischen Sicherheitsparametern (S), einem Berechnungsmittel (13) zum Berechnen von kryptographischen Ergebnisdaten (E) in Abhängigkeit von der empfangenen Bitfolge (B) und dem generierten kryptographischen Schlüssel (K), und einem Freischaltmittel (14) zum Freischalten der zumindest einen freizuschaltenden Funktion in Abhängigkeit von den berechneten Ergebnisdaten (E). Contraption ( 10 ) for saving a control unit ( 1 ) of a device ( 2 ), comprising: a receiving means ( 11 ) for receiving a bit sequence (B) for activating at least one function of the control unit to be enabled ( 1 ), a generating agent ( 12 ) for generating a cryptographic key (K) in dependence on a number of for the device ( 2 ) specific security parameters (S), a calculation means ( 13 ) for calculating cryptographic result data (E) in dependence on the received bit sequence (B) and the generated cryptographic key (K), and an enabling means ( 14 ) for enabling the at least one function to be enabled as a function of the calculated result data (E). Gerät (2), mit: einer Anzahl von Einrichtungen (5, 6, 7) zum Bereitstellen von für das Gerät 2 spezifischen Sicherheitsparameter (S, ID1, ID2, ID3) und einer Steuerungseinheit (1) mit einer Vorrichtung (10) nach Anspruch 14, wobei die Vorrichtung (10) dazu eingerichtet ist, zumindest eine freizuschaltende Funktion der Steuerungseinheit (1) in Abhängigkeit von der Anzahl der bereitgestellten Sicherheitsparameter (S, ID1, ID2, ID3) freizuschalten. Device ( 2 ), comprising: a number of facilities ( 5 . 6 . 7 ) for providing for the device 2 specific safety parameters (S, ID1, ID2, ID3) and a control unit ( 1 ) with a device ( 10 ) according to claim 14, wherein the device ( 10 ) is adapted to at least one function of the control unit to be enabled ( 1 ) depending on the number of security parameters provided (S, ID1, ID2, ID3).
DE201210215011 2012-08-23 2012-08-23 Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key Withdrawn DE102012215011A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201210215011 DE102012215011A1 (en) 2012-08-23 2012-08-23 Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201210215011 DE102012215011A1 (en) 2012-08-23 2012-08-23 Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key

Publications (1)

Publication Number Publication Date
DE102012215011A1 true DE102012215011A1 (en) 2014-02-27

Family

ID=50069587

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201210215011 Withdrawn DE102012215011A1 (en) 2012-08-23 2012-08-23 Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key

Country Status (1)

Country Link
DE (1) DE102012215011A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015212657A1 (en) * 2015-07-07 2017-01-12 Siemens Aktiengesellschaft Providing a device-specific cryptographic key from a cross-system key for a device
EP3686763A1 (en) * 2019-01-22 2020-07-29 Siemens Aktiengesellschaft Computer-implemented device and method for processing data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010038179A1 (en) * 2010-10-14 2012-04-19 Kobil Systems Gmbh Individual updating of computer programs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010038179A1 (en) * 2010-10-14 2012-04-19 Kobil Systems Gmbh Individual updating of computer programs

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Catalin Baetoniu, FPGA IFF Copy Protection Using Dallas Semiconductor/Maxim DS2432 Secure EEPROMs, XAPP780 (v1.1) May 28, 2010; (http://www.xilinx.com/support/documentation/application_notes/xapp780.pdf)
Ed Peterson, Developing Tamper Resistant Designs with Xilinx Virtex-6 and 7 Series FPGAs, XAPP1084 (v1.1) December 1, 2011; (http://www.xilinx.com/support/documentation/application_notes/xapp1084_tamp_resist_dsgns.pdf)
http://de.wikipedia.org/wiki/Microsoft_Windows_XP# Produktaktivierung

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015212657A1 (en) * 2015-07-07 2017-01-12 Siemens Aktiengesellschaft Providing a device-specific cryptographic key from a cross-system key for a device
EP3686763A1 (en) * 2019-01-22 2020-07-29 Siemens Aktiengesellschaft Computer-implemented device and method for processing data
RU2735618C1 (en) * 2019-01-22 2020-11-05 Сименс Акциенгезелльшафт Computer-implemented device and method for processing data
US10872058B2 (en) 2019-01-22 2020-12-22 Siemens Aktiengesellschaft Apparatus and method for processing data by a reconfigurable part of a digital chip

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
EP2689553B1 (en) Motor vehicle control unit having a cryptographic device
DE112019005701T5 (en) SAFE BOAT SUPPORT FOR DEVICES AND RELATED SYSTEMS, PROCEDURES AND DEVICES
DE102015209108A1 (en) Method and decision gateway for authorizing a function of an embedded controller
EP2727277A1 (en) System and method for the secure transmission of data
EP2494526A1 (en) Method for operating a tachograph and tachograph
DE102014208838A1 (en) Method for operating a control device
DE102009007345A1 (en) Safety device for protecting data stored in external memory e.g. multi media card, has controller to prevent coded memory access over interface or prevents output of data over other interface based on data received over former interface
DE102014208851A1 (en) Method for preventing unauthorized operation of a motor vehicle
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
DE102013013179A1 (en) Method for operating a security element
EP3337085B1 (en) Reloading cryptographic program instructions
EP2510475B1 (en) Hardware device
EP3620917B1 (en) Management of licences for soft ip on a partially reconfigurable hardware system
DE102015201298A1 (en) Method for the cryptographic processing of data
EP2434424B1 (en) Method for increasing the security of security-relevant online services
DE102012215011A1 (en) Method for securing control unit i.e. field programmable gate array, of e.g. secure digital memory card, involves de-energizing function of control unit as function of cryptographic result data computed based on cryptographic key
DE102015202215A1 (en) Device and method for safe operation of the device
EP3268888B1 (en) Device, system, method and computer program product for adapting the use of an apparatus
DE102014208848A1 (en) Method for monitoring an electronic security module
EP2060988B1 (en) Safety module
DE102014208840A1 (en) Method for handling software functions in a controller
DE102021126509B4 (en) Portable chip device and method for performing a software module update in a portable chip device
DE102015207004A1 (en) Method for protected access to security functions of a security module of a host system
DE102014208844A1 (en) Method for performing safety-critical processes in a control unit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021020000

Ipc: G06F0021700000

R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee