-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich allgemein auf die Sicherheit integrierter Schaltungen und insbesondere auf Verfahren und Systeme zum Schutz einer integrierten Schaltung gegen Sicherheitsangriffe.
-
HINTERGRUND DER ERFINDUNG
-
Integrierte Schaltungen (ICs) werden manchmal von Hackern angegriffen, um vertrauliche Informationen (z. B. Sicherheitsschlüssel) zu erlangen.
-
In „How a voltage glitch attack could cripple your SoC or MCU“, INVIA Application Note - rev 1.0 - 30. Juni 2020, erklärt der Autor, dass Voltage Glitching eine einfache und billige Möglichkeit für Hacker und Kriminelle ist, Fehler in jedes zugängliche Gerät einzuschleusen, und schlägt einen mehrschichtigen Sicherheitsschutz vor, der eine Kombination aus schneller, zuverlässiger Erkennung transienter Spannungsereignisse in der Stromversorgung des Zielgeräts und redundanter Hard- und Software umfasst, um sicherzustellen, dass das System gegen Angriffe resistent ist, und beschreibt dann die Besonderheiten eines geistigen Eigentums zum Schutz vor Voltage Glitching.
-
Die
US-Patentanmeldung 2021/0148957 offenbart eine Schaltung zur Erkennung von spannungsbasierten Angriffen auf eine integrierte Schaltung bei Vorhandensein von Taktjitter, wobei sich ausbreitende Signale eine Gesamtverzögerung aufweisen können, die auf eine aus einem spannungsbasierten Angriff resultierende Verzögerungskomponente und eine aus einer Taktschwankung resultierende Verzögerungscharakteristik zurückzuführen ist. Eine Schaltung zur Erkennung von Spannungsschwankungen umfasst erste und zweite spannungsabhängige Schaltungen und eine Spannungsanalyseschaltung. Die spannungsabhängigen Schaltungen erzeugen erste und zweite Signale, die einen Spannungspegel in Abhängigkeit von einem Taktsignal anzeigen und auf unterschiedlichen ersten und zweiten Spannungsempfindlichkeiten basieren. Die Spannungsanalyseschaltung erzeugt auf der Grundlage des ersten und zweiten Signals ein Spannungswarnsignal. Ein kombiniertes Signal neutralisiert die Verzögerungscharakteristik in den ersten und zweiten Signalen, aber die Verzögerungskomponente aufgrund der Spannungsvariation kann zumindest teilweise beibehalten werden. Somit kann ein spannungsbasierter Angriff bei Taktschwankungen durch die Verwendung von zwei spannungsabhängigen Schaltungen erkannt werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
-
Eine hierin beschriebene Ausführungsform der vorliegenden Erfindung stellt eine integrierte Schaltung (IC) mit einer Funktionsschaltung und einer Angriffsschutzschaltung (APC) bereit. Die funktionale Schaltung dient dazu, eine Versorgungsspannung von einem Stromversorgungseingang zu erhalten. Die APC ist mit dem Stromversorgungseingang gekoppelt und umfasst eine Front-End-Schaltung und eine Mittelwertbildungsschaltung. Die Front-End-Schaltung vergleicht die Versorgungsspannung mit einer Vielzahl von Spannungsschwellenwerten und gibt eine entsprechende Vielzahl von Anzeigen aus, die angeben, ob die Versorgungsspannung die entsprechenden Spannungsschwellenwerte verletzt. Die Mittelwertbildungsschaltung schätzt für eine ausgewählte Teilmenge der Anzeigen die jeweiligen Arbeitszyklen, bei denen die Anzeigen in der Teilmenge die jeweiligen Spannungsschwellenwerte überschreiten. Die APC löst als Reaktion auf die Anzeigen und die Arbeitszyklen ein oder mehrere Angriffserkennungsereignisse aus.
-
In einigen Ausführungsformen ist die Front-End-Schaltung eine analoge Schaltung und die Mittelwertbildungsschaltung eine digitale Schaltung. In einigen Ausführungsformen dient die APC dazu, die ein oder mehreren Angriffserkennungsereignisse zu speichern. In einer Ausführungsform umfassen die Spannungsschwellenwerte mindestens zwei verschiedene Überspannungsschwellenwerte. Zusätzlich oder alternativ dazu umfassen die Spannungsschwellenwerte mindestens zwei verschiedene Unterspannungsschwellenwerte.
-
In einer offenbarten Ausführungsform vergleicht die APC mindestens einen der Arbeitszyklen mit einem Arbeitszyklus-Schwellenwert und löst als Reaktion auf die Feststellung, dass der Arbeitszyklus-Schwellenwert überschritten wurde, ein Angriffserkennungsereignis aus. In einem Ausführungsbeispiel soll die APC mindestens eines der Angriffserkennungsereignisse unabhängig davon auslösen, ob ein Taktsignal der IC wirksam ist. In einer Ausführungsform enthält die Front-End-Schaltung ein Widerstandsnetzwerk zur Erzeugung der mehreren Spannungsschwellenwerte.
-
Zusätzlich wird gemäß einer Ausführungsform der vorliegenden Erfindung ein Verfahren zum Schutz einer integrierten Schaltung (IC) bereitgestellt. Das Verfahren umfasst unter Verwendung einer Front-End-Schaltung den Vergleich einer Versorgungsspannung, die der Funktionsschaltung der IC zugeführt wird, mit einer Vielzahl von Spannungsschwellenwerten und die Ausgabe einer entsprechenden Vielzahl von Anzeigen, die angeben, ob die Versorgungsspannung die entsprechenden Spannungsschwellenwerte verletzt. Unter Verwendung einer Mittelwertbildungsschaltung werden für eine ausgewählte Teilmenge der Anzeigen die Arbeitszyklen geschätzt, bei denen die Anzeigen in der Teilmenge die jeweiligen Spannungsschwellenwerte überschreiten. Ein oder mehrere Angriffserkennungsereignisse werden als Reaktion auf die Anzeigen und die Einschaltzyklen ausgelöst.
-
In einigen Ausführungsformen ist die Front-End-Schaltung eine analoge Schaltung und die Mittelwertbildungsschaltung eine digitale Schaltung. In einigen Ausführungsformen umfasst die Auslösung der Angriffserkennungsereignisse das Zwischenspeichern des einen oder der mehreren Angriffserkennungsereignisse. In einer Ausführungsform umfassen die Spannungsschwellenwerte mindestens zwei verschiedene Überspannungsschwellenwerte. Zusätzlich oder alternativ umfassen die Spannungsschwellenwerte mindestens zwei verschiedene Unterspannungsschwellenwerte.
-
In einer offenbarten Ausführungsform umfasst das Auslösen der Angriffserkennungsereignisse den Vergleich mindestens eines der Arbeitszyklen mit einem Arbeitszyklus-Schwellenwert und das Auslösen eines Angriffserkennungsereignisses als Reaktion auf die Feststellung, dass der Arbeitszyklus-Schwellenwert überschritten wurde. In einem Ausführungsbeispiel umfasst das Auslösen der Angriffserkennungsereignisse das Auslösen von mindestens einem der Angriffserkennungsereignisse unabhängig davon, ob ein Taktsignal der IC wirksam ist. In einer Ausführungsform umfasst das Verfahren ferner die Erzeugung der mehreren Spannungsschwellenwerte in der Front-End-Schaltung unter Verwendung eines Widerstandsnetzwerks.
-
In Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird auch ein Verfahren zum Schutz einer integrierten Schaltung (IC) bereitgestellt. Das Verfahren umfasst den Vergleich einer Versorgungsspannung, die an funktionale Schaltungen der IC geliefert wird, mit einer Vielzahl von Spannungsschwellenwerten. Es wird jeweils eine Vielzahl von Anzeigen ausgegeben, die angeben, ob die Versorgungsspannung die jeweiligen Spannungsschwellenwerte verletzt. Für eine ausgewählte Teilmenge der Anzeigen werden die jeweiligen Arbeitszyklen geschätzt, bei denen die Anzeigen in der Teilmenge die jeweiligen Spannungsschwellenwerte überschreiten. In Abhängigkeit von den Anzeigen und den Arbeitszyklen werden ein oder mehrere Angriffserkennungsereignisse ausgelöst.
-
Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen angewandt werden, und zwar in jeder geeigneten Kombination. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer Ausführungsform auf einen Geräteaspekt oder eine Ausführungsform angewandt werden und umgekehrt.
-
Die vorliegende Erfindung wird aus der folgenden detaillierten Beschreibung der Ausführungsformen in Verbindung mit den Figuren, in denen sie dargestellt ist, besser verständlich:
-
Figurenliste
-
- 1 ist ein Blockdiagramm, das schematisch ein Spannungs-/Frequenz-Angriffsszenario auf eine integrierte Schaltung (IC) mit einer Angriffsschutzschaltung (APC) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 2A und 2B sind Zustandsübergangsdiagramme, die schematisch die Zustände einer IC bei Anwendung eines Sicherheitsangriffs ohne bzw. mit Angriffsverhinderung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulichen;
- 3 ist ein Zeitdiagramm, das schematisch vier Arten von Spannungsangriffen auf die IC veranschaulicht, die von einer Angriffsschutzschaltung (APC) gemäß einer Ausführungsform der vorliegenden Erfindung erkannt werden;
- 4 ist ein Blockdiagramm, das schematisch den Aufbau einer Angriffsschutzschaltung (APC) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt; und
- 5 ist ein Flussdiagramm, das schematisch ein Verfahren zum Schutz einer IC gegen Spannung und gegen kombinierte Spannungs-Frequenz-Angriffe, die auf einen Vdd-Versorgungseingang und einen Takteingang der IC angewendet werden, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zeigt.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
ÜBERSICHT
-
Einer der häufigsten Sicherheitsangriffe auf integrierte Schaltungen (IC) ist die Anwendung von Störimpulsen auf die Stromversorgungseingänge und/oder die Takteingänge der IC, in der Hoffnung, dass ein metastabiler Zustand eintritt, der die eingebauten Sicherheitsfunktionen der IC beeinträchtigt.
-
Wir bezeichnen Personen, die eine IC angreifen, um böswillig auf nicht autorisierte Daten zuzugreifen, als Hacker. Vier Arten von Spannungsangriffen werden typischerweise von Hackern durchgeführt:
- 1. Ein Hochspannungsspitzen-Angriff, bei dem der Hacker eine einzelne Hochspannungsspitze auf einen Stromversorgungseingang der IC anwendet, wobei die Spannungsspitze wesentlich höher ist als die maximalen Spezifikationen der IC.
- 2. Ein Angriff mit Niederspannungsspitzen, bei dem der Hacker eine einzelne Niederspannungsspitze auf einen Stromversorgungseingang der IC anwendet, wobei die Spannungsspitze wesentlich unter den Mindestspezifikationen der ICr liegt.
- 3. Ein Angriff mit hoher Durchschnittsspannung, bei dem eine Folge von Impulsen mit hoher Einschaltdauer an den Versorgungseingang angelegt wird, wobei die Spannung in jedem Impuls über der maximalen Versorgungsspannungsspezifikation liegt.
- 4. Ein Angriff mit niedriger Durchschnittsspannung, bei dem eine Folge von Impulsen mit hoher Einschaltdauer an den Versorgungseingang angelegt wird, wobei die Spannung bei jedem Impuls unter der minimalen Versorgungsspannungsspezifikation liegt.
-
Die vier oben beschriebenen Arten von Spannungsangriffen können mit Frequenzangriffen kombiniert werden, die ein erhebliches Rauschen auf den Takteingang der IC ausüben.
-
Ausführungsformen der vorliegenden Erfindung, die hier offenbart werden, bieten IC, die zumindest gegen die vier Arten von Spannungsangriffen in Kombination mit Frequenzangriffen geschützt sind. In bestimmten Ausführungsformen umfasst die IC funktionale Schaltungen und Angriffsschutzschaltungen (APC). In einer Ausführungsform umfasst die APC eine analoge Domänenschaltung, die als analoge Front-End-Schaltung bezeichnet wird, und eine digitale Domänenschaltung, die als digitale Mittelwertbildungsschaltung bezeichnet wird. Die analoge Domänenschaltung umfasst eine Reihe von Referenzspannungen (Schwellenspannungen) und Analogkomparatoren, die die Versorgungsspannung mit der Reihe von Schwellenspannungen vergleichen und für jede der Schwellenspannungen anzeigen, ob der Versorgungseingangsspannungspegel größer oder kleiner als die Schwellenspannung ist.
-
In einigen Ausführungsformen umfassen die Schwellenspannungen einen Max-Hochspannungsspitzen-Schwellenwert, einen oberen Mittelschwellenwert, einen unteren Mittelschwellenwert und einen Min-Niederspannungsspitzen-Schwellenwert, die jeweils mit einem Max-Spitzen-Komparator, einem oberen-Mittel -Komparator, einem unteren-Mittel -Komparator und einem Min-Spitzen-Komparator verbunden sind. Die Komparatoren vergleichen die Versorgungsspannung mit den Schwellenwerten (in einigen Ausführungsformen können die Komparatoren eine Multiplikation der Versorgungsspannung mit einem voreingestellten Faktor (z. B. 0,5) mit entsprechend angepassten Schwellenwerten vergleichen).
-
Im vorliegenden Zusammenhang wird die Versorgungsspannung als „Verletzung“ eines Schwellenwerts bezeichnet, wenn die Versorgungsspannung über einem Überspannungsschwellenwert liegt (z. B. dem Max-Hochspannungsspitzen-Schwellenwert oder dem oberen Mittelschwellenwert) oder wenn die Versorgungsspannung unter einem Unterspannungsschwellenwert liegt (z. B. dem unteren Mittelschwellenwert oder dem Min-Niederspannungsspitzen-Schwellenwert) .
-
In einigen Ausführungsformen umfasst die analoge Schaltung des APC außerdem Zwischenspeicher, die in der Lage sind, erkannte Angriffe zwischenzuspeichern. Die Zwischenspeicher sind nicht getaktet und daher gegen kombinierte Spannungsspitzen-Frequenz-Angriffe geschützt.
-
In einer Ausführungsform umfasst die digitale Schaltung der APC Mittelwertbildungsschaltungen, die von entsprechenden Komparatoren der analogen Schaltung Hinweise darauf erhalten, dass ein Angriff mit hohem oder niedrigem Mittelwert im Gange ist, die Ausgabe der Komparatoren über die Zeit mitteln und anzeigen, ob der Durchschnitt über einem voreingestellten (digitalen) Schwellenwert liegt.
-
In einigen Ausführungsformen zwingt die APC, wenn sie einen Angriff feststellt, die funktionalen Schaltungen in einen sicheren Zustand; in einer Ausführungsform kann die APC zum Beispiel einige oder alle Flops der funktionalen Schaltungen zurücksetzen.
-
BESCHREIBUNG DES SYSTEMS
-
Die hier offenbarten Ausführungsformen beziehen sich auf den Schutz einer integrierten Schaltung (IC) vor Spannungs- und/oder Frequenzangriffen. Die vorgestellten Techniken können jedoch auch für den Schutz von Systemen (z. B. Multi-Chip-Module oder MCM) verwendet werden.
-
1 ist ein Blockdiagramm 100, das schematisch ein Spannungs-/Frequenz-Angriffsszenario auf eine integrierte Schaltung (IC) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Eine IC 102 umfasst funktionale Schaltungen 104, die einen Prozessor 106 und einen Speicher 108 enthalten. Bei dem Prozessor 106 kann es sich um eine Central-Processing-Unit (GPU), eine Grafikprozessoreinheit (GPU), einen Kommunikationsprozessor oder andere Arten von Prozessoren handeln (in einer Ausführungsform kann der Prozessor 106 eine Vielzahl von Prozessoren desselben oder verschiedener Typen umfassen). Die funktionale Schaltung kann vertrauliche Informationen enthalten, die beispielsweise im Speicher 108 gespeichert sind. Schutzsoftware und/oder -hardware innerhalb der funktionalen Schaltung erlauben den Zugriff auf die vertraulichen Informationen nur, wenn ein vordefinierter Schlüssel bereitgestellt wird (z. B. durch einen autorisierten Benutzer).
-
Ein Hacker 112, der über ein Terminal 114 mit der IC kommuniziert, kennt den vordefinierten Schlüssel nicht und versucht, durch Anwendung verschiedener Angriffstechniken an die vertraulichen Informationen zu gelangen. Gemäß dem in 1 dargestellten Ausführungsbeispiel schließt der Hacker 112 einen Spannungsspitzengenerator 116 an die VDD-Versorgungsspannung der IC 102 und eine Frequenzquelle mit programmierbarem Rauschen an den Takteingang der IC an. Durch Anlegen von Spannungsspitzen an die Versorgungsspannung und/oder Rauschen am Takteingang versucht der Hacker, die IC 100 in einen metastabilen Zustand zu versetzen, was dazu führen kann, dass die vertraulichen Daten dem Hacker offenbart werden.
-
Um solche Angriffe abzuschwächen, umfasst IC 102 außerdem eine Angriffsschutzschaltung (APC) 120, die mit dem Versorgungseingang und dem Takteingang der IC verbunden ist. Die APC ist so konfiguriert, dass sie Spannungsangriffe und kombinierte Spannungs-/Frequenzangriffe erkennt und einen sicheren Modus der Funktionsschaltung erzwingt, wenn ein Angriff erkannt wird (ein sicherer Modus kann z. B. ein Modus sein, in dem der Speicherzugriff eingeschränkt ist, oder ein Modus, in dem der Prozessor 106 zurückgesetzt wird).
-
Auf diese Weise kann die APC alle Spannungs- und Spannungs-/Frequenz-Angriffe erkennen und die vertraulichen Informationen schützen.
-
Das Spannungs-Frequenz-Angriffsszenario 100 und die Struktur von IC 102 sind Beispiele, die der Übersichtlichkeit halber dargestellt sind. In alternativen Ausführungsformen können auch andere geeignete Angriffsszenarien und IC-Strukturen verwendet werden. So kann IC 102 beispielsweise eine Vielzahl von Versorgungsspannungen sowie eine Vielzahl von Taktquellen umfassen (in diesem Fall kann der Hacker versuchen, einige oder alle Spannungsversorgungen anzugreifen, und APC 120 kann so konfiguriert sein, dass es gegen Angriffe auf alle oder einen Teil der Versorgungs- und Takteingänge schützt). In einer Ausführungsform umfasst IC 102 weitere Untereinheiten, z. B. eine Vielzahl von Prozessoren, eine Vielzahl von Speichern (desselben oder unterschiedlicher Typen), Kommunikationscontroller, Sicherheitsmodule, Grafikprozessoreinheiten und andere. In einigen Ausführungsformen ist die IC 102 nicht mit einem Endgerät verbunden, und der Hacker kann die Kommunikation zwischen der IC und externen Einheiten (z. B. einem Netz) überwachen.
-
BEISPIEL FÜR EINE SICHERHEITSVERLETZUNG
-
Wenn keine Sicherheitsangriffe versucht werden, ist die IC 102 so konfiguriert, dass sie den Zugriff auf alle gespeicherten vertraulichen Daten beschränkt. Beispielsweise kann IC 102 ein Computerprogramm ausführen, bei dem der Zugriff auf die vertraulichen Informationen erst nach Ausführung eines Authentifizierungsprogramms möglich ist (z. B. ein Programm, das den Benutzer nach einem Kennwort fragt und dann das Kennwort überprüft) . In einer allgemeineren Betrachtung kann IC 102 als Finite-State-Machine (FSM) betrachtet werden, bei der der Zustand, in dem auf geschützte Daten zugegriffen wird, nur dann erreicht werden kann, wenn ihm erfolgreiche Authentifizierungszustände vorausgegangen sind.
-
2A ist ein Zustandsübergangsdiagramm 200, das schematisch die Zustände von IC 102 veranschaulicht, während APC 120 inaktiv ist, wenn ein Sicherheitsangriff angewandt wird, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das Zustandsübergangsdiagramm umfasst eine normale Programmablaufmenge von Zuständen 202, die die vorgesehenen Zustände und die Übergänge zwischen den Zuständen enthält. Gemäß dem in 2A dargestellten Zustandsübergangsdiagramm kann ein Benutzer den Zugriff auf geschützte Daten anfordern, wenn sich die FSM in einem Zustand 204 befindet; daraufhin geht die FSM in einen Authentifizierungszustand 206 über (der Authentifizierungszustand 206 umfasst typischerweise eine Vielzahl von Zuständen, die aus Gründen der Übersichtlichkeit nicht dargestellt sind). Schlägt die Authentifizierung im Zustand 206 fehl, kehrt die FSM in den Zustand 204 zurück; ist die Authentifizierung jedoch erfolgreich, geht die FSM in den Zustand 208 „Zugriff auf geschützte Daten“ über, gibt die geschützten Daten für den Benutzer frei und kehrt dann in den Zustand 204 zurück (und vom Zustand 204 in andere Zustände des normalen Programmablaufs 202).
-
Gemäß dem in 2A dargestellten Zustandsübergangsdiagramm können illegale Zustände auftreten, wenn am Eingang der Funktionsschaltung 104 eine Spannungsspitze angelegt wird. Während die FSM normalerweise vom Zustand 210 in einen Zustand 214 übergeht, kann die FSM beispielsweise in einen metastabilen Zustand 212 übergehen, wenn eine Spannungsspitze angelegt wird, während sich die FSM im Zustand 210 befindet. (Eine Anleitung zur Metastabilität in elektronischen Systemen findet sich z.B. in „Metastable Behavior in Digital Systems“, L. Kleeman et. al., IEEE Design & Test of Computers (Volume: 4, Issue: 6, Dec. 1987), Seiten 4 - 16). Das Verhalten der FSM nach einem metastabilen Zustand kann unvorhersehbar sein, und in einigen Fällen kann die FSM in den Zustand 208 „Zugriff auf geschützte Daten“ übergehen und die geschützten Daten lesen.
-
Das in 2A dargestellte und hier beschriebene Zustandsübergangsdiagramm 200 ist ein Beispiel, das zur Verdeutlichung des Konzepts angeführt wird. Es können auch andere Zustandsübergangsdiagramme verwendet werden. Beispielsweise kann eine Vielzahl von metastabilen Zuständen eintreten, wenn eine Spannungsstörung auftritt, während sich die FSM in den verschiedenen normalen Programmablaufzuständen befindet, und der nächste Zustand nach den metastabilen Zuständen kann ein Unterzustand des Zustands 208 sein, der nach der Authentifizierung eintritt (und nicht dargestellt ist).
-
2B ist ein Zustandsübergangsdiagramm 250, das schematisch die Zustände von IC 102 mit aktiver APC 120 gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die Zustände des Zustandsübergangsdiagramms 250 sind identisch mit den Zuständen des Zustandsübergangsdiagramms 200, und beide FSMs umfassen einen metastabilen Zustand 212, von dem aus ein unsicherer Übergang in den Zustand 208 erfolgen kann; gemäß dem in 2B dargestellten Ausführungsbeispiel wird jedoch jeder Spannungsangriff von der APC erkannt, und infolgedessen geht die FSM in einen Zustand 214 über (z. B. einen Reset-Zustand). Somit kann der metastabile Zustand 212 nicht erreicht werden, und die Sicherheit der geschützten Daten wird nicht verletzt.
-
Das in 2B dargestellte und hier beschriebene Zustandsübergangsdiagramm 250 ist ein Beispiel, das aus Gründen der Klarheit des Konzepts angeführt wird. In alternativen Ausführungsformen kann ein anderes Zustandsübergangsdiagramm verwendet werden. In einigen Ausführungsformen gehen beispielsweise nach einer von der APC erzeugten Angriffsanzeige alle Zustände bedingungslos in einen Reset-Zustand über.
-
ARTEN VON SPANNUNGSANGRIFFEN
-
Ein Hacker kann einen Spannungsangriff gleichzeitig mit einem Frequenzangriff durchführen. Da jedoch bei den meisten integrierten Schaltungen die Haupttakte durch einen auf dem Chip befindlichen, inhärent langsam wechselnden PLL (Phase-Locked-Loop) erzeugt werden, beschränken sich Frequenzangriffe in der Regel auf das Anhalten des Taktes oder die langsame Änderung der Frequenz. Wir werden uns daher im Folgenden auf die Besonderheiten der verschiedenen Arten von Spannungsangriffen konzentrieren, die unter Bezugnahme auf 3 beschrieben werden.
-
3 ist ein Zeitdiagramm 300, das schematisch vier Arten von Spannungsangriffen auf IC 102 zeigt, die von der Angriffsschutzschaltung 120 gemäß einer Ausführungsform der vorliegenden Erfindung erkannt werden. Das Zeitdiagramm umfasst eine vertikale Spannungsachse 302 (mit V bezeichnet) und eine horizontale Zeitachse 304. Das Diagramm veranschaulicht die Spannungs-Zeit-Wellenform 306 des Stromversorgungseingangs Vdd von IC 102. Die Figur veranschaulicht auch die normalen minimalen (VDD-MIN) und maximalen (VDD-MAX) Spannungen, die gemäß den Spezifikationen der IC an die IC angelegt werden können.
-
Zunächst wird ein Hochspannungsspitzenangriff 308 durchgeführt, bei dem die Versorgungsspannung für eine kurze Zeitspanne einen Wert erreicht, der weit über den maximalen Spezifikationen liegt. In einigen Ausführungsformen ist der bei der Hochspannungs-Spike-Attacke 308 angelegte Spannungspegel hoch genug, um den IC 102 dauerhaft zu beschädigen, wenn er über einen längeren Zeitraum anliegt. Der Zweck des HochspannungsspitzenAngriffs kann z. B. darin bestehen, die Vol (Ausgangs-Niederspannungen) einiger Flops höher zu machen als den Vih-Eingang einiger Gatter, was zu einer unzulässigen Kombination von Eingängen führt, die möglicherweise zu einem metastabilen Zustand führen kann.
-
Als nächstes wird ein Niederspannungsspitzen-Angriff 310 angewandt, bei dem die Versorgungsspannung für eine kurze Zeitspanne auf einen Wert gesetzt wird, der deutlich unter den minimalen Vdd-Spezifikationen liegt. Diese niedrige Versorgungsspannung kann dazu führen, dass einige der Flops Daten verlieren, und wenn die Vdd wieder normal ist, können einige der Flops in einen metastabilen Zustand eintreten.
-
Bei einem oberen-Mittel-Angriff 312 wird der IC-Versorgungseingang mit einer kontinuierlichen Folge von Hochspannungsimpulsen beaufschlagt. Da jeder Impuls wesentlich höher ist als die maximale Spezifikation, kann der obere-Mittel-Angriff dazu führen, dass die Verbindungen im IC überhitzen und möglicherweise einige der Flops einen metastabilen Zustand erreichen.
-
Als Nächstes wird bei einem unteren-Mittel-Angriff 314 der IC-Versorgungseingang mit einer kontinuierlichen Folge von Niederspannungsimpulsen beaufschlagt. Jeder Impuls ist wesentlich niedriger als die minimalen Vdd-Spezifikationen, und die Impulsfolge kann dazu führen, dass mehr als ein Flop in einen metastabilen Zustand übergeht; die Kombination von Flops, die in einen metastabilen Zustand übergehen, kann die Wahrscheinlichkeit erhöhen, dass anschließend ein geschützter Zustand erreicht wird.
-
Die in 3 dargestellte Wellenform des Spannungsanstiegs ist ein Beispiel, das der Klarheit halber angeführt wird. Der Spannungsanstieg kann andere Wellenformen in beliebiger Reihenfolge umfassen. Die Impulsfolge hat typischerweise keinen konstanten Arbeitszyklus und/oder gleiche Impulshöhen, und einige oder alle Angriffe können in unmittelbarer Nähe zueinander erfolgen.
-
4 ist ein Blockdiagramm, das schematisch den Aufbau einer Angriffsschutzschaltung (APC) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Die APC 120 (die unter Bezugnahme auf 1 definiert wurde) umfasst eine Schaltung im analogen Bereich 402 und eine Schaltung im digitalen Bereich 404. Die analoge Schaltung umfasst eine Bandlücken (BG)-gesteuerte Spannungsreferenz 406, die so konfiguriert ist, dass sie eine präzise Spannung (im Folgenden als BG-V bezeichnet) erzeugt, und eine Widerstandsleiter 408, die so konfiguriert ist, dass sie eine Reihe von Widerstandsleiter-Spannungen erzeugt, die Bruchteile der BG-V sind. (Die BG-gesteuerte Spannungsreferenz 406 ist so konfiguriert, dass sie präzise Spannungen in einem weiten Bereich ihres Versorgungseingangs ausgibt.)
-
Die analoge Schaltung 402 umfasst ferner einen Schwellenwert-Selektor 410, der während der Herstellung von IC 102 (z. B. als Teil des Produktionstests) programmiert wird, um vier der Widerstandskettenspannungen auszuwählen. Die vier ausgewählten Widerstandskettenspannungen umfassen Vergleichsschwellenspannungen für die Erkennung eines Angriffs mit hohen Spitzen, eines Angriffs mit hohen Mittelwerten, eines Angriffs mit niedrigen Mittelwerten und eines Angriffs mit niedrigen Spitzen.
-
Die analoge Schaltung 402 umfasst ferner Komparatoren, die die Vergleichsschwellenspannungen, die der Schwellenselektor ausgibt, mit Vdd multipliziert mit R vergleichen. R ist ein festes Verhältnis, z. B. 0,5, das von einem nicht dargestellten Widerstandsteiler erzeugt wird; die Multiplikation mit R kann erforderlich sein, weil in der Praxis die hohen Vdd-Schwellenwerte, die zur Erkennung eines Angriffs erforderlich sind, höher sein können als BG-V und somit höher als einer der Ausgänge des Schwellenselektors 410. Um Verwechslungen zu vermeiden, bezeichnen wir die Schwellenspannungen, die der Schwellenwert-Selektor 410 ausgibt, als Vergleichsschwellenspannungen, die typischerweise um das Verhältnis R kleiner sind als die entsprechenden Angriffserkennungsschwellen.
-
Ein Komparator 412 vergleicht die hohe Spitzen-Vergleichsschwelle, ein Komparator 414 vergleicht die hohe mittlere Vergleichsschwelle, ein Komparator 416 vergleicht die niedrige mittlere Vergleichsschwelle und ein Komparator 418 vergleicht die niedrige Spitzen-Vergleichsschwelle.
-
Übersteigt die Vdd-Spannung einen Maximum-Hochspitzen-Schwellenwert, ist Vdd*R höher als die Hochspitzen-Vergleichsschwellenspannung und der Komparator 412 zeigt an, dass ein Hochspitzen-Angriff erkannt wurde. Wenn die Vdd-Spannung unter einem minimalen Niederspitzen-Schwellenwert liegt, ist Vdd*R niedriger als die Niederspitzen-Vergleichsschwellenspannung, und der Komparator 418 zeigt an, dass ein Niederspitzen-Angriff erkannt wurde. Gemäß dem in 4 dargestellten Ausführungsbeispiel hält ein Zwischenspeicher 420 die Erkennung eines Hochspitzen-Angriffs fest, so dass die Anzeige auch nach Beseitigung der Spitze bestehen bleibt. In ähnlicher Weise speichert ein Zwischenspeicher 422 die Erkennung einer Niederspitzen-Attacke zwischen, so dass die Anzeige auch nach der Entfernung der Spitze bestehen bleibt.
-
Die Zwischenspeicher 420 und 422 sind so konfiguriert, dass sie Schutz vor einem kombinierten Spannungs-/Frequenzangriff bieten - die Zwischenspeicher werden nicht getaktet und behalten die jeweiligen Angriffsanzeigen unabhängig von irgendwelchen Spitzen am Takteingang bei, einschließlich des Anhaltens der Taktschwingungen.
-
Der Komparator 414 zeigt an, wenn Vdd den Schwellenwert für hohe Mittelwerte übersteigt (oder genauer gesagt, wenn Vdd*R den Schwellenwert für mittlere und hohe Vergleiche übersteigt). In einigen Ausführungsformen wird dies erst dann als Angriff betrachtet, wenn die mittlere Häufigkeit des Auftretens der Anzeige einen voreingestellten Wert übersteigt (mit anderen Worten, Arbeitszyklus der Impulse, die Vdd größer als den Schwellenwert für den mittlere hohen Wert anzeigen, übersteigt den voreingestellten Wert). In einigen Ausführungsformen wird ein gleitendes Durchschnittsfenster mit einer vordefinierten Fenstergröße und einem vordefinierten Mittelschwellenwert verwendet. Die digitale Schaltung 404 umfasst eine Schaltung 424 für den hohen Mittelwert, die so konfiguriert ist, dass sie den Mittelwert des Arbeitszyklus bildet und der Arbeitszyklus mit einem voreingestellten Schwellenwert vergleicht; wenn der voreingestellte Schwellenwert überschritten wird, zeigt die Schaltung 424 für den hohen Mittelwert die Erkennung eines Angriffs mit hohem Mittelwert an.
-
Der Komparator 416 zeigt an, wenn Vdd unter dem niedrigen mittleren Schwellenwert liegt. Dies kann nicht als Angriff betrachtet werden, es sei denn, der Arbeitszyklus des Impulses, der anzeigt, dass Vdd unter dem Schwellenwert für den niedrigen Mittelwert liegt, überschreitet einen voreingestellten Wert.) Die digitale Schaltung 404 umfasst ferner eine Schaltung 426 für den niedrigen Mittelwert, die so konfiguriert ist, dass sie den Mittelwert des Arbeitszyklus bildet und der Arbeitszyklus mit einem voreingestellten Schwellenwert vergleicht; wird der voreingestellte Schwellenwert überschritten, zeigt die Schaltung 426 für den niedrigen Mittelwert die Erkennung eines Angriffs auf den niedrigen Mittelwert an.
-
Gemäß dem in 4 dargestellten Ausführungsbeispiel wird IC 102 zurückgesetzt, wenn entweder der Zwischenspeicher 420, der Zwischenspeicher 422, die Schaltung 424 für hohe Mittelwerte oder die Schaltung 426 für niedrige Mittelwerte anzeigen, dass ein Angriff erkannt wurde. In der Ausführungsform werden durch das Zurücksetzen von IC 102 auch die Zwischenspeicher 420 und 422 zurückgesetzt.
-
Wir werden ein numerisches Beispiel vorstellen.
-
Wir gehen davon aus:
- Nennwert Vdd = 1,8V
- Max Vdd = 2.1V
- Min Vdd = 1,5V
- hoher Schwellenwert für Spitzen = 2,8 V
- hohe mittlere Angriffsschwelle = 2,4 V
- Schwelle für hohe mittlere Einschaltdauer = 90
- Angriffsschwelle für niedrige Spitzen = 1,0 V
- niedrige mittlere Angriffsschwelle = 1,2 V
- Schwelle für niedrige mittlere Einschaltdauer = 90%.
- BG-V = 2,0 V
- R = 0.5
-
Da R=0,5 ist, betragen die Spannungen der Vergleichsschwellen die Hälfte der entsprechenden Angriffsschwellen:
- hohe Spitzen-Vergleichsschwelle = 1,4V
- hohe mittlere Vergleichsschwelle = 1,2 V
- Schwelle für den Vergleich mit niedrigen Spitzen = 0,5 V
- niedrige mittlere Vergleichsschwelle = 0,6 V
-
Wir gehen davon aus, dass die Widerstandsleiter 100 angepasste Widerstände umfasst und die Spannungen der Widerstandsleiter daher 0 V, 20 mV, 40 mV usw. betragen. Der Schwellenwertwähler 410 wird während des IC-Produktionstests so programmiert, dass die Spannung zwischen den Widerständen 25 und 26 (von unten) mit dem niedrigen Durchschnittsvergleichsschwellenwert verbunden wird, die Spannung zwischen den Widerständen 30 und 31 mit dem niedrigen Spitzenvergleichsschwellenwert, die Spannung zwischen den Widerständen 60 und 61 mit dem hohen Durchschnittsvergleichsschwellenwert und die Spannung zwischen den Widerständen 70 und 71 mit dem hohen Spitzenvergleichsschwellenwert.
-
Gemäß dem in 4 dargestellten und hier beschriebenen Ausführungsbeispiel kann eine APC, die analoge und digitale Schaltungen umfasst, gegen die vier Arten von Spannungsangriffen in Kombination mit Frequenzangriffen schützen.
-
Die in 4 dargestellte und hier beschriebene Konfiguration der APC 120 ist eine Beispielkonfiguration, die aus Gründen der konzeptionellen Klarheit angeführt wird. Andere geeignete Konfigurationen können in alternativen Ausführungsformen verwendet werden. Beispielsweise sind in einigen Ausführungsformen die Widerstandsleiter mit Vdd gekoppelt, und die Komparatoren vergleichen voreingestellte Bruchteile von Vdd mit einem festen Spannungspegel (z. B. mit BG-ref * R). In einigen Ausführungsformen ist die APC 120 so konfiguriert, dass sie eine Vielzahl von Versorgungsspannungen überwacht und vor Angriffen auf diese schützt.
-
5 ist ein Flussdiagramm, das schematisch ein Verfahren 500 zum Schutz einer IC gegen Spannungs- und kombinierte Spannungs-Frequenz-Angriffe darstellt, die an einen Vdd-Versorgungseingang und einen Takteingang der IC angelegt werden, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das Flussdiagramm wird von einer Angriffsschutzschaltung (APC) ausgeführt (z.B. APC 120, 1). Das Flussdiagramm bezieht sich auf vier Spannungsreferenzen - Vth1, Vth2, Vth3 und Vth4, wobei Vth1 > Vth2 > Vth3 > Vth4. Die vier Schwellenspannungen können z. B. durch eine Widerstandsleiter erzeugt werden, die eine feste Referenzspannung teilt (z. B. BG-V 406, 4).
-
Gemäß dem in
5 dargestellten Ausführungsbeispiel besteht die Mittelwertbildung zur Erkennung von mittleren hohen und mittleren niedrigen Angriffen aus Infinite-Impulse-Response-Filtern (IIR):
-
(Die oben zitierte Gleichung gilt für den Mittelwert.) K ist eine Abklingkonstante kleiner als 1 (z. B. K = 0,02). In alternativen Ausführungsformen können natürlich auch andere Mittelungsmethoden verwendet werden.
-
Das Flussdiagramm beginnt mit dem Schritt 502 „Vth1 vergleichen“, in dem die APC die Versorgungsspannung Vdd mit der höchsten Schwellenspannung Vth1 vergleicht. In einer Ausführungsform wird Vth1 so gewählt, dass bei dem Versuch eines Hochspannungsspitzenangriffs Vdd höher als Vth1 ist, und wenn Vdd>Vth1 ist, bricht die APC ab (z. B. setzt sie die Funktionsschaltung der IC zurück). Wenn in Schritt 502 Vdd nicht größer als Vth1 ist, geht die APC in den Schritt 504 Vth2 vergleichen und vergleicht Vdd mit Vth2. In Ausführungsformen wird Vth2 so gewählt, dass bei Vdd>Vth2 ein Angriff mit hohem Mittelwert erfolgen kann. Wenn in Schritt 504 Vdd größer als Vth2 ist, geht die APC zu einem Add-to-high-Average-Schritt 506 über und aktualisiert den avgH-Wert gemäß der Formel:
-
Wenn in Schritt 504 Vdd nicht größer als Vth2 ist, geht die APC in den Schritt 508 „Aktualisierung des Mittelwerts“ und aktualisiert den Mittelwert (avgH) gemäß der Formel:
-
Nach entweder Schritt 506 oder Schritt 508 tritt die APC in einen Mittel-Hoch-Vergleichsschritt 510 ein und vergleicht den Wert von avgH mit einem digitalen Schwellenwert dths1 (z. B. 0,95). Ist avgH größer als dths1, bricht der Funktionskreis des IC ab (z. B. Reset).
-
Wenn in Schritt 510 avgH nicht größer als dths1 ist, geht die APC in den Schritt 512 Vth3 vergleichen über und vergleicht Vdd mit Vth3. In Ausführungsformen wird Vth3 so gewählt, dass bei Vdd<Vth3 ein Angriff mit niedrigem Mittelwert erfolgen kann. Wenn in Schritt 512 Vdd kleiner als Vth3 ist, geht die APC zu einem Addieren-zu-unterem-Mittel-Schritt 514 über und aktualisiert den avgL-Wert gemäß der Formel:
-
Wenn in Schritt 512 Vdd nicht kleiner als Vth3 ist, geht der APC in einen Aktualisieren-des-unteren-Mittels-Schritt 516 über und aktualisiert den avgL-Wert gemäß der Formel:
-
Nach entweder Schritt 514 oder Schritt 516 tritt die APC in einen Vergleichen-des-unteren-Mittels-Schritt 518 ein und vergleicht den Wert von avgL mit einem digitalen Schwellenwert dths2 (z. B. 0,95). Ist avgL größer als dths2, bricht der Funktionskreis der IC ab (z. B. Rückstellung).
-
Wenn in Schritt 518 avgL nicht höher als dths2 ist, geht die APC in den Schritt 520 Vergleiche-vth4 über, in dem die APC die Versorgungsspannung Vdd mit der niedrigsten Schwellenspannung Vth4 vergleicht. In einer Ausführungsform wird Vth4 so gewählt, dass bei dem Versuch eines Niederspannungsspitzen-Angriffs Vdd niedriger als Vth4 ist, so dass die APC abbricht, wenn in Schritt 520 Vdd<Vth4 ist.
-
Das in 5 dargestellte Flussdiagramm ist eine beispielhafte Ausführungsform. Andere Flussdiagramme können in alternativen Ausführungsformen verwendet werden. In einigen Ausführungsformen wird beispielsweise eine Mittelwertbildung über ein gleitendes Fenster anstelle einer IIR-basierten Mittelwertbildung durchgeführt. In einer Ausführungsform können alle oder einige der Vergleiche mit den Vth-Schritten 502, 504, 512 und 520 gleichzeitig durchgeführt werden. Die IIR-Mittelwertbildung kann durch jede andere geeignete Mittelungstechnik ersetzt werden, und für den hohen und den niedrigen Mittelwert können unterschiedliche Mittelungstechniken verwendet werden.
-
Die Konfigurationen des Angriffsszenarios 100, der IC 102 und der APC 120, des Zustandsdiagramms 250 und des Flussdiagramms 500, die in den 1 bis 5 dargestellt und hierin beschrieben sind, sind Beispielkonfigurationen, Zustandsdiagramme und Flussdiagramme, die nur aus Gründen der konzeptionellen Klarheit gezeigt werden. In alternativen Ausführungsformen können beliebige andere geeignete Konfigurationen, Zustandsdiagramme und Flussdiagramme verwendet werden. Die verschiedenen Untereinheiten von IC 102 können mit geeigneter Hardware, z. B. in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) oder feldprogrammierbaren Gate-Arrays (FPGAs), mit Software, mit Hardware oder mit einer Kombination aus Hardware- und Softwareelementen implementiert werden.
-
Es wird daher deutlich, dass die oben beschriebenen Ausführungsformen als Beispiele angeführt werden und dass die vorliegende Erfindung nicht auf das beschränkt ist, was hierin besonders gezeigt und beschrieben wurde. Vielmehr umfasst der Umfang der vorliegenden Erfindung sowohl Kombinationen und Unterkombinationen der verschiedenen hierin beschriebenen Merkmale als auch Variationen und Modifikationen davon, die dem Fachmann beim Lesen der vorstehenden Beschreibung einfallen würden und die im Stand der Technik nicht offenbart sind. Dokumente, die durch Verweis in die vorliegende Patentanmeldung aufgenommen wurden, sind als integraler Bestandteil der Anmeldung zu betrachten, mit der Ausnahme, dass in dem Maße, in dem Begriffe in diesen aufgenommenen Dokumenten in einer Weise definiert werden, die im Widerspruch zu den in der vorliegenden Beschreibung explizit oder implizit gemachten Definitionen steht, nur die Definitionen in der vorliegenden Beschreibung zu berücksichtigen sind.
-
Es versteht sich von selbst, dass die vorstehend beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass Änderungen im Detail im Rahmen der Ansprüche vorgenommen werden können.
-
Jedes Gerät, Verfahren und Merkmal, das in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Figuren offenbart wird, kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
-
Die in den Ansprüchen enthaltenen Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-