-
Die vorliegende Erfindung betrifft ein Verfahren zur Nutzung einer physikalisch unklonbaren Funktion (physical unclonable function, PUF). Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
-
Stand der Technik
-
Hardwarestrukturen in einem Halbleiter, die dazu dienen, eine eindeutige Identifikation des Halbleiters zu ermöglichen oder Schlüssel für kryptografische Verfahren zu sichern, werden in der Kryptologie als PUF bezeichnet. Gattungsmäßige PUFs kommen beispielsweise in elektronischen Chipkarten oder Mikroprozessoren zu Einsatz. PUFs nach dem Stand der Technik fußen darauf, dass durch kleinste Schwankungen im Produktionsprozess bestimmte Baugruppen ein individuelles Verhalten zeigen, obwohl durch das Produktionsverfahren absolut gleiche Teile entstehen sollten. Systeme mit einer PUF-Einheit werden daher im gleichen Produktionsprozess hergestellt und erfahren - zumindest im Hinblick auf die PUF - keinerlei individuelle Bearbeitung.
-
Ein Verfahren gemäß
US20150200775A1 zum Bestimmen eines kryptographischen Schlüssels für ein MEMS-Gerät etwa umfasst das Identifizieren von physikalischen Eigenschaften für das Gerät. Ein Merkmalsvektor mit einer Vielzahl von Werten wird bestimmt. Jeder der Werte entspricht unterschiedlichen physikalischen Eigenschaften. Der kryptographische Schlüssel wird aus dem Merkmalsvektor bestimmt. Der kryptographische Schlüssel kann unter Verwendung eines Fuzzy-Extraktors bestimmt werden. Der kryptographische Schlüssel kann unter Verwendung verschiedener Merkmalsvektoren bestimmt werden, die verschiedenen Kanälen in einem Gerät oder verschiedenen MEMS-Strukturen in dem Gerät entsprechen.
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zur Nutzung einer physikalisch unklonbaren Funktion, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Um beispielsweise die Authentizität der Vorrichtung zu prüfen, erfolgen Quantisierung und Fehlerkorrektur unter einer gemeinsamen Optimierung, indem Quantisierer und Fehlerkorrekturverfahren im Rahmen der Prüfung wiederholt Zuverlässigkeitsinformation (likelihood values) miteinander austauschen und damit eine bessere Performance erreichen, als wenn beide Schritte getrennt erfolgen würden.
-
Ein Vorzug dieser Lösung liegt in einer gegenüber dem Stand der Technik drastisch verbesserten Fehlerkorrektur-Performance, d. h. bei gleichem Messsignal-Rausch-Verhältnis (signal-to-noise ratio, SNR) und insofern vergleichbaren äußeren Bedingungen wird eine geringere Restfehlerwahrscheinlichkeit erreicht oder bei gleicher Restfehlerwahrscheinlichkeit können mehr Messfehler korrigiert werden. Alternativ kann die Stufenzahl des Quantisierers bei gleicher Restfehlerwahrscheinlichkeit und damit die Sicherheit der PUF erhöht werden. Das Verfahren ist besonders geeigent für kontinuierliche Messwerte oder für hochstufig (feingranular) quantisierte Messwerte, für welche herkömmliche Verfahren bei gleicher Sicherheit eine nur mäßige Fehlerkorrektur erlauben. Außerdem muss im Rahmen der Entwicklung die bestehende Signalverarbeitungskette nicht verändert werden.
-
Ferner verbessert eine Ausführungsform der Erfindung den Schlüsselgenerierungsprozess, ohne Parameter in den Iterationen des Verfahrens - beispielsweise den verwendeten Fehlerkorrekturcode, die Quantisierungsstufenzahl, Permutation der Bits, auszuschließende Messwerte oder eine etwaige Mittelwertbildung - zu verändern, um so die Zuverlässigkeit einzelner Bits zu erhöhen. Auf diese Weise kann eine hohe Rate erzeugter Schlüsselbits aufrechterhalten werden, was der Effizienz des Verfahrens zugutekommt: Es werden nur wenige Messwerte zur Erzeugung einer bestimmten Anzahl an Schlüsselbits benötigt.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich.
-
Figurenliste
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
- 1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform.
- 2 den schematischen Aufbau eines Ausführungsbeispiels bei Code-Offset- Konstruktion.
- 3 die Bitfehlerrate in Abhängigkeit des SNR für das Ausführungsbeispiel.
- 4 den schematischen Aufbau eines Ausführungsbeispiels bei Code-Shift-Konstruktion.
-
Ausführungsformen der Erfindung
-
Den Ausgangspunkt der weiteren Erläuterungen bildet nachfolgendes Szenario. Zu quantisierende Messwertreihen werden hierbei stets in Blöcke zu N Messwerten unterteilt, sodass jeder Block unabhängig von den anderen Blöcken verarbeitet wird. Zum Entwurfszeitpunkt einer Vorrichtung wird in zunächst herkömmlicher Weise aus einem Block nach einem öffentlich bekannten Fehlerkorrekturverfahren Hilfsinformation erzeugt, die in einer Datenbank öffentlich zugänglich gespeichert wird.
-
1 illustriert ausgehend von dieser Situation die grundlegenden Schritte eines erfindungsgemäßen Verfahrens (10). Die solchermaßen entworfene Vorrichtung (20) gewinnt beispielsweise im Rahmen einer Authentisierung Messwerte unter Nutzung der bereits der Hilfinformation zugrundeliegenden PUF (Prozess 11) und verwendet einen Soft-Quantisierer, welcher aus seinen Messwerten unter Zuhilfenahme von A-priori-Information Zuverlässigkeitswerte für diejenigen Bits berechnet, die stellenwertmäßig jenen der hinterlegten Referenz (nachfolgend: „Empfangswort“) entsprechen (Prozess 12). Diese Werte gibt es in einen Soft-Decodierer, welcher ebenfalls Zuverlässigkeitswerte für die Bits berechnet (Prozess 13), die wiederum als A-priori-Information an den Soft-Quantisierer zurückgegeben werden (Prozess 14). Zwischen Soft-Quantisierung und Soft-Decodierung wird nun solange iteriert, bis ein bestimmtes Abbruchkriterium (Entscheidung 15) erreicht ist (Zweig Y). Je nach Konvention werden nun das decodierte Codewort oder das zugehörige Informationswort der Decodierung für die folgenden Schritte verwendet.
-
Das Verfahren (10) wird anhand des auf Vorwärsfehlerkorrektur (forward error correction, FEC) basierenden Code-Offset-Schlüsselabgleichs gemäß DODIS, Yevgeniy, et al. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. SIAM journal on computing, 2008, 38. Jg., Nr. 1, S. 97-139. ausgeführt. Es ist jedoch auf alle bekannten FEC-basierten Schlüsselabgleichverfahren anwendbar.
-
In
2 ist der Ablauf des vorgeschlagenen Verfahrens (
10) gezeigt. Zum Entwurfs- und Authentisierungszeitpunkt werden unabhängig voneinander, aber mit demselben öffentlich bekannten Verfahren (
10) die PUF stimuliert und deren Antworten
gemessen. Zunächst werksseitig (21) werden N Abtastwerte quantisiert und durch ein öffentlich bekanntes „hartes“ Quantisierungsverfahren (
22) in eine Bitfolge
umgewandelt, wobei jede Stichprobe (sample) auf ein Symbol quantisiert wird, welches als Bitvektor mit dem Symbol
dargestellt wird. Anschließend werden die Bits in Blöcke der Länge n ∈ ℕ unterteilt und optional mit einem öffentlich bekannten Interleaver Π derselben Länge n verschränkt.
-
Zur Laufzeit werden die Messwerte und als A-priori-Information die zurückgeführten (s. u.) Zuverlässigkeitswerte des Fehlerkorrekturverfahrens verwendet, um daraus Zuverlässigkeitsinformation der zur Quantisierung aus der Designzeit korrespondierenden Bits zu berechnen. Für die erste Iteration wird die A-priori-Information hierbei mit null initialisiert.
-
Für einen M-stufigen Quantisierer mit M = 2
m und m ∈ ℕ berechnet eine zweckmäßige Ausführung als Zuverlässigkeitsinformation das logarithmische Wahrscheinlichkeitsverhältnis (log-likelihood ratio, LLR)
der A-posteriori-Wahrscheinlichkeiten des i-ten Bitwerts b
ji ∈ {0,1} des j-ten Messwerts unter Verwendung der Messwerte
wobei
die Menge der Bitvektoren (der Länge m) derjenigen Symbole ist, welche an der i-ten Stelle den Wert
bji haben.
-
Die Terme der rechten Seite der obigen Gleichung lassen sich berechnen zu
wobei
die zurückgeführte A-priori-Information bezeichnet. In der ersten Iteration seien diese Werte mit
initialisiert.
-
Bei Verwendung von Shift-Information - d. h. der Abstand zur Mitte des werksseitig genutzten Quantisierungsintervalls wurde gespeichert und auf den Messwert vor der Quantisierung im Rahmen der Authentisierung angewendet - lässt sich der zweite Term zu
vereinfachen, was der öffentlich bekannten - da etwa vom Hersteller der PUF vermessenen oder der Fachliteratur entnehmbaren - Wahrscheinlichkeitsverteilung des Messrauschens entspricht. bekannt. Im Sinne der IT-Sicherheit muss man davon ausgehen, dass die Sicherheit des Verfahrens nicht auf der Geheimhaltung dieser Verteilungen beruhen darf.
-
Ansonsten gilt
-
wobei
die untere und
die obere Intervallgrenze des durch
bezeichneten Symbolintervalls des Quantisierers ist. In diesem Zusammenhang ist davon auszugehen, dass die Verteilung
p(xA) der Messwerte ebenso wie die Verteilung
der Störung der Messwerte allseits bekannt ist.
-
Von dem Symbol
lässt sich auf die Stichprobe
xA,j gemäß
schließen, wobei die Wahrscheinlichkeit
dass der werksseitig (21) gewonnene Messwert im durch
bezeichneten Intervall liegt, ebenfalls als bekannt vorauszusetzen ist, sofern man entsprechende Annahmen hinsichtlich der Wahrscheinlichkeit
p(xA,j) und der Eigenschaften des Quantisierers zugrunde legt. Das Integral in Formel 1 kann numerisch ausgewertet werden. Soweit im Rahmen der Berechnung noch nicht geschehen, bildet die zu authentisierende Vorrichtung (
20) die extrinsische A-posteriori-Wahrscheinlichkeit, indem das Ergebnis auf die A-priori-Wahrscheinlichkeiten der Eingangswerte normiert wird.
-
Im optionalen Interleaver Π, der identisch mit dem werksseitig (21) verwendeten ist, werden die Bits permutiert, sodass diese in der neuen Reihenfolge für die nachfolgenden Funktionsblöcke als statistisch unabhängig erscheinen.
-
Die verschränkten Zuverlässigkeitswerte werden anschließend im Zuge der Empfangswort-Extraktion (
25) mit der werksseitig hinterlegten Information c verknüpft, um Zuverlässigkeitsinformation der FEC-Bits z zu erhalten: Diese sind grundsätzlich jene der quantisierten Bits; lediglich bei denjenigen Bits in c, deren Wert
1 beträgt, wird der Zuverlässigkeitswert logisch invertiert, da
und
und damit
-
Anschließend werden die Zuverlässigkeitswerte in einem Standard-Soft-Input-Soft-Output-Decoder (
26) - siehe etwa BOSSERT, Martin. Kanalcodierung. Walter de Gruyter, 2013. - decodiert, sodass man extrinsische Zuverlässigkeitsinformation
der FEC-Bits erhält. Um aus diesen wieder quantisierte Bits zu gewinnen, erfolgt erneut eine Konvertierung (Funktionsblock
27) nach Formel 2 sowie Formel 3 und die optionale Verarbeitung durch einen zum Interleaver Π inversen De-Interleaver Π
-1.
-
Die gewonnene Zuverlässigkeitsinformation verwendet der Soft-Quantisierer (24) nun, um in der nächsten Iteration die Zuverlässigkeitswerte der quantisierten Bits zu erhöhen. Dieser iterierte Austausch von Zuverlässigkeitsinformation wird solange wiederholt, bis ein bestimmtes Abbruchkriterium erreicht ist. Vorgesehen sein mag zum Beispiel
- • der Abbruch nach einer festgelegten Anzahl an Iterationen,
- • der Abbruch, wenn sich die „harten“ Bits vor und nach dem Decoder (26) nicht mehr unterscheiden, d. h. wenn keine Fehler mehr korrigiert werden sowie
- • eine Kombination der obigen Kriterien.
-
Damit hat auch die Vorrichtung (
20) die Bitfolge
welche sich abhängig von
gemäß
bestimmen lässt, mit dem werksseitigen (
21) Wert abgeglichen, welcher für eine sich anschließende Schlüsselaufbereitung verwendet werden kann.
-
3 zeigt exemplarisch den simulierten Verlauf der werksseitigen (
21) Rest-Bitfehlerrate über dem SNR
Hierbei sei angenommen, dass die Messwerte der PUF-Antwort mittelwertfrei und reellwertig gaußverteilt mit einer Varianz von
sind. Das werksseitig (
21) und zur Laufzeit der Vorrichtung (
20) auftretende mittelwertfreie Messrauschen habe die gleiche Leistung
und sei ebenfalls reellwertig gaußverteilt. Der gewählte Quantisierer ist gleichförmig bei einer Auflösung von 16 Stufen und entsprechender Wortbreite von 4 bit mit Begrenzung bei
gewählt. Die Bezeichnung (labeling) der Quantisierungsintervalle folgt der natürlichen binären Zahlendarstellung der Quantisierungsstufen bei MSB-0-Bitnummerierung. Es werden jeweils 128 Symbole quantisiert und zu einem Vektor zusammengefasst. Die Fehlerkorrektur erfolgt mit einem rekursiven Faltungscode der Rate
Gedächtnisordnung
3 und sogenannter Tailbiting-Terminierung. Ferner wird der für eine Wortbreite von 2048 bit ausgelegte Interleaver gemäß der LTE-Spezifikation verwendet.
-
Im Liniendiagramm 30 der ist ebenfalls die Fehlerrate für den Fall aufgetragen, dass keinerlei Schlüsselabgleich erfolgt (Kurvenverlauf 37). Die Fehlerrate im Falle eines herkömmlichen codebasierten Schlüsselabgleiches mit Hard-Bits ist mit dem Bezugszeichen 36 markiert. Die übrigen Funktionsgraphen beschreiben die Fehlerrate eines erfindungsgemäßen Verfahrens nach einer Iteration (31), zwei Iterationen (32), drei Iterationen (33), vier Iterationen (34) bzw. fünf Iterationen (35). Man erkennt, dass die Fehlerrate mit jeder Iteration geringer wird und schließlich gegen einen gemeinsamen Grenzwert konvergiert.
-
4 zeigt eine Anwendung des Verfahrens (
10) auf den Schlüsselabgleich mithilfe einer sogenannten Code-Shift-Konstruktion und verwendet dabei von den obigen Darstellungen abweichende Bezeichnungen. Das werksseitige (
21) Vorgehen stimmt bis auf den optional eingefügten Interleaver mit jenem der
2 überein. In Funktionsblock
25 verwendet die Vorrichtung (
20) zur Laufzeit die gleiche Verfahrensweise wie oben erläutert (Vorzeichenwechsel bei d = 1), um mithilfe von d aus der Quantisierungsbit-Zuverlässigkeit
die Empfangswort-Zuverlässigkeit
zu gewinnen.
-
Auf entsprechende Weise kann eine mehrstufige Kodierung (multi-level coding, MLC) und mehrstufige Dekodierung (multi-stage decoding, MSD) adaptiert und auf den Abgleich angewendet werden. Hierzu geeignete Schemata sind insbesondere WACHSMANN, Udo; FISCHER, Robert FH; HUBER, Johannes B. Multilevel codes: theoretical concepts and practical design rules. IEEE Transactions on Information Theory, 1999, 45. Jg., Nr. 5, S. 1361-1391 sowie WÖRZ, Thomas; HAGENAUER, Joachim. Iterative decoding for multilevel codes using reliability information. In: Global Telecommunications Conference, 1992. Conference Record., GLOBECOM‘92. Communication for Global Users., IEEE. IEEE, 1992. S. 1779-1784 zu entnehmen.
-
Anstatt das Integral während des Schlüsselabgleiches wiederholt zu berechnen, kann für alle Kombinationen von Abtastwerten
xB und
während des Entwurfs eine Umsetztabelle (look-up table, LUT) erzeugt werden, was zur Laufzeit den Rechenaufwand deutlich reduziert. Da das LLR durch eine ungerade Funktion definiert ist, genügt es darüber hinaus bei einem Quantisierer mit zur Ordinatenachse symmetrischen Intervallgrenzen, lediglich die positive Achse abzutasten und in der LUT abzulegen.
-
Die oben vorgestellten Verfahren (10) sind mit jedem bekannten Quantisierer verwendbar. Das Verfahren (10) in den ersten beiden Ausführungsbeispielen ist mit jedem beliebigen Fehlerkorrekturcode verwendbar. Alle Verfahren sind mit beliebigen Interleavern verwendbar.
-
Als Zuverlässigkeitsinformation können weiterhin zweckmäßig Wahrscheinlichkeiten oder dazu proportionale Faktoren oder Verhältnisse von Wahrscheinlichkeiten (likelihood ratios) dienen. Für jede Zuverlässigkeitsinformation können auch Gleit- oder Festkommawerte mit vorgegebener Wortbreite verwendet werden. Als eine weitere zweckmäßige Wahl für die Zuverlässigkeitsinformation kann auch die euklidische Distanz verwendet werden.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- DODIS, Yevgeniy, et al. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. SIAM journal on computing, 2008, 38. Jg., Nr. 1, S. 97-139 [0012]
- WACHSMANN, Udo; FISCHER, Robert FH; HUBER, Johannes B. Multilevel codes: theoretical concepts and practical design rules. IEEE Transactions on Information Theory, 1999 [0027]
- WÖRZ, Thomas; HAGENAUER, Joachim. Iterative decoding for multilevel codes using reliability information. In: Global Telecommunications Conference, 1992 [0027]