DE102017118548B4 - Sichere kommunikation zwischen server-vorrichtung und client-vorrichtungen unter verwendung leistungsfähiger physikalischer nicht-clonbarer funktionen - Google Patents

Sichere kommunikation zwischen server-vorrichtung und client-vorrichtungen unter verwendung leistungsfähiger physikalischer nicht-clonbarer funktionen Download PDF

Info

Publication number
DE102017118548B4
DE102017118548B4 DE102017118548.8A DE102017118548A DE102017118548B4 DE 102017118548 B4 DE102017118548 B4 DE 102017118548B4 DE 102017118548 A DE102017118548 A DE 102017118548A DE 102017118548 B4 DE102017118548 B4 DE 102017118548B4
Authority
DE
Germany
Prior art keywords
challenge
response
server device
puf
client
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.)
Active
Application number
DE102017118548.8A
Other languages
English (en)
Other versions
DE102017118548B8 (de
DE102017118548A1 (de
Inventor
Shih-Lien Linus LU
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of DE102017118548A1 publication Critical patent/DE102017118548A1/de
Application granted granted Critical
Publication of DE102017118548B4 publication Critical patent/DE102017118548B4/de
Publication of DE102017118548B8 publication Critical patent/DE102017118548B8/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Server-Vorrichtung in einem Client-Server-Vorrichtungs-Kommunikationssystem, wobei die Server-Vorrichtung Folgendes umfasst:
eine Virtuelle-Physical Unclonable Function (PUF)-Schaltungs-Speichervorrichtung, die eine virtuelle Abbildung mehrerer PUF-Schaltungen von mehreren Client-Vorrichtungen in dem Client-Server-Vorrichtungs-Kommunikationssystem speichert, und
eine Verschlüsselungsschaltung, die für Folgendes eingerichtet ist:
Abfragen der Virtuelle-PUF-Schaltungs-Speichervorrichtung mit einer ersten Challenge nach einer ersten Response aus der virtuellen Abbildung, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht,
Generieren einer zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen Challenge-Koeffizienten, und
Abfragen der Virtuelle-PUF-Schaltungs-Speichervorrichtung mit der zweiten Challenge nach einer zweiten Response aus der virtuellen Abbildung, die der Client-Vorrichtung entspricht, und
wobei die Verschlüsselungsschaltung Folgendes umfasst:
ein erstes Logik-Gatter, das dazu eingerichtet ist, eine Logik-Operation zwischen einer ersten Nachricht unter mehreren Nachrichten und der ersten Response auszuführen, um eine erste verschlüsselte Nachricht bereitzustellen, und
ein zweites Logik-Gatter, das dazu eingerichtet ist, die Logik-Operation zwischen einer zweiten Nachricht unter den mehreren Nachrichten und der zweiten Response auszuführen, um eine zweite verschlüsselte Nachricht bereitzustellen.

Description

  • HINTERGRUND
  • Ein integrierter Schaltkreis stellt eine Zusammenstellung elektronischer Schaltungen dar, die auf einem Halbleitersubstrat, wie zum Beispiel einem Siliziumkristall, mittels eines Halbleiterfertigungsprozesses gebildet werden. Oft können Fertigungsschwankungen und/oder Fehlausrichtungstoleranzen, die in dem Halbleiterfertigungsprozess vorkommen, dazu führen, dass integrierte Schaltkreise, die mittels des Halbleiterfertigungsprozesses hergestellt werden, sich voneinander unterscheiden. Zum Beispiel können unkontrollierbare zufällige physikalische Prozesse in dem Halbleiterfertigungsprozess kleine Differenzen, wie zum Beispiel Differenzen bei den Dotierungskonzentrationen, Oxiddicken, Kanallängen, strukturellen Breiten und/oder Parasiten, in den integrierten Schaltkreisen verursachen. Diese kleinen Differenzen werden innerhalb der Prozessgrenzen des Halbleiterfertigungsprozesses gehalten und beeinflussen gewöhnlich nicht das korrekte Funktionieren der integrierten Schaltkreise. Jedoch bewirken diese kleinen Differenzen, dass jeder der integrierten Schaltkreise physikalisch einmalig ist, ohne dass zwei integrierte Schaltkreise identisch wären. Physikalische nicht-clonbare Funktionen (Physical Unclonable Functions, PUFs) nutzen diese physikalische Einmaligkeit, um integrierte Schaltkreise voneinander zu unterscheiden. Die PUFs stellen Challenge-Response-Mechanismen dar, bei denen die Abbildung zwischen Challenges und ihren entsprechenden Responses von der komplexen und variablen Natur des physikalischen Materials, das zur Fertigung der integrierten Schaltkreise verwendet wird, abhängig sind. Wenn die integrierten Schaltkreise mit den Challenges konfrontiert werden, so generieren die integrierten Schaltkreise Zufalls-Responses, die von den physikalischen Eigenschaften der integrierten Schaltkreise selbst abhängig sind. Wenn die integrierten Schaltkreise mehrfach mit der gleichen Challenge konfrontiert werden, so generieren sie ähnliche Responses, die sich nur durch kleine Fehler unterscheiden, die durch einen zweckmäßigen Fehlerkorrekturmechanismus korrigiert werden können.
  • Stand der Technik zum Gegenstand der Erfindung ist beispielsweise zu finden in CA 2 744 161 A1 , US 2015 / 0 007 265 A1 und US 2012 / 0 131340 A1 .
  • Figurenliste
  • Aspekte der vorliegenden Offenbarung werden am besten anhand der folgenden detaillierten Beschreibung verstanden, wenn sie zusammen mit den begleitenden Figuren gelesen wird. Es ist anzumerken, dass gemäß der üblichen Praxis in der Industrie verschiedene Merkmale nicht maßstabsgetreu gezeichnet sind. Die Abmessungen der verschiedenen Merkmale können vielmehr beliebig vergrößert oder verkleinert werden, um die Besprechung besser verständlich zu machen.
    • 1 ist ein Blockschaubild von Physical Unclonable Function (PUF)-Schaltungen gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
    • 2 ist ein Blockschaubild eines beispielhaften Client-Server-Vorrichtungs-Kommunikationssystems gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 3 ist ein Blockschaubild eines beispielhaften Verschlüsselungsprozessors, der in dem beispielhaften Client-Server-Vorrichtungs-Kommunikationssystem gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden kann.
    • 4 ist ein Blockschaubild von beispielhaften Verschlüsselungsverarbeitungsschaltungen, die in dem beispielhaften Verschlüsselungsprozessor gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden können.
    • 5 ist ein Blockschaubild eines beispielhaften Entschlüsselungsprozessors, der in dem beispielhaften Client-Server-Vorrichtungs-Kommunikationssystem gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden kann.
    • 6 ist ein Blockschaubild von beispielhaften Entschlüsselungsverarbeitungsschaltungen, die in dem beispielhaften Entschlüsselungsprozessor gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden können.
    • 7 ist ein Flussdiagramm eines beispielhaften Betriebssteuerungsflusses eines Registrierungsprozesses zum Registrieren einer oder mehreren Client-Vorrichtungen bei einer Server-Vorrichtung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele zum Implementieren verschiedener Merkmale des hier besprochenen Gegenstandes bereit. Im Folgenden werden konkrete Beispiele von Komponenten und Anordnungen beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind natürlich nur Beispiele und dienen nicht der Einschränkung. Zum Beispiel kann die Ausbildung eines ersten Strukturelements über oder auf einem zweiten Strukturelement in der folgenden Beschreibung Ausführungsformen enthalten, bei denen die ersten und zweiten Strukturelemente in direktem Kontakt ausgebildet sind, und können auch Ausführungsformen enthalten, bei denen zusätzliche Strukturelemente zwischen den ersten und zweiten Strukturelementen ausgebildet sein können, so dass die ersten und zweiten Strukturelemente nicht unbedingt in direktem Kontakt stehen. Darüber hinaus kann die vorliegende Offenbarung Bezugszahlen und/oder - buchstaben in den verschiedenen Beispielen wiederholen. Diese Wiederholung schafft nicht automatisch eine Beziehung zwischen den verschiedenen besprochenen Ausführungsformen und/oder Konfigurationen.
  • ÜBERSICHT
  • Eine Client-Vorrichtung wird mittels eines Halbleiterfertigungsprozesses hergestellt. Ein oder mehrere unkontrollierbare zufällige physikalische Prozesse in dem Halbleiterfertigungsprozess können kleine Differenzen zwischen der Client-Vorrichtung und anderen Client-Vorrichtungen verursachen. Wenn die Client-Vorrichtung mit einer Challenge von einer Server-Vorrichtung konfrontiert wird, so generiert die Client-Vorrichtung eine Zufalls-Response, die von ihren physikalischen Eigenschaften abhängig ist. Die Server-Vorrichtung speichert diese Zufalls-Response als ein Teil einer virtuellen PUF-Schaltungs-Speichervorrichtung, die andere Zufalls-Responses von anderen Client-Vorrichtungen aufweist. Die Server-Vorrichtung verwendet die Zufalls-Response der Client-Vorrichtung, die in der virtuellen PUF-Schaltungs-Speichervorrichtung gespeichert ist, für einen oder mehrere Verschlüsselungsalgorithmen zum Verschlüsseln von Informationen, die an die Client-Vorrichtung übermittelt werden sollen.
  • BEISPIELHAFTE PHYSICAL UNCLONABLE FUNCTION (PUF)-SCHALTUNGEN
  • 1 ist ein Blockschaubild von Physical Unclonable Function (PUF)-Schaltungen gemäß einer Ausführungsform der vorliegenden Offenbarung. Eine elektronische Vorrichtung 100 kann durch einen Halbleiterfertigungsprozess hergestellt werden. Wie in 1 veranschaulicht, kann die elektronische Vorrichtung 100 ein Speicher-Array 102 einer Datenspeichervorrichtung enthalten. Oft können Fertigungsschwankungen und/oder Fehlausrichtungstoleranzen, die es in dem Halbleiterfertigungsprozess gibt, dazu führen, dass sich das Speicher-Array 102 von anderen Speicher-Arrays anderer elektronischer Schaltungen unterscheidet, die in ähnlicher Weise entworfen und durch die Halbleiterfertigung hergestellt werden. Zum Beispiel können unkontrollierbare zufällige physikalische Prozesse im Halbleiterfertigungsprozess kleine Differenzen, wie zum Beispiel Differenzen bei den Dotierungskonzentrationen, Oxiddicken, Kanallängen, strukturellen Breiten und/oder Parasiten, zwischen diesen Speicher-Arrays verursachen. Diese kleinen Differenzen werden innerhalb der Prozessgrenzen des Halbleiterfertigungsprozesses gehalten und beeinflussen gewöhnlich nicht das korrekte Funktionieren dieser Speicher-Arrays. Jedoch bewirken diese kleinen Differenzen, dass jedes dieser Speicher-Arrays physikalisch einmalig ist, wobei keine zwei Speicher-Arrays identisch sind. Physical Unclonable Functions (PUFs) nutzen diese physikalische Einmaligkeit, um die elektronische Vorrichtung 100 von anderen elektronischen Vorrichtungen zu unterscheiden, die in ähnlicher Weise entworfen und durch die Halbleiterfertigung hergestellt werden. Wie in 1 veranschaulicht, enthält die elektronische Vorrichtung 100 Speicher-Array 102 und PUF-Schaltungen 104.
  • Das Speicher-Array 102 enthält Speicherzellen 106.1.1 bis 106.m.n, die in einer Gruppierung von m Spalten von m Bits und n Reihen von n Wörtern angeordnet sind. In dieser beispielhaften Ausführungsform können die Speicherzellen 106.1.1 bis 106.m.n mittels sechs Transistor (6T) Static Random-Access Memory (SRAM)-Zellen implementiert werden, jedoch sind auch andere Implementierungen möglich, wie der einschlägig bewanderte Fachmann erkennt, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Ein oder mehrere unkontrollierbare zufällige physikalische Prozesse im Halbleiterfertigungsprozess können kleinen Differenzen, wie zum Beispiel Differenzen bei den Dotierungskonzentrationen, Oxiddicken, Kanallängen, strukturellen Breiten und/oder Parasiten, zwischen Transistoren von Speicherzellen 106.1.1 bis 106.m.n verursachen. Zum Beispiel enthält jede der Speicherzellen 106.1.1 bis 106.m.n eine kreuzgekoppelte invertierende Schaltung, die eine erste invertierende Schaltung aufweist, die mit einer zweiten invertierenden Schaltung kreuzgekoppelt ist. In diesem Beispiel können diese kleinen Differenzen bewirken, dass die erste invertierende Schaltung einer ersten Gruppe von Speicherzellen unter der einen oder den mehreren Speicherzellen 106.1.1 bis 106.m.n eine stärkere Response als die zweite invertierende Schaltung der ersten Gruppe von Speicherzellen hat. In dieser Situation speichert die erste Gruppe von Speicherzellen, die diese stärkere erste invertierende Schaltung aufweist, einen ersten logischen Wert, wie zum Beispiel eine logische Eins, wenn die erste Gruppe von Speicherzellen in einem unprogrammierten Betriebsmodus arbeitet, wie zum Beispiel beim Einschalten. Alternativ oder zusätzlich dazu können diese kleinen Differenzen bewirken, dass die zweite invertierende Schaltung eine zweite Gruppe von Speicherzellen unter der einen oder den mehreren Speicherzellen 106.1.1 bis 106.m.n eine stärkere Response als die erste invertierende Schaltung der zweiten Gruppe von Speicherzellen hat. In dieser Situation speichert die zweite Gruppe von Speicherzellen, die diese stärkere zweite invertierende Schaltung aufweist, einen zweiten logischen Wert, wie zum Beispiel eine logische Null, wenn die zweite Gruppe von Speicherzellen in dem unprogrammierten Betriebsmodus arbeitet.
  • Es kann für PUF-Schaltungen 104 vorteilhaft sein, die physikalische Einmaligkeit von Speicherzellen 106.1.1 bis 106.m.n, die aus dem einen oder den mehreren unkontrollierbaren zufälligen physikalischen Prozessen im Halbleiterfertigungsprozess resultieren, zu speichern, um eine Physical Unclonable Function (PUF) zu implementieren, damit die elektronische Vorrichtung 100 von anderen elektronischen Vorrichtungen, die in ähnlicher Weise entworfen und durch die Halbleiterfertigung hergestellt werden, unterschieden werden kann. Wie in 1 veranschaulicht, kommunizieren die PUF-Schaltungen 104 mit dem Speicher-Array 102, um ein oder mehrere Bits von Informationen zu lesen, die in einer oder mehreren der Speicherzellen 106.1.1 bis 106.m.n des Speicher-Arrays 102 gespeichert sind, wenn die Speicherzellen 106.1.1 bis 106.m.n in dem unprogrammierten Betriebsmodus arbeiten. Danach Speichern der PUF-Schaltungen 104 das eine oder die mehreren Bits von Informationen als eine oder mehrere Listungen, eine oder mehrere Tabellen, eine oder mehrere Dateien, eine oder mehrere Datenbanken und/oder einen sonstigen anderen Speichertyp, der dem einschlägig bewanderten Fachmann offenkundig ist, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. In einer beispielhaften Ausführungsform verwenden die PUF-Schaltungen 104 das eine oder die mehreren Bits von Informationen zum Implementieren einer „starken“ PUF. Die „starke“ PUF meint eine PUF, die ein komplexes Challenge-Response-Verhalten mit vielen möglichen Challenges aufweist, während eine „schwache“ PUF eine PUF meint, die sehr wenige Challenges aufweist. Die „schwache“ PUF braucht im Extremfall nur eine einzige feste Challenge zu enthalten.
  • Die PUF-Schaltungen 104 verknüpfen verschiedene Gruppierungen des einen oder der mehrere Bits von Informationen mit verschiedenen Responses und weisen diese verschiedenen Responses verschiedenen Challenges zu. In einigen Situationen Speichern der PUF-Schaltungen 104 diese Responses zusammen mit ihren entsprechenden Challenges als Challenge-Response-Paare. Aufgrund der unkontrollierbaren zufälligen physikalischen Prozesse des Halbleiterfertigungsprozesses bei der Herstellung von Speicherzellen 106.1.1 bis 106.m.n unterscheiden sich die in den PUF-Schaltungen 104 gespeicherten Challenge-Response-Paare von anderen Challenge-Response-Paaren anderer PUF-Schaltungen anderer elektronischer Vorrichtungen, die auf ähnliche Weise mittels des Halbleiterfertigungsprozesses hergestellt werden. Infolge dessen kann das Challenge-Response-Paar dafür verwendet werden, die elektronische Vorrichtung 100 von anderen elektronischen Vorrichtungen zu unterscheiden, die in ähnlicher Weise entworfen und durch den Halbleiterfertigungsprozess hergestellt werden. Wie zum Beispiel in 1 veranschaulicht, geben die PUF-Schaltungen 104 eine Response 152, die Challenge 150 entspricht. In einigen Situationen rufen die PUF-Schaltungen 104 ein Challenge-Response-Paar ab, das Challenge 150 entspricht. In diesen Situationen geben die PUF-Schaltungen 104 die Response dieses Challenge-Response-Paares, die Challenge 150 entspricht, als Response 152. Aufgrund der unkontrollierbaren zufälligen physikalischen Prozesse des Halbleiterfertigungsprozesses bei der Herstellung von Speicherzellen 106.1.1 bis 106.m.n ist die Response 152, die Challenge 150 entspricht, von anderen Responses anderer elektronischer Vorrichtungen, die in ähnlicher Weise entworfen und durch den Halbleiterfertigungsprozess hergestellt werden, verschieden, wenn diese anderen elektronischen Vorrichtungen mit einer ähnlichen Challenge 150 konfrontiert werden.
  • KOMMUNIKATION MITTELS PUFS
  • 2 ist ein Blockschaubild eines beispielhaften Client-Server-Vorrichtungs-Kommunikationssystems gemäß einer Ausführungsform der vorliegenden Offenbarung. Ein Client-Server-Vorrichtungs-Kommunikationssystem 200 stellt eine verteilte Anwendungsstruktur dar, die eine oder mehrere Aufgaben oder Arbeitslasten zwischen einem Anbieter einer Ressource oder eines Dienstes, der als eine Server-Vorrichtung 202 bezeichnet wird, und einem oder mehreren Dienstanfordernden, die als Client-Vorrichtungen 204.1 bis 204.n bezeichnet werden, aufteilt. In einer beispielhaften Ausführungsform kann das Client-Server-Vorrichtungs-Kommunikationssystem 200 ein Intra-Vorrichtungs-Kommunikationssystem darstellen, wie zum Beispiel zwischen einem Prozessor und einem Speicher, in dem die Server-Vorrichtung 202 und Client-Vorrichtungen 204.1 bis 204.n auf einem oder mehreren Chips und/oder einer oder mehreren Waferscheiben in einem einzelnen Package gebildet werden. In einer weiteren beispielhaften Ausführungsform kann das Client-Server-Vorrichtungs-Kommunikationssystem 200 ein Inter-Vorrichtungs-Kommunikationssystem darstellen, in dem sich die Server-Vorrichtung 202 und Client-Vorrichtungen 204.1 bis 204.n in mehrere Packages befinden, die durch einen oder mehrere Kommunikationskanäle getrennt sind, wie zum Beispiel einen oder mehrere leitungsgebundene Kommunikationskanäle und/oder einen oder mehrere Drahtlos-Kommunikationskanäle. In dieser anderen beispielhaften Ausführungsform stehen die Client-Vorrichtungen 204.1 bis 204.n für einen oder mehrere Personalcomputer, Datenendgerät-Ausrüstung, eine oder mehrere Telefonievorrichtungen, wie zum Beispiel ein oder mehrere Mobiltelefone oder eine oder mehrere mobile Computervorrichtungen, um nur einige Beispiele zu nennen, ein oder mehrere Breitbandmedienwiedergabegeräte, ein oder mehrere netzwerkgesteuerte Geräte, ein oder mehrere Set-Top-Boxen und/oder andere Vorrichtungen, die in der Lage sind, Video, Audio und/oder Daten zu senden und/oder zu empfangen, wie dem einschlägig bewanderten Fachmann offenkundig ist.
  • In der beispielhaften Ausführungsform von 2 ist das Client-Server-Vorrichtungs-Kommunikationssystem 200 als ein bidirektionales Kommunikationssystem implementiert, das eine Kommunikation von verschlüsselten Informationen, wie zum Beispiel Video, Audio und/oder Daten, zwischen der Server-Vorrichtung 202 und Client-Vorrichtungen 204.1 bis 204.n ermöglicht. Wie in 2 gezeigt, enthalten Client-Vorrichtungen 204.1 bis 204.n entsprechende PUF-Schaltungen, wie zum Beispiel PUF-Schaltungen 104, aus den PUF-Schaltungen 208.1 bis 208.n. Obgleich die Client-Vorrichtungen 204.1 bis 204.n mittels des gleichen Halbleiterfertigungsprozesses hergestellt werden können, können unkontrollierbare zufällige physikalische Prozesse des Halbleiterfertigungsprozesses kleine Differenzen, wie zum Beispiel Differenzen bei den Dotierungskonzentrationen, Oxiddicken, Kanallängen, strukturellen Breiten und/oder Parasiten, zwischen den Client-Vorrichtungen 204.1 bis 204.n bewirken. Die physikalische Einmaligkeit der PUF-Schaltungen 208.1 bis 208.n, die aus dem einen oder den mehreren unkontrollierbaren zufälligen physikalischen Prozessen im Halbleiterfertigungsprozess resultiert, kann dafür verwendet werden, Physical Unclonable Functions (PUFs) zu implementieren, damit die Server-Vorrichtung 202 zwischen Client-Vorrichtungen 204.1 bis 204.n unterscheiden kann. Zum Beispiel in einer ähnlichen Weise, wie in 1 oben besprochen, geben die Client-Vorrichtungen 204.1 bis 204.n eindeutige Responses in Reaktion auf eine Challenge, die die Server-Vorrichtung 202 ausgibt. Wie unten besprochen, können die Server-Vorrichtung 202 und/oder Client-Vorrichtungen 204.1 bis 204.n diese Responses zum Verschlüsseln und/oder Entschlüsseln von Informationen verwenden.
  • Die Server-Vorrichtung 202 enthält eine virtuelle Abbildung der Responses der PUF-Schaltungen 208.1 bis 208.n auf verschiedene Challenges. Bevor verschlüsselte Kommunikationen zwischen der Server-Vorrichtung 202 und Client-Vorrichtungen 204.1 bis 204.n stattfinden können, durchlaufen die Client-Vorrichtungen 204.1 bis 204.n einen Registrierungsprozess zum Registrieren ihrer entsprechenden PUF-Schaltungen 208.1 bis 208.n bei der Server-Vorrichtung 202. Als Teil dieses Registrierungsprozess gibt die Server-Vorrichtung 202 eine Challenge an eine oder mehrere der Client-Vorrichtungen 204.1 bis 204.n aus. In einer beispielhaften Ausführungsform kann die Challenge eine Anforderung darstellen, auf ein oder mehrere Challenge-Response-Paare unter Challenge-Response-Paaren zuzugreifen, die in den PUF-Schaltungen 208.1 bis 208.n gespeichert sind. Wenn die eine oder die mehreren Client-Vorrichtungen 204.1 bis 204.n mit dieser Challenge konfrontiert werden, so generieren ihre entsprechenden PUF-Schaltungen 208.1 bis 208.n Zufalls-Responses, die von den physikalischen Eigenschaften der PUF-Schaltungen 208.1 bis 208.n selbst abhängig sind. Danach katalogisiert die Server-Vorrichtung 202 diese Responses, um die PUF-Schaltungen 208.1 bis 208.n virtuell abzubilden. Wie in 2 gezeigt, kann die Server-Vorrichtung 202 diese Responses in der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 als eine oder mehrere Listungen, eine oder mehrere Tabellen, eine oder mehrere Dateien, eine oder mehrere Datenbanken und/oder einen sonstigen weiteren allgemein bekannten Speichertyp speichern, der dem einschlägig bewanderten Fachmann offenkundig ist, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. In einigen Situationen speichert die Server-Vorrichtung 202 diese Responses zusammen mit ihren entsprechenden Challenges als Challenge-Response-Paare in der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206. In der beispielhaften Ausführungsform von 2 kann die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 in virtuelle PUF-Schaltungen 210.1 bis 210.n entsprechend den PUF-Schaltungen 208.1 bis 208.n unterteilt werden.
  • Während des Betriebes fragt die Server-Vorrichtung 202 die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 mit einer Zufalls- oder Pseudo-Zufalls-Challenge ab, um auf eine oder mehrere Responses unter den virtuellen PUF-Schaltungen 210.1 bis 210.n zuzugreifen, die einer ersten Client-Vorrichtung, wie zum Beispiel Client-Vorrichtung 204.1, Client-Vorrichtung 204.2 oder Client-Vorrichtung 204.n, unter der einen oder den mehreren Client-Vorrichtungen 204.1 bis 204.n entsprechen. Diese Challenge an die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 kann eine Abfrage an die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 nach der einen oder den mehreren Responses, oder einen Teil davon, von den virtuellen PUF-Schaltungen 210.1 bis 210.n, die der ersten Client-Vorrichtung entsprechen, darstellen. Danach antwortet die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 auf die Challenge mit einer Response, die der eindeutigen Response, oder einem Teil davon, der ersten Client-Vorrichtung entspricht, die in den virtuellen PUF-Schaltungen 210.1 bis 210.n gespeichert ist, die der ersten Client-Vorrichtung entsprechen. Als Nächstes verwendet die Server-Vorrichtung 202 die durch die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 gegebene Response für einen oder mehrere Verschlüsselungsalgorithmen zum Verschlüsseln von Informationen, die an die erste Client-Vorrichtung übermittelt werden sollen. Der eine oder die mehreren Verschlüsselungsalgorithmen können einen asymmetrischen Verschlüsselungsalgorithmus, eine kryptografische Hash-Funktion, einen Pseudo-Zufallszahl-Generator, einen Schlüsselaustauschalgorithmus, eine Schlüsselableitungsfunktion, einen geheimen Weitergabealgorithmus, eine symmetrische Verschlüsselung und/oder oder einen sonstigen anderen zweckmäßigen Verschlüsselungsalgorithmus oder Kombinationen von Verschlüsselungsalgorithmen enthalten, wie dem einschlägig bewanderten Fachmann offenkundig ist, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel verwendet die Server-Vorrichtung 202 die von der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 gegebene Response als einen Keim für den einen oder die mehreren Verschlüsselungsalgorithmen. Danach übermittelt die Server-Vorrichtung 202 die verschlüsselten Informationen und die an die Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 ausgegebene Challenge an die erste Client-Vorrichtung.
  • Nach dem Empfang der verschlüsselten Informationen und der Challenge von der Server-Vorrichtung 202 fragt die erste Client-Vorrichtung ihre entsprechenden PUF-Schaltungen unter den PUF-Schaltungen 208.1 bis 208.n unter Verwendung der von der Server-Vorrichtung 202 empfangenen Challenge ab. Anschließend antworten diese PUF-Schaltungen auf die von der Server-Vorrichtung 202 empfangene Challenge mit einer Response, die mit der Response von der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 übereinstimmt, was es der ersten Client-Vorrichtung ermöglicht, die von der Server-Vorrichtung 202 empfangenen verschlüsselten Informationen zu entschlüsseln. Als Nächstes verwendet die erste Client-Vorrichtung diese von ihren PUF-Schaltungen gegebene Response für einen oder mehrere Entschlüsselungsalgorithmen zum Entschlüsseln der von der Server-Vorrichtung 202 empfangenen verschlüsselten Informationen. Der eine oder die mehreren Entschlüsselungsalgorithmen können einen asymmetrischen Verschlüsselungsalgorithmus, eine kryptografische Hash-Funktion, einen Pseudo-Zufallszahl-Generator, einen Schlüsselaustauschalgorithmus, eine Schlüsselableitungsfunktion, einen geheimen Weitergabealgorithmus, eine symmetrische Verschlüsselung und/oder oder einen sonstigen anderen zweckmäßigen Entschlüsselungsalgorithmus oder Kombinationen von Entschlüsselungsalgorithmen enthalten, wie dem einschlägig bewanderten Fachmann offenkundig ist, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen.
  • Der Verschlüsselungs-/Entschlüsselungsprozess, wie oben beschrieben, verhindert einen unbefugten Zugriff auf die verschlüsselten Informationen, die von der Server-Vorrichtung 202 zu der ersten Client-Vorrichtung gesendet werden. Wie oben beschrieben, enthalten die PUF-Schaltungen 208.1 bis 208.n untereinander kleine Differenzen, wie zum Beispiel Differenzen bei den Dotierungskonzentrationen, Oxiddicken, Kanallängen, strukturellen Breiten und/oder Parasiten. Sollte also eine unbefugte, zweite Client-Vorrichtung unter der einen oder den mehreren Client-Vorrichtungen 204.1 bis 204.n ihre entsprechenden PUF-Schaltungen unter den PUF-Schaltungen 208.1 bis 208.n mit der von der Server-Vorrichtung 202 empfangenen Challenge, die der ersten Client-Vorrichtung entspricht, abfragen, so würde sich die durch ihre entsprechenden PUF-Schaltungen gegebene Response von der Response der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 unterscheiden. Darum wäre die zweite Client-Vorrichtung nicht in der Lage, zu die von der Server-Vorrichtung 202 empfangenen Informationen entschlüsseln, sollte die zweite Client-Vorrichtung die Response ihrer entsprechenden PUF-Schaltungen auf die von der Server-Vorrichtung 202 empfangene Challenge verwenden.
  • BEISPIELHAFTER VERSCHLÜSSELUNGSPROZESSOR
  • 3 ist ein Blockschaubild eines beispielhaften Verschlüsselungsprozessors, der in dem beispielhaften Client-Server-Vorrichtungs-Kommunikationssystem gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden kann. Ein Verschlüsselungsprozessor 300 verschlüsselt Informationen 350 gemäß einem des einen oder der mehreren Verschlüsselungsalgorithmen, wie oben in 1 besprochen, um verschlüsselte Informationen 352 bereitzustellen. Der Verschlüsselungsprozessor 300 kann in einer Server-Vorrichtung implementiert werden, wie zum Beispiel der Server-Vorrichtung 202, und/oder einer Client-Vorrichtung, wie zum Beispiel einer oder mehreren der Client-Vorrichtungen 204.1 bis 204.n. In der beispielhaften Ausführungsform, die in 3 veranschaulicht ist, enthält der Verschlüsselungsprozessor 300 Verschlüsselungsschaltungen 302 und PUF-Schaltungen 304.
  • Wie in 3 veranschaulicht, fragen die Verschlüsselungsschaltungen 302 die PUF-Schaltungen 304 mit einer Challenge 354 ab und empfangen eine Response 356 in Reaktion auf die Challenge 354. Wenn der Verschlüsselungsprozessor 300 in der Client-Vorrichtung implementiert ist, so generieren die PUF-Schaltungen 304 die Response 356, die eine eindeutige Reaktion der Client-Vorrichtung darstellt, die von den physikalischen Eigenschaften der Client-Vorrichtung abhängig ist, in Reaktion auf die Challenge 354. Wenn der Verschlüsselungsprozessor 300 hingegen in der Server-Vorrichtung implementiert ist, so nehmen die PUF-Schaltungen 304 eine virtuelle Abbildung einer oder mehreren der PUF-Schaltungen, oder von Teilen davon, einer Client-Vorrichtung unter Client-Vorrichtungen, die bei der Server-Vorrichtung registriert sind, wie zum Beispiel einer oder mehreren der PUF-Schaltungen 208.1 bis 208.n der Client-Vorrichtungen 204.1 bis 204.n, als Response 356 vor. Danach verwenden die Verschlüsselungsschaltungen 302 die Response 356 für einen oder mehrere der Verschlüsselungsalgorithmen zum Verschlüsseln von Informationen 350, um die verschlüsselten Informationen 352 bereitzustellen.
  • In einer beispielhaften Ausführungsform können die PUF-Schaltungen 304 eine beispielhafte Ausführungsform einer oder mehreren der PUF-Schaltungen 208.1 bis 208.n darstellen, wenn der Verschlüsselungsprozessor 300 in der Client-Vorrichtung implementiert ist. Alternativ oder zusätzlich stellen die PUF-Schaltungen 304 eine virtuelle Abbildung der Responses der bei der Server-Vorrichtung registrierten Client-Vorrichtungen auf verschiedene Challenges dar, wenn der Verschlüsselungsprozessor 300 in der Server-Vorrichtung implementiert ist. In einer weiteren beispielhaften Ausführungsform können die PUF-Schaltungen 304 ein Speichermedium enthalten, wie zum Beispiel flüchtigen Speicher, wie zum Beispiel Direktzugriffsspeicher (RAM), und/oder nicht-flüchtigen Speicher, wie zum Beispiel Nurlesespeicher (ROM). Der RAM kann zum Beispiel in einer dynamischen Direktzugriffsspeicher (DRAM)-, einer statischen Direktzugriffsspeicher (SRAM)- und/oder einer nicht-flüchtigen Speicher (NVM)-Konfiguration implementiert werden. Die PUF-Schaltungen 304 können diese Responses als eine oder mehrere Listungen, eine oder mehrere Tabellen, eine oder mehrere Dateien, eine oder mehrere Datenbanken und/oder einen sonstigen weiteren allgemein bekannten Speichertyp, der dem einschlägig bewanderten Fachmann offenkundig ist, speichern, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. In einigen Situationen Speichern der PUF-Schaltungen 304 diese Responses zusammen mit ihren entsprechenden Challenges als Challenge-Response-Paare. In einer weiteren beispielhaften Ausführungsform können die PUF-Schaltungen 304 eine beispielhafte Ausführungsform der Virtuelle-PUF-Schaltungs-Speichervorrichtung 206 darstellen, wenn der Verschlüsselungsprozessor 300 in der Server-Vorrichtung implementiert ist.
  • BEISPIELHAFTE VERSCHLÜSSELUNGSVERARBEITUNGSSCHALTUNGEN, DIE IN DEM VERSCHLÜSSELUNGSPROZESSOR IMPLEMENTIERT WERDEN KÖNNEN
  • 4 ist ein Blockschaubild von beispielhaften Verschlüsselungsverarbeitungsschaltungen, die in dem beispielhaften Verschlüsselungsprozessor gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden können. Die Verschlüsselungsverarbeitungsschaltungen 400 verschlüsseln Informationen 450 unter Verwendung von Responses 452, um verschlüsselte Informationen 454 bereitzustellen. Wie in 4 veranschaulicht, enthalten die Verschlüsselungsverarbeitungsschaltungen 400 logische exklusive OR-Gatter 402.1 bis 402.L und Zählschaltungen 404. Die Verschlüsselungsverarbeitungsschaltungen 400 können eine beispielhafte Ausführungsform von Verschlüsselungsschaltungen 302 darstellen.
  • In der beispielhaften Ausführungsform von 4 können Informationen 450 einen seriellen Stream von Video, Audio und/oder Daten enthalten. Wie in 4 gezeigt, kann dieser serielle Stream von Video, Audio und/oder Daten logisch in Meldungen M1 bis ML getrennt sein. Die Meldungen M1 durch ML können eine ähnliche oder eine unterschiedliche Anzahl von Bits und/oder Bytes enthalten, auch als Bit-Länge bezeichnet.
  • Die logischen exklusiven OR-Gatter 402.1 bis 402.L vollführen eine logische exklusive OR-Operation zwischen den Meldungen M1 bis ML und Responses 452, um die verschlüsselten Informationen 454 bereitzustellen. Jedoch erkennt der einschlägig bewanderte Fachmann, dass die Verschlüsselungsverarbeitungsschaltungen 400 und/oder die Entschlüsselungsverarbeitungsschaltungen 600, die weiter unten noch ausführlicher zu besprechen sind, auch mittels eines oder mehreren anderer Logik-Gatter implementiert werden können, wie zum Beispiel logischer exklusiver NOR-Gatter, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Allgemein ausgedrückt, sind dieses eine oder diese mehreren Logik-Gatter dadurch gekennzeichnet, dass sie eine im Wesentlichen gleiche Wahrscheinlichkeit aufweisen, einen ersten logischen Wert, wie zum Beispiel eine logische eins, oder einen zweiten logischen Wert, wie zum Beispiel eine logische Null, bereitzustellen. Wie in 4 veranschaulicht, enthalten die Responses 452 Responses R(chj + aO) bis R(chj + aL). In einer beispielhaften Ausführungsform sind die Responses R(chj + aO) bis R(chj + aL) eindeutige Responses einer Client-Vorrichtung, wie zum Beispiel einer der Client-Vorrichtungen 204.1 bis 204.n, die von den physikalischen Eigenschaften der Client-Vorrichtung abhängig sind, wie oben besprochen, in Reaktion auf die Challenges ch[j] bis ch[j] + aL. Zum Beispiel sind die Response R(chj + aO) und die Response R(chj + aL) eine eindeutige Response der Client-Vorrichtung in Reaktion auf die Challenge ch[j] + aO und die Challenge ch[j] + aL. In einer weiteren beispielhaften Ausführungsform sind die Responses R(chj + aO) bis R(chj + aL) eindeutige Responses einer Server-Vorrichtung, die als eine virtuelle Abbildung einer oder mehreren PUF-Schaltungen, oder von Teilen davon, einer Client-Vorrichtung unter Client-Vorrichtungen, die bei der Server-Vorrichtung registriert sind, wie zum Beispiel einer oder mehreren der PUF-Schaltungen 208.1 bis 208.n der Client-Vorrichtungen 204.1 bis 204.n, gespeichert werden.
  • Während des Betriebes generieren die Server-Vorrichtung und/oder die Client-Vorrichtung nach dem Zufallsprinzip die Challenge ch[j] + a0, um die Response R(chj + a0), die eine ähnliche Bit-Länge hat, auf die Meldung M1 bereitzustellen. Danach generieren die Server-Vorrichtung und/oder die Client-Vorrichtung eine Sequenz von Challenges ch[j] + a1 bis ch[j] + aL durch Erhöhen und/oder Verringern der Challenge ch[j] + a0 um Challenge-Koeffizienten a1 bis aL. In einer beispielhaften Ausführungsform verkörpern die Challenge-Koeffizienten a1 bis aL Werte, die in den Zählschaltungen 404 gespeichert sind, die für jede Challenge unter den Challenges ch[j] + a1 bis ch[j] + aL erhöht und/oder verringert werden. Jedoch erkennt der einschlägig bewanderte Fachmann, dass auch andere Challenge-Koeffizienten a1 bis aL möglich sind, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel können diese anderen Challenge-Koeffizienten a1 bis aL Koeffizienten eines mathematischen Polynoms darstellen, wie zum Beispiel a1 × xL + a2 × X(L-1)... aL, oder können mit Hilfe eines Zufalls- oder Pseudo-Zufallszahl-Generators generiert werden. Und schließlich führen die logischen exklusiven OR-Gatter 402.1 bis 402.L die logischen exklusiven OR-Operation zwischen den Meldungen M1 bis ML und ihren entsprechenden Responses R(chj + a0) bis R(chj + aL) aus, um ihre entsprechenden verschlüsselten Informationen C1 bis CL als verschlüsselte Informationen 454 bereitzustellen. Jedoch erkennt der einschlägig bewanderte Fachmann, dass jede beliebige Kombination aus einem oder mehreren logischen OR-Gattern, einem oder mehreren logischen AND-Gattern und einem oder mehreren logischen INVERTER-Gattern alternativ oder zusätzlich zu den logischen exklusiven OR-Gatter 402.1 bis 402.L verwendet werden kann, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. Der einschlägig bewanderte Fachmann erkennt, dass diese Kombination aus Logik-Gattern eine im Wesentlichen ähnliche Funktion ausführt wie die logischen exklusiven OR-Gatter 402.1 bis 402.L, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen.
  • BEISPIELHAFTER ENTSCHLÜSSELUNGSPROZESSOR
  • 5 ist ein Blockschaubild eines beispielhaften Entschlüsselungsprozessors, der in dem beispielhaften Client-Server-Vorrichtungs-Kommunikationssystem gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden kann. Ein Entschlüsselungsprozessor 500 entschlüsselt verschlüsselte Informationen 550 gemäß einem des einen oder der mehreren Entschlüsselungsalgorithmen, wie oben in 1 besprochen, um die Informationen 552 bereitzustellen. Der Entschlüsselungsprozessor 500 kann in einer Server-Vorrichtung, wie zum Beispiel der Server-Vorrichtung 202, und/oder einer Client-Vorrichtung, wie zum Beispiel einer oder mehreren der Client-Vorrichtungen 204.1 bis 204.n, implementiert werden. In der in 5 veranschaulichten beispielhaften Ausführungsform enthält der Entschlüsselungsprozessor 500 PUF-Schaltungen 304 und Entschlüsselungsschaltungen 502.
  • Wir wenden uns 5 zu. Die Entschlüsselungsschaltungen 502 fragen die PUF-Schaltungen 304 mit einer Challenge 554 ab und empfangen eine Response 556 in Reaktion auf die Challenge 554. Wenn der Entschlüsselungsprozessor 500 in der Client-Vorrichtung implementiert ist, so generieren die PUF-Schaltungen 304 eine Response 556, die eine eindeutige Response der Client-Vorrichtung darstellt, die von den physikalischen Eigenschaften der PUF-Schaltungen 304 abhängig ist, in Reaktion auf die Challenge 554. Wenn hingegen der Entschlüsselungsprozessor 500 in der Server-Vorrichtung implementiert ist, so erzeugen die PUF-Schaltungen 304 eine virtuelle Abbildung einer oder mehreren PUF-Schaltungen, oder von Teilen davon, einer Client-Vorrichtung unter Client-Vorrichtungen, die bei der Server-Vorrichtung registriert sind, wie zum Beispiel einer oder mehreren PUF-Schaltungen 208.1 bis 208.n der Client-Vorrichtungen 204.1 bis 204.n, als Response 556. Danach verwenden die Entschlüsselungsschaltungen 502 die Response 556 für eine oder mehrere der Entschlüsselungsalgorithmen zum Entschlüsseln verschlüsselter Informationen 550, um die Informationen 552 bereitzustellen.
  • BEISPIELHAFTE VERSCHLÜSSELUNGSVERARBEITUNGSSCHALTUNGEN, DIE IN DEM VERSCHLÜSSELUNGSPROZESSOR IMPLEMENTIERT WERDEN KÖNNEN
  • 6 ist ein Blockschaubild von beispielhaften Entschlüsselungsverarbeitungsschaltungen, die in dem beispielhaften Entschlüsselungsprozessor gemäß einer Ausführungsform der vorliegenden Offenbarung implementiert werden können. Die Entschlüsselungsverarbeitungsschaltungen 600 entschlüsseln verschlüsselte Informationen 650 unter Verwendung von Responses 452, um die entschlüsselten Informationen 654 bereitzustellen. Die Entschlüsselungsverarbeitungsschaltungen 600 enthalten logische exklusive OR-Gatter 402.1 bis 402.L und Zählschaltungen 404. Die Entschlüsselungsverarbeitungsschaltungen 600 können eine beispielhafte Ausführungsform der Entschlüsselungsschaltungen 502 darstellen.
  • Die Entschlüsselungsverarbeitungsschaltungen 600 arbeiten in einer im Wesentlichen ähnlichen Weise wie die oben in 4 beschriebenen Verschlüsselungsverarbeitungsschaltungen 400. Darum werden nur die Unterschiede zwischen den Entschlüsselungsverarbeitungsschaltungen 600 und den Verschlüsselungsverarbeitungsschaltungen 400 ausführlicher besprochen. In der beispielhaften Ausführungsform von 6 können die verschlüsselten Informationen 650 einen verschlüsselten seriellen Stream von Video, Audio und/oder Daten enthalten. Wie in 6 veranschaulicht, kann dieser verschlüsselte serielle Stream von Video, Audio und/oder Daten logisch in Meldungen M1 bis ML getrennt sein. Die Meldungen M1 durch ML können eine einander ähnliche oder eine voneinander unterschiedliche Anzahl von Bits und/oder Bytes enthalten, auch als Bit-Länge bezeichnet. Die logischen exklusiven OR-Gatter 402.1 bis 402.L vollführen die logische exklusive OR-Operation zwischen den Meldungen M1 bis ML und Responses 452, um die entschlüsselten Informationen 652 bereitzustellen, in einer im Wesentlichen ähnlichen Weise, wie in 4 beschrieben.
  • BEISPIELHAFTER REGISTRIERUNGSPROZESS FÜR CLIENT-VORRICHTUNGEN IN DEM BEISPIELHAFTEN CLIENT-SERVER-VORRICHTUNGS-KOMMUNIKATIONSSYSTEM
  • 7 ist ein Flussdiagramm eines beispielhaften Betriebssteuerungsflusses eines Registrierungsprozesses zum Registrieren einer oder mehreren Client-Vorrichtungen bei einer Server-Vorrichtung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung. Die Offenbarung ist nicht auf diesen Betriebssteuerungsfluss beschränkt. Vielmehr ist dem einschlägig bewanderten Fachmann klar, dass auch andere Betriebssteuerungsflüsse im Schutzumfang und Wesen der vorliegenden Offenbarung liegen. Unten wird ein beispielhafter Betriebssteuerungsfluss 700 eines Registrierungsprozesses einer Server-Vorrichtung, wie zum Beispiel der Server-Vorrichtung 202, zum Registrieren einer Client-Vorrichtung, wie zum Beispiel einer der Client-Vorrichtungen 204.1 bis 204.n, in einem Client-Server-Vorrichtungs-Kommunikationssystem, wie zum Beispiel dem Client-Server-Vorrichtungs-Kommunikationssystem 200, beschriebenen.
  • Bei Operation 702 detektiert der Betriebssteuerungsfluss 700 die Client-Vorrichtung, die in das Client-Server-Vorrichtungs-Kommunikationssystem eintritt. Zum Beispiel kann der Betriebssteuerungsfluss 700 eine Anforderung von der Client-Vorrichtung empfangen, die Client-Vorrichtung mit der Server-Vorrichtung zu verknüpfen. In einer beispielhaften Ausführungsform kann die Anforderung enthalten, Informationen der Client-Vorrichtung zu identifizieren, wie zum Beispiel eine Media Access Control (MAC)-Adresse der Client-Vorrichtung oder eine Gerätekennung (ID), die eine eindeutige Zahl darstellt, die der Client-Vorrichtung zugeordnet ist, die durch den Betriebssteuerungsfluss 700 zum Identifizieren der Vorrichtung verwendet wird.
  • Bei Operation 704 sendet der Betriebssteuerungsfluss 700 eine Challenge an die Client-Vorrichtung von Operation 702. Die Challenge kann eine Anforderung darstellen, auf Informationen zuzugreifen, die in einer der PUF-Schaltungen, wie zum Beispiel einer der PUF-Schaltungen 208.1 bis 208.n, der Client-Vorrichtung von Operation 702 gespeichert sind. Die Challenge kann alle oder einige der in den PUF-Schaltungen gespeicherten Informationen anfordern.
  • Bei Operation 706 empfängt der Betriebssteuerungsfluss 700 eine Response von der Client-Vorrichtung von Operation 702 in Reaktion auf die Challenge von 702. Die Client-Vorrichtung von Operation 702 fragt die PUF-Schaltungen mittels der Challenge von Operation 702 ab. Wenn die PUF-Schaltungen mit der Challenge von Operation 702 konfrontiert werden, so generieren die PUF-Schaltungen eine Zufalls-Response, die von den physikalischen Eigenschaften der PUF-Schaltungen abhängig ist. Der Betriebssteuerungsfluss 700 empfängt diese Zufalls-Response als die Response der Client-Vorrichtung von Operation 702.
  • Bei Operation 708 speichert der Betriebssteuerungsfluss 700 die Response von Operation 706. Der Betriebssteuerungsfluss 700 katalogisiert die Response von Operation 706 zusammen mit anderen Responses von anderen Client-Vorrichtungen, um ihre PUF-Schaltungen virtuell abzubilden, um eine Virtuelle-PUF-Schaltungs-Speichervorrichtung zu generieren, wie oben in 2 beschrieben. Der Betriebssteuerungsfluss 700 kann diese Responses in der Virtuelle-PUF-Schaltungs-Speichervorrichtung als eine oder mehrere Listungen, eine oder mehrere Tabellen, eine oder mehrere Dateien, eine oder mehrere Datenbanken und/oder einen sonstigen weiteren allgemein bekannten Speichertyp, der dem einschlägig bewanderten Fachmann offenkundig ist, speichern, ohne vom Wesen und Schutzumfang der vorliegenden Offenbarung abzuweichen. In einigen Situationen speichert der Betriebssteuerungsfluss 700 diese Responses zusammen mit ihren entsprechenden Challenges als Challenge-Response-Paare in der Virtuelle-PUF-Schaltungs-Speichervorrichtung. Diese in der Virtuelle-PUF-Schaltungs-Speichervorrichtung gespeicherten Challenge-Response-Paare können zu den Identifizierungsinformationen von Operation 702 indexiert werden.
  • SCHLUSSFOLGERUNG
  • Die obige Detaillierte Beschreibung offenbart eine Server-Vorrichtung in einem Client-Server-Vorrichtungs-Kommunikationssystem. Die Server-Vorrichtung enthält PUF-Schaltungen und Verschlüsselungsschaltungen. Die PUF-Schaltungen Speichern einer virtuellen Abbildung mehrerer PUF-Schaltungen von mehreren Client-Vorrichtungen in dem Client-Server-Vorrichtungs-Kommunikationssystem. Die Verschlüsselungsschaltungen fragen die PUF-Schaltungen mit einer ersten Challenge nach einer ersten Response aus der virtuellen Abbildung, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, ab, generieren eine zweite Challenge durch Erhöhen oder Verringern der ersten Challenge um einen Challenge-Koeffizienten, und fragen die PUF-Schaltungen mit der zweiten Challenge nach einer zweiten Response aus der virtuellen Abbildung, die der Client-Vorrichtung entspricht, ab. Die Verschlüsselungsschaltungen enthalten ein erstes Logik-Gatter, das dafür konfiguriert ist, eine Logik-Operation zwischen einer ersten Meldung unter mehreren Meldungen und der ersten Response auszuführen, um eine erste verschlüsselte Meldung bereitzustellen, und ein zweites Logik-Gatter, das die Logik-Operation zwischen einer zweiten Meldung unter den mehreren Meldungen und der zweiten Response ausführt, um eine zweite verschlüsselte Meldung bereitzustellen.
  • Die obige Detaillierte Beschreibung offenbart außerdem ein Verfahren zum Betreiben einer Server-Vorrichtung in einem Client-Server-Vorrichtungs-Kommunikationssystem. Das Verfahren enthält Folgendes: Speichern einer virtuellen Abbildung mehrerer PUF-Schaltungen von mehreren Client-Vorrichtungen in dem Client-Server-Vorrichtungs-Kommunikationssystem, Abfragen der PUF-Schaltungen mit einer ersten Challenge nach einer ersten Response aus der virtuellen Abbildung, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, Generieren einer zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen Challenge-Koeffizienten, Abfragen der PUF-Schaltungen mit der zweiten Challenge nach einer zweiten Response aus der virtuellen Abbildung, die der Client-Vorrichtung entspricht, und Ausführen einer Logik-Operation zwischen einer ersten Meldung unter mehreren Meldungen und der ersten Response, um eine erste verschlüsselte Meldung bereitzustellen, und zwischen einer zweiten Meldung unter den mehreren Meldungen und der zweiten Response, um eine zweite verschlüsselte Meldung bereitzustellen.
  • Die obige Detaillierte Beschreibung offenbart des Weiteren eine weitere Server-Vorrichtung eines Client-Server-Vorrichtungs-Kommunikationssystems. Die weitere Server-Vorrichtung enthält PUF-Schaltungen und Verschlüsselungsschaltungen. Die PUF-Schaltungen speichern mehrere Responses, die von mehreren Client-Vorrichtungen kommend empfangen werden, wobei jede der mehreren Responses in Reaktion auf eine erste Challenge empfangen wird, die durch die Server-Vorrichtung ausgegeben wird, um mehrere PUF-Schaltungen der mehreren Client-Vorrichtungen zu lesen. Die Verschlüsselungsschaltungen fragen die PUF-Schaltungen mit einer zweiten Challenge nach einer ersten Response unter den mehreren Responses, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, ab, generieren eine dritte Challenge durch Erhöhen oder Verringern der zweiten Challenge um einen Challenge-Koeffizienten, fragen die PUF-Schaltungen mit der dritten Challenge nach einer zweiten Response unter den mehreren Responses, die der Client-Vorrichtung entspricht, ab, verwenden die erste Response als einen ersten Keim für einen Verschlüsselungsalgorithmus zum Verschlüsseln einer ersten Meldung unter mehreren Meldungen, und verwenden die zweite Response als einen zweiten Keim für den Verschlüsselungsalgorithmus zum Verschlüsseln einer zweiten Meldung unter den mehreren Meldungen.

Claims (22)

  1. Server-Vorrichtung in einem Client-Server-Vorrichtungs-Kommunikationssystem, wobei die Server-Vorrichtung Folgendes umfasst: eine Virtuelle-Physical Unclonable Function (PUF)-Schaltungs-Speichervorrichtung, die eine virtuelle Abbildung mehrerer PUF-Schaltungen von mehreren Client-Vorrichtungen in dem Client-Server-Vorrichtungs-Kommunikationssystem speichert, und eine Verschlüsselungsschaltung, die für Folgendes eingerichtet ist: Abfragen der Virtuelle-PUF-Schaltungs-Speichervorrichtung mit einer ersten Challenge nach einer ersten Response aus der virtuellen Abbildung, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, Generieren einer zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen Challenge-Koeffizienten, und Abfragen der Virtuelle-PUF-Schaltungs-Speichervorrichtung mit der zweiten Challenge nach einer zweiten Response aus der virtuellen Abbildung, die der Client-Vorrichtung entspricht, und wobei die Verschlüsselungsschaltung Folgendes umfasst: ein erstes Logik-Gatter, das dazu eingerichtet ist, eine Logik-Operation zwischen einer ersten Nachricht unter mehreren Nachrichten und der ersten Response auszuführen, um eine erste verschlüsselte Nachricht bereitzustellen, und ein zweites Logik-Gatter, das dazu eingerichtet ist, die Logik-Operation zwischen einer zweiten Nachricht unter den mehreren Nachrichten und der zweiten Response auszuführen, um eine zweite verschlüsselte Nachricht bereitzustellen.
  2. Server-Vorrichtung nach Anspruch 1, wobei die Server-Vorrichtung dazu eingerichtet ist, die erste verschlüsselte Nachricht und die zweite verschlüsselte Nachricht an die Client-Vorrichtung zu übermitteln.
  3. Server-Vorrichtung nach Anspruch 1 oder 2, wobei die Server-Vorrichtung für Folgendes eingerichtet ist: Abfragen einer zweiten PUF-Schaltung der Client-Vorrichtung mit einer dritten Challenge nach einer dritten Response, und wobei die Virtuelle-PUF-Schaltungs-Speichervorrichtung dazu eingerichtet ist, die dritte Response als Teil der virtuellen Abbildung der mehreren PUF-Schaltungen zu speichern.
  4. Server-Vorrichtung nach Anspruch 3, wobei die dritte Challenge eine Anforderung darstellt, Informationen, die mehreren Speicherzellen entsprechen, von der zweiten PUF-Schaltung zu lesen, die aus den mehreren Speicherzellen durch die zweite PUF-Schaltung gelesen wird, wenn die mehreren Speicherzellen in einem unprogrammierten Betriebsmodus arbeiten.
  5. Server-Vorrichtung nach einem der vorangehenden Ansprüche, wobei die virtuelle Abbildung der mehreren PUF-Schaltungen Folgendes umfasst: eine Listung, eine Tabelle, eine Datei oder eine Datenbank von mehreren Challenge-Response-Paaren der mehreren Client-Vorrichtungen.
  6. Server-Vorrichtung nach Anspruch 5, wobei die Listung, die Tabelle, die Datei oder die Datenbank der mehreren Challenge-Response-Paare mit Identifizierungsinformationen indexiert ist, die den mehreren Client-Vorrichtungen entsprechen.
  7. Server-Vorrichtung nach einem der vorangehenden Ansprüche, wobei die Verschlüsselungsschaltungen des Weiteren Folgendes umfassen: eine Zählschaltung, und wobei die Verschlüsselungsschaltungen dazu eingerichtet sind, die zweite Challenge durch Erhöhen oder Verringern der ersten Challenge um einen in der Zählschaltung gespeicherten Wert zu generieren.
  8. Server-Vorrichtung nach einem der vorangehenden Ansprüche, wobei eine Bit-Länge der ersten Response gleich einer Bit-Länge der ersten Nachricht ist.
  9. Server-Vorrichtung nach einem der vorangehenden Ansprüche, wobei das eine oder die mehreren ersten Logik-Gatter Folgendes umfassen: ein erstes exklusives OR-Gatter, das dazu eingerichtet ist, eine logische exklusive OR-Operation zwischen der ersten Nachricht und der ersten Response auszuführen, um die erste verschlüsselte Nachricht bereitzustellen, und wobei das eine oder die mehreren zweiten Logik-Gatter Folgendes umfassen: ein zweites exklusives OR-Gatter, das dazu eingerichtet ist, die logische exklusive OR-Operation zwischen der zweiten Nachricht und der zweiten Response auszuführen, um die zweite verschlüsselte Nachricht bereitzustellen.
  10. Verfahren zum Betreiben einer Server-Vorrichtung in einem Client-Server-Vorrichtungs-Kommunikationssystem, wobei das Verfahren Folgendes umfasst: Speichern einer virtuellen Abbildung mehrerer Physical Unclonable Function (PUF)-Schaltungen von mehreren Client-Vorrichtungen in dem Client-Server-Vorrichtungs-Kommunikationssystem, Abfragen, mittels einer ersten Challenge, nach einer ersten Response aus der virtuellen Abbildung, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, Generieren einer zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen Challenge-Koeffizienten, Abfragen, mittels der zweiten Challenge, nach einer zweiten Response aus der virtuellen Abbildung, die der Client-Vorrichtung entspricht, und Ausführen einer Logik-Operation zwischen einer ersten Nachricht unter mehreren Nachrichten und der ersten Response, um eine erste verschlüsselte Nachricht bereitzustellen, und zwischen einer zweiten Nachricht unter den mehreren Nachrichten und der zweiten Response, um eine zweite verschlüsselte Nachricht bereitzustellen.
  11. Verfahren nach Anspruch 10, das des Weiteren Folgendes umfasst: Übermitteln der ersten verschlüsselten Nachricht und der zweiten verschlüsselten Nachricht an die Client-Vorrichtung.
  12. Verfahren nach Anspruch 10 oder 11, das des Weiteren Folgendes umfasst: Abfragen einer zweiten PUF-Schaltung der Client-Vorrichtung mit einer dritten Challenge nach einer dritten Response, und wobei das Speichern Folgendes umfasst: Speichern der dritten Response als Teil der virtuellen Abbildung der mehreren PUF-Schaltungen.
  13. Verfahren nach Anspruch 12, wobei die dritte Challenge eine Anforderung darstellt, Informationen, die mehreren Speicherzellen entsprechen, von der zweiten PUF-Schaltung zu lesen, die aus den mehreren Speicherzellen durch die zweite PUF-Schaltung gelesen werden, wenn die mehreren Speicherzellen in einem unprogrammierten Betriebsmodus arbeiten.
  14. Verfahren nach einem der Ansprüche 10 bis 13, wobei das Speichern Folgendes umfasst: Speichern der virtuellen Abbildung der mehreren PUF-Schaltungen als eine Listung, eine Tabelle, eine Datei oder eine Datenbank von mehreren Challenge-Response-Paaren der mehreren Client-Vorrichtungen.
  15. Verfahren nach Anspruch 14, wobei das Speichern des Weiteren Folgendes umfasst: Indexieren der Listung, der Tabelle, der Datei oder der Datenbank der mehreren Challenge-Response-Paare mit Identifizierungsinformationen, die den mehreren Client-Vorrichtungen entsprechen.
  16. Verfahren nach einem der Ansprüche 10 bis 15, wobei das Generieren Folgendes umfasst: Generieren der zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen in einer Zählschaltung gespeicherten Wert.
  17. Verfahren nach einem der Ansprüche 10 bis 16, wobei eine Bit-Länge der ersten Response gleich einer Bit-Länge der ersten Nachricht ist.
  18. Verfahren nach einem der Ansprüche 10 bis 17, wobei das Ausführen Folgendes umfasst: Ausführen einer logischen exklusiven OR-Operation zwischen der ersten Nachricht und der ersten Response, um die erste verschlüsselte Nachricht bereitzustellen, und zwischen der zweiten Nachricht und der zweiten Response, um die zweite verschlüsselte Nachricht bereitzustellen.
  19. Server-Vorrichtung eines Client-Server-Vorrichtungs-Kommunikationssystems, wobei die Server-Vorrichtung Folgendes umfasst: eine Virtuelle-Physical Unclonable Function (PUF)-Schaltungs-Speichervorrichtung, die mehrere Responses speichert, die von mehreren Client-Vorrichtungen kommend empfangen werden, wobei jede der mehreren Responses in Reaktion auf eine erste Challenge empfangen wird, die durch die Server-Vorrichtung ausgegeben wird, um mehrere PUF-Schaltungen der mehreren Client-Vorrichtungen zu lesen, eine Verschlüsselungsschaltung, die für Folgendes eingerichtet ist: Abfragen der PUF-Schaltungen mit einer zweiten Challenge nach einer ersten Response unter den mehreren Responses, die einer Client-Vorrichtung unter den mehreren Client-Vorrichtungen entspricht, Generieren einer dritten Challenge durch Erhöhen oder Verringern der zweiten Challenge um einen Challenge-Koeffizienten, Abfragen der PUF-Schaltungen mit der dritten Challenge nach einer zweiten Response unter den mehreren Responses, die der Client-Vorrichtung entspricht, Verwenden der ersten Response als einen ersten Keim für einen Verschlüsselungsalgorithmus zum Verschlüsseln einer ersten Nachricht unter mehreren Nachrichten, und Verwenden der zweiten Response als einen zweiten Keim für den Verschlüsselungsalgorithmus zum Verschlüsseln einer zweiten Nachricht unter den mehreren Nachrichten.
  20. Server-Vorrichtung nach Anspruch 19, wobei die Virtuelle-PUF-Schaltungs-Speichervorrichtung die mehreren Responses als eine Listung, eine Tabelle, eine Datei oder eine Datenbank von mehreren Challenge-Response-Paaren der mehreren Client-Vorrichtungen speichert.
  21. Server-Vorrichtung nach Anspruch 20, wobei die Listung, die Tabelle, die Datei oder die Datenbank der mehreren Challenge-Response-Paare mit Identifizierungsinformationen indexiert ist, die den mehreren Client-Vorrichtungen entsprechen.
  22. Server-Vorrichtung nach einem der Ansprüche 19 bis 21, wobei die Verschlüsselungsschaltung Folgendes umfasst: eine Zählschaltung, und wobei die Verschlüsselungsschaltung für Folgendes eingerichtet ist: Generieren der zweiten Challenge durch Erhöhen oder Verringern der ersten Challenge um einen in der Zählschaltung gespeicherten Wert.
DE102017118548.8A 2016-11-30 2017-08-15 Sichere kommunikation zwischen server-vorrichtung und client-vorrichtungen unter verwendung leistungsfähiger physikalischer nicht-clonbarer funktionen Active DE102017118548B8 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662428094P 2016-11-30 2016-11-30
US62/428,094 2016-11-30
US15/441,788 2017-02-24
US15/441,788 US11362845B2 (en) 2016-11-30 2017-02-24 Secure communication between server device and clients utilizing strong physical unclonable functions

Publications (3)

Publication Number Publication Date
DE102017118548A1 DE102017118548A1 (de) 2018-05-30
DE102017118548B4 true DE102017118548B4 (de) 2023-03-02
DE102017118548B8 DE102017118548B8 (de) 2023-06-15

Family

ID=62117870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017118548.8A Active DE102017118548B8 (de) 2016-11-30 2017-08-15 Sichere kommunikation zwischen server-vorrichtung und client-vorrichtungen unter verwendung leistungsfähiger physikalischer nicht-clonbarer funktionen

Country Status (5)

Country Link
US (2) US11362845B2 (de)
KR (1) KR102049605B1 (de)
CN (1) CN108123928B (de)
DE (1) DE102017118548B8 (de)
TW (1) TWI683234B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018141378A1 (en) * 2017-02-01 2018-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for protecting data
US11533300B2 (en) * 2017-03-30 2022-12-20 Arizona Board Of Regents On Behalf Of Northern Arizona University Encryption schemes with addressable elements
US10917250B2 (en) * 2017-05-16 2021-02-09 Mercury Systems, Inc. Challenge/response system
CN109714307B (zh) * 2018-06-12 2024-04-12 广东工业大学 一种基于国密算法的云平台客户端数据加解密系统及方法
KR20200082982A (ko) * 2018-12-31 2020-07-08 삼성전자주식회사 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치
TWI734314B (zh) 2018-12-31 2021-07-21 美商美光科技公司 用於將數位指紋提供至主機裝置之系統、方法及非暫時性電腦可讀媒體
US11294640B2 (en) * 2019-03-13 2022-04-05 Ememory Technology Inc. Random number generator
US20220342987A1 (en) * 2021-04-21 2022-10-27 At&T Intellectual Property I, L.P. Virtual Machine Orchestration Spoofing Attack Mitigation
CN115955321B (zh) * 2023-03-15 2023-06-20 浙江宇视科技有限公司 数据管理方法、装置、系统和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2744161A1 (en) 2008-11-21 2010-05-27 Verayo, Inc. Non-networked rfid-puf authentication
US20120131340A1 (en) 2010-11-19 2012-05-24 Philippe Teuwen Enrollment of Physically Unclonable Functions
US20150007265A1 (en) 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918035B1 (en) 1998-07-31 2005-07-12 Lucent Technologies Inc. Method for two-party authentication and key agreement
TW201039170A (en) 2009-04-28 2010-11-01 Thomson Licensing System and method for detecting genuine copies of pre-recorded digital media
JP5499358B2 (ja) * 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
US8762723B2 (en) * 2011-07-07 2014-06-24 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
US8700916B2 (en) * 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
KR101410764B1 (ko) * 2012-09-03 2014-06-24 한국전자통신연구원 중요 정보 원격 삭제 장치 및 방법
KR101393806B1 (ko) 2013-04-03 2014-05-12 충북대학교 산학협력단 다단계 물리적 복제 불가 함수 시스템
US9787480B2 (en) * 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
US9343135B2 (en) 2013-09-09 2016-05-17 Qualcomm Incorporated Physically unclonable function based on programming voltage of magnetoresistive random-access memory
DE102013227184A1 (de) 2013-12-27 2015-07-02 Robert Bosch Gmbh Verfahren zur Absicherung eines Systems-on-a-Chip
EP3920058A1 (de) 2014-04-09 2021-12-08 ICTK Holdings Co., Ltd. Authentifizierungsvorrichtung und -verfahren
CN103888268B (zh) * 2014-04-21 2017-06-06 天津联芯科技有限公司 一种基于puf身份验证和信息加密的手机耳机
US9369277B2 (en) 2014-07-08 2016-06-14 Intel Corporation Encryption code generation using spin-torque NANO-oscillators
US9483664B2 (en) * 2014-09-15 2016-11-01 Arm Limited Address dependent data encryption
CN105743645B (zh) * 2016-01-25 2019-06-18 清华大学 基于puf的流秘钥生成装置、方法及数据加密、解密方法
CN105959101B (zh) * 2016-06-29 2019-08-13 广东工业大学 一种利用物理不可克隆技术实现rfid双向认证的方法
US10050796B2 (en) * 2016-11-09 2018-08-14 Arizona Board Of Regents On Behalf Of Northern Arizona University Encoding ternary data for PUF environments
US10547460B2 (en) * 2016-11-18 2020-01-28 Qualcomm Incorporated Message-based key generation using physical unclonable function (PUF)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2744161A1 (en) 2008-11-21 2010-05-27 Verayo, Inc. Non-networked rfid-puf authentication
US20120131340A1 (en) 2010-11-19 2012-05-24 Philippe Teuwen Enrollment of Physically Unclonable Functions
US20150007265A1 (en) 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices

Also Published As

Publication number Publication date
US11362845B2 (en) 2022-06-14
KR102049605B1 (ko) 2019-11-27
US20220311628A1 (en) 2022-09-29
US20180152306A1 (en) 2018-05-31
TW201822062A (zh) 2018-06-16
TWI683234B (zh) 2020-01-21
KR20180062340A (ko) 2018-06-08
CN108123928B (zh) 2021-05-07
DE102017118548B8 (de) 2023-06-15
DE102017118548A1 (de) 2018-05-30
CN108123928A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
DE102017118548B4 (de) Sichere kommunikation zwischen server-vorrichtung und client-vorrichtungen unter verwendung leistungsfähiger physikalischer nicht-clonbarer funktionen
DE102018127126A1 (de) Erneute Registrierung von physikalisch unklonbaren Funktionen aus der Ferne
DE102018101812B4 (de) Sicheres Übertragen von Benutzerinformationen zwischen Anwendungen
US10282448B2 (en) System and method for searching a symmetrically encrypted database for conjunctive keywords
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
DE112013000357B4 (de) System zum Authentifizieren einer Annahme einer Zeichenfolge durch einen Automaten
DE112010003149B4 (de) Gemeinschaftliche Verschlüsselung und Entschlüsselung durch Agenten
DE202015009800U1 (de) Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
DE112005001654T5 (de) Verfahren zum Übermitteln von Direct-Proof-Privatschlüsseln an Geräte mittels einer Verteilungs-CD
DE102012218576A1 (de) Verschlüsseln von Daten und Charakterisierungsdaten, die den gültigen Inhalt einer Spalte beschreiben
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
DE102017118164A1 (de) Kryptographische schaltung und datenverarbeitung
WO2001091478A2 (de) Verfahren zur kryptografischen identifikation einer physikalischen einheit in einem drahtlosen telekommunikationsnetzwerk
WO2016139371A1 (de) Verfahren und system zum verwalten von nutzerdaten eines nutzerendgeräts
DE602004001732T2 (de) Datenverschlüsselung in einem elektronischen Gerät mit mehreren symmetrischen Prozessoren
DE60218470T2 (de) Verfeinerungseinrichtung und -verfahren für gemeinsam benutzte daten
EP4111399B1 (de) Verfahren, endgerät, überwachungsinstanz sowie bezahlsystem zum verwalten von elektronischen münzdatensätzen
DE102014117311B4 (de) Kommunikationsanordnung und Verfahren zum Generieren eines Kryptografieschlüssels
DE202023104060U1 (de) Eine mehrstufige randomisierte SALT-Technik für Vertraulichkeit in IoT-Geräten
EP3747151B1 (de) Verfahren zur generierung metadaten-freier bäume
DE202022103193U1 (de) Ein System zur Entwicklung einer leichtgewichtigen Blockchiffre für ressourcenbeschränkte Anwendungen
WO2007099026A1 (de) Verfahren und vorrichtung zum authentifizieren eines öffentlichen schlüssels
WO2020144123A1 (de) Verfahren und system zur informationsübermittlung
DE112021007711T5 (de) Suchausführungseinrichtung, suchausführungsverfahren, suchausführungsprogramm, und durchsuchbares verschlüsselungssystem
DE102016122333A1 (de) Verfahren und Vorrichtung zum Sichern einer elektronischen Datenübertragung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R083 Amendment of/additions to inventor(s)
R020 Patent grant now final