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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/76—Protecting 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
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:
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
Die Steuerungseinheit
Das Ausführungsbeispiel der
In Schritt
In step
In Schritt
Die Anzahl der für das Gerät
Beispielsweise wird der kryptographische Schlüssel K mittels der Anzahl der für das Gerät
In Schritt
In Schritt
Das zweite Ausführungsbeispiel der
In Schritt
In Schritt
In Schritt
In Schritt
In
Das Ausführungsbeispiel der
Ferner wird hierzu auf die
In Schritt
In Schritt
In Schritt
In Schritt
In Schritt
In Schritt
In Schritt
In Schritt
Das vierte Ausführungsbeispiel der
In Schritt
In Schritt
In Schritt
In Schritt
In
Die Vorrichtung
Das Empfangsmittel
Das Freischaltmittel
In
Neben der Steuerungseinheit
In dem Beispiel der
Das zweite Ausführungsbeispiel der
Die Vorrichtung
Das dritte Ausführungsbeispiel der
Wenn die zumindest eine freizuschaltende Funktion F der Steuerungseinheit
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) 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) 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 http://en.wikipedia.org/wiki/Microsoft_Windows_XP# Product Activation
Claims (15)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010038179A1 (en) * | 2010-10-14 | 2012-04-19 | Kobil Systems Gmbh | Individual updating of computer programs |
-
2012
- 2012-08-23 DE DE201210215011 patent/DE102012215011A1/en not_active Withdrawn
Patent Citations (1)
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)
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)
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 |