DE102014210282A1 - Erzeugen eines kryptographischen Schlüssels - Google Patents

Erzeugen eines kryptographischen Schlüssels Download PDF

Info

Publication number
DE102014210282A1
DE102014210282A1 DE102014210282.0A DE102014210282A DE102014210282A1 DE 102014210282 A1 DE102014210282 A1 DE 102014210282A1 DE 102014210282 A DE102014210282 A DE 102014210282A DE 102014210282 A1 DE102014210282 A1 DE 102014210282A1
Authority
DE
Germany
Prior art keywords
key
auxiliary data
data record
generation device
request
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
DE102014210282.0A
Other languages
English (en)
Inventor
Kai Arzdorf
Rainer Falk
Kai Fischer
Jürgen Gessner
Wolfgang Klasen
Anne Passarelli
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 DE102014210282.0A priority Critical patent/DE102014210282A1/de
Priority to PCT/EP2015/056950 priority patent/WO2015180867A1/de
Publication of DE102014210282A1 publication Critical patent/DE102014210282A1/de
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/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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3278Cryptographic 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 using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Es wird ein Verfahren vorgestellt zum Erzeugen eines kryptographischen Schlüssels unter Verwendung einer physikalisch unklonbaren Funktion mit einem Übermitteln einer Anfragenachricht aufweisend eine Einsatzanfrage für eine Schlüsselerzeugungsvorrichtung an eine externe Einheit, mit einem Vorgeben mindestens eines Hilfsdatensatzes durch die externe Einheit in Abhängigkeit von der mittels der Anfragenachricht empfangenen Einsatzanfrage, mit einem Senden des mindestens einen Hilfsdatensatzes durch die externe Einheit an die Schlüsselerzeugungsvorrichtung, wobei der mindestens eine Hilfsdatensatz an einen zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen ist und mit einem Generieren des kryptographischen Schlüssels durch die Schlüsselerzeugungsvorrichtung unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem durch die Schlüsselerzeugungsvorrichtung empfangenen mindestens einen Hilfsdatensatz zur Verwendung für den durch den mindestens einen Hilfsdatensatz festgelegten Einsatzzweck. Dadurch wird ein Verfahren bereitgestellt, welches es einer externen Einheit ermöglicht, einer Schlüsselerzeugungsvorrichtung einen kryptographischen Schlüssel vorzugeben, ohne dabei sensible Daten, wie insbesondere den kryptographischen Schlüssel selbst, übertragen zu müssen.

Description

  • Die Erfindung betrifft ein Verfahren, eine Schlüsselerzeugungsvorrichtung sowie ein eingebettetes System zum Erzeugen eines kryptographischen Schlüssels unter Verwendung einer physikalisch unklonbaren Funktion.
  • Physikalisch unklonbare Funktionen, sogenannte Physical Unclonable Functions, sind bekannt, um Objekte zuverlässig anhand ihrer intrinsischen physikalischen Eigenschaften zu identifizieren. Eine physikalische Eigenschaft eines Gegenstandes, beispielsweise eines Halbleiter-Schaltkreises, wird dabei als individueller Fingerabdruck verwendet. Eine physikalisch unklonbare Funktion wird insbesondere mit einer Challenge beaufschlagt und liefert eine Response, welche bei einem Nachbau des Gerätes bei Beaufschlagen mit der gleichen Challenge nicht generierbar sein soll. Eine Response soll nicht vorhersehbar sein und somit nicht – insbesondere auch nicht bei Kenntnis der Challenge – auf einem anderen oder nachgebautem Schaltkreis erzeugt werden können. Somit kann eine Authentifizierung mittels der physikalisch unklonbaren Funktion erreicht werden, indem beispielsweise eine Response oder ein daraus abgeleiteter Wert wie beispielsweise ein kryptographischer Schlüssel, nur generiert werden kann, falls ein Zugriff auf den vorgesehenen korrekten, unveränderten oder nicht manipulierten Schaltkreis mit der darauf implementierten physikalisch unklonbaren Funktion vorhanden ist.
  • Im Umfeld kryptographischer Security-Mechanismen ist die Verwendung physikalisch unklonbarer Funktionen vorgesehen, um ein Abspeichern eines kryptographischen Schlüssels in einem Speicher oder ein manuelles Eingeben des Schlüssels zu vermeiden. Das Erzeugen eines kryptographischen Schlüssels durch Beaufschlagen einer physikalisch unklonbaren Funktion mit einer Challenge stellt einen sicheren Schlüsselspeicher dar.
  • Es ist bekannt, mittels eines Fuzzy Key Extractors unter Verwendung einer physikalisch unklonbaren Funktion einen kryptographischen Schlüssel zu extrahieren. Ein Fuzzy Key Extractor benötigt dafür Hilfsdaten, sogenannte Helper Data, welche beim Speichern eines Schlüssels erzeugt werden müssen. Die Hilfsdaten sind dabei auf dem Gerät hinterlegt, auf welchem ein Schlüssel unter Verwendung einer physikalisch unklonbaren Funktion erzeugt werden soll. Die Hilfsdaten stellen dabei sicher, dass auch bei Bitfehlern, welche aufgrund von Alterung der Hardware oder aufgrund von schwankenden Umgebungsbedingungen oder aufgrund von statistischen Schwankungen kaum vermeidbar sind, immer der ursprünglich erzeugte Schlüssel reproduzierbar ist.
  • Kryptographische Schlüssel, welche auf einem Gerät zur Freischaltung einer Funktionalität oder zum Entschlüsseln einer Firmware oder zum Absichern einer Kommunikation mit einem weiteren Gerät von dem Gerät verwendet werden sollen, werden im Klartext oder verschlüsselt oder obfusziert auf dem Gerät abgelegt. Ist ein solcher Schlüssel, welcher beispielsweise einem Gerät im Rahmen einer Lizenz zur Nutzung eines Features auf dem Gerät übergeben wurde, in verschlüsselter Form auf dem Gerät abgespeichert, so ist wiederum ein Schlüssel nötig und gegebenenfalls auf dem Gerät zu speichern, mit welchem der verschlüsselte Schlüssel entschlüsselt werden kann.
  • Es kann überdies für die Verwendung eines Schlüssels zum Aufbau einer Kommunikation, zum Freischalten einer Funktionalität, usw. das Eingeben eines kryptographischen Schlüssels an einer Eingabeschnittstelle durch einen Benutzer erforderlich sein. Dies kann das permanente Abspeichern des sensitiven Schlüsselmaterials verhindern, erfordert allerdings eine entsprechende Eingabeschnittstelle, welche gegen Schlüsselausleseangriffe geschützt sein muss. Außerdem ist eine gegebenenfalls aufwendige Nutzerinteraktion erforderlich.
  • Es besteht ein Bedarf, einem Gerät oder einem System einen kryptographischen Schlüssel zur Verwendung für einen festgelegten Einsatzzweck gesichert bereitzustellen.
  • Diese Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den Unteransprüchen angegeben.
  • Erfindungsgemäß weist ein Verfahren zum Erzeugen eines kryptographischen Schlüssels unter Verwendung einer physikalisch unklonbaren Funktion die folgenden Schritte auf:
    • – Übermitteln einer Anfragenachricht aufweisend eine Einsatzanfrage für eine Schlüsselerzeugungsvorrichtung an eine externe Einheit;
    • – Vorgeben mindestens eines Hilfsdatensatzes durch die externe Einheit in Abhängigkeit von der mittels der Anfragenachricht empfangenen Einsatzanfrage;
    • – Senden des mindestens einen Hilfsdatensatzes durch die externe Einheit an die Schlüsselerzeugungsvorrichtung, wobei der mindestens eine Hilfsdatensatz an einen zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen ist; und;
    • – Generieren des kryptographischen Schlüssels durch die Schlüsselerzeugungsvorrichtung unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem durch die Schlüsselerzeugungsvorrichtung empfangenen mindestens einen Hilfsdatensatz zur Verwendung für den durch den mindestens einen Hilfsdatensatz festgelegten Einsatzzweck.
  • Dadurch wird ein Verfahren bereitgestellt, welches es einer externen Einheit ermöglicht, einer Schlüsselerzeugungsvorrichtung einen kryptographischen Schlüssel vorzugeben, ohne dabei sensible Daten, wie insbesondere den kryptographischen Schlüssel selbst, übertragen zu müssen. Die externe Einheit gibt lediglich einen Hilfsdatensatz vor, welcher in einem Schlüsselableitungsverfahren mittels einer physikalisch unklonbaren Funktion benötigt wird, um einen bestimmten, durch den Einsatzzweck festgelegten, kryptographischen Schlüssel zu erzeugen. Indem die externe Einheit der Schlüsselerzeugungsvorrichtung den Hilfsdatensatz, der an den zu der Einsatzanfrage gehörigen Einsatzzweck gebunden ist, vorgibt, ist die Schlüsselerzeugungsvorrichtung in der Lage, den zu der Einsatzanfrage gehörigen kryptographischen Schlüssel selbst zu erzeugen. Ein Angriff auf den übermittelten Hilfsdatensatz bleibt erfolglos, sofern der Angreifer keinen Zugang zu der Schlüsselerzeugungsvorrichtung mit darauf implementierter physikalisch unklonbarer Funktion besitzt.
  • Durch das vorgeschlagene Verfahren wird eine Übermittlung sensitiver Schlüsselinformationen vermieden und es erübrigt sich die Absicherung eines Übertragungs- oder Kommunikationsweges mittels weiterer, insbesondere vorher ausgehandelter, kryptographischer Schlüssel. Durch die Kombination mit einem Schlüsselextraktionsverfahren auf Basis physikalisch unklonbarer Funktionen wird überdies das permanente Abspeichern sensibler Schlüsselinformationen vorteilhaft vermieden. Der kryptographische Schlüssel wird unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem empfangenen Hilfsdatensatz durch die Schlüsselerzeugungsvorrichtung auf vorteilhafte Weise beispielsweise bei jeder nötigen Verwendung des kryptographischen Schlüssels aufs Neue aktuell generiert.
  • Die über den Hilfsdatensatz zur Verfügung gestellten Informationen, welche zum Ableiten des gewünschten kryptographischen Schlüssels benötigt werden, sind bei einer Übermittlung nicht besonders zu schützen. Ein Angreifer kann aus dem Hilfsdatensatz keine Informationen über den daraus zu ermittelnden kryptographischen Schlüssel oder Eigenschaften der physikalisch unklonbaren Funktion erlangen.
  • Bei der Schlüsselerzeugungsvorrichtung handelt es sich insbesondere um einen Schaltkreis, beispielsweise einen Field Programmable Gate Array, kurz FPGA, oder einen Application Specific Integrated Circuit, kurz ASIC. Beispielsweise ist die physikalisch unklonbare Funktion auf dem Schaltkreis realisiert oder auf einer separat vorgesehenen Schaltkreiseinheit für die Schlüsselerzeugungsvorrichtung abfragbar. Somit kann die Schlüsselerzeugungsvorrichtung die physikalisch unklonbare Funktion beispielsweise mit einer Challenge oder einem Satz von Challenges beaufschlagen und erhält als Antwortwert eine oder mehrere Responses. Die Schlüsselerzeugungsvorrichtung weist vorteilhafterweise einen Schlüsselerzeuger oder Key Extractor auf, welcher mit Hilfe geeigneter Algorithmen den kryptographischen Schlüssel aus der Response oder den Responses und dem Hilfsdatensatz generiert. Im Folgenden wird unter einer Challenge insbesondere ein aus mehreren Challenges bestehender Satz von Challenges verstanden.
  • Insbesondere ist die Schlüsselerzeugungsvorrichtung auf einem eingebetteten System ausgebildet.
  • Durch den Einsatzzweck wird der generierte kryptographische Schlüssel gebunden an eine Funktion, welche nur aktivierbar oder ausführbar oder nutzbar ist, falls der kryptographische Schlüssel unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem Hilfsdatensatz generiert wurde. Der festgelegte Einsatzzweck ist somit nur über den dazugehörigen korrekten kryptographischen Schlüssel nutzbar.
  • Der Einsatzzweck gibt an, wofür der ermittelten Schlüssel verwendet werden soll. So kann beispielsweise der Einsatzzweck einen Schlüssel für eine Geräteauthentisierung oder einen Schlüssel für die Kommunikationsverschlüsselung oder einen Schlüssel für eine Dateisystemverschlüsselung oder einen Schlüssel für eine Integritätsprüfung oder einen Schlüssel für sicheres Booten oder einen Schlüssel für einen Diagnosezugang oder einen Schlüssel zur Entschlüsselung von Daten angeben. Abhängig vom Einsatzzweck kann auch ein Schlüssel für unterschiedliche kryptographische Algorithmen bestimmt werden. So können beispielsweise Hilfsdaten zum Ermitteln eines AES128-Schlüssels oder Hilfsdaten zum Ermitteln eines AES256-Schlüssels oder Hilfsdaten zum Ermitteln eines HMAC-SHA256-Schlüssels bereitgestellt werden. Abhängig vom Einsatzzweck können so mittels einer physikalisch unklonbaren Funktion unterschiedliche Hilfsdatensätze angefordert werden, mit denen Schlüssel für unterschiedliche Anwendungszwecke und unterschiedliche kryptographische Algorithmen bestimmbar sind.
  • Die Anfragenachricht wird durch die Schlüsselerzeugungsvorrichtung selbst oder durch ein Gerät der Schlüsselerzeugungsvorrichtung oder durch eine dritte Einheit und insbesondere manuell durch einen Benutzer des Gerätes an die externe Einheit übermittelt. Insbesondere initiiert die externe Einheit selbst das Senden des Hilfsdatensatzes, indem eine erste Anfrage durch die externe Einheit geschickt wird und auf eine Antwort der Schlüsselerzeugungsvorrichtung gewartet wird, in der die Anfragenachricht übermittelt wird. Die Anfragenachricht mit der Einsatzanfrage besteht dann aus einer Information über die Hardware oder die physikalisch unklonbare Funktion, so dass durch die externe Einheit der dazu passende Hilfsdatensatz ausgewählt wird. Die Anfragenachricht wird insbesondere außerhalb des Gerätes mit der darauf befindlichen Schlüsselerzeugungsvorrichtung durch eine dritte Einheit generiert. Die Einsatzanfrage kann dann neben der Hardware-Information ferner eine Berechtigungsinformation beinhalten, die die dritte Einheit als zum Anfordern des Hilfsdatensatzes für die Schlüsselerzeugungsvorrichtung berechtigt ausweist. Insbesondere wird dafür eine Identifizierung oder Authentifizierung eines Nutzers gefordert, der über die dritte Einheit die Anfragenachricht sendet.
  • Gemäß einer Ausgestaltung weist die Anfragenachricht eine Identifizierungsinformation oder eine Einsatzanfrageinformation auf.
  • Die externe Einheit kann somit in Abhängigkeit von der in der Anfragenachricht übermittelten Information den geeigneten Hilfsdatensatz auswählen. Eine Einsatzanfrageinformation kann dabei ein Request oder eine Anfrage beinhalten, dass ein bestimmter kryptographischer Schlüssel angefragt wird. Ferner können, je nach Einsatzgebiet, Identifizierungsinformationen nötig sein, die beispielsweise sicherstellen sollen, dass ein Hilfsdatensatz gesendet wird, welcher für das Gerät mit der übermittelten Identifizierungsinformation geeignet ist. Es kann überdies zusätzlich eine Authentifizierungsinformation erforderlich sein, welche eine Berechtigung der Schlüsselerzeugungsvorrichtung zur Anforderung des kryptographischen Schlüssels nachweist.
  • Gemäß einer Ausgestaltung wird als Einsatzanfrage eine Lizenzanfrageinformation gesendet, der mindestens eine Hilfsdatensatz ist an eine Lizenzierung gebunden und basierend auf dem mindestens einen Hilfsdatensatz wird der kryptographische Schlüssel zur Verwendung für die Lizenzierung generiert. In dieser Ausgestaltung wird der Hilfsdatensatz als indirekter Lizenzdatensatz anstelle eines Lizenzschlüssels zur Vergabe einer Lizenz übertragen. Dabei kann insbesondere eine Lizenzanfrageinformation eine Identifizierungsnummer der Schlüsselerzeugungsvorrichtung beziehungsweise eines Gerätes, auf welchem die Schlüsselerzeugungsvorrichtung ausgebildet ist, enthalten. Sieht es die externe Einheit vor, dass die Schlüsselerzeugungsvorrichtung den kryptographischen Schlüssel generieren können soll, welcher eine zu lizenzierende Funktion freischaltet oder startet, so wird durch die externe Einheit der passende Hilfsdatensatz gesendet.
  • Die Lizenzanfrageinformation kann insbesondere erst auf Aufforderung durch die externe Einheit bereitgestellt werden. Dabei agiert die Schlüsselerzeugungseinheit in passiver Weise und fordert eine Lizenz nicht an, sondern erhält beispielsweise einen Lizenzschlüssel oder einen aktualisierten Lizenzschlüssel auf Veranlassung der externen Einheit. Insbesondere kann eine Lizenzanfrageinformation einmalig in einer Einrichtungsphase eines eingebetteten Systems, auf dem die Schlüsselerzeugungsvorrichtung ausgebildet ist, gesendet werden. Auch der Hilfsdatensatz kann dann einmalig bereitgestellt werden. Bei Auslieferung eines Gerätes werden so beispielsweise alle später nutzbaren Features festgelegt, für die die Schlüsselerzeugungsvorrichtung später Lizenzschlüssel generieren können soll. Der für diesen Lizenzschlüssel benötigte Hilfsdatensatz ist für die Schlüsselerzeugungsvorrichtung später verfügbar und insbesondere aus einem Lizenzschlüsselspeicher auslesbar.
  • Es wird dabei sichergestellt, dass ein Einsatzzweck mittels des generierten kryptographischen Schlüssels nur durch die Schlüsselerzeugungsvorrichtung verwendet werden kann oder nur durch das Gerät mit Zugriff auf die Schlüsselerzeugungsvorrichtung verwendet werden kann, welches auf die passende physikalisch unklonbare Funktion Zugriff hat. Der zur Verwendung des Einsatzzweckes benötigte Schlüssel kann somit nur auf einem dafür vorgesehenen Gerät mit Zugriff auf die physikalisch unklonbare Funktion erfolgen. Durch diese Hardwaregebundenheit des kryptographischen Schlüssels kann über den Hilfsdatensatz eine Verwendung für den festgelegten Einsatzzweck, beispielsweise eine Freischaltung einer Funktion oder eines Features, nicht auf einem anderen Gerät missbräuchlich erfolgen. Der über den Hilfsdatensatz generierbare Lizenzschlüssel zur Verwendung für den festgelegten Einsatzzweck, beispielsweise die Benutzung eines Features auf einem eingebetteten System, muss nicht auf dem eingebetteten System selbst gespeichert werden und ist somit vor Angriffen und Missbrauch geschützt. Der Hilfsdatensatz kann beispielsweise für jeden Freischaltevorgang zur Nutzung des Features bei der externen Einheit über die Anfragenachricht angefragt werden oder permanent gespeichert werden.
  • In einer Variante können für die Schlüsselerzeugungsvorrichtung durch die externe Einheit verschiedene Hilfsdatensätze vorgesehen sein, welche zur Erzeugung verschiedener kryptographischer Schlüssel führen. Bei der Generierung des jeweiligen kryptographischen Schlüssels wird dabei jeweils die physikalisch unklonbare Funktion, auf die die Schlüsselerzeugungsvorrichtung Zugriff hat, verwendet. Somit wird eine Lizenz für ein Gerät mit der Schlüsselerzeugungsvorrichtung nur demjenigen gewährt, der sowohl das richtige Gerät, das heißt die originale, nicht nachgebaute Hardware, auf welcher die physikalisch unklonbare Funktion realisiert ist, hat, als auch den richtigen Hilfsdatensatz besitzt. Fehlt eine dieser beiden Voraussetzungen, so kann ein generierter kryptographischer Schlüssel nicht zur Verwendung für den festgelegten Einsatzzweck genutzt werden.
  • Somit wird auch ein Kopieren von Lizenzinformationen, wie es insbesondere bei Übermittlung eines Lizenzschlüssels erfolgen kann, vorteilhaft verhindert. Die Berechtigung zur Nutzung eines Features auf einem Gerät kann nicht auf ein anderes, selbst hersteller- oder typgleiches, Gerät übertragen werden. Für einen übertragenen Lizenzschlüssel ist dies denkbar, bei der Übermittlung der Hilfsdatensätze, welche erst unter Verwendung der physikalisch unklonbaren Funktion zum korrekten Schlüssel führen, ist ein Missbrauch nicht möglich.
  • Beispielsweise liegt ein Firmware-Code, wie beispielsweise Programmcode oder Daten, von zu lizenzierenden beziehungsweise freischaltbaren Features in der Firmware eines Gerätes für ein Gerät individuell verschlüsselt vor. Nur wenn ein passender Lizenzschlüssel vorliegt, kann der Code oder die Daten zur Realisierung eines Features entschlüsselt und damit ausgeführt beziehungsweise benutzt werden. Mit dem generierten kryptographischen Schlüssel wird vorteilhaft der Lizenzschlüssel zur Entschlüsselung des Codes durch die Schlüsselerzeugungsvorrichtung erzeugt und es kann ein Teil der Firmware des Gerätes entschlüsselt werden. Beispielsweise hat ein Hersteller dafür die physikalisch unklonbare Funktion bei der Fertigung vermessen und dazugehörige Daten in einer Datenbank abgelegt. Mit Hilfe dieser gespeicherten Information kann der Hersteller gegebenenfalls zu einem späteren Zeitpunkt Hilfsdaten oder einen Hilfsdatensatz zur Schlüsselrekonstruktion eines bestimmten Featureschlüssels ermitteln, ohne Zugriff auf die ursprüngliche Hardware mit der physikalisch unklonbaren Funktion zu haben. Alternativ kann der Hersteller auch direkt Hilfsdaten für alle Featureschlüssel des Gerätes ermitteln und diese Hilfsdaten speichern. Die Hilfsdaten zur Rekonstruktion eines Featureschlüssels werden dem Gerät nur bereitgestellt, soweit eine Berechtigung zur Nutzung des zugeordneten Features vorliegt.
  • Gemäß einer Ausgestaltung wird als Einsatzanfrage eine Schlüsseleinrichtungsinformation gesendet, der mindestens eine Hilfsdatensatz ist an eine Einrichtung des symmetrischen Schlüssels gebunden und basierend auf dem mindestens einen Hilfsdatensatz wird der kryptographische Schlüssel zur Verwendung als symmetrischer Schlüssel generiert.
  • Auf diese Weise wird eine Schlüsselvereinbarung realisiert, wobei die Schlüsselerzeugungsvorrichtung in der Einsatzanfrage vorgibt, für welchen Einsatzzweck der kryptographische Schlüssel verwendet werden soll. Es kann sich dabei beispielsweise um die Angabe handeln, mit welchem Kommunikationspartner ein symmetrischer Schlüssel vereinbart werden soll. Durch die externe Einheit wird der Hilfsdatensatz daraufhin so ausgewählt, dass der durch die Schlüsselerzeugungsvorrichtung unter Verwendung der physikalisch unklonbaren Funktion generierbare kryptographische Schlüssel als symmetrischer Schlüssel verwendet werden kann, auf welchen der Kommunikationspartner ebenfalls Zugriff hat. Das vorgeschlagene Verfahren kann vorteilhaft für zwei Geräte durchgeführt werden. Dafür fragen beide Geräte jeweils in der Einsatzanfrage über die Schlüsseleinrichtungsinformation an, einen symmetrischen Schlüssel zur Kommunikation mit dem jeweils anderen Gerät zu bekommen. Jedem Gerät werden daraufhin durch die externe Einheit die jeweils passenden Hilfsdatensätze übermittelt. Diese stimmen aufgrund der jeweils individuellen physikalisch unklonbaren Funktion nicht miteinander überein, ermöglichen aber die Generierung des gemeinsamen symmetrischen Schlüssels.
  • Beide Geräte können somit den unabhängig bestimmten gemeinsamen Schlüssel für eine kryptographisch geschützte Kommunikation verwenden. Das Aushandeln des gemeinsamen kryptographischen Schlüssels geschieht vorteilhafterweise ohne einen Austausch sensibler Daten. Insbesondere kann nur einem der beiden Geräte der Hilfsdatensatz zur Schlüsselextraktion bereitgestellt werden, während dem zweiten Gerät der Schlüssel herkömmlich bereitgestellt wird, beispielsweise über eine vorhandene verschlüsselte Kommunikationsverbindung oder als eine Klartextnachricht, beispielsweise in einem geschlossenen Netzwerk. Da die Hilfsdaten nicht vertraulich sind und damit nicht speziell geschützt werden müssen, können sie im Klartext übertragen werden. Somit wird eine indirekte Schlüsselinformation an die Schlüsselerzeugungsvorrichtung übertragen und ein kryptographischer Schlüssel wird als symmetrischer Schlüssel vereinbart, ohne dass bereits ein kryptographisches Verfahren zur Absicherung des Übertragungsweges benötigt wird. In einer Variante ist es möglich, den Hilfsdatensatz zusätzlich kryptographisch geschützt zu übertragen.
  • Es kann sich ferner bei der Einsatzanfrage um eine Angabe handeln, in welchem Netzwerk der kryptographische Schlüssel verwendbar sein soll. Es kann sich insbesondere bei dem kryptographischen Schlüssel um einen privaten Schlüssel handeln, der als Schlüsselpartner zu einem öffentlichen Schlüssel innerhalb einer Public-Key-Infrastruktur, kurz PKI, gültig sein soll.
  • Gemäß einer Weiterbildung weist die Schlüsseleinrichtungsinformation mindestens eine Angabe über einen Schlüsselpartner auf und der mindestens eine Hilfsdatensatz ist an einer Einrichtung eines symmetrischen, mit dem Schlüsselpartner gemeinsamen Schlüssels gebunden.
  • Gemäß einer Ausgestaltung wird als Einsatzanfrage eine Schlüsselerneuerungsinformation gesendet, der mindestens eine Hilfsdatensatz ist an eine Erzeugung eines erneuerten Schlüssels gebunden und basierend auf dem mindestens einen Hilfsdatensatz wird der kryptographische Schlüssel zur Verwendung als erneuerter Schlüssel generiert. Als Schlüsselerneuerungsinformation wird dabei beispielsweise eine Information über einen bislang gültigen Schlüssel übertragen. Dies kann die Schlüsselerzeugungsvorrichtung als berechtigt ausweisen, den erneuerten Schlüssel generieren zu dürfen. Dabei kann die Anfragenachricht auch darin bestehen, dass eine Kommunikationsverbindung zwischen der Schlüsselerzeugungsvorrichtung und der externen Einheit besteht. Somit kann die externe Einheit auch auf eigene Initiative hin den Hilfsdatensatz versenden. Insbesondere sendet die externe Einheit eine Testnachricht an die Schlüsselerzeugungsvorrichtung, welche diese durch die Anfragenachricht beantwortet. Beispielsweise wird dabei lediglich die Existenz einer Datenverbindung oder Kommunikationsverbindung geprüft.
  • Gemäß einer Ausgestaltung wird der kryptographische Schlüssel zur Verwendung als erneuerter Schlüssel zur Entschlüsselung einer erneuerten Firmwareversion generiert.
  • Somit wird auf vorteilhafte Weise mittels einer erneuerten Firmwareversion oder eines Firmwareupdates der Schlüsselerzeugungsvorrichtung ein erneuerter Hilfsdatensatz bereitgestellt. Damit wird ein Schlüsselupdate vorgenommen zur Entschlüsselung des Firmwareupdates, ohne dass der dafür benötigte sensitive kryptographische Schlüssel Bestandteil der Firmware ist oder anderweitig übertragen werden muss.
  • Gemäß einer Ausgestaltung wird der mindestens eine Hilfsdatensatz gemeinsam mit einer erneuerten Firmwareversion gesendet.
  • Gemäß einer Weiterbildung wird ein weiterer Hilfsdatensatz gesendet, unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem weiteren Hilfsdatensatz wird ein Sicherungsschlüssel generiert und es erfolgt eine Authentisierung des mindestens einen Hilfsdatensatzes, falls der Sicherungsschlüssel und der kryptographische Schlüssel geprüft und als konsistent, insbesondere als identisch, bitweise invers oder durch eine vorgebbare Rechenoperation ableitbar, eingestuft werden.
  • Die Schlüsselerzeugungsvorrichtung extrahiert dabei den kryptographischen Schlüssel sowie den Sicherungsschlüssel mit dem jeweils zugehörigen Hilfsdatensatz. Beispielsweise wird als Prüfkriterium angesehen, dass beide extrahierten Schlüssel identisch sein müssen, damit der Hilfsdatensatz als authentisch anerkannt wird. In einer anderen Variante besteht das Prüfkriterium für die Authentizität des Hilfsdatensatzes darin, dass der kryptographische Schlüssel das bitweise inverse des Sicherungsschlüssels ist oder dass der kryptographische Schlüssel der Hash-Wert des Sicherungsschlüssels ist oder anders herum. In einer weiteren Variante ist es möglich, dass einer der beiden Schlüssel identisch mit einem vorgebbaren Parameter des Gerätes ist, beispielsweise mit dessen Seriennummer. Hilfsdaten, welche für ein anderes Gerät oder eine andere Schlüsselerzeugungsvorrichtung bestimmt sind oder von einem Angreifer erzeugt wurden, können erkannt und verworfen werden. Insbesondere kann nur ein Berechtigter, beispielsweise ein Security Manager, mit Zugriff auf die Rohdaten der physikalisch unklonbaren Funktion, die beispielsweise in der Initialisierungsphase der Hardware erzeugt wurden, gezielt den Hilfsdatensatz sowie den weiteren Hilfsdatensatz erzeugen, welche zu konsistenten Schlüsseln, nämlich dem kryptographischen Schlüssel und dem Sicherungsschlüssel mit vorgegebener Relation zueinander führen.
  • In einer Variante enthält ein Hilfsdatensatz Informationen zur Ableitung des kryptographischen Schlüssels sowie des Sicherungsschlüssels. Dabei wird eine Challenge oder ein Satz von Challenges beispielsweise derart verwendet, dass aus einem ersten Teil der Hilfsdaten der kryptographische Schlüssel und aus einem zweiten Teil der Hilfsdaten der Sicherungsschlüssel generiert wird. In einer weiteren Variante wird der Sicherungsschlüssel durch eine Sicherungs-Challenge, welche gemeinsam mit dem weiteren Hilfsdatensatz übermittelt wird, generiert.
  • Gemäß einer Ausgestaltung wobei der mindestens eine Hilfsdatensatz (HD) in einer Initialisierungsphase aus dem Beaufschlagen der physikalisch unklonbaren Funktion mit mindestens einer Challenge, insbesondere mit einem Satz von Challenges, abgeleitet wird. Dabei werden insbesondere mehrere unterschiedliche Challenges verwendet, die unterschiedliche Responses erzeugen. Der kryptographische Schlüssel kann beispielsweise erst durch mehrere Responses erzeugbar sein. Somit kann insbesondere in der Initialisierungsphase eine Challenge oder ein Satz von Challenges angelegt werden, welcher zu einem Hilfsdatensatz führt und wobei auf Basis des Hilfsdatensatzes sowie der dazugehörigen Challenge oder des dazugehörigen Satzes von Challenges ein jeweiliger kryptographischer Schlüssel ableitbar ist. Die Challenge oder der Satz von Challenges und der Hilfsdatensatz stellen somit ein zueinander gehöriges Paar an Informationen dar und werden vorteilhaft als Paar abgespeichert. Je nachdem, wie viele unterschiedliche kryptographische Schlüssel später aus den von der externen Einheit bereitgestellten Daten ableitbar sein sollen, müssen entsprechend viele unterschiedliche Hilfsdatensätze in der Initialisierungsphase erzeugt werden und die dazu passenden Challenges oder Sätze von Challenges festgelegt werden.
  • Gemäß einer Ausgestaltung wird durch die externe Einheit zu dem mindestens einen Hilfsdatensatz mindestens eine Challenge, insbesondere ein Satz von Challenges, vorgegeben in Abhängigkeit von der mittels der Anfragenachricht empfangenen Einsatzanfrage und die mindestens eine Challenge gemeinsam mit dem mindestens einen Hilfsdatensatz durch die externe Einheit an die Schlüsselerzeugungsvorrichtung gesendet, wobei der mindestens eine Hilfsdatensatz und die mindestens eine Challenge an den zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen sind.
  • Es ist insbesondere durch die externe Einheit aus einer Vielzahl von Challenge-Hilfsdatensatz-Paaren oder Challengesatz-Hilfsdatensatz-Paaren ein Paar wählbar in Abhängigkeit von der Anfragenachricht. Das Challenge-Hilfsdatensatz-Paar ist an den Einsatzzweck gebunden, welche der externen Einheit über die Anfragenachricht mit der darin enthaltenen Einsatzanfrage vorgegeben wird. Das Challenge-Hilfsdatensatz-Paar ist derart ausgestaltet, dass durch die Schlüsselerzeugungsvorrichtung ein kryptographischer Schlüssel generierbar ist, der zu dem Einsatzzweck verwendet werden kann. Dabei wird im Falle des Challengesatz-Hilfsdatensatz-Paares die physikalisch unklonbare Funktion mit dem Satz von Challenges beaufschlagt, so dass mehrere Responses ermittelt werden, welche gemeinsam den kryptographischen Schlüssel ergeben. Somit kann eine Vielzahl von Einsatzanfragen gesendet werden, welche jeweils einen anderen Einsatzzweck angeben und daraufhin das jeweils passende Challenge-Hilfsdatensatz-Paar oder Challengesatz-Hilfsdatensatz-Paar an die Schlüsselerzeugungsvorrichtung gesendet werden. So wird zusätzlich zu dem Hilfsdatensatz auch die zur Schlüsselerzeugung benötigte Challenge erst bereitgestellt, wenn die externe Einheit die Einsatzanfrage erhalten hat. Insbesondere ist also auch das Bereitstellen der Challenge an einen Berechtigungsnachweis gebunden. Ein Speichern der Challenge auf dem Gerät kann so vermieden werden.
  • Als Lizenzdaten werden dann beispielsweise ein Satz von Challenges und der dazugehörige Hilfsdatensatz übermittelt. Erst falls ein Gerät über die korrekte physikalisch unklonbare Funktion, über den Hilfsdatensatz und über den dazugehörigen Satz von Challenges verfügt, ist der Lizenzschlüssel ableitbar. Insbesondere bei der Lizenzierung mehrerer unterschiedlicher Features ist es außerdem möglich, zu einem Satz von Challenges verschiedene Hilfsdatensätze zur Schlüsselrekonstruktion zu verwenden, welche zu unterschiedlichen kryptographischen Schlüsseln führen.
  • Gemäß einer Ausgestaltung wird der mindestens eine Hilfsdatensatz kryptographisch geschützt übertragen. Somit kann eine besonders hohe Absicherung der Kommunikation gewährleistet werden, welche zur Lizenzierung der Schlüsselerzeugungsvorrichtung durch die externe Einheit als Lizenzgeber führen soll oder zu einer Aushandlung eines symmetrischen Schlüssels oder zur Übertragung eines erneuerten Schlüssels. Somit kann insbesondere vorteilhaft versucht werden, die Übergabe von Hilfsdatensätzen an sich für einen Angreifer nicht erkennbar zu machen, sodass dieser über den Vorgang einer Lizenzierung oder Schlüsselvereinbarung keine Kenntnis erlangt.
  • Die Erfindung betrifft ferner eine Schlüsselerzeugungsvorrichtung zum Erzeugen eines kryptographischen Schlüssels unter Verwendung einer physikalisch unklonbaren Funktion mit:
    • – einer Empfangseinrichtung zum Empfangen mindestens eines Hilfsdatensatzes von der externen Einheit, wobei der mindestens eine Hilfsdatensatz durch die externe Einheit in Abhängigkeit von einer der externen Einheit übermittelten Anfragenachricht, die Anfragenachricht aufweisend eine Einsatzanfrage für eine Schlüsselerzeugungsvorrichtung, vorgebbar ist und an einen zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen ist;
    • – wobei die Schlüsselerzeugungsvorrichtung zum Erzeugen des kryptographischen Schlüssels unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem mindestens einen Hilfsdatensatz ausgebildet ist, wobei der kryptographische Schlüssel zur Verwendung für den durch den mindestens einen Hilfsdatensatz festgelegten Einsatzzweck ausgebildet ist.
  • Es kann in einer Variante eine Sendeeinrichtung auf der Schlüsselerzeugungsvorrichtung vorgesehen sein zum Senden der Anfragenachricht oder zum Bereitstellen von Identifikationsdaten.
  • Die Erfindung betrifft ferner ein eingebettetes System, aufweisend eine Schlüsselerzeugungsvorrichtung, eine Schaltkreiseinheit mit darauf realisierter physikalisch unklonbarer Funktion sowie einen Lizenzdatensatzspeicher, wobei:
    • – die Schlüsselerzeugungsvorrichtung Zugriff auf mehrere in dem Lizenzdatensatzspeicher abgelegte Lizenzdatensätze hat und die Lizenzdatensätze jeweils mindestens einen Hilfsdatensatz aufweisen;
    • – die Schlüsselerzeugungsvorrichtung zum Erzeugen eines kryptographischen Schlüssels ausgebildet ist unter Verwendung der physikalisch unklonbaren Funktion der Schaltkreiseinheit und basierend auf mindestens einem aus dem Lizenzdatensatzspeicher ausgelesenen Hilfsdatensatz, wobei der kryptographische Schlüssel zur Freischaltung einer Funktionalität des eingebetteten Systems ausgebildet ist und wobei die Funktionalität durch den mindestens einen Hilfsdatensatz festgelegt ist.
  • Gemäß einer Ausgestaltung ist das eingebettete System ferner dadurch gekennzeichnet, dass
    • – die Lizenzdatensätze jeweils den mindestens einen Hilfsdatensatz und mindestens ein Challenge, insbesondere einen Satz von Challenges, aufweisen;
    • – die Schlüsselerzeugungsvorrichtung Zugriff auf die mindestens eine Challenge hat;
    • – die Schaltkreiseinheit ausgebildet ist, mittels der physikalisch unklonbaren Funktion mindestens eine Response in Abhängigkeit von der mindestens einen Challenge zu generieren;
    • – die Schlüsselerzeugungsvorrichtung zum Erzeugen des kryptographischen Schlüssels mit Hilfe einer Schlüsselableitungsfunktion aus der mindestens einen Response und dem mindestens einen Hilfsdatensatz ausgebildet ist.
  • Die Erfindung wird nachfolgend mit Hilfe von Ausführungsbeispielen anhand der Figuren näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung einer Schlüsselerzeugungsvorrichtung zur Durchführung des Verfahrens gemäß einem ersten Ausführungsbeispiel der Erfindung;
  • 2 eingebettetes System mit Schlüsselerzeugungsvorrichtung zum Erzeugen eines kryptographischen Schlüssels gemäß einem zweiten Ausführungsbeispiel der Erfindung.
  • 1 veranschaulicht, wie ein kryptographischer Schlüssel K mittels einer Schlüsselerzeugungsvorrichtung 10 erzeugt wird. Dabei handelt es sich bei dem kryptographischen Schlüssel K um einen symmetrischen Schlüssel, welcher als gemeinsames Geheimnis mit einem Schlüsselpartner geteilt wird. Dafür sendet eine Sendeeinrichtung 10a eine Anfragenachricht RE an eine externe Einheit 20. Die externe Einheit 20 wird dabei als zentrale Schlüsselverteilungseinheit realisiert. Dort werden zentral Schlüsselpaare oder gemeinsame symmetrische Schlüssel für zwei oder mehr Geräte gespeichert. Auf Anfrage und sofern die anfragende Schlüsselerzeugungsvorrichtung 10 als berechtigt erkannt wird, stellt die externe Einheit 20 einen Hilfsdatensatz HD zur Verfügung. Über eine Empfangseinrichtung 10b wird der Hilfsdatensatz HD durch die Schlüsselerzeugungsvorrichtung 10 empfangen. Die Schlüsselerzeugungsvorrichtung 10 verwendet nun die physikalisch unklonbare Funktion PUF zur Erzeugung eines Merkmals, welches für eine zu der Schlüsselerzeugungsvorrichtung 10 gehörige Hardware eindeutig und charakteristisch ist. Die physikalisch unklonbare Funktion PUF kann dabei auf einer Schaltkreiseinheit realisiert sein, welche auf der Schlüsselerzeugungsvorrichtung 10 selbst vorgesehen ist. Ferner kann die Schlüsselerzeugungsvorrichtung 10 beispielsweise eine physikalisch unklonbare Funktion PUF, die auf einer speziell zur Realisierung der physikalisch unklonbaren Funktion PUF vorgesehenen Schaltkreiseinheit realisiert ist, mit einem Satz von Challenges CH, CH' beaufschlagen und erhält als Antwort einen Satz von Responses R, R'. Aus den Responses R, R' ermittelt die Schlüsselerzeugungsvorrichtung 10 auf Basis des empfangenen Hilfsdatensatzes HD den kryptographischen Schlüssel K.
  • In einer vorteilhaften Variante wird der Schlüsselpartner, mit welchem der kryptographische Schlüssel K als symmetrischer Schlüssel geteilt werden soll, durch eine analog zur Schlüsselerzeugungsvorrichtung 10 funktionierende zweite Schlüsselerzeugungsvorrichtung ausgestaltet. Auch diese zweite Schlüsselerzeugungsvorrichtung fragt bei der externen Einheit 20 nach einem Hilfsdatensatz an und übermittelt in der Anfragenachricht den gewünschten Schlüsselkommunikationspartner, der in diesem Beispiel zu der Schlüsselerzeugungsvorrichtung 10 gehörig ist. Die externe Einheit 20 übermittelt den Hilfsdatensatz, der dazu geeignet ist, unter Verwendung einer zweiten physikalisch unklonbaren Funktion, welche die Hardwarerealisierung der zweiten Schlüsselvorrichtung kennzeichnet, den symmetrischen Schlüssel durch die zweite Schlüsselerzeugungsvorrichtung zu rekonstruieren. Der durch die externe Einheit 20 übermittelte Hilfsdatensatz HD beziehungsweise zweite Hilfsdatensatz berücksichtigt damit jeweils die auf dem jeweiligen Gerät befindliche physikalisch unklonbare Funktion und ihre Eigenschaften bei der Erzeugung der Responses.
  • Somit wurde ein gemeinsamer kryptographischer Schlüssel K eingerichtet, welcher beispielsweise für eine geschützte Kommunikation zwischen einem Gerät der Schlüsselerzeugungsvorrichtung 10 und einem zweiten Gerät der zweiten Schlüsselerzeugungsvorrichtung genutzt werden kann.
  • Die externe Einheit 20 ermittelt als Zentrale, insbesondere als Hersteller während einer Produktionsphase, Daten aller Geräte, welche in einer späteren Nutzungsphase einen Schlüssel anfragen können. Dabei wird jeweils die physikalisch unklonbare Funktion PUF eines Gerätes vermessen. Beispielsweise werden Rohdaten, wie insbesondere Challenge-Response-Paare, gespeichert oder die externe Einheit 20 bestimmt die für die Schlüsselextraktion benötigten Hilfsdaten HD für einen bestimmten kryptographischen Schlüssel K und speichert diese Hilfsdaten HD.
  • Es ist in einer Variante ebenso möglich, dass ein Gerät selbst, beispielsweise bei einer ersten Inbetriebnahme oder einer Anmeldung über einen Dienst, selbst die Hilfsdaten HD zur Bestimmung eines durch das Gerät vorgegebenen kryptographischen Schlüssels K bestimmt und diese der externen Einheit 20 für eine spätere Anfrage bereitstellt, insbesondere zusammen mit dem Satz von Challenges.
  • In 2 ist schematisch ein eingebettetes System 1 oder sogenanntes Embedded System gezeigt, auf welchem eine Ausgestaltung des Verfahrens zum Erzeugen eines kryptographischen Schlüssels K genutzt wird zur Realisierung eines sicheren Lizenzierungsverfahrens. Auf dem eingebetteten System sollen nur bestimmte Funktionalitäten oder Features nutzbar sein. Dafür soll für diese Features ein kryptographischer Schlüssel K verfügbar sein, mit Hilfe dessen eine Freischaltung von Sicherheitsmechanismen, durch welche die einzelnen Features geschützt sind, möglich ist. Der kryptographische Schlüssel K ermöglicht dann beispielsweise ein Entschlüsseln von einem Teil von mit diesem Schlüssel verschlüsselter Firmware. Beispielsweise werden Firmware-Code, Programmcode oder Daten von zu lizenzierenden oder freischaltbaren Features in einer Firmware eines Gerätes für jedes Gerät individuell verschlüsselt. Ohne passenden Lizenzschlüssel liegen der Code beziehungsweise die Daten zur Realisierung eines Features nur in verschlüsselter Form auf dem Gerät vor.
  • Als Lizenzinformation oder Lizenzcode werden einer Schlüsselerzeugungsvorrichtung 10 auf dem eingebetteten System 1 ein Hilfsdatensatz HD von einem Lizenzdatensatzspeicher 20a bereitgestellt. Zusätzlich stellt der Lizenzdatensatzspeicher 20a auch einen Satz von Challenges CH, CH' bereit. Der Satz von Challenges CH, CH' wird durch die Schlüsselerzeugungsvorrichtung 10 dazu genutzt, eine physikalisch unklonbare Funktion PUF, welche auf einer Schaltkreiseinheit 30 als Bestandteil des eingebetteten Systems 1 realisiert ist, zu beaufschlagen. Von der Schaltkreiseinheit 30 erhält die Schlüsselerzeugungsvorrichtung 10 als Antwort einen Satz von Responses R, R'. Die Schlüsselerzeugungsvorrichtung 10 kann in der Funktionalität als Schlüsselerzeuger oder Key Extractor aus dem Satz von Responses R, R' und dem Hilfsdatensatz HD nun eine ursprüngliche Referenzresponse rekonstruieren.
  • Zur Erstellung eines derartigen Hilfsdatensatzes HD wird vor Auslieferung eines Gerätes die darauf befindliche physikalisch unklonbare Funktion PUF mit dem Satz von Challenges angelernt. Für den Satz von Challenges wird durch die physikalisch unklonbare Funktion in der Inititalisierungsphase ein Satz von Test-Responses zurückgeliefert. Bei mehrmaligem Beaufschlagen mit einem identischen Satz von Challenges ist nicht sichergestellt, dass bitweise exakt die gleichen Responses erzeugt werden. Es kommt zu in Bezug auf die Hamming-Distanz kleinen bitweisen Abweichungen bei jeder erneuten Berechnung. Um nun für eine Challenge die wahrscheinlichste Response als geeignete Referenzresponse auszuwählen, wird die physikalisch unklonbare Funktion in mehrmaligen Durchläufen mit der gleichen Challenge angesteuert und aus den resultierenden Test-Responses die am häufigsten vorkommende Response ausgewählt und als die zu verwendende Referenzresponse identifiziert. Mit einem auf einem geeigneten Fehlerkorrekturverfahren, wie beispielsweise BCH-Code-Verfahren, basierenden sogenannten Fuzzy Extractor werden nun passend zu einer Challenge oder passend zu den mehreren Challenges und der jeweiligen identifizierten Referenz-Response ein Hilfsdatensatz oder sogenannte Helper Data berechnet. Mit Hilfe eines solchen Hilfsdatensatzes HD, dem Satz von Challenges und der Fehlerkorrektur des Extraktionsverfahrens ist es später möglich, aus einer von der physikalisch unklonbaren Funktion PUF erhaltenen, mutmaßlich fehlerbehafteten Response R die ursprüngliche Referenz-Response wieder herzustellen.
  • Ein korrekter kryptographischer Schlüssel, welcher mit in einer Herstellungsphase des Gerätes zur Verschlüsselung eines Teils des Firmware-Codes verwendet wurde, kann später nur hergestellt werden, sofern einerseits die Schlüsselerzeugung auf dem ursprünglichen Gerät hergestellt wird, und somit physikalischer Zugang zu der physikalisch unklonbaren Funktion PUF besteht. Auf einem nachgebauten oder manipulierten oder nicht mit dem ursprünglichen Gerät übereinstimmenden Gerät kann der korrekte, passende kryptographische Schlüssel K nicht erzeugt werden. Außerdem kann der kryptographische Schlüssel K nicht passend erzeugt werden, sofern keine Information über den Hilfsdatensatz HD vorliegt. Die Verfügbarkeit über den Hilfsdatensatz HD und den dazu passenden Satz von Challenges CH, CH' wird durch den Lizenzdatensatzspeicher 20a festgelegt. Dort gespeicherte Informationen wurden beispielsweise auf Grundlage einer vorhandenen Berechtigung abgespeichert. Beispielsweise wurde bei Auslieferung des Gerätes der Inhalt des Lizenzdatensatzspeichers 20a festgelegt. Ferner ist es denkbar, dass nach Inbetriebnahme des eingebetteten Systems 1 eine Berechtigung zur Nutzung eines zugeordneten Features durch das eingebettete System 1 nachgewiesen wird und daraufhin der Hilfsdatensatz HD gemeinsam mit einem Satz von Challenges CH, CH' für die angefragte Nutzung auf den Lizenzdatensatzspeicher aufgespielt werden. Dies geschieht beispielsweise im Rahmen eines Updates, das durch einen Security Manager durchgeführt wird.
  • Es werden in der Initialisierungsphase oder in einer Konfigurationsphase vorteilhaft für verschiedene Sätze von Challenges CHa, CHa', ..., CHb, CHb', ... verschiedene Hilfsdatensätze HDa, HDb, ... gemäß dem oben beschriebenen Vorgehen erzeugt. Mit diesen verschiedenen Paaren sind mittels der physikalisch unklonbaren Funktion PUF und des Fehlerkorrekturverfahrens des Key Extractors in der späteren Nutzungsphase verschiedene Lizenzschlüssel ableitbar. Je nach Einsatzanfrage wird die passende Lizenzinformation aus Hilfsdatensatz HDx und Satz von Challenges CHx, CHx' aus dem Lizenzdatensatzspeicher bereitgestellt.
  • Somit wird das Problem eines sicheren lokalen Schlüsselspeichers für Lizenzschlüssel für eine geschützte Aktivierung von verschiedenen Features auf einem eingebetteten System 1 durch die Verwendung einer PUF-Realisierung auf einem FPGA- oder einem ASIC-Anteil des eingebetteten Systems 1 in Kombination mit der Bereitstellung ausgewählter Hilfsdaten HD und dem dazugehörigen Satz von Challenges CH, CH' gelöst. Einerseits muss die Schlüsselerzeugungsvorrichtung und damit die Schlüsselerzeugung des kryptographischen Schlüssels K auf dem originalen eingebetteten System 1 durchgeführt werden. Dennoch werden die indirekten Lizenzdaten nicht bereitgestellt, sofern eine Benutzung nicht freigeschaltet werden soll, so dass ein Gerät trotz vorhandener PUF-Realisierung und der vorliegenden passenden Hardware den Lizenzschlüssel nicht berechnen kann. Ohne Kenntnis des Hilfsdatensatzes HD und des Satzes von Challenges CH, CH', ..., den sogenannten indirekten Lizenzdaten, kann trotz Zugriff auf die korrekte physikalisch unklonbare Funktion PUF nicht der korrekte kryptographische Schlüssel K erzeugt werden. Die Verwendung des dazugehörigen Features ist somit nicht möglich.
  • Zusätzlich wird kein sensibles kryptographisches Material auf dem eingebetteten System 1 gespeichert. Lediglich der jeweilige Hilfsdatensatz HD und der dazugehörige Satz von Challenges CH, CH', ... sind auf dem Lizenzdatensatzspeicher 20a abgespeichert. Erst durch das Durchführen der Schlüsselableitung mittels der Schlüsselerzeugungsvorrichtung 10 und der physikalisch unklonbaren Funktion PUF kann der Hilfsdatensatz HD und der Satz von Challenges CH, CH' genutzt werden. Somit sind Seitenkanalangriffe, welche Informationen über die Hilfsdaten HD sowie den Satz von Challenges CH, CH' ausspähen wollen, nicht erfolgreich. Aus der Information über diese indirekten Lizenzdaten alleine kann ohne Kombination mit der Schaltkreiseinheit 30 als Hardware, die die physikalisch unklonbare Funktion PUF realisiert, keine Information über den Lizenzschlüssel erlangt werden. Ein Auslesen des Lizenzdatensatzspeichers 20a durch einen Angreifer ist somit nicht erfolgreich, um einen Lizenzschlüssel auszulesen.
  • Die indirekten Lizenzdaten können von einem Angreifer nicht für die Verwendung auf einem anderen, hersteller- und typgleichen Gerät missbraucht werden, da die Realisierung der physikalisch unklonbaren Funktion des anderen Gerätes durch Abweichungen der zugrunde liegenden physikalischen Gegebenheiten der Hardware zu derart stark abweichenden Responses führt, dass auch mit Hilfe der Challenge CH, des Hilfsdatensatzes HD und der Fehlerkorrektur des Extraktionsverfahrens die ursprüngliche Response nicht erfolgreich wiederhergestellt werden kann.
  • Vorteilhaft kann ein vorgegebener Schlüssel auf allen Endgeräten, beispielsweise einer Baureihe, konstruiert werden, allerdings sind für jedes Gerät individuelle Hilfsdaten erforderlich. Somit kann ein identisches Feature für mehrere Geräte mit einem identischen Schlüssel verschlüsselt werden und somit dieselbe verschlüsselte Firmware auf alle Geräte gespielt werden. Nur das Gerät, das den zu dem Schlüssel, seinem Satz von Challenges und seiner PUF-Realisierung passenden individuellen Hilfsdatensatz HD zur Verfügung hat, kann später das Feature auch entschlüsseln und nutzen.
  • Auch dieser, gemäß der Variante für mehrere Geräte genutzter Schlüssel, wird nicht persistent auf dem Gerät gespeichert, sondern jedes Mal neu berechnet. Ein Auslesen des Schlüssels aus einem Speicher ist also auch hier nicht möglich.
  • Der Entwicklungsaufwand für mehrere Geräte ist somit vorteilhaft gleich und somit gegenüber bekannten Verfahren reduziert, unabhängig davon, ob alle Features genutzt werden dürfen oder nicht. Nur durch die Vergabe von individuellen Berichtigungen wird von Gerät zu Gerät entschieden, ob eine Vollversion oder eine Lightversion genutzt werden kann.
  • Der erzeugte kryptographische Schlüssel K wird gemäß dem Ausführungsbeispiel ferner an eine Lizenzverwaltung L übergeben, welche je nach erzeugtem Lizenzschlüssel die Lizenzierung eines bestimmten Features ermöglicht.
  • Ein Kopieren der Lizenzinformation auf ein anderes hersteller- oder typgleiches Gerät ermöglicht einen Missbrauch der Lizenzinformation oder ein Umgehen eines Berechtigungsnachweises zum Erlangen der Lizenz durch ein unbefugtes Gerät dennoch nicht.

Claims (15)

  1. Verfahren zum Erzeugen eines kryptographischen Schlüssels (K) unter Verwendung einer physikalisch unklonbaren Funktion (PUF), aufweisend die folgenden Schritte: – Übermitteln einer Anfragenachricht (RE) aufweisend eine Einsatzanfrage für eine Schlüsselerzeugungsvorrichtung (10) an eine externe Einheit (20); – Vorgeben mindestens eines Hilfsdatensatzes (HD) durch die externe Einheit (20) in Abhängigkeit von der mittels der Anfragenachricht (RE) empfangenen Einsatzanfrage; – Senden des mindestens einen Hilfsdatensatzes (HD) durch die externe Einheit (20) an die Schlüsselerzeugungsvorrichtung (10), wobei der mindestens eine Hilfsdatensatz (HD) an einen zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen ist; und; – Generieren des kryptographischen Schlüssels (K) durch die Schlüsselerzeugungsvorrichtung (10) unter Verwendung der physikalisch unklonbaren Funktion (PUF) und basierend auf dem durch die Schlüsselerzeugungsvorrichtung (10) empfangenen mindestens einen Hilfsdatensatz (HD) zur Verwendung für den durch den mindestens einen Hilfsdatensatz (HD) festgelegten Einsatzzweck.
  2. Verfahren nach Anspruch 1, wobei die Anfragenachricht (RE) eine Identifizierungsinformation oder Einsatzanfrageinformation aufweist.
  3. Verfahren nach Anspruch 1 oder 2, wobei als Einsatzanfrage eine Lizenzanfrageinformation gesendet wird, der mindestens eine Hilfsdatensatz (HD) an eine Lizensierung gebunden ist und basierend auf dem mindestens einen Hilfsdatensatz (HD) der kryptographische Schlüssel (K) zur Verwendung für die Lizensierung generiert wird.
  4. Verfahren nach einem der Ansprüche 1 oder 2, wobei als Einsatzanfrage eine Schlüsseleinrichtungsinformation gesendet wird, der mindestens eine Hilfsdatensatz (HD) an eine Einrichtung eines symmetrischen Schlüssels gebunden ist und basierend auf dem mindestens einen Hilfsdatensatz (HD) der kryptographische Schlüssel (K) zur Verwendung als symmetrischer Schlüssel generiert wird.
  5. Verfahren nach Anspruch 4, wobei die Schlüsseleinrichtungsinformation mindestens eine Angabe über einen Schlüsselpartner aufweist und der mindestens eine Hilfsdatensatz (HD) an eine Einrichtung eines symmetrischen, mit dem Schlüsselpartner gemeinsamen Schlüssels gebunden ist.
  6. Verfahren nach einem der Ansprüche 1 oder 2, wobei als Einsatzanfrage eine Schlüsselerneuerungsinformation gesendet wird, der mindestens eine Hilfsdatensatz (HD) an eine Erzeugung eines erneuerten Schlüssels gebunden ist und basierend auf dem mindestens einen Hilfsdatensatz (HD) der kryptographische Schlüssel (K) zur Verwendung als erneuerter Schlüssel generiert wird.
  7. Verfahren nach Anspruch 6, wobei der kryptographische Schlüssel (K) zur Verwendung als erneuerter Schlüssel zur Entschlüsselung einer erneuerten Firmware-Version generiert wird.
  8. Verfahren nach Anspruch 6 oder 7, wobei der mindestens eine Hilfsdatensatz (HD) gemeinsam mit einer erneuerten Firmware-Version gesendet wird.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei ein weiterer Hilfsdatensatz gesendet wird, unter Verwendung der physikalisch unklonbaren Funktion und basierend auf dem weiteren Hilfsdatensatz ein Sicherungsschlüssels generiert wird und eine Authentisierung des mindestens einen Hilfsdatensatzes (HD) erfolgt, falls der Sicherungsschlüssel und der kryptographische Schlüssel (K) geprüft und als konsistent, insbesondere als identisch, bitweise invers oder durch eine vorgebbare Rechenoperation ableitbar, eingestuft werden.
  10. Verfahren nach einem der vorstehenden Ansprüche, wobei der mindestens eine Hilfsdatensatz (HD) in einer Initialisierungsphase aus dem Beaufschlagen der physikalisch unklonbaren Funktion (PUF) mit mindestens einer Challenge (CH), insbesondere mit einem Satz von Challenges (CH, CH', ...), abgeleitet wird.
  11. Verfahren nach einem der vorstehenden Ansprüche, wobei durch die externe Einheit (20) zu dem mindestens einen Hilfsdatensatz (HD) mindestens eine Challenge (CH), insbesondere ein Satz von Challenges (CH, CH', ...), vorgegeben wird in Abhängigkeit von der mittels der Anfragenachricht (RE) empfangenen Einsatzanfrage und die mindestens eine Challenge (CH) gemeinsam mit dem mindestens einen Hilfsdatensatz (HD) durch die externe Einheit (20) an die Schlüsselerzeugungsvorrichtung (10) gesendet wird, wobei der mindestens eine Hilfsdatensatz (HD) und die mindestens eine Challenge (CH) an den zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen sind.
  12. Verfahren nach einem der vorstehenden Ansprüche, wobei der mindestens eine Hilfsdatensatz (HD) kryptographisch geschützt übertragen wird.
  13. Schlüsselerzeugungsvorrichtung (10) zum Erzeugen eines kryptographischen Schlüssels (K) unter Verwendung einer physikalisch unklonbaren Funktion (PUF), mit: – einer Empfangseinrichtung (10b) zum Empfangen mindestens eines Hilfsdatensatzes (HD) von der externen Einheit (20), wobei der mindestens eine Hilfsdatensatz (HD) durch die externe Einheit (20) in Abhängigkeit von einer der externen Einheit übermittelten Anfragenachricht (RE), die Anfragenachricht (RE) aufweisend eine Einsatzanfrage für eine Schlüsselerzeugungsvorrichtung (10), vorgebbar ist und an einen zu der Einsatzanfrage gehörigen Einsatzzweck gebundenen ist; – wobei die Schlüsselerzeugungsvorrichtung (10) zum Erzeugen des kryptographischen Schlüssels (K) unter Verwendung der physikalisch unklonbaren Funktion (PUF) und basierend auf dem mindestens einen Hilfsdatensatz (HD) ausgebildet ist, wobei der kryptographische Schlüssel (K) zur Verwendung für den durch den mindestens einen Hilfsdatensatz (HD) festgelegten Einsatzzweck ausgebildet ist.
  14. Eingebettetes System (1), aufweisend eine Schlüsselerzeugungsvorrichtung (10), eine Schaltkreiseinheit (30) mit darauf realisierter physikalisch unklonbarer Funktion (PUF) sowie einen Lizenzdatensatzspeicher (20a), wobei: – die Schlüsselerzeugungsvorrichtung (10) Zugriff auf mehrere in dem Lizenzdatensatzspeicher (20a) abgelegte Lizenzdatensätze hat und die Lizenzdatensätze jeweils mindestens einen Hilfsdatensatz (HD) aufweisen; – die Schlüsselerzeugungsvorrichtung (10) zum Erzeugen eines kryptographischen Schlüssels (K) ausgebildet ist unter Verwendung der physikalisch unklonbaren Funktion (PUF) der Schaltkreiseinheit (30) und basierend auf mindestens einem aus dem Lizenzdatensatzspeicher (20a) ausgelesenen Hilfsdatensatz (HD), wobei der kryptographische Schlüssel (K) zur Freischaltung einer Funktionalität des eingebetteten Systems (1) ausgebildet ist und wobei die Funktionalität durch den mindestens einen Hilfsdatensatz (HD) festgelegt ist.
  15. Eingebettetes System (1) nach Anspruch 14, wobei – die Lizenzdatensätze jeweils den mindestens einen Hilfsdatensatz (HD) und mindestens ein Challenge (CH), insbesondere einen Satz von Challenges (CH, CH', ...) aufweisen; – die Schlüsselerzeugungsvorrichtung (10) Zugriff auf die mindestens eine Challenge (CH) hat; – die Schaltkreiseinheit (30) ausgebildet ist, mittels der physikalisch unklonbaren Funktion (PUF) mindestens eine Response (R) in Abhängigkeit von der mindestens einen Challenge (CH) zu generieren; – die Schlüsselerzeugungsvorrichtung (10) zum Erzeugen des kryptographischen Schlüssels (K) mit Hilfe einer Schlüsselableitungsfunktion aus der mindestens einen Response (R) und dem mindestens einen Hilfsdatensatz (HD) ausgebildet ist.
DE102014210282.0A 2014-05-30 2014-05-30 Erzeugen eines kryptographischen Schlüssels Withdrawn DE102014210282A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014210282.0A DE102014210282A1 (de) 2014-05-30 2014-05-30 Erzeugen eines kryptographischen Schlüssels
PCT/EP2015/056950 WO2015180867A1 (de) 2014-05-30 2015-03-31 Erzeugen eines kryptographischen schlüssels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014210282.0A DE102014210282A1 (de) 2014-05-30 2014-05-30 Erzeugen eines kryptographischen Schlüssels

Publications (1)

Publication Number Publication Date
DE102014210282A1 true DE102014210282A1 (de) 2015-12-03

Family

ID=52814084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014210282.0A Withdrawn DE102014210282A1 (de) 2014-05-30 2014-05-30 Erzeugen eines kryptographischen Schlüssels

Country Status (2)

Country Link
DE (1) DE102014210282A1 (de)
WO (1) WO2015180867A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016201665A1 (de) 2016-02-03 2017-08-03 Siemens Aktiengesellschaft Verschlüsseln des Speicherinhalts eines Speichers in einem eingebetteten System
CN112104459B (zh) * 2020-09-10 2023-05-12 国网江苏省电力有限公司信息通信分公司 一种基于信道指纹与辅助数据的密钥生成方法
TWI769961B (zh) * 2020-12-11 2022-07-01 熵碼科技股份有限公司 基於物理不可複製函數的密鑰管理系統及其操作方法
CN112910635B (zh) * 2020-12-25 2022-10-04 北京明朝万达科技股份有限公司 借贷人借贷信息查询方法和***
CN114584321B (zh) * 2022-03-21 2024-01-26 北京普安信科技有限公司 一种基于puf器件的数据信息加密部署方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100272255A1 (en) * 2004-11-12 2010-10-28 Verayo, Inc. Securely field configurable device
US20140108786A1 (en) * 2011-03-11 2014-04-17 Emsycon Gmbh Tamper-protected hardware and method for using same
DE102012219112A1 (de) * 2012-10-19 2014-04-24 Siemens Aktiengesellschaft Verwenden einer PUF zur Prüfung einer Authentisierung, insbesondere zum Schutz vor unberechtigtem Zugriff auf eine Funktion eines ICs oder Steuergerätes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007023420A1 (en) * 2005-08-23 2007-03-01 Koninklijke Philips Electronics N.V. Information carrier authentication with a physical one-way function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100272255A1 (en) * 2004-11-12 2010-10-28 Verayo, Inc. Securely field configurable device
US20140108786A1 (en) * 2011-03-11 2014-04-17 Emsycon Gmbh Tamper-protected hardware and method for using same
DE102012219112A1 (de) * 2012-10-19 2014-04-24 Siemens Aktiengesellschaft Verwenden einer PUF zur Prüfung einer Authentisierung, insbesondere zum Schutz vor unberechtigtem Zugriff auf eine Funktion eines ICs oder Steuergerätes

Also Published As

Publication number Publication date
WO2015180867A1 (de) 2015-12-03

Similar Documents

Publication Publication Date Title
EP3447667B1 (de) Kryptographische sicherung für eine verteilte datenspeicherung
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
EP3731119B1 (de) Computerimplementiertes verfahren zur zugriffskontrolle
EP3108610B1 (de) Verfarhen und system zum erstellen und zur gültigkeitsprüfung von gerätezertifikaten
EP1946481B1 (de) Verfahren zur erzeugung einer fortgeschrittenen elektronischen signatur eines elektronischen dokuments
DE102017212618B3 (de) Hardwaresystem mit Blockchain
DE102018127126A1 (de) Erneute Registrierung von physikalisch unklonbaren Funktionen aus der Ferne
DE102017202423A1 (de) Gesteuerte sichere Codeauthentifizierung
EP2340502B1 (de) Datenverarbeitungssystem zur bereitstellung von berechtigungsschlüsseln
DE112011100182T5 (de) Transaktionsprüfung für Datensicherheitsvorrichtungen
DE102009001718A1 (de) Verfahren zur Bereitstellung von kryptografischen Schlüsselpaaren
EP2918040A1 (de) Erstellen eines abgeleiteten schlüssels aus einem kryptographischen schlüssel mittels einer physikalisch nicht klonbaren funktion
DE102017214359A1 (de) Verfahren zum sicheren Ersetzen eines bereits in ein Gerät eingebrachten ersten Herstellerzertifikats
DE102017208503A1 (de) Verfahren, Computerlesbares Medium, System und Fahrzeug umfassend das System zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten
DE102014210282A1 (de) Erzeugen eines kryptographischen Schlüssels
WO2009092399A1 (de) Feldgerät und verfahren zu dessen betrieb
EP3552344B1 (de) Bidirektional verkettete blockchainstruktur
DE102016225360A1 (de) Nachladen kryptographischer Programminstruktionen
EP3629516B1 (de) Dezentralisierte identitätsmanagement-lösung
EP3767513B1 (de) Verfahren zur sicheren durchführung einer fernsignatur sowie sicherheitssystem
DE102014213454A1 (de) Verfahren und System zur Erkennung einer Manipulation von Datensätzen
EP3367285B1 (de) Terminal, id-token, computerprogramm und entsprechende verfahren zur authentisierung einer zugangsberechtigung
EP3627755A1 (de) Verfahren für eine sichere kommunikation in einem kommunikationsnetzwerk mit einer vielzahl von einheiten mit unterschiedlichen sicherheitsniveaus
DE102021118721B3 (de) Verfahren und Vorrichtung zum Bereitstellen eines einem geschützten Datenobjekt zugeordneten digitalen Nutzergeheimnisses
EP3441899A1 (de) Verfahren, system und computerprogrammprodukt zum zugreifen auf eine geschützte einrichtung mit einer zugriffseinrichtung sowie geschützte einrichtung

Legal Events

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