DE112011106024T5 - Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen - Google Patents

Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen Download PDF

Info

Publication number
DE112011106024T5
DE112011106024T5 DE112011106024.6T DE112011106024T DE112011106024T5 DE 112011106024 T5 DE112011106024 T5 DE 112011106024T5 DE 112011106024 T DE112011106024 T DE 112011106024T DE 112011106024 T5 DE112011106024 T5 DE 112011106024T5
Authority
DE
Germany
Prior art keywords
circuit
bit
glitch
specific information
spike
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.)
Granted
Application number
DE112011106024.6T
Other languages
English (en)
Other versions
DE112011106024B4 (de
Inventor
c/o Mitsubishi Electric Corp. Shimizu Koichi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112011106024T5 publication Critical patent/DE112011106024T5/de
Application granted granted Critical
Publication of DE112011106024B4 publication Critical patent/DE112011106024B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Computer Hardware Design (AREA)
  • Manipulation Of Pulses (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Es ist eine Vorrichtung vorgesehen, die eine Störspitze ausgibt, die einem gewünschten Leistungsvermögen genügt, ohne einem Einfluss zu einer Zeit des Herstellens einer Vorrichtung oder einem Einfluss von altersgemäßer Verschlechterung der Vorrichtung unterworfen zu sein. Die Vorrichtung enthält eine Biterzeugungseinheit (310), enthaltend eine Störspitzen-Erzeugungsschaltung (330) und eine Bitumwandlungsschaltung (340) zum Umwandeln einer Form der Störspitze in ein Informationsbit. Die Störspitzen-Erzeugungsschaltung hat mehrere Kombinationsschaltungen (331), die darauf angebracht sind, um mehrere verschiedene Störspitzen auszugeben. Die Biterzeugungseinheit enthält weiterhin eine Auswahlvorrichtung (332) zum Auswählen einer Störspitze aus den mehreren verschiedenen Störspitzen als Antwort auf ein Auswahlsignal, um die ausgewählte eine Störspitze zu der Bitumwandlungsschaltung auszugeben. Die Vorrichtung enthält weiterhin eine Leistungsvermögensauswertungs-/Steuereinheit (350) zum Ausgeben des Auswahlsignals, um ein Stück von Bitinformationen entsprechend jeder der mehreren verschiedenen Störspitzen zu erhalten, und zum Spezifizieren einer einem gewünschten Leistungsvermögen genügenden Störspitze auf der Grundlage der jeweiligen Stücke von Bitinformationen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf Sicherheit, wie Berechtigung und Verschlüsselung, und insbesondere auf eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und ein Erzeugungsverfahren für vorrichtungsspezifische Informationen zum Erzeugen eines vorrichtungsspezifischen Identifizierers, der für Berechtigung, einen für Verschlüsselung benötigten Geheimschlüssel und dergleichen erforderlich ist.
  • Stand der Technik
  • Bei Halbleitervorrichtungen wie ASICs und FPGAs ist eine Erscheinung bekannt, bei der, selbst wenn dieselben Schaltungen an Vorrichtungen desselben Typs angebracht sind, Ausgangssignale, die von einer Vorrichtung zu einer anderen unterschiedlich sind, erhalten werden aufgrund der Unterschiede von Vorrichtungseigenschaften zwischen individuellen Vorrichtungen, wie eine Torverzögerung. Eine Schaltung, die eine derartige Erscheinung bewirkt, oder eine Technologie hierfür wird ”physisch nicht klonbare Funktion” oder ”physisch nicht klonende Technologie” genannt (in der folgenden Beschreibung wird diese Technologie als ”PUF” bezeichnet), und es erwartet, dass eine derartige Technologie für Berechtigung, Verschlüsselung und andere Verwendungen benutzt wird.
  • Als ein Beispiel für PUF ist eine verwandte Technik bekannt, die eine in einem Ausgangssignal einer Kombinationsschaltung erzeugte Störspitze (Glitch) verwendet (siehe beispielsweise Patentdokument 1). Die 13 sind ein Diagramm, das eine Grundkonfiguration einer PUF (nachfolgend als ”Glitch-PUF” bezeichnet), die im Patentdokument 1 offenbart ist, illustriert, und erläuternde Diagramme für spezifische Signalverarbeitung. Eine Glitch-PUF 1301, die in 13(a) illustriert ist, enthält eine Datenregistergruppe 1320, eine Störspitzen-Erzeugungsschaltung 1330 und eine Bitumwandlungsschaltung 1340.
  • Die hier verwendete Störspitze ist eine Erscheinung, bei der der Wert eines Signals mit Intensität wiederholt zwischen 0 und 1 geändert wird, die in einem Übergangszustand beobachtet wird, in welchem sich der Wert des Signals ändert. Eine in einer Signalwellenform erzeugte Spitze wird auch als ”Glitch” bezeichnet.
  • In 13(a) ändert sich, wenn der Wert eines Eingangssignals 1311 in die Störspitzen-Erzeugungsschaltung 1330, die von der Kombinationsschaltung gebildet wird, geändert wird, der Wert eines Ausgangssignals 1312 entsprechend. Die Störspitze wird in dem Übergangszustand erzeugt, der andauert, bis die Änderung vollendet ist. Ein die Störspitze enthaltendes Signal wird nachfolgend als ”Glitchsignal” bezeichnet.
  • Der Glitch ändert sich in Abhängigkeit von den Eigenschaften der individuellen Vorrichtung, auf der die Störspitzen-Erzeugungsschaltung 1330 befestigt ist. Mit anderen Worten, selbst wenn dieselbe Störspitzen-Erzeugungsschaltung 1330 verwendet wird, sind die durch die jeweiligen Vorrichtungen erzeugten Glitches von einer Vorrichtung zu der anderen unterschiedlich. Angesichts dessen können Bits, die von einer Vorrichtung zu einer anderen unterschiedlich sind, erzeugt werden durch Bestimmen des Werts 0 oder 1 gemäß der Form des Glitches. Der Wert kann beispielsweise durch das folgende Verfahren bestimmt werden. Insbesondere wird bei dem Verfahren der Wert als 0 bestimmt, wenn die Anzahl von in dem Glitch enthaltenen Spitzen gerade ist, und der Wert wird als 1 bestimmt, wenn die Anzahl von Spitzen ungerade ist.
  • 13(b) illustriert den vorbeschriebenen Fluss der Biterzeugungsverarbeitung, der von der Glitch-PUF 1301 durchgeführt wird. 13(c) illustriert ein Befestigungsbeispiel der Verarbeitung der Umwandlung der Störspitzenform in ein Bit, die von der Bitumwandlungsschaltung 1340 durchgeführt wird. 13(c) illustriert die Bitumwandlungsschaltung 1340, die ein T-Flipflop (nachfolgend als ”Trigger-FF” bezeichnet) verwendet, und ein Zeitdiagramm ihrer Operation.
  • Das Trigger-FF ist eine Schaltung, in der, wenn ein ansteigendes Signal einmal eingegeben wird, ein Ausgangswert invertiert wird (in 0 geändert wird, wenn er 1 ist und in 0 geändert wird, wenn er 1 ist). Ob die Anzahl von Spitzen, die in dem Störsignal enthalten sind, eine gerade oder eine ungerade ist, entspricht bei diesem Prinzip auf einer Eins-zu-eins-Basis, ob die Anzahl von Malen der Umkehrung des Ausgangssignals gerade oder ungerade ist, und entspricht als ein Ergebnis auf einer Eins-zu-eins-Basis, ob der Bitwert 0 oder 1 ist.
  • Durch die in den 13 illustrierte Verarbeitungsreihe wird ein Bit so erzeugt, dass es jedem Eingangssignal 1311 entspricht. Eine Bitfolge mit mehreren Bits kann erzeugt werden, indem diese Verarbeitung mehrere Male durchgeführt wird, während variiert wird, wie das Eingangssignal 1311 geändert wird. Insbesondere kann, wenn das in die Störspitzen-Erzeugungsschaltung 1330 einzugebende Eingangssignal n Bits hat, die Bitfolge mit 2n – 1 Bits erzeugt werden durch 2n – 1-maliges Ändern des Eingangssignals, das heißt, 0 → 1,0 → 2, ..., 0 → 2n – 1.
  • Zitierungsliste
  • Patentliteratur
    • [Patentdokument 1] WO 11/086688 A1
  • Zusammenfassung der Erfindung
  • Technische Probleme
  • Jedoch hat die Konfiguration der im Patentdokument 1 offenbarten Glitch-PUF 1301 die folgenden Probleme. Ein Leistungsvermögen, das gezeigt wird, wenn die Glitch-PUF 1301 auf der Vorrichtung, wie einer FPGA und einer ASIC, befestigt ist, ist nicht bekannt, bis die Vorrichtung tatsächlich hergestellt ist. Demgemäß kann einem gewünschten Leistungsvermögen nicht genügt werden, wenn die Vorrichtung tatsächlich hergestellt ist. Das Leistungsvermögen ist in diesem Fall beispielsweise eine Informationsmenge und eine Fehlerrate.
  • Darüber hinaus kann, selbst wenn einem gewünschten Leistungsvermögen in einer Anfangsstufe nach der Herstellung der Vorrichtung genügt wird, einem gewünschten Leistungsvermögen bei einer altersmäßigen Verschlechterung der Vorrichtung im Verlauf der Zeit nicht länger genügt werden. Eine Beschreibung wird somit gegeben, weshalb die Informationsmenge aufgrund der altersmäßigen Verschlechterung der Vorrichtung abnimmt. Der Glitch wird erzeugt auf der Grundlage einer Verzögerungscharakteristik eines die Störspitzen-Erzeugungsschaltung 1330 bildenden Gates (Tors). Diese Verzögerungscharakteristik ändert sich mit der altersmäßigen Verschlechterung der Vorrichtung, und daher ändert sich ein Ausgangsmuster des Glitches auch mit der altersmäßigen Verschlechterung der Vorrichtung.
  • 14 ist ein erläuterndes Diagramm, das den Zustand einer zeitlichen Änderung der Störspitzen-Erzeugungsschaltung in der Glitch-PUF des verwandten Standes der Technik illustriert. Wie in 14 illustriert ist, tritt, wenn sich eine Störspitzen-Erzeugungsschaltung 1430 mit der Zeit ändert, eine Situation auf, in der weniger Glitches oder kein Glitch erzeugt werden. Als eine Folge nimmt die erzeugte Informationsmenge ab. Dies geschieht beispielsweise deswegen, weil bei dem vorgenannten Verfahren des Bestimmens des Bits in Abhängigkeit davon, ob die Anzahl von Spitzen des Glitches geradzahlig oder ungeradzahlig ist, das Bit zu allen Zeiten den Wert 0 hat, wenn kein Glitch an der ersten Stelle erzeugt wird (die Anzahl von Spitzen ist 0).
  • Wenn einer gewünschten Informationsmenge oder Fehlerrate nicht genügt wird, führt dies zu einem Versagen bei der Erzeugung eines Identifizierers oder eines Verschlüsselungsschlüssels mit einer gewünschten Bitlänge, um ein Problem zu bewirken, dass die hergestellte Vorrichtung nicht normal arbeitet.
  • Die vorliegende Erfindung wurde gemacht, um die vorbeschriebenen Probleme zu lösen, und sie hat die Aufgabe, eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und ein Erzeugungsverfahren für vorrichtungsspezifische Informationen anzugeben, die in der Lage sind, einen Glitch auszugeben, der einem gewünschten Leistungsvermögen genügt, ohne einem Einfluss zu der Zeit der Herstellung einer Vorrichtung oder einem Einfluss der altersmäßigen Verschlechterung der Vorrichtung unterworfen zu sein.
  • Lösung der Probleme
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen vorgesehen, enthaltend eine Biterzeugungseinheit zum Erzeugen spezifischer Informationen über eine Halbleitervorrichtung in der Halbleitervorrichtung, welche Biterzeugungseinheit enthält: eine Störspitzen-Erzeugungsschaltung zum Ausgeben eines Glitches, der in einem Ausgangssignal einer Kombinationsschaltung erzeugt wird; und eine Bitumwandlungsschaltung zum Umwandeln einer Form des Glitches in ein Informationsbit. Die Störspitzen-Erzeugungsschaltung enthält mehrere der Kombinationsschaltungen, die darauf befestigt sind, um als eine oberste Störspitzen-Erzeugungsschaltung für die Ausgabe mehrerer unterschiedlicher Glitches ausgestaltet zu sein. Die Biterzeugungseinheit enthält weiterhin eine Auswahlvorrichtung zum Empfangen eines Auswahlsignals von außerhalb, um einen Glitch aus den mehreren unterschiedlichen von der Störspitzen-Erzeugungseinheit ausgegebenen Glitches auszuwählen, und zum Ausgeben des ausgewählten einen Glitches zu der Bitumwandlungsschaltung. Die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen enthält weiterhin eine Leistungsvermögensbewertungs-/Steuereinheit zum Ausgeben des Auswahlsignals in der Weise, dass der eine Glitch aufeinanderfolgend ausgewählt wird aus den mehreren unterschiedlichen Glitches, um jeweilige Stücke von von der Bitumwandlungsschaltung umgewandelten Bitinformationen zu erhalten, um den mehreren unterschiedlichen Glitches zu entsprechen, zum Spezifizieren eines Glitches, der einem gewünschten Leistungsvermögen genügt, auf der Grundlage der jeweiligen Stücke von Bitinformationen, und zum Spezifizieren des Auswahlsignals derart, dass der spezifizierte Glitch als die spezifische Information über die Halbleitervorrichtung ausgegeben wird.
  • Weiterhin ist weiterhin ist gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung ein Erzeugungsverfahren für vorrichtungsspezifische Informationen vorgesehen, das auf eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen anzuwenden ist, zum Erzeugen spezifischer Informationen über eine Halbleitervorrichtung in der Halbleitervorrichtung, welche Erzeugungsvorrichtung für vorrichtungsspezifische Informationen enthält: eine Störspitzen-Erzeugungsschaltung zum Ausgeben eines Glitches, der in einem Ausgangssignal einer Kombinationsschaltung erzeugt ist; und eine Bitumwandlungsschaltung zum Umwandeln einer Form des Glitches in ein Informationsbit. Das Erzeugungsverfahren für vorrichtungsspezifische Informationen enthält: Ausgeben eines Auswahlsignals für das Auswählen eines Glitches aus mehreren unterschiedlichen Glitches, die von mehreren der Kombinationsschaltungen, die auf der Störspitzen-Erzeugungsschaltung befestigt sind, ausgegeben wurden, um den ausgewählten einen Glitch zu der Bitumwandlungsschaltung auszugeben; Ausgeben des Auswahlsignals derart, dass der eine Glitch aufeinanderfolgend aus den mehreren unterschiedlichen Glitches ausgewählt wird, um jeweilige Stücke von durch die Bitumwandlungsschaltung umgewandelten Bitinformationen so zu erhalten, dass sie den mehreren unterschiedlichen Glitches entsprechen, und Spezifizieren eines Glitches, der einem gewünschten Leistungsvermögen genügt, auf der Grundlage der jeweiligen Stücke aus Bitinformationen; und Spezifizieren des Auswahlsignals derart, dass der spezifizierte Glitch als die spezifische Information über die Halbleitervorrichtung ausgegeben wird.
  • Vorteilhafte Wirkungen der Erfindung
  • Gemäß der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und dem Erzeugungsverfahren für vorrichtungsspezifische Informationen nach einem Ausführungsbeispiel der vorliegenden Erfindung ist es durch Befestigen der mehreren Störspitzen-Erzeugungsschaltungen und Ermöglichen der Auswahl einer Störspitzen-Erzeugungsschaltung mit einem Leistungsvermögen nahe einem gewünschten aus den mehreren Störspitzen-Erzeugungsschaltungen möglich, die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und das Erzeugungsverfahren für vorrichtungsspezifische Informationen zu erhalten, die in der Lage sind, den Glitch auszugeben, der einem gewünschten Leistungsvermögen genügt, ohne dem Einfluss zu der Zeit der Herstellung der Vorrichtung oder dem Einfluss der altersgemäßen Verschlechterung der Vorrichtung unterworfen zu sein.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Diagramm, das eine Grundidee für eine Störspitzen-Erzeugungsschaltung einer Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert.
  • 2 ist ein erläuterndes Diagramm der Stabilität eines Glitches gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung.
  • 3 ist ein Diagramm, das ein erstes Konfigurationsbeispiel für die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert.
  • 4 ist ein Diagramm, das ein zweites Konfigurationsbeispiel für die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert.
  • 5 ist ein Diagramm, das ein Konfigurationsbeispiel für eine Fehlerraten-Auswertungsschaltung, die in einer Leistungsvermögensauswertungs-/Steuereinheit gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung enthalten ist, illustriert.
  • Die 6 sind ein Diagramm, das ein Konfigurationsbeispiel für eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen zum Auswerten einer Informationsmenge gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert, und ein Diagramm, das ein Konfigurationsbeispiel für eine in einer Leistungsvermögensauswertungs-/Steuereinheit gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung enthaltene Informationsmengen-Auswertungsschaltung illustriert.
  • 7 ist ein Diagramm, das ein Konfigurationsbeispiel für ein System enthaltend die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert.
  • 8 ist ein Flussdiagramm für anfängliche Einstellungen, die durch eine in 7 illustrierte Glitch-PUF durchgeführt werden, gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung.
  • 9 ist ein Flussdiagramm für Neueinstellungen, die durch die in 7 illustrierte Glitch-PUF durchgeführt werden, gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung.
  • 10 ist ein Konfigurationsdiagramm einer Leistungsvermögensauswertungs-/Steuereinheit in einem Fall des Erzeugens eines Schlüssels gemäß einem zweiten Ausführungsbeispiel der vorliegenden Erfindung.
  • 11 ist ein Flussdiagramm für anfängliche Einstellungen, die durch eine in 10 illustrierte Glitch-PUF durchgeführt wurden, gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung.
  • 12 ist ein Flussdiagramm für Wiedereinstellungen, die von der in 10 illustrierten Glitch-PUF durchgeführt wurden, gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung.
  • Die 13 sind ein Diagramm, das eine Grundkonfiguration einer im Patentdokument 1 offenbarten PUF illustriert, und ein erläuterndes Diagramm der spezifischen Signalverarbeitung.
  • 14 ist ein erläuterndes Diagramm, das einen Zustand der zeitlichen Änderung einer Störspitzen-Erzeugungsschaltung in einer Glitch-PEF des verwandten Standes der Technik illustriert.
  • Beschreibung der Ausführungsbeispiele
  • Er werden nun eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und ein Erzeugungsverfahren für vorrichtungsspezifische Informationen gemäß den bevorzugten Ausführungsbeispielen der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen beschrieben.
  • Erstes Ausführungsbeispiel
  • Eine Grundidee der vorliegenden Erfindung besteht darin, mehrere Schaltungen mit unterschiedlichen Eigenschaften als Störspitzen-Erzeugungsschaltungen zu befestigen. Die Anzahl von erzeugten Störspitzen dient als eine Charakteristik, und eine große Anzahl von Störspitzen-Erzeugungsschaltungen enthaltend eine Störspitzen-Erzeugungsschaltung, die wenige Störspitzen erzeugt, und eine Störspitzen-Erzeugungsschaltung, die viele Störspitzen erzeugt, sind befestigt. Für diesen Zweck sind insbesondere als eine Grundkonfiguration einfache und kleine logische Schaltungen in Reihe verbunden, um die Komplexität der Logik stufenweise zu erhöhen, damit die Anzahl von zu erzeugenden Störspitzen allmählich zunimmt.
  • 1 ist ein Diagramm, das die Grundidee für eine Störspitzen-Erzeugungsschaltung einer Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert. Eine in 1 illustrierte Störspitzen-Erzeugungsschaltung 130 enthält dieselben vier logischen Schaltungen A (entsprechend logischen Schaltungen 131(1) bis 131(4)), die in Reihe geschaltet sind. Die logische Schaltung A kann eine lineare Schaltung sowie eine nichtlineare Schaltung sein.
  • Wenn das in die Störspitzen-Erzeugungsschaltung 130 eingegebene Signal geändert wird, werden Störspitzen in Ausgangssignalen der jeweiligen logischen Schaltungen 131(1) bis 131(4) erzeugt. Diese Ausgangssignale sind Ausgangssignale der ersten, zweiten, dritten und vierten Stufe der Störspitzen-Erzeugungsschaltung mit denselben logischen Schaltungen A, die in Reihe geschaltet sind, und die logische Schaltung in einer weiteren Stufe erzeugt mehr Störspitzen.
  • Hierdurch tritt beispielsweise die folgende Situation in dem Beispiel nach 1 auf. Insbesondere hat das Ausgangssignal der logischen Schaltung 131(1) in der ersten Stufe wenige Störspitzen und eine geringe Informationsmenge. Andererseits haben die Ausgangssignale der logischen Schaltung 131(3) in der dritten Stufe und der logischen Schaltung 131(4) in der vierten Stufe viele Störspitzen und sind instabil. Demgegenüber hat das Ausgangssignal der logischen Schaltung 131(2) in der zweiten Stufe ein angemessenes Gleichgewicht zwischen den Störspitzen und der Stabilität.
  • Die Stabilität wird nun mit Bezug auf 2 beschrieben. 2 ist ein erläuterndes Diagramm für die Stabilität des Glitches gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung. Insbesondere illustriert 2 eine Situation, in der Glitches, deren Muster von einer Operation zu einer anderen unterschiedlich sind, als Antwort auf dasselbe Eingangssignal erzeugt werden und das erzeugte Bit jedes Mal unterschiedlich ist. Eine derartige Situation wird als ”instabiler Zustand” bezeichnet. In dem instabilen Zustand gibt es keine Reproduzierbarkeit der Bits zwischen den Operationen, was bedeutet, dass das erzeugte Bit nicht als Information verwendet werden kann. Mit anderen Worten, die Informationsmenge, die als die PUF verwendet werden kann, ist reduziert.
  • Gemäß 1 wird, wenn mehr Störspitzen erzeugt werden (entsprechend dem Ausgangssignal der logischen Schaltung 131(3) in der dritten Stufe oder dem Ausgangssignal der logischen Schaltung 131(4) in der vierten Stufe), die Informationsmenge größer, aber gleichzeitig ist der Zustand, in welchem viele Störspitzen erzeugt werden, instabil. Demgemäß nimmt, wenn die Stufen der logischen Schaltung A erhöht werden, um die Anzahl der Störspitzen zu erhöhen, die als die PUF zu verwendende Informationsmenge zuerst zu, aber nach der Zunahme beginnt die Informationsmenge zu einem gewissen Zeitpunkt abzunehmen. Dies ist die Grenze zwischen der zweiten Stufe und der dritten Stufe. Angesichts dessen ist, um sowohl die Anzahl von Störspitzen und die Stabilität zu erhalten, in dem in 1 illustrierten Beispiel die logische Schaltung 131(2) in der zweiten Stufe optimal für die Verwendung als die PUF.
  • Zusätzlich kann das Ausgangssignal der logischen Schaltung 131(3) in der dritten Stufe optimal als die PUF nach ihrer altersmäßigen Verschlechterung sein. Mit anderen Worten, obgleich viele Störspitzen vorhanden sind und das Ausgangssignal somit zu einer gegenwärtigen Zeit instabil ist, kann, wenn die logische Schaltung 131(3) weniger Störspitzen mit der altersmäßigen Verschlechterung ausgibt, das Ausgangssignal der logischen Schaltung 131(3) in der dritten Stufe als die PUF optimal sein.
  • Darüber hinaus kann das Ausgangssignal der logischen Schaltung 131(4) in der vierten Stufe als ein Zufallszahlengenerator anstelle der PUF verwendet werden. Mit anderen Worten, das Ausgangssignal der logischen Schaltung 131(4) in der vierten Stufe hat eine beträchtlich große Anzahl von Störspitzen, und daher ändert sich das Ausgangssignal jedes Mal und ist somit instabil, wie in 2 illustriert ist. Obgleich das Ausgangssignal der logischen Schaltung 131(4) in der vierten Stufe somit nicht als die PUF verwendet werden kann, kann das Ausgangssignal stattdessen als eine Zufallszahl verwendet werden.
  • Angesichts des vorbeschriebenen Prinzips wird als Nächstes eine interne Konfiguration der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel mit Bezug auf mehrere illustrierte spezifische Beispiele beschrieben. 3 ist ein Diagramm, das ein erstes Konfigurationsbeispiel der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert. Eine in 3 illustrierte Glitch-PUF 301, die der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen entspricht, enthält eine Biterzeugungseinheit 310 und eine Leistungsvermögensauswertungs-/Steuereinheit 350.
  • Die Biterzeugungseinheit 310 hat eine Funktion des Erzeugens von Bits und enthält eine Datenregistergruppe 320, eine oberste Störspitzen-Erzeugungsschaltung 330 und eine Bitumwandlungsschaltung 340. Die Leistungsvermögensauswertungs-/Steuereinheit 350 hat eine Funktion des Auswertens eines Leistungsvermögens des von der Biterzeugungseinheit 310 erzeugten Bits und auch eine Funktion des Steuerns der Biterzeugungseinheit 310, so dass die Biterzeugungseinheit 310 eine Störspitze mit einem Leistungsvermögen nahe einem gewünschten erzeugt.
  • Als Nächstes wird eine interne Konfiguration der Biterzeugungseinheit 310 im Einzelnen beschrieben. Die Datenregistergruppe 320 der Biterzeugungseinheit 310 ist eine Registergruppe zum Speichern von in die oberste Störspitzen-Erzeugungsschaltung 330 einzugebenden Daten.
  • Die oberste Störspitzen-Erzeugungsschaltung 330 enthält logische Schaltungen 331(1) bis 331(N), enthaltend N Stufen der gleichen logischen Schaltungen A, die in Reihe geschaltet sind, und eine Auswahlvorrichtung 332. Die Arbeitsweise der logischen Schaltungen 331(1) bis 331(N) ist hier dieselbe wie die der Störspitzen-Erzeugungsschaltung 130, die vier Stufen der logischen Schaltungen enthält und vorstehend mit Bezug auf 1 beschrieben wurde.
  • Auf der Grundlage eines von der Leistungsvermögensauswertungs-/Steuereinheit 350 ausgegebenen Auswahlsignals wählt die Auswahlvorrichtung 320 eines der Ausgangssignale der Stufen der logischen Schaltungen 331(1) bis 331(N) aus, um zu der Bitumwandlungsschaltung 340 geliefert zu werden, und schaltet das Ausgangssignal zu dem ausgewählten um. Die oberste Störspitzen-Erzeugungsschaltung 330 hat in der oben erwähnten Konfiguration eine solche Konfiguration, dass die Anzahl von erzeugten Störspitzen stufenweise erhöht wird, und sie ermöglicht weiterhin die Auswahl eines Glitches aus N Glitches auf der Grundlage des von der Leistungsvermögensauswertungs-/Steuereinheit 350 ausgegebenen Auswahlsignals.
  • Es ist zu beachten, dass, wie vorstehend mit Bezug auf 1 beschrieben ist, die logische Schaltung A sowohl eine lineare Schaltung als auch eine nichtlineare Schaltung sein kann. Als ein Beispiel für das Entwurfsverfahren ist eine derartige Konfiguration gegeben, dass eine einfache und kleine logische Schaltung als jede der logischen Schaltungen für den Zweck verwendet wird, eine Zunahme der Größe der Befestigung zu verhindern, und die Anzahl von Stufen N wird erhöht, um die Komplexität der Logik allmählich zu erhöhen.
  • 4 ist ein Diagramm, das ein zweites Konfigurationsbeispiel für die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert. Die in 4 illustrierte Glitch-PUF 401, die der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen entspricht, enthält eine Biterzeugungseinheit 410 und eine Leistungsvermögensauswertungs-/Steuereinheit 450. Die Biterzeugungseinheit 410 enthält eine Datenregistergruppe 420, eine oberste Störspitzen-Erzeugungsschaltung 430 und eine Bitumwandlungsschaltung 440.
  • Wenn das in 4 illustrierte zweite Konfigurationsbeispiel und das in 3 illustrierte vorbeschriebene erste Konfigurationsbeispiel miteinander verglichen werden, haben diese Konfigurationsbeispiele dieselben Grundkonfigurationen, sind aber voneinander verschieden in der internen Konfiguration der obersten Störspitzen-Erzeugungsschaltung. Die Beschreibung wird daher hauptsächlich hinsichtlich dieses Unterschieds gegeben. Die oberste Störspitzen-Erzeugungsschaltung 330 nach dem in 3 illustrierten vorbeschriebenen ersten Konfigurationsbeispiel erzeugt insgesamt N Glitchsignale durch Verbinden von N Stufen der logischen Schaltungen A und Auswählen eines der Ausgangssignale der jeweiligen Stufen.
  • Demgegenüber enthält die oberste Störspitzen-Erzeugungsschaltung 430 nach dem in 4 illustrierten zweiten Konfigurationsbeispiel N Störspitzen-Erzeugungsschaltungen 431(1) bis 431(N), die voneinander völlig unterschiedlich sind, und eine Auswahlvorrichtung 432. Mit anderen Worten, die oberste Störspitzen-Erzeugungsschaltung 430 hat N darauf befestigte Störspitzen-Erzeugungsschaltungen, die völlig verschieden voneinander sind, um N Glitchsignale zu erzeugen.
  • Als ein Beispiel für die Störspitzen-Erzeugungsschaltungen 431(1) bis 431(N) mit der Konfiguration nach 4 ist eine S-Box für einen Verschlüsselungsalgorithmus gegeben. S-Boxen für verschiedene Verschlüsselungsalgorithmen, wie DES, AES, MISTY und Camellia, können verwendet werden, um verschiedene Störspitzen-Erzeugungsschaltungen zu befestigen.
  • Als Nächstes werden die Leistungsvermögensauswertungs-/Steuereinheit 350 nach 3 und die Leistungsvermögensauswertungs-/Steuereinheit 450 nach 4 beschrieben. Sowohl die Leistungsvermögensauswertungs-/Steuereinheit 350 als auch die Leistungsvermögensauswertungs-/Steuereinheit 450 haben dieselbe Funktion, und eine spezifische Beschreibung der Funktion der Leitungsvermögensauswertungs-/Steuereinheit 350 mit nachfolgend mit Bezug auf 3 gegeben.
  • Die Leistungsvermögensauswertungs-/Steuereinheit 350 steuert die Auswahlvorrichtung 332 derart, dass die Auswahlvorrichtung 332 N Glitchsignale einzeln auswählt. Hierdurch kann die Bitumwandlungsschaltung 340 die Glitchsignale entsprechend den jeweiligen Stufen in Bits umwandeln, um Bits entsprechend den jeweiligen Stufen zu erzeugen. Die Leistungsvermögensauswertungs-/Steuereinheit 350 steuert die Auswahlvorrichtung 332, um Bits von einer gegebenen Stufe in einer wiederholenden Weise (zum Beispiel einhundertmal) zu erzeugen, und wenn die Auswahlvorrichtung 332 in dieser Weise gesteuert wird, vergleicht sie, als die Ausgangssignale der Bitumwandlungsschaltung 340, einen beim ersten Mal erhaltenen Wert mit Werten, die beim zweiten und nachfolgenden Malen erhalten wurden. Die Leistungsvermögensauswertungs-/Steuereinheit 350 kann auf diese Weise eine Fehlerrate auswerten.
  • 5 ist ein Diagramm, das ein Konfigurationsbeispiel für eine Fehlerraten-Auswertungsschaltung illustriert, die in der Leistungsvermögensauswertungs-/Steuereinheit gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung enthalten ist. Eine Fehlerraten-Auswertungsschaltung 560 enthält ein Register 561 zum Aufrechterhalten eines beim ersten Mal erhaltenen Bitwerts, einen Komparator 562 zum Vergleichen des beim ersten Mal erhaltenen Bitwerts mit den Bitwerten, die beim zweiten und den nachfolgenden Malen erhalten wurden, und ein Register 563 zum Zählen der Anzahl von Malen, für die das Vergleichsergebnis anzeigt, dass zwei Werte nicht identisch sind, um die gezählte Anzahl von Malen festzuhalten.
  • Wenn das Vergleichsergebnis anzeigt, dass zwei Werte nicht identisch sind, erzeugt der Komparator 562 ein Freigabesignal für das Register 563. Das Register 563 kann die Anzahl von Malen zählen, bei denen zwei Werte nicht identisch sind, durch Erhöhen des Wertes des Registers um eins als Antwort auf das Freigabesignal. Wenn beispielsweise der Wert des Registers 563 gleich zehn ist, nachdem der Vergleich einhundertmal durchgeführt wurde, bestimmt die Fehlerraten-Auswertungsschaltung 560, dass die Fehlerrate 10% beträgt.
  • Wie vorstehend beschrieben ist, kann die Fehlerrate ausgewertet werden durch beispielsweise einhundertmaliges Wiederholen der Erzeugung des Bits durch dieselbe Vorrichtung und durch Verwenden der erzeugten einhundert Bitwerte. Andererseits sind, um die Informationsmenge auszuwerten, die für eine Vielzahl, beispielsweise einhundert, von verschiedenen Vorrichtungen erzeugten einhundert Bitwerte erforderlich. Es ist daher erforderlich, eine Situation zu schaffen, in der eine Vielzahl von Vorrichtungen in derselben Vorrichtung in einer simulierten Weise existiert.
  • Die 6 sind ein Diagramm, das ein Konfigurationsbeispiel für die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen zum Auswerten der Informationsmenge gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert, und ein Diagramm, das ein Konfigurationsbeispiel für eine Informationsmengen-Auswertungsschaltung, die in einer Leistungsvermögensauswertungs-/Steuereinheit gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung enthalten ist, illustriert. Eine in 6(a) illustrierte Glitch-PUF 601, die der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen entspricht, enthält ein Datenregistergruppe 620, M Toplevel-Störspitzen-Erzeugungsschaltungen 630(1) bis 630(M), eine Auswahlvorrichtung 632, eine Bitumwandlungsschaltung 640 und eine Leistungsvermögensauswertungs-/Steuereinheit 650.
  • Die Datenregistergruppe 620, die Auswahlvorrichtung 632, die Bitumwandlungsschaltung 640 und die Leistungsvermögensauswertungs-/Steuereinheit 650 haben dieselben Funktionen wie diejenigen der vorgenannten Datenregistergruppe 320, Auswahlvorrichtung 332, Bitumwandlungsschaltung 340 bzw. Leistungsvermögensauswertungs-/Steuereinheit 350, die in 3 illustriert sind.
  • Die M Toplevel-Störspitzen-Erzeugungsschaltungen 630(1) bis 630(M) sind gebildet durch Befestigen von M Toplevel-Störspitzen-Erzeugungsschaltungen, die jeweils der vorgenannten Toplevel-Störspitzen-Erzeugungsschaltung 330 in 3 oder der vorgenannten Toplevel-Störspitzen-Erzeugungsschaltung 430 in 4 (das heißt, eine mit N Störspitzen-Erzeugungsschaltungen, um N Glitchsignale zu erzeugen) entsprechen, auf der Vorrichtung mit demselben Layout.
  • Die Leistungsvermögensauswertungs-/Steuereinheit 650 steuert die Auswahlvorrichtung 632, um die Auswahl eines Ausgangssignals aus den Ausgangssignalen der M Toplevel-Störspitzen-Erzeugungsschaltungen 630(1) bis 630(M) zu ermöglichen. Hierdurch dient die Glitch-PUF 601 in einer simulierten Weise als die Glitch-PUFs für M Vorrichtungen, um Bits für M Vorrichtungen in einer simulierten Weise zu erzeugen. Die Glitch-PUF 601 kann die Informationsmenge auswerten durch Steuern der Leistungsvermögensauswertungs-/Steuereinheit 650 derart, dass sie eine statistische Verarbeitung der in einer simulierten Weise erzeugten M Bitwerte durchführt.
  • Die Informationsmenge eines gegebenen Bits wird gemessen auf der Grundlage beispielsweise der Shannon-Entropie. Die Shannon-Entropie wird wie folgt definiert: –p × log2(p) – (1 – p) × log2(1 – p) (1), worin p eine Wahrscheinlichkeit, dass das Bit gleich 0 ist, darstellt (1 – p ist die Wahrscheinlichkeit, dass das Bit gleich 1 ist). Es ist zu beachten, dass ”log2” eine logarithmische Funktion mit der Basis 2 ist.
  • Es ist erwünscht, dass die Informationsmenge durch Verwendung nur des Wertes p ausgewertet wird, da die Baugröße zunimmt, wenn die logarithmische Funktion implementiert wird. Der vorstehende Ausdruck (1) ist eine symmetrische konvexe Funktion, die den maximalen Wert annimmt, wenn p = 0,5 ist, und daher kann durch Verwendung des Wertes p bestimmt werden, ob die Informationsmenge grob groß oder klein ist. Angesichts dessen wird unter Bezugnahme auf 6(b) eine Funktion einer Informationsmengen-Auswertungsschaltung 670 beschrieben, die in der Leistungsvermögensauswertungs-/Steuereinheit 650 enthalten ist.
  • Die in 6(b) illustrierte Informationsmengen-Auswertungsschaltung 670 enthält einen Komparator 671 und zwei Register 672 und 673. Der Komparator 671 bestimmt, ob der durch die Bitumwandlungsschaltung 640 erzeugte Bitwert gleich 0 ist oder nicht, und erzeugt Freigabesignale für das Register 672 und das Register 673 auf der Grundlage des Ergebnisses der Bestimmung.
  • Das eine der Freigabesignale für die beiden Register 672 und 673 ist die Umkehrung des anderen. Das Register 672 hat die Funktion eines Zählers, dessen Wert erhöht wird, wenn der Bitwert gleich 0 ist, und das Register 673 hat die Funktion eines Zählers, dessen Wert erhöht wird, wenn der Bitwert gleich 1 ist. Durch Verwendung der Informationsmengen-Auswertungsschaltung 670 für die vorgenannten, von der Glitch-PUF 601 erzeugten M Bitwerte als die Leistungsvermögensauswertungs-/Steuereinheit 650 kann die Anzahl von Nullen und die Anzahl von Einsen in M Bits berechnet werden. Als eine Folge ist es möglich, die Informationsmenge auszuwerten.
  • Diese Schaltung kann auch für den Zweck der Auswertung einer Frequenz von 0/1 des Bits oder dergleichen bei der Zufallszahlenprüfung, die in der in den USA veröffentlichten NIST SP800-22 definiert ist, verwendet werden.
  • Als Nächstes wird ein Beispiel, in welchem die vorbeschriebene Biterzeugungseinheit und Leistungsvermögensauswertungs-/Steuereinheit als ein System enthaltend eine CPU sowie einen Speicher ausgestaltet sind, beschrieben. 7 ist ein Diagramm, das ein Konfigurationsbeispiel für das System enthaltend die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach dem ersten Ausführungsbeispiel der vorliegenden Erfindung illustriert. Eine in 7 illustrierte Glitch-PUF 701, die der Erzeugungsvorrichtung für vorrichtungsspezifische Informationen entspricht, enthält eine Biterzeugungseinheit 710 und eine Leistungsvermögensauswertungs-/Steuereinheit 750.
  • Die Biterzeugungseinheit 710 enthält eine Datenregistergruppe 720, M Toplevel-Störspitzen-Erzeugungsschaltungen 730(1) bis 730(M), eine Auswahlvorrichtung 732 und eine Bitumwandlungsschaltung 740. In derselben Weise wie in 6(a) enthält die Biterzeugungseinheit 710 die M Toplevel-Störspitzen-Erzeugungsschaltungen 730(1) bis 730(M), die auf der Vorrichtung mit demselben Layout befestigt sind. Eine von der Biterzeugungseinheit 710 erzeugte Bitfolge wird in die Leistungsvermögensauswertungs-/Steuereinheit 750 eingegeben.
  • Die Leistungsvermögensauswertungs-/Steuereinheit 750 enthält eine Fehlerkorrekturschaltung 751, eine OWHF-Schaltung 752, eine Vergleichs-/Bestimmungsschaltung 753, eine Leistungsvermögens-Auswertungsschaltung 754 und eine Steuerschaltung 755. Die Fehlerkorrekturschaltung 751 ist eine Schaltung zum Korrigieren eines in der in die Leistungsvermögensauswertungs-/Steuereinheit 750 eingegebenen Bitfolge enthaltenen Fehlers. Die OWHF-Schaltung 752 ist eine Schaltung zum Erhalten eines Hash-Wertes der Bitfolge, deren Fehler korrigiert wurde.
  • Die Vergleichs-/Bestimmungsschaltung 753 ist eine Schaltung zum Vergleichen des erzeugten Hash-Wertes mit einem vorher erzeugten Hash-Wert. Die Leistungsvermögens-Auswertungsschaltung 754 ist eine Schaltung zum Auswerten eines Leistungsvermögens der in die Leistungsvermögensauswertungs-/Steuereinheit 750 eingegebenen Bitfolge. Die Steuerschaltung 755 ist eine Schaltung zum Steuern der Biterzeugungseinheit 710 auf der Grundlage des von der Vergleichs-/Bestimmungsschaltung 753 erhaltenen Ergebnisses der Bestimmung und des von der Leistungsvermögens-Auswertungsschaltung 754 erhaltenen Ergebnisses der Auswertung.
  • Zusätzlich ist die in 7 illustrierte Glitch-PUF 701 über einen Systembus 780 mit einer CPU 781, einem Speicher 782 und einer Ein-/Ausgabeeinheit 783 verbunden.
  • Als Nächstes wird die Arbeitsweise der Glitch-PUF 701 mit der Konfiguration nach 7 mit Bezug auf ein Flussdiagramm im Einzelnen beschrieben. 8 ist ein Flussdiagramm für anfängliche Einstellungen, die von der in 7 illustrierten Glitch-PUF 701 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung durchgeführt werden. Darüber hinaus ist 9 ein Flussdiagramm für Wiedereinstellungen, die von der in 7 illustrierten Glitch-PUF 701 gemäß dem ersten Ausführungsbeispiel der vorliegenden Erfindung durchgeführt werden.
  • Zuerst wird mit Bezug auf 8 eine Reihe von Verarbeitungsschritten für die anfänglichen Einstellungen schrittweise beschrieben.
  • Schritt S801: ein Schritt des Erhaltens eines Bits b (1, 1, 1) bis zu einem Bit b (N, M, 2n – 1) durch die Steuerschaltung 755. Ein erster Index i von b (i, j, k) ist eine Nummer der Störspitzen-Erzeugungsschaltung (i = 1, ..., N). Mit anderen Worten entspricht der Index i in 3 einer Nummer zum Auswählen irgendeiner der logischen Schaltungen 331(1) bis 331(N) und in 4 einer Nummer zum Auswählen irgendeiner der Störspitzen-Erzeugungsschaltungen 431(1) bis 431(N).
  • Ein zweiter Index j entspricht einer Nummer zum Auswählen irgendeiner der M Toplevel-Störspitzen-Erzeugungsschaltungen 730(1) bis 730(M), die mit demselben Layout befestigt sind (j = 1, ..., M). Ein dritter Index k ist eine Nummer, die ein Änderungsmuster eines Eingangssignals in die Störspitzen-Erzeugungsschaltung darstellt, und entspricht der Bitfolge mit 2n – 1 Bits, wenn das Eingangssignal n Bits hat.
  • Schritt S802: ein Schritt zum Auswerten des jeweiligen Leistungsvermögens der Bits b (1, 1, 1), ..., b (N, M, 2n – 1) durch die Leistungsvermögens-Auswertungsschaltung 754. Auf der Grundlage des Ergebnisses der Auswertung wählt die Leistungsvermögens-Auswertungsschaltung 754 den Index i (i = 1, ..., N) aus, der einem gewünschten Leistungsvermögen genügt, und hält den Index i in dem Speicher 782.
  • Es ist festzustellen, dass der Index j ein Index ist, der die Vorrichtung darstellt, die durch Befestigen von M Vorrichtungen in einer simulierten Weise erhalten wurde, um die Informationsmenge auszuwerten, und daher nach der Auswertung nur ein Wert tatsächlich als j verwendet zu werden braucht. In der folgenden Beschreibung wird angenommen, dass j = 1 verwendet wird.
  • Schritt S803: ein Schritt des Erzeugens eines Syndroms s durch die Fehlerkorrekturschaltung 751, das zum Korrigieren eines Fehlers einer Bitfolge w(i) = (b (i, 1, 1), ..., b (i, 1, 2n – 1)) entsprechend dem Index i, der einem gewünschten Leistungsvermögen genügt, wenn angenommen wird, dass j = 1 ist, erforderlich ist, und des Haltens des erzeugten Syndroms s in dem Speicher 782.
  • Schritt S804: ein Schritt des Berechnens eines Hash-Wertes h der Bitfolge w(i) durch die OWHF-Schaltung 752, um den berechneten Hash-Wert h in dem Speicher 782 zu halten.
  • Das Flussdiagramm für die anfänglichen Einstellungen ist nun beschrieben. Durch die vorbeschriebene Reihe von Verarbeitungsschritten kann die Leistungsvermögensauswertungs-/Steuereinheit 750 anfängliche Einstellungen des Index i, der einem gewünschten Leistungsvermögen entspricht, des Syndroms s, das zum Korrigieren eines Fehlers der Bitfolge w(i) erforderlich ist, und des Hash-Wertes h der Bitfolge w(i) vornehmen.
  • Als Nächstes wird mit Bezug auf 9 eine Reihe von Verarbeitungsschritten für Neueinstellungen schrittweise beschrieben.
  • Schritt S901: ein Schritt des Initialisierens des Wertes eines Zählers cnt auf 0 durch die Steuerschaltung 755. Der Zähler cnt stellt einen Zählwert für das Versagen der Fehlerkorrektur im Schritt S903 dar.
  • Schritt S902: ein Schritt des Steuerns der Biterzeugungseinheit 710 durch die Steuerschaltung 755, um eine Bitfolge w(i) entsprechend dem durch die vorbeschriebenen anfänglichen Einstellungen bestimmten Index i zu erzeugen. Die Steuerschaltung 755 liest den Index i aus dem Speicher 782. Die Steuerschaltung 755 erzeugt dann das Auswahlsignal zum Auswählen der Störspitzen-Erzeugungsschaltung i, und das Auswahlsignal wird dann in die Auswahlvorrichtung der Toplevel-Störspitzen-Erzeugungsschaltung 730(i) in einer ersten Stufe (entsprechend j = 1) eingegeben. Die Bitfolge w(i)' kann auf diese Weise erzeugt werden. Es ist festzustellen, dass das Symbol ”'” zu der Bitfolge w(i)' hinzugefügt ist, da die Bitfolge w(i)' üblicherweise einen Fehler enthält und somit einen Wert hat, der von dem der bei den anfänglichen Einstellungen erzeugten w(i) verschieden ist.
  • Schritt S903: ein Schritt des Durchführens einer Fehlerkorrekturverarbeitung bei der Bitfolge w(i)' durch die Fehlerkorrekturschaltung 751, um eine Bitfolge w(i)'' zu erhalten. Die Fehlerkorrekturschaltung 751 liest das bei den anfänglichen Einstellungen erzeugte Syndrom s für die Fehlerkorrektur aus dem Speicher 782, um eine Fehlerkorrekturverarbeitung bei der Bitfolge w(i)' durchzuführen. Es wird erwartet, dass die Bitfolge w(i)'' nach der Fehlerkorrektur mit der bei den anfänglichen Einstellungen erzeugten Bitfolge w(i) identisch ist.
  • Schritt S904: ein Schritt des Berechnens eines Hash-Werts h'' der Bitfolge w(i)'' durch die OWHF-Schaltung 752.
  • Schritt S905: ein Schritt des Vergleichens des Hash-Werts h'' mit dem Hash-Wert h, der bei den anfänglichen Einstellungen erzeugt wurde, durch die Vergleichs-/Bestimmungsschaltung 753, um die Verarbeitung in Abhängigkeit von dem Ergebnis des Vergleichs zu verzweigen. Wenn einer Beziehung h = h'' genügt ist, bedeutet dies, dass die im Schritt S903 durchgeführte Fehlerkorrektur erfolgreich ist, und die in anfänglichen Einstellungen erzeugte Bitfolge w(i) kann regeneriert werden. Andererseits ist, wenn einer Beziehung h ≠ h'' genügt wird, die im Schritt S903 durchgeführte Fehlerkorrektur fehlerhaft, und die bei den anfänglichen Einstellungen erzeugte Bitfolge w(i) kann nicht regeneriert werden.
  • Schritt S906: ein Schritt des Erhöhens des Wertes des Zählers cnt, der die Anzahl der fehlerhaften Fehlerkorrekturen darstellt, um 1 durch die Steuerschaltung 755, wenn der Beziehung h ≠ h'' im Schritt S905 genügt wird, um zum nächsten Schritt S907 weiterzugehen.
  • Schritt S907: ein Schritt des Bestimmens, ob der Wert des Zählers cnt einen vorbestimmten Schwellenwert U überschreitet oder nicht, durch die Steuerschaltung 755. Wenn der Zähler cnt U nicht überschreitet, geht die Verarbeitung zum Schritt S902 zurück, und die Steuerschaltung 755 erzeugt wieder die Bitfolge und führt die Fehlerkorrektur durch.
  • Schritt S908: ein Schritt des Ausgebens einer Fehlermitteilung, wenn der Beziehung cnt > U im Schritt S907 genügt wird, durch die Steuerschaltung 755. Dies bedeutet, dass die Steuerschaltung 755 bestimmt, dass die Bitfolge w(i) nicht regeneriert werden kann, selbst wenn die Bitfolgenerzeugung und die Fehlerkorrektur weiter fortgesetzt werden.
  • Schritt S909: ein Schritt des Bestimmens, wenn der Hash-Wert der Beziehung h = h'' im Schritt S905 genügt und die Regenerierung der Bitfolge w(i) somit erfolgreich ist, durch die Steuerschaltung 755, ob der Wert des Zählers cnt einen gegebenen Schwellenwert V überschreitet oder nicht. Wenn cnt V nicht überschreitet, beendet die Steuerschaltung 755 die Neueinstellungsverarbeitung. Es ist festzustellen, dass eine Beziehung zwischen U und V U > V genügt.
  • Schritt S910: ein Schritt des Durchführens der Verarbeitung der anfänglichen Einstellungen, um einen neuen Index i' auszuwählen, durch die Leistungsvermögensauswertungs-/Steuereinheit 750, wenn der Beziehung cnt > V im Schritt S909 genügt wird. Dies bedeutet, dass die Leistungsvermögensauswertungs-/Steuereinheit 750 bestimmt, dass die Schaltungseigenschaften sich beträchtlich geändert haben, da die Regenerierung der Bitfolge w(i) immer wieder fehlerhaft war, und die anfänglichen Einstellungen wieder bewirkt, bevor die Bitfolge w(i) nicht länger regeneriert werden kann, um den neuen i' wieder auszuwählen.
  • Das Flussdiagramm der Neueinstellungen ist nun beschrieben. Durch die vorgenannte Reihe von Verarbeitungsschritten kann die Leistungsvermögensauswertungs-/Steuereinheit 750 sicherstellen, dass der Glitch, der einem gewünschten Leistungsvermögen genügt (wie der Informationsmenge und der Fehlerrate) ausgegeben wird, ohne durch die Vorrichtungsherstellung oder die altersmäßige Verschlechterung der Vorrichtung beeinflusst zu sein, und kann wieder die anfänglichen Einstellungen durchführen, wenn dies notwendig ist.
  • Wie vorstehend beschrieben ist, sind gemäß dem ersten Ausführungsbeispiel die mehreren Störspitzen-Erzeugungsschaltungen so angebracht, dass die Informationsmengen dieser Schaltungen ausgewertet werden können. Es ist daher möglich, eine Möglichkeit zu erhöhen, dass der Glitch einem gewünschten Leistungsvermögen genügt, indem eine Auswahl der zu verwendenden Störspitzen-Erzeugungsschaltung aus den mehreren Störspitzen-Erzeugungsschaltungen ermöglicht wird. Es ist auch möglich, die Störspitzen-Erzeugungsschaltung auszuwählen, die tatsächlich einem gewünschten Leistungsvermögen genügt, durch Einschließen der Leistungsvermögensauswertungs-/Steuereinheit.
  • Zusätzlich stellen diese Merkmale sicher, dass die Glitch-PUF einer gewünschten Informationsmenge zu der Zeit der Herstellung der Vorrichtung und nach der altersmäßigen Verschlechterung der Vorrichtung genügt. Als eine Folge ist es beispielsweise möglich, sicherzustellen, dass eine Funktion einer hergestellten Vorrichtung, die die Glitch-PUF verwendet, normal arbeitet oder eine Garantieperiode für die Funktion weiter verlängert wird.
  • Darüber hinaus sind die mehreren Störspitzen-Erzeugungsschaltungen, insbesondere die Störspitzen-Erzeugungsschaltung, die die Störspitze häufig erzeugt und somit das erzeugte Bit jedes Mal variieren kann (niedrige Reproduzierbarkeit hat), angebracht, und eine Frequenz von 0/1 des erzeugten Bits oder dergleichen kann ausgewertet werden, und damit kann die Glitch-PUF als der Zufallszahlengenerator verwendet werden.
  • Zweites Ausführungsbeispiel
  • Bei dem vorbeschriebenen ersten Ausführungsbeispiel wurden die anfänglichen Einstellungen des Auswählens der optimalen Störspitzen-Erzeugungsschaltung und die Wiedereinstellungen, die vorzunehmen sind, wenn die Eigenschaften der Störspitzen-Erzeugungsschaltung sich geändert haben, beschrieben. Zusätzlich hierzu wird bei einem zweiten Ausführungsbeispiel der vorliegenden Erfindung ein spezifisches Anwendungsbeispiel der Verwendung der Störspitzen-Erzeugungsschaltung beschrieben.
  • Die Erzeugung der Bitfolge durch die Glitch-PUF kann verwendet werden, um einen für einen Verschlüsselungsalgorithmus zu verwendenden Schlüssel zu erzeugen. 10 ist ein Konfigurationsdiagramm einer Leistungsvermögensauswertungs-/Steuereinheit gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung in einem Fall des Erzeugens des Schlüssels. Eine Leistungsvermögensauswertungs-/Steuereinheit 1050 gemäß dem zweiten Ausführungsbeispiel enthält eine Fehlerkorrekturschaltung 1051, eine OWHF-Schaltung 1052, eine Vergleichs-/Bestimmungsschaltung 1053, eine Leistungsvermögens-Auswertungsschaltung 1054, eine Steuerschaltung 1055 und eine HF-Schaltung 1056. Die Konfiguration in 10 gemäß dem zweiten Ausführungsbeispiel enthält weiterhin eine Verschlüsselungsschaltung 1090.
  • Im Vergleich zu der Konfiguration in 7 gemäß dem vorbeschriebenen ersten Ausführungsbeispiel ist die Leistungsvermögensauswertungs-/Steuereinheit 1050 nach 10 gemäß dem zweiten Ausführungsbeispiel dadurch unterschiedlich, dass sie eine Hash-Funktion (HF-Schaltung 1056) enthält, um die Bitfolge zufällig zu machen. Die Arbeitsweise der HF-Schaltung 1056 ermöglicht, dass die durch eine Glitch-PUF 1001 erzeugte Bitfolge als der Schlüssel für den Verschlüsselungsalgorithmus zu verwenden ist.
  • Als Nächstes wird die Arbeitsweise der Glitch-PUF 1001 mit der Konfiguration nach 10 mit Bezug auf ein Flussdiagramm beschrieben. 11 ist ein Flussdiagramm für die anfänglichen, von der in 10 illustrierten Glitch-PUF 1001 nach dem zweiten Ausführungsbeispiel der vorliegenden Erfindung durchgeführten Einstellungen. Darüber hinaus ist 12 ein Flussdiagramm für von der in 10 illustrierten Glitch-PUF nach dem zweiten Ausführungsbeispiel der vorliegenden Erfindung durchgeführten Neueinstellungen.
  • Zuerst wird mit Bezug auf 11 eine Reihen von Verarbeitungsschritten der anfänglichen Einstellungen schrittweise beschrieben. Es ist festzustellen, dass dieses Flussdiagramm nach 11 dasjenige ist, in welchem eine auf die Schlüsselerzeugung bezogene Verarbeitung zu dem Flussdiagramm gemäß 8 für das erste Ausführungsbeispiel hinzugefügt ist. Insbesondere sind die Schritte S1102 bis S1105 die gleichen wie die Schritte S801 bis S804, und die Schritte S1101 und S1105 bis S1108 entsprechen Schritten, die als die auf die Schlüsselerzeugung bezogene Verarbeitung neu hinzugefügt sind.
  • Schritt S1101: ein Schritt des Eingebens eines Hauptschlüssels mk von einer Ein-/Ausgabeeinheit 1082 durch eine Verschlüsselungsschaltung 1090, um den eingegebenen Hauptschlüssel mk in einem internen Register zu halten.
  • Schritt S1102: ein Schritt des Erhaltens eines Bits b (1, 1, 1) bis zu einem Bit b (N, M, 2n – 1) durch die Steuerschaltung 1055.
  • Schritt S1103: ein Schritt des Auswertens des jeweiligen Leistungsvermögens des Bits b (1, 1, 1), ..., b (N, M, 2n – 1) durch die Leistungsvermögens-Auswertungsschaltung 1054. Auf der Grundlage des Ergebnisses der Auswertung wählt die Leistungsvermögens-Auswertungsschaltung 1054 den Index i (i = 1, ..., N) aus, der einem gewünschten Leistungsvermögen genügt, und hält den Index i in dem Speicher 1082.
  • Schritt S1104: ein Schritt des Erzeugens eines Syndroms s, das zum Korrigieren eines Fehlers einer Bitfolge w(i) = (b (i, 1, 1), ..., b (i, 1, 2n – 1)) entsprechend dem Index i, der einem gewünschten Leistungsvermögen genügt, wenn angenommen ist, dass j = 1 ist, erforderlich ist, durch die Fehlerkorrekturschaltung 1051, und des Haltens des erzeugten Syndroms s in dem Speicher.
  • Schritt S1105: ein Schritt des Berechnens eines Hash-Wertes h der Bitfolge w(i) durch die OWHF-Schaltung 1052, um den berechneten Hash-Wert h in dem Speicher 1082 zu halten.
  • Schritt S1106: ein Schritt des Berechnens eines Hash-Wertes k der Bitfolge w(i) durch die HF-Schaltung 1056, um den berechneten Hash-Wert k in dem internen Register der Verschlüsselungsschaltung 1090 zu halten. Dieser Wert k entspricht einem Verschlüsselungsschlüssel, der durch Verwendung der Glitch-PUF 1001 erzeugt wurde.
  • Schritt S1107: ein Schritt des Verschlüsselns des Hauptschlüssels mk unter Verwendung des im Schritt S1106 erzeugten Verschlüsselungsschlüssels k durch die Verschlüsselungsschaltung 1090, um verschlüsselte Daten x zu erhalten. Die Verschlüsselungsschaltung 1090 hält die verschlüsselten Daten x in dem Speicher 1082.
  • Schritt S1108: ein Schritt des Löschens des Hauptschlüssels mk und des Verschlüsselungsschlüssels k, die in dem internen Register gehalten werden, durch die Verschlüsselungsschaltung 1090.
  • In dem vorbeschriebenen Flussdiagramm nach 11 gibt es zwei Typen von Verschlüsselungsschlüssel, das heißt, mk und k, aber der Hauptschlüssel mk ist ein Schlüssel zum tatsächlichen Verschlüsseln der Daten, und der durch die Glitch-PUF erzeugte Verschlüsselungsschlüssel k ist ein Schlüssel zum Verschlüsseln des Hauptschlüssels mk. Der Grund, weshalb der Verschlüsselungsschlüssel k nicht zum Verschlüsseln der Daten verwendet wird, besteht darin, dass sich das Ausgangssignal der Glitch-PUF 1001 bei einer altersgemäßen Verschlechterung der Vorrichtung ändert und es zu einem gewissen Zeitpunkt deshalb unmöglich wird, denselben Verschlüsselungsschlüssel k wie den bei den anfänglichen Einstellungen erzeugten zu regenerieren.
  • Das Flussdiagramm für die anfänglichen Einstellungen ist nun beschrieben. Durch die Reihe von vorbeschriebenen Verarbeitungsschritten kann die Leistungsvermögensauswertungs-/Steuereinheit 1050 die anfänglichen Einstellungen des einem gewünschten Leistungsvermögen genügenden Index i, des Syndroms s, das für die Korrektur eines Fehlers der Bitfolge w(i) erforderlich ist, und des Hash-Werts h der Bitfolge w(i) durchführen. Die Leistungsvermögensauswertungs-/Steuereinheit 1050 kann weiterhin den Hauptschlüssel mk erhalten, den Verschlüsselungsschlüssel k erzeugen und die verschlüsselten Daten x erzeugen.
  • Als Nächstes wird mit Bezug auf 12 eine Reihe von Verarbeitungsschritten für Neueinstellungen schrittweise beschrieben. Es ist zu beachten, dass das Flussdiagramm nach 12 ein solches ist, bei dem eine auf eine Schlüsselverwaltung bezogene Verarbeitung zu dem Flussdiagramm in 9 für das erste Ausführungsbeispiel hinzugefügt ist. Genauer gesagt, die Schritte S1201 bis S1208 sind die gleichen wie die Schritte S901 bis S908, der Schritt S1211 ist derselbe wie der Schritt S909, und die Schritte S1209, S1210 und S1212 entsprechen Schritten, die als die auf die Schlüsselverwaltung bezogene Verarbeitung neu hinzugefügt sind.
  • Schritt S1201: ein Schritt des Initialisierens des Wertes des Zählers cnt auf 0 durch die Steuerschaltung 1055.
  • Schritt S1202: ein Schritt des Steuerns der Biterzeugungseinheit 1010 zur Erzeugung einer Bitfolge w(i)' entsprechend dem bei den vorbeschriebenen anfänglichen Einstellungen bestimmten Index i durch die Steuerschaltung 1055.
  • Schritt S1203: ein Schritt des Durchführens der Fehlerkorrekturverarbeitung bei der Bitfolge w(i)' durch die Fehlerkorrekturschaltung 1051, um eine Bitfolge w(i)'' zu erhalten.
  • Schritt S1204: ein Schritt des Berechnens eines Hash-Wertes h'' der Bitfolge w(i)'' durch die OWHF-Schaltung 1052.
  • Schritt S1205: ein Schritt des Vergleichens des Hash-Wertes h'' mit dem bei den anfänglichen Einstellungen erzeugten Hash-Wert h durch die Vergleichs-/Bestimmungsschaltung 1053, um die Verarbeitung in Abhängigkeit von dem Ergebnis des Vergleichs zu verzweigen.
  • Schritt S1206: ein Schritt des Erhöhens des Wertes des Zählers cnt, der den Zählwert der fehlerhaften Korrekturen darstellt, um 1 durch die Steuerschaltung 1055, wenn der Beziehung h ≠ h'' im Schritt S1205 genügt wird, um zum nächsten Schritt S1207 weiterzugehen.
  • Schritt S1207: ein Schritt des Bestimmens, ob der Wert des Zählers cnt einen vorbestimmten Schwellenwert U überschreitet oder nicht, durch die Steuerschaltung 1055. Wenn der Zähler cnt U nicht überschreitet, geht die Verarbeitung zum Schritt S1202 zurück, und die Steuerschaltung 1055 erzeugt wieder die Bitfolge und führt die Fehlerkorrektur durch.
  • Schritt S1208: ein Schritt des Ausgebens einer Fehlermeldung durch die Steuerschaltung 1055, wenn der Beziehung cnt > U im Schritt S1207 genügt wird.
  • Schritt S1209: ein Schritt des Berechnens des Hash-Wertes k der Bitfolge w(i)'' durch die HF-Schaltung 1056. Der Beziehung h = h'' wird im Schritt S1205 genügt, und daher wird einer Beziehung w(i)'' = w(i) ebenfalls genügt. Der hier berechnete Hash-Wert k ist daher identisch mit dem Hash-Wert k von w(i). Dies bedeutet, dass die Regenerierung des bei den anfänglichen Einstellungen erzeugten Schlüssels erfolgreich ist. Die OWHF-Schaltung 1052 hält den berechneten Hash-Wert k als einen regenerierten Schlüssel k in dem internen Register der Verschlüsselungsschaltung 1090.
  • Schritt S1210: ein Schritt des Verwendens des regenerierten Schlüssels k zum Dekodieren der Daten x durch die Verschlüsselungsschaltung 1090, um hierdurch den Hauptschlüssel mk zu erhalten. Die Verschlüsselungsschaltung 1090 hält den Hauptschlüssel mk in dem internen Register.
  • Schritt S1211: ein Schritt des Bestimmens, ob der Wert des Zählers cnt den gegebenen Schwellenwert V überschreitet oder nicht, durch die Steuerschaltung 1055. Wenn cnt V nicht überschreitet, geht die Steuerschaltung 1055 zu S1212 weiter.
  • Schritt S1212: ein Schritt des Verwendens des Hauptschlüssels mk, um die Verschlüsselungsverarbeitung durchzuführen, durch die Verschlüsselungsschaltung 1090.
  • Schritt S1213: ein Schritt des Durchführens der Verarbeitung für die anfänglichen Einstellungen, um einen neuen Index i' auszuwählen und mk unter Verwendung eines neuen Schlüssels k' entsprechend dem neuen Index i' zu verschlüsseln, durch die Leistungsvermögensauswertungs-/Steuereinheit 1050, wenn der Beziehung cnt > V im Schritt S1211 genügt wird. Dies bedeutet, dass die Leistungsvermögensauswertungs-/Steuereinheit 1050 bestimmt, dass sich die Schaltungseigenschaften bemerkenswert geändert haben, da die Regenerierung der Bitfolge w(i) immer wieder fehlgeschlagen ist, und die anfänglichen Einstellungen wieder durchführt, bevor die Bitfolge w(i) nicht länger regeneriert werden kann (was bedeutet, dass k nicht länger regeneriert werden kann), um den neuen Index i' wieder auszuwählen.
  • Das Flussdiagramm für die Neueinstellungen ist nun beschrieben. Durch die Reihe von vorbeschriebenen Verarbeitungsschritten kann die Leistungsvermögensauswertungs-/Steuereinheit 1050 sicherstellen, dass der Glitch, der einem gewünschten Leistungsvermögen (wie der Informationsmenge und der Fehlerrate) genügt, ausgegeben wird, ohne durch die Vorrichtungsherstellung oder die altersgemäße Verschlechterung der Vorrichtung beeinflusst zu sein, und die anfänglichen Einstellungen wieder vornehmen, wenn dies benötigt wird. Es ist auch möglich, eine Anwendung der auf die Schlüsselverwaltung bezogenen Verarbeitung zu realisieren.
  • Wie vorstehend beschrieben ist, ist es nach dem zweiten Ausführungsbeispiel möglich, den für den Verschlüsselungsalgorithmus zu verwendenden Schlüssel unter Verwendung der Erzeugung der Bitfolge durch die Glitch-PUF mit den vorstehend in dem ersten Ausführungsbeispiel beschriebenen Wirkungen zu erzeugen. Es ist daher möglich, die Anwendung auf die Verschlüsselungsverarbeitung zu realisieren.

Claims (8)

  1. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen, aufweisend eine Biterzeugungseinheit, zum Erzeugen spezifischer Informationen über eine Halbleitervorrichtung in der Halbleitervorrichtung, welche Biterzeugungseinheit aufweist: eine Störspitzen-Erzeugungsschaltung zum Ausgeben eines in einem Ausgangssignal einer Kombinationsschaltung erzeugten Glitches; und eine Bitumwandlungsschaltung zum Umwandeln einer Form des Glitches in ein Informationsbit, wobei die Störspitzen-Erzeugungsschaltung mehrere darauf befestigte Kombinationsschaltungen aufweist, um als eine Toplevel-Störspitzen-Erzeugungsschaltung zum Ausgeben mehrerer verschiedener Störspitzen ausgebildet zu sein, die Biterzeugungseinheit weiterhin eine Auswahlvorrichtung zum Empfangen eines Auswahlsignals von außerhalb, um eine Störspitze aus mehreren verschiedenen von der Störspitzen-Erzeugungsschaltung ausgegebenen Störspitzen auszuwählen, und zum Ausgeben der ausgewählten einen Störspitze zu der Bitumwandlungsschaltung aufweist, die Erzeugungsvorrichtung für vorrichtungsspezifische Informationen weiterhin eine Leistungsvermögensauswertungs-/Steuereinheit zum Ausgeben des Auswahlsignals derart, dass die eine Störspitze aufeinanderfolgend aus den mehreren verschiedenen Störspitzen ausgewählt wird, um jeweilige Stücke von Bitinformationen, die durch die Bitumwandlungsschaltung so umgewandelt wurden, dass sie den mehreren verschiedenen Störspitzen entsprechen, zu erhalten, zum Spezifizieren einer Störspitze, die einem gewünschten Leistungsvermögen genügt, auf der Grundlage der jeweiligen Stücke von Bitinformationen, und zum Spezifizieren des Auswahlsignals derart, dass die spezifizierte Störspitze als die spezifischen Informationen der Halbleitervorrichtung ausgegeben wird, enthält.
  2. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach Anspruch 1, bei der die Toplevel-Störspitzen-Erzeugungsschaltung als die Störspitzen-Erzeugungsschaltung dieselben logischen Schaltungen aufweist, die in Reihe geschaltet sind, um eine Mehrstufenkonfiguration zu haben, und Ausgangssignale von jeweiligen Stufen als die mehreren verschiedenen Störspitzen ausgibt.
  3. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach Anspruch 1, bei der die Toplevel-Störspitzen-Erzeugungsschaltung als die Störspitzen-Erzeugungsschaltung mehrere Störspitzen-Erzeugungsschaltungen mit verschiedenen Schaltungskonfigurationen aufweist und jeweilige Ausgangssignale der mehreren Störspitzen-Erzeugungsschaltungen als die mehreren verschiedenen Störspitzen ausgibt.
  4. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach einem der Ansprüche 1 bis 3, bei der die Leistungsvermögensauswertungs-/Steuereinheit eine Fehlerraten-Auswertungsschaltung aufweist zum wiederholten Ausführen einer Operation des Ausgebens des Auswahlsignals derart, dass die eine Störspitze aufeinanderfolgend aus den mehreren verschiedenen Störspitzen ausgewählt wird, um jedes von Stücken von Bitinformationen, die durch die Bitumwandlungsschaltung so umgewandelt wurden, dass sie jeder der mehreren verschiedenen Störspitzen entsprechen, und zum Auswerten einer Fehlerrate von jeder der mehreren verschiedenen Störspitzen auf der Grundlage eines Verhältnisses einer Anzahl von Malen, für die die erhaltenen Stücke von Bitinformationen miteinander übereinstimmen, zu einem Wiederholungszählwert.
  5. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach einem der Ansprüche 1 bis 4, bei der die Störspitzen-Erzeugungsschaltung mehrere der Toplevel-Störspitzen-Erzeugungsschaltungen, die auf der einzelnen Halbleitervorrichtung angebracht sind, aufweist, bei der die Biterzeugungseinheit weiterhin eine zweite Auswahlvorrichtung zum Empfangen eines zweiten Auswahlsignals von außerhalb, um ein Ausgangssignal aus den Ausgangssignalen der mehreren Toplevel-Störspitzen-Erzeugungsschaltungen auszuwählen, und zum Ausgeben des ausgewählten einen Ausgangssignals zu der Bitumwandlungsschaltung aufweist und bei der die Leistungsvermögensauswertungs-/Steuereinheit eine Informationsmengen-Auswertungsschaltung aufweist zum Ausführen einer Operation des Ausgebens des zweiten Auswahlsignals derart, dass das eine Ausgangssignal aufeinanderfolgend aus den Ausgangssignalen der mehreren Toplevel-Störspitzen-Erzeugungsschaltungen ausgewählt wird, und zum aufeinanderfolgenden Ändern eines n-Bit-Eingangssignals, wobei n eine ganze Zahl gleich 2 oder größer ist, um in jede der mehreren Toplevel-Störspitzen-Erzeugungsschaltungen eingegeben zu werden, um jedes von Stücken von Bitinformationen, die durch die Bitumwandlungsschaltung so umgewandelt wurden, dass sie jeder der mehreren der Toplevel-Störspitzen-Erzeugungsschaltungen als eine Bitfolge mit 2n – 1 Bits entsprechen, zu erhalten, und zum Auswerten einer Informationsmenge von jeder der mehreren Toplevel-Störspitzen-Erzeugungsschaltungen durch Zählen einer Anzahl von Bits, die in der Bitfolge enthalten sind und einen Bitwert von 1 haben.
  6. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach Anspruch 4 oder 5, bei der die Leistungsvermögensauswertungs-/Steuereinheit aufweist: eine Fehlerkorrekturschaltung zum Korrigieren eines in einer Bitfolge enthaltenen Fehlers, die über die Bitumwandlungsschaltung der Biterzeugungseinheit in die Leistungsvermögensauswertungs-/Steuereinheit eingegeben wird; eine OWHF-Schaltung zum Erzeugen eines Hash-Wertes der Bitfolge, die der Fehlerkorrektur durch die Fehlerkorrekturschaltung unterworfen wurde; eine Vergleichs-/Bestimmungsschaltung zum Vergleichen des von der OWHF-Schaltung erzeugten Hash-Wertes mit einem vorher erzeugten Hash-Wert; eine Leistungsvermögens-Auswertungsschaltung zum Auswerten der Fehlerrate oder der Informationsmenge als ein Leistungsvermögen der Bitfolge; und eine Steuerschaltung zum Durchführen einer Steuerung derart, dass das von der Biterzeugungseinheit ausgegebene Informationsbit von dem Glitch erzeugt wird, der dem gewünschten Leistungsvermögen genügt, auf der Grundlage eines von der Vergleichs-/Bestimmungsschaltung erhaltenen Ergebnisses der Bestimmung und eines von der Leistungsvermögens-Auswertungsschaltung erhaltenen Ergebnisses der Auswertung.
  7. Erzeugungsvorrichtung für vorrichtungsspezifische Informationen nach Anspruch 6, bei der die Leistungsvermögensauswertungs-/Steuereinheit weiterhin eine HF-Schaltung, um die Bitfolge, die der Fehlerkorrektur durch die Fehlerkorrekturschaltung unterworfen wurde, zufällig zu machen, um einen Hash-Wert zu erhalten, aufweist, um hierdurch einen Verschlüsselungsschlüssel zu erzeugen.
  8. Erzeugungsverfahren für vorrichtungsspezifische Informationen, das für eine Erzeugungsvorrichtung für vorrichtungsspezifische Informationen anzuwenden ist, um spezifische Informationen über eine Halbleitervorrichtung in der Halbleitervorrichtung zu erzeugen, welche Erzeugungsvorrichtung für vorrichtungsspezifische Informationen aufweist: eine Störspitzen-Erzeugungsschaltung zum Ausgeben einer in einem Ausgangssignal einer Kombinationsschaltung erzeugten Glitch; und eine Bitumwandlungsschaltung zum Umwandeln einer Form des Glitches in ein Informationsbit, welches Erzeugungsverfahren für vorrichtungsspezifische Informationen aufweist: Ausgeben eines Auswahlsignals zum Auswählen einer Störspitze aus mehreren verschiedenen Störspitzen, die von mehreren Kombinationsschaltungen, die auf der Störspitzen-Erzeugungsschaltung angebracht sind, ausgegeben wurden, um die ausgewählte eine Störspitze in die Bitumwandlungsschaltung auszugeben; Ausgeben des Auswahlsignals derart, dass die eine Störspitze aufeinanderfolgend aus den mehreren verschiedenen Störspitzen ausgewählt wird, um jeweilige Stücke von Bitinformationen, die durch die Bitumwandlungsschaltung so umgewandelt wurden, dass sie den mehreren verschiedenen Störspitzen entsprechen, zu erhalten, und Spezifizieren einer Störspitze, die einem gewünschten Leistungsvermögen genügt, auf der Grundlage der jeweilige Stücke von Bitinformationen; und Spezifizieren des Auswahlsignals derart, dass die spezifizierte Störspitze als die spezifische Information über die Halbleitervorrichtung ausgegeben wird.
DE112011106024.6T 2011-12-22 2011-12-22 Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen Active DE112011106024B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079820 WO2013094056A1 (ja) 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法

Publications (2)

Publication Number Publication Date
DE112011106024T5 true DE112011106024T5 (de) 2014-09-18
DE112011106024B4 DE112011106024B4 (de) 2023-07-06

Family

ID=48667980

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011106024.6T Active DE112011106024B4 (de) 2011-12-22 2011-12-22 Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen

Country Status (8)

Country Link
US (1) US9361482B2 (de)
JP (1) JP5646091B2 (de)
KR (1) KR101576408B1 (de)
CN (1) CN103946909B (de)
DE (1) DE112011106024B4 (de)
IN (1) IN2014CN03264A (de)
TW (1) TWI505641B (de)
WO (1) WO2013094056A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2508052A (en) * 2012-11-18 2014-05-21 Nds Ltd Glitch resistant device
JP6213345B2 (ja) * 2014-03-31 2017-10-18 富士通株式会社 転送装置、決定方法、及びデータ処理装置
JP2016046719A (ja) 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
JP2016091177A (ja) * 2014-10-31 2016-05-23 株式会社アドバンテスト 認証端末
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9501664B1 (en) * 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
US20170132434A1 (en) * 2015-11-06 2017-05-11 Mentor Graphics Corporation Measure variation tolerant physical unclonable function device
US10579339B2 (en) * 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
JP6585215B2 (ja) * 2018-03-16 2019-10-02 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
CN113268745B (zh) * 2021-04-12 2022-06-21 温州大学 基于Camellia加密算法的软PUF

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002212570A1 (en) * 2000-10-24 2002-05-15 Hmi Co., Ltd. Random number generator
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
JP3732188B2 (ja) * 2003-03-31 2006-01-05 Necマイクロシステム株式会社 擬似乱数発生回路
US7233212B2 (en) * 2005-03-31 2007-06-19 International Business Machines Corporation Oscillator array with row and column control
WO2007031908A2 (en) 2005-09-14 2007-03-22 Koninklijke Philips Electronics N.V. Improved device, system and method for determining authenticity of an item
ATE426968T1 (de) * 2005-11-29 2009-04-15 Koninkl Philips Electronics Nv Physisches verteilen von geheimnissen und beweisen der nahe unter verwendung von pufs
JP5113074B2 (ja) 2006-11-06 2013-01-09 パナソニック株式会社 情報セキュリティ装置
CN102077205B (zh) 2008-06-27 2015-12-16 皇家飞利浦电子股份有限公司 用于检验物品的真实性、完整性和/或物理状态的设备、系统和方法
WO2011086688A1 (ja) 2010-01-15 2011-07-21 三菱電機株式会社 ビット列生成装置及びビット列生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies

Also Published As

Publication number Publication date
US20140325241A1 (en) 2014-10-30
KR101576408B1 (ko) 2015-12-09
CN103946909B (zh) 2016-05-11
CN103946909A (zh) 2014-07-23
IN2014CN03264A (de) 2015-07-03
JPWO2013094056A1 (ja) 2015-04-27
TW201328190A (zh) 2013-07-01
TWI505641B (zh) 2015-10-21
JP5646091B2 (ja) 2014-12-24
DE112011106024B4 (de) 2023-07-06
KR20140093276A (ko) 2014-07-25
WO2013094056A1 (ja) 2013-06-27
US9361482B2 (en) 2016-06-07

Similar Documents

Publication Publication Date Title
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
EP3028140B1 (de) Konstruieren einer schaltung geeignet zur erzeugung von zufallsbits und schaltung zur erzeugung von zufallsbits
DE69222090T2 (de) Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten
DE69731470T2 (de) Spiral-verwürfelungsverfahren
EP2240848B1 (de) Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl
DE69907705T2 (de) Verschachteler mit anwendung von nebengruppenverteilung
DE3854292T2 (de) Decoder.
DE102011079259B9 (de) Bitfehlerkorrektur zur Beseitigung von altersbedingten Fehlern in einem Bitmuster
DE102014221893A1 (de) Verfahren und Vorrichtung zum Erzeugen eines geheimen Schlüssels
DE102014208212A1 (de) Ableiten eines gerätespezifischen Wertes
DE102014102501A1 (de) Zufallszahlgenerator
DE112019001438T5 (de) Kryptographisches asic mit kombinierten funktionen
DE10219135B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Zufallszahl
DE2840552A1 (de) Digitales uebertragungssystem
DE102013208212B4 (de) Verbessertes Computerschnittstellensystem
DE60104338T2 (de) Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium
DE69904827T2 (de) Umkehrbare umsetzung von binären sequenzen in 2/3 (1,k) lauflängenbegrenzte kodierte sequenzen mit beschränkungen der maximalen übergangsdichte
DE102014200309A1 (de) Verfahren zum Überprüfen einer Ausgabe
DE102013219088A1 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
DE69008896T2 (de) Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage.
DE10256462A1 (de) Vorrichtung und Verfahren zum Minimieren der durch Puncturing verursachten Ausgangsverzögerung
DE102014224421A1 (de) Verfahren und Vorrichtung zum Erzeugen von Zufallsbits
DE2639806C2 (de) Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung
DE102013108424A1 (de) Verfahren zur Verschlüsselung von Zeichenketten
DE102012205620B4 (de) Pseudozufallszahlengenerator und verfahren zur bereitstellung einer pseudozufallsfolge

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: PFENNING MEINIG & PARTNER GBR, DE

Representative=s name: PFENNING, MEINIG & PARTNER MBB PATENTANWAELTE, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final