-
Die
Erfindung betrifft eine Datenverarbeitungsvorrichtung, die eine
CPU und einen Speicher enthält,
zwischen denen ein Datentransfer durch einen Datenbus stattfindet,
im Besonderen eine Speicherkarte, und noch mehr eine Datenverarbeitungsvorrichtung,
die ausgebildet ist, zu verhindern, dass die auf dem Datenbus zu
transferierenden Dateninhalte extern bekannt werden.
-
Im
Allgemeinen nimmt eine Datenverarbeitungsvorrichtung, wie beispielsweise
eine Speicherkarte, die intern eine CPU (eine Zentralverarbeitungseinheit)
enthält,
eine geringfügig
unterschiedliche Leistung durch die CPU zur Befehlsverarbeitung gemäß dem Typ
des Befehls und der durch jeden Befehl handzuhabenden Daten auf.
Deshalb erleichtert die Beobachtung der Differenz in dem Leistungsverbrauch
zum Beispiel als eine Änderung
in einem der Datenverarbeitungsvorrichtung gelieferten Versorgungsstrom
die Analyse der Operation der CPU.
-
Ferner
ist ein Gerät
zum Schutz gegen ein unautorisiertes Lesen im Speicher gespeicherter Programmwörter aus
GB 2 119 978 A bekannt,
gemäß dem Unfugdaten
von einer Datenquelle anstelle von Programmwörtern aus einem Speicher an
einen nicht autorisierten Leser geliefert werden. Im Besonderen
betrifft
GB 2 119 978 A nur
das Auslesen eines Speichers.
-
Ferner
sind ein Verwaltungsverfahren eines elektrischen Schaltkreises und
ein Gerät
aus
FR 2 793 904 bekannt,
gemäß dem der
elektrische Schaltkreis einen Speicher zum Speichern einer vertraulichen
Information umfasst und das Verfahren ein Maskieren von Variationen
in dem elektrischen Strom umfasst, der durch den elektronischen
Schaltkreis verbraucht wird.
-
Ferner
ist aus „Data
Book Soft Microcontroller",
(XP 002 053 731), eine automatische Zufallserzeugung bekannt. Wenn
die CPU geheime Daten in einem Speicher verwaltet und verarbeitet,
können
die geheimen Daten dafür
anfällig
sein, an die Öffentlichkeit
zu dringen, wenn die für
die CPU zum Verarbeiten der geheimen Daten erforderliche Zeit bestimmt wird.
-
Wie
oben erwähnt,
besteht für
eine konventionelle Datenverarbeitungsvorrichtung aufgrund der Differenz
im Leistungsverbrauch das Risiko, dass geheime Daten dafür anfällig sind,
an die Öffentlichkeit zu
dringen.
-
Die
vorliegende Erfindung ist zum Überwinden
der vorangegangenen Probleme entworfen. Es ist eine Aufgabe der
Erfindung, eine Datenverarbeitungsvorrichtung bereitzustellen, die
dazu fähig
ist, zu verhindern, dass geheime Daten während eines Lesens und Schreibens
vom oder zum Speicher an die Öffentlichkeit
dringen.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist eine Datenverarbeitungsvorrichtung
bereitgestellt, die umfasst: eine Operationsverarbeitungseinheit
mit wenigstens einer Lesezyklus-Periode, wenn die Operationsverarbeitungseinheit
Daten von einem Gerät
liest, und einer Schreibzyklus-Periode, wenn die Operationsverarbeitungseinheit
Daten in das Gerät
schreibt; einen Speicher, der ausgebildet ist, so dass ein(e) Datenübertragung/Empfang
zwischen der Operationsverarbeitungseinheit und dem Speicher durchgeführt wird;
einen Datenbus, der mit der Operationsverarbeitungseinheit und dem
Speicher verbunden ist; und einen Pseudodaten-Erzeugungsschaltkreis, der mit dem Datenbus
verbunden ist, wobei der Pseudodaten-Erzeugungsschaltkreis Pseudodaten
erzeugt und die Pseudodaten an den Datenbus in einem Zeitintervall zwischen
der Lesezyklus-Periode und der darauf nachfolgenden Schreibzyklus-Periode,
zwischen der Schreibzyklus-Periode und der darauf nachfolgenden
Lesezyklus-Periode, zwischen zwei aufeinander folgenden Lesezyklus-Perioden
oder zwischen zwei aufeinander folgenden Schreibzyklus-Perioden
ausgibt.
-
Gemäß einem
für das
Verständnis
der vorliegenden Erfindung nützlichen
zweiten Aspekt ist eine Datenverarbeitungsvorrichtung bereitgestellt,
die umfasst: eine Operationsverarbeitungseinheit, die wenigstens
eine Lesezyklus-Periode hat, wenn die Operationsverarbeitungseinheit
Daten von einem Gerät
liest, und eine Schreibzyklus-Periode, wenn die Operationsverarbeitungseinheit
Daten in das Gerät
schreibt; einen Speicher, der ausgebildet ist, so dass ein(e) Datenübertragung/Empfang
zwischen der Operationsverarbeitungseinheit und dem Speicher durchgeführt wird;
einen Datenbus, der mit der Operationsverarbeitungseinheit und dem
Speicher verbunden ist; und einen mit dem Datenbus verbundenen Blindschaltkreis,
wobei der Blindschaltkreis in einem Zeitintervall zwischen der Lesezyklus-Periode und
der Schreibzyklus-Periode, zwischen der Schreibzyklus-Periode und der Lesezyklus-Periode, zwischen
zwei Lesezyklus-Perioden, oder zwischen zwei Schreibzyklus-Perioden arbeitet
und Leistung verbraucht.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung ist eine Speicherkarte
bereitgestellt, die umfasst: eine Operationsverarbeitungseinheit, die
wenigstens eine Lesezyklus-Periode hat, wenn die Operationsverarbeitungseinheit
Daten von einem Gerät
liest, und eine Schreibzyklus-Periode, wenn die Operationsverarbeitungseinheit
Daten in das Gerät
schreibt; einen Speicher, der ausgebildet ist, so dass ein(e) Datenübertragung/Empfang
zwischen der Operationsverarbeitungseinheit und dem Speicher durchgeführt wird;
einen mit der Operationsverarbeitungseinheit und dem Speicher verbundenen Datenbus;
einen mit dem Datenbus verbundenen Eingabe-/Ausgabeschaltkreis,
der externe Daten auf den Datenbus ausgibt und Daten auf dem Datenbus an
eine externe Vorrichtung ausgibt; und einen mit dem Datenbus verbundenen
Pseudodaten-Erzeugungsschaltkreis, wobei der Pseudodaten-Erzeugungsschaltkreis
Pseudodaten erzeugt und die Pseudodaten an den Datenbus in einem
Zeitintervall zwischen der Lesezyklus-Periode und der darauf nachfolgenden
Schreibzyklus-Periode, zwischen der Schreibzyklus-Periode und der
darauf nachfolgenden Lesezyklus-Periode, zwischen zwei aufeinander folgenden
Lesezyklus-Perioden oder zwischen zwei aufeinander folgenden Schreibzyklus-Perioden
ausgibt.
-
Gemäß einem
für das
Verständnis
der vorliegenden Erfindung nützlichen
vierten Aspekt ist eine Speicherkarte bereitgestellt, die umfasst:
eine Operationsverarbeitungseinheit, die wenigstens eine Lesezyklus-Periode
hat, wenn die Operationsverarbeitungseinheit Daten von einem Gerät liest,
und eine Schreibzyklus-Periode, wenn die Operationsverarbeitungseinheit
Daten in das Gerät
schreibt; einen Speicher, der ausgebildet ist, so dass ein(e) Datenübertragung/Empfang
zwischen der Operationsverarbeitungseinheit und dem Speicher durchgeführt wird; einen
mit der Operationsverarbeitungseinheit und dem Speicher verbundenen
Datenbus; einen mit dem Datenbus verbundenen Eingabe-/Ausgabeschaltkreis,
wobei der Eingabe-/Ausgabeschaltkreis externe
Daten auf den Datenbus ausgibt und Daten auf dem Datenbus an eine
externe Vorrichtung ausgibt; und einen mit dem Datenbus verbundenen Blindschaltkreis,
wobei der Blindschaltkreis in einem Zeitintervall zwischen der Lesezyklus-Periode
und der Schreibzyklus-Periode, zwischen der Schreibzyklus-Periode
und der Lesezyklus-Periode, zwischen zwei Lesezyklus-Perioden oder
zwischen zwei Schreibzyklus-Perioden arbeitet und Leistung verbraucht.
-
Diese
Zusammenfassung der Erfindung beschreibt nicht notwendigerweise
sämtliche
erforderlichen Merkmale, so dass die Erfindung auch eine Untermenge
dieser beschriebenen Merkmale sein kann.
-
Die
Erfindung kann vollständiger
aus der folgenden detaillierten Beschreibung in Verbindung mit den
begleitenden Zeichnungen verstanden werden.
-
1 ist
ein Blockdiagramm, das die gesamte Ausgestaltung einer Datenverarbeitungsvorrichtung
gemäß einer
ersten Ausführungsform
der Erfindung zeigt.
-
2 ist
ein Ablaufdiagramm, das ein Beispiel einer Operation der in 1 gezeigten
Datenverarbeitungsvorrichtung zeigt.
-
3 ist
ein Ablaufdiagramm, das ein Beispiel einer Operation der in 1 gezeigten
Datenverarbeitungsvorrichtung zeigt, das von dem in 2 gezeigten
Beispiel unterschiedlich ist.
-
4 ist
ein Schaltkreisdiagramm, das ein Beispiel einer spezifischen Ausgestaltung
eines in 1 gezeigten Steuersignal-Erzeugungsschaltkreises
zeigt.
-
5 ist
ein Signalwellenformdiagramm, das eine Signalwellenform eines Hauptteils
des in 4 gezeigten Steuersignal-Erzeugungsschaltkreises
zeigt.
-
6 ist
ein Blockdiagramm, das die gesamte Ausgestaltung der Datenverarbeitungsvorrichtung zeigt.
-
7 ist
ein Blockdiagramm einer Speicherkarte, auf die die Datenverarbeitungsvorrichtung
der ersten Ausführungsform
angewendet wird.
-
8 ist
ein Blockdiagramm einer Speicherkarte, auf die die Datenverarbeitungsvorrichtung
angewendet wird.
-
Ausführungsformen
der Erfindung werden unten mit Verweis auf die Zeichnungen detailliert
beschrieben.
-
1 ist
ein Blockdiagramm, das die gesamte Ausgestaltung einer Datenverarbeitungsvorrichtung
gemäß einer
ersten Ausführungsform
der Erfindung zeigt. In einer Datenverarbeitungsvorrichtung 10 sind
eine CPU (eine Zentralverarbeitungseinheit) 11, ein Speicher 12,
ein Adressbus 13, ein Datenbus 14, eine Lesesignal-Leitung 15,
eine Schreibsignal-Leitung 16, ein Buszwischenspeicher 17,
ein Steuersignal-Erzeugungsschaltkreis 18 und
ein Pseudodaten-Erzeugungsschaltkreis 19 bereitgestellt.
-
Die
CPU 11 führt
eine Operationsverarbeitung auf der Grundlage vielfältiger Befehlstypen
aus. Daten werden zuvor in dem Speicher 12 gespeichert, und
die zuvor in dem Speicher 12 gespeicherten Daten werden
ausgelesen und an die CPU 11 in einer Lesezyklus-Periode
geliefert, wenn die CPU 11 eine Operationsverarbeitung
durchführt.
In einer Schreibzyklus-Periode werden die dem Ergebnis der durch die
CPU 11 durchgeführten
Operationsverarbeitung entsprechenden Daten an den Speicher 12 geliefert und
in diesen geschrieben.
-
Die
CPU 11 und der Speicher 12 sind miteinander durch
den Adressbus 13, den Datenbus 14, die Lesesignal-Leitung 15 und
die Schreibsignal-Leitung 16 verbunden.
-
Eine
Adresse zum Adressieren eines Speichers wird an den Adressbus transferiert,
so dass die in dem Speicher 12 gespeicherten Daten durch
die auf den Speicher 12 zugreifende CPU 11 ausgelesen werden,
oder so dass Daten von der CPU 11 in den Speicher 12 geschrieben
werden.
-
Zwischen
der CPU 11 und dem Speicher 12 zu übertragende/empfangende
Daten werden an den Datenbus 14 transferiert. Im Allgemeinen
hat der Datenbus 14 eine Kapazität für eine große Last und deshalb ist ein
Bustreiberschaltkreis an jeder der jeweiligen Schnittstellen der
CPU 11 und des Speichers 12 bereitgestellt, um
die Kapazität
der großen
Last zu treiben.
-
Ein
Lese-Steuersignal wird an die Lesesignal-Leitung 15 in
der Lesezyklus-Periode transferiert, wenn in dem Speicher 12 gespeicherte
Daten durch die auf den Speicher 12 zugreifende CPU 11 ausgelesen
werden. Ein Schreib-Steuersignal wird an die Schreibsignal-Leitung 16 in
der Schreibzyklus-Periode transferiert, wenn Daten von der CPU 11 in
den Speicher 12 durch die auf den Speicher 12 zugreifende
CPU 11 geschrieben werden.
-
Im
Allgemeinen ist der Buszwischenspeicher 17 mit dem Datenbus 14 verbunden.
Der Buszwischenspeicher 17 hat eine Funktion zum temporären Halten
der auf dem Datenbus 14 zu transferierenden Daten.
-
Das
Lese-Steuersignal und das Schreib-Steuersignal, das an die Lesesignal-Leitung 15 bzw.
die Schreibsignal-Leitung 16 zu übertragen ist,
werden an den Steuersignal-Erzeugungsschaltkreis 18 geliefert,
und der Steuersignal-Erzeugungsschaltkreis 18 erfasst eine Änderung
in dem Lese-Steuersignal und dem Schreib-Steuersignal und erzeugt dann ein Steuersignal.
Das durch den Steuersignal-Erzeugungsschaltkreis 18 erzeugte
Steuersignal wird an den Pseudodaten-Erzeugungsschaltkreis 19 geliefert.
Der Pseudodaten-Erzeugungsschaltkreis 19 umfasst
beispielsweise einen Erzeugungsschaltkreis für Zufallszahlendaten. Der Pseudodaten-Erzeugungsschaltkreis 19 erzeugt
Pseudodaten, die Zufallszahlendaten enthalten, in Übereinstimmung
mit dem oben erwähnten
Steuersignal, und gibt die Pseudodaten auf den Datenbus 14 aus. Da
der Datenbus 14 mit der Kapazität einer großen Last durch die Ausgabe
von dem Pseudodaten-Erzeugungsschaltkreis 19 getrieben
wird, ist derselbe Bustreiberschaltkreis wie die Bustreiberschaltkreise der
CPU 11 und des Speichers 12 bei einer Schnittstelle
des Pseudodaten-Erzeugungsschaltkreises 19 bereitgestellt.
-
Die
oben beschriebene Datenverarbeitungsvorrichtung 10 enthält außerdem einen
Energieversorgungsanschluss 20 und einen Masseanschluss 21,
an die eine Energieversorgungsspannung Vcc bzw. eine Massespannung
GND geliefert werden, und eine Vielzahl von Signaleingabe-/Ausgabeanschlüssen 22 zum Übertragen/Empfangen
von Eingabe- und Ausgabesignalen zu/von einer externen Vorrichtung.
-
Als
nächstes
wird die Operation der Datenverarbeitungsvorrichtung mit der oben
beschriebenen Ausgestaltung mit Verweis auf ein in 2 gezeigtes
Ablaufdiagramm beschrieben. Das in 2 gezeigte
Ablaufdiagramm zeigt ein Beispiel des Falles, in dem Daten von der
CPU 11 in den Speicher 12 geschrieben werden,
nachdem in dem Speicher 12 gespeicherte Daten durch die
auf den Speicher 12 zugreifende CPU 11 ausgelesen
sind. In 2 ist ein Anfangswert jedes Signals
auf einem „1"-Pegel, und jedes
Signal ist „signifikant" bei einem „0"-Pegel.
-
Zuerst
greift in der Lesezyklus-Periode die CPU 11 auf den Speicher 12 zu,
und das Lese-Steuersignal wird auf den „0"-Pegel abgesenkt. In Ansprechen darauf
werden die Daten von einer Adresse in dem Speicher 12 entsprechend
einer Adresse, die von der CPU 11 auszugeben ist, ausgelesen
und auf dem Adressbus 13 transferiert. Danach werden die von
dem Speicher 12 ausgelesenen Daten auf den Datenbus 14 ausgegeben.
Die auf den Datenbus 14 ausgegebenen Daten werden zu einer
vorbestimmten Zeit durch die CPU 11 abgeholt.
-
Dann
werden die aus dem Speicher 12 ausgelesenen Daten temporär durch
den Buszwischenspeicher 17 gehalten. Die Ausgabeoperation
der Daten von dem Speicher 12 stoppt nach dem Verstreichen
einer vorbestimmten Zeitperiode. Mit anderen Worten stoppt der in
dem Speicher 12 bereitgestellte Bustreiberschaltkreis die
Ausgabeoperation der Daten, und somit begibt sich der Ausgang in
einen Zustand einer hohen Impedanz.
-
Das
Lese-Steuersignal wird auf den „0"-Pegel abgesenkt, dann werden die Daten
auf dem Datenbus 14 durch die CPU 11 abgeholt,
dann endet die Lesezyklus-Periode und danach erzeugt der Steuersignal-Erzeugungsschaltkreis 18 ein
Steuersignal. Das Steuersignal wird an den Pseudodaten-Erzeugungsschaltkreis 19 geliefert,
der dann das Arbeiten startet und Zufallszahlendaten erzeugt. Die
Zufallszahlendaten werden auf den Datenbus 14 als Pseudodaten
ausgegeben.
-
Danach
werden die Daten auf dem Datenbus 14 temporär durch
den Buszwischenspeicher 17 wie in dem Fall der Leseoperation
gehalten. Die Ausgabeoperation der Pseudodaten von dem Pseudodaten-Erzeugungsschaltkreis 19 stoppt
nach dem Verstreichen einer vorbestimmten Zeitperiode. Das heißt, dass
der in dem Pseudodaten-Erzeugungsschaltkreis 19 bereitgestellte
Bustreiberschaltkreis die Ausgabeoperation der Daten stoppt und
der Ausgang sich somit in einen Zustand einer hohen Impedanz begibt.
-
Als
nächstes
wird in der Schreibzyklus-Periode das Schreib-Steuersignal auf den „0"-Pegel abgesenkt,
um Daten in den Speicher 12 zu schreiben. In diesem Fall
gibt die CPU 11 die in den Speicher 12 zu schreibenden
Daten auf den Adressbus 13 aus, um den Speicher 12 zu
adressieren, in den die Daten zu schreiben sind.
-
Danach
werden die von der CPU 11 ausgegebenen Schreibdaten in
einen adressierten Ort in dem Speicher 12 zu einer vorbestimmten
Zeit geschrieben.
-
Dann
werden die von der CPU 11 ausgegebenen Schreibdaten temporär durch
den Buszwischenspeicher 17 gehalten. Die Ausgabeoperation der
Daten von der CPU 11 stoppt nach dem Verstreichen einer
vorbestimmten Periode. Der in der CPU 11 bereitgestellte
Bustreiberschaltkreis stoppt, mit anderen Worten, die Ausgabeoperation
der Daten, und somit begibt sich der Ausgang in einen Zustand einer
hohen Impedanz.
-
Das
Schreib-Steuersignal wird auf den „0"-Pegel abgesenkt, dann werden die Daten
in den Speicher 12 geschrieben, dann endet die Schreibzyklus-Periode,
und danach erzeugt der Steuersignal-Erzeugungsschaltkreis 18 ein
Steuersignal wie in dem Fall der vorherigen Leseoperation. Das Steuersignal
wird an den Pseudodaten-Erzeugungsschaltkreis 19 geliefert,
der dann den Betrieb startet und Zufallszahlendaten erzeugt. Dann
werden den Zufallszahlendaten entsprechende Pseudodaten auf den
Datenbus 14 ausgegeben.
-
Danach
werden die Daten auf dem Datenbus 14 temporär durch
den Buszwischenspeicher 17 wie in dem Fall der Leseoperation
temporär
gehalten. Die Ausgabeoperation der Pseudodaten von dem Pseudodaten-Erzeugungsschaltkreis 19 stoppt
nach dem Verstreichen einer vorbestimmten Periode. Das heißt, dass
der in dem Pseudodaten-Erzeugungsschaltkreis 19 bereitgestellte
Bustreiberschaltkreis die Ausgabeoperation der Daten stoppt, und
der Ausgang sich somit in einen Zustand einer hohen Impedanz begibt.
-
Wie
oben beschrieben, arbeitet die in 1 gezeigte
Datenverarbeitungsvorrichtung auf die folgende Weise: während der
Lesezyklus-Periode oder der Schreibzyklus-Periode, wenn Originaldaten zwischen
der CPU 11 und dem Speicher 12 durch den Datenbus 14 transferiert
werden, erzeugt der Pseudodaten-Erzeugungsschaltkreis 19 Pseudodaten und
gibt die Pseudodaten auf den Datenbus 14 aus.
-
3 zeigt
ein Ablaufdiagramm, das die Operation der in 1 gezeigten
Datenverarbeitungsvorrichtung zeigt, in dem Fall, dass allgemeine Daten
und geheime Daten aufeinander folgend von dem Speicher 12 ausgelesen
werden.
-
Ein
Lesemuster A bedeutet, dass zum Beispiel allgemeine Daten von 00h
vor einem Auslesen geheimer Daten von 00h ausgelesen werden (h bezeichnet
Hexadezimaldaten). Ein Lesemuster B bedeutet, dass geheime Daten
von FFh nach einem Auslesen allgemeiner Daten von 00h ausgelesen werden.
-
In
dem Fall des Lesemusters A sind die allgemeinen Daten und die geheimen
Daten gleich zueinander und deshalb ändert sich der Leistungsverbrauch
durch den in dem Speicher 12 bereitgestellten Bustreiberschaltkreis
zu der Zeit des Lesens der geheimen Daten wenig. In dem Fall des
Lesemusters B sind andererseits sämtliche Bitdaten der allgemeinen Daten
von denen der geheimen Daten unterschiedlich und deshalb ändert sich
der Leistungsverbrauch durch den in dem Speicher 12 bereitgestellten
Bustreiberschaltkreis zu der Zeit des Lesen der geheimen Daten außerordentlich.
In diesem Fall wird eine Stromänderung
bzw. aktuelle Änderung
der Energieversorgungsspannung extern beobachtet, um die Korrelation
zwischen der Stromänderung
bzw. der aktuellen Änderung
der Energieversorgungsspannung zu der Zeit der Übertragung der allgemeinen Daten
und der Stromänderung
bzw. der aktuellen Änderung
der Energieversorgungsspannung zu der Zeit der Übertragung der geheimen Daten
zu untersuchen, und deshalb ist es wahrscheinlich, dass die auf dem
Datenbus 14 übertragenen
geheimen Daten einer Analyse unterzogen werden. Andere geheime Daten
als die geheimen Daten von FFh werden auf dieselbe Weise ausgelesen.
-
In
der ersten Ausführungsform,
wie in 3 gezeigt, werden Pseudodaten auf den Datenbus 14 zwischen
dem Lesen der allgemeinen Daten und dem Lesen der geheimen Daten
ausgegeben (übrigens
sind die Pseudodaten durch xxh angegeben, und xx stellt einen logischen
Pegel dar). Da die Pseudodaten zufällig erzeugt sind, können die
geheimen Daten nicht aus der Korrelation bekannt sein, selbst wenn
die Korrelation zwischen der Stromänderung bzw. der aktuellen Änderung
der Energieversorgungsspannung zu der Zeit der Übertragung der Pseudodaten
und der Stromänderung
bzw. der aktuellen Änderung
der Energieversorgungsspannung zu der Zeit der Übertragung der geheimen Daten
untersucht wird. Demgemäß kann die
Datenverarbeitungsvorrichtung der ersten Ausführungsform verhindern, dass
geheime Daten durchsickern.
-
Eine
mit einem Zufallszahlendaten-Erzeugungsschaltkreis bereitgestellte
Datenverarbeitungsvorrichtung ist in der
japanischen Patentanmeldung KOKAI Veröffentlichungsnummer
8-249239 offen gelegt. Durch den Zufallszahlendaten-Erzeugungsschaltkreis
erzeugte Zufallszahlendaten werden auf einem Datenbus transferiert
und dann durch eine CPU abgeholt und die CPU führt eine Operationsverarbeitung
mit Verwendung der Zufallszahlendaten durch. In der in der Veröffentlichung
beschriebenen Datenverarbeitungsvorrichtung werden die Zufallszahlendaten
jedoch als ein Teil der normalen Daten gehandhabt und somit an die
CPU durch den Datenbus innerhalb der Lesezyklus-Periode transferiert. Die
in der Veröffentlichung
beschriebene Datenverarbeitungsvorrichtung ist mit anderen Worten
unterschiedlich von der Datenverarbeitungsvorrichtung der oben beschriebenen
Ausführungsform,
in der Pseudodaten erzeugt werden und auf den Datenbus nach der
Lesezyklus-Periode oder der Schreibzyklus-Periode ausgegeben werden.
Wenn die Zufallszahlendaten durch den Datenbus innerhalb der Lesezyklus-Periode
transferiert werden, werden die Zufallszahlendaten als Originaldaten
betrachtet. Folglich sind die Zufallszahlendaten mit Daten vor den Zufallszahlendaten
und nachfolgend zu den Zufallszahlendaten korreliert, so dass die
Daten in Übereinstimmung
mit der Korrelation analysiert werden.
-
In
der oben beschriebenen Ausführungsform ist
die Beschreibung hinsichtlich des Falls gegeben, dass der Pseudodaten-Erzeugungsschaltkreis 19 Pseudodaten
erzeugt und die Pseudodaten auf den Datenbus 14 nach der
Lesezyklus-Periode und der Schreibzyklus-Periode ausgibt, wenn Originaldaten zwischen
der CPU 11 und dem Speicher 12 durch den Datenbus 14 transferiert
sind, oder nach der Lesezyklus-Periode und der Lesezyklus-Periode. Jedoch kann
der Pseudodaten- Erzeugungsschaltkreis 19 Pseudodaten
erzeugen und die Pseudodaten auf den Datenbus 14 zwischen
zwei Operationszyklus-Perioden ausgeben, die irgendeine Kombination der
Lesezyklus-Periode und der Schreibzyklus-Periode bilden, wenn Originaldaten
zwischen der CPU 11 und dem Speicher 12 durch
den Datenbus transferiert sind, und zwar zwischen der Lesezyklus-Periode und
der Schreibzyklus-Periode, zwischen der Schreibzyklus-Periode und
der Lesezyklus-Periode, zwischen
zwei Lesezyklus-Perioden oder zwischen zwei Schreibzyklus-Perioden.
-
Zum
Beispiel ist die Beschreibung der Operation mit Verweis auf 2 mit
Verwendung eines beispielhaften Falls gegeben, dass Daten von der CPU 11 in
den Speicher 12 geschrieben werden, nachdem in dem Speicher 12 gespeicherte
Daten durch die auf den Speicher 12 zugreifende CPU 11 ausgelesen
sind. Jedoch kann dieses auch leichtfertig in dem Fall gefolgert
werden, dass eine Vielzahl von Leseoperationen in Aufeinanderfolge
wie in 3 gezeigt stattfindet, oder in dem Fall, dass
eine Vielzahl von Schreiboperationen in Aufeinanderfolge stattfindet,
und deshalb wird die Beschreibung dieser Operationen weggelassen.
-
4 zeigt
ein Beispiel einer spezifischen Schaltkreisausgestaltung des in 1 gezeigten Steuersignal-Erzeugungsschaltkreises 18.
Dieser Schaltkreis enthält:
einen ODER-Schaltkreis 31, an den das Lese-Steuersignal
und das Schreib-Steuersignal eingegeben werden; einen Verzögerungsschaltkreis 32,
der den ODER-Schaltkreis 31 veranlasst, das Ausgeben des
Signals für
eine vorbestimmte Periode zu verzögern, und der ein erstes Verzögerungssignal
ausgibt; einen Verzögerungsschaltkreis 33,
der eine weitere Verzögerung
des ersten Verzögerungssignals
für eine
vorbestimmte Zeitperiode veranlasst, und der ein zweites Verzögerungssignal
ausgibt; einen Inverterschaltkreis 34, der das erste Verzögerungssignal
invertiert und ein invertiertes erstes Verzögerungssignal ausgibt; und
einen ODER-Schaltkreis 35, an den das zweite Verzögerungssignal
und das invertierte erste Verzögerungssignal
eingegeben werden.
-
5 ist
ein Ablaufdiagramm, das eine Signalwellenform eines Hauptteils des
in 4 gezeigten Steuersignal-Erzeugungsschaltkreises 18 zeigt. In 5 bezeichnen
td1 und td2 die Signalverzögerungszeiten
des Verzögerungsschaltkreises 32 bzw. 33.
-
In
der Lesezyklus-Periode oder der Schreibzyklus-Periode fällt das
Lese-Steuersignal oder das Schreib-Steuersignal auf den „0"-Pegel ab, dann kehrt
das Steuersignal zu dem „1"-Pegel-Anfangswert
zurück,
und danach wird das Steuersignal nach einem Verstreichen der Verzögerungszeit
td1 des Verzögerungsschaltkreises 32 aktiv.
Danach wird das Steuersignal nach einem Verstreichen der Verzögerungszeit
td2 des Verzögerungsschaltkreises 33 inaktiv.
-
Selbstverständlich ist
die Schaltkreisausgestaltung des Steuersignal-Erzeugungsschaltkreises 18 nicht
auf die in 4 gezeigte Schaltkreisausgestaltung
beschränkt.
Kurz gefasst kann irgendeine Schaltkreiskonfiguration übernommen
werden, solange sie eine Änderung
in dem Lese-Steuersignal und dem Schreib-Steuersignal erfassen kann
und ein Steuersignal erzeugen kann.
-
6 ist
ein Blockdiagramm, das die gesamte Ausgestaltung einer Datenverarbeitungsvorrichtung
zeigt.
-
Die
Datenverarbeitungsvorrichtung unterscheidet sich von der Datenverarbeitungsvorrichtung der
in 1 gezeigten oben erwähnten ersten Ausführungsform
darin, dass der Pseudodaten-Erzeugungsschaltkreis 19 durch
einen Blindschaltkreis 23 ersetzt ist. Deshalb sind die
Teile, die den in 1 gezeigten Teilen entsprechen,
mit denselben Bezugszeichen angegeben, und die Beschreibung der entsprechenden
Teile wird weggelassen, und die Beschreibung wird unten nur hinsichtlich
der unterschiedlichen Punkte zwischen den in 1 und 6 gezeigten
Datenverarbeitungsvorrichtungen gegeben.
-
Der
Blindschaltkreis 23 wird gesteuert, um in Übereinstimmung
mit einem durch den Steuersignal-Erzeugungsschaltkreis 18 erzeugten
Steuersignal zu arbeiten. Beim Betrieb verbraucht der Blindschaltkreis 23 Leistung,
um Taktsignale zu zählen. Der
Blindschaltkreis 23 kann zum Beispiel einen Zählerschaltkreis,
ein Schieberegister oder Ähnliches enthalten.
-
Der
Blindschaltkreis 23 arbeitet und verbraucht Leistung zwischen
zwei Operationszyklus-Perioden, die irgendeine Kombination der Lesezyklus-Periode
und der Schreibzyklus-Periode bilden, wenn die Originaldaten zwischen
der CPU 11 und dem Speicher 12 durch den Datenbus 14 übertragen/empfangen
werden, und deshalb ist der Leistungsverbrauch für den Transfer von zwei Mengen von
Originaldaten mit zwischen der CPU 11 und dem Speicher 12 zu
transferierenden Geheimdaten von einem Leistungsverbrauch für den Betrieb
des Blindschaltkreises 23 während des Transfers unterschiedlich.
-
Deshalb
können
die Geheimdaten nicht aus der Korrelation bekannt werden, selbst
wenn die Korrelation zwischen einer Stromänderung bzw. aktuellen Änderung
der Energieversorgungsspannung zu der Zeit des Betriebs des Blindschaltkreises 23 und einer
Stromänderung
bzw. aktuellen Änderung
der Energieversorgungsspannung zu der Zeit einer Übertragung
der geheimen Daten untersucht wird. Demgemäß kann die Datenverarbeitungsvorrichtung der
zweiten Ausführungsform
auch verhindern, dass geheime Daten durchsickern.
-
7 ist
ein Blockdiagramm, das die gesamte Ausgestaltung einer Speicherkarte
zeigt, auf die die in 1 gezeigte Datenverarbeitungsvorrichtung angewendet
wird. Die Teile, die den in 1 gezeigten
Teilen entsprechen, sind mit denselben Bezugszeichen angegeben,
und die Beschreibung der entsprechenden Teile wird weggelassen.
-
Eine
Speicherkarte 30 ist intern mit einem Peripherielogikschaltkreis 31 und
einem Analogschaltkreis 32 versehen, zusätzlich zu
der CPU 11, dem Speicher 12, dem Buszwischenspeicher 17, dem
Steuersignal-Erzeugungsschaltkreis 18 und dem Pseudodaten-Erzeugungsschaltkreis 19.
In 7 sind der Adressbus 13, die Lesesignal-Leitung 15 und
die Schreibsignal-Leitung 16 als ein Adress-/Lese-Schreib-Signalbus 33 mit
einer vorbestimmten Bitanzahl gezeigt.
-
Der
Peripherielogikschaltkreis 31 empfängt ein Reset-Signal RESET und
ein Taktsignal CLK, die von einer extern der Speicherkarte 30 bereitgestellten
Vorrichtung eingegeben sind, liefert die Signale an jeden Schaltkreis
in der Speicherkarte 30, und führt einen Datentransfer zwischen
der externen Vorrichtung und dem internen Datenbus 14 durch
eine externe Eingabe/Ausgabe-Einheit
durch.
-
Der
oben erwähnte
Speicher 12 enthält
zum Beispiel einen ROM 12A, einen RAM 12B und
einen EEPROM 12C, wie in 7 gezeigt.
-
Der
Analogschaltkreis 32 erzeugt vielfältige Spannungstypen, die für den EEPROM 12C in
dem Speicher 12 zum Arbeiten mittels einer externen Energieversorgungsspannung
Vcc erforderlich sind, und liefert die Spannungen an den EEPROM 12C. Die
oben erwähnten
geheimen Daten sind zum Beispiel zuvor in dem EEPROM 12C gespeichert.
-
In
der Speicherkarte mit der oben beschriebenen Ausgestaltung werden
allgemeine Daten von dem ROM 12A, dem RAM 12B oder
dem EEPROM 12C ausgelesen, und danach, wenn die in dem
EEPROM 12C zuvor gespeicherten geheimen Daten ausgelesen
sind, werden Pseudodaten auf den Datenbus 14 zwischen der
Lesezyklus-Periode der allgemeinen Daten und der Lesezyklus-Periode
der geheimen Daten ausgegeben. Deshalb kann die Speicherkarte die
Wirkung erzielen, dass ein Durchsickern geheimer Daten verhindert
wird, wie in dem Fall der oben beschriebenen ersten Ausführungsform.
-
8 ist
ein Blockdiagramm, das die gesamte Ausgestaltung einer Speicherkarte
zeigt, auf die die in 6 gezeigte Datenverarbeitungsvorrichtung angewendet
wird. Die Teile, die den in 6 gezeigten
Teilen entsprechen, sind mit denselben Bezugszeichen angegeben und
die Beschreibung der entsprechenden Teile wird weggelassen.
-
Die
Speicherkarte 30 ist intern mit dem Peripherielogikschaltkreis 31 und
dem Analogschaltkreis 32 versehen, zusätzlich zu der CPU 11,
dem Speicher 12, dem Buszwischenspeicher 17, dem
Steuersignal-Erzeugungsschaltkreis 18 und
dem Blindschaltkreis 23. Auch in diesem Fall sind, in 8,
der Adressbus 13, die Lesesignal-Leitung 15 und
die Schreibsignal-Leitung 16 als ein Adress-/Lese-Schreib-Signalbus 33 mit
einer vorbestimmten Bitanzahl gezeigt.
-
Auf
dieselbe Weise wie der in 7 gezeigte Peripherielogikschaltkreis 31 empfängt der
Peripherielogikschaltkreis 31 das Reset-Signal RESET und das
Taktsignal CLK, die von der extern zu der Speicherkarte 30 bereitgestellten
Vorrichtung eingegeben sind, liefert die Signale an jeden Schaltkreis
in der Speicherkarte 30 und führt die Datenübertragung und
den Datenempfang zwischen der externen Vorrichtung und dem internen
Datenbus 14 durch die externe Eingabe/Ausgabe-Einheit durch.
-
Der
oben erwähnte
Speicher 12 enthält
zum Beispiel ROM 12A, den RAM 12B und den EEPROM 12C,
auf dieselbe Weise wie der in 7 gezeigte Speicher 12.
-
Der
Analogschaltkreis 32 erzeugt vielfältige Spannungstypen, die für den EEPROM 12C zum
Arbeiten mittels der externen Energieversorgungsspannung Vcc erforderlich
sind, auf dieselbe Weise wie der in 7 gezeigte
Analogschaltkreis 32.
-
In
der Speicherkarte mit der oben beschriebenen Ausgestaltung werden
die allgemeinen Daten von dem ROM 12A, dem RAM 12B oder
dem EEPROM 12C ausgelesen, und danach, wenn die zuvor in
dem EEPROM 12C gespeicherten geheimen Daten ausgelesen
sind, arbeitet der Blindschaltkreis 23 und verbraucht Leistung
zwischen der Lesezyklus-Periode der allgemeinen Daten und der Lesezyklus-Periode
der geheimen Daten. Deshalb kann wie in dem oben beschriebenen Fall
die Speicherkarte die Wirkung erzielen, dass das Durchsickern geheimer
Daten verhindert wird.