DE102021129408A1 - Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering - Google Patents

Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering Download PDF

Info

Publication number
DE102021129408A1
DE102021129408A1 DE102021129408.8A DE102021129408A DE102021129408A1 DE 102021129408 A1 DE102021129408 A1 DE 102021129408A1 DE 102021129408 A DE102021129408 A DE 102021129408A DE 102021129408 A1 DE102021129408 A1 DE 102021129408A1
Authority
DE
Germany
Prior art keywords
signal
input
chains
chain
integrated circuit
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
DE102021129408.8A
Other languages
English (en)
Inventor
Stefan Seidl
Joel Hatsch
Artur Wroblewski
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 DE102021129408.8A priority Critical patent/DE102021129408A1/de
Priority to US17/983,839 priority patent/US20230153472A1/en
Publication of DE102021129408A1 publication Critical patent/DE102021129408A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F21/755Protecting 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 with measures against power attack

Landscapes

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

Abstract

Gemäß einer Ausführungsform wird eine integrierte Schaltung bereitgestellt, die eine Biterzeugungsschaltung mit mehreren Signalketten enthält. Für jede Signalkette ist ein erster Dateneingang eines Eingangs-Multiplexers mit einer anderen der Signalketten verbunden und der Eingangs-Multiplexer derart eingerichtet, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang mit dem Pfadeingang der Signalkette verbindet. Der zweite Dateneingang jedes Eingangs-Multiplexers ist mit dem Ausgang einer Biterzeugungs-Auslöseschaltung verbunden und für jede Signalkette ist der Eingangs-Multiplexer derart eingerichtet, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang mit dem Pfadeingang der Signalkette verbindet. Die Biterzeugungsschaltung weist ferner eine Arbiterschaltung auf, die mit den Pfadausgängen von mindestens zwei der Signalketten verbunden ist und die eingerichtet ist, abhängig von den Zuständen der mindestens zwei Signalketten ein geheimes Bit auszugeben.

Description

  • Ausführungsbeispiele betreffen allgemein integrierte Schaltungen und Verfahren zum Schützen von integrierten Schaltungen vor Reverse Engineering.
  • Das Reverse Engineering (RE) integrierter Schaltungen (IC) kann als eine der größten Bedrohungen für die Halbleiterindustrie angesehen werden, weil es von einem Angreifer missbraucht werden kann, um einen Schaltungsentwurf zu stehlen und/oder zu übernehmen. Ein Angreifer, der ein erfolgreiches Reverse Engineering einer integrierten Schaltung vornimmt, kann eine ähnliche, d.h. geklonte Schaltung herstellen und verkaufen und den Entwurf illegal verkaufen und öffentlich machen und beispielsweise Geschäftsgeheimnisse eines Konkurrenten preisgeben.
  • Eine typische technische Gegenmaßnahme gegen das Klonen einer integrierten Schaltung, d.h. eines Chips, besteht darin, Geheimnisse (d.h. geheime Bits) auf dem Chip zu platzieren, und den Chip so auszugestalten, dass er seine Aufgabe ohne die Kenntnis dieser geheimen Bits nicht erfüllen kann. Solche Geheimnisse können sehr vielfältig sein. Typische Beispiele sind in einem nichtflüchtigen Speicher gespeicherte Bits oder „Tarnzellen“, die als fortgeschrittene Tie-Zellen hoher Komplexität angesehen werden können. Alle diese geheimnistragenden Schaltungen haben gemeinsam, dass es für einen Angreifer (Reverse Engineer) unmöglich oder zumindest extrem schwierig ist, ihren Inhalt auszulesen, d.h. die Geheimnisse zu bestimmen.
  • Um die Sicherheit eines Chips weiter zu erhöhen, können mehrere Teilgeheimnisse unterschiedlicher Art kombiniert werden, um ein noch stärkeres Hauptgeheimnis zu erzeugen. Da der Chip ohne Kenntnis des Hauptgeheimnisses nicht geklont werden kann oder Geheimnisse extrahiert werden können, ist der Angreifer dann gezwungen, alle beteiligten Teilgeheimnisse zu extrahieren.
  • Einerseits verbessert sich somit die Sicherheit eines Chips gegen Reverse Engineering mit zunehmender Anzahl von Teilgeheimnissen. Andererseits benötigt jedes Teilgeheimnis Chipfläche. Insbesondere die hochentwickelten Tarnzellen erfordern eine erhebliche Anzahl von Gatteräquivalenten pro Geheimnis. Daher verursacht das Erhöhen der Sicherheit zusätzliche Kosten. Außerdem ist zu bedenken, dass mit jedem neuen erreichten Technologieknoten die Tarnzellen komplexer und flächenintensiver werden.
  • Daher sind Flächen-effizientere Konzepte und Techniken wünschenswert, welche das Reverse Engineering integrierter Schaltungen verhindern oder zumindest erschweren.
  • Gemäß einer Ausführungsform wird eine integrierte Schaltung bereitgestellt, die eine Biterzeugungsschaltung enthält, die mehrere Signalketten aufweist, wobei jede Signalkette einen Pfadeingang, einen Pfadausgang sowie einen Eingangs-Multiplexer aufweist, der einen ersten Dateneingang und einen zweiten Dateneingang und einen Ausgang hat, der mit dem Pfadeingang der Signalkette verbunden ist. Für jede Signalkette ist der erste Dateneingang des Eingangs-Multiplexers mit einer anderen der Signalketten verbunden und für jede Signalkette ist der Eingangs-Multiplexer derart eingerichtet, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang mit dem Pfadeingang der Signalkette verbindet. Der zweite Dateneingang jedes Eingangs-Multiplexers ist mit dem Ausgang einer Biterzeugungs-Auslöseschaltung verbunden und für jede Signalkette ist der Eingangs-Multiplexer derart eingerichtet, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang mit dem Pfadeingang der Signalkette verbindet. Die Biterzeugungsschaltung weist ferner eine Arbiterschaltung auf, die mit den Pfadausgängen von mindestens zwei der Signalketten verbunden ist und die eingerichtet ist, abhängig von den Zuständen der mindestens zwei Signalketten, mindestens ein vorbestimmtes geheimes Bit auszugeben.
  • Gemäß einer weiteren Ausführungsform wird ein Verfahren gemäß der oben beschriebenen integrierten Schaltung bereitgestellt.
  • Die Figuren geben nicht die tatsächlichen Größenverhältnisse wieder sondern sollen dazu dienen, die Prinzipien der verschiedenen Ausführungsbeispiele zu illustrieren. Im Folgenden werden verschiedene Ausführungsbeispiele mit Bezug auf die folgenden Figuren beschrieben.
    • 1 zeigt eine Chipkarte gemäß einer Ausführungsform.
    • 2 zeigt eine auf einem Chip vorhandene (existierende) Signalkette.
    • 3 zeigt eine Biterzeugungsschaltung basierend auf einer Unterteilung der Signalkette aus 2, sodass mehrere Signalketten gebildet werden.
    • 4 zeigt eine Biterzeugungsschaltung entsprechend der Biterzeugungsschaltung aus 3, wobei Verzögerungspuffer in zwei Signalketten, die mit einer Arbiterschaltung verbunden sind, eingefügt wurden.
    • 5 zeigt eine integrierte Schaltung gemäß einer Ausführungsform.
    • 6 zeigt ein Ablaufdiagramm, das ein Verfahren Schützen einer integrierten Schaltung vor Reverse Engineering veranschaulicht.
  • Die folgende detaillierte Beschreibung bezieht sich auf die beiliegenden Figuren, die Details und Ausführungsbeispiele zeigen. Diese Ausführungsbeispiele sind so detailliert beschrieben, dass der Fachmann die Erfindung ausführen kann. Andere Ausführungsformen sind auch möglich und die Ausführungsbeispiele können in struktureller, logischer und elektrischer Hinsicht geändert werden, ohne vom Gegenstand der Erfindung abzuweichen. Die verschiedenen Ausführungsbeispiele schließen sich nicht notwendig gegenseitig aus sondern es können verschiedene Ausführungsformen miteinander kombiniert werden, so dass neue Ausführungsformen entstehen. Im Rahmen dieser Beschreibung werden die Begriffe „verbunden“, „angeschlossen“ sowie „gekoppelt“ verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung.
  • 1 zeigt eine Chipkarte 100 gemäß einer Ausführungsform.
  • Die Chipkarte 100 umfasst einen Träger 101, auf dem ein Chipkartenmodul 102 angeordnet ist. Das Chipkartenmodul 102 umfasst verschiedene Datenverarbeitungskomponenten, wie zum Beispiel einen Speicher 103, einen Prozessor 104 oder zum Beispiel einen dedizierten Kryptoprozessor 105.
  • Beispielsweise soll das Chipkartenmodul 102 gegen Reverse Engineering (oder auch das Extrahieren von geheimen Inhalten) geschützt werden. Dies soll jedoch nur als Beispiel dienen und Chips in vielen verschiedenen Anwendungsbereichen können gemäß Ausführungsbeispielen gegen Reverse Engineering (oder das Extrahieren von geheimen Inhalten) geschützt werden, z.B. Mikrocontroller-Chips, z.B. in Steuereinrichtungen wie beispielsweise in einem Fahrzeug, z.B. in einer ECU (electronic control unit), für Chipkarten mit jeglichem Formfaktor, Kommunikationschips, Steuerungschips verschiedener Geräte wie z.B. Drucker etc.
  • Zum Schutz gegen Reverse Engineering können auf einem Chip geheimnistragende Schaltungen vorgesehen sein, d.h. Schaltungen, die ein oder mehrere geheime Bits ausgegeben und die getarnt sind und/oder deren Geheimnis durch Reverse Engineering sehr schwer zu bestimmen ist, weil es z.B. auf kleinen Performance-Unterschieden basiert.
  • Solche geheimnistragenden Schaltungen erfordern jedoch einen zusätzlichen Flächenaufwand auf dem Chip.
  • Deshalb werden gemäß verschiedenen Ausführungsformen existierende Strukturen auf dem Chip, d.h. Schaltungsteile, die für die ohnehin auf dem Chip vorgesehen sind (z.B. für seine eigentliche Funktion (also den Normalbetrieb) oder auch zur Abschirmung gegen Angriffe), dazu verwendet, um geheime Bits zu erzeugen, wobei nur eine kleine Anzahl von zusätzlichen Gates dafür erforderlich sind, diese Erzeugung von geheimen Bits zu implementieren. Dies erlaubt es, einen Chip mit geringen zusätzlichen Kosten im Vergleich zur Verwendung von zusätzlichen geheimnistragenden Schaltungen zu versehen. Darüber hinaus ist es für einen Angreifer (Reverse Engineer) schwierig, die Geheimniserzeugung zu erkennen, da ein großer Teil der Schaltung, die das Geheimnis erzeugt, hauptsächlich für einen anderen Zweck (z.B. die eigentliche Funktion des Chips) verwendet wird.
  • Speziell werden gemäß verschiedenen Ausführungsformen Teile von existierenden Signalketten in Kombination mit Arbiterschaltungen eingesetzt um (ggf. zusätzliche) geheime Bits zu erzeugen. Dabei wird ein geheimes Bit dadurch erzeugt, dass die Länge von zwei Signalketten verglichen wird. Beispielsweise ist das resultierende Bit eine Null, wenn die erste Signalkette die längere ist und eine Eins, wenn die zweite Signalkette länger ist (jeweils im Sinne der Laufzeit). Diese Vorgehensweise eignet sich besonders für Chips (z.B. Sicherheitschips wie Dongle, Chipkarten, Hardware-Root-of-Trusts, Wearables ...), die gegen andere Angriffe (wie Laserangriffe etc.) geschützt werden sollen, da diese typischerweise einige Signalketten zur Laserdetektion, zum Schutz vor Angriffe über die Rückseite des Chips Rückseitenschutz oder Vorderseitenabschirmung aufweisen. Gemäß verschiedenen Ausführungsformen werden solche existierende Signalketten (oder auch dediziert für diesen Zweck hinzugefügte Signalketten) in einige kürzere zerlegt, ein Signalübergang an die Eingänge von zwei aus der Zerlegung resultierenden Signalketten angelegt, sodass er von den beiden Signalketten propagiert wird, detektiert, durch welche der beiden Signalketten er schnell propagiert wird und abhängig davon ein Bit ausgegeben. Da dieses Bit von verschiedenen Faktoren abhängt (insbesondere dem Schaltverhalten von Elementen der Kette), die schwierig mittels Reverse Engineering zu erkennen sind, kann dieses Bit als geheimes Bit angesehen werden.
  • 2 zeigt eine auf einem Chip vorhandene (existierende) Signalkette 200.
  • Die Signalkette wird aus durch Leitungen 202 verbundenen Schaltungselementen 201 gebildet. Die Schaltungselemente 201 sind Gatter inklusive Buffer, Inverter, Logik-Gatter (wie UND, ODER, NICHT etc.).
  • Es wird angenommen, dass das Signal die Signalkette von links nach rechts durchläuft.
  • Eine solche Signalkette 200, die ohnehin auf dem Chip vorgesehen ist (z.B. auch ohne Schutz vor Reverse Engineering, wie er gemäß verschiedenen Ausführungsformen bereitgestellt wird) wird wie oben erwähnt in mehrere Signalketten unterteilt. Die Signalkette kann jedoch auch hinzugefügt werden, d.h. sie muss keine ohnehin vorhandene Signalkette sein. Dies ist für die Signalkette 200 in 3 dargestellt.
  • 3 zeigt eine Biterzeugungsschaltung 300 basierend auf einer Unterteilung der Signalkette aus 2, sodass mehrere Signalketten 301, 302, 303 gebildet werden.
  • Dies geschieht, dadurch, dass (Eingangs-)Multiplexer 304, 305, 306 vorgesehen sind, wobei zu jeder Signalkette 301, 302, 303 ein jeweiliger Multiplexer 304, 305, 306 gehört, dessen Ausgang mit dem Eingang der jeweiligen Signalkette verbunden ist. Der erste Dateneingang jedes Multiplexers 305, 306 ist mit dem Ausgang der vorherigen Signalkette (entsprechend ihrer Anordnung in der ursprünglichen vollständigen Signalkette 200) verbunden, außer für den Multiplexer 304 der ersten Signalkette 301, bei dem der Dateneingang des Multiplexers den Eingang der vollständigen Signalkette 200 bildet (und entsprechend mit der Komponente verbunden ist, mit dem der Eingang der vollständigen Signalkette 200 gemäß Design zu verbinden ist).
  • Der zweite Dateneingang jedes Multiplexers 304, 305, 306 ist mit einer Triggerschaltung (d.h. Auslöseschaltung) 307 verbunden, die die Erzeugung eines geheimen Bits triggert.
  • Die Steuereingänge der Multiplexer 304, 305, 306 sind mit einer gemeinsamen Steuerleitung 308 verbunden. Je nach Pegel auf der Steuerleitung schalten die Multiplexer ihren ersten Dateneingang auf den Ausgang durch (was die normale Funktion der ursprünglichen (Gesamt-)Signalkette 200 liefert) oder schalten ihren zweiten Dateneingang auf den Ausgang durch (was die Erzeugung von geheimen Bits ermöglicht). Die Steuerleitung zeigt dazu einen Normalbetriebsmodus bzw. einen Biterzeugungsmodus an.
  • Es sollte beachtet werden, dass die Bildung einer (Gesamt-)Signalkette , wenn die Steuerleitung den Normalbetriebsmodus anzeigt, nur ein Beispiel ist, und auch komplexere Schaltungen durch Multiplexer entsprechend zerlegt werden können, sodass in einem Normalbetriebsmodus die durch die Zerlegung entstehenden Signalketten die ursprüngliche (komplexe) Schaltung bilden und im Biterzeugungsmodus Zustände am Ende der Signalketten (und damit z.B. Laufzeiten durch die Signalketten oder auch Spannungspegel) verglichen werden können.
  • In der Biterzeugungsschaltung 300 ist eine Arbiterschaltung 309 vorgesehen, die mit dem Ausgang der ersten Signalkette 301 und dem Ausgang der zweiten Signalkette 302 verbunden ist. Sie erzeugt ein geheimes Bit je nachdem, welche Signalkette 301, 302 eine Pegeländerung, die die Triggerschaltung 307 erzeugt, schneller propagiert. Die Arbiterschaltung 309 stört nicht den Betrieb der ursprünglichen (Gesamt-)Signalkette 200.
  • Gemäß verschiedenen Ausführungsformen werden die Signalketten 301, 302 so gewählt, dass der Unterschied der Laufzeiten durch die beiden Signalketten 301, 302 ausreichend groß und stabil sein muss, sodass die Arbiterschaltung 309 für alle (erwartbaren) Prozessschwankungen bei der Fertigung (d.h. alle Process-Corner) das gleiche geheime Bit ausgibt und beispielsweise mittels STA (Static Timing Analysis) oder anderen Methoden (z.B. Monte-Carlo) vorhergesagt werden kann.
  • Möglichkeiten zum Einstellen der Laufzeiten der Signalketten bzw. zum Erreichen von Laufzeitunterschieden zwischen zwei Signalketten sind:
    • • Verwenden einer unterschiedlichen Anzahl von identischen Zellen (Logikgattern) innerhalb der beiden Signalketten. Dies liefert stabile Laufzeitunterschiede.
    • • Verwendung unterschiedlicher Zelltypen, die unterschiedliche Übergangszeiten haben.
    • • Verwendung von Zellen (Logikgattern), die identisch aussehen, d.h. identisch aufgebaut sind, aber unterschiedliche elektronische Eigenschaften, z.B. Transistor-Schwellenspannungen, und somit zu unterschiedlichen Laufzeiten führen, haben.
    • • Verwendung von unterschiedlichen Pfadlängen von der Auslöseschaltung 307 zu den Multiplexern 304, 305, 306. Wenn die Leitungen von der Auslöseschaltung 307 zu den Multiplexern der beiden Signalketten lang und mehrfach gefaltet sind, ist es schwer, durch Reverse-Engineering Laufzeitunterschiede zu detektieren
    • • Verwendung von Signalketten, die Mäanderförmig über den Chip verlaufen (z.B. solche für den Rückseitenschutz und zur Abschirmung verwendete Signalketten), anstatt geradlinig verlaufender Signalketten. Laufzeitdifferenzen ergeben sich dann von selbst.
    • • Anpassung von Pfadkapazitäten der Signalketten.
  • Eine weitere Möglichkeit ist das Einfügen von Verzögerungspuffern, wie es in 4 dargestellt ist.
  • 4 zeigt eine Biterzeugungsschaltung 400 entsprechend der Biterzeugungsschaltung 300 aus 3, wobei Verzögerungspuffer 410 in die beiden Signalketten 401, 402, die mit der Arbiterschaltung 409 verbunden sind, eingefügt wurden.
  • In einem ersten Design-Schritt können die Verzögerungspuffer 410 so gewählt werden, dass die Laufzeiten durch die beiden Signalketten 401, 402 identisch sind und anschließend kann das geheime Bit durch kontrolliertes Verstimmen (Detuning) oder Austauschen von Zellen durch optisch ähnliche Zellen mit anderen Eigenschaften programmiert werden..
  • Es können auch Kombinationen der oben genannten Möglichkeiten zum Einstellen der Laufzeiten der Signalketten bzw. zum Erreichen von Laufzeitunterschieden zwischen zwei Signalketten eingesetzt werden.
  • Als Arbiterschaltung kann beispielsweise ein RS-Flip-Flop verwendet werden.
  • Zusammenfassend wird gemäß verschiedenen Ausführungsformen eine integrierte Schaltung bereitgestellt, wie sie in 5 dargestellt ist.
  • 5 zeigt eine integrierte Schaltung 500 gemäß einer Ausführungsform.
  • Die integrierte Schaltung 500 (z.B. ein Sicherheitschip) weist mindestens eine Biterzeugungsschaltung 501 auf.
  • Die Biterzeugungsschaltung 501 weist mehrere Signalketten 502 auf, wobei jede Signalkette einen Pfadeingang 503, einen Pfadausgang 504 sowie einen Eingangs-Multiplexer 505 aufweist, der einen ersten Dateneingang 506 und einen zweiten Dateneingang 507 und einen Ausgang 508 hat, der mit dem Pfadeingang 504 der Signalkette 502 verbunden ist.
  • Für jede Signalkette 502 ist der erste Dateneingang 506 des Eingangs-Multiplexers 505 mit einer anderen der Signalketten 502 verbunden und wobei für jede Signalkette 502 ist der Eingangs-Multiplexer derart eingerichtet, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang 506 mit dem Pfadeingang 503 der Signalkette 502 verbindet, z.B. sodass, wenn den Eingangs-Multiplexern 505 ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten 502 eine für den Normalbetrieb vorgegebene Schaltung bilden.
  • Der zweite Dateneingang 507 jedes Eingangs-Multiplexers 502 ist mit dem Ausgang einer Biterzeugungs-Auslöseschaltung 509 verbunden und für jede Signalkette 502 ist der Eingangs-Multiplexer 505 derart eingerichtet, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang 507 mit dem Pfadeingang 503 der Signalkette 502 verbindet.
  • Die Biterzeugungsschaltung 501 weist eine Arbiterschaltung 510 auf, die mit den Pfadausgängen 504 von mindestens zwei der Signalketten 502 verbunden ist und die eingerichtet ist, abhängig von den Zuständen der mindestens zwei Signalketten, mindestens ein vorbestimmtes geheimes Bit auszugeben.
  • Gemäß verschiedenen Ausführungsformen wird in anderen Worten in einer integrierten Schaltung eine Schaltung (die für den Normalbetrieb vorgesehen ist) mittels Multiplexern in mehrere Signalketten zerlegt, derart dass ein vorgegebenes Bit in einem Laufzeitunterschied zwischen mindestens zwei der Signalketten codiert (und somit versteckt) ist. Die Signalketten können dazu geeignet ausgestaltet (z.B. modifiziert werden). Die integrierte Schaltung funktioniert nur dann korrekt, wenn das geheime Bit korrekt erzeugt wird. Es können eine hohe Anzahl solcher geheimer Bits auf diese Weise in der integrierten Schaltung versteckt werden. So kann Reverse Engineering erschwert werden.
  • Gemäß einer weiteren Ausführungsform wird ein Verfahren bereitgestellt, wie es in 6 veranschaulicht ist.
  • 6 zeigt ein Ablaufdiagramm 600, das ein Verfahren Schützen einer integrierten Schaltung vor Reverse Engineering veranschaulicht.
  • In 601 wird eine Schaltung für den Normalbetrieb vorgegeben.
  • In 602 wird ein geheimes Bit vorgegeben.
  • In 603 werden mehrere Signalketten gebildet, wobei jede Signalkette einen Pfadeingang, einen Pfadausgang sowie einen Eingangs-Multiplexer aufweist, der einen ersten Dateneingang und einen zweiten Dateneingang und einen Ausgang hat, der mit dem Pfadeingang der Signalkette verbunden wird, wobei für jede Signalkette der erste Dateneingang des Eingangs-Multiplexers mit einer anderen der Signalketten verbunden wird und wobei für jede Signalkette der Eingangs-Multiplexer derart eingerichtet wird, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang mit dem Pfadeingang der Signalkette verbindet, sodass, wenn den Eingangs-Multiplexern ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten die vorgegebene Schaltung bilden und wobei der zweite Dateneingang jedes Eingangs-Multiplexers mit dem Ausgang einer Biterzeugungs-Auslöseschaltung verbunden wird und für jede Signalkette der Eingangs-Multiplexer derart eingerichtet wird, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang mit dem Pfadeingang der Signalkette verbindet.
  • Außerdem wird in 603 eine Arbiterschaltung gebildet, die mit den Pfadausgängen von mindestens zwei der Signalketten verbunden wird und die eingerichtet wird, abhängig von den Zuständen der mindestens zwei Signalketten ein Bit auszugeben.
  • Die mindestens zwei Signalketten werden derart gebildet, dass die Arbiterschaltung das vorgegebene geheime Bit ausgibt, wenn die Biterzeugungs-Auslöseschaltung das Auslösesignal an die mindestens zwei Signalketten ausgibt.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist eine integrierte Schaltung, wie mit Bezug auf 5 beschrieben.
  • Ausführungsbeispiel 2 ist eine integrierte Schaltung nach Ausführungsbeispiel 1, wobei jeder Signalkette der Folge von Signalketten außer der letzten Signalkette der Folge, beginnend mit der ersten Signalkette der Folge, eine jeweilige nachfolgende Signalkette zugeordnet ist, indem der Pfadausgang der Signalkette mit einem ersten Dateneingang des Eingangs-Multiplexers der nachfolgenden Signalkette verbunden ist, sodass, wenn den Eingangs-Multiplexern ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten eine Gesamt-Signalkette bilden.
  • Ausführungsbeispiel 3 ist eine integrierte Schaltung nach Ausführungsbeispiel 1 oder 2, wobei jede Signalkette eine Kette von mehreren hintereinander geschalteten Gattern aufweist.
  • Ausführungsbeispiel 4 ist eine integrierte Schaltung nach Ausführungsbeispiel 3, wobei zumindest ein Teil der Gatter Verzögerungszellen sind.
  • Ausführungsbeispiel 5 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 4, wobei die mindestens zwei Signalketten eine unterschiedliche Anzahl von Gattern aufweisen.
  • Ausführungsbeispiel 6 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 5, wobei eine der mindestens zwei Signalketten Gatter von einem anderen Typ als die andere oder die anderen der mindestens zwei Signalketten aufweist.
  • Ausführungsbeispiel 7 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 6, wobei eine der mindestens zwei Signalketten Gatter mit anderen Schwellenspannungen als die andere oder die anderen der mindestens zwei Signalketten aufweist.
  • Ausführungsbeispiel 8 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 7, wobei die Arbiterschaltung eingerichtet ist, abhängig davon, welche der mindestens zwei Signalketten ein von der Biterzeugungs-Auslöseschaltung ausgegebenes Auslösesignal schneller zu ihrem Pfadausgang propagiert, mindestens ein vorbestimmtes geheimes Bit auszugeben.
  • Ausführungsbeispiel 9 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 8, aufweisend eine Weiterverarbeitungsschaltung, die eingerichtet ist, abhängig von dem von der Arbiterschaltung mindestens einem ausgegebenen Bit eine Datenverarbeitung durchzuführen.
  • Ausführungsbeispiel 10 ist eine integrierte Schaltung nach Ausführungsbeispiel 9, wobei die Weiterverarbeitungsschaltung eingerichtet ist, die integrierte Schaltung in einen Fehlerzustand zu versetzen, wenn das von der Arbiterschaltung mindestens eine ausgegebene Bit von mindestens einem vorgegebenen Bit abweicht.
  • Ausführungsbeispiel 11 ist eine integrierte Schaltung nach Ausführungsbeispiel 9 oder 10, wobei die Weiterverarbeitungsschaltung eingerichtet ist, die Biterzeugungs-Auslöseschaltung zu steuern, das Auslösesignal auszugeben.
  • Ausführungsbeispiel 12 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 11, wobei die Längen der Verbindungsleitungen von dem Ausgang der Biterzeugungs-Auslöseschaltung zu den Eingangs-Multiplexern der mindestens zwei Signalketten unterschiedlich sind.
  • Ausführungsbeispiel 13 ist eine integrierte Schaltung nach einem der Ausführungsbeispiele 1 bis 12, wobei die Signalketten Teil eines Rückseitenschutzes, einer Laserdetektion oder einer Abschirmung sind.
  • Ausführungsbeispiel 14 ist ein Verfahren, wie mit Bezug auf 6 beschrieben.
  • Es sollte beachtet werden, dass Ausführungsbeispiele, die im Zusammenhang mit der integrierten Schaltung beschrieben sind, analog bei dem Verfahren eingesetzt werden können.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.
  • Bezugszeichenliste
  • 100
    Chipkarte
    101
    Träger
    102
    Chipkartenmodul
    103
    Speicher
    104
    Prozessor
    105
    Kryptoprozessor
    200
    Signalkette
    201
    Schaltungselemente
    202
    Leitungen
    300
    Biterzeugungsschaltung
    301-303
    Signalketten
    304-306
    Multiplexer
    307
    Auslöseschaltung
    308
    Steuerleitung
    309
    Arbiterschaltung
    400
    Biterzeugungsschaltung
    401, 402
    Signalketten
    410
    Verzögerungspuffer
    500
    Integrierte Schaltung
    501
    Biterzeugungsschaltung
    502
    Signalketten
    503
    Pfadeingänge
    504
    Pfadausgänge
    506, 507
    Multiplexer-Dateneingänge
    508
    Multiplexer-Ausgang
    509
    Biterzeugungs-Auslöseschaltung
    510
    Arbiterschaltung
    600
    Ablaufdiagramm
    601-603
    Ablaufschritte

Claims (20)

  1. Integrierte Schaltung, aufweisend: Mindestens eine Biterzeugungsschaltung, aufweisend: Mehrere Signalketten, wobei jede Signalkette einen Pfadeingang, einen Pfadausgang sowie einen Eingangs-Multiplexer aufweist, der einen ersten Dateneingang und einen zweiten Dateneingang und einen Ausgang hat, der mit dem Pfadeingang der Signalkette verbunden ist, wobei für jede Signalkette der erste Dateneingang des Eingangs-Multiplexers mit einer anderen der Signalketten verbunden ist und wobei für jede Signalkette der Eingangs-Multiplexer derart eingerichtet ist, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang mit dem Pfadeingang der Signalkette verbindet; wobei der zweite Dateneingang jedes Eingangs-Multiplexers mit dem Ausgang einer Biterzeugungs-Auslöseschaltung verbunden ist und für jede Signalkette der Eingangs-Multiplexer derart eingerichtet ist, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang mit dem Pfadeingang der Signalkette verbindet; und eine Arbiterschaltung, die mit den Pfadausgängen von mindestens zwei der Signalketten verbunden ist und die eingerichtet ist, abhängig von den Zuständen der mindestens zwei Signalketten mindestens ein vorbestimmtes geheimes Bit auszugeben.
  2. Integrierte Schaltung nach Anspruch 1, wobei jeder Signalkette der Folge von Signalketten außer der letzten Signalkette der Folge, beginnend mit der ersten Signalkette der Folge, eine jeweilige nachfolgende Signalkette zugeordnet ist, indem der Pfadausgang der Signalkette mit einem ersten Dateneingang des Eingangs-Multiplexers der nachfolgenden Signalkette verbunden ist, sodass, wenn den Eingangs-Multiplexern ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten eine Gesamt-Signalkette bilden.
  3. Integrierte Schaltung nach Anspruch 1 oder 2, wobei jede Signalkette eine Kette von mehreren hintereinander geschalteten Gattern aufweist.
  4. Integrierte Schaltung nach Anspruch 3, wobei zumindest ein Teil der Gatter Verzögerungszellen sind.
  5. Integrierte Schaltung nach einem der Ansprüche 1 bis 4, wobei die mindestens zwei Signalketten eine unterschiedliche Anzahl von Gattern aufweisen.
  6. Integrierte Schaltung nach einem der Ansprüche 1 bis 5, wobei eine der mindestens zwei Signalketten Gatter von einem anderen Typ als die andere oder die anderen der mindestens zwei Signalketten aufweist.
  7. Integrierte Schaltung nach einem der Ansprüche 1 bis 6, wobei eine der mindestens zwei Signalketten Gatter mit anderen Schwellenspannungen als die andere oder die anderen der mindestens zwei Signalketten aufweist.
  8. Integrierte Schaltung nach einem der Ansprüche 1 bis 7, wobei die Arbiterschaltung eingerichtet ist, abhängig davon, welche der mindestens zwei Signalketten ein von der Biterzeugungs-Auslöseschaltung ausgegebenes Auslösesignal schneller zu ihrem Pfadausgang propagiert, mindestens ein vorbestimmtes geheimes Bit auszugeben.
  9. Integrierte Schaltung nach einem der Ansprüche 1 bis 8, aufweisend eine Weiterverarbeitungsschaltung, die eingerichtet ist, abhängig von dem von der Arbiterschaltung mindestens einem ausgegebenen Bit eine Datenverarbeitung durchzuführen.
  10. Integrierte Schaltung nach Anspruch 9, wobei die Weiterverarbeitungsschaltung eingerichtet ist, die integrierte Schaltung in einen Fehlerzustand zu versetzen, wenn das von der Arbiterschaltung mindestens eine ausgegebene Bit von mindestens einem vorgegebenen Bit abweicht.
  11. Integrierte Schaltung nach Anspruch 9 oder 10, wobei die Weiterverarbeitungsschaltung eingerichtet ist, die Biterzeugungs-Auslöseschaltung zu steuern, das Auslösesignal auszugeben.
  12. Integrierte Schaltung nach einem der Ansprüche 1 bis 11, wobei die Längen der Verbindungsleitungen von dem Ausgang der Biterzeugungs-Auslöseschaltung zu den Eingangs-Multiplexern der mindestens zwei Signalketten unterschiedlich sind.
  13. Integrierte Schaltung nach einem der Ansprüche 1 bis 12, wobei die Signalketten Teil eines Rückseitenschutzes, einer Laserdetektion oder einer Abschirmung sind.
  14. Verfahren zum Schützen einer integrierten Schaltung vor Reverse Engineering, aufweisend: Vorgeben einer Schaltung für den Normalbetrieb; Vorgeben eines geheimen Bits; Bilden mehrerer Signalketten, wobei jede Signalkette einen Pfadeingang, einen Pfadausgang sowie einen Eingangs-Multiplexer aufweist, der einen ersten Dateneingang und einen zweiten Dateneingang und einen Ausgang hat, der mit dem Pfadeingang der Signalkette verbunden wird, wobei für jede Signalkette der erste Dateneingang des Eingangs-Multiplexers mit einer anderen der Signalketten verbunden wird und wobei für jede Signalkette der Eingangs-Multiplexer derart eingerichtet wird, dass er, wenn ihm ein Steuersignal zugeführt wird, das einen Normalbetriebsmodus anzeigt, den ersten Dateneingang mit dem Pfadeingang der Signalkette verbindet, sodass, wenn den Eingangs-Multiplexern ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten die vorgegebene Schaltung bilden; wobei der zweite Dateneingang jedes Eingangs-Multiplexers mit dem Ausgang einer Biterzeugungs-Auslöseschaltung verbunden wird und für jede Signalkette der Eingangs-Multiplexer derart eingerichtet wird, dass, wenn ihm ein Steuersignal zugeführt wird, das einen Geheimniserzeugungsmodus anzeigt, den zweiten Dateneingang mit dem Pfadeingang der Signalkette verbindet; und Bilden einer Arbiterschaltung, die mit den Pfadausgängen von mindestens zwei der Signalketten verbunden wird und die eingerichtet wird, abhängig von den Zuständen der mindestens zwei Signalketten ein Bit auszugeben, wobei die mindestens zwei Signalketten derart bilden werden, dass die Arbiterschaltung das vorgegebene geheime Bit ausgibt, wenn die Biterzeugungs-Auslöseschaltung das Auslösesignal an die mindestens zwei Signalketten ausgibt.
  15. Verfahren nach Anspruch 14, wobei jeder Signalkette der Folge von Signalketten außer der letzten Signalkette der Folge, beginnend mit der ersten Signalkette der Folge, eine jeweilige nachfolgende Signalkette zugeordnet wird, indem der Pfadausgang der Signalkette mit einem ersten Dateneingang des Eingangs-Multiplexers der nachfolgenden Signalkette verbunden wird, sodass, wenn den Eingangs-Multiplexern ein Steuersignal zugeführt wird, das den Normalbetriebsmodus anzeigt, die Signalketten eine Gesamt-Signalkette bilden.
  16. Verfahren nach Anspruch 14 oder 15, wobei jede Signalkette derart gebildet wird, dass sie eine Kette von mehreren hintereinander geschalteten Gattern aufweist.
  17. Verfahren nach Anspruch 16, wobei zumindest ein Teil der Gatter Verzögerungszellen sind.
  18. Verfahren nach einem der Ansprüche 14 bis 17, wobei die Signalketten derart gebildet werden, dass die mindestens zwei Signalketten eine unterschiedliche Anzahl von Gattern aufweisen.
  19. Verfahren nach einem der Ansprüche 14 bis 18, wobei die Signalketten derart gebildet werden, dass eine der mindestens zwei Signalketten Gatter von einem anderen Typ als die andere oder die anderen der mindestens zwei Signalketten aufweist.
  20. Verfahren nach einem der Ansprüche 14 bis 19, wobei die Signalketten derart gebildet werden, dass eine der mindestens zwei Signalketten Gatter mit anderen Schwellenspannungen als die andere oder die anderen der mindestens zwei Signalketten aufweist.
DE102021129408.8A 2021-11-11 2021-11-11 Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering Pending DE102021129408A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102021129408.8A DE102021129408A1 (de) 2021-11-11 2021-11-11 Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering
US17/983,839 US20230153472A1 (en) 2021-11-11 2022-11-09 Integrated Circuit and Method for Protecting an Integrated Circuit Against Reverse Engineering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021129408.8A DE102021129408A1 (de) 2021-11-11 2021-11-11 Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering

Publications (1)

Publication Number Publication Date
DE102021129408A1 true DE102021129408A1 (de) 2023-05-11

Family

ID=86053064

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129408.8A Pending DE102021129408A1 (de) 2021-11-11 2021-11-11 Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering

Country Status (2)

Country Link
US (1) US20230153472A1 (de)
DE (1) DE102021129408A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110239002A1 (en) 2010-03-25 2011-09-29 Empire Technology Development Llc Differential uncloneable variability-based cryptography
DE102018128561A1 (de) 2017-11-20 2019-05-23 Analog Devices, Inc. Effiziente verzögerungsbasierte puf-implementierung unter verwendung einer optimalen wettlaufstrategie
DE102019112583A1 (de) 2019-05-14 2020-11-19 Infineon Technologies Ag Integrierte elektronische schaltung
US20210243041A1 (en) 2020-01-31 2021-08-05 Nxp B.V. System and method for performing netlist obfuscation for a semiconductor device
DE102020106346A1 (de) 2020-03-09 2021-09-09 Infineon Technologies Ag Integrierter schaltkreis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110239002A1 (en) 2010-03-25 2011-09-29 Empire Technology Development Llc Differential uncloneable variability-based cryptography
DE102018128561A1 (de) 2017-11-20 2019-05-23 Analog Devices, Inc. Effiziente verzögerungsbasierte puf-implementierung unter verwendung einer optimalen wettlaufstrategie
DE102019112583A1 (de) 2019-05-14 2020-11-19 Infineon Technologies Ag Integrierte elektronische schaltung
US20210243041A1 (en) 2020-01-31 2021-08-05 Nxp B.V. System and method for performing netlist obfuscation for a semiconductor device
DE102020106346A1 (de) 2020-03-09 2021-09-09 Infineon Technologies Ag Integrierter schaltkreis

Also Published As

Publication number Publication date
US20230153472A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
DE3048365C2 (de)
DE60103397T2 (de) Gesicherter eeprom-speicher mit fehlerkorrekturschaltung
DE102015106508B4 (de) Halbleiterchip
DE102005058238B4 (de) Detektorschaltung zur Erfassung einer externen Manipulation einer elektrischen Schaltung sowie Verfahren zum Betreiben einer Schaltungsanordnung, bei dem externe Manipulation erfasst werden
DE102006034271B4 (de) Spannungsstörimpulsdetektionsschaltung, zugehörige integrierte Schaltung und Steuerverfahren
DE102020106346A1 (de) Integrierter schaltkreis
DE102009025412B4 (de) Integrierte Schaltung und Verfahren zum Schützen eines Schaltungsteils einer integrierten Schaltung, der geschützt werden soll und Computerprogrammprodukt zur Ausführung des Verfahrens
DE102017102037A1 (de) Physisch unklonbare funktionsschaltung
EP1177628B1 (de) Schaltungsanordnung zur erzeugung von strompulsen im versorgungsstrom integrierter schaltungen
DE3930932A1 (de) Ausgangsrueckkopplungssteuerschaltung fuer integrierte schaltung
DE102016113128B4 (de) Verfahren zur Herstellung einer digitalen Schaltung und digitale Schaltung
DE10223176B3 (de) Integrierte Schaltung mit sicherheitskritischen Schaltungskomponenten
DE102016118534A1 (de) Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals
DE102019112583A1 (de) Integrierte elektronische schaltung
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
DE112019000488T5 (de) Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs
DE102006035610B4 (de) Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
DE102021129408A1 (de) Integrierte schaltung und verfahren zum schützen einer integrierten schaltung vor reverse engineering
DE10227618B4 (de) Logikschaltung
DE102018217016A1 (de) Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System
EP1665624A1 (de) Schaltungsanordnung und verfahren zur verarbeitung eines dual-rail-signals
WO2001013330A1 (de) Integrierter schaltkreis und schaltungsanordnung zur stromversorgung eines integrierten schaltkreises
DE10164419A1 (de) Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen
DE102016121449B4 (de) Halbleiterchip mit Logikzellen und einer Füllzellen-Prüfkette
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür

Legal Events

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