-
Die
Erfindung betrifft eine integrierte Schaltungsanordnung, um die
Frequenz eines Taktsignals zu überprüfen, und
ein Verfahren zum Betreiben solch einer Schaltungsanordnung.
-
Bei
Mikrocontrollern für
sicherheitsrelevante Anwendungen ist häufig eine schaltungsinterne
Taktsignalgenerierung vorgesehen. Alternativ dazu kann zum Betreiben
des entsprechenden Chips auch ein externes Taktsignal an dafür vorgesehene
Schnittstellen angelegt werden. Ein externes Taktsignal wird beispielsweise
auch zur Kommunikation mit dem Chip verwendet.
-
Vorteil
der internen Taktsignalgenerierung ist, dass diese den Betrieb des
Chips bei hohen Frequenzen ermöglicht,
auch wenn die extern, beispielsweise zur Kommunikation, angelegte
Taktfrequenz niedriger ist.
-
Des
Weiteren schützt
die interne Taktsignalgenerierung vor einem Angriff. Einerseits
ist bei einer Schaltungsanordnung mit einer internen Taktsignalgenerierung
die Synchronisation von angelegten Signalen zum Zwecke des Angriffs
schwierig. Andererseits ist es nicht ohne weiteres möglich, den
internen Takt im Rahmen des Angriffs zu verringern.
-
Nachteil
solch einer Schaltungsanordnung mit interner Taktsignalgenerierung
ist die Schwierigkeit, die Taktfrequenz des internen Taktsignals
zu testen.
-
Bisher
wird die Taktfrequenz durch einen Vergleich mittels zweier Frequenzsensoren
detektiert. Der eine Frequenzsensor detektiert hinsichtlich einer
unteren Grenzfrequenz und der andere Frequenzsensor detektiert hinsichtlich
einer oberen Grenzfrequenz. Nachteil dieser Anordnung ist, dass beide
Frequenzsensoren das Ziel eines Angriffs sein können. Weiterer Nachteil ist,
dass mit den Frequenzsensoren auch eine entsprechend höhere Stromaufnahme
der Schaltung einhergeht.
-
Ein
anderer Ansatz, den internen Takt zu überprüfen, umfasst, diesen mit einem
externen Takt zu vergleichen. Hierfür ist ein Register vorgesehen. Solch
eine Anordnung schützt
aber nicht gegen einen Angriff, bei dem die Frequenz des externen
Takts verringert wird, was einfach möglich ist. Denn dadurch wird
auch die Frequenz des internen Takts verringert.
-
Aus
der
US 2005/0218401
A1 ist eine Anordnung mit einer Testleitung, einem Testsignalgenerator
und einer Vergleichseinheit bekannt, bei der die Laufzeit des Testsignals über die
Testleitung mittels eines Laufzeitvergleichs eines Taktsignals über eine Referenzstrecke
bestimmt wird.
-
Aus
der
DE 19938060 A1 ist
eine Testeinrichtung bekannt, deren Funktionsweise auf Laufzeitvergleichen
basiert. Aus der
EP
1182702 A1 ist ein so genanntes aktives Schild bekannt,
bei dem Signale über
Testleitungen übertragen
werden.
-
Es
ist Aufgabe der Erfindung, eine Schaltungsanordnung zum zuverlässigen Überprüfen einer
Taktfrequenz bereitzustellen sowie ein Verfahren zum Betreiben solch
einer Schaltungsanordnung vorzusehen.
-
Die
Lösung
der Aufgabe erfolgt durch eine Schaltungsanordnung und ein Verfahren
gemäß den nebengeordneten
Patentansprüchen.
-
Die
integrierte Schaltungsanordnung umfasst eine Testleitung und einen
Testsignalgenerator, der an die Testleitung gekoppelt ist und ausgebildet ist,
ein Testsignal auf die Testleitung zu geben. Die Schaltungsanordnung
umfasst ferner eine Vergleichseinheit mit einem Eingang zum Anlegen
eines Taktsignals, wobei die Vergleichseinheit an die Testleitung
gekoppelt ist und ausgebildet ist, eine Laufzeit des Testsignals über die
Testleitung zu detektieren und zu überprüfen, ob das Taktsignal und
die Laufzeit in einem vorgegebenen Zusammenhang stehen. Die Vergleichseinheit
detektiert, ob die Laufzeit des Signals über die Testleitung mindestens
ein vorgegebenes erstes Vielfaches der Taktdauer des Taktsignals ist
und maximal ein vorgegebenes zweites Vielfaches der Taktdauer des
Taktsignals ist.
-
Dieser
Vergleich hat den Vorteil, dass sich mit zunehmender Länge der
Leitung der relative Fehler durch Fehlanpassung der Leitung oder
Messfehler verringert.
-
Der
vorgegebene Zusammenhang, beispielsweise eine Laufzeit, die das
Signal über
die Testleitung benötigen
soll, wird durch ein Speichermittel oder über einen Eingang an der Vergleichseinheit
bereitgestellt.
-
Vorteil
dieser Anordnung ist, dass ein Referenzsignal zum Vergleich mit
dem Taktsignal in einem von der Taktsignalgenerierung unabhängigen Teil
der Schaltungsanordnung generiert wird. Hierbei dient die Laufzeit
des Testsignals über
die Testleitung als Referenz.
-
Dieser
Ansatz basiert auf der sehr stabilen und von der Funktion der Schaltung
unabhängigen Laufzeit über die
Testleitung. Die Laufzeit hängt
von der Länge
der Testleitung ab.
-
Vorteilhafterweise
umfasst die Vergleichseinheit einen Zähler, dessen Öffnungszeit
von der Laufzeit des Signals gesteuert wird. Während der Öffnungszeit werden Takte des
eingangseitig an der Vergleichseinheit anliegenden Taktsignals gezählt werden,
d.h. während
das Testsignal über
die Testleitung läuft
werden die Takte gezählt.
Auf diese Weise ist ein einfacher Vergleich möglich, indem die Anzahl der
gezählten
Takte mit einem vorgegebenem Vergleichswert oder einem Vergleichswertebereich
verglichen werden.
-
Die
Testleitung kann hin und her verlaufend beziehungsweise mäanderförmig angeordnet
werden, um die erforderlicher Länge
der Testleitung auf einem begrenzten Raum anzuordnen.
-
Vorteilhafterweise
ist die Testleitung in einer oberen Schicht der integrierten Schaltungsanordnung
angeordnet. Auf diese Weise bedeckt die Testleitung die darunter
liegende restliche Schaltungsanordnung und verhindert visuelle Spähangriffe
auf deren Funktionsweise. Diese Anordnung der Testleitung bildet
ein Schild aus. Zum Ausspionieren der Schaltungsanordnung ist es
in diesem Fall erforderlich, die Testleitung zu manipulieren, beispielsweise durch Überbrückung der
Testleitung und Abtragen der überbrückten Bereiche.
Eine damit einhergehende Veränderung
der Laufzeit, wird durch Vergleich mit dem vorgegebenen Vergleichswert
festgestellt und lässt
auf einen Angriff schließen.
Selbstverständlich
werden auch Unterbrechungen der Testleitung, anhand des nicht mehr
detektierbaren Testsignals, das auf die Testleitung gegeben worden
ist, detektiert.
-
In
einer besonders vorteilhaften Ausgestaltung ist die Testleitung
als Teil eines aktiven Schildes ausgebildet. In diesem Fall kann
nicht nur das Testsignal zur Bestimmung der Laufzeit über die
Testleitung gegeben werden. Vielmehr werden, insbesondere während des
Betriebs der Schaltungsanordnung, weitere Testsignale über die
Testleitung gegeben und detektiert. Anhand eines Unterschieds zwischen
dem aufgeprägten
Signal und dem detektierten Signal lässt sich auf einen Angriff
schließen.
Geeignete Testsignale für
solch eine Ausgestaltung sind beispielsweise Zufallsfolgen oder
vorgegebene Bitmuster.
-
Vorteilhafterweise
ist die Vergleichseinheit derart an den Taktsignalgenerator gekoppelt,
dass die Taktfrequenz auf eine Referenztaktfrequenz, die sich aus
der Laufzeit ergibt, geregelt wird. Solch eine Regelung kann erfolgen,
indem ein Steuersignal von der Vergleichseinheit bereitgestellt
wird, das Informationen enthält,
ob die momentane Taktfrequenz höher
oder niedriger als die vorgegebene Referenztaktfrequenz ist.
-
Das
erfindungsgemäße Verfahren
zum Überprüfen der
Taktfrequenz eines Taktsignals umfasst folgende Schritte:
- – Übertragen
eines Testsignals über
eine Testleitung,
- – Detektieren
einer Laufzeit des Testsignals und
- – Überprüfen, ob
das Taktsignal und die Laufzeit in einem vorgegebenen Zusammenhang
stehen. Kennzeichnenderweise wird detektiert, ob die Laufzeit mindestens
ein vorgegebenes erstes Vielfaches der Taktdauer des Taktsignals
ist und maximal ein vorgegebenes zweites Vielfaches der Taktdauer
des Taktsignals ist. Da beim Verfahren detektiert wird, ob die Taktdauer
des Taktsignals ein Vielfaches der Laufzeit ist, können auch
hohe Taktfrequenzen mit guter Genauigkeit geprüft werden.
-
Vorteilhafte
Schaltungsanordnungen ergeben sich aus den untergeordneten Patentansprüchen.
-
Auf
einfache Weise lässt
sich das Detektieren bewerkstelligen, indem die Anzahl der Takte
während
der Laufzeit gezählt
werden.
-
Anhand
des Testsignals und seiner Laufzeit sind Rückschlüsse darüber möglich, ob die Testleitung hinsichtlich
ihrer Länge
manipuliert oder unterbrochen worden ist.
-
Anhand
der Laufzeit wird vorteilhafterweise die Taktfrequenz des Taktsignals
gesteuert, da darin auch Informationen enthalten sind, ob die momentane
Taktsignalfrequenz über- oder unterhalb des
vorgegebenen Wertes liegt.
-
Nachfolgend
wird die Erfindung unter Bezugnahme auf die Zeichnung anhand von
Ausführungsbeispielen
erklärt.
-
Es
zeigen:
-
1 ein
schematisches Schaltbild eines ersten Ausführungsbeispiels einer integrierten
Schaltungsanordnung,
-
2 Signalverläufe von
Signalen innerhalb der Schaltungsanordnung und
-
3 ein
schematisches Schaltbild eines zweiten Ausführungsbeispiels einer integrierten Schaltungsanordnung.
-
1 zeigt
ein schematisches Schaltbild einer integrierten Schaltungsanordnung
zur Überprüfung eines
Taktsignals T. Die Schaltungsanordnung umfasst einen Testsignalgenerator 1.
Dieser Testsignalgenerator 1 ist an eine Testleitung 2 gekoppelt. Ferner
ist eine Vergleichseinheit 3 vorgesehen, die an den Testsignalgenerator 1 und
an die Testleitung 2 gekoppelt ist.
-
Der
Testsignalgenerator 1 generiert ein Testsignal S, das auf
die Testleitung 2 gegeben wird. Auf Grund einer endlichen Laufzeit
des Testsignals S über
die Testleitung 2 wird das Testsignal S von der Vergleichseinheit 3 erst
nach einer endlichen Zeit detektiert. Der Zeitunterschied zwischen
dem Aufprägen
des Testsignals S auf den Anfang P_S1 der Testleitung 2 und
der Detektion am Ende P_S2 der Testleitung 2 wird als Laufzeit
bezeichnet. Die Laufzeit des Testsignals S hängt von der Länge der
Testleitung 2 ab.
-
Je
länger
die Testleitung 2 ist, desto größer ist die Laufzeit. Je länger die
Laufzeit ist, desto weniger fallen Messfehler und systemimmanente Schwankungen
der Laufzeit ins Gewicht. Somit ist es vorteilhaft, dass die Laufzeit-
als Referenzsignal – möglichst
groß ist.
Dies geht mit einer langen Testleitung 2 einher. Solch
eine lange Testleitung 2 lässt sich beispielsweise auf
einem integrierten Schaltkreis ausbilden, indem die Testleitung 2 hin
und her beziehungsweise mäanderförmig verläuft. Dieses
ist in 1 angedeutet.
-
Des
Weiteren ist in der Schaltungsanordnung in 1 ein Taktsignalgenerator 4 vorgesehen, der
ein Taktsignal T ausgibt, das der Vergleichseinheit 3 zugeführt wird.
-
Der
Taktsignalgenerator 4 stellt das Taktsignal T nicht nur
der Vergleichseinheit 3 bereit, sondern auch einer Vielzahl
weiterer Schaltungseinheiten innerhalb der integrierten Schaltung,
auf deren Darstellung in 1 verzichtet worden ist. Der
interne Betrieb und die Kommunikation der Schaltungseinheiten erfolgt
mit diesem internen Takt T.
-
Inwiefern
die Taktfrequenz des Taktsignals T einer vorgegebenen Taktfrequenz
entspricht, lässt sich
durch einen Vergleich des Taktsignals T und der Laufzeit des Testsignals
S ermitteln. Dieses wird im Folgenden erläutert.
-
2 zeigt
beispielhafte Zusammenhänge zwischen
dem Testsignal S und dem Taktsignal T.
-
Als
Signal S1 ist der zeitliche Verlauf des Testsignals S am Anfang
der Testleitung 2 dargestellt. Dieser Ort ist in 1 mit
dem Referenzzeichen P_S1 gekennzeichnet. Beispielsweise handelt es
sich bei dem Testsignal S um einen Impuls oder um eine Sprungfunktion,
da sich Flanken leicht detektieren lassen.
-
Als
Signal S2 ist der zeitliche Verlauf des Testsignals S am Ende der
Testleitung, das von der Vergleichseinheit nach dem Durchlaufen
der Testleitung 2 detektiert wird, dargestellt. Dieser
Ort ist in 1 mit dem Referenzzeichen PS_2
gekennzeichnet. Auf Grund der Laufzeitverzögerung über die Testleitung 2 ergibt
sich zwischen den Flanken des Signals S1 und des Signals S2 eine
Zeitdifferenz L.
-
2 zeigt
ferner zwei beispielhafte Taktsignale T1 und T2, die sich in ihrer
Pulsdauer TT1 beziehungsweise TT2 und in ihrer Periode D1 beziehungsweise
D2 unterscheiden. Üblicherweise
ist die Pulsdauer des Taktsignals T sehr viel geringer als die Laufzeit
L. Dieses ist in 2 nur angedeutet.
-
Die
Vergleichseinrichtung 3 überprüft, ob das Taktsignal T in
einem gegebenen Zusammenhang zur Laufzeit L steht. Daraus lässt sich
schließen,
ob die Taktfrequenz des Taktsignals T die vorgegebenen Anforderungen
erfüllt
oder möglicherweise
ein Angriff vorliegt.
-
Zur Überprüfung sind
verschiedene Ansätze möglich. Beispielsweise
kann überprüft werden,
ob eine vorgegebene Anzahl von Pulsen des Taktsignals T innerhalb
der Laufzeit L bereitgestellt wird. Wenn Schwankungen der Taktfrequenz
toleriert werden, kann überprüft werden,
ob sich die Anzahl der Pulse innerhalb vorgegebener Grenzen liegt.
Der vorgegebene Vergleichswert beziehungsweise der Vergleichswertebereich
ist in einem Register 10 gespeichert.
-
Alternativ
kann insbesondere bei geringeren Unterschieden zwischen der Pulsdauer
und der Laufzeit ermittelt werden, ob ein vorgegebenes, beispielsweise
ganzzahliges, Vielfaches der Pulsdauer innerhalb der Laufzeit ist.
Dieses wäre
beim Signal T1 der Fall, indem genau zwei Perioden D1 innerhalb
der Laufzeit L sind.
-
Beim
Signal T2 ist die Periode D2 länger,
sodass es nicht möglich
ist, zwei Perioden D2 innerhalb der Laufzeit L zu detektieren.
-
Natürlich ist
auch eine mittelbare Messung der Anzahl der Takte während der
Laufzeit denkbar, indem abhängig
von der Laufzeit ein Referenzsignal erzeugt wird, das beispielsweise
einem Integrator zugeführt
wird.
-
3 zeigt
ein weiteres Ausführungsbeispiel der
Schaltungsanordnung als schematisches. Schaltbild in perspektivischer
Darstellung.
-
Gleiche
Bezugzeichen geben gleiche Anordnungsteile an. Zur Vermeidung von
Wiederholungen erfolgt keine mehrfache Beschreibung übereinstimmender
Anordnungen.
-
Die
in 3 dargestellte Schaltungsanordnung umfasst zwei
Leiterbahn- oder Metallisierungsebenen. Natürlich ist es auch denkbar,
dass eine integrierte Schaltungsanordnung noch weitere Ebenen umfasst.
In der obersten Ebene ist die Testleitung 2 als Schild
angeordnet, sodass Bereiche der Testleitung 2 dicht benachbart
sind und hin und her verlaufen und die darunter liegende Schaltungsanordnung bedecken.
Im vom Schild geschützten
Bereich verlaufen Abschnitte der Testleitung 2 eng benachbart, um
die darunter liegenden Bereiche zu schützen. Durch diese Anordnung
wird der Schildeffekt erzielt.
-
Um
einen Angriff auf die darunter liegenden Schaltungsbereiche 5, 6 durchzuführen, müsste die Testleitung 2 entweder
durchtrennt oder überbrückt werden.
Ersteres ginge mit einer Veränderung
der Laufzeit L einher. Letzteres ließe das Detektieren der Laufzeit
unmöglich
werden. Im erstgenannten Fall stellt sich fast zwangsläufig eine
Differenz zur detektierten Taktfrequenz ein, da es äußerst schwierig
ist die Testleitungslänge 2 und
den Takt in aufeinander angepasste Weise zu manipulieren. Der Unterschied zwischen
der Laufzeit L und der internen Taktfrequenz lässt auf einen Angriff schließen.
-
In
solch einem Fall kann die Schaltungsanordnung ausgebildet sein,
geeignete Gegenmaßnahmen,
beispielsweise ein Neustarten oder das Durchführen geeigneter Abwehraktionen,
z. B. Löschen von
Registern, durchzuführen.
-
Neben
den weiteren Schaltungseinheiten 5, 6, die unterhalb
der Ebene mit der Testleitung 2 angeordnet sind, umfasst
die Schaltungsanordnung auch einen Signalgenerator 8. Mit
dem Signalgenerator 8 können
weitere Signale über
die Testleitung 2 gegeben werden, beispielsweise Zufallsfolgen.
Ein Unterschied zwischen den aufgeprägten Signalen und den detektierten
Signalen lässt
auf einen Angriff schließen.
Durch diese Anordnung wird ein aktives Schild ausgebildet.
-
Natürlich ist
es auch denkbar, mittels der Testleitung 2 einen externen
Takt zu überwachen.
In diesem Fall ist ein Anschluss 9 zum Anlegen des externen
Takts an die Vergleichseinrichtung 3 gekoppelt.
-
Das
Ausführungsbeispiel
der Vergleichseinrichtung 3 umfasst einen Zähler 11,
dessen Gate-Zeit oder Öffnungszeit
durch die Laufzeit über
die Testleitung 2 vorgegeben wird. Während der Laufzeit L werden
die Taktzyklen des angelegten Taktsignals T im Zähler 11 summiert.
Falls der Zähler 11 eine
zu hohe oder niedrige Zahl nach Ablauf der Öffnungszeit ausgibt, wird beispielsweise
ein Alarm ausgelöst
oder es wird ein Register gesetzt, um dieses Ereignis anzuzeigen.
-
Das
Ergebnis des Laufzeitvergleichs kann auch dazu dienen, die Taktfrequenz
des vom Taktsignalgenerator 4 bereitgestellten Taktsignals
T auf die vorgegebene Taktfrequenz zu regeln. In diesem Fall dient
die Anzahl der Takte als Information, inwiefern die momentane Taktfrequenz
von der vorgegebenen abweicht. Die Vergleichseinheit kann ausgebildet sein,
den Taktsignal in Abhängigkeit
dieser Information zu regeln oder die Information als Regelsignal
einer entsprechenden Regeleinrichtung bereitzustellen.
-
- 1
- Testsignalgenerator
- 2
- Testleitung
- 3
- Vergleichseinheit
- 4
- Taktsignalgenerator
- 5,
6
- Schaltungseinheiten
- 8
- Signalgenerator
- 9
- Anschluss
- 10
- Register
- 11
- Zähler
- S,
S1, S2
- Signal
- T,
T1, T2
- Taktsignal
- L
- Laufzeit
- P_S1
- Testleitungsanfang
- P_S2
- Testleitungsende
- D1,
D2
- Periode
- TT1,
TT2
- Pulsdauer
- t
- Zeit