-
Die Erfindung betrifft eine Vorrichtung sowie ein Verfahren und Computerprogrammprodukt zur Ableitung eines Sitzungsschlüssels mit Zugriff auf eine physikalisch unklonbare Funktion, wobei eine Erzeugung und eine Ableitung eines Schlüssels vorgesehen sind.
-
Für die Durchführung kryptographischer Verfahren werden kryptographische Schlüssel benötigt, deren Nutzung abgesichert werden soll. Zum einen soll bereits die Bereitstellung eines kryptographischen Schlüssels gesichert erfolgen. D.h. beispielsweise soll ein unberechtigtes Auslesen verhindert werden. Gleichzeitig soll bei Bedarf komfortabel und ohne großen Schlüsselverteilungsaufwand auf sensitives Schlüsselmaterial zugegriffen werden können.
-
Für zahlreiche Anwendungsfälle ist es nicht ausreichend, einen einzigen kryptographischen Schlüssel, quasi als Master-Key, bereitzustellen. Vielmehr sind gegebenenfalls eine Anzahl unterschiedlicher Schlüssel nötig, welche beispielsweise für verschiedene Algorithmen oder verschiedene Nutzer oder verschiedene Zwecke eingesetzt werden sollen.
-
Das Bereitstellen kryptographischer Schlüssel auf standardkonformen Integrierten Schaltkreisen oder FPGAs als Implementierungsplattformen gewinnt für die praktische Nutzung kryptographischer Verfahren zunehmend an Bedeutung. Auf solchen oder vergleichbaren Implementierungsplattformen ist keine Möglichkeit gegeben, chip-intern einen kryptographischen Schlüssel oder andere variable sensitive Daten sicher und dauerhaft zu speichern.
-
Spezielle Sicherheits-ICs, wie sie beispielsweise für Geldkarten oder SIM-Karten oder ähnliche Chipkarten vorgesehen sind, besitzen einen speziellen oder zudem noch physikalisch geschützten nichtflüchtigen Speicher wie ein EEPROM oder einen Flash-Speicher, in dem das geheim zu haltende Schlüsselmaterial gespeichert ist. Für veränderliche Werte sind physikalische Zufallszahlengeneratoren oder Pseudozufallszahlengeneratoren oder Zählwerke usw. vorgesehen, welche auf einen im nichtflüchtigen Speicher abgespeicherten Startwert zurückgreifen.
-
Es ist ferner allgemein bekannt, einen chip-externen nichtflüchtigen Speicher für die Hinterlegung von sensitiven Daten zu verwenden. Die Daten werden über einen chip-externen Bus zwischen dem nichtflüchtigen Speicher und dem integrierten Schaltkreis ausgetauscht. Diese Kommunikation ist nur mit großem Aufwand gegen Ausspähen abzusichern. Zusätzlich besteht die Gefahr, dass ein Angreifer den externen Speicher offline ausliest und einen kryptographischen Schlüssel extrahiert. Ferner ist die Speicherung in einem internen oder externen flüchtigen Random Access Memory, kurz RAM, bekannt. Dabei muss der Chip eine permanente, nicht unterbrechbare Energieversorgung besitzen, wie beispielsweise eine Batterie. Somit sind wiederum aufwendige physikalische Schutzmaßnahmen erforderlich, da der Speicher ähnlich wie ein nichtflüchtiger Speicher von einem Angreifer direkt ausgelesen werden kann.
-
Allgemein ist die Verwendung physikalisch unklonbarer Funktionen oder Physical Unclonable Functions, im folgenden kurz PUF genannt, vorgesehen, um ein Abspeichern eines kryptographischen Schlüssels oder ein manuelles Eingeben eines Schlüssels zu vermeiden. Mittels einer Halbleiter-PUF, d.h. einer physikalisch unklonbaren Funktion, die mit Hilfe üblicher Halbleitertechnologie physikalisch implementiert werden kann, ist ein Schlüssel ad hoc bei Bedarf erzeugbar. Die PUF-Eigenschaft einer solchen Halbleiterschaltung besteht darin, dass es weder für den Designer der Schaltung, noch für den Hersteller des Halbleiters oder einen potentiellen Angreifer möglich ist, das Verhalten der Schaltung direkt zu analysieren oder den Ausgabewert der Schaltung gezielt zu beeinflussen oder vorherzusagen. Ebenso wenig ist es möglich, die Funktion identisch zu reproduzieren, obwohl es möglich ist, die zugehörige Schaltung zu reproduzieren.
-
Es ist aus der Veröffentlichungsschrift
US 2013/0142329 A1 bekannt, einen gerätespezifischen Schlüssel mittels einer PUF abzuleiten. Dabei gehen Ableitungsparameter in die Schlüsselerzeugung ein.
-
Vor diesem Hintergrund ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung sowie ein Verfahren und ein Computerprogrammprodukt bereitzustellen, welches eine vereinfachte und gleichzeitig sichere Ableitung eines Sitzungsschlüssels ermöglicht.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen sind in den abhängigen Ansprüchen angegeben.
-
Die Erfindung betrifft eine Vorrichtung zur Ableitung eines Sitzungsschlüssels mit Zugriff auf eine physikalisch unklonbare Funktion, aufweisend ein Schlüsselerzeugungsmodul zur Erzeugung eines kryptographischen Schlüssels aus einer Response der physikalisch unklonbaren Funktion und ein Schlüsselableitungsmodul zur Ableitung des Sitzungsschlüssels aus dem kryptographischen Schlüssel und einem sitzungsspezifischen Ableitungsparameter.
-
Mittels des Schlüsselerzeugungsmoduls wird ein kryptographischer Schlüssel aus einer Response einer PUF gebildet. Die PUF wird für die Erzeugung der Response durch eine Challenge stimuliert. Insbesondere werden verschiedene Challenges zur Ermittlung verschiedener Responses-Bits verwendet. Beispielsweise wird der kryptographische Schlüssel aus mehreren PUF-Response-Bits gebildet, die nacheinander durch Anlegen verschiedener Challenges oder durch Vorsehen einer Challenge, die eine Abfolge von Umkonfigurierungen bewirkt, ermittelt werden. Der Schlüssel kann ebenso direkt aus der Challenge oder der Response der Challenge abgeleitet werden. Für die Erzeugung auf Basis des Response-Wertes sind gegebenenfalls Hilfsdaten nötig, um eine zuverlässige Erzeugung des Schlüssels gewährleisten zu können. Der erzeugte kryptographische Schlüssel erfüllt bereits Anforderungen des Kryptoalgorithmus, für den er im späteren Verlauf eingesetzt werden soll, beispielsweise im Hinblick auf Schlüssellänge oder Entropie. Die physikalisch unklonbare Funktion ist beispielsweise auf der Vorrichtung direkt vorgesehen. Bei der Vorrichtung handelt es sich beispielsweise um einen integrierten Schaltkreis oder einen FPGA. Vorteilhafterweise ist sowohl das Schlüsselerzeugungsmodul, als auch die PUF, als auch das Schlüsselableitungsmodul auf einer gemeinsamen Schaltkreiseinheit ausgebildet.
-
Das Schlüsselableitungsmodul erhält als Input sowohl den bereits erzeugten kryptographischen Schlüssel als auch einen sitzungsspezifischen Ableitungsparameter. Da der kryptographische Schlüssel mit Hilfe der PUF erstellt wurde, ist dieser bereit gerätespezifisch. Durch das Einbeziehen des sitzungsspezifischen Ableitungsparameters wird aus dem gerätespezifischen Schlüssel überdies ein sitzungsspezifischer Schlüssel oder Sitzungsschlüssel.
-
Auf vorteilhafte Weise erfolgt die unter Umständen aufwendige Erzeugung eines Schlüssels, welcher Anforderungen kryptographischer Algorithmen erfüllt, ohne Einbeziehung des sitzungsspezifischen Ableitungsparameters. Somit kann eine ohnehin aufwendige Erzeugung des kryptographischen Schlüssels aus der PUF-Response regulär, ohne durch einen Sitzungsparameter weiterhin erhöhte Komplexität, durchgeführt werden. Hilfsmittel, wie beispielsweise ein Fuzzy-Key-Extractor oder die benötigten Hilfsdaten können somit auf die PUF und das jeweilige Gerät abgestimmt werden. Eine Einbeziehung von Ableitungsparametern zur Schlüsseldiversifizierung in die Ermittlung der Hilfsdaten wird vermieden.
-
Gemäß einer Ausgestaltung ist die physikalisch unklonbare Funktion konfigurierbar ausgestaltet und das Schlüsselerzeugungsmodul ausgestaltet, zu verschiedenen Responses der konfigurierbaren physikalisch unklonbaren Funktion jeweils zugehörige kryptographische Schlüssel zu erzeugen. Bei einer konfigurierbaren PUF sind in Abhängigkeit von PUF-Konfigurationsdaten, welche die Challenge bilden, verschiedene Responses erzeugbar. Aus diesen unterschiedlichen Responses sind unterschiedliche kryptographische Schlüssel ableitbar. Insbesondere sind für die Erzeugung eines der unterschiedlichen kryptographischen Schlüssel wiederum mehrfache Konfigurationen über verschiedene Challenges notwendig, um genügend viele Teil-Responses zu erhalten, aus denen ein Schlüssel erzeugt werden kann. Dafür müssen gegebenenfalls benötigte Hilfsdaten auf die jeweilige Response oder Challenge je Konfiguration angepasst werden. Somit ist auf vorteilhafte Weise bereits eine Vielzahl unterschiedlicher kryptographischer Schlüssel ableitbar. Durch das Schlüsselableitungsmodul ist für diese unterschiedlichen, beispielsweise zweckgebundenen, kryptographischen Schlüssel noch zusätzlich die Bindung an den Sitzungsparameter sichergestellt. Durch das Zusammenschalten dieser beiden Mechanismen ist in Summe eine Vielzahl geeigneter Sitzungsschlüssel sicher ableitbar.
-
Gemäß einer Ausgestaltung weist das Schlüsselerzeugungsmodul ein Decodiermodul auf zur Erzeugung eines Rohschlüssels aus der Response der physikalisch unklonbaren Funktion unter Zuhilfenahme von zu der Response oder der Response zugrundeliegenden Challenges gehörigen Hilfsdaten.
-
Gemäß einer Ausgestaltung weist das Schlüsselerzeugungsmodul ein Homogenisierungs- und Kompressionsmodul auf. Hier wird insbesondere für einen mittels des Decodiermoduls erzeugten Rohschlüssel sichergestellt, dass eine annähernde Gleichverteilung von 0 und 1 Bits vorliegt. Ebenso kann sichergestellt werden, dass für einen Rohschlüssel mit Entropie e ein geheimer Nutzschlüssel der Binärlänge m erstellt wird, so dass der geheime Nutzschlüssel die Entropie minimum(e, m) aufweist.
-
Beispielsweise besteht das Homogenisierungs- und Kompressionsmodul aus einer kryptographischen Hashfunktion und einer Kompressionsfunktion, welche nachgeschaltet ist und welche aus dem Ergebnis des Hashvorgangs einen Bit-Vektor der Länge m auswählt. Im einfachsten Fall besteht die Kompressionsfunktion m einfach daraus, m Bits des Output-Vektors der Hashfunktion abzuschneiden.
-
Gemäß einer Ausgestaltung weist das Schlüsselableitungsmodul einen Pseudozufallszahlengenerator auf zur Verarbeitung des kryptographischen Schlüssel und des sitzungsspezifischen Ableitungsparameters zu dem Sitzungsschlüssel. Befindet sich die Vorrichtung in einem Modus, in dem das Erzeugen eines Sitzungsschlüssels durchgeführt wird, so wird der erzeugte kryptographische Schlüssel an das Schlüsselableitungsmodul weitergegeben, welches den sitzungsspezifischen Ableitungsparameter ermittelt und in die Schlüsselableitung einfließen lässt. Beispielsweise handelt es sich bei dem sitzungsspezifischen Ableitungsparameter um variable Rohdaten, welche über die Zeit veränderlich sind. Der sitzungsspezifische Ableitungsparameter kann in einem Hardwaremodul zur Aufnahme veränderlicher Rohdaten hinterlegt sein.
-
Gemäß einer Ausgestaltung weist das Schlüsselableitungsmodul ein Datenmodul auf zur Bereitstellung mindestens eines sitzungsspezifischen Parameters, insbesondere beliebig vieler unterschiedlicher sitzungsspezifischer Parameter. Gemäß einer Ausgestaltung erstellt das Datenmodul mehrere sitzungsspezifische Parameter mit Hilfe eines Pseudozufallszahlengenerators oder eines physikalischen Zufallszahlengenerators oder führt diese von außen zu. Es ist ferner möglich, dass der sitzungsspezifische Parameter von der Response oder dem Rohschlüssel abhängt. Überdies sind Abhängigkeiten von Ort, Uhrzeit, einem über eine Nutzerschnittstelle eingebbaren Parameter usw. denkbar. Für die Ableitung eines sitzungsspezifischen Schlüssels sollte sichergestellt sein, dass für jede Schlüsselableitung auch tatsächlich ein neuer sitzungsspezifischer Parameter verwendet wird. Dies kann vorteilhaft über eine zur eigentlichen Schlüsselableitung verwendete Funktion realisiert werden, welche aus Daten des Hardwaremoduls und einem Ephemeral-Parameter den einmaligen sitzungsspezifischen Parameter generiert.
-
Gemäß einer Ausgestaltung ist das Schlüsselerzeugungsmodul ausgebildet zur Erzeugung des kryptographischen Schlüssels mit vorgebbaren Eigenschaften hinsichtlich einer Eignung für einen Verschlüsselungsalgorithmus oder hinsichtlich einer Schlüssellänge. Dafür werden vorteilhafterweise Hashfunktionen eingesetzt.
-
Die Erfindung betrifft ferner ein Verfahren zur Sicherung und Ableitung eines Sitzungsschlüssels mit Hilfe einer physikalisch unklonbaren Funktion und eines sitzungsspezifischen Ableitungsparameters, aufweist die folgenden Schritte:
- – Ermitteln einer Response mittels einer physikalisch unklonbaren Funktion,
- – Erzeugen eines kryptographischen Schlüssels aus der Response;
- – Bereitstellen eines Ableitungsparameters mittels des Datenmoduls;
- – Ableiten des Sitzungsschlüssels aus dem kryptographischen Schlüssel und dem sitzungsspezifischen Ableitungsparameter.
-
Insbesondere wird eine Response der physikalisch unklonbaren Funktion ermittelt mittels Konfigurationsdaten, etwa in Form einer oder mehrerer Challenges, die der physikalisch unklonbaren Funktion bereitgestellt wurden.
-
Gemäß einer Weiterbildung wird nach der Response der physikalisch unklonbaren Funktion unter Zuhilfenahme von zu der Response oder der Response zugrundeliegenden Challenges gehörigen Hilfsdaten.
-
Gemäß einer Weiterbildung wird der Rohschlüssel mittels eines Homogenisierungs- und Kompressionsmoduls nachbearbeitet.
-
Gemäß einer Ausgestaltung wird der Sitzungsschlüssel mittels eines Pseudozufallszahlengenerators aus dem kryptographischen Schlüssel und dem sitzungsspezifischen Ableitungsparameter abgeleitet.
-
Gemäß einer Ausgestaltung ist der sitzungsspezifische Parameter veränderlich und wird insbesondere für jedes Ableiten verändert.
-
Gemäß einer Weiterbildung werden die veränderlichen sitzungsspezifischen Parameter mit Hilfe eines Pseudozufallszahlengenerators oder eines physikalischen Zufallszahlengenerators erstellt oder von außen zugeführt. Bei der Verwendung von Zufallszahlengeneratoren ist sichergestellt, dass nicht mehrmals der gleiche Sitzungsschlüssel erstellt wird.
-
Die Erfindung betrifft ferner ein Computerprogrammprodukt mit einem Computerprogramm, das Mittel zur Durchführung des Verfahrens nach einem der oben beschriebenen Ausführungsformen aufweist, wenn das Computerprogramm auf einer programmgesteuerten Einrichtung zur Ausführung gebracht wird.
-
Ein Computerprogrammprodukt, wie z.B. ein Computerprogramm-Mittel, kann beispielsweise als Speichermedium, wie z.B. Speicherkarte, USB-Stick, CD-ROM, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden. Dies kann zum Beispiel in einem drahtlosen Kommunikationsnetzwerk durch die Übertragung einer entsprechenden Datei mit dem Computerprogrammprodukt oder dem Computerprogramm-Mittel erfolgen. Als programmgesteuerte Einrichtung kommt insbesondere eine Steuereinrichtung, wie zum Beispiel ein Mikroprozessor für eine Smartcard oder dergleichen in Frage. Das Verfahren oder die Vorrichtung kann auch festverdrahtet oder in konfigurierbaren FPGAs implementiert werden.
-
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels mit Hilfe der Figur näher erläutert.
-
Die Figur zeigt eine schematische Darstellung eines Kryptoschlüsselmoduls 100 als Vorrichtung zur Ableitung eines Sitzungsschlüssels SK gemäß einem Ausführungsbeispiel der Erfindung, bei welchem der kryptographische Sitzungsschlüssel SK für einen Kryptoalgorithmus 200 bereitgestellt wird. Beispielsweise verwendet der Kryptoalgorithmus 200 ein asymmetrisches Kryptoverfahren auf Basis des diskreten Logarithmus in einer endlichen zyklischen Gruppe mit erzeugendem Element G. Besonders vorteilhaft ist es, eine Gruppe von Punkten auf einer elliptischen Kurve zu wählen. Der kryptographische Session-Key oder Sitzungsschlüssel kann unterschiedliche Rollen übernehmen. Beispielsweise wird er als pseudozufälliger geheimer Skalar für logarithmusbasierte Protokolle des ElGamal- und Diffie-Hellman-Typs verwendet. Ferner kann der Sitzungsschlüssel SK ebenso für ein Signaturverfahren auf Basis des diskreten Logarithmus wie beispielsweise DSA, ECDSA oder ECGDSA zur Signaturerzeugung verwendet werden.
-
Für ein Kryptoverfahren, welches auf Basis eines symmetrischen Kryptoalgorithmus arbeitet, ist die Verwendung des Sitzungsschlüssels SK ebenso vorteilhaft möglich. Es kann sich beispielsweise um ein symmetrisches Verschlüsselungs-, Authentisierungs- oder MAC-Verfahren handeln.
-
Es ist auf dem Kryptoschlüsslmodul 100 eine konfigurierbare physikalisch unklonbare Funktion PUF vorgesehen, welche durch Anlegen geeigneter Initialisierungswerte C1, Ck, ..., Cn unterschiedlich konfiguriert werden kann. Die physikalisch unklonbare Funktion PUF wird beispielsweise durch PUF-Konfigurationsdaten C1, Ck, ..., Cn als Satz von Konfigurationsvektoren festgelegt. In einer Initialisierungsphase wird die PUF mit jedem der Konfigurationsvektoren C1, Ck, ..., Cn als Challenges beaufschlagt. Zu jedem der Konfigurationsvektoren C1, Ck, ..., Cn werden die zugehörigen Responses erfasst.
-
Dafür werden verschiedene aufeinanderfolgende Läufe durchgeführt und evaluiert. Abhängig von diesen Responses werden in der Initialisierungsphase Hilfsdaten HD und Parametereinstellungen für ein Decodiermodul 10 ermittelt. Die ermittelten Hilfsdaten HD, welche individuell für die Hardwarevorrichtung sind, auf welcher das Kryptoschlüsselmodul 100 realisiert ist, sowie die Parametereinstellungen eines Decodiermoduls 10 werden dem Kryptoschlüsselmodul 100 fest zugeordnet. Beispielsweise handelt es sich um einen integrierten Schaltkreis, insbesondere einen FPGA. Die Hilfsdaten HD sowie Parametereinstellungen sollten dauerhaft gespeichert werden, wobei die Hilfsdaten HD vorzugsweise auf einem externen nichtflüchtigen Speicher (nicht dargestellt) gespeichert werden und die Decodiermodul-Parametereinstellungen sowohl extern als auch schaltkreisintern, beispielsweise mittels eines Read Only Memorys oder von Fuses gespeichert werden können.
-
Das Decodiermodul 10 setzt einen auf die physikalisch unklonbare Funktion PUF abgestimmten fehlerkorrigierenden Code um und verwendet dazu die für die Hardware zugeordneten Hilfsdaten HD.
-
Das Decodiermodul 10 erzeugt so einen Rohschlüssel P und leitet diesen an ein Homogenisierungs- und Kompressionsmodul 20 weiter. Dort wird der Rohschlüssel P zu einem kryptographischen Schlüssel K der Länge m verarbeitet. Durch das Homogenisierungs- und Kompressionsmodul 20 erhält der kryptographische Schlüssel K die folgenden geforderten Eigenschaften:
-
Die Bits 0 und 1 sind zumindest annähernd gleich verteilt. Außerdem gilt für einen Rohschlüssel P der Entropie e und einer Binärlänge des kryptographischen Schlüssels K der Länge m, dass der kryptographische Schlüssel K die Entropie minimum(e, m) aufweist, d.h. die Entropie ist durch die Entropie des Rohschlüssels oder durch die Länge des gekürzten Schlüssels gegeben, je nachdem, welcher Wert kleiner ist. Eine sinnvolle Abschätzung des Wertes e ist vorab beim Hersteller des integrierten Schaltkreises auf der Basis einer möglichst großen Anzahl von integrierten Schaltkreisen möglich. Es ist nicht zwingend erforderlich, dass m < e gilt.
-
Der erzeugte kryptographische Schlüssel K wird an ein Schlüsselableitungsmodul übergeben, welches einen Pseudozufallszahlengenerator 30 oder kurz PRNG aufweist. Der PRNG 30 übernimmt von einem Datenmodul 40 die dort verfügbaren, beispielsweise zu einem bestimmten Zeitpunkt verfügbaren veränderlichen oder variablen Rohdaten als sitzungsspezifischen Ableitungsparameter D und verarbeitet diese zusammen mit dem kryptographischen Schlüssel K zu dem Sitzungsschlüssel SK oder Ephemeral-Schlüssel. Dieser wird anschließend über ein Interface 60 an den Kryptoalgorithmus 200 übergeben. Es ist zu gewährleisten, dass für jede Schlüsselableitung neue veränderliche Rohdaten herangezogen werden. Dafür kann das Datenmodul 40 beispielsweise auf die Funktionsweise des Pseudozufallszahlengenerators 30 zurückgreifen, mit dessen Hilfe die variablen Rohdaten permanent erneuert oder aktualisiert werden können. So wird permanent ein sitzungsindividueller Ableitungsparameter gebildet. Ferner können die variablen Daten von unterschiedlichen Quellen stammen: Sie können etwa von außen zugeführt werden, was schematisch über einen Pfeil von außerhalb des Kryptoschlüsselmoduls 100 dargestellt ist, oder von einem auf dem Schlüsselmodul vorgesehenen physikalischen Zufallszahlengenerator erzeugt werden. Ebenso ist das Erzeugen mittels eines Zählwerkes sinnvoll. Auch Abhängigkeiten zu Responses oder zu einem erzeugten Rohschlüssel P sind vorteilhaft möglich. Überdies können in Varianten Kombinationen der verschiedenen Quellen eingesetzt werden. Beispielsweise werden von extern in Abhängigkeit von einer Zeitinformation Daten ermittelt und diese mittels des PRNGs nochmals verändert. Die Varianten sind durch unterbrochen gezeichnete Pfeile in der Figur angedeutet. Es sind auf vorteilhafte Weise auch Kombinationen der gezeigten Varianten möglich.
-
Es kann auf vorteilhafte Weise für ein Kryptoschlüsselmodul 100 zwischen einem Master-Key-Modus und einem Ephemeral-Key-Modus unterschieden werden. Dazu wird der kryptographische Schlüssel K durch eine Steuereinheit 70 nach dessen Erstellung unterschiedlich weiterverarbeitet: Im Master-Key-Modus wird der Schlüssel direkt an die Schnittstelleneinrichtung 60 weitergeleitet, im Ephemeral-Key-Modus hingegen wird der kryptographische Schlüssel K an das Schlüsselableitungsmodul weitergeleitet. Danach erfolgt die Schlüsselableitung mit Hilfe des sitzungsspezifischen Ableitungsparameters D und somit die Erstellung des Sitzungsschlüssels SK. Im Ephemeral-Key-Modus wird anstatt des Master-Keys, d.h. anstatt des erzeugten kryptographischen Schlüssels K, der Sitzungsschlüssel SK über eine Weiterleitungseinheit 50 an die Schnittstelle 60 übergeben.
-
Es ist besonders zweckmäßig, für Funktionalitäten der verschiedenen Module gemeinsame Realisierungen vorzusehen. Das Homogenisierungs- und Kompressionsmodul 20 besteht aus zwei Modulen, nämlich einer Hashfunktion und einer zweiten Kompressionsfunktion. Die Hashfunktion des Homogenisierungs- und Kompressionsmoduls kann zugleich in der Funktion des Pseudozufallszahlengenerators verwendet werden. Dazu kann das Schlüsselableitungsmodul ebenfalls auf den Pseudozufallszahlengenerator des Schlüsselerzeugungsmoduls zugreifen. Dazu wird der Output des Homogenisierungs- und Kompressionsmoduls 20, d.h. der kryptographische Schlüssel K, in das Teilmodul der Hashfunktion zurückgeführt und dort mit dem sitzungsspezifischen Ableitungsparameter D verknüpft.
-
Aufgrund der Einspeisung des sitzungsspezifischen Ableitungsparameters D mit dem kryptographischen Schlüssel K gemeinsam in das Modul des Pseudozufallszahlengenerators 30 bestehen keine besonders hohen Anforderungen an die Qualität der variablen Daten des Datenmoduls 40. Die kryptographische Qualität des Sitzungsschlüssels SK wird durch die Qualität der Schlüsselableitungsfunktion und des durch das Schlüsselerzeugungsmodul direkt erzeugten kryptographischen Schlüssels K garantiert.
-
Auf dem Kryptoschlüsselmodul 100 wird somit kein sicherer nichtflüchtiger Speicher zur Speicherung eines variablen oder veränderlichen Sitzungsschlüssels benötigt. Somit kann auf einem integrierten Schaltkreis, welcher keine Möglichkeit zur sicheren Abspeicherung eines kryptographischen Schlüssels bietet, ein veränderlicher Schlüssel für kryptographische Anwendungen in symmetrischen oder asymmetrischen Kryptoverfahren gewonnen werden. Dies gelingt durch Kopplung einer konfigurierbaren PUF und einem entsprechenden Schlüsselerzeugungsmodul mit einer kryptographischen Aufbereitung veränderlicher Daten. Die Erzeugung ephemeraler Schlüssel erfolgt überdies vorteilhafter Weise besonders schneller als bei einer Integration eines Ableitungsparameters in eine Schlüsselerzeugungsfunktion, insbesondere in Funktionen zur Erzeugung eines kryptographischen Schlüssels aus PUF-Responses.
-
Die jeweiligen Module können hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretechnischen Implementierung kann das jeweilige Modul als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Implementierung kann das jeweilige Modul als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
-
Obwohl die Erfindung im Detail durch das Ausführungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Patentliteratur
-
- US 2013/0142329 A1 [0008]