-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Schaltungsanordnung und ein Verfahren zur Detektion und Prävention von gefährlichen Situationen. Insbesondere betrifft die vorliegende Erfindung eine Schaltungsanordnung und ein Verfahren zur Detektion und Prävention von gefährlichen Situationen unter Verwendung effizienter Mikroarchitektur-Signaturen.
-
Hintergrund und Stand der Technik
-
Störungen (z. B. verursacht durch natürliche oder künstliche Quellen), der Spitzen-Leistungsverbrauch, Versorgungsspannungsabsinken etc. stellen für integrierte Schaltungen gefährliche Situationen dar. Falls diese nicht ordnungsgemäß detektiert und gehandhabt werden, können daraus Versagen und Sicherheitsverletzungen entstehen, die sogar lebensgefährlich für Menschen sein können.
-
Auf dem Gebiet werden analoge Komparatoren und Sensoren auf dem Gebiet der Leistungsverwaltung verwendet, um Leistungs- und Versorgungsspannungsgefahren zu detektieren. Andere Ansätze verwenden Programmzähler und 3-Bit-Signaturen mit niedriger Genauigkeit, um Ereignisse hoher Ordnung wie Cache-Verfehlungen und Pipeline-Ausfälle zu detektieren. Auf dem Gebiet der Sicherung und Sicherheit werden redundante Komponenten verwendet, um Ergebnisse zu vergleichen und ungültige Zustände zu detektieren.
-
Es wäre wünschenswert, dass verbesserte Verfahren bereitgestellt werden würden, um gefährliche Situationen detektieren und entschärfen zu können, bevor ernstzunehmende Störungen entstehen.
-
Zusammenfassung der Erfindung
-
Das Ziel der vorliegenden Erfindung ist es, verbesserte Konzepte zur Detektion und Prävention von gefährlichen Situationen bereitzustellen. Das Ziel der vorliegenden Erfindung wird durch eine Schaltungsanordnung nach Anspruch 1, durch eine Schaltungsanordnung nach Anspruch 10, durch ein Verfahren nach Anspruch 23, durch ein Verfahren nach Anspruch 24 und durch ein Computerprogramm nach Anspruch 25 gelöst.
-
Gemäß einer Ausführungsform ist eine Schaltungsanordnung bereitgestellt. Die Schaltungsanordnung umfasst einen Signaturspeicher, worauf ein Signaturverlauf umfassend eine Vielzahl von gespeicherten Signaturen gespeichert ist. Darüber hinaus umfasst die Schaltungsanordnung einen Signaturgenerator und eine Entscheidungssteuereinheit. Der Signaturgenerator ist konfiguriert, eine erste erzeugte Signatur abhängig von einem oder mehreren überwachten Signalen zu erzeugen; und worin die Entscheidungssteuereinheit konfiguriert ist, eine erste gespeicherte Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der ersten erzeugten Signatur oder mit einem ersten Teil der ersten erzeugten Signatur zu vergleichen, um ein erstes bestimmtes Vergleichsergebnis zu erhalten. Außerdem ist der Signaturgenerator konfiguriert, eine zweite erzeugte Signatur abhängig von dem einen oder den mehreren überwachten Signalen zu erzeugen; und worin die Entscheidungssteuereinheit konfiguriert ist, eine zweite gespeicherte Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der zweiten erzeugten Signatur oder mit einem zweiten Teil der zweiten erzeugten Signatur zu vergleichen, um ein zweites bestimmtes Vergleichsergebnis zu erhalten. Die Entscheidungssteuereinheit ist konfiguriert, einen Alarmvorgang abhängig von dem ersten bestimmten Vergleichsergebnis und abhängig von dem zweiten bestimmten Vergleichsergebnis auszulösen.
-
Gemäß einer weiteren Ausführungsform ist eine weitere Schaltungsanordnung bereitgestellt. Die Schaltungsanordnung umfasst einen Signaturspeicher, worauf eine Vielzahl von gespeicherten Signaturen gespeichert ist. Darüber hinaus umfasst die Schaltungsanordnung einen Signaturgenerator zum Empfangen zweier oder mehrerer überwachter Signale und zum Erzeugen einer erzeugten Signatur abhängig von den zwei oder mehr überwachten Signalen. Außerdem umfasst die Schaltungsanordnung eine Entscheidungssteuereinheit. Die Entscheidungssteuereinheit ist konfiguriert, eine Vielzahl von Vergleichen durch Vergleichen jedes aus einer Vielzahl von unterschiedlichen Teilen der erzeugten Signatur mit zumindest einer aus einer Vielzahl von gespeicherten Signaturen durchzuführen. Darüber hinaus ist die Entscheidungssteuereinheit konfiguriert, abhängig von zumindest einem der Vergleiche einen Alarmvorgang auszulösen.
-
Gemäß einer Ausführungsform ist ein Verfahren zum Steuern einer Schaltungsanordnung bereitgestellt. Die Schaltungsanordnung umfasst einen Signaturspeicher, worauf ein gespeicherter Signaturverlauf umfassend eine Vielzahl von gespeicherten Signaturen gespeichert ist. Das Verfahren umfasst Folgendes:
- – Erzeugen einer ersten erzeugten Signatur abhängig von einem oder mehreren überwachten Signalen.
- – Vergleichen einer ersten gespeicherten Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der ersten erzeugten Signatur oder mit einem Teil der ersten erzeugten Signatur, um ein erstes bestimmtes Vergleichsergebnis zu erhalten.
- – Erzeugen einer zweiten erzeugten Signatur abhängig von dem einen oder mehreren überwachten Signalen.
- – Vergleichen einer zweiten gespeicherten Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der zweiten erzeugten Signatur oder mit einem zweiten Teil der zweiten erzeugten Signatur, um ein zweites bestimmtes Vergleichsergebnis zu erhalten. Und:
- – Auslösen eines Alarmvorgangs abhängig von dem ersten bestimmten Vergleichsergebnis und abhängig von dem zweiten bestimmten Vergleichsergebnis.
-
Gemäß einer weiteren Ausführungsform ist ein weiteres Verfahren zum Steuern einer Schaltungsanordnung bereitgestellt. Die Schaltungsanordnung umfasst einen Signaturspeicher, worauf eine Vielzahl von gespeicherten Signaturen gespeichert ist. Das weitere Verfahren umfasst Folgendes:
- – Empfangen zweier oder mehrerer überwachter Signale.
- – Erzeugen einer erzeugten Signatur abhängig von zwei oder mehr überwachten Signalen.
- – Durchführen einer Vielzahl von Vergleichen durch Vergleichen jedes aus einer Vielzahl von verschiedenen Teilen der erzeugten Signatur mit zumindest einer aus einer Vielzahl von gespeicherten Signaturen. Und:
- – Auslösen eines Alarmvorgangs abhängig von zumindest einem der Vergleiche.
-
Außerdem ist ein Computerprogramm zum Implementieren des oben beschriebenen Verfahrens bereitgestellt, wenn es auf einem Computersignalprozessor ausgeführt wird.
-
Nachfolgend werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Figuren genauer beschrieben, in denen:
-
Kurzbeschreibung der Zeichnungen
-
1a eine Schaltungsanordnung gemäß einer Ausführungsform zeigt, die einen Speicher umfasst, worauf ein Signaturverlauf gespeichert ist.
-
1b eine Schaltungsanordnung gemäß einer weiteren Ausführungsform zeigt, worauf ein Signaturverlauf gespeichert ist, worin die Schaltungsanordnung ferner zwei oder mehr Untereinheiten umfasst.
-
1c eine Schaltungsanordnung gemäß einer Ausführungsform zeigt, die einen Speicher umfasst, worauf eine Vielzahl von Signaturen gespeichert ist.
-
1d eine Schaltungsanordnung gemäß einer weiteren Ausführungsform zeigt, die einen Speicher umfasst, worauf eine Vielzahl von Signaturen gespeichert ist, worin die Schaltungsanordnung ferner zwei oder mehr Untereinheiten umfasst.
-
2 eine integrierte Schaltung gemäß einer Ausführungsform zeigt, die einzelne Signaturen verwendet und die ausgelegt ist, mit einem gefährlichen Spitzen-Leistungsverbrauch und Versorgungsspannungsabsinken umzugehen.
-
3 zwei Diagramme zur Illustration des Arbeitsprinzips der Leistungsverwaltung mittels einzelner Signaturen gemäß einer Ausführungsform zeigt.
-
4 eine integrierte Schaltung gemäß einer weiteren Ausführungsform darstellt, die eine auf einer Signaturkette basierenden Zugriffssteuerung verwendet.
-
5 eine integrierte Schaltung gemäß noch einer weiteren Ausführungsform darstellt, die eine auf einer Befehlsstromsignatur basierende Zugriffssteuerung verwendet.
-
Detaillierte Beschreibung der Ausführungsformen
-
1a zeigt eine Schaltungsanordnung gemäß einer Ausführungsform.
-
Die Schaltungsanordnung umfasst einen Signaturspeicher 110, worauf ein gespeicherter Signaturverlauf umfassend eine Vielzahl von gespeicherten Signaturen gespeichert ist. Darüber hinaus umfasst die Schaltungsanordnung einen Signaturgenerator 130 und eine Entscheidungssteuereinheit 140.
-
Der Signaturgenerator 130 ist konfiguriert, eine erste erzeugte Signatur abhängig von einem oder mehreren überwachten Signalen zu erzeugen; und worin die Entscheidungssteuereinheit 140 konfiguriert ist, eine erste gespeicherte Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der ersten erzeugten Signatur oder mit einem ersten Teil der ersten erzeugten Signatur zu vergleichen, um ein erstes bestimmtes Vergleichsergebnis zu erhalten.
-
Außerdem ist der Signaturgenerator 130 konfiguriert, eine zweite erzeugte Signatur abhängig von dem einen oder den mehreren überwachten Signalen zu erzeugen; und worin die Entscheidungssteuereinheit 140 konfiguriert ist, eine zweite gespeicherte Signatur aus der Vielzahl von gespeicherten Signaturen des gespeicherten Signaturverlaufs mit der zweiten erzeugten Signatur oder mit einem zweiten Teil der zweiten erzeugten Signatur zu vergleichen, um ein zweites bestimmtes Vergleichsergebnis zu erhalten.
-
Die Entscheidungssteuereinheit 140 ist konfiguriert, abhängig von dem ersten bestimmten Vergleichsergebnis und abhängig von dem zweiten bestimmten Vergleichsergebnis einen Alarmvorgang auszulösen.
-
Manche Ausführungsformen basieren auf der Erkenntnis, dass eine Vielzahl von aufeinanderfolgenden Befehlen, z. B. eine Befehlsabfolge, die z. B. zu einem oder mehreren überwachen Signalen führt, z. B. eine oder mehrere Untereinheiten einer Schaltungsanordnung oder die gesamte Schaltungsanordnung in einen kritischen Zustand bringen kann. Es kann z. B. von Nutzen sein, nicht nur einen tatsächlichen Zustand eines oder mehrerer überwachter Signale zu überwachen, sondern auch einen oder mehrere vorangegangene Zustände des überwachten Signals, um daraus schließen zu können, ob die Schaltungsanordnung in einen kritischen Zustand geraten könnte.
-
Falls beispielsweise bei einem aktuellen Verarbeitungsschritt auf eine besonders geschützte Region eines Speichers zugegriffen wird, muss dies allein nicht unbedingt als gefährlich eingestuft werden. Falls jedoch alle Sicherheitsmechanismen des Systems in dem Verarbeitungsschritt, der vor dem Speicherzugriffsschritt erfolgt ist, deaktiviert wurden, kann dies z. B. tatsächlich auf eine kritische Situation hindeuten, worin ein Alarmablauf diese Situation handhaben sollte.
-
Oder falls z. B. ein einzelnes Teilmodul der Schaltungsanordnung bei einem aktuellen Verarbeitungsschritt (oder zu einem aktuellen Zeitpunkt) aktiviert wird, muss dies noch kein Grund zur Beunruhigung sein. Falls jedoch alle anderen Teilmodule der Schaltungsanordnung während der vorangegangenen Verarbeitungsschritte (oder während der vorangegangenen Zeitpunkte) aktiviert wurden, kann dies z. B. auf einen massiven unerwünschten Leistungsverbrauch der Schaltungsanordnung hindeuten und ein Alarmvorgang kann z. B. ausgelöst werden, um die Situation zu regeln.
-
Eine der Erkenntnisse kann deshalb folgendermaßen formuliert werden: Nicht nur der aktuelle Zustand eines oder mehrerer überwachter Signale ist zu berücksichtigen, sondern auch einer oder mehrere der vorangegangenen Zustände der überwachten Signale sind zu berücksichtigen. Daher ist in manchen Ausführungsformen ein Verlauf des überwachten Signals zu berücksichtigen.
-
Manche Ausführungsformen basieren auf der Erkenntnis, dass zum Überwachen eines überwachten Signals eine Signatur für ein solches überwachtes Signal erzeugt werden kann. Beispielsweise ist eine erste erzeugte Signatur an einem ersten Zeitpunkt (oder bei einem ersten Verarbeitungsschritt) für das überwachte Signal zu erzeugen. Darüber hinaus ist eine zweite erzeugte Signatur an einem zweiten Zeitpunkt (oder an einem ersten Verarbeitungsschritt) für das überwachte Signal zu erzeugen. Eine Signatur kann für ein überwachtes Signal z. B. ein Hash-Wert sein, der abhängig von dem überwachten Signal erzeugt wird, z. B. abhängig von einem Zustand zu einem Zeitpunkt des überwachten Signals. Der Hash-Wert kann z. B. als ein binärer Wert oder als ein Hexadezimalwert oder als ein Dezimalwert dargestellt werden. Jede andere geeignete Darstellung für einen Hash-Wert kann ebenfalls verwendet werden.
-
In dem Speicher kann ein gespeicherter Verlauf z. B. gespeichert werden. Der Signaturverlauf kann z. B. eine erste Signatur umfassen, die einem ersten Verarbeitungsschritt zugeordnet ist und eine zweite Signatur kann z. B. einem zweiten Verarbeitungsschritt zugeordnet sein. Die erste Signatur kann z. B. gleich einer Signatur eines ersten Zustands eines überwachten Signals sein, das einen Cypto-Kern deaktiviert. Die zweite Signatur kann z. B. gleich einer Signatur eines zweiten Zustands des überwachten Signals sein, das Zugriff auf einen geschützten Speicherbereich bereitstellt. Beispielsweise kann das Zugreifen auf einen geschützten Speicherbereich, wenn der Crypto-Kern zuvor deaktiviert wurde, z. B. als kritisch eingestuft werden.
-
Falls somit eine erste erzeugte Signatur, die basierend auf einem ersten Zustand eines überwachten Signals erzeugt wird, gleich der ersten gespeicherten Signatur ist, gibt dies an, dass der Crypto-Kern z. B. deaktiviert sein kann. Falls eine zweite erzeugte Signatur, die basierend auf einem zweiten Zustand eines überwachten Signals erzeugt wird, gleich der zweiten gespeicherten Signatur ist, gibt dies an, dass der Crypto-Kern z. B. deaktiviert ist. Falls somit das erste Vergleichsergebnis „gleich” angibt und falls das zweite Vergleichsergebnis „gleich” angibt, kann dies z. B. einen kritischen Zustand bedeuten und ein Alarmvorgang zur Regelung der Situation kann z. B. aktiviert werden.
-
Jedoch können manche Signaturverläufe Signaturen umfassen, bei denen ein Vergleichsergebnis als möglicherweise kritisch eingestuft wird, falls das Vergleichsergebnis angibt, dass das Ergebnis „nicht gleich” ist. Beispielsweise kann es als positiv eingestuft werden, dass der Crypto-Kern aktiviert ist.
-
Beispielsweise kann eine erste Signatur des Signaturverlaufs einer Signatur eines Zustands eines überwachten Signals entsprechen, das den Crypto-Kern an einem ersten Verarbeitungsschritt (oder zu einem ersten Zeitpunkt) aktiviert. Eine zweite Signatur des Signaturverlaufs kann einer Signatur eines Zustands des überwachten Signals entsprechen, das einen Backup-Crypto-Kern oder an einem zweiten Verarbeitungsschritt (oder zu einem zweiten Zeitpunkt) aktiviert.
-
Falls der erste Crypto-Kern zu dem ersten Zeitpunkt nicht aktiviert wird, führt dies zu einem Vergleichsergebnis, das „nicht gleich” des Vergleichs der ersten erzeugten Signatur und der ersten gespeicherten Signatur des Signaturverlaufs ist. Falls der Backup-Crypto-Kern zu dem zweiten Zeitpunkt nicht aktiviert wird, führt dies dazu, dass ein zweites Vergleichsergebnis „nicht gleich” des Vergleichs der zweiten erzeugten Signatur und der zweiten gespeicherten Signatur des Signaturverlaufs ist. Zusammen geben das erste Vergleichsergebnis „nicht gleich” und das zweite Vergleichsergebnis „nicht gleich” an, dass der Zustand der Schaltungsanordnung nun kritisch ist, und ein Lösungsvorgang kann nun ausgelöst werden, um die Situation zu handhaben.
-
Kombinationen aus „nicht gleich” und „gleich”, die unerwünschten Vergleichsergebnissen innerhalb eines einzelnen Signaturverlaufs entsprechen, die zusammen zum Auslösen des Alarmvorgangs führen, sind ebenfalls möglich.
-
In manchen Ausführungsformen wird nicht die gesamte erzeuge Signatur in dem Vergleich verwendet, sondern nur ein Teil davon. Falls beispielsweise eine Signatur von einer Vielzahl von Bits dargestellt wird, werden nur manche der Bits an bestimmten Bit-Positionen z. B. für den Vergleich verwendet. In der erzeugten Signatur wissen z. B. nur manche der Bits, z. B. wie das überwachte Signal ein bestimmtes Teilmodul der Schaltungsanordnung lenkt und nur diese Bits können in dem Vergleich verwendet werden.
-
Darüber hinaus kann der Speicher mehr als einen Signaturverlauf speichern. In solchen Ausführungsformen kann jeder aus der Vielzahl von gespeicherten Signaturverläufen einen einzelnen kritischen Zustand angeben.
-
Eine erste erzeugte Signatur kann z. B. mit den ersten gespeicherten Signaturen jedes der gespeicherten Signaturverläufe vergaichen werden. Die darauffolgende zweite erzeugte Signatur kann z. B. dann nur mit der zweiten gespeicherten Signatur jener Signaturverläufe vergleichen werden, deren erster Vergleich zu einem ersten Vergleichsergebnis geführt hat, das als möglicherweise kritisch einzustufen ist etc. Dieses Prinzip kann auch auf einen möglichen dritten, vierten, fünften Vergleich etc. angewendet werden.
-
Manche Ausführungsformen erfordern nicht, dass alle Signaturen des Signaturverlaufs verglichen werden müssen, bevor ein Alarmzustand ausgelöst wird. Falls beispielsweise die ersten zwei Vergleiche der ersten zwei gespeicherten und erzeugten Signaturen kritische Vergleichsergebnisse bereitstellen, kann ein erster Alarmvorgang ausgelöst werden, auch wenn der Signaturverlauf mehr als zwei gespeicherte Signaturen umfassen kann. Falls die weiteren Vergleiche der dritten und aller weiteren restlichen gespeicherten Signaturen des Signaturverlaufs auch kritische Vergleichsergebnisse bereitstellen, kann ein zweiter Lösungs-/Alarmvorgang z. B. ausgelöst werden.
-
Manche Ausführungsformen erfordern, dass alle Vergleichsergebnisse, die aus dem Vergleichen der gespeicherten Signaturen und der entsprechenden erzeugten Signaturen entstehen, ein kritisches Vergleichsergebnis bereitstellen, um einen Alarmvorgang auszulösen.
-
Für unterschiedliche Signaturverläufe in dem Speicher können unterschiedliche Vorgänge existieren, die abhängig von den Vergleichsergebnissen ausgelöst werden.
-
Im Folgenden werden manche aus der Vielzahl der unterschiedlichen bestimmten Ausführungsformen zusammengefasst:
Gemäß einer Ausführungsform kann der gespeicherte Signaturverlauf z. B. zumindest drei gespeicherte Signaturen umfassen. Der Signaturgenerator 130 kann z. B. konfiguriert sein, eine Vielzahl von erzeugten Signaturen abhängig von dem einen oder den mehreren überwachten Signalen zu erzeugen; worin die erste erzeugte Signatur eine erste und die zweite erzeugte Signatur eine zweite aus der Vielzahl von erzeugten Signaturen ist. Darüber hinaus kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, eine Vielzahl von Vergleichsergebnissen aus einer Vielzahl von Vergleichen durch Vergleichen jeder der gespeicherten Signaturen des gespeicherten Signaturverlaufs mit einer anderen aus den erzeugten Signaturen zu erhalten; worin das erste bestimmte Vergleichsergebnis ein erstes und das zweite bestimmte Vergleichsergebnis ein zweites aus der Vielzahl von bestimmten Vergleichsergebnissen ist. Die Entscheidungssteuereinheit 140 kann z. B. konfiguriert sein, abhängig von jedem aus der Vielzahl von bestimmten Vergleichsergebnissen, einen Alarmvorgang auszulösen.
-
Falls der Vergleich jeder der drei oder mehreren der gespeicherten Signaturen des gespeicherten Signaturverlaufs in einer solchen Ausführungsform somit zu einem kritischen Vergleichsergebnis führt, wird der Alarmvorgang ausgelöst.
-
In einer Ausführungsform kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, den Alarmvorgang auszulösen, falls jedes bestimmte Vergleichsergebnis aus der Vielzahl von bestimmten Vergleichsergebnissen gleich einem vorbestimmten Vergleichsergebnis ist, das dieser gespeicherten Signatur des Signaturverlaufs zugeordnet ist, die in dem Vergleich verglichen wurde, aus dem das bestimmte Vergleichsergebnis erhalten wurde.
-
Hier wird auf das möglicherweise kritische Vergleichsergebnis Bezug genommen, das z. B. als ein vorbestimmtes Vergleichsergebnis bezeichnet werden kann. Um den Alarmvorgang auszulösen, wird untersucht, ob jedes der untersuchten bestimmten Vergleichsergebnisse (die z. B. das Ergebnis „gleich” oder „nicht gleich” aufweisen) mit einem entsprechenden (möglicherweise kritischen) vorbestimmten Vergleichsergebnis (z. B. „gleich” oder „nicht gleich”) übereinstimmt. Eine Übereinstimmung eines bestimmten Vergleichsergebnisses und eines vorbestimmten Vergleichsergebnisses kann z. B. angeben, dass die erzeugte Signatur einen möglicherweise kritischen Zustand angibt. Ob sich die Schaltungsanordnung tatsächlich in einem kritischen Zustand befindet, kann z. B. von den anderen Vergleichen abhängen.
-
Gemäß einer Ausführungsform gibt das vorbestimmte Vergleichsergebnis jeder der gespeicherten Signaturen des gespeicherten Signaturverlaufs an, dass zwei verglichene Signaturen gleich sind. Dies ist eine Ausführungsform, in der die erzeugte Signatur immer mit der gespeicherten Signatur des Signaturverlaufs übereinstimmen muss, um den Alarm-(Lösungs-)Vorgang auszulösen.
-
In einer weiteren Ausführungsform kann das vorbestimmte Vergleichsergebnis jeder der gespeicherten Signaturen des gespeicherten Signaturverlaufs angeben, dass zwei verglichene Signaturen nicht gleich sind. Dies ist eine Ausführungsform, in der sich die erzeugte Signatur immer von der gespeicherten Signatur des Signaturverlaufs unterscheiden muss, um den Alarm-(Lösungs-)Vorgang auszulösen.
-
Gemäß einer weiteren Ausführungsform kann das vorbestimmte Vergleichsergebnis von zumindest einer der gespeicherten Signaturen des gespeicherten Signaturverlaufs z. B. angeben, dass zwei verglichene Signaturen gleich sind; und das vorbestimmte Vergleichsergebnis von zumindest einer weiteren der gespeicherten Signaturen des gespeicherten Signaturverlaufs kann z. B. angeben, dass weitere zwei verglichene Signaturen nicht gleich sind. Eine solche Ausführungsform stellt Flexibilität bereit; eine Kombination aus „gleichen” und „nicht gleichen” Vergleichsergebnissen löst den Alarmvorgang aus.
-
Wie bereits angegeben werden in manchen Ausführungsformen mehr als ein Signaturverlauf in dem Speicher gespeichert.
-
In einer Ausführungsform kann der gespeicherte Signaturverlauf z. B. einer aus einer Vielzahl von gespeicherten Signaturverläufen sein, worin jeder aus der Vielzahl der gespeicherten Signaturverläufe eine Vielzahl von gespeicherten Signaturen umfasst; wobei die Vielzahl der gespeicherten Signaturen die erste gespeicherte Signatur und die zweite gespeicherte Signatur umfasst. Die Entscheidungssteuereinheit 140 kann z. B. konfiguriert sein, die erste gespeicherte Signatur jedes der gespeicherten Signaturverläufe mit der ersten erzeugten Signatur oder mit dem ersten Teil der ersten erzeugten Signatur zu vergleichen, um ein erstes bestimmtes Vergleichsergebnis für den gespeicherten Signaturverlauf zu erhalten. Darüber hinaus kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, die zweite gespeicherte Signatur jedes der gespeicherten Signaturverläufe mit der zweiten erzeugten Signatur oder mit dem zweiten Teil der zweiten erzeugten Signatur zu vergleichen, um ein zweites bestimmtes Vergleichsergebnis für den gespeicherten Signaturverlauf zu erhalten. Der Alarmvorgang kann z. B. einer aus einer Vielzahl von Alarmvorgängen sein. Die Entscheidungssteuereinheit 140 kann z. B. konfiguriert sein, abhängig von dem ersten bestimmten Vergleichsergebnis und abhängig von dem zweiten bestimmten Vergleichsergebnis jedes der gespeicherten Signaturverläufe, zumindest einen aus der Vielzahl von Alarmvorgängen auszulösen.
-
Gemäß einer Ausführungsform kann der gespeicherte Signaturverlauf z. B. einer aus einer Vielzahl von gespeicherten Signaturverläufen sein. Jeder aus der Vielzahl von gespeicherten Signaturverläufen kann z. B. zumindest drei gespeicherte Signaturen umfassen, die die erste gespeicherte Signatur und die zweite gespeicherte Signatur umfassen. Der Signaturgenerator 130 kann z. B. konfiguriert sein, eine Vielzahl von erzeugten Signaturen abhängig von dem einen oder den mehreren überwachten Signalen zu erzeugen. In einer solchen Ausführungsform kann die erste erzeugte Signatur z. B. eine erste sein und die zweite erzeugte Signatur kann eine zweite aus der Vielzahl von erzeugten Signaturen sein. Die Entscheidungssteuereinheit 140 kann z. B. konfiguriert sein, durch Vergleichen jeder der gespeicherten Signaturen des gespeicherten Signaturverlaufs mit einer anderen der erzeugten Signaturen, eine Vielzahl von Vergleichsergebnissen aus einer Vielzahl von Vergleichen für jeden aus der Vielzahl von gespeicherten Signaturverläufen zu erhalten. Der Alarmvorgang kann z. B. einer aus einer Vielzahl von Alarmvorgängen sein. Für jeden aus der Vielzahl von gespeicherten Signalverläufen kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, abhängig von jedem aus der Vielzahl von bestimmten Vergleichsergebnissen für den gespeicherten Signaturverlauf, zumindest einen aus der Vielzahl von Alarmvorgängen auszulösen.
-
In weiteren Ausführungsformen wird mehr als ein Signal überwacht.
-
In einer Ausführungsform ist der Signaturgenerator 130 konfiguriert, die erste erzeugte Signatur abhängig von zwei oder mehreren überwachten Signalen zu erzeugen; worin das eine oder die mehreren überwachten Signale die zwei oder mehr der überwachten Signale umfassen.
-
In einer bestimmten Ausführungsform kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, den Alarmvorgang abhängig davon auszulösen, ob der erste Teil der ersten erzeugten Signatur gleich den ersten gespeicherten Signaturen ist.
-
1b zeigt eine Schaltungsanordnung, worauf ein Signaturverlauf gemäß einer weiteren Ausführungsform gespeichert ist, worin die Schaltungsanordnung ferner zwei oder mehr Untereinheiten umfasst.
-
Gemäß einer Ausführungsform umfasst die Schaltungsanordnung ferner zwei oder mehr Untereinheiten 121, 122. Der Signaturgenerator 130 kann z. B. konfiguriert sein, die zwei oder mehr überwachten Signale aus den zwei oder mehr Untereinheiten 121, 122 zu empfangen.
-
In einer bestimmten Ausführungsform kann eine erste der zwei oder mehr Untereinheiten 121, 122 z. B. ein Prozessor sein, eine zweite der zwei oder mehr Untereinheiten 121, 122 kann z. B. eine Ganzzahl-Pipeline sein und eine dritte der zwei oder mehr Untereinheiten 121, 122 kann z. B. eine Speichersteuereinheit sein.
-
Gemäß einer Ausführungsform kann der Signaturgenerator 130 z. B. konfiguriert sein, die erzeugte Signatur durch Erzeugen einer Zwischensignatur für jedes der zwei oder mehrerer der überwachten Signale und durch Kombinieren der Zwischensignaturen der zwei oder mehrerer der überwachten Signale zu erzeugen.
-
In einer weiteren Ausführungsform kann der Signaturgenerator 130 z. B. konfiguriert sein, die erzeugte Signatur durch Kombinieren der zwei oder mehr überwachten Signale für den Erhalt eines kombinierten Signals und durch Erzeugen der erzeugten Signatur abhängig von dem kombinierten Signal zu erzeugen.
-
Gemäß einer weiteren Ausführungsform kann der Signaturgenerator 130 z. B. konfiguriert sein, die erzeugte Signatur so zu erzeugen, dass eine erste Bitlänge der erzeugten Signatur kürzer ist als eine zweite Bitlänge von zumindest einem der zwei oder mehr überwachten Signale.
-
In Ausführungsformen kann die Entscheidungssteuereinheit 140 z. B. konfiguriert sein, den Alarmvorgang auszulösen, so dass ein Takt der Schaltungsanordnung gedrosselt wird.
-
Alternativ oder zusätzlich dazu kann die Entscheidungssteuereinheit 140 in Ausführungsformen z. B. konfiguriert sein, den Alarmvorgang auszulösen, so dass das Verarbeiten der Schaltungsanordnung angehalten wird, oder:
Alternativ oder zusätzlich dazu kann die Entscheidungssteuereinheit 140 in Ausführungsformen z. B. konfiguriert sein, den Alarmvorgang auszulösen, so dass eine Firewall-Öffnung nicht gegeben ist.
-
In manchen Ausführungsformen ist die Schaltungsanordnung eine integrierte Schaltung.
-
Weitere Ausführungsformen werden unter Bezugnahme auf 1c und 1d beschrieben, die eine Schaltungsanordnung gemäß einer Ausführungsform darstellen.
-
In 1c umfasst die Schaltungsanordnung einen Signaturspeicher 110, worauf eine Vielzahl von gespeicherten Signaturen gespeichert ist.
-
Darüber hinaus umfasst die Schaltungsanordnung einen Signaturgenerator 130; 230 zum Empfangen zweier oder mehrerer überwachter Signale und zum Erzeugen einer erzeugten Signatur abhängig von den zwei oder mehreren überwachten Signalen.
-
Außerdem umfasst die Schaltungsanordnung eine Entscheidungssteuereinheit 140. Die Entscheidungssteuereinheit 140 ist konfiguriert, eine Vielzahl von Vergleichen durch Vergleichen jedes aus einer Vielzahl von unterschiedlichen Teilen der erzeugten Signatur mit zumindest einer aus einer Vielzahl von gespeicherten Signaturen durchzuführen. Darüber hinaus ist die Entscheidungssteuereinheit 140 konfiguriert, abhängig von zumindest einem der Vergleiche einen Alarmvorgang auszulösen.
-
Gemäß Ausführungsformen wird eine (Gesamt-)Signatur erzeugt, worin die Signatur nicht nur abhängig von einem, sondern vielmehr abhängig von zwei oder mehr überwachten Signalen erzeugt wird.
-
Darüber hinaus ist eine Entscheidungssteuereinheit 140 bereitgestellt, die z. B. Vergleiche durchführen kann. Zumindest einige der durchgeführten Vergleiche vergleichen unterschiedliche Teile der erzeugten Signatur und nicht die ganze Signatur mit zumindest einer aus einer Vielzahl von Signaturen.
-
Aus den Vergleichen werden Schlussfolgerungen gezogen. Beispielsweise kann ein durchgeführter Vergleich angeben, dass ein überwachtes Signal das System oder ein Modul des Systems in einen irregulären Zustand oder zumindest in einen kritischen Zustand bringen würde oder dies bereits getan hat. Als Antwort auf einen solchen irregulären Zustand des Systems oder eines Moduls des Systems kann die Entscheidungssteuereinheit 140 z. B. einen Alarmvorgang auslösen.
-
In Bezug auf die verschiedenen Teile der erzeugten Signatur, die mit den gespeicherten Signaturen verglichen werden: Falls eine erzeugte Signatur z. B. eine erste Vielzahl von Bits umfasst, z. B. 32 Bits, 64 Bits, 96 Bits oder 128 Bits, kann ein Teil der erzeugten Signatur z. B. ein Teilsatz einer zweiten Anzahl dieser Bits sein.
-
Falls die Signatur beispielsweise 32 Bits umfasst, angefangen von Bit 0 bis Bit 31 (es kann z. B. angenommen werden, dass die Bits innerhalb der Signatur geordnet sind, so dass sie eine Bitposition aufweisen, auf die nachfolgend Bezug genommen wird), kann ein erster Teil der erzeugten Signatur z. B. nur die Bits 0, 1, 2, 3, 4, 5 umfassen; und ein zweiter Teil der erzeugten Signatur kann z. B. nur die Bits 15, 16, 17, 18 umfassen.
-
In anderen Beispielen jedoch können die Teile der Signaturen z. B. möglicherweise nicht geordnet sein und ein erster Teil einer erzeugten 32-Bit-Signatur kann z. B. nur die Bits 1, 4, 5, 8 umfassen; und ein zweiter Teil kann z. B. nur die Bits an Bitpositionen 6, 7, 18, 20 umfassen.
-
In noch weiteren Ausführungsformen können sich die Teile der erzeugten Signatur überschneiden und manche der Teile können Bits umfassen, die auch in anderen Teilen einer anderen Signatur vorhanden sind. Beispielsweise kann ein erster Teil der erzeugten Signatur z. B. nur die Bits an Bitpositionen 5, 8, 9, 12 umfassen; und ein zweiter Teil kann z. B. nur die Bits an Bitpositionen 5, 7, 9, 15 umfassen (so dass die Bits an Bitpositionen 5 und 9 in der erzeugten Signatur in beiden Teilen auftreten).
-
Falls jedoch auf „unterschiedliche Teile” Bezug genommen wird, dann umfasst zumindest einer der zwei Teile für jeden der zwei Teile der unterschiedlichen Teile ein Bit der erzeugten Signatur, das nicht in dem anderen Teil der zwei Teile umfasst ist.
-
Gemäß einer Ausführungsform kann die Schaltungsanordnung z. B. eine integrierte Schaltung sein.
-
Gemäß einer Ausführungsform ist die Entscheidungssteuereinheit 140 konfiguriert, den Alarmvorgang auszulösen, falls ein erster Teil aus der Vielzahl von unterschiedlichen Teilen nicht gleich einer ersten der gespeicherten Signaturen ist.
-
Gemäß einer solchen Ausführungsform wird ein Teil der erzeugten Signatur (der auch als ein Bestandteil der erzeugten Signatur bezeichnet werden kann), z. B. ein zugeordneter Trigger-Bestandteil der erzeugten Signatur mit einer oder mehreren der gespeicherten Signaturen verglichen. Der (zugeordnete) Bestandteil der erzeugten Signatur muss gleich der gespeicherten Signatur („Imperativ-Signatur”) sein. Ansonsten wird ein Alarmvorgang (auch als ein „Lösungsvorgang” bezeichnet), ausgeführt.
-
In einer Ausführungsform ist die Entscheidungssteuereinheit 140 konfiguriert, einen Alarmvorgang auszulösen, falls ein zweiter Teil aus der Vielzahl von unterschiedlichen Teilen gleich einer zweiten der gespeicherten Signatur ist.
-
In einer solchen Ausführungsform wird ein Bestandteil, z. B. ein weiterer zugeordneter Trigger-Bestandteil der erzeugten Signatur mit einer oder mehreren der gespeicherten Signaturen verglichen. Der (zugeordnete) Bestandteil der erzeugten Signatur darf nicht gleich der gespeicherten Signatur („Imperativ-Signatur-Nicht”) sein. Ansonsten wird ein Alarmvorgang (Lösungsvorgang) ausgeführt.
-
In einer Ausführungsform ist die Entscheidungssteuereinheit 140 konfiguriert, die erzeugte Signatur mit einer dritten der gespeicherten Signaturen zu vergleichen. Die Entscheidungssteuereinheit 140 ist konfiguriert, einen Alarmvorgang auszulösen, falls die erzeugte Signatur gleich der dritten der gespeicherten Signaturen ist.
-
In einer solchen Ausführungsform wird die erzeugte Signatur mit einer oder mehreren gespeicherten „Gefahren”-Signaturen verglichen und falls die Entscheidungssteuereinheit 140 detektiert, dass die erzeugte Signatur eine solche Gefahren-Signatur ist, wird der Vorgang, z. B. ein Alarmvorgang/zugeordneter Lösungsvorgang ausgeführt.
-
In manchen Ausführungsformen werden das Gefahren-Signatur-Konzept, das Imperativ-Signatur-Konzept und das Imperativ-Signatur-Nicht-Konzept kombiniert.
-
Gemäß anderen Ausführungsformen werden nur zwei der drei Konzepte (das Gefahren-Signatur-Konzept, das Imperativ-Signatur-Konzept und das Imperativ-Signatur-Nicht-Konzept) kombiniert.
-
Gemäß weiteren Ausführungsformen werden andere Arten von Signaturen kombiniert.
-
In einer Ausführungsform ist die Entscheidungssteuereinheit 140 konfiguriert, den Alarmvorgang auszulösen, so dass ein Takt der Schaltungsanordnung gedrosselt wird.
-
Gemäß einer Ausführungsform, worin die Entscheidungssteuereinheit 140 konfiguriert ist, den Alarmvorgang auszulösen, so dass die Verarbeitung der Schaltungsanordnung angehalten wird, z. B. für einen bestimmten Zeitraum. Ein Anhalten der Verarbeitung der Schaltungsanordnung (z. B. für einen bestimmten (vorbestimmten) Zeitraum) kann z. B. implementiert werden, so dass der Takt der Schaltungsanordnung auf null gedrosselt wird (z. B. für einen bestimmten Zeitraum).
-
Gemäß einer weiteren Ausführungsform ist die Entscheidungssteuereinheit 140 konfiguriert, den Alarmvorgang auszulösen, so dass eine Firewall-Öffnung nicht gegeben ist.
-
In einer Ausführungsform ist der Signaturgenerator 130; 230 konfiguriert, die erzeugte Signatur abhängig von einem aktuellen Zustand von zumindest einem der überwachten Signale und abhängig von einem oder mehreren vorangegangenen Zuständen des zumindest einen der überwachten Signale zu erzeugen.
-
Dadurch kann ein Verlauf der Zustände der überwachten Signale berücksichtigt werden. Die erzeugte Signatur für die überwachten Signale hängt nicht nur von dem aktuellen Zustand der überwachten Signale ab, sondern auch von den Zuständen der überwachten Signale in der Vergangenheit.
-
In einer bestimmten Ausführungsform werden die vorangegangenen Signaturzustände aller überwachten Signale zum Erzeugen der erzeugten Signatur berücksichtigt. In einer solchen Ausführungsform ist der Signaturgenerator 130; 230 konfiguriert, die erzeugte Signatur abhängig von einem aktuellen Zustand jedes der überwachten Signale und abhängig von einem oder mehreren vorangegangenen Zuständen jedes der überwachten Signale zu erzeugen.
-
Gemäß Ausführungsformen ist der Signaturgenerator 130; 230 konfiguriert, die erzeugte Signatur durch Erzeugen einer Zwischensignatur für jedes der überwachten Signale und durch Kombinieren der Zwischensignaturen der zwei oder mehrerer der überwachten Signale zu erzeugen.
-
In solchen Ausführungsformen wird zuerst eine (Zwischen-)Signatur für jedes der überwachten Signale erzeugt und dann wird eine einzelne erzeugte Gesamtsignatur aus diesen einzelnen Signaturen des überwachten Signals erzeugt.
-
Beispielsweise können die (Zwischen-)Signaturen aller überwachten Signale z. B. verknüpft werden und z. B. kann die Gesamtsignatur z. B. durch Erzeugen einer Signatur auf der Verknüpfung erzeugt werden.
-
Oder die Verknüpfung der Signaturen für die einzelnen überwachten Signale kann z. B. selbst die erzeugte Signatur für alle überwachten Signale sein.
-
Beispielsweise kann jede Zwischensignatur eines überwachten Signals z. B. kürzer (in Bezug auf die Bitgröße) sein als das überwachte Signal.
-
In einer Ausführungsform ist der Signaturgenerator 130; 230 konfiguriert, die erzeugte Signatur durch Kombinieren der zwei oder mehrerer der überwachten Signale zum Erhalten eines kombinierten Signals und durch Erzeugen der erzeugten Signatur abhängig von dem kombinierten Signal zu erzeugen.
-
In einer solchen Ausführungsform findet zuerst ein Kombinierungsschritt statt, der die überwachten Signale kombiniert und dann wird die Gesamtsignatur für alle überwachten Signale durch Erzeugen der erzeugten Signatur für die kombinierten überwachten Signale erzeugt.
-
Beispielsweise kann die erzeugte Signatur z. B. kürzer sein (z. B. in Bezug auf die Bitgröße) als das überwachte Signal.
-
Gemäß einer Ausführungsform kann der Signaturgenerator 130; 230 z. B. konfiguriert sein, die erzeugte Signatur so zu erzeugen, dass eine erste Bitlänge der erzeugten Signatur kürzer ist als eine zweite Bitlänge von zumindest einem der zwei oder mehr der überwachten Signale.
-
1d zeigt eine Schaltungsanordnung gemäß einer weiteren Ausführungsform, worin die Schaltungsanordnung ferner eine oder mehrere Untereinheiten 121, 122 umfasst. Der Signaturgenerator 130 ist konfiguriert, die zwei oder mehr überwachten Signale von der einen oder mehreren der Untereinheiten 121, 122 zu empfangen.
-
In einer Ausführungsform ist zumindest eine der einen oder mehrerer der Untereinheiten 121, 122 ein Prozessor, eine Ganzzahl-Pipeline oder eine Speichersteuereinheit.
-
In einer bestimmten Ausführungsform ist eine erste der einen oder mehrerer der Untereinheiten 121, 122 ein Prozessor, eine zweite der einen oder mehrerer der Untereinheiten 121, 122 ist eine Ganzzahl-Pipeline und eine dritte der einen oder mehrerer der Untereinheiten 121, 122 ist eine Speichersteuereinheit.
-
Im Folgenden können die überwachten Signale auch als interne Signale der Schaltungsanordnung bezeichnet werden.
-
Falls nachfolgend auf eine integrierte Schaltung Bezug genommen wird, ist offenkundig, dass alle Erklärungen gleichermaßen auch auf die Schaltungsanordnungen aus 1a bis 1d zutreffen.
-
Nachfolgend werden bestimmte Ausführungsformen beschrieben.
-
Gemäß Ausführungsformen werden interne Signale einer integrierten Schaltung (IC) beobachtet. Ein kostengünstiger und schneller Signaturgenerator 130 kann z. B. verwendet werden, um eine größenreduzierte Signatur der beobachteten Signale der integrierten Schaltung für jeden Taktzyklus zu berechnen. Durch die somit erzeugte Signatur kann die gesamte Aktivität der integrierten Schaltung z. B. auf komprimierte Art und Weise dargestellt werden.
-
Dann wird die erzeugte Signatur mit gefährlichen Signaturen und Signaturverläufen verglichen, die zuvor auf einem Speicher gespeichert wurden. Ein Vergleich wird mithilfe einer bestimmten Fehlertoleranz durchgeführt. Falls eine Übereinstimmung detektiert wird, kann z. B. ein Verwaltungsverfahren (z. B. Leistungsverwaltung zum Drosseln des Takts der integrierten Schaltung) verwendet werden, um diese gefährliche Situation zu entschärfen.
-
Mittels dieses Konzepts können gefährliche Situationen (z. B. Spitzen-Leistungsverbrauch, Versorgungsspannungsabsinken, unerlaubte Systemzustände, die gegen Sicherheitsrichtlinien verstoßen) detektiert werden und können entschärft werden, bevor sie schwerwiegende Ausfälle verursachen. Keine externen analogen Sensoren werden benötigt, um gefährliche Leistungs- und Spannungsnotfallsituationen zu detektieren.
-
Unter anderem sind die folgenden drei Arten von Signaturen wichtig:
- (i) Gefahren-Signatur: Falls diese Art von Signatur detektiert wird, wird der zugewiesene Lösungsvorgang (z. B. Drosseln der Taktfrequenz der integrierten Schaltung, Aktivierung einer Sicherheitsfalle) durchgeführt.
- (ii) Imperativ-Signaturen: Falls ein zugewiesener Trigger-Bestandteil innerhalb der Signatur detektiert wird, muss der markierte imperative Bestandteil der Signatur ebenfalls damit übereinstimmen.
- (iii) Imperativ-Signaturen-Nicht: Falls ein zugewiesener Trigger-Bestandteil innerhalb der Signatur detektiert wird, darf der markierte imperative Bestandteil der Signatur nicht damit übereinstimmen.
-
Manche Ausführungsformen verwenden eine, zwei oder alle drei dieser Arten von Signaturen.
-
In bestimmten Ausführungsformen können zusätzlich dazu eine oder mehrere weitere Arten von Signaturen zusammen mit einer, zwei oder allen dreien der obigen Arten von Signaturen verwendet werden.
-
Falls eine Gefahren-Signatur detektiert wird oder ein Imperativ-Signatur-Vergleich fehlschlägt, wird ein zugeordnetes Lösungsverfahren ausgeführt.
-
Manche Ausführungsformen betreffen das Erzeugen von genauen und komprimierten Mikroarchitektursignaturen und ihre Verwendung zur Detektion und Lösung von gefährlichen Situationen (z. B. Spitzen-Leistungsverbrauch, Versorgungsspannungsnotfälle etc.).
-
Darüber hinaus betreffen weitere Ausführungsformen das Erzeugen von genauen und komprimierten Mikroarchitektursignaturen und ihre Verwendung zur Detektion und Prävention von Störfallauslösungsangriffen durch Implementieren einer signaturabhängigen peripheren Zugriffssteuereinheit.
-
Die folgenden Ausführungsformen, die unter Bezugnahme auf 2 und 5 beschrieben werden, betreffen Ausführungsformen aus 1a und 1b und auch die Ausführungsformen aus 1c und 1d.
-
Zuerst werden Implementierungsbeispiele beschrieben, die z. B. die Leistungsverwaltung betreffen können.
-
2 zeigt eine integrierte Schaltung gemäß einer Ausführungsform, die einzelne Signaturen verwendet und ausgelegt ist, mit einem gefährlichen Spitzen-Leistungsverbrauch und Versorgungsspannungsabsinken umzugehen. 2 zeigt Untereinheiten 221–224, insbesondere Crypto-Kern 221, Ganzzahl-Pipeline 222, Speichersteuereinheit 223 und eine weitere Untereinheit 224.
-
Darüber hinaus zeigt 2 einen Signaturgenerator 230, der selbst vier Signaturgeneratoreinheiten 231, 232, 233 und 234 umfasst.
-
Die Entscheidungssteuereinheit 140 ist konfiguriert, einen Alarmvorgang auszulösen, falls zumindest einer der Vergleiche z. B. einen irregulären Zustand oder einen kritischen Zustand einer oder mehrerer der Untereinheiten 221, 222, 223, 224 oder des gesamten Systems angibt, sie kann den Alarmvorgang/Lösungsvorgang z. B. so auslösen, dass Befehle dann ausgeführt werden, um einen Takt einer Schaltung zu drosseln oder eine Firewall-Öffnung zu blockieren. Oder der Alarmvorgang kann beispielsweise ein Herunterfahren des Systems durchführen.
-
Alle Elemente der integrierten Schaltung aus 2 werden mittels relevanter Signale überwacht. Basierend auf diesen Signalen wird eine kostengünstige Signatur für jeden Taktzyklus berechnet. Diese komprimierte Signatur stellt die relevantesten integrierten Schaltungsaktivitäten dar. Eine Entscheidungssteuereinheit 140 vergleicht jeden Taktzyklus dahingehend, ob die aktuelle integrierte Schaltungssignatur mit einer gespeicherten Gefahren-Signatur oder mit einem Signaturverlauf innerhalb eines zugewiesenen Speichers übereinstimmt. Dieser Vergleich kann z. B. mit einem fehlertoleranten Ansatz, der Einfluss kleiner Signaturabweichungen zu reduzieren, ausgefüllt werden. Die gespeicherten Signaturen können z. B. im Vorhinein während eines Charakterisierungsvorgangs mithilfe von Benchmarking-Anwendungen und zugewiesenen Angriffsszenarien identifiziert und aufgezeichnet werden.
-
3 zeigt zwei Diagramme zur Darstellung des Arbeitsprinzips der Leistungsverwaltung mittels einzelner Signaturen gemäß einer Ausführungsform. Während jedes Taktzyklus wird die Signatur der integrierten Schaltung berechnet, die mit s11, s12, ... bezeichnet werden. Die berechneten Signaturen werden mit gespeicherten Gefahren-Signaturen verglichen. Eine Übereinstimmung mit einem gespeicherten Signaturverlauf wird zum Zeitpunkt s11 und s12 detektiert. Somit weiß der Verwaltungsalgorithmus, dass es wahrscheinlich ist, dass während der nächsten Taktzyklen eine gefährliche Situation auftritt. Die Leistungsverwaltungsschaltungsanordnung ist nun dazu in der Lage, z. B. den Takt der integrierten Schaltung zu drosseln, um den Leistungsverbrauch der integrierten Schaltung zu reduzieren und eine mögliche entstehende gefährliche Situation zu verhindern.
-
Nunmehr werden Ausführungsformen beschrieben, die z. B. eine Sicherheitsüberwachung und eine periphere Zugriffssteuerung betreffen.
-
Das folgende Implementierungsbeispiel zeigt die Handhabung von sicherheitsbezogenen gefährlichen Situationen mithilfe einer Imperativ-Signatur. Während einer zuvor durchgeführten Charakterisierungs- oder Code-Vorbereitungsphase werden die relevantesten oder Befehlsstromsignaturen der integrierten Schaltung aufgezeichnet, während wichtige Sicherheitsvorgänge ausgeführt werden. In diesem vereinfachten Beispiel wird definiert, dass nur dann auf einen gesicherten Speicherbereich, der einen geheimen Schlüssel enthält, zugegriffen werden darf, während der kryptografische Coprozessor aktiv ist. Ein Zugreifen auf diesen gesicherten Speicherbereich zu einem anderen Zeitpunkt stellt einen verbotenen Systemzustand dar. Ein solcher ungültiger Systemzustand kann herbeigeführt werden, z. B. durch einen Feind, der absichtlich Störungen eingeführt hat. Somit wird die Signatur des Speicherbereichs als ein Trigger markiert und die Signatur des Crypto-Coprozessors wird als Imperativ markiert, alle anderen Signaturbestandteile der integrierten Schaltung werden als nichtsignifikant markiert. Diese Signaturstrominformationen werden innerhalb eines Signaturstromspeichers entweder in der Form einer Signaturkette (siehe 4) oder als eine verarbeitete Darstellung einer Kette (im Fall einer Befehlsstromsignatur, siehe 5) gespeichert.
-
In 4 ist eine integrierte Schaltung gemäß einer weiteren Ausführungsform dargestellt, die eine signaturkettenbasierte Zugriffssteuereinheit verwendet.
-
Darüber hinaus ist in 5 eine integrierte Schaltung gemäß einer weiteren Ausführungsform dargestellt, die eine befehlsstrombasierte Zugriffssteuereinheit verwendet.
-
Falls der Trigger-Bestandteil der Signatur während des Betriebs detektiert wird (wenn auf den Schlüssel innerhalb des Speichers zugegriffen wird), wird auch der markierte imperative Bestandteil der berechneten Signatur mit dem markierten gespeicherten imperativen Signaturbestandteil (Crypto-Kern aktiv) verglichen. Falls der imperative Signaturbestandteil nicht übereinstimmt, wird ein verbotener Systemzustand detektiert. In diesem bestimmten Nicht-Übereinstimmungsfall kann geschlussfolgert werden, dass auf den sicheren Speicherbereich zugegriffen wurde, während der Crypto-Coprozessor nicht aktiv war. Dies verletzt die vorbestimmte Sicherheitsrichtlinie (es darf nur dann auf den sicheren Speicher zugegriffen werden, während der Crypto-Coprozessor aktiv ist) und eine zugewiesene Interventions-Implementierung wird entweder aktiviert oder eine benötigte Öffnung in einer Hardware-Firewall wird nicht erlaubt (z. B. Alarm, Sicherheitsfalle, Chip-Zurücksetzen).
-
Es ist von Vorteil, dass die Herstellung der Signaturkette oder des Befehlsstromsignaturspeichers 110 nicht von einem Störungsangriff übergangen werden kann, da dies den Signaturvergleichswert automatisch ungültig machen würde.
-
Darüber hinaus ist die Überprüfung, ob der Ausgangswert und die Vergleichssignatur übereinstimmen, kein einzelnes Ereignis, das von der vorangegangenen Berechnung unabhängig ist. Eine Unterbrechung der Berechnung verändert immer die Befehlsstromsignatur oder die Signaturkette und macht den Vergleichswert deshalb ungültig.
-
Außerdem müssen die Signaturkette oder der Befehlsstromsignaturspeicher nur einmal hergestellt werden, deshalb sind die Auswirkungen auf das Leistungsverhalten verglichen mit peripheren Zugriffssequenzen, die für jeden peripheren Zugriff erstellt werden müssen, beschränkt.
-
Darüber hinaus muss keine zusätzliche Hardware und mehr Zeit investiert werden, um einen Datenverlust aus dieser Signaturkette oder Befehlsstromsignaturspeicher zu verhindern, da diese Informationen keinen Sicherheitswert aufweisen.
-
Obwohl einige Aspekte im Kontext eines Systems beschrieben wurden, ist klar, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einer Eigenschaft eines Verfahrensschritts entsprechen. Analog dazu stellen Aspekte, die im Kontext eines Verfahrensschritts beschrieben sind, auch eine Beschreibung eines entsprechenden Blocks oder Elements oder einer Eigenschaft eines entsprechenden Systems dar.
-
Das erfinderische zerlegte Signal kann auf einem digitalen Speichermedium gespeichert werden oder kann auf einem Übertragungsmedium wie einem drahtlosen Übertragungsmedium oder einem verdrahteten Übertragungsmedium wie dem Internet übertragen werden.
-
Abhängig von bestimmten Implementierungsanforderungen können Ausführungsformen der Erfindung in Hardware oder in Software implementiert werden. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, z. B. einer Diskette, einer DVD, einer CD, einer ROM, einem PROM, einem EPROM, einem EEPROM oder einem Flash-Speicher mit elektronisch lesbaren Steuersignalen, die darauf gespeichert sind, durchgeführt werden, die mit einem programmierbaren Computersystem zusammenarbeiten (oder zur Zusammenarbeit damit in der Lage sind), so dass das entsprechende Verfahren durchgeführt wird.
-
Manche Ausführungsformen gemäß der Erfindung umfassen einen nichtvorübergehenden Datenträger mit elektronisch lesbaren Steuersignalen, der dazu in der Lage ist, mit einem programmierbaren Computersystem zusammenarbeiten, so dass eines der hierin beschriebenen Verfahren durchgeführt wird.
-
Manche Ausführungsformen umfassen eine virtuelle Maschine, z. B. eine virtuelle JAVA®-Maschine.
-
Im Allgemeinen können Ausführungsformen der vorliegenden Erfindung als ein Computerprogrammprodukt mit einem Programmcode implementiert werden, wobei der Programmcode zum Durchführen eines der Verfahren betrieben werden kann, wenn das Computerprogrammprodukt auf einem Computer läuft. Der Programmcode kann z. B. auf einem maschinenlesbaren Träger gespeichert sein.
-
Andere Ausführungsformen umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, das auf einem maschinenlesbaren Träger gespeichert ist.
-
Anders ausgedrückt ist eine Ausführungsform des erfinderischen Verfahrens deshalb ein Computerprogramm mit einem Programmcode zum Durchführen eines der hierin beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer läuft.
-
Eine weitere Ausführungsform der erfinderischen Verfahren ist deshalb ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), das das Computerprogramm, das darauf aufgezeichnet ist, zum Durchführen eines der hierin beschriebenen Verfahren umfasst.
-
Eine weitere Ausführungsform des erfinderischen Verfahrens ist deshalb ein Datenstrom oder eine Abfolge von Signalen, die das Computerprogramm darstellen, zum Durchführen eines der hierin beschriebenen Verfahren. Der Datenstrom oder die Abfolge von Signalen kann z. B. konfiguriert sein, über eine Datenkommunikationsverbindung, z. B. über das Internet, übertragen zu werden.
-
Eine weitere Ausführungsform umfasst ein Verarbeitungsmittel, z. B. einen Computer oder eine programmierbare Logikvorrichtung, das konfiguriert oder ausgelegt ist, eines der hierin beschriebenen Verfahren durchzuführen.
-
Eine weitere Ausführungsform umfasst einen Computer, worauf das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
-
In manchen Ausführungsformen kann eine programmierbare Logikvorrichtung (z. B. eine feldprogrammierbare Logik-Gateanordnung) verwendet werden, um manche oder alle der Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. In manchen Ausführungsformen kann eine feldprogrammierbare Logik-Gateanordnung mit einem Mikroprozessor zusammenarbeiten, um eines der hierin beschriebenen Verfahren durchzuführen. Im Allgemeinen werden die Verfahren vorzugsweise von irgendeiner Hardware-Vorrichtung durchgeführt.
-
Die oben beschriebenen Ausführungsformen stellen nur die Prinzipien der vorliegenden Erfindung beispielhaft dar. Es gilt zu verstehen, dass Modifikationen und Variationen und die hierin beschriebenen Details für Fachleute klar ersichtlich sind. Deshalb besteht die Absicht, dass der Gegenstand nur durch den Schutzumfang der nachfolgenden Patentansprüche beschränkt wird und nicht durch die speziellen Details, die durch Beschreibung und Erklärung der Ausführungsformen hierin vorgestellt wurden.