DE102015207765A1 - Method and security module for generating at least one security key - Google Patents

Method and security module for generating at least one security key Download PDF

Info

Publication number
DE102015207765A1
DE102015207765A1 DE102015207765.9A DE102015207765A DE102015207765A1 DE 102015207765 A1 DE102015207765 A1 DE 102015207765A1 DE 102015207765 A DE102015207765 A DE 102015207765A DE 102015207765 A1 DE102015207765 A1 DE 102015207765A1
Authority
DE
Germany
Prior art keywords
key
security
crypto
private
procedure
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
DE102015207765.9A
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 DE102015207765.9A priority Critical patent/DE102015207765A1/en
Publication of DE102015207765A1 publication Critical patent/DE102015207765A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Abstract

Die Erfindung betrifft ein Verfahren (100) zur Erzeugung eines privaten primären Startwerts für mindestens ein Kryptoverfahren eines Sicherheitsmoduls (200), wobei das Verfahren (100) nachfolgende Verfahrensschritte aufweist. Festlegen (110) eines ersten Schlüssels. Deterministisches Erzeugen (120) des privaten primären Startwertes aus dem ersten Schlüssel mittels einer ersten Kryptofunktion. Erzeugen von mindestens (130) einem Sicherheitsschlüssel aus dem privaten primären Startwert für das mindestens eine Kryptoverfahren.The invention relates to a method (100) for generating a private primary starting value for at least one crypto method of a security module (200), the method (100) having the following method steps. Specify (110) a first key. Deterministically generating (120) the private primary seed from the first key using a first crypto function. Generating at least (130) a security key from the private primary seed for the at least one crypto method.

Description

Die Erfindung bezieht sich auf ein Verfahren und ein Sicherheitsmodul zur Erzeugen von mindestens einem Sicherheitsschlüssel aus einem privaten primären Startwert für mindestens ein Kryptoverfahren. The invention relates to a method and a security module for generating at least one security key from a private primary start value for at least one crypto method.

Zur Unterstützung von langfristigen Sicherheitsanforderungen ist es notwendig, flexibel unterschiedliche kryptographische Verfahren zu unterstützen. Dies bedeutet, dass hierzu unterschiedliche Algorithmen und unterschiedliche Schlüssellängen unterstützt werden sollen. To support long-term security requirements, it is necessary to flexibly support different cryptographic methods. This means that different algorithms and different key lengths should be supported.

Dazu ist aus dem Standard Trusted Platform Module TPM Version 2.0 (Draft) (TPM 2.0) bekannt, aus einem geheimen privaten Plattformstartwert (private primary seed) über eine Schlüsselbildung einen privaten Schlüssel für unterschiedliche kryptographische Verfahren abhängig von einem Plattformstartwert zu erzeugen. Bei TPM2.0 wird der private primäre Plattformstartwert zufällig erzeugt und durch den TPM-Hersteller auf dem TPM-Chip dauerhaft gespeichert. For this purpose, it is known from the standard Trusted Platform Module TPM Version 2.0 (Draft) (TPM 2.0) to generate a private private key from a secret private private seed by means of a key formation for a different cryptographic method depending on a platform start value. In TPM2.0, the private primary platform seed is randomly generated and permanently stored by the TPM manufacturer on the TPM chip.

Aus dem Dokument DE 10 2009 030 019 ist bekannt, aus einem Challenge-Wert einen abgeleiteten, an den Authentisierer gebundenen Challenge-Wert zu ermitteln und für diesen abgeleiteten Challenge-Wert die zugehörige Response-Nachricht bereitzustellen. From the document DE 10 2009 030 019 It is known to determine from a challenge value a derived challenge value bound to the authenticator and to provide the associated response message for this derived challenge value.

Die Aufgabe der Erfindung ist es, eine Alternative zum Stand der Technik bereitzustellen. The object of the invention is to provide an alternative to the prior art.

Gemäß einem ersten Aspekt betrifft die Erfindung ein Verfahren zur Erzeugung eines privaten primären Startwerts für mindestens ein Kryptoverfahren eines Sicherheitsmoduls. Es wird ein erster Schlüssel festgelegt. Es wird der private primären Startwert aus dem ersten Schlüssel mittels einer ersten Kryptofunktion deterministisch erzeugt. Es wird mindestens ein Sicherheitsschlüssel aus dem privaten primären Startwert für das mindestens eine Kryptoverfahren erzeugt. According to a first aspect, the invention relates to a method for generating a private primary starting value for at least one cryptographic method of a security module. A first key is set. The private primary seed from the first key is deterministically generated by a first crypto function. At least one security key is generated from the private primary seed for the at least one crypto procedure.

Die Kryptofunktion zum deterministischen Erzeugen des privaten primären Startwertes kann beispielsweise eine Pseudozufallsfunktion (pseudo random function, PRF), eine kryptographische Einwegfunktion, eine kryptographische Hash-Funktion, eine Verschlüsselungsfunktion, eine Entschlüsselungsfunktion, eine kryptographische Prüfsummenfunktion oder eine Signaturfunktion sein. The crypto function for deterministically generating the private primary seed may be, for example, a pseudo random function (PRF), a one-way cryptographic function, a cryptographic hash function, an encryption function, a decryption function, a cryptographic checksum function or a signature function.

Das Verfahren erlaubt es langfristig Sicherheitsaspekte zu berücksichtigen. Hierzu werden einem Nutzer über das Sicherheitsmodul eine Vielzahl von Sicherheitsschlüsseln, beispielsweise private Schlüssel, für unterschiedliche Kryptoverfahren, beispielsweise unterschiedliche Kryptoalgorithmen und/oder Schlüssellängen, bereitgestellt. Stellt sich beispielsweise heraus, dass ein Kryptoalgorithmus keinen ausreichenden Schutz mehr bietet, kann einfach ein anderer Kryptoalgorithmus verwendet werden. The procedure makes it possible to consider safety aspects in the long term. For this purpose, a plurality of security keys, for example private keys, for different crypto methods, for example different crypto algorithms and / or key lengths, are made available to a user via the security module. For example, if it turns out that a crypto-algorithm does not provide sufficient protection anymore, another crypto-algorithm can be used.

Bei einer ersten Ausführungsform des Verfahrens gehen in die Erzeugung des privaten primären Startwerts ein Zählerwert und/oder ein Zweckbestimmungsparameter ein. In a first embodiment of the method, a counter value and / or a purpose parameter are included in the generation of the private primary start value.

Durch die Verwendung eines Zweckbestimmungsparameters ist beispielsweise eine Information über den Erzeugungszeitpunkt des privaten primären Startwertes bereitstellbar. Hierdurch kann beispielsweise festgestellt werden, wie alt der private primäre Startwert ist und ob dieser eventuell mit einem neuen primären Startwert mit einer höheren Schlüssellänge ersetzt werden soll. By using a purpose determination parameter, information about the generation time of the private primary start value can be provided, for example. This can be used, for example, to determine how old the private primary start value is and whether it should eventually be replaced with a new primary start value with a higher key length.

Bei weiteren Ausführungsformen des Verfahrens wird der erste Schlüssel mit einer Generierungsfunktion erzeugt. In further embodiments of the method, the first key is generated with a generation function.

Die Generierungsfunktion kann beispielsweise eine Pseudozufallsfunktion (pseudo random function, PRF) oder eine Kryptofunktion wie z.B. eine kryptographische Einwegfunktion, eine kryptographische Hash-Funktion, eine Verschlüsselungsfunktion, eine Entschlüsselungsfunktion, eine kryptographische Prüfsummenfunktion oder eine Signaturfunktion sein. Durch die Verwendung einer kryptographischen Einwegfunktion lässt sich ein erster Schlüssel festlegen, von dem ausgehend nicht der private primäre Startwert rückrechenbar ist. Dies führt somit zu einer hohen Sicherheit der erzeugten Schlüssel. The generation function may be, for example, a pseudo-random function (PRF) or a crypto-function such as e.g. a cryptographic one-way function, a cryptographic hash function, an encryption function, a decryption function, a cryptographic checksum function or a signature function. By using a one-way cryptographic function, you can specify a first key from which the private primary seed can not be used. This leads to a high security of the keys generated.

Bei weiteren Ausführungsformen des Verfahrens ist die erste Kryptofunktion eine asymmetrische Kryptofunktion oder eine symmetrische Kryptofunktion. Der private primäre Startwert ist insbesondere eine (geheime) Bitfolge, die nicht einem kryptographischen Verschlüsselungsverfahren zugeordnet ist. Sie stellt also noch keinen in einem kryptographischen Verfahren direkt verwendbaren kryptographischen Schlüssel dar. In further embodiments of the method, the first crypto function is an asymmetric crypto function or a symmetric crypto function. In particular, the private primary seed is a (secret) bit string that is not associated with a cryptographic encryption method. Thus, it does not yet constitute a cryptographic key which can be used directly in a cryptographic process.

Durch die Verwendung von symmetrischen oder asymmetrischen Kryptofunktionen ist das Verfahren sehr flexibel und es kann für unterschiedliche Anforderungen der private primäre Startwert bereitgestellt werden. Beispielsweise können Schlüssel für digitale Zertifikate erzeugt werden oder Schlüssel für Nachrichtenauthentifizierungscodes. By using symmetric or asymmetric cryptographic functions, the method is very flexible and for different requirements the private primary seed can be provided. For example, keys for digital certificates may be generated or keys for message authentication codes.

Bei weiteren Ausführungsformen des Verfahrens ist das mindestens eine Kryptoverfahren ein symmetrisches oder ein asymmetrisches Kryptoverfahren. In further embodiments of the method, this is at least one crypto method symmetric or asymmetric crypto method.

Durch die Verwendung von symmetrischen oder asymmetrischen Kryptofunktionen unter Nutzung des privaten primären Startwertes ist das Verfahren sehr flexibel und kann für unterschiedliche Anforderungen einen Sicherheitsschlüssel bereitstellen. Beispielsweise können Sicherheitsschlüssel für digitale Zertifikate erzeugt werden oder Schlüssel für Nachrichtenauthentifizierungscodes. By using symmetric or asymmetric cryptographic functions using the private primary seed, the method is very flexible and can provide a security key for different requirements. For example, digital certificate security keys or message authentication code keys may be generated.

Bei weiteren Ausführungsformen des Verfahrens wird ein private primärer Startwert, der mit der asymmetrischen Kryptofunktion erzeugt wird, für das Erzeugen des Sicherheitsschlüssels mittels eines symmetrischen Kryptoverfahrens verwendet und/oder wird insbesondere ein privater primäre Startwert, der mit der symmetrischen Kryptofunktion erzeugt wird, für das Erzeugen des Sicherheitsschlüssels mittels eines asymmetrischen Kryptoverfahrens verwendet. In further embodiments of the method, a private primary seed generated with the asymmetric crypto function is used for generating the security key by means of a symmetric crypto-method and / or, in particular, a private primary seed generated with the symmetric crypto-function for generating of the security key by means of an asymmetric crypto method.

Durch die Ableitung eines symmetrischen Sicherheitsschlüssels von einem asymmetrischen privaten primären Startwert oder die Ableitung eines asymmetrischen Sicherheitsschlüssels von einem symmetrischen privaten primären Startwert können unterschiedlichste Anforderungen bei Sicherheitsaspekten berücksichtigt werden. Deriving a symmetric security key from an asymmetric private primary seed or deriving an asymmetric security key from a symmetric private primary seed can accommodate a wide variety of security requirements.

Bei weiteren Ausführungsformen des Verfahrens ist die erste Kryptofunktion aus einer Vielzahl von Kryptofunktionen auswählbar. In further embodiments of the method, the first crypto function is selectable from a plurality of crypto functions.

Durch eine Auswahl aus einer Vielzahl von Kryptofunktionen, kann eine geeignete Kryptofunktion gewählt werden, die speziell geforderte Sicherheitsaspekte erfüllt. Through a choice of a variety of crypto functions, a suitable crypto function can be selected that meets specific security requirements.

Bei weiteren Ausführungsformen des Verfahrens wird der private primäre Startwert oder der Sicherheitsschlüssel als ein erster Schlüssel verwendet, welcher zur Erzeugung eines weiteren primären Startwertes dient. In further embodiments of the method, the private primary seed or security key is used as a first key which serves to generate another primary seed.

Dadurch lässt sich beispielsweise der erste Schlüssel in bestimmten Zeitintervallen ersetzen, um eine noch höhere Sicherheit zu erreichen. Dabei können unterschiedliche Schlüssellängen verwendet werden, und es können Schlüssel für unterschiedliche kryptographische Algorithmen generiert werden. Ebenso können verschiedenen Parameter zur Zweckbindung des erzeugten Schlüssels genutzt werden. Beispiels für Zweckbindung können neben Angaben zum Verfahren, mit dem der Schlüssel verwendet werden soll oder dessen Erzeugungszeitpunkt auch der Nutzungsbereich (geographisch, organisatorisch, gerätespezifisch) angewendet werden. As a result, for example, the first key can be replaced at certain time intervals in order to achieve even greater security. Different key lengths can be used and keys for different cryptographic algorithms can be generated. Likewise, various parameters can be used for earmarking the generated key. Examples of earmarking can be used in addition to information on the procedure with which the key is to be used or the time of its generation, as well as the area of use (geographical, organizational, device-specific).

Bei weiteren Ausführungsformen des Verfahrens wird der erste Schlüssel einmalig oder zu einem bestimmten Zeitpunkt festgelegt. In further embodiments of the method, the first key is determined once or at a specific time.

Damit der erste Schlüssel auf dem Sicherheitsmodul nicht von einem Unbefugten ersetzt wird, darf der erste Schlüssel nur einmalig oder zu einem bestimmten Zeitpunkt festgelegt werden. Beispielsweise kann der erste Schlüssel nur während des Fertigungsprozesses festgelegt werden und ist danach unveränderbar in einem lesegeschützten Speicher abgelegt. So that the first key on the security module is not replaced by an unauthorized person, the first key may only be specified once or at a specific time. For example, the first key can only be defined during the manufacturing process and is then stored immutable in a read-protected memory.

Bei weiteren Ausführungsformen des Verfahrens wird der erste Schlüssel insbesondere durch eine Initialisierungsnachricht festgelegt, und wobei die Initialisierungsnachricht insbesondere einen dem zu bildenden ersten Schlüssel zugeordneten öffentlichen Schlüssel enthält oder eine Anweisung diesen ersten Schlüssel durch das Sicherheitsmodul zu erzeugen In further embodiments of the method, the first key is determined in particular by an initialization message, and wherein the initialization message contains, in particular, a public key assigned to the first key to be formed, or an instruction to generate this first key by the security module

Um den ersten Schlüssel beispielsweise während der Fertigung oder bei der Konfiguration bei Inbetriebnahme des Sicherheitsmoduls festzulegen, wird dem Sicherheitsmodul eine Initialisierungsnachricht geschickt. Hierdurch lässt sich beispielsweise die Konfiguration des Sicherheitsmoduls vereinfachen, da dies vorzugsweise vollautomatisch während der Fertigung oder bei der Konfiguration bei Inbetriebnahme geschieht. In order to determine the first key, for example during production or during configuration when the security module is put into operation, an initialization message is sent to the security module. This makes it possible, for example, simplify the configuration of the security module, as this is preferably done fully automatically during production or during configuration at startup.

Bei weiteren Ausführungsformen des Verfahrens wird eine Prüfung durchgeführt, um festzustellen, ob das Sicherheitsmodul zum Erzeugen des mindestens einen Sicherheitsschlüssels berechtigt ist und es wird vorzugsweise die Prüfung mittels eines Zertifikats, das dem privaten primären Startwert oder dem mindestens einen Sicherheitsschlüssel zugeordnet ist, durchgeführt. In further embodiments of the method, a check is made to determine whether the security module is authorized to generate the at least one security key, and preferably the check is performed by means of a certificate associated with the private primary seed or the at least one security key.

Um beispielsweise Exportbeschränkungen von kryptographischen Geräten zu berücksichtigen, ist es oft notwendig, die erlaubte Schlüsselstärkte zu beschränken. Dies wird auf besonders einfache Weise erreicht, indem das Sicherheitsmodul über ein Zertifikat prüft, ob es zur Erzeugung von Sicherheitsschlüsseln mit bestimmten Parametern berechtigt ist. For example, to consider export restrictions of cryptographic devices, it is often necessary to limit the allowed key strengths. This is achieved in a particularly simple manner in that the security module checks via a certificate whether it is authorized to generate security keys with specific parameters.

Bei weiteren Ausführungsformen des Verfahrens wird der erste Schlüssel dauerhaft gespeichert, wobei der private primäre Startwert und/oder der mindestens eine Sicherheitsschlüssel dauerhaft oder temporär auf dem Sicherheitsmodul gespeichert werden. In further embodiments of the method, the first key is stored permanently, wherein the private primary start value and / or the at least one security key are permanently or temporarily stored on the security module.

Die Sicherheitsschlüssel und der private primäre Startwert müssen nur temporär gespeichert werden, da die Sicherheitsschlüssel und der private primäre Startwert aus dem ersten Schlüssel deterministisch und somit jederzeit wieder generierbar sind. Nur der erste Schlüssel muss dauerhaft gespeichert sein. Hierdurch wird eine hohe Sicherheit des Verfahrens erreicht, da der private primäre Startwert oder ein Sicherheitsschlüssel erzeugt werden, wenn diese gebraucht werden und danach wieder gelöscht werden. The security keys and the private primary seed only need to be temporarily stored because the security key and the private primary seed are from the first key deterministic and therefore can be generated again at any time. Only the first key must be stored permanently. As a result, a high security of the method is achieved because the private primary start value or a security key are generated when they are needed and then deleted again.

Bei weiteren Ausführungsformen des Verfahrens wird eine effektive Schlüssellänge für den privaten primären Startwert abhängig von einer ersten effektiven Schlüssellänge des ersten Schlüssels und/oder für den Sicherheitsschlüssel abhängig vom privaten primären Startwert berechnet, wobei insbesondere die erste effektive Schlüssellänge beim Festlegen des ersten Schlüssels erzeugt wird. In further embodiments of the method, an effective key length is calculated for the private primary seed value depending on a first effective key length of the first key and / or for the security key depending on the private primary seed value, in particular the first effective key length is generated when setting the first key.

Aus dem Stand der Technik ist der Begriff der effektiven Schlüssellänge bekannt. Hierunter ist zu verstehen, dass ein kryptographischer Schlüssel, der zu einem bestimmten Verfahren passt, eine bestimmte Länge und zugeordnete kryptographische Stärke aufweist. Insbesondere bei Verfahren mit öffentlichen Schlüsseln unterscheiden sich die tatsächlichen und die effektiven Schlüssellängen erheblich. Um den Sicherheitsanforderungen zu genügen, die ein Sicherheitsschlüssel erfüllen soll, wird die effektive Schlüssellänge für einen Sicherheitsschlüssel berechnet. Falls die effektive Schlüssellänge nicht ausreichend ist, kann beispielsweise ein Nutzer über eine Nachricht informiert werden und ein anderes Verfahren gewählt werden, um den Sicherheitsanforderungen zu genügen. The term of the effective key length is known from the prior art. By this is meant that a cryptographic key that matches a particular method has a certain length and associated cryptographic strength. In particular, in public key procedures, the actual and effective key lengths differ significantly. To satisfy the security requirements that a security key should meet, the effective key length for a security key is calculated. If the effective key length is not sufficient, for example, a user may be notified of a message and another method chosen to meet the security requirements.

Bei weiteren Ausführungsformen des Verfahrens weist das Verfahren einen zusätzlichen Verfahrensschritt auf, der die effektive Schlüssellänge mittels einer Schlüsselverwaltungsnachricht und/oder mit mindestens einem digitalen Zertifikat, das einem Sicherheitsschlüssel und/oder dem privaten primären Startwert zugeordnet ist, bereitstellt. In further embodiments of the method, the method has an additional method step, which provides the effective key length by means of a key management message and / or with at least one digital certificate which is assigned to a security key and / or the private primary start value.

Eine effektive Schlüssellänge kann auch von einem Nutzer abgefragt werden, damit sich dieser über den effektiven Schutz, den ein Sicherheitsschlüssel bietet, zu informieren. An effective key length can also be queried by a user to inform him of the effective protection a security key offers.

Bei weiteren Ausführungsformen des Verfahrens ist die erste Kryptofunktion eine Funktion für eine Erzeugung einer digitalen Signatur. In further embodiments of the method, the first crypto function is a function for generating a digital signature.

Wenn die erste Kryptofunktion eine Funktion für eine Erzeugung einer digitalen Signatur ist, so ist der private primäre Startwert eine digitale Signatur. Dies bietet den Vorteil, dass der private primäre Startwert zusätzlich weitere Informationen, beispielsweise die Urheberschaft oder einen Zeitstempel, enthält. If the first crypto function is a function for generating a digital signature, the private primary seed is a digital signature. This offers the advantage that the private primary start value additionally contains further information, for example authorship or a time stamp.

Bei weiteren Ausführungsformen des Verfahrens werden weitere erste Schlüssel mit unterschiedlichen effektiven Schlüssellängen bereitgestellt und eine Verwendung eines bestimmten ersten Schlüssels wird insbesondere über einen Parameter konfiguriert. In further embodiments of the method, further first keys with different effective key lengths are provided, and use of a specific first key is in particular configured via a parameter.

Um insbesondere zukünftigen Sicherheitsanforderungen zu berücksichtigen, ist es sinnvoll mehrere erste Schlüssel mit unterschiedlichen effektiven Schlüssellängen auf dem Sicherheitsmodul bereitzustellen. Beispielsweise kann es notwendig sein, dass in einigen Jahren asymmetrische Schlüssel beispielsweise für das RSA Verfahren mit einer Schlüssellänge von 8192 Bit gefordert sind. In order to take particular account of future security requirements, it makes sense to provide several first keys with different effective key lengths on the security module. For example, it may be necessary in some years to require asymmetric keys, for example, for the RSA method with a key length of 8192 bits.

Gemäß einem weiteren Aspekt betrifft die Erfindung ein Sicherheitsmodul zur Erzeugen von mindestens einem Sicherheitsschlüssel aus einem privaten primären Startwert für mindestens ein Kryptoverfahren. Das Sicherheitsmodul weist einen ersten Speicher, eine erste Erzeugungseinrichtung und eine zweite Erzeugungseinrichtung auf. Der erste Speicher speichert einen ersten Schlüssel. Die erste Erzeugungseinrichtung berechnet deterministisch einen privaten primären Startwert mittels einer ersten Kryptofunktion aus dem ersten Schlüssel. Die zweite Erzeugungseinrichtung erzeugt den mindestens einen Sicherheitsschlüssel aus dem privaten primären Startwert für das mindestens eine Kryptoverfahren. In another aspect, the invention relates to a security module for generating at least one security key from a private primary seed for at least one crypto method. The security module has a first memory, a first generation device and a second generation device. The first memory stores a first key. The first generating means deterministically calculates a private primary seed by means of a first crypto function from the first key. The second generation device generates the at least one security key from the private primary start value for the at least one crypto method.

Das Sicherheitsmodul erlaubt es langfristig Sicherheitsaspekte zu berücksichtigen. Hierzu werden einem Nutzer über das Sicherheitsmodul eine Vielzahl von Sicherheitsschlüsseln, beispielsweise privaten Schlüssel, für unterschiedliche Kryptoverfahren, beispielsweise unterschiedliche Kryptoalgorithmen und/oder Schlüssellängen, bereitgestellt. Stellt sich beispielsweise heraus, dass ein Kryptoalgorithmus und/oder eine bisher genutzte Schlüssellänge keinen ausreichenden Schutz mehr bietet, kann einfach ein anderer Kryptoalgorithmus und/oder eine andere Schlüssellänge verwendet werden, ohne den privaten primären Startwert einrichten oder ändern zu müssen. Damit ist die Erfindung beispielsweise auch bei Vorrichtungen anwendbar, die – im Gegensatz zu einem TPM2-Sicherheitsmodul – nicht über einen fest vom Hersteller vorbereiteten geheimen privaten Plattformstartwert(private primary seed) verfügen. Durch die Erfindung wird ermöglicht, ausgehend von einem geheimen kryptographischen Schlüssel einen geheimen privaten Plattformstartwert zu bilden, aus dem private Schlüssel für unterschiedliche kryptographische Verfahren bildbar sind. Eine solche Funktionalität ist beispielsweise über eine Firmware-Aktualisierung somit für Geräte nachrüstbar, obwohl sie nicht über einen Speicher für einen geheimen privaten Plattformstartwert verfügen, der den geheimen privaten Plattformstartwert diese Plattform enthält. The security module allows for long-term security aspects to be considered. For this purpose, a plurality of security keys, for example private keys, for different crypto methods, for example different crypto algorithms and / or key lengths, are made available to a user via the security module. For example, if it turns out that a cryptoalgorithm and / or a previously used key length no longer offers sufficient protection, another cryptoalgorithm and / or key length can easily be used without having to set up or change the private primary seed. Thus, the invention is also applicable, for example, in devices that - in contrast to a TPM2 security module - do not have a secret private platform seed prepared by the manufacturer (private primary seed). The invention makes it possible, starting from a secret cryptographic key, to form a secret private platform start value, from which private keys can be formed for different cryptographic methods. Such functionality, for example, can be retrofitted to devices via a firmware update, even though they do not have a secret private platform boot memory that contains the secret private platform boot value that platform.

Bei einer ersten Ausführungsform des Sicherheitsmoduls weist der erste Speicher einen Schutzmechanismus auf, sodass dieser nur vom Sicherheitsmodul lesbar ist und der erste Speicher insbesondere ein erster dauerhafter Speicher ist. In a first embodiment of the security module, the first memory has a protective mechanism so that it can only be read by the security module and the first memory is in particular a first permanent memory.

Durch das Ablegen des ersten Schlüssels in einem lesegeschützten Speicher ist dieser insbesondere vor unbefugtem Zugriff geschützt. Folglich lässt sich die Sicherheit des Sicherheitsmoduls erhöhen, da der erste Schlüssel, von dem alle anderen Schlüssel abgeleitet werden, nicht ausgelesen werden kann. By storing the first key in a read-protected memory this is particularly protected against unauthorized access. Consequently, the security of the security module can be increased because the first key from which all other keys are derived can not be read out.

Bei weiteren Ausführungsformen des Sicherheitsmoduls weist das Sicherheitsmodul einen zweiten Speicher auf, der permanent oder temporär ausgebildet ist und der mindestens einen Sicherheitsschlüssel und/oder den privaten primären Startwert enthält. In further embodiments of the security module, the security module has a second memory which is permanent or temporary and which contains at least one security key and / or the private primary start value.

Die Sicherheitsschlüssel und der private primäre Startwert müssen nur temporär gespeichert werden, da die Sicherheitsschlüssel und der private primäre Startwert aus dem ersten Schlüssel jederzeit wieder generierbar sind. Nur der erste Schlüssel muss dauerhaft gespeichert sein. Hierdurch wird eine hohe Sicherheit des Verfahrens erreicht, da der private primäre Startwert oder ein Sicherheitsschlüssel erzeugt werden, wenn diese gebraucht werden und danach wieder gelöscht werden. Insbesondere wird nur ein relativ kleiner nichtflüchtiger, sicherer Speicherbereich benötigt. Dieser kann z.B. eine Größe von 128 Bit, 256 Bit, 384 Bit, 512 Bit aufweisen. Durch die Erfindung kann daraus nicht nur eine Vielzahl von Schlüsseln gebildet werden, sondern es können auch Schlüssel mit großer Schlüssellänge, z.B. private RSA-Schlüssel mit 4000 oder 8000 Bit Schlüssellänge sicher gebildet werden. Der sichere Schlüsselspeicher kann z.B. als Flash-Speicher, als Security Fuse, als Physical Unclonable Function mit Fuzzy Key Extractor ausgestaltet sein. Im Gegensatz zu einem mit einem Master-Schlüssel verschlüsselten Schlüsselspeicher (key store), z.B. ein PKCS#12 Key Store oder ein Java Key Store, kann ein Schlüssel erfindungsgemäß direkt gebildet werden, ohne zuerst eine Key Store Datenstruktur von einen weiteren Datenspeicher laden und diese entschlüsseln zu müssen. Damit ist die Erfindung insbesondere auch dann anwendbar, wenn kein zusätzlicher Speicherbereich vorliegt, in dem eine Schlüsselspeicher-Datenstruktur ablegbar ist. Beispiele sind programmierbare Digitalbausteine wie FPGAs oder Mikrocontroller mit begrenztem, nicht flüchtigem Speicher. The security keys and private primary seed only need to be temporarily stored because the security key and private primary seed from the first key can be regenerated at any time. Only the first key must be stored permanently. As a result, a high security of the method is achieved because the private primary start value or a security key are generated when they are needed and then deleted again. In particular, only a relatively small non-volatile, secure memory area is needed. This can e.g. have a size of 128 bits, 256 bits, 384 bits, 512 bits. Not only can a multiplicity of keys be formed from the invention, but also keys with a large key length, e.g. private RSA keys with 4000 or 8000 bit key length are securely formed. The secure keystore may be e.g. be designed as a flash memory, as a security fuse, as a physical unclonable function with fuzzy key extractor. In contrast to a master key encrypted key store, e.g. a PKCS # 12 key store or a Java key store, a key can be formed directly according to the invention without first loading a key store data structure from another data store and having to decrypt it. Thus, the invention is particularly applicable even if there is no additional memory area in which a key memory data structure can be stored. Examples are programmable digital devices such as FPGAs or microcontrollers with limited, non-volatile memory.

Bei weiteren Ausführungsformen des Sicherheitsmoduls weist das Sicherheitsmodul eine Berechnungseinrichtung auf, die eine effektive Schlüssellänge für den privaten primären Startwert abhängig von einer ersten effektiven Schlüssellänge des ersten Schlüssels und/oder für den mindestens einen Sicherheitsschlüssel abhängig vom privaten primären Startwert berechnet, wobei insbesondere die erste effektive Schlüssellänge beim Speichern des ersten Schlüssels mitgespeichert wird. In further embodiments of the security module, the security module has a calculation device that calculates an effective key length for the private primary start value depending on a first effective key length of the first key and / or for the at least one security key depending on the private primary seed value, wherein in particular the first effective Key length stored when saving the first key.

Bei weiteren Ausführungsformen des Sicherheitsmoduls weist das Sicherheitsmodul eine erste Bereitstellungseinrichtung auf, welche die effektiven Schlüssellänge mittels einer Schlüsselverwaltungsnachricht und/oder mit mindestens einem digitalen Zertifikat, das einem Sicherheitsschlüssel und/oder dem privaten primären Startwert zugeordnet ist, bereitstellt. In further embodiments of the security module, the security module has a first provisioning device, which provides the effective key length by means of a key management message and / or with at least one digital certificate that is assigned to a security key and / or the private primary start value.

Desweiteren wird ein Computerprogrammprodukt beansprucht, mit Programmbefehlen zur Durchführung des genannten erfindungsgemäßen Verfahrens sowie ein Datenträger, der das Computerprogrammprodukt speichert. Ein solcher Datenträger beziehungsweise ein solches Computerprogrammprodukt kann in einem System eingelesen werden und Programmbefehle ausführen, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird. Furthermore, a computer program product is claimed, with program instructions for carrying out said method according to the invention as well as a data carrier which stores the computer program product. Such a data carrier or such a computer program product can be read in a system and execute program instructions, so that the method according to the invention is executed on a computer.

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 Figuren näher erläutert werden. Dabei zeigen: The above-described characteristics, features, and advantages of this invention, as well as the manner in which they are achieved, will become clearer and more clearly understood in connection with the following description of the embodiments, which will be described in connection with the figures. Showing:

1 ein Ablaufdiagramm der Verfahrensschritte zur Ausführung des Verfahrens gemäß einem ersten Ausführungsbeispiel; und 1 a flowchart of the method steps for carrying out the method according to a first embodiment; and

2 eine schematische Darstellung eines Sicherheitsmoduls gemäß einem zweiten Ausführungsbeispiel. 2 a schematic representation of a security module according to a second embodiment.

In den Figuren sind funktionsgleiche Elemente mit denselben Bezugszeichen versehen, sofern nichts anderes angegeben ist. In the figures, functionally identical elements are provided with the same reference numerals, unless stated otherwise.

1 ist ein Ablaufdiagramm der Verfahrensschritte zur Ausführung des Verfahrens gemäß einem ersten Ausführungsbeispiel. 1 is a flowchart of the method steps for carrying out the method according to a first embodiment.

Die Erfindung betrifft ein Verfahren, das einen privaten primären Startwert aus einem vorhandenen Schlüssel, beispielsweise einem symmetrischen kryptographischen Schlüssel, ein asymmetrisches Schlüsselpaar oder eine Seriennummer, deterministisch erzeugt. Dabei ist unter deterministisch zu verstehen, dass der private primäre Startwert aus dem ersten Schlüssel eindeutig reproduzierbar erzeugbar ist. Mit anderen Worten kann der private primäre Startwert gelöscht werden und unter Kenntnis der Kryptofunktion, die beim Erzeugen des privaten primäre Startwertes verwendet wurde, kann der gleiche private primäre Startwert erneut erzeugt werden. Der private primäre Startwert wird also im Gegensatz zum privaten Plattformstartwert in TPM 2.0 nicht zufällig erzeugt und gespeichert. The invention relates to a method that deterministically generates a private primary seed from an existing key, such as a symmetric cryptographic key, an asymmetric key pair, or a serial number. In this case, deterministic means that the private primary starting value from the first key can be generated in a clearly reproducible manner. In other words, the private primary seed can be deleted and under note the crypto function used in generating the private primary seed, the same private primary seed may be recreated. Thus, unlike the private platform seed in TPM 2.0, the private primary seed is not randomly generated and saved.

Zunächst wird in einem ersten Verfahrensschritt 110 für ein Gerät, beispielsweise ein Sicherheitsmodul, ein erster Schlüssel festgelegt. Dieser erste Schlüssel wird über eine Generierungsfunktion, beispielsweise eine symmetrische oder asymmetrische Kryptofunktion, erzeugt oder es wird eine Seriennummer des Sicherheitsmoduls verwenden. Hierzu wird dem Gerät beispielsweise über eine Schnittstelle eine Initialisierungsnachricht geschickt. Die Initialisierungsnachricht enthält beispielsweise entweder den ersten Schlüssel selbst oder eine Anweisung für das Sicherheitsmodul den ersten Schlüssel zu erstellen. Nachdem der erste Schlüssel dem Sicherheitsmodul bekannt ist, speichert dieses den ersten Schlüssel beispielsweise in einem ersten Speicher dauerhaft. Dieser erste Speicher ist beispielsweise mit meinem Schutzmechanismus ausgestattet, sodass nur das Sicherheitsmodul auf diesen ersten Speicher zugreifen kann. Ein Beispiel sind sogenannte „Security Fuses“ oder OTP-Speicher (one time programmable), die einmalig mit einem z.B. 128 Bit großen Schlüssel beschreibbar sind. First, in a first process step 110 for a device, such as a security module, a first key is set. This first key is generated via a generation function, such as a symmetric or asymmetric crypto function, or it will use a serial number of the security module. For this purpose, an initialization message is sent to the device, for example via an interface. For example, the initialization message includes either the first key itself or an instruction for the security module to create the first key. After the first key is known to the security module, it stores the first key permanently, for example in a first memory. For example, this first memory is equipped with my protection mechanism, so only the security module can access that first memory. One example is so-called "security fuses" or OTP memories (one-time programmable), which can be written once with a key, for example 128-bit.

In einem Verfahrensschritt 120 wird mittels einer ersten Kryptofunktion ein privater primärer Startwert (engl. private primary seed), beispielsweise eine pseudozufällige Bytefolge bestimmt. Als erste Kryptofunktion sind unterschiedlichste Verfahren einsetzbar. Beispielsweise können Verfahren zur symmetrischen und asymmetrischen Verschlüsselung und Entschlüsselung, Schlüsselableitung, Signaturberechnung, Prüfsummenberechnung und Hash-Wert-Berechnung verwendet werden. Als Schlüsselableitungsfunktionen sind beispielsweise die Verfahren HMAC-SHA256 (Keyed-Hash Message Authentication Code – Secure Hash Algorithm) oder PBKDF2 (Password-Based Key Derivation Function 2) bekannt. In one process step 120 For example, a private primary seed (private primary seed), for example a pseudo-random byte sequence, is determined by means of a first crypto function. As the first crypto function a variety of methods can be used. For example, methods for symmetric and asymmetric encryption and decryption, key derivation, signature computation, checksum computation and hash value computation can be used. Key derivation functions include, for example, the methods HMAC-SHA256 (Keyed Hash Message Authentication Code - Secure Hash Algorithm) or PBKDF2 (Password Based Key Derivation Function 2).

Dabei können optional ein Zählerwert und/oder ein Zweckbestimmungsparameter in diese Berechnung eingehen. Dies ist beispielsweise:

  • – ein Algorithmenidentifizierer des Sicherheitsschlüssels, der aus dem privaten primären Startwert abgeleitet bzw. gebildet werden soll,
  • – ein Algorithmenidentifizierer des vorhandenen ersten Schlüssels,
  • – ein Erzeugungszeitpunkt des privaten primären Startwertes,
  • – ein Erzeugungszeitpunkt des zugrundeliegenden privaten Schlüssels,
  • – das erzeugende Kryptoverfahren und Schlüssellänge,
  • – Modulparameter, wie beispielsweise ein Identifizierer des Sicherheitsmoduls,
  • – Scope im Sinne von organisatorischer oder auch geographischer Zuordnung und/oder
  • – ein Zweck im Sinne von Zweckbindung für die Verwendung des Schlüssels.
Optionally, a counter value and / or a purpose determination parameter can be included in this calculation. This is for example:
  • An algorithm identifier of the security key to be derived from the private primary seed,
  • An algorithm identifier of the existing first key,
  • A generation time of the private primary start value,
  • A generation date of the underlying private key,
  • The generating crypto process and key length,
  • Module parameters, such as an identifier of the security module,
  • Scope in the sense of organizational or geographical allocation and / or
  • - a purpose in the sense of earmarking for the use of the key.

Die Zeitangaben können dabei genau, beispielsweise als Datum und Uhrzeit, oder grob, beispielsweise nur als Jahr, angegeben sein. Abhängig von diesen Informationen kann der Zweckbestimmungsparameter gebildet werden. Ein Zweckbestimmungsparameter kann auch durch eine Zeichenkette oder einen numerischen Code gegeben sein oder einen solchen umfassen. Dadurch können unterschiedliche Verwendungszwecke aufgezählt werden, z.B. Firmware-Entschlüsselung, Geräteauthentisierung, SSL/TLS-Kommunikationsverschlüsselung, Wartungszugang. The times can be exactly, for example, as date and time, or coarse, for example, only as a year, be specified. Depending on this information, the purposeing parameter may be formed. A purposeing parameter may also be given by or include a character string or a numeric code. Thereby, different uses can be enumerated, e.g. Firmware decryption, device authentication, SSL / TLS communication encryption, maintenance access.

In einem Verfahrensschritt 130 wird der private primäre Startwert verwendet um mindestens einen Sicherheitsschlüssel, beispielsweise einen kryptographischen Schlüssel, für mindestens ein symmetrisches Kryptoverfahren, beispielsweise AES-GMAC (Advanced Encryption Standard – Galois Message Authentication Code), oder asymmetrisches Kryptoverfahren, beispielsweise RSA (Rivest, Shamir and Adleman) oder ECDSA (Elliptic Curve Digital Signature Algorithm), zu bestimmen. Beispielsweise ist es mit dem erfindungsgemäßen Verfahren möglich, symmetrische Schlüssel, von asymmetrischen Schlüsseln abzuleiten oder asymmetrische Schlüssel von symmetrischen. Es kann beispielsweise zunächst ein privater primärer Startwert in Form eines symmetrischen Schlüssels mittels eines symmetrischen Verfahrens bestimmen werden, um dann aus dem symmetrischen Schlüssel einen Sicherheitsschlüssel in Form eines asymmetrischen Schlüssels zu bestimmen. Der private primäre Startwert selbst verlässt dabei vorzugsweise nicht das Gerät, beispielsweise ein Sicherheitsmodul, sondern wird selbst nur zur Erzeugung weiterer Sicherheitsschlüssel, beispielsweise kryptographischer Schlüssel, innerhalb des Sicherheitsmoduls genutzt. In one process step 130 the private primary seed is used for at least one security key, for example a cryptographic key, for at least one symmetric crypto-method, for example AES-GMAC (Advanced Encryption Standard - Galois Message Authentication Code), or asymmetric crypto-method, for example RSA (Rivest, Shamir and Adleman) or ECDSA (Elliptic Curve Digital Signature Algorithm). For example, with the method according to the invention it is possible to derive symmetric keys from asymmetric keys or asymmetrical keys from symmetrical keys. For example, a private primary starting value in the form of a symmetric key can first be determined by means of a symmetrical method in order then to determine from the symmetric key a security key in the form of an asymmetrical key. The private primary starting value itself preferably does not leave the device, for example a security module, but is itself used only for generating further security keys, for example cryptographic keys, within the security module.

Mit anderen Worten, kann eine Schlüsselableitung realisiert werden, bei der aus einem kryptographischen Schlüssel für ein erstes asymmetrisches Kryptoverfahren ein privater Schlüssel für ein zweites, unterschiedliches asymmetrisches Kryptoverfahren deterministisch bestimmt wird. Auch ist eine Schlüsselableitung möglich, bei der aus einem symmetrischen Schlüssel ein privater Schlüssel für ein asymmetrisches Kryptoverfahren erzeugt wird. In other words, a key derivation can be realized in which, from a cryptographic key for a first asymmetric crypto-method, a private key for a second, different asymmetric crypto-method is determined deterministically. A key derivation is also possible in which a symmetric key is used to generate a private key for an asymmetric crypto procedure.

Aus dem Stand der Technik ist der Begriff der effektiven Schlüssellänge bekannt. Hierunter ist zu verstehen, dass ein kryptographischer Schlüssel, der zu einem bestimmten Verfahren passt, eine bestimmte Länge und zugeordnete kryptographische Stärke aufweist. Insbesondere bei Verfahren mit öffentlichen Schlüsseln unterscheiden sich die tatsächlichen und die effektiven Schlüssellängen erheblich. The term of the effective key length is known from the prior art. By this is meant that a cryptographic key that matches a particular procedure, one has certain length and associated cryptographic strength. In particular, in public key procedures, the actual and effective key lengths differ significantly.

Daher wird weiterhin vorgeschlagen, die effektive Schlüssellänge eines abgeleiteten privaten primären Startwertes und/oder eines daraus abgeleiteten Sicherheitsschlüssels zu ermitteln und dem privaten primären Startwert bzw. dem Sicherheitsschlüssels zuzuordnen. Die Information über die effektive Schlüssellänge eines Schlüssels kann bei einer Schlüsselverwaltungsnachricht oder als Teil eines digitalen Zertifikats bereitgestellt werden. So kann beispielsweise beim Bestimmen eines privaten primären Startwertes aus einem privaten 2048 Bit RSA-Schlüssel die Information ermittelt werden, beispielsweise über eine Tabelle oder eine Rechenvorschrift, dass dies einer effektiven Schlüssellänge von 112 Bit entspricht. Wenn aus diesem privaten primären Startwert nun ein privater ECC-Schlüssel (Elliptic Curve Cryptography Key) mit 256 Bit abgeleitet wird, so kann diesem die Information zugeordnet werden, dass er eine effektive Schlüssellänge von lediglich 112 Bit aufweist und nicht 128 Bit wie bei einem direkt erzeugten ECC-Schlüssel von 256 Bit). Therefore, it is further proposed to determine the effective key length of a derived private primary start value and / or a security key derived therefrom and to associate it with the private primary start value or the security key. The information about the effective key length of a key may be provided in a key management message or as part of a digital certificate. Thus, for example, when determining a private primary seed from a private 2048-bit RSA key, the information may be determined, for example via a table or computational rule, that this corresponds to an effective key length of 112 bits. If a private elliptic curve cryptographic key (ECC) with 256 bits is derived from this private primary seed, it can be assigned the information that it has an effective key length of only 112 bits and not 128 bits as in a direct one generated ECC key of 256 bits).

Darüber hinaus besteht die Möglichkeit durch eine Authentisierung des Gerätes zu prüfen, ob es zur Erzeugung von weiteren Sicherheitsschlüsseln berechtigt ist. Auch lässt sich beispielsweise prüfen, ob zur Erzeugung des Sicherheitsschlüssels nur bestimmte Kryptoverfahren zugelassen sind. Dies ist beispielsweise dadurch möglich, dass das Gerät aus dem privaten primären Startwert den Sicherheitsschlüssel, beispielsweise einen weiteren privaten Schlüssel, ableitet. Im Einzelnen kann so eine Prüfung unter Verwendung des privaten primären Startwertes oder des Sicherheitsschlüssels stattfinden. In addition, it is possible to check by means of an authentication of the device whether it is authorized to generate further security keys. It is also possible, for example, to check whether only certain crypto methods are permitted to generate the security key. This is possible, for example, because the device derives the security key, for example another private key, from the private primary start value. Specifically, such a check may take place using the private primary seed or security key.

So kann beispielsweise ein Zertifikat für den öffentlichen Schlüssel, der dem privaten primären Startwertes zugeordnet ist, nur dann ausgestellt werden, wenn mit dem ersten Schlüssel eine dem öffentlichen Schlüssel zugeordneten Information kryptographisch geschützt ist. Mit anderen Worten bedeutet das, dass mit dem ersten Schlüssel ein Certificate Signing Request für den neuen öffentlichen Schlüssel signiert wird. For example, a certificate for the public key associated with the private primary seed can only be issued if the first key has cryptographically protected information associated with the public key. In other words, this means that the first key signs a Certificate Signing Request for the new public key.

2 ist eine schematische Darstellung eines Sicherheitsmoduls 200 gemäß einem zweiten Ausführungsbeispiel. 2 is a schematic representation of a security module 200 according to a second embodiment.

Das Sicherheitsmodul 200 weist eine allgemeine Erzeugungseinrichtung 220, eine Schnittstelle 230, einen ersten Speicher 240 und einen zweiten temporären Speicher 250 und einen dritten Speicher 260 auf. Die allgemeine Erzeugungseinrichtung 220, die Schnittstelle 230, der erste Speicher 240, der zweite temporäre Speicher 250 und der dritte Speicher 260 sind über einen Datenbus 270 miteinander verbunden. The security module 200 has a general generator 220 , an interface 230 , a first store 240 and a second temporary memory 250 and a third memory 260 on. The general generation device 220 , the interface 230 , the first memory 240 , the second temporary storage 250 and the third memory 260 are over a data bus 270 connected with each other.

Bevor das Sicherheitsmodul 200 verwendet werden kann, wird mittels einer Festlegeeinrichtung 210 eine Initialisierungsnachricht über die Schnittstelle 230 an das Sicherheitsmodul 200 übermittelt. Die Initialisierungsnachricht kann beispielsweise einen ersten Schlüssel aufweisen oder eine Anweisung enthalten, damit eine Steuereinrichtung mittels einer Generierungsfunktion unter Verwendung der allgemeinen Erzeugungseinrichtung 220, beispielsweise mit einem ersten Kryptoverfahren, den ersten Schlüssel erzeugt. Der erste Schlüssel ist dabei vorzugsweise geheim und nur dem Sicherheitsmodul 200 bekannt. Die allgemeine Erzeugungseinrichtung 220 weist eine erste Erzeugungsrichtung 224 und eine zweite Erzeugungseinrichtung 228 auf. Die allgemeine Erzeugungseinrichtung 220 verfügt dabei über eine Vielzahl von Kryptoverfahren die über Kryptofunktionen bereitgestellt werden. Mit anderen Worten weist die allgemeine Erzeugungseinrichtung 220 einen Pool von Kryptoverfahren auf, aus denen die erste Erzeugungseinrichtung 224 und die zweite Erzeugungseinrichtung 228 eine spezifische Kryptofunktion selektieren können, um ein bestimmtes Kryptoverfahren zu nutzen. Before the security module 200 can be used is by means of a fixing device 210 an initialization message via the interface 230 to the security module 200 transmitted. The initialization message may, for example, comprise a first key or contain an instruction for a control device to generate by means of a generation function using the general generation device 220 For example, with a first crypto method, generates the first key. The first key is preferably secret and only the security module 200 known. The general generation device 220 has a first generation direction 224 and a second generating means 228 on. The general generation device 220 has a large number of crypto-processes that are provided via crypto-functions. In other words, the general generation device 220 a pool of crypto processes on which the first generation facility 224 and the second generating means 228 be able to select a specific crypto function to use a particular crypto-method.

Ist der erste Schlüssel festgelegt, wird er im ersten Speicher 240 vorzugsweise dauerhaft abgelegt. Dieser erste Speicher 240 ist durch einen Sicherheitsmechanismus geschützt, sodass nur das Sicherheitsmodul 200 auf diesen Speicher zugreifen kann. Ein Auslesen des ersten Speichers 240 wird durch den Sicherheitsmechanismus verhindert. If the first key is set, it will be in the first memory 240 preferably stored permanently. This first store 240 is protected by a security mechanism, so only the security module 200 can access this memory. A readout of the first memory 240 is prevented by the safety mechanism.

Ist der erste Schlüssel im ersten Speicher 240 abgelegt, ist das Sicherheitsmodul 200 initialisiert und es kann ein privater primärer Startwert unter Verwendung der ersten Erzeugungseinrichtung 224 und des ersten Schlüssels erzeugt werden. Hierzu wählt die erste Erzeugungseinrichtung 224 eine erste Kryptofunktion und verwendet den ersten Schlüssel als Initialisierungsparameter und erzeugt eine pseudozufällige Bytefolge, die als privater primärer Startwert verwendet wird. Is the first key in the first store 240 filed, is the security module 200 initializes and may be a private primary seed using the first generator 224 and the first key. For this purpose, the first generation device selects 224 a first crypto function and uses the first key as the initialization parameter and generates a pseudo-random byte sequence that is used as a private primary seed.

Das Sicherheitsmodul 200 kann hierbei unterschiedlich über einen oder mehrere Parameter konfiguriert sein. Es ist beispielsweise möglich, dass die Parameter über eine Lizenz oder eine Konfiguration festlegen, welche Kryptoverfahren generell zugelassen sind. Es kann beispielsweise auch festgelegt werden, welche minimalen effektiven Schlüssellängen und/oder welche maximalen effektiven Schlüssellängen bereitgestellt werden. Hierzu können mehrere erste Schlüssel mit jeweils einer unterschiedlichen effektiven Schlüssellänge in dem ersten Speicher 240 abgelegt werden. Bei der Erzeugung des privaten primären Startwertes wird dann der erste Schlüssel gewählt, der den Anforderungen der Lizenz oder Konfiguration genügt. Es können auch mehrere private primäre Startwerte erzeugt werden, die jeweils unterschiedliche effektive Schlüssellängen unterstützen. The security module 200 can be configured differently via one or more parameters. For example, it is possible for the parameters to specify via a license or configuration which crypto-proxy methods are generally allowed. For example, it may also be determined which minimum effective key lengths and / or which maximum effective key lengths are provided. For this purpose, a plurality of first key, each having a different effective key length in the first Storage 240 be filed. When the private primary seed is generated, the first key is then selected that meets the requirements of the license or configuration. You can also create multiple private primary seeds that each support different effective key lengths.

Ähnlich verhält es sich beim Festlegen des ersten Schlüssels. Enthält die Initialisierungsnachricht eine Anweisung zum Erstellen eines Schlüssels mit einer effektiven Schlüssellänge oder von mehreren ersten Schlüsseln mit unterschiedlichen Schlüssellängen, so geschieht dies nur mit Kryptoverfahren, die durch die Lizenz autorisiert sind und die entsprechenden effektiven Schlüssellängen bereitstellen können. Mit anderen Worten enthält die Initialisierungsnachricht beispielsweise Anforderungen, die bei der Erstellung des ersten Schlüssels, des privaten primären Startwertes und/oder bei Sicherheitsschlüsseln zu berücksichtigen sind, soweit dies von einer vorhandenen Lizenz oder Konfiguration erlaubt ist. The same is true when setting the first key. If the initialization message contains an instruction to create a key having an effective key length or of a plurality of first keys having different key lengths, this is done only with crypto-methods that are authorized by the license and can provide the appropriate effective key lengths. In other words, the initialization message includes, for example, requirements to be considered when creating the first key, the private primary seed, and / or security keys, as permitted by an existing license or configuration.

Diese Lizenz oder Konfiguration kann beispielsweise durch eine weitere Initialisierungsnachricht auf das Sicherheitsmodul 200 übertragen werden. Es ist aber auch möglich, dass die Lizenz oder Konfiguration erst bei der Erzeugung des privaten primären Startwertes benötigt wird und somit auch mit der Initialisierungsnachricht übertragen werden kann. This license or configuration, for example, by another initialization message to the security module 200 be transmitted. But it is also possible that the license or configuration is required only when the private primary start value is generated and thus can also be transmitted with the initialization message.

Soll das Sicherheitsmodul 200 einen Sicherheitsschlüssel für ein oder mehrere Kryptoverfahren bereitstellen, so erhält das Sicherheitsmodul eine entsprechende Anforderung über die Schnittstelle 230. Die zweite Erzeugungseinrichtung 228 erzeugt dann unter Verwendung des privaten primären Startwertes und des entsprechenden Kryptoverfahrens einen Sicherheitsschlüssel. Werden Sicherheitsschlüssel für unterschiedliche Verfahren oder für unterschiedliche effektive Schlüssellängen angefordert, erzeugt die zweite Erzeugungseinrichtung 228 die entsprechenden Sicherheitsschlüssel unter Verwendung der angeforderten Kryptoverfahren durch die Auswahl eines privaten primären Startwertes, der über die geforderte effektive Schlüssellänge verfügt. Should the security module 200 provide a security key for one or more cryptographic methods, the security module receives a corresponding request via the interface 230 , The second generation device 228 then generates a security key using the private primary seed and corresponding crypto procedure. If security keys are requested for different methods or for different effective key lengths, the second generation device generates 228 the appropriate security keys using the requested cryptographic methods by selecting a private primary seed that has the required effective key length.

Ist der Sicherheitsschlüssel erzeugt worden kann dieser beispielsweise über die Schnittstelle oder einer weiteren Bereitstellungseinrichtung einem Nutzer oder einen anderen Gerät bereitgestellt werden. If the security key has been generated, it can be provided to a user or another device, for example, via the interface or another provisioning device.

Auch die Erzeugung der Sicherheitsschlüssel kann wie oben erläutert über Parameter, die in einer Lizenz oder Konfiguration enthalten sind, autorisiert und/oder festgelegt werden. Also, the generation of the security keys may be authorized and / or established via parameters included in a license or configuration as discussed above.

Sind der/die Sicherheitsschlüssel erzeugt, werden diese beispielsweise über die Schnittstelle 230 bereitgestellt. If the security key (s) are generated, these are sent via the interface, for example 230 provided.

Die Sicherheitsschlüssel und/oder der private primäre Startwert können je nach Konfiguration in einem dritten Speicher 260 persistent abgelegt werden oder in den temporären Speicher 250 abgelegt werden. Falls die Sicherheitsschlüssel und/oder der private primäre Startwert im temporären Speicher 250 abgelegt sind, so wird dadurch die Sicherheit des Verfahrens und des Sicherheitsmoduls 200 weiter erhöht, da bei einem Stromausfall oder nach Ausschalten des Sicherheitsmoduls 200 diese Informationen nicht mehr existieren. Wird das Sicherheitsmodul 200 wieder ordnungsgemäß in Betrieb genommen, so erzeugt das Sicherheitsmodul 200 deterministisch den privaten primären Startwert und die Sicherheitsschlüssel erneut aus dem ersten Schlüssel. The security keys and / or the private primary seed may be in a third memory, depending on the configuration 260 be stored persistently or in the temporary memory 250 be filed. If the security key and / or the private primary seed in temporary memory 250 the security of the procedure and the security module 200 further increased, as in a power failure or after switching off the security module 200 this information does not exist anymore. Will the security module 200 Once again properly commissioned, the security module generates 200 Determine the private primary seed and the security key again from the first key.

In einer Variante der Ausführungsbeispiele beinhaltet die Initialisierungsnachricht ein digitales Zertifikat. Das Sicherheitsmodul verfügt über einen dem Zertifikat zugehörigen Schlüssel. Der einem Zertifikat zugeordnete Schlüssel ist insbesondere ein öffentlicher Schlüssel, mit dem die Signatur eines Zertifikates prüfbar ist. Die Initialisierungsnachricht wird durch das Sicherheitsmodul nur akzeptiert, wenn eine Prüfung des Zertifikats der Initialisierungsnachricht durch das Sicherheitsmodul mittels des zugehörigen Schlüssels erfolgreich war. Ist diese Initialisierungsnachricht gültig so wird der erste Schlüssel festgelegt. Der erste Schlüssel wird beispielsweise aus dem privaten primären Startwertes gebildet, wobei zumindest ein vom Zertifikat abhängiger Parameter in die Bildung eingeht. Beispiele für Parameter sind hier die Schlüssellänge und/oder Kryptoalgorithmus des öffentlichen Schlüssels, der durch das Zertifikat bestätigt wird, die Gültigkeitsdauer des Zertifikates, der Kryptoalgorithmus zur Signatur des Zertifikates oder weitere im Zertifikat enthaltene Attribute. Wahlweise wird ein im Speicher hinterlegter Schlüssel mit einem neuen Wert aktualisiert, der entsprechend aus dem privaten primären Startwertes gebildete Schlüssel, der abhängig vom Zertifikat gebildet wurde. Zusätzlich kann auch eine Lizenz und/oder eine Konfiguration mit der Initialisierungsnachricht übermittelt werden, die angibt welche Kryptoverfahren verwendbar sind und/oder Anforderungen hinsichtlich der effektiven Schlüssellänge vorgibt. In a variant of the embodiments, the initialization message includes a digital certificate. The security module has a key associated with the certificate. The key assigned to a certificate is in particular a public key with which the signature of a certificate can be tested. The initialization message is accepted by the security module only if a check of the certificate of the initialization message by the security module using the associated key was successful. If this initialization message is valid, the first key is set. The first key is formed, for example, from the private primary start value, wherein at least one parameter dependent on the certificate is included in the formation. Examples of parameters here are the key length and / or cryptoalgorithm of the public key, which is confirmed by the certificate, the validity period of the certificate, the cryptoalgorithm for the signature of the certificate or further attributes contained in the certificate. Optionally, a key stored in memory is updated with a new value, the key formed from the private primary seed value, which was formed depending on the certificate. In addition, a license and / or a configuration can also be communicated with the initialization message, which specifies which cryptographic methods are usable and / or specifies requirements with regard to the effective key length.

In einer weiteren Variante der Ausführungsbeispiele weist das Sicherheitsmodul Schutzvorrichtungen auf. Diese Schutzvorrichtungen sorgen dafür, dass bei einem Öffnen des Sicherheitsmoduls, der temporäre Speicher gelöscht wird. In a further variant of the exemplary embodiments, the security module has protective devices. These protections ensure that when the security module is opened, the temporary memory is deleted.

In einer weiteren Variante der Ausführungsbeispiele wird der private primäre Startwert als digitale Signatur über den Zweckbestimmungsparameter gebildet, indem der erste Schlüssel von dem ersten Kryptoverfahren zum Signieren verwendet wird. In a further variant of the exemplary embodiments, the private primary start value is formed as a digital signature via the purpose determination parameter by using the first key for signing by the first crypto method.

Die Erfindung eignet sich besonders gut für die Verwendung in Industrieanlagen, wie beispielsweise Kraftwerksanlagen. Hier besteht die Notwendigkeit, dass über eine lange Zeit Sicherheitsschlüssel zur Absicherung einer Anlagenkonfiguration bereitgestellt werden. The invention is particularly well suited for use in industrial plants, such as power plants. Here, there is a need to provide security keys for securing a plant configuration for a long time.

Obwohl die Erfindung im Detail durch die Ausführungsbeispiele 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 embodiments, 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.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102009030019 [0004] DE 102009030019 [0004]

Claims (23)

Verfahren (100) zur Erzeugung eines privaten primären Startwerts für mindestens ein Kryptoverfahren eines Sicherheitsmoduls (200), welches folgende Verfahrensschritte aufweist: a) Festlegen (110) eines ersten Schlüssels; b) deterministisches Erzeugen (120) des privaten primären Startwertes aus dem ersten Schlüssel mittels einer ersten Kryptofunktion; und c) Erzeugen von mindestens (130) einem Sicherheitsschlüssel aus dem privaten primären Startwert für das mindestens eine Kryptoverfahren. Procedure ( 100 ) for generating a private primary seed for at least one security module crypto-method ( 200 ), which comprises the following method steps: a) determining ( 110 ) of a first key; b) deterministic generation ( 120 ) of the private primary seed from the first key by means of a first crypto function; and c) generating at least ( 130 ) a security key from the private primary seed for the at least one crypto method. Verfahren (100) nach Anspruch 1, wobei in die Erzeugung des privaten primären Startwerts ein Zählerwert und/oder ein Zweckbestimmungsparameter eingehen. Procedure ( 100 ) according to claim 1, wherein a counter value and / or a purpose parameter are included in the generation of the private primary seed. Verfahren (100) nach Anspruch 1 oder 2, wobei der erste Schlüssel mit einer Generierungsfunktion erzeugt wird. Procedure ( 100 ) according to claim 1 or 2, wherein the first key is generated with a generation function. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei – die erste Kryptofunktion eine asymmetrische Kryptofunktion ist oder eine symmetrische Kryptofunktion ist, und – der private primäre Startwert insbesondere ein kryptographischer Schlüssel ist Procedure ( 100 ) according to one of the preceding claims, wherein - the first crypto function is an asymmetric crypto function or is a symmetric crypto function, and - the private primary seed is, in particular, a cryptographic key Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das mindestens eine Kryptoverfahren ein symmetrisches oder ein asymmetrisches Kryptoverfahren ist. Procedure ( 100 ) according to any one of the preceding claims, wherein the at least one crypto process is a symmetric or an asymmetric crypto process. Verfahren (100) nach Anspruch 4 oder 5, wobei ein privater primärer Startwert, der mit der asymmetrischen Kryptofunktion erzeugt wird, für das Erzeugen des Sicherheitsschlüssels mittels eines symmetrischen Kryptoverfahrens verwendet wird, oder wobei insbesondere der private primäre Startwert, der mit der symmetrischen Kryptofunktion erzeugt wird, für das Erzeugen des Sicherheitsschlüssels mittels eines asymmetrischen Kryptoverfahrens verwendet wird. Procedure ( 100 ) according to claim 4 or 5, wherein a private primary start value generated with the asymmetric crypto function is used for generating the security key by means of a symmetric crypto method, or in particular the private primary start value generated with the symmetric crypto function for generating the security key is used by means of an asymmetric crypto-method. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die erste Kryptofunktion aus einer Vielzahl von Kryptofunktionen auswählbar ist. Procedure ( 100 ) according to one of the preceding claims, wherein the first crypto function is selectable from a plurality of crypto functions. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der private primäre Startwert oder der Sicherheitsschlüssel als ein erster Schlüssel verwendet wird, welcher zur Erzeugung eines weiteren primären Startwertes dient. Procedure ( 100 ) according to one of the preceding claims, wherein the private primary start value or the security key is used as a first key which serves to generate a further primary start value. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der erste Schlüssel einmalig oder zu einem bestimmten Zeitpunkt festgelegt wird, Procedure ( 100 ) according to one of the preceding claims, wherein the first key is set once or at a specific time, Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der erste Schlüssel insbesondere durch eine Initialisierungsnachricht festgelegt wird, und wobei die Initialisierungsnachricht insbesondere einen dem zu bildenden ersten Schlüssel zugeordneten öffentlichen Schlüssel enthält oder eine Anweisung diesen ersten Schlüssel durch das Sicherheitsmodul (200) zu erzeugen. Procedure ( 100 ) according to one of the preceding claims, wherein the first key is determined in particular by an initialization message, and wherein the initialization message contains, in particular, a public key assigned to the first key to be formed, or an instruction instructs this first key by the security module ( 200 ) to create. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei eine Prüfung durchgeführt wird, um festzustellen, ob das Sicherheitsmodul (200) zum Erzeugen des mindestens einen Sicherheitsschlüssels berechtigt ist, und wobei vorzugsweise die Prüfung mittels eines Zertifikats, das dem privaten primären Startwert oder dem mindestens einen Sicherheitsschlüssel zugeordnet ist, durchgeführt wird. Procedure ( 100 ) according to one of the preceding claims, wherein a check is made to determine whether the security module ( 200 ) is authorized to generate the at least one security key, and wherein preferably the check is carried out by means of a certificate which is assigned to the private primary start value or the at least one security key. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der erste Schlüssel dauerhaft gespeichert wird, wobei der private primäre Startwert und/oder der mindestens eine Sicherheitsschlüssel dauerhaft oder temporär auf dem Sicherheitsmodul (200) gespeichert werden. Procedure ( 100 ) according to one of the preceding claims, wherein the first key is stored permanently, wherein the private primary start value and / or the at least one security key permanently or temporarily on the security module ( 200 ) get saved. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei eine effektive Schlüssellänge für den privaten primären Startwert abhängig von einer ersten effektiven Schlüssellänge des ersten Schlüssels und/oder für den Sicherheitsschlüssel abhängig vom privaten primären Startwert berechnet wird, wobei insbesondere die erste effektive Schlüssellänge beim Festlegen des ersten Schlüssels erzeugt wird. Procedure ( 100 ) according to one of the preceding claims, wherein an effective key length for the private primary start value is calculated depending on a first effective key length of the first key and / or for the security key depending on the private primary seed, in particular the first effective key length in determining the first key is produced. Verfahren (100) nach Anspruch 13, wobei das Verfahren einen zusätzlichen Verfahrensschritt aufweist: d) Bereitstellen der effektiven Schlüssellänge mittels einer Schlüsselverwaltungsnachricht und/oder mit mindestens einem digitalen Zertifikat, das einem Sicherheitsschlüssel und/oder dem privaten primären Startwert zugeordnet ist. Procedure ( 100 ) according to claim 13, wherein the method comprises an additional method step: d) providing the effective key length by means of a key management message and / or with at least one digital certificate associated with a security key and / or the private primary seed. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die erste Kryptofunktion eine Funktion für eine Erzeugung einer digitalen Signatur ist. Procedure ( 100 ) according to one of the preceding claims, wherein the first crypto function is a function for generating a digital signature. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei – weitere erste Schlüssel mit unterschiedlichen effektiven Schlüssellängen bereitgestellt werden, und – eine Verwendung eines bestimmten ersten Schlüssels insbesondere über einen Parameter konfiguriert wird. Procedure ( 100 ) according to one of the preceding claims, wherein - further first keys having different effective key lengths are provided, and - a use of a specific first key is configured, in particular via a parameter. Sicherheitsmodul (200) zur Erzeugen von mindestens einem Sicherheitsschlüssel aus einem privaten primären Startwert für mindestens ein Kryptoverfahren, aufweisend: – einen ersten Speicher (240), der einen ersten Schlüssel speichert; – eine erste Erzeugungseinrichtung (224), die einen privaten primären Startwert mittels einer ersten Kryptofunktion aus dem ersten Schlüssel deterministisch berechnet; und – eine zweite Erzeugungseinrichtung (228), die den mindestens einen Sicherheitsschlüssel aus dem privaten primären Startwert für das mindestens eine Kryptoverfahren erzeugt. Security module ( 200 ) for generating at least one security key from a private primary seed for at least one crypto-method, comprising: - a first memory ( 240 ) storing a first key; A first generating device ( 224 ) deterministically calculating a private primary seed by means of a first crypto function from the first key; and a second generation device ( 228 ) that generates the at least one security key from the private primary seed for the at least one crypto method. Sicherheitsmodul (200) nach Anspruch 17, wobei – der erste Speicher eine Schutzmechanismus aufweist, sodass dieser nur vom Sicherheitsmodul (200) lesbar ist, und – der erste Speicher insbesondere ein erster dauerhafter Speicher ist. Security module ( 200 ) according to claim 17, wherein - the first memory has a protective mechanism so that it can only be used by the security module ( 200 ) is readable, and - the first memory is in particular a first permanent memory. Sicherheitsmodul (200) nach Anspruch 17 oder 18, wobei – das Sicherheitsmodul (200) einen zweiten Speicher (240) aufweist, der permanent oder temporär ausgebildet ist, und – der mindestens eine Sicherheitsschlüssel und/oder der privaten primären Startwert in dem zweiten Speicher (240) abgelegt sind. Security module ( 200 ) according to claim 17 or 18, wherein - the security module ( 200 ) a second memory ( 240 ), which is permanently or temporarily formed, and - the at least one security key and / or the private primary starting value in the second memory ( 240 ) are stored. Sicherheitsmodul (200) nach einem der vorhergehenden Ansprüche, zusätzlichen aufweisend: – Berechnungseinrichtung, die eine effektive Schlüssellänge für den privaten primären Startwert abhängig von einer ersten effektiven Schlüssellänge des ersten Schlüssels und/oder für den mindestens einen Sicherheitsschlüssel abhängig vom privaten primären Startwert berechnet, wobei insbesondere die erste effektive Schlüssellänge beim Speichern des ersten Schlüssels mitgespeichert wird. Security module ( 200 ) according to one of the preceding claims, additionally comprising: - calculating means which calculates an effective key length for the private primary start value depending on a first effective key length of the first key and / or for the at least one security key depending on the private primary seed, in particular the first effective key length is saved when saving the first key. Sicherheitsmodul (200) nach Anspruch 20, zusätzlichen aufweisend: – eine erste Bereitstellungseinrichtung, welche die effektiven Schlüssellänge mittels einer Schlüsselverwaltungsnachricht und/oder mit mindestens einem digitalen Zertifikat, das einem Sicherheitsschlüssel und/oder dem privaten primären Startwert zugeordnet ist, bereitstellt. Security module ( 200 ) according to claim 20, further comprising: - a first provisioning means which provides the effective key length by means of a key management message and / or with at least one digital certificate associated with a security key and / or the private primary seed. Computerprogrammprodukt mit Programmbefehlen zur Durchführung des Verfahrens nach einem der Ansprüche 1–16. Computer program product with program instructions for carrying out the method according to one of Claims 1-16. Datenträger, der das Computerprogrammprodukt nach Anspruch 22 speichert. A data carrier storing the computer program product of claim 22.
DE102015207765.9A 2015-04-28 2015-04-28 Method and security module for generating at least one security key Withdrawn DE102015207765A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015207765.9A DE102015207765A1 (en) 2015-04-28 2015-04-28 Method and security module for generating at least one security key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015207765.9A DE102015207765A1 (en) 2015-04-28 2015-04-28 Method and security module for generating at least one security key

Publications (1)

Publication Number Publication Date
DE102015207765A1 true DE102015207765A1 (en) 2016-03-24

Family

ID=55444969

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015207765.9A Withdrawn DE102015207765A1 (en) 2015-04-28 2015-04-28 Method and security module for generating at least one security key

Country Status (1)

Country Link
DE (1) DE102015207765A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451573A1 (en) * 2017-08-30 2019-03-06 Siemens Aktiengesellschaft Method and system for testing a function of an encryption device
EP3629516A1 (en) * 2018-09-26 2020-04-01 Giesecke+Devrient Mobile Security GmbH Decentralised identity management solution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009030019B3 (en) 2009-06-23 2010-12-30 Siemens Aktiengesellschaft System and method for reliable authentication of a device
WO2014197153A1 (en) * 2013-06-07 2014-12-11 Qualcomm Incorporated Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009030019B3 (en) 2009-06-23 2010-12-30 Siemens Aktiengesellschaft System and method for reliable authentication of a device
WO2014197153A1 (en) * 2013-06-07 2014-12-11 Qualcomm Incorporated Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3451573A1 (en) * 2017-08-30 2019-03-06 Siemens Aktiengesellschaft Method and system for testing a function of an encryption device
EP3629516A1 (en) * 2018-09-26 2020-04-01 Giesecke+Devrient Mobile Security GmbH Decentralised identity management solution

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
DE102013203415B4 (en) Create a derived key from a cryptographic key using a non-cloning function
EP3108610B1 (en) Method and system for creating and checking the validity of device certificates
DE102014220808B4 (en) Method and device for logging in medical devices
DE112015000213B4 (en) Password-based authorization check
DE112005001666B4 (en) A method for providing private direct proof keys in signed groups to devices using a distribution CD
DE102015101620A1 (en) Provision of security credentials
EP2765752B1 (en) Method for equipping a mobile terminal with an authentication certificate
DE102013022383B3 (en) Method and device for generating a certificate with privacy protection
EP3157192B1 (en) Method and system for asymmetric key derivision
DE10392528T5 (en) Microcode patch authentication
DE102015212887A1 (en) Determine a device-specific private key for an asymmetric cryptography method on a device
EP3422628B1 (en) Method, safety device and safety system
DE102009000869A1 (en) Method and device for tamper-proof transmission of data
DE102017214359A1 (en) A method for safely replacing a first manufacturer's certificate already placed in a device
DE102010027586A1 (en) Method for the cryptographic protection of an application
EP3337085B1 (en) Reloading cryptographic program instructions
EP3552344A1 (en) Bidirectionally linked blockchain structure
DE102015207765A1 (en) Method and security module for generating at least one security key
DE102016210788A1 (en) Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component
DE102015208899A1 (en) Apparatus and method for flexibly generating cryptographic private keys and device with flexibly generated cryptographic private keys
DE102014213454A1 (en) Method and system for detecting a manipulation of data records
DE102014019496A1 (en) Method for controlling an authentication key exchange in vehicle networks and a motor vehicle
DE102015208176A1 (en) Device and method for authorizing a private cryptographic key in a device
WO2007090712A1 (en) Method for protecting a control device against tampering and control device which has been protected against tampering

Legal Events

Date Code Title Description
R163 Identified publications notified
R230 Request for early publication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee