-
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