DE102020106346A1 - Integrierter schaltkreis - Google Patents

Integrierter schaltkreis Download PDF

Info

Publication number
DE102020106346A1
DE102020106346A1 DE102020106346.6A DE102020106346A DE102020106346A1 DE 102020106346 A1 DE102020106346 A1 DE 102020106346A1 DE 102020106346 A DE102020106346 A DE 102020106346A DE 102020106346 A1 DE102020106346 A1 DE 102020106346A1
Authority
DE
Germany
Prior art keywords
integrated circuit
vth
competing
output
paths
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.)
Pending
Application number
DE102020106346.6A
Other languages
English (en)
Inventor
Thomas Künemund
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102020106346.6A priority Critical patent/DE102020106346A1/de
Priority to US17/183,396 priority patent/US11652070B2/en
Publication of DE102020106346A1 publication Critical patent/DE102020106346A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
    • 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
    • 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/57Protection from inspection, reverse engineering or tampering
    • H01L23/576Protection from inspection, reverse engineering or tampering using active circuits
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • 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]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • 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/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen ist ein integrierter Schaltkreis beschrieben, der Folgendes umfasst: mehrere Subschaltkreise mit verschiedenen Signaltransferreaktionszeiten, einen Steuerschaltkreis, der zum Bilden zweier konkurrierender Pfade von den mehreren Subschaltkreisen als Reaktion auf ein Steuersignal konfiguriert ist, einen Eingangsschaltkreis, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist, und einen Ausgangsschaltkreis, der zum Erzeugen eines Ausgangswerts in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat.

Description

  • Die vorliegende Offenbarung betrifft integrierte Schaltkreise.
  • Reverse Engineering (RE - Rückentwicklung) integrierter Schaltkreise (ICs) wird als eine der ernsthaftesten Gefahren für die Halbleiterindustrie betrachtet, da es von einem Angreifer missbraucht werden kann, um eine Schaltkreisgestaltung zu stehlen und/oder raubkopieren: ein Angreifer, der einen integrierten Schaltkreis erfolgreich rückentwickelt, kann einen ähnlichen, d. h. geklonten, Schaltkreis fertigen und verkaufen und die extrahierte Gestaltung illegal verwenden, verkaufen oder enthüllen.
  • Daher sind Konzepte und Techniken wünschenswert, die Reverse Engineering integrierter Schaltkreise verhindern.
  • Gemäß verschiedenen Ausführungsformen ist ein integrierter Schaltkreis bereitgestellt, der Folgendes beinhaltet: mehrere Subschaltkreise mit verschiedenen Signaltransferreaktionszeiten, einen Steuerschaltkreis, der zum Bilden zweier konkurrierender Pfade von den mehreren Subschaltkreisen als Reaktion auf ein Steuersignal konfiguriert ist, einen Eingangsschaltkreis, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist, und einen Ausgangsschaltkreis, der zum Erzeugen eines Ausgangswerts in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat.
  • In den Zeichnungen verweisen gleiche Bezugszeichen in den verschiedenen Ansichten allgemein auf die gleichen Teile. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird der Schwerpunkt allgemein auf die Veranschaulichung der Prinzipien der Erfindung gelegt. In der folgenden Beschreibung werden verschiedene Aspekte unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen gilt:
    • 1 zeigt eine Smart-Karte gemäß einer Ausführungsform.
    • 2 zeigt einen Schaltkreis, der eine Logikzelle implementiert, die zwei boolesche Geheimnisse enthält.
    • 3 zeigt ein Gatter-Schema für den Schaltkreis aus 2.
    • 4 veranschaulicht ein grundlegendes Key-Lock(Schlüssel-Sperrung)-Gatter für boolesche Geheimnisse.
    • 5 zeigt einen Schaltkreis zum Implementieren eines Key-Lock-Gatters gemäß einem ersten Implementierungsbeispiel.
    • 6 zeigt einen Verzögerungspuffer einschließlich zwei seriell verbundener Inverter.
    • 7 zeigt einen Verzögerungspuffer gemäß einer anderen Ausführungsform einschließlich eines partiellen Schmitt-Triggers, der seriell mit einem Inverter verbunden ist.
    • 8 zeigt einen Schaltkreis, der einen Multiplexer implementiert, der zum Implementieren der Multiplexer des Schaltkreises aus 5 verwendet werden kann.
    • 9 zeigt einen Schaltkreis für eine Transmissionsgatterimplementierung eines maskierten Multiplexers für eine maskierte Transpositionsstufe.
    • 10 zeigt einen Schaltkreis für eine Logikgatterimplementierung eines maskierten Multiplexers für eine maskierte Transpositionsstufe.
    • 11 zeigt einen Schaltkreis zum Implementieren eines Key-Lock-Gatters gemäß einem zweiten Implementierungsbeispiel.
    • 12 zeigt einen Schaltkreis für eine Erweiterung dieses Konzepts, insofern, dass er eine Implementierung einer Key-Lock-Gatter-Ausführungsform gibt, die die Erzeugung von flankenabhängigen booleschen Geheimnissen bereitstellt.
    • 13 zeigt einen Verzögerungspuffer gemäß einer Ausführungsform.
    • 14 zeigt einen Schaltkreis für ein Implementierungsbeispiel eines XOR-Gatters, der z. B. für die XOR-Gatter des Schaltkreises aus 12 verwendet wird.
    • 15 zeigt einen integrierten Schaltkreis gemäß einer Ausführungsform.
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Veranschaulichung spezielle Einzelheiten und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeübt werden kann. Andere Aspekte können genutzt werden und strukturelle, logische und elektrische Änderungen können vorgenommen werden, ohne vom Schutzumfang der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht zwangsweise gegenseitig aus, da manche Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Es ist wünschenswert, eine breite Vielfalt integrierter Schaltkreise (ICs) vor Reverse Engineering zu schützen, insbesondere ICs, die in sicherheitsrelevanten Zusammenhängen verwendet werden, wie etwa auf einer Smart-Karte, wie in 1 gezeigt.
  • 1 zeigt eine Smart-Karte 100 gemäß einer Ausführungsform.
  • Die Chipkarte 100 beinhaltet einen Träger 101, auf dem ein Chipkartenmodul 102 platziert ist. Das Chipkartenmodul 102 beinhaltet verschiedene Datenverarbeitungskomponenten, wie etwa einen Speicher 103, einen Prozessor 104 und zum Beispiel einen dedizierten Kryptoprozessor 105.
  • Zum Beispiel soll das Chipkartenmodul 102 vor Reverse Engineering geschützt werden. Jedoch ist dies nur als ein Beispiel beabsichtigt und ICs in vielen verschiedenen Anwendungen können gemäß verschiedenen Ausführungsformen vor Reverse Engineering geschützt werden, z. B. Mikrocontroller-ICs, z. B. in Ausrüstung, wie etwa in einem Fahrzeug, z. B. in einer ECU (elektronische Steuereinheit), für Smart-Karten eines beliebigen Formfaktors, Kommunikation-ICs, Steuer-ICs verschiedener Vorrichtungen, wie etwa Drucker, usw.
  • Eine Möglichkeit zum Schützen vor Reverse Engineering ist die Entwicklung von Tarnschaltkreisen. Jedoch können solche Tarnschaltkreise Prozesstechnologieerweiterungen, wie Dotierungsprofilmodifikationen oder gefälschte Kontakte oder Vias, erfordern, und/oder sie bringen eine erheblich erhöhte Fläche und einen erheblich erhöhten Energieverbrauch mit sich. Dementsprechend sind diese Maßnahmen oft zu teuer für Massenprodukte.
  • Gemäß verschiedenen Ausführungsformen werden für einen Schutz eines integrierten Schaltkreises vor Reverse Engineering, welcher effizient ist (z. B. hinsichtlich Flächenanforderung, Technologieerweiterungen und Energieverbrauch), ein oder mehrere Schaltkreise in dem integrierten Schaltkreis bereitgestellt, die ein oder mehrere boolesche Geheimnisse enthalten und die booleschen Geheimnisse als Reaktion auf eine vorbestimmte Steuereingabe (die als ein Password betrachtet werden kann, das zum Abrufen des oder der booleschen Geheimnisse notwendig ist) ausgeben. Ein boolesches Geheimnis, das in einem Schaltkreis enthalten ist (oder durch diesen repräsentiert wird), kann als eine Binärzahl (aus einer oder mehreren Binärziffern) betrachtet werden, die in dem Sinne geheim ist, dass sie nicht aus dem Schaltkreis ersichtlich ist, z. B. nicht aus Komponententypen des Schaltkreises und ihren Verbindungen ersichtlich ist und nicht durch standardmäßiges statisches Reverse Engineering ersichtlich ist (das z. B. aus einer Analyse Schicht für Schicht, Synthese und Rekonstruktion des Schaltkreises besteht).
  • Anwendungsbeispiele schließen die booleschen Geheimnisse ein, die geheime Schlüssel bereitstellen, die z. B. durch das Chipkartenmodul 102 für kryptographische Algorithmen verwendet werden, wie DES (Data Encryption Standard), AES (Advanced Encryption Standard) oder MED (Memory Encryption/Decryption).
  • Gemäß verschiedenen Ausführungsformen können solche geheimen Schlüssel passwortgeschützt sein, so dass diese Schlüssel im Feld zu beliebigen Zeitpunkten entsperrt werden können, um z. B. eine Ent- und Verschlüsselung dedizierter Sektoren eines NVM (Non Volatile Memory - nichtflüchtigen Speichers) für Code und Daten zu ermöglichen, oder um Teile programmierbarer Hardware, wie FSMs (Finite State Machines - endliche Zustandsmaschinen), S-Boxes, LFSRs (Linear Feedback Shift Registers - Lineare Rückkopplungsschieberegister) oder NLFSRs (Nonlinear Feedback Shift Registers - nichtlineare Rückkopplungsschieberegister), zu entsperren. Andere mögliche Anwendungen können in der Produktdiversifikation bestehen, entweder in der Zeitdomäne in dem Sinn, dass ein spezieller Kunde verschiedene kryptografisch relevante Versionen eines IC erhält, oder in der Kundendomäne in dem Sinn, dass verschiedene Kunden verschiedene kryptografisch relevante Versionen eines IC zu demselben oder zu unterschiedlichen Zeitpunkten erhalten. Eine gemeinsame On-Chip-Authentifizierung zwischen verschiedenen Submodulen kann eine weitere mögliche Anwendung sein.
  • Ein Implementierungsbeispiel ist das Erweitern eines Schaltkreises mit einer oder mehreren „ununterscheidbaren, aber komplementären Bitzellen“ (ICBC: Indistinguishable yet Complementary Bit-Cells) durch Hinzufügen eines Passwortschutzes zu dem ICBC-Konzept zum Bereitstellen einer Schaltungsanordnung für die Erzeugung passwortgeschützter boolescher Geheimnisse.
  • Es gibt zwei grundlegende Flavors (d. h. Varianten oder Verkörperungen) einer ununterscheidbaren, aber komplementären Bitzelle ICBC-X: ICBC-1 und ICBC-0. Beide sind elektronische Schaltkreise, insbesondere CMOS-Gatter, die auf eine angemessene Aufforderung durch Ausgeben einer robusten logischen EINS (ICBC-1) oder einer robusten logischen NULL (ICBC-0) reagieren, aber ICBC-1 und ICBC-0 können nicht mittels standardmäßigem Reverse Engineering (RE) oder anderer Analyseverfahren unterschieden werden, die für Angriffe auf Sicherheits-ICs, wie Chipkartenmodule, eingesetzt werden können.
  • Die Ununterscheidbarkeit von ICBC-X basiert auf einem dedizierten physischen Gestaltungskonzept, das ein (ausreichend) symmetrisches Layout der aktiven Gebiete, Polysilicium oder Metall-Gates, Kontakte, Metallverdrahtung usw. von ICBC-X bereitstellt. Andererseits weisen nMOS- und pMOS-Komponenten (d. h. n-Kanal-MOSFETs (Metall-Oxid-Halbleiter-Feldeffekttransistoren) und p-Kanal-MOSFETs) der ICBC-X angemessen unterschiedliche Schwellenspannungen (Vth) auf, die zu robusten Transfercharakteristiken der ICBC-X führen, wenn sie mit einem Eingangsmuster herausgefordert wird, das ansonsten bewirken würde, dass der Schaltkreis in einen metastabilen Zustand eintritt.
  • Da verfügbare Prozessoptionen, wie „niedrige und reguläre Vth sowie „reguläre und hohe Vth“ verwendet werden können, um das ICBC-X-Konzept zu realisieren, ist überhaupt keine Prozessänderung erforderlich, unter der Voraussetzung, dass ein Szenario mit gemischter Vth für den betrachteten Sicherheits-IC angenommen werden kann.
  • ICBC-1 und ICBC-0 sind statische CMOS-Gatter, die als Elemente von Standardzellenbibliotheken implementiert (und beliebig mit solchen kombiniert) werden können.
  • Anwendungsbeispiele beinhalten „dynamische“ TIE-1 und TIE-0-Zellen, d. h. TIE-Zellen, die zwischen logisch gültigen und ungültigen Zuständen geschaltet werden können, die z. B. Bits eines geheimen Schlüssels oder andere Elemente vertraulicher Informationen repräsentieren.
  • Zudem können ICBC-X-Instanzen mit Standardlogikgattern kombiniert werden, um RE-beständige Datenpfade zu erreichen, und ICBC-Xs können verknüpft werden, um dynamische TIE-Baumstrukturen zu realisieren. Eine „Sitzungsschlüssel“-Erzeugung sowie adressenabhängige Speicherverschlüsselungskonfiguration sind ebenfalls möglich. Zusätzlich dazu kann die ausgewählte Konfiguration nach Roll-Out, d. h. nach der anfänglichen (z. B. zufälligen) Konfiguration der ICBC-X, in einem NVM zur anschließenden Verwendung im Feld gespeichert werden. Dies kann sogar robuste und RE-beständige Informationselemente ermöglichen, die für einen Chip individuell sind.
  • Da eine Vielzahl an ICBC-X-Instanzen irregulär über den gesamten Halbangepassten Teil eines IC verteilt werden kann und, weil auf diese Instanzen in irregulärer, sogar zufälliger, zeitlicher Reihenfolge zugegriffen werden kann, erhöht das ICBC-X-Konzept die Schwierigkeit, das Risiko und den Aufwand für alle relevanten Sicherheits-IC-Angriffsszenarien, wie Reverse Engineering, Photonenemission, Laserspannungssondierung usw., ungemein.
  • Das grundlegende ICBC-X-Konzept basiert darauf, dass herkömmlicherweise metastabile Zustände oder metastabile Übergangszustände einer (bistabilen) Rückkopplungsschaltungsanordnung gelöst werden, indem (MOS-) Transistoren (im Allgemeinen Schalter) mit unterschiedlichen Schwellenspannungen (im Allgemeinen Zustandsübergangscharakteristiken) eingesetzt werden, um robuste ICBC-X-Zustandsübergänge zu erreichen, woraufhin die Natur einer beliebigen gegebenen ICBC-X-Instanz (d. h. ob X =1 oder X = 0 gilt) für einen Angreifer verborgen bleibt, der relevante Sicherheits-IC-Angriffsszenarien, wie Reverse Engineering, Photonenemission, Laserspannungssondierung usw., einsetzt.
  • Eine ICBC-X kann zum Beispiel unter Verwendung von NAND- oder NOR-Gattern, d. h. einer speziellen Art von grundlegenden booleschen Funktionen, gebildet werden.
  • 2 zeigt einen Schaltkreis 200, der eine Logikzelle implementiert, die zwei boolesche Geheimnisse X0 und X1 enthält, was bei diesem Beispiel AND-NOR-basiert ist. Somit kann der Schaltkreis 200 als eine Implementierung von zwei ICBC-Xs (nämlich einer ICBC-X0 und einer ICBC-X1) auf einmal gesehen werden, aber eine einzige ICBC-X kann auf eine ähnliche Weise implementiert werden (oder natürlich kann nur eine von ICBC-X0 und ICBC-X1 verwendet werden, um eine einzige ICBC-X zu haben).
  • 3 zeigt ein Gatter-Schema für den Schaltkreis 200.
  • Der Schaltkreis 200 weist zwei Steuereingänge RN und S und zwei Ausgänge Z und Y auf. Die Schaltkreise beinhalten ein erstes AND-NOR 201, 301, ein zweites AND-NOR 202, 302, einen ersten Inverter 203, 303 und einen zweiten Inverter 204, 304.
  • Das erste AND-NOR 201 beinhaltet einen ersten p-Kanal-FET 205, dessen Source mit dem High(Hoch)-Versorgungspotential (VDD) verbunden ist und dessen Gate mit dem Signal S versorgt wird. Das erste AND-NOR 201 beinhaltet ferner einen zweiten p-Kanal-FET 206, dessen Source mit dem High-Versorgungspotential (VDD) verbunden ist. Die Drains des ersten p-Kanal-FET 205 und des zweiten p-Kanal-FET 206 sind mit der Source eines dritten p-Kanal-FET 207 verbunden, dessen Gate mit dem Signal RN versorgt wird und dessen Drain mit einem ersten Ausgangsknoten (oder Rückkopplungsknoten) 208 verbunden ist, dessen Zustand mit SY bezeichnet wird.
  • Das erste AND-NOR 201 beinhaltet ferner einen ersten n-Kanal-FET 209, dessen Source mit dem Low(Nieder)-Versorgungspotential (VSS) verbunden ist, dessen Gate mit dem Signal RN versorgt wird und dessen Drain mit dem ersten Ausgangsknoten 208 verbunden ist. Das erste AND-NOR 201 beinhaltet ferner einen zweiten n-Kanal-FET 210, dessen Source mit dem Low-Versorgungspotential (VSS) verbunden ist und dessen Drain mit der Source eines dritten n-Kanal-FET 211 verbunden ist, dessen Gate mit dem Signal S versorgt wird und dessen Drain mit dem ersten Ausgangsknoten 208 verbunden ist.
  • Das zweite AND-NOR 202 beinhaltet einen vierten p-Kanal-FET 212, dessen Source mit dem High-Versorgungspotential (VDD) verbunden ist und dessen Gate mit dem Signal S versorgt wird. Das zweite AND-NOR 202 beinhaltet ferner einen fünften p-Kanal-FET 213, dessen Source mit dem High-Versorgungspotential (VDD) verbunden ist. Die Drains des vierten p-Kanal-FET 212 und des fünften p-Kanal-FET 213 sind mit der Source eines sechsten p-Kanal-FET 214 verbunden, dessen Gate mit dem Signal RN versorgt wird und dessen Drain mit einem zweiten Ausgangsknoten (oder Rückkopplungsknoten) 215 verbunden ist, dessen Zustand mit SZ bezeichnet wird.
  • Das zweite AND-NOR 202 beinhaltet ferner einen vierten n-Kanal-FET 216, dessen Source mit dem Low-Versorgungspotential (VSS) verbunden ist, dessen Gate mit dem Signal RN versorgt wird und dessen Drain mit dem zweiten Ausgangsknoten 215 verbunden ist. Das zweite AND-NOR 202 beinhaltet ferner einen fünften n-Kanal-FET 217, dessen Source mit dem Low-Versorgungspotential (VSS) verbunden ist und dessen Drain mit der Source eines sechsten n-Kanal-FET 218 verbunden ist, dessen Gate mit dem Signal S versorgt wird und dessen Drain mit dem zweiten Ausgangsknoten 215 verbunden ist.
  • Der erste Ausgangsknoten 208 ist ferner mit dem Eingang des ersten Inverters 203 verbunden, dessen Ausgang der Ausgang Y ist. Ferner ist der erste Ausgangsknoten 208 mit den Gates des fünften p-Kanal-FET 213 und des fünften n-Kanal-FET 217 verbunden.
  • Der zweite Ausgangsknoten 215 ist ferner mit dem Eingang des zweiten Inverters 204 verbunden, dessen Ausgang der Ausgang Z ist. Ferner ist der zweite Ausgangsknoten 215 mit den Gates des zweiten p-Kanal-FET 206 und des zweiten n-Kanal-FET 210 verbunden.
  • Die Inverter 203, 204 werden zum Beispiel durch einen p-Kanal-FET und einen n-Kanal-FET realisiert, die in Reihe zwischen dem High-Versorgungspotential und dem Low-Versorgungspotential verbunden sind und die die Eingabe der Inverter 203, 204 an ihren Gates empfangen, und wobei der Knoten zwischen ihnen der Ausgangsknoten des jeweiligen Inverters 203, 204 ist.
  • Nachfolgend wird angenommen, dass p-Kanal-FETs durch pMOS-Transistoren (die auch als pMOS-Vorrichtungen bezeichnet werden) implementiert werden und n-Kanal-FETs durch nMOS-Transistoren (die auch als nMOS-Vorrichtungen bezeichnet werden) implementiert werden. Die Schaltkreise 200 sowie die nachfolgend beschriebenen Schaltkreise sind zum Beispiel in CMOS(komplementärer Metall-Oxid-Halbleiter)-Technologie implementiert.
  • Für RN = 1 befindet sich der Schaltkreis 200 in seinem ersten Vorladezustand: RN = 1 = > ( SZ , SY ) = ( 0,0 ) = > ( Z , Y ) = ( 1,1 ) .
    Figure DE102020106346A1_0001
  • Für (RN,S) = (0, 0) befindet sich der Schaltkreis 200 in seinem zweiten Vorladezustand: ( RN , S ) = ( 0,0 ) = > ( SZ , SY ) = ( 1,1 ) = > ( Z , Y ) = ( 0,0 ) .
    Figure DE102020106346A1_0002
  • Der erste verbotene Übergang ist gegeben durch ( RN , S ) = ( 1,1 ) > ( 0,1 ) ,
    Figure DE102020106346A1_0003
    wodurch die zwei konkurrierenden Pull-Up-Pfade einschließlich der Reihenverbindungen des fünften p-Kanal-FET 213, der als TPZ0 bezeichnet wird (mit einer Schwellenspannung Vth(TPZ0)), und des sechsten p-Kanal-FET 214, der als TPZ1 bezeichnet wird (mit einer Schwellenspannung Vth(TPZ1)), für SZ sowie des zweiten p-Kanal-FET 206, der als TPY0 bezeichnet wird (mit einer Schwellenspannung Vth(TPY0)), und des dritten p-Kanal-FET 207, der als TPY1 bezeichnet wird (mit einer Schwellenspannung Vth(TPY1)), für SY aktiviert werden.
  • Dementsprechend entsprechen die zwei verschiedenen Schwellenspannungskonfigurationen | Vth ( TPZ 1 ) | < | Vth ( TPY 1 ) | ;   | Vth ( TPZ 0 ) | < | Vth ( TPY 0 ) |
    Figure DE102020106346A1_0004
    und | Vth ( TPZ 1 ) | > | Vth ( TPY 1 ) | ;   | Vth ( TPZ 0 ) | > | Vth ( TPY 0 ) |
    Figure DE102020106346A1_0005
    den zwei verschiedenen Werten X1 = 0 und X1 = 1 für den ersten verbotenen Übergang ( RN , S ) = ( 1,1 ) > ( 0,1 ) = > ( Z , Y ) = ( 1,1 ) > ( X 1,  nicht ( X 1 ) ) .
    Figure DE102020106346A1_0006
  • Der zweite verbotene Übergang ist gegeben durch ( RN , S ) = ( 0,0 ) > ( 0,1 ) ,
    Figure DE102020106346A1_0007
    wodurch die zwei konkurrierenden Pull-Down-Pfade einschließlich der Reihenverbindungen des fünften n-Kanal-FET 217, der als TNZ0 bezeichnet wird, und des sechsten n-Kanal-FET 218, der als TNZ1 bezeichnet wird, für SZ sowie des zweiten n-Kanal-FET 210, der als TNY0 bezeichnet wird und des dritten n-Kanal-FET 211, der als TNY1 bezeichnet wird, für SY aktiviert werden.
  • Dementsprechend entsprechen die zwei verschiedenen Schwellenspannungskonfigurationen Vth ( TNZ 1 ) < Vth ( TNY 1 ) ;  Vth ( TNZ 0 ) < Vth ( TNY 0 )
    Figure DE102020106346A1_0008
    und Vth ( TNZ 1 ) > Vth ( TNY 1 ) ;  Vth ( TNZ 0 ) > Vth ( TNY 0 )
    Figure DE102020106346A1_0009
    zwei verschiedenen Werten X0 = 1 und X0 = 0 für den zweiten verbotenen Übergang ( RN , S ) = ( 0,0 ) > ( 0,1 ) = > ( Z , Y ) = ( 0,0 ) > ( X 0,  nicht ( X 0 ) ) .
    Figure DE102020106346A1_0010
  • Eine grundlegende ICBC kann auf die folgende abstrakte Weise definiert werden: die ICBC beinhaltet einen Eingangs S und einen Ausgang Z. In seinem DEFAULT-ZUSTAND ist der Eingang S auf \A = nicht (A) gesetzt, wobei A = 0 oder 1 gilt, was Z = D impliziert, wobei D = 0 oder 1 den Default-Ausgangswert der ICBC bezeichnet, der durch standardmäßige Reverse-Engineering-Verfahren identifiziert werden kann.
  • Ein ICBC-ACCESS wird initiiert, indem S auf A gesetzt wird, was Z = X impliziert, wobei X = 0 oder 1 das boolesche Geheimnis der ICBC bezeichnet, d. h. einen vorhersagbaren und vorbestimmten Wert X, wobei der Wert von X für eine gegebene ICBC-Verkörperung oder eine spezielle Instanz auf einem IC beispielsweise von einer Differentialschwellenspannungsprogrammierung abhängen kann, wie oben für die ICBC-Schaltungsanordnung angegeben, so dass X nicht durch standardmäßige Reverse-Engineering-Verfahren identifiziert werden kann.
  • Gemäß verschiedenen Ausführungsformen ist der Zugriff auf boolesche Geheimnisse (Wie etwa X0 und X1 in dem Schaltkreis 200, 300) passwortgeschützt. Gemäß einer Ausführungsform wird ein solcher Passwortschutz durch einen Schaltkreis bereitgestellt, der nachfolgend als ein Key-Lock-Gatter bezeichnet wird.
  • 4 veranschaulicht ein grundlegendes Key-Lock-Gatter (KLG) 400 (als Gattersymbol) für boolesche Geheimnisse, das zwei Eingänge E und K sowie den Ausgang Z beinhaltet.
  • Die boolesche Funktion des Key-Lock-Gatters ist beispielsweise (d. h. für eine erste Ausführungsform) gegeben durch:
    • DEFAULT-ZUSTAND: E = \A = nicht (A), => Z = D,
    • wobei A, D = 0 oder 1 gilt;
    • Das heißt für E = \A (unabhängig von K) wird der Ausgang Z auf einem DEFAULT-Wert D gesetzt.
  • KEY-LOCK-ZUGRIFF GÜLTIG: K = V, und E = \A → A = > Z = D → X, wobei V, X = 0 oder 1 gilt; Das heißt, für einen vorbestimmten booleschen Wert V (entweder gleich 0 oder 1) des Eingangs K führt der Eingangsübergang E = \A -> A zu dem Ausgangsübergang Z = D - > X, d. h. Z wird auf einen vorhersagbaren und vorbestimmten Wert X gesetzt, wobei der Wert von X beispielsweise von einer Differentialschwellenspannungsprogrammierung, wie oben für ICBC-Zellen angegeben, abhängen kann, so dass X nicht durch Reverse-Engineering-Verfahren nach dem Stand der Technik identifiziert werden kann.
  • KEY-LOCK-ZUGRIFF UNGÜLTIG: K= \V, E = \A → A = > Z = D → R, wobei \V, R = 0 oder 1, und \V = nicht (V) gilt; Das heißt, für einen vorbestimmten booleschen Wert \V = 1 oder 0 des Eingangs K führt der Eingangsübergang E = \A -> A zu dem Ausgangsübergang Z = D -> R, d. h. Z wird auf einen unvorhersagbaren und unbestimmten booleschen Wert R gesetzt; wobei der (zufällige) Wert von R zu einem metastabilen Zustand führt, in den das KLG 400 bei K = \V, E = \A → A eintritt, so dass spezielle Werte von R durch zufällige Prozessvariationen, Temperatur- oder Versorgungsspannungsfluktuationen (zufällige) kapazitive Kopplungen und/oder Substratkopplungen, Rauschen und/oder Alterung relevanter aktiver Vorrichtungen, wie Transistoren, induziert werden können: dementsprechend kann R als äquivalent zu dem booleschen Ergebnis eines Zugriffs auf eine physisch nichtklonbare Funktion (PUF: Physical Unclonable Function) oder einen physisch verschleierten Schaltkreis (POC: Physically Obfuscated Circuit) betrachtet werden.
  • Dies bedeutet, dass KEY-LOCK-ZUGRIFF UNGÜLTIG in der ersten Instanz als ein UNGÜLTIGER Zugriff auf das boolesche Geheimnis X des KLG interpretiert werden kann (wobei das UNGÜLTIGE Schlüsselbit K = \V angewandt wird).
  • Andererseits kann KEY-LOCK-ZUGRIFF UNGÜLTIG auch als ein Zugriff auf eine PUF oder einen POC interpretiert oder eingesetzt werden, wenigstens falls die zufällige KLG-Antwort R statistisch zufriedenstellend und für den Zweck des Repräsentierens eines IC-„Fingerabdrucks“, der beispielsweise ein individueller geheimer IC-Schlüssel ist, reproduzierbar genug ist.
  • 5 zeigt einen Schaltkreis 500 zum Implementieren eines KLG gemäß einem ersten Implementierungsbeispiel.
  • Der Schaltkreis 500 besteht aus zwei Doppelpufferstufen (DBS: Dual-Puffer Stage) einschließlich Verzögerungspuffern 501-504 mit einzelnen Verzögerungen Δt10 und Δt00 für die erste DBS bzw. Δt11 und Δt01 für die zweite DBS, einer Konditionalsignaltranspositionsstufe mit Eingängen S1 und S0 und Ausgängen T1 und T0, einschließlich zwei Multiplexern 505, 506, die beide das Steuersignal K empfangen, sowie einer Ausgangsstufe, die durch einen NAND-basierten SET-RESET-Flipflop einschließlich zwei kreuzgekoppelter NAND-Gatter ND1 507 und ND0 508 und eines Inverters IVZ 509 zum Bereitstellen des KLG-Ausgangssignals Z gebildet ist. Der KLG-Eingang E wird in die zwei Verzögerungspuffer Δt10 und Δt00 eingegeben, der Eingang T1 wird in den Verzögerungspuffer Δt11 eingegeben, T0 wird in den Verzögerungspuffer Δt01 eingegeben und Y1 und Y0 werden in die SET-RESET-Flipflop-Ausgangsstufe eingegeben.
  • Bei dieser Ausführungsform ist A gleich 1 und ist D gleich 0, d. h. für E = \A = nicht (A) = 0, befindet sich das KLG 400 in seinem DEFAULT-Zustand, wobei Z = D = 0 gilt; für E = 0 folgt, dass S1 = S0 = T1 = T0 = Y1 = Y0 = 0 unabhängig von K gilt, so dass beide NAND-Ausgänge auf 1 gesetzt werden, d. h. ZN = 1, was zu Z = 0 führt, d. h. D = 0.
  • Die KEY-LOCK-Eigenschaft des KLG wird realisiert, indem die einzelnen Verzögerungswerte wie folgt gewählt werden:
    • Δt10 = τj, Δt00 = τk sowie Δt11 = τj oder τk und Δt01 = τk oder τj, wobei τj nicht gleich τk ist.
  • Dementsprechend zeigt für K = 0 der Pfad von E zu Y1 eine Verzögerung von Δt00 + Δt11 (plus der Verzögerung des jeweiligen MX 505, 506) auf, d. h. ist entweder gleich τk + τj oder ist gleich τk + τk (plus der Verzögerung von MX), und der Pfad von E zu Y0 zeigt eine Verzögerung von Δt10 + Δt01 (plus die Verzögerung von MX) auf, d. h. ist entweder gleich τj + τk oder ist gleich τj + τj (plus der Verzögerung von MX). Dies bedeutet, dass die Werte für die Pfadverzögerung von E zu Y1 und von E zu Y0 in Abhängigkeit von der Wahl der einzelnen Verzögerungspufferwerte entweder nominell identisch sind (τj + τk plus die MX-Verzögerung ΔtMX) oder sie sich um 2τk - 2τj unterscheiden (unter der Annahme, dass die Verzögerungen der MX-Gatter nominell gleich sind).
  • Andererseits zeigt für K = 1 der Pfad von E zu Y1 eine Verzögerung von Δt10 + Δt11 (plus der Verzögerung ΔtMX des MX) auf, d. h. ist entweder gleich τj + τj oder ist gleich τj + τk (plus ΔtMX), und der Pfad von E zu Y0 zeigt eine Verzögerung von Δt00 + Δt01 (plus ΔtMX) auf, d. h. ist entweder gleich τk + τk oder ist gleich τk + τj (plus ΔtMX). Dies bedeutet, dass in Abhängigkeit von der Wahl der einzelnen Verzögerungspufferwerte die Werte für die Pfadverzögerung von E zu Y1 und jene von E zu Y0 sich entweder um 2τj - 2τk unterscheiden (unter der Annahme, dass die Verzögerungen der MX-Gatter nominell gleich sind) oder sie nominell identisch sind (τj + τk plus ΔtMX),.
  • Tabelle 1 fasst die obigen Ergebnisse zusammen. Außerdem sind die Werte V von K gegeben, d. h. der Wert V = 1, falls KEY-LOCK-ZUGRIFF GÜLTIG ausgeführt wird, und V = 0, falls KEY-LOCK-ZUGRIFF UNGÜLTIG ausgeführt wird: Tabelle 1
    Δt10 Δt11 Δt00 Δt01 K Δt(Y1)-Δt(Y1) V
    τj τj τk τk 0 0 0
    τj τj τk τk 0 k - 2τj 1
    τj τk τk τj 1 j - 2τk 1
    τj τk τk τj 1 0 0
  • In Bezug auf das Erfassen der jeweiligen Verzögerungsdifferenzen an den Knoten Y1 und Y0 wird die Funktion des NAND-basierten RS-FF betrachtet.
  • Als Erstes führt der Startwert 0 an dem KLG-Eingang E zu einer 0 an dem Y1- und Y0-Eingang des RS-FF (unabhängig von K), so dass das RS-FF in seinen Default(Vorlade)-Zustand gesetzt wird, in dem die Ausgänge beider NAND-Gatter ND1 und ND0 1 sind, so dass Z = 0 gilt. Um die Ausgänge Y1 und Y0 der konkurrierenden Signalpfade für einen gegebenen Eingang K auszuwerten, wird eine steigende Signalflanke an E angelegt. Dann laufen steigende Signalflanken durch die zwei jeweilig konfigurierten Verzögerungspfade (in Abhängigkeit von K) und das Arbiter-RS-FF an den Ausgängen der zwei Pfade bestimmt, welche der zwei Verzögerungen kleiner ist: Z =1, falls das Signal, d. h. die steigende Flanke, die an dem RS-FF-Eingang Y1 ankommt, schneller ist, und Z = 0, falls die steigende Flanke, die bei Y0 ankommt, schneller ist. Es ist anzumerken, dass das später ankommende Signal den Wert von Z nicht mehr ändert, da dann Y1 = Y0 = 1 gilt, d. h. das RS-FF wechselt in seinen Datenspeicherungszustand.
  • Daher führt eine steigende Flanke bei E zu steigenden Flanken bei sowohl Y1 als auch Y0, aber nur die schnellere von ihnen wird eine Auswirkung auf den Inhalt des RS-FF haben. Für einen GÜLTIGEN Zugriff auf das KLG, d. h. für angemessen gesetztes K = V, führt die steigende Flanke von E zudem zu Z = X. Für K = \V wird ansonsten Z einen unvorhersagbaren und unbestimmten booleschen Wert R annehmen.
  • Nachfolgend sind Beispiele für Realisierungen für die Verzögerungspuffer 501-504 gegeben.
  • 6 zeigt einen Verzögerungspuffer 600 einschließlich zwei in Reihe verbundener Inverter 601, 602 mit der Eigenschaft, dass verschiedene Schwellenspannungen bereitgestellt werden, um zwei verschiedene Pufferverkörperungen zu erhalten: eine relativ schnelle und eine relativ langsame für eine steigende Flanke an dem Eingang A des Puffers.
  • Der erste Inverter 601 ist durch eine Reihenverbindung aus einem ersten p-Kanal-FET TP0 603 und einem ersten n-Kanal-FET TN0 604 gebildet und der zweite Inverter 602 ist durch eine Reihenverbindung aus einem zweiten p-Kanal-FET TP1 605 und einem zweiten n-Kanal-FET TN1 606 gebildet.
  • Eine steigende Flanke A propagiert relativ schnell zu dem Ausgang Z des Puffers für relativ niedrige (Absolutwerte der) Schwellenspannungen Vth(TN0) und Vth(TP1) und relativ langsam zu dem Ausgang Z des Puffers für relativ hohe (Absolutwerte der) Schwellenspannungen Vth(TN0) und Vth(TP1). (Es ist anzumerken, dass Vth(.) hier die Schwellenspannung des angegebenen FET bezeichnet).
  • Mit anderen Worten sind die Pufferverzögerungen unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen 604, 606 und VthP-Low und VthP-High für die PMOS-Vorrichtungen 603, 605 wie folgt: Δ t PUFFER = Δ t schnell ,  falls Vth ( TN 0 ) = VthN Low und Vth ( TP 1 ) = VthP Low ,
    Figure DE102020106346A1_0011
    Δ t PUFFER = Δ t langsam ,  falls Vth ( TN 0 ) = VthN High und Vth ( TP 1 ) = VthP High ,
    Figure DE102020106346A1_0012
  • Die verbleibenden Transistoren TP0 603 und TN1 606 können entweder so gewählt werden, dass sie die gleichen Schwellenspannungen für sowohl die schnelle als auch die langsame Pufferverkörperung aufweisen, oder dass für die schnelle Pufferverkörperung TP0 603 VthP-High aufweisen kann und TN1 606 VthN-High aufweisen kann, wohingegen für die langsame Pufferverkörperung TP0 603 VthP-Low aufweisen kann und TN1 606 VthN-Low aufweisen kann.
  • 7 zeigt einen Verzögerungspuffer 700 gemäß einer anderen Ausführungsform, einschließlich eines partiellen Schmitt-Triggers 701 (mit der Schmitt-Trigger-Eigenschaft nur für eine steigende Flanke an seinem Eingang), der in Reihe mit einem Inverter 702 mit der Eigenschaft verbunden ist, dass verschiedene Schwellenspannungen bereitgestellt werden, um einen relativ schnellen oder einen relativ langsamen Schmitt-Trigger(ST)-Puffer für eine steigende Flanke an dem Eingang A des Schmitt-Trigger-Puffers zu erhalten.
  • Der Schmitt-Trigger 701 ist durch eine Reihenverbindung aus einem ersten p-Kanal-FET TP0 703, einem ersten n-Kanal-FET TN1 704 und einem zweiten n-Kanal-FET TN0 705 sowie einen dritten n-Kanal-FET TN2 706, der zwischen dem High-Versorgungspotential (VDD) und dem Verbindungspunkt des ersten n-Kanal-FET TN1 704 und des zweiten n-Kanal-FET TN0 705 verbunden ist und dessen Gate mit dem Eingang des Inverters 702 verbunden ist, gebildet.
  • Der Inverter 702 ist durch eine Reihenverbindung eines zweiten p-Kanal-FET TP1 707 und eines vierten n-Kanal-FET TN3 708 gebildet.
  • Der Eingang des Inverters ist ferner mit dem Verbindungspunkt des ersten p-Kanal-FET 703 und des ersten n-Kanal-FET 704 verbunden.
  • Die Eigenschaft des partiellen Schmitt-Triggers bezüglich einer steigenden Flanke an dem Eingang A wird mittels der Negativrückkopplung-NMOS-Vorrichtung TN2 706 realisiert, deren Gate mit dem Schmitt-Trigger-Ausgang AN (mit einem Potential V(AN)) verbunden ist und deren Drain und Source mit der positiven Versorgungsspannung VDD bzw. mit dem Knoten STN zwischen den NMOS-Vorrichtungen TN0 705 und TN1 704 verbunden sind. Vor der steigenden Flanke bei A (d. h. solange A = 0 gilt) befindet sich der Schmitt-Trigger-Ausgang AN dementsprechend auf einem High-Potential VDD, so dass TN2 706 nahe seinem EIN-Zustand ist und der Knoten STN bei näherungsweise VDD-Vth(TN2) liegt. Dann wird der Knoten STN (mit dem Potential V(STN)) mit der steigenden Flanke bei A zu VSS, dem Low-Versorgungspotential heruntergezogen, so dass ein Strom nicht nur von AN durch TN1 704 gezogen wird, sondern auch von VDD durch TN2 706.
  • Als eine Folge befindet sich der NMOS TN2 706 in seinem EIN-Zustand oder nahe diesem, so lange V(AN)-V(STN) > Vth(TN2) gilt, und der Strom durch TN2 706 realisiert eine negative Rückkopplung, die die Geschwindigkeit, mit der AN zu VSS gezogen wird, verlangsamt.
  • Diese negative Rückkopplung hängt von Vth(TN2) ab: je kleiner Vth(TN2) ist, desto stärker wird die negative Rückkopplung sein und umgekehrt.
  • Daher propagiert eine steigende Flanke bei A relativ schnell zu dem Ausgang Z des Puffers für relativ geringe Absolutwerte der Schwellenspannungen Vth(TNO), Vth(TN1) und Vth(TP1) sowie eine relativ hohe Schwellenspannung Vth(TN2) für die Negativrückkopplung-NMOS-Vorrichtung TN2 706.
  • Andererseits propagiert eine steigende Flanke bei A relativ langsam zu dem Ausgang Z des Puffers für relativ hohe Absolutwerte der Schwellenspannungen Vth(TNO), Vth(TN1) und Vth(TP1) sowie eine relativ niedrige Schwellenspannung Vth(TN2) für die Negativrückkopplung-NMOS-Vorrichtung TN2 706.
  • Mit anderen Worten sind die Pufferverzögerungen wieder unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen und VthP-Low und VthP-High für die PMOS-Vorrichtungen: Δ t PUFFER = Δ t schnell ,  falls Vth ( TN 0 ) = VthN ( TN 1 ) = VthN Low ,  Vth ( TP 1 ) = VthP Low ,  und Vth ( TN 2 ) = VthN High gelten ;
    Figure DE102020106346A1_0013
    Δ t PUFFER = Δ t langsam ,  falls Vth ( TN 0 ) = VthN ( TN 1 ) = VthN High ,  Vth ( TP 1 ) = VthP High , und Vth ( TN 2 ) = VthN Low gelten .
    Figure DE102020106346A1_0014
  • Die verbleibenden Transistoren TP0 703 und TN3 708 können entweder so gewählt werden, dass sie die gleichen Schwellenspannungen für sowohl die schnelle als auch die langsame Pufferverkörperung aufweisen, oder dass für die schnelle Pufferverkörperung TP0 703 VthP-High aufweisen kann und TN3 708 VthN-High aufweisen kann, wohingegen für die langsame Pufferverkörperung TP0 703 VthP-Low aufweisen kann und TN3 708 VthN-Low aufweisen kann.
  • 8 zeigt einen Schaltkreis 800, der einen Multiplexer implementiert, der zum Implementieren der Multiplexer 505, 506 (und dementsprechend der Konditionaltranspositionsstufe) des Schaltkreises aus 5 verwendet werden kann.
  • Der Schaltkreis 800 ist eine Multiplexerimplementierung basierend auf Transmissionsgattern 801-804, die in zwei Paaren von Transmissionsgattern angeordnet sind, wobei jedes Transmissionsgatter aus einem p-Kanal-FET und einem n-Kanal-FET gebildet ist. Das erste Transmissionsgatter 801 weist einen n-Kanal-FET auf, dessen Gate mit dem Gate des p-Kanal-FET des zweiten Transmissionsgatters 802 verbunden ist. Gleichermaßen weist das vierte Transmissionsgatter 804 einen n-Kanal-FET auf, dessen Gate mit dem Gate des p-Kanal-FET des dritten Transmissionsgatters 803 verbunden ist. Außerdem ist das Gate des p-Kanal-FET des ersten Transmissionsgatters 801 mit dem Gate des p-Kanal-FET des vierten Transmissionsgatters 804 verbunden. Die Transmissionsgatter des ersten Paares werden mit einem ersten Dateneingangswert A0 versorgt und die Transmissionsgatter des zweiten Paares werden mit einem zweiten Dateneingangswert A1 versorgt. Ein Inverter 805 ist mit dem Steuereingang verbunden. Der Ausgang des Inverters 805 ist mit dem Verbindungsknoten innerhalb der Transmissionsgatterpaare verbunden.
  • Für S = 0 wird der Eingang A1 zu dem Ausgang Z0 transferiert und A0 zu Z1, wohingegen für S = 1 A1 zu dem Ausgang Z1 transferiert wird und A0 zu Z0.
  • Dementsprechend realisiert er die booleschen Funktionen Z 1 = S A 1 + S ¯ A 0
    Figure DE102020106346A1_0015
    Z 0 = S ¯ A 1 + S A 0.
    Figure DE102020106346A1_0016
  • Die Eingangssignale A1 und A0 in 8 entsprechen den Signalen S1 und S0 in 5, der Steuereingang S in 8 entspricht dem Steuereingang K in 5 und die Ausgänge Z1 und Z0 in 8 entsprechen den Signalen T1 und T0 in 5.
  • Eine alternative KLG-Implementierung stellt maskierte Transpositionsstufen bereit, um seminvasive Seitenkanalangriffe zu verhindern, die z. B. Laserspannungssondierung (LVP) oder Photonenemission (PE) einsetzen und auf die Bestimmung des Wertes V des Transpositionseingangs K abzielen, d. h. das gültige Schlüsselbit, für das das boolesche Geheimnis X durch das KLG 400 erzeugt wird. Beispiele für maskierte Transpositionen sind in 9 und 10 gezeigt.
  • 9 zeigt einen Schaltkreis 900 für eine Transmissionsgatterimplementierung eines maskierten Multiplexers für eine maskierte Transpositionsstufe.
  • Der Schaltkreis 900 beinhaltet eine erste Stufe 901 ähnlich der Multiplexerimplementierung aus 8 einschließlich eines (ersten) Inverters 903, der ein (erstes) Steuersignal S empfängt, und eine zweite Stufe 902 mit einer ähnlichen Struktur aus verbundenen Transmissionsgattern (aber mit zwei Gruppen aus vier Transmissionsgattern anstelle von zwei Paaren) und mit einem zweiten Inverter 904, der ein zweites Steuersignal M empfängt. Es ist anzumerken, dass der zweite Inverter 904 auf eine leicht unterschiedliche Weise zu dem ersten Inverter 903 angeordnet ist: insbesondere versorgt er die Verbindungsknoten zwischen den zwei Gruppen von Transmissionsgattern.
  • Der Schaltkreis 900 realisiert die booleschen Funktionen: Z 1 = ( S M ¯ + S ¯ M ) A 1 + ( S ¯ M ¯ + S M ) A 0
    Figure DE102020106346A1_0017
    Z 0 = ( S M + S ¯ M ¯ ) A 1 + ( S M ¯ + S ¯ M ) A 0
    Figure DE102020106346A1_0018
  • Die Steuersignalwerte S und M können als Anteile eines maskierten Steuersignals betrachtet werden.
  • 10 zeigt einen Schaltkreis 1000 für eine Logikgatterimplementierung eines maskierten Multiplexers für eine maskierte Transpositionsstufe.
  • Er beinhaltet zwei komplexe Gatter, die Signale a, b, m (Gatter 1001 invertiert, Gatter 1002 nicht invertiert) und s (beide invertiert und nichtinvertiert) empfangen und deren Ausgänge durch ein NAND-Gatter 1003 kombiniert werden, so dass der Schaltkreis 1000 die folgende boolesche Funktion realisiert: z = m ( s ¯ a + s b ) ¯ m ¯ ( s a + s ¯ b ) ¯ ¯ = ( s m ¯ + s ¯ m ) a + ( s m + s ¯ m ¯ ) b
    Figure DE102020106346A1_0019
    (z. B. in einer statischen CMOS-Implementierung).
  • Die Substitutionen S = s, M = m, A1 = a und A0 = b ergeben die Gleichung für Z1, wohingegen Z0 mit den Substitutionen S = s, M = m, A1 = b and A0 = a erhalten wird.
  • 11 zeigt einen Schaltkreis 1100 zum Implementieren eines KLG gemäß einem zweiten Implementierungsbeispiel.
  • Die KLG-Implementierung aus 11 ist eine Erweiterung derjenigen aus 5 durch das Hinzufügen einer zweiten Konditionaltranspositionsstufe 1101 (die ähnlich der ersten Transpositionsstufe, die durch die Multiplexer 505, 506 gebildet wird, durch zwei Multiplexer 1104, 1105 gebildet wird). Die zweite Transpositionsstufe 1101 weist einen Steuereingang P auf und ist zwischen der zweiten Verzögerungspufferstufe 1102 und dem Eingang der Ausgangsstufe (RS-FF) 1103 angeordnet.
  • Die zusätzliche Transpositionsstufe 1101 für die RS-FF-Eingänge verhindert effektiv semiinvasive Seitenkanalangriffe, die z. B. Laserspannungssondierung (LVP) oder Photonenemission (PE) einsetzen und auf das Bestimmen des Wertes X des booleschen Geheimnisses des KLG abzielen, da bei dieser Implementierung ein XNOR-maskierter Ausgang Z beim Aktivieren des KLG mit einer steigenden Flanke bei E erhalten wird: Z = X P + X ¯ P ¯
    Figure DE102020106346A1_0020
  • Mit anderen Worten hängen der Ausgang des NAND-Gatters ND0 1106 des RS-FF, der seine Ausgabe nicht bereitstellt, sowie der RS-FFs-Ausgang ZN und Z (im Allgemeinen alle externen und internen RS-FF-Knoten) nicht nur von X ab, sondern auch von P, so dass eine beliebige Beobachtung mit z. B. LVP oder PE aufgrund der statistischen Natur dieser Analyseverfahren uneindeutige Ergebnisse liefern wird.
  • Darüber hinaus kann das Signal P als ein zusätzlicher Schlüsselanteil L zum Entsperren von X, das mit einer zufälligen Maske Q maskiert sein kann, z. B. einem Einmal-Pad, auch durch eine externe Schaltungsanordnung interpretiert und bereitgestellt werden, so dass gilt: P = L Q ¯ + L ¯ Q .
    Figure DE102020106346A1_0021
  • Bei den obigen Implementierungsbeispielen wird das boolesche Geheimnis X des KLG bei einer steigenden Flanke von E erzeugt (im Allgemeinen bei einer steigenden oder fallenden Flanke von E, wie oben mit dem Default-Wert A für E angegeben ist).
  • 12 zeigt einen Schaltkreis 1200 für eine Erweiterung dieses Konzepts, insofern, dass es eine Implementierung einer KLG-Ausführungsform gibt, die die Erzeugung von flankenabhängigen booleschen Geheimnissen X1 und X0 bereitstellt.
  • Zu diesem Zweck ist die Doppelpufferstufe jeweils aus zwei Verzögerungspuffern 1201, 1202 und 1203, 1204 einschließlich individueller und flankenabhängiger Verzögerungen ΔtRk1 und ΔtFk1, wobei k, 1 = 0,1 gilt, für steigende und fallende Flanken an ihren Eingängen, einer zusätzlichen Transpositionsstufe 1205 wie bei dem Beispiel aus 11 sowie einer zusätzlichen XOR-Stufe 1206 zwischen der zusätzlichen Transpositionsstufe 1205 und den RS-FF-Eingängen Y1 und Y0 gebildet. Die XOR-Stufe 1206 beinhaltet zwei XOR-Gatter 1207, 1208, die jeweils als eine erste Eingabe eine jeweilige Ausgabe YM1, YM0 der zusätzlichen Transpositionsstufe 1205 empfangen und als zweite Eingabe ein Signal EA empfangen.
  • Diese KLG-Implementierung aus 12 (die als Doppelflanken-KLG-Implementierung bezeichnet wird) wird wie folgt betrieben: anfänglich wird E (Eingangssignal des Schaltkreises 1200, d. h. Eingabe in die erste Pufferstufe) auf 0 gesetzt und wird EA auf 0 gesetzt, so dass die XOR-Gatter 1207, 1208 als nichtinvertierende Puffer für ihre Eingänge YM1 und YM0 betrachtet werden können. Dementsprechend werden mit E = 0 die RS-FF-Eingänge Y1 und Y0 auch auf 0 gesetzt (unabhängig von K und P), so dass sich das RS-FF in seinem Default(Vorlade)-Zustand befindet, wie oben für die in 5 und 11 veranschaulichten Ausführungsformen. Das heißt, die Ausgänge beider NAND-Gatter ND1 1209 und ND0 1210 werden auf 1 gesetzt, so dass Z = 0 gilt.
  • Um die Differentialverzögerung für gegebene Eingaben K und P der konkurrierenden Signalpfade von E zu Y1 bzw. Y0 auszuwerten, wird dann eine steigende Signalflanke an E angelegt. Dann laufen steigende Signalflanken durch die zwei jeweilig konfigurierten Verzögerungspfade (in Abhängigkeit von K und P) und das Arbiter-RS-FF an den Ausgängen der zwei Pfade bestimmt, welche der zwei Verzögerungen kleiner ist: Z =1, falls das Signal, d. h. die steigende Flanke an dem RS-FF-Eingang Y1, schneller ist, und Z = 0, falls die steigende Flanke, die bei Y0 ankommt, schneller ist. Es ist anzumerken, dass das später ankommende Signal den Wert von Z nicht mehr ändert, da dann Y1 = Y0 = 1 gilt, d. h. das RS-FF wechselt in seinen Datenspeicherungszustand.
  • Mit anderen Worten führt für einen GÜLTIGEN Zugriff auf das KLG, d. h. für ordnungsgemäß gesetztes K = V1 (wobei V1 den booleschen Wert bezeichnet, für den ein KEY-LOCK-ZUGRIFF GÜLTIG bei der steigenden Flanke von E durchgeführt werden kann), die steigende Flanke von E zu Z = X1 · P + X1 · P, wobei X1 das boolesche Geheimnis bezeichnet, das mit der steigenden Flanke von E abgeleitet wird.
  • Um das zweite boolesche Geheimnis des KLG-Schaltkreises 1200 auszugeben, das bei einer fallenden Flanke von E erzeugt wird, wird zuerst EA auf 1 gesetzt, so dass die zwei XOR-Gatter 1207 und 1208 ihre Eingänge YM1 und YM0 invertieren, woraufhin die RS-FF-Eingänge Y1 und Y0 wieder auf 0 gesetzt werden (unabhängig von K und P), so dass das RS-FF wieder in seinen Default(Vorlade)-Zustand gesetzt wird: die Ausgänge beider NAND-Gatter ND1 1209 und ND0 1210 werden auf 1 gesetzt, so dass Z = 0 gilt.
  • Danach wird der Steuereingang K auf V0 gesetzt (was einen booleschen Wert bezeichnet, für den KEY-LOCK-ZUGRIFF GÜLTIG bei der fallenden Flanke von E durchgeführt werden kann) und P kann geändert werden oder nicht, um den KLG-Ausgang Z mit Bezug auf den vorherigen Zugriff anders oder nicht zu maskieren.
  • Um die Differentialverzögerung für die gewählten Eingaben K und P der konkurrierenden Signalpfade von E zu Y1 bzw. Y0 auszuwerten, wird dann eine fallende Signalflanke an E angelegt. Dann laufen die fallenden Signalflanken durch die zwei jeweilig konfigurierten Verzögerungspfade (in Abhängigkeit von K und P) und das Arbiter-RS-FF an den Ausgängen der zwei Pfade bestimmt, welche der zwei Verzögerungen kleiner ist, wobei berücksichtigt wird, dass nun die zwei XOR-Gatter XOR1 und XOR0 YM1 und YM0 invertieren, so dass wieder steigende Flanken bei Y1 und Y0 ankommen: Z =1, falls die steigende Flanke, die an dem RS-FF-Eingang Y1 ankommt, schneller ist, und Z = 0, falls die steigende Flanke, die bei Y0 ankommt, schneller ist. Es ist anzumerken, dass das später ankommende Signal den Wert von Z nicht mehr ändert, da dann Y1 = Y0 = 1 gilt, d. h. das RS-FF wechselt in seinen Datenspeicherungszustand.
  • Mit anderen Worten führt für einen GÜLTIGEN Zugriff auf das KLG, d. h. für K = V0, die fallende Flanke von E zu Z = X0 · P + X0 · P, wobei X0 das boolesche Geheimnis bezeichnet, das mit der fallenden Flanke von E abgeleitet wird.
  • Um einzelne und flankenabhängige Verzögerungen für die Puffer 1201-1204 der Doppelpufferstufen der in 12 gezeigten Ausführungsform zu realisieren, kann der Puffer aus 6 beispielsweise auf die folgende Weise eingesetzt werden.
  • Eine steigende Flanke A propagiert relativ schnell zu dem Ausgang Z des Puffers für relativ niedrige Absolutwerte der Schwellenspannungen Vth(TN0) und Vth(TP1) und relativ langsam zu dem Ausgang Z des Puffers für relativ hohe Absolutwerte der Schwellenspannungen Vth(TN0) und Vth(TP1).
  • Mit anderen Worten sind die Pufferverzögerungen bezüglich einer steigenden Flanke bei A unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen und VthP-Low und VthP-High für die PMOS-Vorrichtungen 603, 605 wie folgt: Δ tR PUFFER = Δ tR schnell ,  falls Vth ( TN 0 ) = VthN Low und Vth ( TP 1 ) = VthP Low ,
    Figure DE102020106346A1_0022
    Δ tR PUFFER = Δ tR langsam ,  falls Vth ( TN 0 ) = VthN High und Vth ( TP 1 ) = VthP High .
    Figure DE102020106346A1_0023
  • Die verbleibenden Transistoren TP0 604 und TN1 604 können in Abhängigkeit von der gewünschten relativen Propagationsgeschwindigkeit für eine fallende Flanke bei A konfiguriert werden: eine fallende Flanke bei A propagiert relativ schnell zu dem Ausgang Z des Puffers für relativ niedrige Absolutwerte der Schwellenspannungen Vtb(TP0) und Vth(TN1) und relativ langsam zu dem Ausgang Z des Puffers für relativ hohe Absolutwerte der Schwellenspannungen Vtb(TP0) und Vth(TN1).
  • Mit anderen Worten sind die Pufferverzögerungen unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen und VthP-Low und VthP-High für die PMOS-Vorrichtungen: Δ tF PUFFER = Δ tF schnell ,  falls Vth ( TP 0 ) = VthP Low und Vth ( TN 1 ) = VthN Low ,
    Figure DE102020106346A1_0024
    Δ tF PUFFER = Δ tF langsam ,  falls Vth ( TP 0 ) = VthP High und Vth ( TN 1 ) = VthN Low .
    Figure DE102020106346A1_0025
  • 13 zeigt einen Verzögerungspuffer 1300 gemäß einer weiteren Ausführungsform
  • Der Verzögerungspuffer 1300 beinhaltet einen Schmitt-Trigger 1301 (mit der Schmitt-Trigger-Eigenschaft für sowohl eine steigende als auch fallende Flanke an seinem Eingang) und einen in Reihe verbundenen Inverter 1302 mit der Eigenschaft, dass verschiedene Schwellenspannungen bereitgestellt werden, um einen relativ schnellen oder einen relativ langsamen Schmitt-Trigger(ST)-Puffer unabhängig für steigende oder fallende Flanken an dem Eingang A des Schmitt-Trigger-Puffers zu erhalten.
  • Der Schmitt-Trigger 1301 ist durch eine Reihenverbindung aus einem ersten p-Kanal-FET TP0 1303, einem zweiten p-Kanal-FET TP1 1304, einem ersten n-Kanal-FET TN1 1305 und einem zweiten n-Kanal-FET TN0 1306 sowie einen dritten p-Kanal-FET TP0 1307, der zwischen dem Low-Versorgungspotential (VSS) und dem Verbindungspunkt des ersten p-Kanal-FET TP0 1303 und dem zweiten p-Kanal-FET TP1 1304 verbunden ist, und einen dritten n-Kanal-FET TN2 1308, der zwischen dem High-Versorgungspotential (VDD) und dem Verbindungspunkt des ersten n-Kanal-FET TN1 1305 und des zweiten n-Kanal-FET TN0 1306 verbunden ist und dessen Gate mit dem Eingang des Inverters 1302 verbunden ist, gebildet.
  • Der Inverter 1302 ist durch eine Reihenverbindung eines vierten p-Kanal-FET TP3 1309 und eines vierten n-Kanal-FET TN3 1310 gebildet.
  • Der Eingang des Inverters ist ferner mit dem Verbindungspunkt des zweiten p-Kanal-FET 1304 und des ersten n-Kanal-FET 1305 verbunden.
  • Die Eigenschaft des Schmitt-Triggers bezüglich einer steigenden Flanke an dem Eingang A wird mittels der Negativrückkopplung-NMOS-Vorrichtung TN2 1308 realisiert, deren Gate mit dem Schmitt-Trigger-Ausgang AN verbunden ist und deren Drain und Source mit der positiven Versorgungsspannung VDD bzw. mit dem Knoten STN zwischen den NMOS-Vorrichtungen TN0 1306 und TN1 1305 verbunden sind. Vor der steigenden Flanke bei A (d. h. solange A = 0 gilt) befindet sich der Schmitt-Trigger-Ausgang AN dementsprechend auf einem High-Potential VDD, so dass TN2 1308 nahe seinem EIN-Zustand ist und der Knoten STN bei näherungsweise VDD-Vth(TN2) liegt. Dann wird der Knoten STN mit der steigenden Flanke bei A zu VSS, dem Low-Versorgungspotential heruntergezogen, so dass ein Strom nicht nur von AN durch TN1 1305 gezogen wird, sondern auch von VDD durch TN2 1308.
  • Als eine Folge befindet sich der NMOS TN2 1308 in seinem EIN-Zustand oder nahe diesem, so lange V(AN)-V(STN) > Vth(TN2) gilt, und der Strom durch TN2 1308 realisiert eine negative Rückkopplung, die die Geschwindigkeit, mit der AN zu VSS gezogen wird, verlangsamt.
  • Diese negative Rückkopplung hängt von Vth(TN2) ab: je kleiner Vth(TN2) ist, desto stärker wird die negative Rückkopplung sein und umgekehrt.
  • Daher propagiert eine steigende Flanke bei A relativ schnell zu dem Ausgang Z des Puffers für relativ geringe Absolutwerte der Schwellenspannungen Vth(TN0), Vth(TN1) und Vth(TP3) sowie einen relativ hohen Wert der Schwellenspannung Vth(TN2) für die Negativrückkopplung-NMOS-Vorrichtung TN2 1308.
  • Andererseits propagiert eine steigende Flanke bei A relativ langsam zu dem Ausgang Z des Puffers für relativ hohe Absolutwerte der Schwellenspannungen Vth(TN0), Vth(TN1) und Vth(TP3) sowie einen relativ niedrigen Wert der Schwellenspannung Vth(TN2) für die Negativrückkopplung-NMOS-Vorrichtung TN2 1308.
  • Mit anderen Worten sind die Pufferverzögerungen wieder unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen und VthP-Low und VthP-High für die PMOS-Vorrichtungen wie folgt: Δ tR PUFFER = Δ tR schnell ,  falls Vth ( TN 0 ) = Vth ( TN 1 ) = VthN Low ,  Vth ( TP 3 ) = VthP Low , und Vth ( TN 2 ) = VthN High gelten ;
    Figure DE102020106346A1_0026
    Δ tR PUFFER = Δ tR langsam ,  falls Vth ( TN 0 ) = Vth ( TN 1 ) = VthN High ,  Vth ( TP 3 ) = VthP High ,  und Vth ( TN 2 ) = VthN Low gelten .
    Figure DE102020106346A1_0027
  • Die Eigenschaft des Schmitt-Triggers bezüglich einer fallenden Flanke an dem Eingang A wird mittels der Negativrückkopplung-PMOS-Vorrichtung TP2 1307 realisiert, deren Gate mit dem Schmitt-Trigger-Ausgang AN verbunden ist und deren Drain und Source mit der Low-Versorgungsspannung VSS bzw. mit dem Knoten STP zwischen den PMOS-Vorrichtungen TP0 1303 und TP1 1304 verbunden sind. Vor der fallenden Flanke bei A (d. h. solange A = 1 gilt) befindet sich der Schmitt-Trigger-Ausgang AN dementsprechend auf einem Low-Potential VSS, so dass TP2 nahe seinem EIN-Zustand ist und der Knoten STP bei näherungsweise VSS+|Vth(TP2)| liegt|. Dann wird der Knoten STP mit der fallenden Flanke bei A zu dem oberen Versorgungspotential VDD hochgezogen, so dass ein Strom nicht nur durch TP1 1304 zu AN fließt, sondern auch durch TP2 1307 zu VSS.
  • Als eine Folge befindet sich der PMOS TP2 1307 in seinem EIN-Zustand oder nahe diesem, so lange V(STP)-V(AN) > |Vth(TP2)| gilt, und der Strom durch TP2 realisiert eine negative Rückkopplung, die die Geschwindigkeit, mit der AN zu VDD gezogen wird, verlangsamt. Diese negative Rückkopplung hängt von |Vth(TP2)| ab: je kleiner |Vth(TP2)| ist, desto stärker wird die negative Rückkopplung sein und umgekehrt.
  • Daher propagiert eine fallende Flanke bei A relativ schnell zu dem Ausgang Z des Puffers für relativ geringe Absolutwerte der Schwellenspannungen Vtb(TP0), Vth(TP1) und Vth(TN3) sowie einen relativ hohen Absolutwert der Schwellenspannung Vth(TP2) für die Negativrückkopplung-PMOS-Vorrichtung TP2 1307.
  • Andererseits propagiert eine fallende Flanke bei A relativ langsam zu dem Ausgang Z des Puffers für relativ hohe Absolutwerte der Schwellenspannungen Vtb(TP0), Vth(TP1) und Vth(TN3) sowie einen relativ niedrigen Absolutwert der Schwellenspannung Vth(TP2) für die Negativrückkopplung-PMOS-Vorrichtung TP2 1307.
  • Mit anderen Worten sind die Pufferverzögerungen wieder unter der Annahme von zwei Schwellenspannungsoptionen VthN-Low und VthN-High für die NMOS-Vorrichtungen und VthP-Low und VthP-High für die PMOS-Vorrichtungen: Δ tF PUFFER = Δ tF schnell ,  falls Vth ( TP 0 ) = Vth ( TP 1 ) = VthP Low ,  Vth ( TN 3 ) = VthN Low , und Vth ( TP 2 ) = VthP High gelten ;
    Figure DE102020106346A1_0028
    Δ tF PUFFER = Δ tF langsam ,  falls Vth ( TP 0 ) = Vth ( TP 1 ) = VthP High ,  Vth ( TN 3 ) = VthP High , und Vth ( TP 2 ) = VthP Low gelten .
    Figure DE102020106346A1_0029
  • 14 zeigt einen Schaltkreis 1400 für ein Implementierungsbeispiel eines XOR-Gatters, der z. B. für die XOR-Gatter 1207, 1208 des Schaltkreises 1200 aus 12 verwendet wird.
  • Der Schaltkreis 1400 beinhaltet zwei Transmissionsgatter 1401, 1402, die jeweils aus einem p-Kanal-FET bestehen, dessen Source- und Drain-Anschluss parallel mit dem entsprechenden Source- und Drain-Anschluss eines n-Kanal-FET verbunden sind. Das Gate des n-Kanal-FET des ersten Transmissionsgatters 1401 ist mit dem Gate des p-Kanal-FET des zweiten Transmissionsgatters gekoppelt. Das erste Transmissionsgatter 1401 wird an seinem Eingang mit der invertierten Version AN eines ersten Eingangssignals A (die durch einen ersten Inverter 1403 erzeugt wird) versorgt und das zweite Transmissionsgatter 1402 wird an seinem Eingang mit dem ersten Eingangssignal A versorgt. Ein zweites Eingangssignal S wird an den n-Kanal-FET des ersten Transmissionsgatters 1401 und an den p-Kanal-FET des zweiten Transmissionsgatters 1402 und an einen zweiten Inverter 1404 geliefert, der eine invertierte Version SN des zweiten Eingangssignals erzeugt, die an das p-Kanal-FET-Gate des ersten Transmissionsgatters 1401 und das n-Kanal-FET-Gate des zweiten Transmissionsgatters geliefert wird. Die Ausgänge der Transmissionsgatter 1401, 1402 sind zusammen mit einem Ausgangsknoten verbunden, der das Ausgangssignal Z des Schaltkreises bereitstellt.
  • Es ist anzumerken, dass alle obigen KLG-Ausführungsformen modifiziert oder weiter erweitert werden können, indem mehr als zwei Doppelpufferstufen implementiert werden. Beispielsweise kann eine dritte Doppelpufferstufe (plus eine zusätzliche Transpositionsstufe) aufgenommen werden, vor oder nach der ersten, oder nach der zweiten, wobei die hinzugefügte Doppelpufferstufe nominell identische Verzögerungen beinhalten kann. Dies führt zu einer höheren Transistorzahl und einer größeren Fläche, aber auch erhöhter Verschleierung des booleschen Geheimnisses X. Eine weitere Option könnte aus zwei zusätzlichen Doppelpufferstufen (plus zusätzlichen Transpositionsstufen) bestehen, die die gleichen Anzahlen an schnellen und langsamen Verzögerungspuffern wie die ursprünglichen aus z. B. 5, 11 und 12 beinhalten. Dies erhöht die Fläche weiter, aber stellt auch die Option für mehrere Kombinationen von Schlüsselbits bereit, die einen gültigen KLG-Zugriff zur Erzeugung des booleschen Geheimnisses X ermöglicht.
  • Noch eine weitere Option ist das Generalisieren der ICBC-X-Schaltungsanordnung mit pfadabhängigen Geheimnissen, d. h. einer ICBC einschließlich mehr als eines booleschen Geheimnisses (wie bei dem Beispiel aus 2 und 3 veranschaulicht ist), auf eine solche Weise, dass z. B. nur eines von zwei booleschen Geheimnissen (oder zwei von vier booleschen Geheimnissen) belassen wird, wohingegen das andere durch einen unvorhersagbaren Wert an dem Ausgang der ICBC aufgrund einer nun teilweise fehlenden Differential-Vth-Programmierung ersetzt wird. Somit wird zum Beispiel in 2 eine Schwellenspannungskonfiguration derart gewählt, dass X1 stabil und vorhersagbar ist (falls die Schwellenspannungskonfiguration bekannt ist), während X0 unvorhersagbar ist.
  • Dies kann erreicht werden, indem Vth ( TPZ 1 ) < Vth ( TPY 1 ) ; Vth ( TPZ 0 ) < Vth ( TPY 0 )
    Figure DE102020106346A1_0030
    oder Vth ( TPZ 1 ) > Vth ( TPY 1 ) ; Vth ( TPZ 0 ) > Vth ( TPY 0 )
    Figure DE102020106346A1_0031
    so gewählt wird, dass ein vorhersagbares X1 vorhanden ist, aber weder Vth ( TNZ 1 ) < Vth ( TNY 1 ) ;  Vth ( TNZ 0 ) < Vth ( TNY 0 )
    Figure DE102020106346A1_0032
    noch Vth ( TNZ 1 ) > Vth ( TNY 1 ) ;  Vth ( TNZ 0 ) > Vth ( TNY 0 )
    Figure DE102020106346A1_0033
    so gewählt werden, dass X0 unvorhersagbar ist.
  • Zusammengefasst ist gemäß verschiedenen Ausführungsformen ein integrierter Schaltkreis wie in 15 veranschaulicht bereitgestellt.
  • 15 zeigt einen integrierten Schaltkreis 1500 gemäß einer Ausführungsform.
  • Der integrierte Schaltkreis 1500 beinhaltet mehrere Subschaltkreise 1501 mit verschiedenen Signaltransferreaktionszeiten und einen Steuerschaltkreis 1502, der zum Bilden von zwei konkurrierenden Pfaden von den mehreren Subschaltkreisen 1501 als Reaktion auf ein Steuersignal 1505 konfiguriert ist.
  • Der integrierte Schaltkreis 1500 beinhaltet ferner einen Eingangsschaltkreis 1503, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist, und einen Ausgangsschaltkreis 1504, der zum Erzeugen eines Ausgangswertes in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat. Ein Transfer des Eingangssignals kann zum Beispiel eine Ausgabe des Eingangssignals sein.
  • Gemäß verschiedenen Ausführungsformen wird mit anderen Worten ein Schaltkreis, der ein oder mehrere boolesche Geheimnisse enthält (oder repräsentiert), bereitgestellt, wobei die booleschen Geheimnisse in Abhängigkeit von der Bildung konkurrierender Pfade durch Teile (Subschaltkreise) des Schaltkreises, z. B. Verzögerungselemente oder Schaltkreiszweige, ausgegeben werden. Die Bildung hängt von einer Steuereingabe ab, die als ein Passwort (z. B. ein oder mehrere Bits eines binären Passwortwertes) betrachtet werden kann, da die konkurrierenden Pfade in Abhängigkeit davon, ob die Steuereingabe einen korrekten Wert (d. h. einen vorbestimmten Wert) aufweist, gebildet werden, so dass der Schaltkreis ein gewisses boolesches Geheimnis (z. B. ein oder mehrere geheime Bits) ausgibt. Das boolesche Geheimnis kann als durch verschiedene Signaltransferreaktionszeiten der mehreren Subschaltkreise repräsentiert oder codiert betrachtet werden. Diese verschiedenen Signaltransferreaktionszeiten können wiederum von verschiedenen (relativen) Schwellenspannungen von Feldeffekttransistoren (z. B. MOS-Vorrichtungen) stammen, die die Subschaltkreise (z. B. Gate-Gebiet-Dotierungen) bilden, z. B. welche FETs hohe Schwellenspannungen haben und welche niedrige Schwellenspannungen haben (unter der Annahme von zwei oder mehr Schwellenspannungsoptionen für die FETs in der Fertigung des integrierten Schaltkreises).
  • Das Steuersignal (d. h. das „Passwort“) 1505 kann ein Binärwert (einschließlich eines oder mehrerer Bits) sein, der durch andere Teile des integrierten Schaltkreises 1500 bereitgestellt wird. Es ist zu sehen, dass zum Entsperren der (z. B. „KLG“-) Schaltungsanordnung einschließlich der Subschaltkreise 1501 der Steuerschaltkreis 1502, der Eingangsschaltkreis 1503 und der Ausgangsschaltkreis 1504, die ein oder mehrere boolesche Geheimnisse speichern, das eine oder die mehreren booleschen Geheimnisse ausgeben müssen.
  • Der Transfer eines Signals kann die Propagation eines Signals (z. B. einer Flanke) entlang des jeweiligen Pfades sein. Der Transfer eines Signals kann auch das Laden von Knoten konkurrierender Pfade einschließen. Zum Beispiel sind beide konkurrierenden Pfade mit konkurrierenden Knoten verbunden und/oder ein konkurrierender Pfad lädt einen Knoten, um den anderen konkurrierenden Pfad zu behindern, so dass am Ende ein konkurrierender Pfad „gewinnt“, z. B. durch Laden eines Knotens auf einen assoziierten Wert, wie in den Beispielen oben beschrieben ist, z. B. durch Setzen eines Flipflops auf einen gewissen Wert.
  • Es ist anzumerken, dass das Bilden eines konkurrierenden Pfades nicht notwendigerweise bedeutet, dass Verbindungen festgelegt sind. Es kann auch bedeuten, dass es von dem Steuersignal abhängt, welche Pfade konkurrieren. Zum Beispiel können im Fall einer steigenden Flanke andere Pfade als im Fall einer fallenden Flanke konkurrieren. Die Schaltungsanordnung kann in diesem Fall steuern, ob eine steigende Flanke oder eine fallende Flanke an den integrierten Schaltkreis geliefert wird (sie kann zum Beispiel den Eingangsschaltkreis mit dem Eingangssignal versorgen, das den konkurrierenden Pfaden zuzuführen ist). Insbesondere kann der Steuerschaltkreis den Eingangsschaltkreis (zum Bilden der konkurrierenden Pfade) steuern.
  • Die Ausgangswerte (d. h. die booleschen Geheimnisse), die z. B. durch mehrere in 15 veranschaulichte Schaltkreise ausgegeben werden, können durch eine andere Schaltkreiskomponente verwendet werden, um einen Binärwert (z. B. einen Schlüssel) zu bilden, der durch eine Verarbeitungsschaltungsanordnung (die Teil des integrierten Schaltkreises sein kann) verwendet werden kann, um Daten zu verarbeiten (z. B. Daten zu entschlüsseln, eine Signatur zu verifizieren, Schlüsselerzeugung usw.).
  • Im Folgenden werden verschiedene Beispiele beschrieben:
    • Beispiel 1 ist integrierter Schaltkreis, wie in 15 veranschaulicht.
    • Beispiel 2 ist der integrierte Schaltkreis aus Beispiel 1, wobei die mehreren Subschaltkreise Verzögerungspuffer sind.
    • Beispiel 3 ist der integrierte Schaltkreis aus Beispiel 1 oder 2, wobei der Steuerschaltkreis einen oder mehrere Multiplexer beinhaltet, die wenigstens durch das Steuersignal gesteuert werden.
    • Beispiel 4 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 3, wobei der Ausgangsschaltkreis ein RS-Flipflop ist, dessen Rücksetzeingang mit einer Ausgabe eines der konkurrierenden Pfade versorgt wird und dessen Setzeingang mit einer Ausgabe des anderen der konkurrierenden Pfade versorgt wird.
    • Beispiel 5 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 4, wobei jeder Subschaltkreis der mehreren Subschaltkreise mehrere Feldeffekttransistoren beinhaltet und sich die Subschaltkreise bezüglich vorbestimmter und vorhersagbarer Schwellenspannungen wenigstens mancher der Feldeffekttransistoren unterscheiden.
    • Beispiel 6 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 5, wobei jeder Subschaltkreis der mehreren Subschaltkreise mehrere Feldeffekttransistoren beinhaltet, wobei die Schwellenspannungen entsprechender Transistoren vorbestimmte und vorhersagbare Unterschiede zwischen den Subschaltkreisen für einen oder mehrere der Feldeffekttransistoren aufzeigen.
    • Beispiel 7 ist der integrierte Schaltkreis aus Beispiel 5 oder 6, wobei jeder Subschaltkreis der mehreren Subschaltkreise die gleiche Anzahl und die gleichen Arten von Feldeffekttransistoren aufweist, die auf die gleiche Weise verbunden sind.
    • Beispiel 8 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 7, wobei der Steuerschaltkreis zum Bilden der zwei konkurrierenden Pfade durch Verbinden von Schaltkreisen der mehreren Subschaltkreise in Reihe konfiguriert ist, so dass jeder konkurrierende Pfad eine Gesamtsignaltransferreaktionszeit aufweist, die durch die zum Bilden des konkurrierenden Pfades verbundenen Schaltkreise gegeben wird.
    • Beispiel 9 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 8, wobei der Steuerschaltkreis zum Bilden, in Abhängigkeit von dem Steuersignal, der zwei konkurrierenden Pfade konfiguriert ist, so dass die Signaltransferreaktionszeiten der zwei konkurrierenden Pfade vorbestimmte und vorhersagbare Unterschiede aufweisen oder so dass die Gesamtsignaltransferreaktionszeiten der zwei Pfade unbestimmte und unvorhersagbare Unterschiede aufweisen.
    • Beispiel 10 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 9, wobei das Eingangssignal einen Logikzustandsübergang beinhaltet.
    • Beispiel 11 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 10, wobei das Steuersignal einen Binärwert beinhaltet.
    • Beispiel 12 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 11, wobei die mehreren Subschaltkreise vorbestimmte konkurrierende Pfade bilden und der Steuerschaltkreis zum Bilden der zwei konkurrierenden Pfade durch Auswählen von zwei konkurrierenden Pfaden aus den vorbestimmten konkurrierenden Pfaden konfiguriert ist.
    • Beispiel 13 ist der integrierte Schaltkreis aus einem der Beispiele 1 bis 12, wobei der integrierte Schaltkreis mehrere Zellen beinhaltet, wobei jede Zelle Folgendes beinhaltet: mehrere Subschaltkreise mit verschiedenen Signaltransferreaktionszeiten; einen Steuerschaltkreis, der zum Bilden zweier konkurrierender Pfade von den mehreren Subschaltkreisen als Reaktion auf ein Steuersignal konfiguriert ist; einen Eingangsschaltkreis, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist, und einen Ausgangsschaltkreis, der zum Erzeugen eines Ausgangswerts in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat.
    • Beispiel 14 ist der integrierte Schaltkreis aus Beispiel 13, der einen Schlüsselerzeugungsschaltkreis beinhaltet, der zum Bilden eines kryptografischen Schlüssels aus den Ausgangswerten konfiguriert ist.
    • Beispiel 15 ist der integrierte Schaltkreis aus Beispiel 13 oder 14, der ferner einen Verarbeitungsschaltkreis beinhaltet, der zum Verarbeiten von Daten unter Verwendung eines Binärwertes konfiguriert ist, der aus den Ausgangswerten gebildet wird.
  • Obgleich spezielle Ausführungsformen veranschaulicht und beschrieben wurden, werden Durchschnittsfachleute verstehen, dass eine Vielzahl alternativer und/oder äquivalenter Implementierungen die speziellen gezeigten und beschriebenen Ausführungsformen ersetzen können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll sämtliche Anpassungen oder Variationen der speziellen hier besprochenen Ausführungsformen abdecken. Daher soll diese Erfindung nur durch die Ansprüche und deren Äquivalente beschränkt werden.
  • Bezugszeichenliste
  • 100
    Chipkarte
    101
    Chipkartenträger
    102
    Chipkartenmodul
    103
    Speicher
    104
    Prozessor
    105
    Kryptoprozessor
    200
    Schaltkreis
    201, 202
    AND-NOR-Gatter
    203,204
    Inverter
    205-207
    p-Kanal-FETs
    208
    Ausgangsknoten
    209-211
    n-Kanal-FETs
    212-214
    p-Kanal-FETs
    215
    Ausgangsknoten
    216-218
    n-Kanal-FETs
    300
    Schaltkreis
    301, 302
    AND-NOR-Gatter
    303, 304
    Inverter
    400
    Key-Lock-Gatter
    500
    Schaltkreis
    501-504
    Verzögerungspuffer
    505, 506
    Multiplexer
    507, 508
    NAND-Gatter
    509
    Inverter
    600
    Verzögerungspuffer
    601, 602
    Inverter
    603
    p-Kanal-FET
    604
    n-Kanal-FET
    605
    p-Kanal-FET
    606
    n-Kanal-FET
    700
    Verzögerungspuffer
    701
    Schmitt-Trigger
    702
    Inverter
    703
    p-Kanal-FET
    704-706
    n-Kanal-FETs
    707
    p-Kanal-FET
    708
    n-Kanal-FET
    800
    Schaltkreis
    801-804
    Transmissionsgatter
    805
    Inverter
    900
    Schaltkreis
    901, 902
    Schaltkreisstufen
    903,904
    Inverter
    1000
    Schaltkreis
    1001, 1002
    Komplexe Gatter
    1003
    NAND-Gatter
    1100
    Schaltkreis
    1101
    Transpositionsstufe
    1102
    Verzögerungspufferstufe
    1103
    Ausgangsstufe
    1104, 1105
    Multiplexer
    1106
    NAND-Gatter
    1200
    Schaltkreis
    1201-1204
    Verzögerungspuffer
    1205
    Transpositionsstufe
    1206
    XOR-Stufe
    1207, 1208
    XOR-Gatter
    1209, 1210
    NAND-Gatter
    1300
    Verzögerungspuffer
    1301
    Schmitt-Trigger
    1302
    Inverter
    1303, 1304
    p-Kanal-FETs
    1305, 1306
    n-Kanal-FETs
    1307
    p-Kanal-FET
    1308
    n-Kanal-FET
    1309
    p-Kanal-FET
    1310
    n-Kanal-FET
    1400
    Schaltkreis
    1401, 1402
    Transmissionsgatter
    1403, 1404
    Inverter
    1500
    Integrierte Schaltung

Claims (15)

  1. Integrierter Schaltkreis, der Folgendes umfasst: mehrere Subschaltkreise mit verschiedenen Signaltransferreaktionszeiten; einen Steuerschaltkreis, der zum Bilden zweier konkurrierender Pfade von den mehreren Subschaltkreisen als Reaktion auf ein Steuersignal konfiguriert ist; einen Eingangsschaltkreis, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist; und einen Ausgangsschaltkreis, der zum Erzeugen eines Ausgangswerts in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat.
  2. Integrierter Schaltkreis nach Anspruch 1, wobei die mehreren Subschaltkreise Verzögerungspuffer sind.
  3. Integrierter Schaltkreis nach Anspruch 1 oder 2, wobei der Steuerschaltkreis einen oder mehrere Multiplexer umfasst, die wenigstens durch das Steuersignal gesteuert werden.
  4. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 3, wobei der Ausgangsschaltkreis ein RS-Flipflop ist, dessen Rücksetzeingang mit einer Ausgabe eines der konkurrierenden Pfade versorgt wird und dessen Setzeingang mit einer Ausgabe des anderen der konkurrierenden Pfade versorgt wird.
  5. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 4, wobei jeder Subschaltkreis der mehreren Subschaltkreise mehrere Feldeffekttransistoren umfasst und sich die Subschaltkreise bezüglich vorbestimmter und vorhersagbarer Schwellenspannungen wenigstens mancher der Feldeffekttransistoren unterscheiden.
  6. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 5, wobei jeder Subschaltkreis der mehreren Subschaltkreise mehrere Feldeffekttransistoren umfasst, wobei die Schwellenspannungen entsprechender Transistoren vorbestimmte und vorhersagbare Unterschiede zwischen den Subschaltkreisen für einen oder mehrere Feldeffekttransistoren aufzeigen.
  7. Integrierter Schaltkreis nach Anspruch 5 oder 6, wobei jeder Subschaltkreis der mehreren Subschaltkreise die gleiche Anzahl und die gleichen Arten von Feldeffekttransistoren aufweist, die auf die gleiche Weise verbunden sind.
  8. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 7, wobei der Steuerschaltkreis zum Bilden der zwei konkurrierenden Pfade durch Verbinden von Schaltkreisen der mehreren Subschaltkreise in Reihe konfiguriert ist, so dass jeder konkurrierende Pfad eine Gesamtsignaltransferreaktionszeit aufweist, die durch die zum Bilden des konkurrierenden Pfades verbundenen Schaltkreise gegeben wird.
  9. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 8, wobei der Steuerschaltkreis zum Bilden, in Abhängigkeit von dem Steuersignal, der zwei konkurrierenden Pfade konfiguriert ist, so dass die Signaltransferreaktionszeiten der zwei konkurrierenden Pfade vorbestimmte und vorhersagbare Unterschiede aufweisen oder so dass die Gesamtsignaltransferreaktionszeiten der zwei Pfade unbestimmte und unvorhersagbare Unterschiede aufweisen.
  10. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 9, wobei das Eingangssignal einen Logikzustandsübergang umfasst.
  11. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 10, wobei das Steuersignal einen Binärwert umfasst.
  12. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 11, wobei die mehreren Subschaltkreise vorbestimmte konkurrierende Pfade bilden und der Steuerschaltkreis zum Bilden der zwei konkurrierenden Pfade durch Auswählen von zwei konkurrierenden Pfaden aus den vorbestimmten konkurrierenden Pfaden konfiguriert ist.
  13. Integrierter Schaltkreis nach einem der Ansprüche 1 bis 12, wobei der integrierte Schaltkreis mehrere Zellen umfasst, wobei jede Zelle Folgendes umfasst: mehrere Subschaltkreise mit verschiedenen Signaltransferreaktionszeiten; einen Steuerschaltkreis, der zum Bilden zweier konkurrierender Pfade von den mehreren Subschaltkreisen als Reaktion auf ein Steuersignal konfiguriert ist; einen Eingangsschaltkreis, der zum Liefern eines Eingangssignals an die zwei konkurrierenden Pfade konfiguriert ist; und einen Ausgangsschaltkreis, der zum Erzeugen eines Ausgangswerts in Abhängigkeit davon konfiguriert ist, welcher der konkurrierenden Pfade das Eingangssignal mit kürzerer Reaktionszeit transferiert hat.
  14. Integrierter Schaltkreis nach einem Anspruch 13, der einen Schlüsselerzeugungsschaltkreis umfasst, der zum Bilden eines kryptografischen Schlüssels aus den Ausgangswerten konfiguriert ist.
  15. Integrierter Schaltkreis nach Anspruch 13 oder 14, der ferner einen Verarbeitungsschaltkreis umfasst, der zum Verarbeiten von Daten unter Verwendung eines Binärwertes konfiguriert ist, der aus den Ausgangswerten gebildet wird.
DE102020106346.6A 2020-03-09 2020-03-09 Integrierter schaltkreis Pending DE102020106346A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102020106346.6A DE102020106346A1 (de) 2020-03-09 2020-03-09 Integrierter schaltkreis
US17/183,396 US11652070B2 (en) 2020-03-09 2021-02-24 Integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020106346.6A DE102020106346A1 (de) 2020-03-09 2020-03-09 Integrierter schaltkreis

Publications (1)

Publication Number Publication Date
DE102020106346A1 true DE102020106346A1 (de) 2021-09-09

Family

ID=77388822

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106346.6A Pending DE102020106346A1 (de) 2020-03-09 2020-03-09 Integrierter schaltkreis

Country Status (2)

Country Link
US (1) US11652070B2 (de)
DE (1) DE102020106346A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021129408A1 (de) 2021-11-11 2023-05-11 Infineon Technologies Ag Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102424450B1 (ko) * 2016-02-22 2022-07-25 에스케이하이닉스 주식회사 입출력회로 및 이를 이용한 집적회로
US11431504B2 (en) * 2017-03-24 2022-08-30 Visa International Service Association Authentication system using secure multi-party computation
US11568114B2 (en) * 2018-08-20 2023-01-31 Cryptography Research, Inc. All-digital camouflage circuit
DE102019123555B4 (de) * 2019-09-03 2022-12-01 Infineon Technologies Ag Physisch obfuskierter schaltkreis
US11537755B1 (en) * 2019-10-09 2022-12-27 University Of South Florida SR flip-flop based physical unclonable functions for hardware security
US11961567B2 (en) 2021-09-21 2024-04-16 PUFsecurity Corporation Key storage device and key generation method
CN117674853A (zh) * 2023-11-14 2024-03-08 北京中科海芯科技有限公司 一种采样保持电路及时间数字转换器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016113128A1 (de) 2015-07-17 2017-01-19 Infineon Technologies Ag Verfahren zur Herstellung einer digitalen Schaltung und digitale Schaltung
US20170110418A1 (en) 2015-10-20 2017-04-20 Infineon Technologies Ag Digital circuit and method for manufacturing a digital circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082982A (ko) * 2018-12-31 2020-07-08 삼성전자주식회사 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치
KR102245773B1 (ko) * 2019-06-11 2021-04-27 연세대학교 산학협력단 침투 공격에 대해 검출 및 보호가 가능한 온칩 보안 회로
DE102019123555B4 (de) * 2019-09-03 2022-12-01 Infineon Technologies Ag Physisch obfuskierter schaltkreis
US11374774B2 (en) * 2020-04-28 2022-06-28 Regents Of The University Of Minnesota Feed-forward XOR physical unclonable functions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016113128A1 (de) 2015-07-17 2017-01-19 Infineon Technologies Ag Verfahren zur Herstellung einer digitalen Schaltung und digitale Schaltung
US20170110418A1 (en) 2015-10-20 2017-04-20 Infineon Technologies Ag Digital circuit and method for manufacturing a digital circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021129408A1 (de) 2021-11-11 2023-05-11 Infineon Technologies Ag Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering

Also Published As

Publication number Publication date
US11652070B2 (en) 2023-05-16
US20210280536A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
DE102020106346A1 (de) Integrierter schaltkreis
DE102015106508B4 (de) Halbleiterchip
DE102017126217B4 (de) PUF-Arbiter-Schaltung
DE102015110431A1 (de) Kryptografischer Prozessor, Verfahren zum Implementieren eines kryptografischen Prozessors und Schlüsselgenerierungsschaltung
DE60303126T2 (de) Verfahren und vorrichtung zum sicheren scan-testen
DE102016113128B4 (de) Verfahren zur Herstellung einer digitalen Schaltung und digitale Schaltung
DE102017102037A1 (de) Physisch unklonbare funktionsschaltung
DE102007009526B4 (de) Vorrichtung zum Speichern eines binären Zustandes
DE102019112583A1 (de) Integrierte elektronische schaltung
DE102010029735A1 (de) Verfahren zum Generieren eines Bitvektors
DE102016120009A1 (de) Digitalschaltung und verfahren zum herstellen einer digitalschaltung
DE102020131126A1 (de) Gesicherter Einsatz maschineller Lernmodelle
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE102016118534A1 (de) Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
DE102012111414A1 (de) Speicherschaltung
DE102016118000B4 (de) Programmierbare logikschaltung und verfahren zur implementierung einer booleschen funktion
DE102004009144B4 (de) Logikzelle und Verfahren zum Durchführen einer Dual-Rail-Logikoperation und Speichermedium
DE102019123555B4 (de) Physisch obfuskierter schaltkreis
DE102009017773A1 (de) Speicher zum Speichern eines binären Zustands
DE10224742B4 (de) Datenverarbeitungsschaltung und Verfahren zum Übertragen von Daten
EP1495542B1 (de) Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals
US9548737B1 (en) Method for manufacturing a digital circuit and digital circuit
DE10227618B4 (de) Logikschaltung
DE102015116049B3 (de) Nulldetektionsschaltkreis und maskierter boolescher oder-schaltkreis

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication