-
Die
Erfindung betrifft allgemein integrierte synchrone elektronische
Schaltungen, die mit kombinierenden Logikmitteln, Flipflops und
Testmitteln versehen sind.
-
Genauer
genommen betrifft die Erfindung eine elektronische Schaltung, die
aufweist: mehrere Logikzellen, mehrere konfigurierbare Zellen, die
jeweils mindestens einen Multiplexer und einen Flipflop aufweisen,
und mehrere Steuerleitungen, die zumindest teilweise mit konfigurierbaren
Zellen verbunden sind und auf welchen Steuersignale selektiv zirkulieren,
die im Betrieb von einem Steuerschaltkreis, wie einem Zugangscontroller,
empfangen und/oder versendet werden, wobei die konfigurierbaren
Zellen selektiv in Abhängigkeit
von Steuersignalen einen Standardbetriebsmodus annehmen, in dem
sie zumindest mit bestimmten Logikzellen betriebsmäßig verbunden
sind, mit welchen sie kooperieren, um einen logischen Schaltkreis
zu bilden, und einen Testmodus annehmen, in dem die konfigurierbaren
Zellen betriebsmäßig funktionell
in Reihe geschaltet sind, um ein Schieberegister zu bilden, das
mit einem Dateneingang und einem Datenausgang versehen ist.
-
Es
ist wohl bekannt, das korrekte Funktionieren von Funktionselementen
einer integrierten Schaltung zu prüfen, indem zu vordefinierten
Zeitpunkten Datenwerte zugewiesen und/oder bestimmt werden, die
an bestimmten internen Stellen dieser integrierten Schaltung gegenwärtig sind.
-
Eine
solche Testtechnik interner Pfade einer integrierten Schaltung (bezeichnet
durch „scanpath" oder „internal
scan method" in
angelsächsischer Sprache)
ist zum Beispiel in der Veröffentlichung
von M. Williams und J. Angel, mit dem Titel „Enhancing Testability of
LSI Circuits Via Test Points and Additional Logic, IEEE Transactions
on Computers", Band C-22,
Nr. 1, Januar 1973, beschrieben.
-
Gemäß dieser
Technik ist jeder Flipflop der logischen Schaltung, für die es
nützlich
ist, ihren Zustand zu kennen und/oder den Inhalt während des Standardbetriebs
der integrierten Schaltung zuzuweisen, an seinem Eingang mit einem
Multiplexer ausgestattet.
-
Die
verschiedenen Flipflops und die Multiplexer, die zu ihnen gehören, bilden
daher ebenso viele konfigurierbare Zellen, deren Zugänge von
diesen Multiplexern gesteuert werden.
-
Die
Multiplexer dieser verschiedenen konfigurierbaren Zellen werden
gemeinsam von einem Zugangscontroller oder „TAP-Controller" („TAP" für „Test Access
Port" in angelsächsischer
Sprache) gesteuert, der in Abhängigkeit
von einem ausgewählten Betriebsmodus
diese Einheit konfigurierbarer Zellen entweder als funktionale Standardschaltung,
integriert in die Logikschaltung, die er mit den Logikzellen bildet,
oder als Testschaltkreis verwendet.
-
Dazu
empfängt
der TAP-Controller auf verschiedenen Steuerleitungen und/oder Adressen
auf verschiedenen Steuerleitungen, durch welche er mit den verschiedenen
konfigurierbaren Zellen verbunden ist, Steuersignale, wie zum Beispiel
ein Modussteuersignal, ein Verkettungssteuersignal oder auch ein
Datenausbreitungssteuersignal, die es erlauben, die Zirkulationspfade
der Daten innerhalb der integrierten Schaltung zu modifizieren und/oder
die sie modifizieren, und die daher das Erfassen dieser Daten durch
den Controller zu ihrer späteren
Analyse erlauben.
-
Im
Standardbetriebsmodus steuert der TAP-Controller daher die Multiplexer
der konfigurierbaren Zellen so, daß die Flipflops dieser Zellen
mit umgebenden Logikzellen verbunden werden, um eine oder mehrere
Unterbetriebseinheiten der integrieren Schaltung zu definieren.
-
Im
Testmodus, der normalerweise beim Empfang eines Steuersignals durch
den TAP-Controller zum Übergehen
auf den Testmodus ausgelöst wird,
erzeugt dieser Controller ein Verkettungssteuersignal, um die Flipflops
der konfigurierbaren Zellen in Reihe zu schalten, um ein Schieberegister
zu bilden.
-
Dieses
Register umfaßt
insbesondere einen seriellen Eingang und einen seriellen Ausgang,
die jeweils mit einem Ausgang und einem Eingang des TAP-Controllers
verbunden sind, sowie einen Taktgebereingang, der ein Taktgebersignal
zum Takten des Datenflusses empfängt.
-
Zuerst
lädt der
TAP-Controller in Serie Daten in die Flipflops der konfigurierbaren
Zellen über
den Eingang des Schieberegisters, das diese Zellen bilden.
-
Danach
wechselt der TAP-Controller die Umschaltung der Multiplexer, um
eine funktionelle Schaltung zu bilden, und steuert das Ausführen einer
oder mehrerer Taktgeberzyklen durch diese funktionelle Schaltung.
In dieser Phase werden die Daten, die in die Flipflops der konfigurierbaren
Zellen geladen sind, von der funktionelle Schaltung verarbeitet.
-
Der
Controller wechselt daher noch einmal die Umschaltung der Multiplexer,
um wieder das Schieberegister zu bilden, und gewinnt in Serie auf dem
Ausgang dieses Schieberegisters die Daten zurück, die in den Flipflops der
konfigurierbaren Zellen während
des letzten Taktgeberzyklus gespeichert waren.
-
Trotz
der bestätigten
Nützlichkeit
dieser Testtechnik kann sich ihre praktische Umsetzung unter bestimmten
Bedingungen als problematisch erweisen, insbesondere an integrierten
Schaltungen, die geheime Daten verarbeiten.
-
Insofern
als es das Aktivieren des Testmodus einem Betrüger erlauben kann, den Inhalt
der Flipflops der konfigurierbaren Zellen zu lesen, weist diese
Testtechnik a priori den Nachteil auf, daß sie solche Schaltungen für einen
betrügerischen
Gebrauch sehr anfällig
macht.
-
Indem
zum Beispiel in bestimmten Augenblicken ein interner Ladeprozeß geheimer
Daten in die integrierte Schaltung gestoppt wird und indem der Inhalt
des Schieberegisters entladen wird, kann ein Betrüger Informationen über geheime
Daten erhalten, kann sie sogar wiederherstellen.
-
Durch
Aktivieren des Testmodus kann ein Betrüger auch zum Schreiben auf
die Flipflops der konfigurierbaren Zellen zugreifen, um betrügerische Daten
einzufügen
oder um die integrierte Schaltung auf eine nicht genehmigte Konfiguration
zu stellen. Er kann daher zum Beispiel auf ein Register zugreifen, das
ein Sicherheitsorgan steuert, wie zum Beispiel einen Sensor, um
diesen zu deaktivieren. Er kann auch eine fehlerhafte Information
injizieren, um Informationen über
eine Geheiminformation zu erhalten.
-
Der
Betrug kann eigentlich auf zwei verschiedenen Strategien basisieren,
von welchen die erste darin besteht, die Kontrolle des TAP-Controllers
zu übernehmen
und an den externen Kontakten den Inhalt der Zellen des Schieberegisters
zu beobachten, und dessen zweite Strategie darin besteht, die Kontrolle
der konfigurierbaren Zellen zu übernehmen,
indem sie durch Mikroabfragen so erregt werden, daß das Steuern
dieser Zellen durch die Steuersignale, welche der TAP-Controller
sendet, simuliert wird.
-
Ein
Betrugsversuch gemäß der ersten
Strategie kann durch eine Technik blockiert werden, die Gegenstand
einer Patentanmeldung ist, die von dem Inhaber parallel eingereicht
wird.
-
Das
Ziel der vorliegenden Erfindung hingegen ist das Vorschlagen einer
elektronischen Schaltung, die so konzipiert ist, daß sie einen
Betrugsversuch gemäß der zweiten
oben genannten Strategie scheitern läßt.
-
Dazu
ist die elektronische Schaltung der Erfindung, die sonst der allgemeinen
Definition entspricht, die der oben stehende Oberbegriff dafür gibt, dadurch
gekennzeichnet, daß sie
einen Spionageschaltkreis aufweist, der mit den Steuerleitungen
verbunden ist, der eine logische Kombination der Signale ausführt, die über diese
Steuerleitungen laufen und ein Ausgangssignal liefert, das selektiv
einen Zustand annimmt, der für
ein Fehlen einer Anomalie oder eines Zustands, der einen Einbruchsversuch darstellt,
repräsentativ
ist, je nachdem, ob die Kombination der Signale, die über die
Steuerleitungen laufen, einer Kombination von Steuersignalen entspricht oder
nicht, die in einem gestatteten Betriebszustand der elektronischen
Schaltung beobachtbar ist.
-
Es
ist zum Beispiel möglich
vorzusehen, daß der
Spionageschaltkreis eine Kombination von Signalen ausführt, die
auf einer ersten Einheit mehrerer Steuerleitungen zirkulieren, von
welchen jede dem Übertragen
des Verkettungssteuersignals zugewiesen ist, das die konfigurierbaren
Zellen in Schieberegister konfiguriert, und daß der Spionageschaltkreis mindestens
ein Ausgangssignal eines ersten Typs liefert, das einen Zustand
annimmt, der für
die Abwesenheit einer Anomalie repräsentativ ist, wenn und nur
wenn die Signale, die auf der ersten Einheit von Steuerleitungen
zirkulieren, gleichzeitig in dem selben Zustand sind.
-
Es
ist jedoch auch möglich,
anstelle oder ergänzend
zu der vorhergehenden Maßnahme
vorzusehen, daß die
Spionageschaltung eine Kombination von Signalen ausführt, die
auf einer zweiten Einheit mehrerer Steuerleitungen zirkulieren,
von welchen mindestens eine dem Übertragen
des Verkettungssteuersignals zugewiesen ist, von dem mindestens eine
zweite dem Übertragen
des Steuersignals für das Übergehen
auf Testmodus zugewiesen ist, der den Steuerschaltkreis aktiviert,
und von welchen mindestens eine dritte dem Übertragen des Daten-Ausbreitungssteuersignals
in den konfigurierbaren Zellen zugewiesen ist, und daß der Spionageschaltkreis mindestens
ein Ausgangssignal eines zweiten Typs liefert, das einen Zustand
annimmt, der für
einen Einbruchsversuch repräsentativ
ist, wenn das eine oder das andere der Steuersignale zum Übergehen
auf den Testmodus und Ausbreiten inaktiv ist, während das Verkettungssteuersignal
aktiv ist.
-
Ungeachtet
der besonderen ausgewählten Ausführungsform
ist es vorteilhaft, vorzusehen, daß das Ausgangssignal des Spionageschaltkreises
den konfigurierbaren Zellen zugeführt wird und die Flipflops
dieser konfigurierbaren Zellen auf Null stellt, wenn es seinen Zustand
annimmt, der für
einen Einbruchsversuch repräsentativ
ist.
-
Weitere
Merkmale und Vorteile der Erfindung ergeben sich klar aus der folgenden
Beschreibung beispielhaft und nicht einschränkend unter Bezugnahme auf
die alleinige anliegende Figur, die eine Skizze ist, die eine elektronische
Schaltung veranschaulicht, die zwei Ausführungsformen der Erfindung
entspricht, die sowohl getrennt als auch gemeinsam verwendbar sind
und gleichzeitig dargestellt wurden.
-
Wie
oben erwähnt,
betrifft die Erfindung eine elektronische Schaltung, die mit internen
Testmitteln versehen ist.
-
Eine
solche Schaltung umfaßt
typisch mehrere Logikzellen, wie zum Beispiel die Zellen 10 bis 15,
mehrere konfigurierbare Zellen, wie zum Beispiel die Zellen 2a, 2w und 2z,
mehrere Steuerleitungen, wie zum Beispiel die Leitungen K1 bis K4
und K21 bis K23, sowie eventuell einen Steuerschaltkreis, wie zum
Beispiel einen CTAP-Zugangscontroller, der jedoch auch außerhalb
der betreffenden elektronischen Schaltung liegen kann.
-
Jede
der konfigurierbaren Zellen, wie zum Beispiel 2a, 2w und 2z,
umfaßt
mindestens einen Multiplexer 21 und mindestens einen Flipflop 22.
-
Die
Steuerleitungen K1 bis K4 und K21 bis K23, von welchen zumindest
bestimmte mit dem konfigurierbaren Zellen 2a, 2w und 2z verbunden
sind, dienen zum Übertragen
von Steuersignalen, die selektiv empfangen und/oder im Betrieb von
dem CTAP-Steuerschaltkreis gesendet werden, wie zum Beispiel ein
Signal zum Steuern des Übergangs
auf den Testmodus Test_Enable, der den CTAP-Steuerschaltkreis aktiviert,
ein Verkettungssteuersignal Scan_Enable, das die konfigurierbaren
Zellen in Form eines Schieberegisters verkettet, und ein Steuersignal
Shift_DR, das das Ausbreiten von Daten in den konfigurierbaren Zellen
erlaubt.
-
In
Abhängigkeit
von diesen Steuersignalen oder zumindest bestimmten von ihnen nehmen
die konfigurierbaren Zellen 2a, 2w und 2z entweder
einen Standardbetriebsmodus an, in dem sie betriebsmäßig funktionell
zumindest mit bestimmten der Logikzellen 10 bis 15 verbunden
sind, mit welchen sie kooperieren, um einen logischen Schaltkreis
LOG zu bilden, oder einen Testmodus, in dem diese konfigurierbaren
Zellen 2a, 2w und 2z betriebsmäßig miteinander
in Reihe geschaltet sind, um ein Schieberegister zu bilden.
-
Der Übergang
der konfigurierbaren Zellen von dem Standardbetriebsmodus auf den
Testbetriebsmodus erfolgt durch das Steuern der Multiplexer 21 mittels
zumindest bestimmter der Steuersignale, die von dem CTAP-Steuerschaltkreis
geliefert werden.
-
Das
Schieberegister 2a bis 2z weist insbesondere einen
Dateneingang SRI auf, der von einem Ausgang des CTAP-Steuerschaltkreises
gesteuert wird, einen Datenausgang SRO, der mit einem Eingang des
CTAP-Steuerschaltkreises verbunden ist, und einen Taktgebereingang
(nicht spezifisch dargestellt), um ein Taktgebersignal Clk zu empfangen,
das den Datenstrom in diesem Schieberegister takten kann.
-
Um
einen Test zu starten, muß ein
Signal Test_Enable zum Steuern des Übergehens auf Testmodus zuerst
zu dem CTAP-Steuerschaltkreis auf der Steuerleitung K4 gegeben werden.
-
Der
CTAP-Steuerschaltkreis konfiguriert dann die konfigurierbaren Zellen 2a bis 2z als
Schieberegister durch Senden des Verkettungssteuersignals Scan_Enable.
-
Dann
lädt der
CTAP-Steuerschaltkreis durch Senden des Ausbreitungssteuersignals
Shift_DR in Serie Testdaten in die Flipflops 22 dieser
konfigurierbaren Zellen über
den Eingang SRI des Schieberegisters.
-
Durch
Deaktivieren des Verkettungssteuersignals Scan_Enable konfiguriert
der CTAP- Steuerschaltkreis
die konfigurierbaren Zellen 2a bis 2z als funktionelles
der Logikschaltung LOG und steuert das Ausführen eines oder mehrerer Taktgeberzyklen durch
dieses funktionelle Element, das die Testdaten verarbeitet.
-
Durch
Wiederaktivieren des Verkettungsteuersignals Scan_Enable konfiguriert
der CTAP-Steuerschaltkreis
die konfigurierbaren Zellen 2a bis 2z erneut in
ein Schieberegister.
-
Schließlich gewinnt
der CTAP-Steuerschaltkreis durch Senden des Ausbreitungssteuersignals Shift_DR
zu dem Ausgang SRO dieses Registers die Daten, die in den Flipflops 22 gespeichert
sind und die aus der Verarbeitung der Testdaten durch die Logikschaltung
LOG hervorgehen.
-
Um
insbesondere zu vermeiden, daß ein
Betrüger
eine solche Testvorhergehensweise simulieren kann, indem er direkt
Steuersignale an die Leitungen K1 bis K4 und K21 bis K23 anlegt
und/oder Daten an den Eingang SRI, und daher betrügerisch
die in den Flipflops 22 gespeicherten und aus der Verarbeitung
der Testdaten durch die Logikschaltung LOG hervorgehenden Daten
zurückgewinnen
kann, umfaßt
die elektronische Schaltung der Erfindung einen Spionageschaltkreis
SPY, der mit den Steuerleitungen, wie zum Beispiel K1 bis K4 und
K21 bis K23 verbunden ist.
-
Der
Spionageschaltkreis SPY, der eine logische Kombination der Signale
ausführt,
die auf den verschiedenen Steuerleitungen zirkulieren, hat die Aufgabe,
ein Ausgangssignal auszugeben, wie zum Beispiel SS1 oder SS2, dessen
Zustand für
eine Abwesenheit einer Anomalie oder im Gegenteil für einen
Einbruchsversuch repräsentativ
ist.
-
Genauer
genommen nimmt das Ausgangssignal SS1 oder SS2 des Spionageschaltkreises
SPY einen Zustand an, der für
eine Abwesenheit einer Anomalie oder für einen Einbruchsversuch je
nachdem repräsentativ
ist, ob die Kombination der Signale, die auf den beobachteten Steuerleitungen
durchgehen, einer Kombination von Steuersignalen entspricht oder
nicht, die in einem zugelassenen Betriebszustand der elektronischen
Schaltung beobachtet werden kann.
-
Bei
einer der veranschaulichten Ausführungsformen
führt der
Spionageschaltkreis SPY zum Beispiel eine Kombination von Signalen
aus, die auf einer ersten Einheit von Steuerleitungen K21 bis K23 zirkulieren,
von welchen jede dem Übertragen
des Verkettungssteuersignals Scan_Enable zugewiesen ist, das die
konfigurierbaren Zellen in Schieberegister konfiguriert.
-
Dieser
Spionageschaltkreis SPY umfaßt
logische Gatter UND 31, ODER 32, ODER EXKLUSIV 33 und
einen Flipflop 34, die wie veranschaulicht zusammengeschaltet
sind, und liefert daher ein Ausgangssignal SS1, das für einen
Zustand repräsentativ
ist, der für
eine Abwesenheit von Anomalie annimmt, wenn und nur wenn die Signale,
die auf den Steuerleitungen K21 bis K23 zirkulieren, gleichzeitig in
dem selben Zustand sind.
-
Der
Steuerschaltkreis SPY ist daher in der Lage, zu erkennen, ob die
eine oder die andere der Steuerleitungen K21 bis K23, auf welchen
normalerweise dasselbe Signal läuft,
Gegenstand eines Angriffs war, der darauf abzielt, auf einen anderen
Zustand zu forcieren.
-
Bei
der zweiten veranschaulichten Ausführungsform, die mit der ersten
kumulierbar ist, führt der
Spionageschaltkreis SPY eine Kombination von Signalen aus, die auf
einer zweiten Einheit von Steuerleitungen K23, K3 und K4 zirkulieren,
von welchen die erste, K23, dem Übertragen
des Verkettungssteuersignals Scan_Enable zugewiesen ist, das die
konfigurierbaren Zellen in Schieberegister konfiguriert, von welchen
die zweite, K4, dem Übertragen
des Steuersignals für
das Übergehen
auf Testmodus Test_Enable zugewiesen ist, der den Steuerschaltkreis
aktiviert, und von welchen die dritte, K3, dem Übertragen des Signals Shift_DR
zum Steuern des Ausbreitens der Daten in den konfigurierbaren Zellen zugewiesen
ist.
-
Dieser
Steuerschaltkreis SPY umfaßt
logische Gatter NEIN-ODER 41 und UND 42, die wie veranschaulicht
zusammengeschaltet sind, und liefert daher ein Ausgangssignal SS2,
das einen Zustand annimmt, der für
einen Einbruchsversuch repräsentativ
ist, wenn das eine oder das andere der Signale zum Steuern der Übergehens
auf Testmodus Test_Enable und Steuern des Ausbreitens Shift_DR inaktiv
ist, während
das Verkettungssteuersignal Scan_Enable aktiv ist.
-
Der
Spionageschaltkreis SPY nutzt daher die Kohärenz, die normalerweise zwischen
den Zuständen
existiert, die die verschiedenen internen Steuersignale der elektronischen
Schaltung im Laufe der Zeit annehmen, um beim Erfassen einer Unterbrechung
dieser Kohärenz
zu warnen, daß eine
der Steuerleitungen, auf welcher normalerweise ein Steuersignal,
das dieser Kohärenz
unterliegt, durchgeht, Gegenstand eines Angriffs war, der darauf
abzielt, es auf einen anderen Wert als den zu forcieren, den eben
diese Kohärenz
vorsieht.
-
Auf
jeden Fall wird das Ausgangssignal SS1 und/oder SS2 des Spionageschaltkreises
SPY vorteilhafterweise zu den konfigurierbaren Zellen 2a, 2w und 2z befördert und
stellt die Flipflops 22 dieser konfigurierbaren Zellen
auf Null zurück,
wenn es seinen Zustand annimmt, der für einen Einbruchsversuch repräsentativ
ist.