-
Die
vorliegende Erfindung betrifft in erster Linie Authentifizierungsvorrichtungen
zum Authentifizieren beispielsweise einer Smartcard oder einer ähnlichen
Vorrichtung auf der Basis eines geheimen Schlüssels. Die Erfindung betrifft
insbesondere einen Schutz eines geheimen Schlüssels vor Versuchen eines Angreifers,
den geheimen Schlüssel
herauszufinden. Geheime Schlüssel
werden in Authentifizierungsvorgängen
zum Beispiel mit Smartcards verwendet, wobei jede Smartcard einen
individuellen geheimen Schlüssel
zur Bestätigung
ihrer Identität hat.
Die vorliegende Erfindung ist jedoch nicht nur auf Smartcards beschränkt, sondern
die Lösung
der Erfindung kann auch in anderen Situationen verwendet werden,
die den Schutz eines geheimen Schlüssels erfordern. Jedoch wird
die Erfindung nachstehend anhand eines Beispiels mit Bezug hauptsächlich auf Smartcards
beschrieben.
-
Bislang
ist eine Smartcard bekannt, die einen Speicher, zum Beispiel einen
EEPROM-Speicher, aufweist, in welchem ein geheimer Schlüssel gespeichert
ist. Der geheime Schlüssel
besteht typisch aus einer Bitfolge mit einer Länge von nicht weniger als 64
Bit. Die Smartcard weist auch einen Prozessor auf. Um ihre Identität zu bestätigen, kommuniziert
die Smartcard mit einem externen Authentifizierungsprozeß, wobei
der Authentifizierungsprozeß in
die Smartcard eine aus einer Bitfolge bestehende Eingabe eingibt.
Der Prozessor der Smartcard holt dann aus dem Speicher einen geheimen
Schlüssel,
der darin vorab gespeichert worden ist, und der Prozessor führt dann
eine Berechnung gemäß einer
vorgegebenen Funktion durch, wobei er bei der Berechnung die in
die Smartcard eingegebene Bitfolge und den aus dem Speicher geholten
geheimen Schlüssel
verwendet. Die Smartcard schickt das Ergebnis der Berechnung, d.h.
die Antwort, über
ihren Ausgang zum Authentifizierungsprozeß.
-
Da
der Authentifizierungsprozeß den
geheimen Schlüssel
der Smartcard und die Funktion, die der Prozessor der Smartcard
verwendet, kennt, kann er die gleiche Berechnung wie die Smartcard
durchführen.
Wenn das Ergebnis der von dem Authentifizierungsprozeß durchgeführten Berechnung
mit dem am Ausgang der Smartcard ausgegebenen Ergebnis übereinstimmt,
wird die Identität
der Smartcard bestätigt,
da es nur eine einzige Smartcard mit diesem darin enthaltenen geheimen
Schlüssel
gibt, die als Antwort auf die eingegebene Eingabe folglich diese Antwort
erzeugt.
-
Eine
mit der obigen bekannten Smartcard zusammenhängende Schwäche ist, daß es für einen Angreifer Wege gibt,
um den in dem Speicher der Smartcard gespeicherten geheimen Schlüssel herauszufinden.
Einer dieser Wege ist DPA (Differential Power Analysis), wobei der
Smartcard wiederholt (mehrere tausend Male) unterschiedliche Eingaben eingegeben
werden und gleichzeitig die am Ausgang der Smartcard ausgegebene
Antwort, die von der Smartcard während
der Berechnung verbrauchte Energie und die während der Berechnung von der Smartcard
erzeugte Strahlung überwacht
werden. Durch Führen
einer Statistik über
Eingabe, Energieverbrauch, Strahlung und Antwort kann der Angreifer den
im Speicher der Smartcard gespeicherten geheimen Schlüssel herausfinden.
Wenn ein Angreifer den geheimen Schlüssel herausfindet, kann er
beispielsweise die Smartcard klonen, das heißt, eine andere Smartcard herstellen,
in welcher der gleiche geheime Schlüssel gespeichert ist. Ein solches
Klonen kann beträchtlichen
Schaden bewirken, beispielsweise wenn die Smartcard eine Identitätskarte
einer Person ist, mittels welcher die Person elektronisch identifiziert
werden kann.
-
Bislang
ist außerdem
aus der WO-A1-9935782 eine lecksichere kryptographische Methode
und Vorrichtung bekannt, wobei der geheime Schlüssel einer Vorrichtung in kodierter
Form zusammen mit einer schlüsselspezifischen
Zahl in einem Speicher der Vorrichtung gespeichert ist. Bei dieser
Lösung
ist der Schlüssel
so kodiert worden, daß die
von einer ersten vorgegebenen Funk tion erzeugte Ausgabe dadurch
erzeugt werden kann, daß bei
der Berechnung gemäß der ersten
Funktion der kodierte Schlüssel
direkt verwendet wird. Eine solche Lösung hat den Nachteil, daß es in
der Praxis nur eine begrenzte Anzahl von Methoden gibt, den Schlüssel so
zu kodieren, daß sich
der kodierte Schlüssel
dazu eignet, in der ersten Funktion direkt verwendet zu werden.
Dies erhöht
das Risiko, daß ein
Angreifer herausfinden kann, wie der Schlüssel kodiert worden ist.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, das obige Problem zu
vermeiden und eine Lösung
bereitzustellen, um sicherzustellen, daß ein Angreifer den zur Erzeugung
einer Antwort verwendeten geheimen Schlüssel nicht herausfinden kann. Diese
Aufgabe wird erfüllt
durch das Verfahren nach dem unabhängigen Anspruch 1, die Vorrichtung
nach dem unabhängigen
Anspruch 4 und das System nach dem unabhängigen Anspruch 6. Die Erfindung basiert
auf der Idee, daß das
Herausfinden des geheimen Schlüssels,
der die Antwort erzeugt, beträchtlich
schwieriger wird, wenn bei der Erzeugung der Antwort eine schlüsselspezifische
Zahl aus dem Speicher der Vorrichtung ausgelesen wird und in vorgegebenen
Berechnungen zur Erzeugung der Antwort verwendet wird. Dies deshalb,
weil in diesem Fall die bei der Erzeugung der Antwort der Vorrichtung
verbrauchte Energie und Strahlung nicht mehr nur von dem geheimen
Schlüssel,
der Eingabe und der bei der Berechnung verwendeten Funktion abhängen, sondern
weil auch die Verarbeitung der schlüsselspezifischen Zahl einen
gewissen meßbaren
Energieverbrauch und eine gewisse meßbare Strahlung hervorruft,
was es noch schwieriger macht, den geheimen Schlüssel herauszufinden. In diesem Fall
kann sich ein Angreifer nicht sicher sein, welcher Teil des meßbaren Energieverbrauchs
oder der meßbaren
Strahlung durch die Verarbeitung der schlüsselspezifischen Zahl hervorgerufen
ist und welcher Teil durch die Erzeugung der tatsächlichen
Antwort hervorgerufen ist.
-
Gemäß der Erfindung
wird der geheime Schlüssel
unter Verwendung einer zweiten vorgegebenen Funktion und einer schlüsselspezifischen
Zahl kodiert. In diesem Fall sind der kodierte Schlüssel und
die schlüsselspezifische
Zahl im Speicher der Vorrichtung gespeichert. Wenn die Antwort erzeugt wird,
werden der kodierte Schlüssel
und die schlüsselspezifische
Zahl aus dem Speicher der Vorrichtung ausgelesen, woraufhin die
inverse Funktion der zweiten Funktion verwendet wird, um den geheimen Schlüssel zu
berechnen, der zur Erzeugung der Antwort verwendet wird. In diesem
Fall verhindern die Strahlung und der Energieverbrauch, die durch
die Berechnung des geheimen Schlüssels
hervorgerufen werden, daß ein
Angreifer die Strahlung und den Energieverbrauch, die bei der Erzeugung
der Antwort hervorgerufen werden, ermitteln kann. Ferner ist der Schlüssel überhaupt
nicht im Speicher der Vorrichtung gespeichert. Bekannte Lösungen haben
gezeigt, daß das
Auslesen eines geheimen Schlüssels aus
einem Speicher ein Vorgang ist, der einen Angreifer eine beträchtliche
Menge Information liefert.
-
Anstatt
dessen, daß die
Berechnungseinrichtungen der Vorrichtung eine separate Funktion und
einen separaten geheimen Schlüssel
verwenden, ist auch denkbar, daß der
geheime Schlüssel Teil
der verwendeten Funktion ist. In diesem Fall bedeutet zum Beispiel
eine Änderung
des geheimen Schlüssels
tatsächlich
eine Änderung
der vorrichtungsspezifischen Funktion und desgleichen bedeutet das
Herausfinden des geheimen Schlüssels
tatsächlich
ein Herausfinden der geheimen vorrichtungsspezifischen Funktion.
-
Eine
schlüsselspezifische
Zahl bezieht sich auf eine Zahl, die im wesentlichen während der
gesamten Lebensdauer des kodierten Schlüssels in Gebrauch ist. Mit
anderen Worten, wenn ein kodierter geheimer Schlüssel geändert wird, wird auch die schlüsselspezifische
Zahl geändert.
Die schlüsselspezifische
Zahl kann zum Beispiel aus einer Zufallszahl bestehen, die mit einem
Zufallszahlengenerator erzeugt wird, wenn der neue kodierte geheime Schlüssel in
Gebrauch genommen wird. Alternativ kann die schlüsselspezifische Zahl zum Beispiel
aus einer Pseudozufallszahl bestehen. Es ist jedoch wichtig, daß eine verwendete
schlüsselspezifische Zahl
nicht sehr oft neu in Gebrauch genommen wird.
-
Der
bedeutendste Vorteil der Lösung
der Erfindung ist der, daß ein
Angreifer es zunehmend schwieriger findet, den bei der Erzeugung
einer Antwort verwendeten geheimen Schlüssel herauszufinden, da zum
Beispiel der Energieverbrauch und die Strahlung der Vorrichtung
nicht mehr dem tatsächlichen
Energieverbrauch und der tatsächlichen
Strahlung entsprechen, die durch Erzeugung der Antwort hervorgerufen
werden, weshalb statistische Methoden nicht in der Lage sind, den
verwendeten geheimen Schlüssel
herauszufinden.
-
In
einer bevorzugten Ausführungsform
der Vorrichtung der Erfindung weist die Vorrichtung Einrichtungen
auf, um in gegebenen Intervallen, zum Beispiel wenn die Vorrichtung
1000 Antworten erzeugt hat, einen neuen kodierten Schlüssel mit
Hilfe einer neuen schlüsselspezifischen
Zahl und einer zweiten vorgegebenen Funktion zu berechnen. Die Vorrichtung
speichert diesen neuen kodierten Schlüssel und diese neue schlüsselspezifische
Zahl in ihrem Speicher anstelle der vorherigen. Diese Ausführungsform
der Erfindung macht es noch schwieriger, den geheimen Schlüssel herauszufinden,
da ein Angreifer Statistiken über
Strahlung und Energieverbrauch während
der Erzeugung der beispielsweise 1000 Antworten führen kann,
woraufhin eine wesentliche Änderung
in den zur Erzeugung der Antwort auszuführenden Berechnungsoperationen
erfolgt und die Statistiken somit nutzlos werden.
-
Die
bevorzugten Ausführungsformen
des Verfahrens, der Vorrichtung und des Systems der Erfindung sind
in den angefügten
abhängigen
Ansprüchen
2, 3, 5, 7 und 8 offenbart.
-
Im
Folgenden wird die Erfindung beispielhaft mit Bezug auf die beiliegenden
Figuren detaillierter beschrieben.
-
1 ist
ein Flußdiagramm
einer ersten bevorzugten Ausführungsform
des Verfahrens der Erfindung,
-
2 ist
ein Blockdiagramm einer ersten bevorzugten Ausführungsform der Vorrichtung
der Erfindung,
-
3 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform der Vorrichtung
der Erfindung,
-
4 ist
ein Blockdiagramm einer dritten bevorzugten Ausführungsform der Vorrichtung
der Erfindung,
-
5 ist
ein Blockdiagramm einer ersten bevorzugten Ausführungsform des Systems der
Erfindung, und
-
6 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform des Systems der
Erfindung.
-
Das
Flußdiagramm
von 1 kann beispielsweise zum Authentifizieren einer
Smartcard verwendet werden, d.h. es dient dazu, sicherzustellen,
daß es
sich um eine Smartcard handelt, die als Antwort auf eine eingegebene
Eingabe tatsächlich eine
vorgegebene Antwort erzeugt, deren Wert von einem smartcard-spezifischen geheimen
Schlüssel abhängt. Ein
smartcard-spezifischer geheimer Schlüssel bedeutet, daß von allen
in Gebrauch befindlichen Smartcards nur eine einzige diesen geheimen
Schlüssel
verwendet, wenn sie die Antwort erzeugt.
-
In 1 wird
in Block A eine bestimmte Eingabe INPUT in die Vorrichtung, d.h.
in eine Smartcard, eingegeben. In der Praxis besteht diese Eingabe
aus einer Bitfolge einer vorgegebenen Länge.
-
In
Block B wird eine in einem Speicher der Vorrichtung gespeicherte
schlüsselspezifische
Zahl RND herausgeholt. Sie kann zum Beispiel eine Zufallszahl sein,
die zur gleichen Zeit, zu welcher der geheime Schlüssel für die Smartcard
festgelegt wurde, festgelegt und im Speicher der Vorrichtung gespeichert
wird.
-
In
Block C wird von den Berechnungseinrichtungen unter Verwendung einer
ersten Funktion f mittels eines geheimen Schlüssels und einer Eingabe INPUT
die Antwort OUTPUT berechnet. Während der
Berechnung der Antwort werden im Block B auch vorgegebene Berechnungsoperationen
auf der Basis der gelesenen schlüsselspezifischen
Zahl RND ausgeführt.
-
Falls
im Speicher der Vorrichtung der geheime Schlüssel A gespeichert ist, sind
die mit der schlüsselspezifischen
Zahl RND zusammenhängenden
Berechnungsoperationen derart, daß sie keine Auswirkung auf
die von den Berechnungseinrichtungen berechnete Antwort OUTPUT haben.
Mit anderen Worten, in diesem Fall wird eine geeignete Berechnungsformel
verwendet, wodurch der Energieverbrauch und die Strahlung, die durch
die Berechnung hervorgerufen werden, den Gesamtenergieverbrauch
und die Gesamtstrahlung der Vorrichtung verzerren, wenn die Antwort
erzeugt wird.
-
Wenn
im Gegensatz dazu im Speicher der Vorrichtung nicht der geheime
Schlüssel
A gespeichert ist, sondern statt dessen zusätzlich zur schlüsselspezifischen
Zahl RND ein unter Verwendung des geheimen Schlüssels A, der schlüsselspezifischen Zahl
RND und der zweiten vorgegebenen Funktion g berechneter kodierter
Schlüssel
A' (d.h. A' = g(RND, A)) im
Speicher der Vorrichtung gespeichert ist, sind die mit der schlüsselspezifischen
Zahl RND zusammenhängenden
Berechnungsoperationen derart, daß sie als Ergebnis den geheimen
Schlüssel
A ergeben. In diesem Fall wird die inverse Funktion g' der zweiten vorgegebenen
Funktion g verwendet, um auf der Basis der schlüsselspezifischen Zahl RND und des
kodierten Schlüssels
A' den geheimen
Schlüssel A
zu berechnen (d.h. A = g'(RND,
A')). Dabei verzerren
die durch Berechnung des Schlüssels
A erzeugte Energie und Strahlung den Gesamtenergieverbrauch und
die Gesamtstrahlung, die bei der Erzeugung der Antwort OUTPUT hervorgerufen
werden.
-
In
Block D wird die Antwort OUTPUT am Ausgang der Vorrichtung ausgegeben.
Beispielsweise kann ein externes Authentifizierungsgerät die Antwort
verwenden, um sicherzustellen, daß es sich um die richtige Smartcard
handelt. Dies erfolgt durch das Authentifizierungsgerät, das die
Funktion f, den geheimen Schlüssel
A und die Eingabe INPUT kennt und eine Rechenoperation ausführt, die
derjenigen entspricht, die von der Smartcard ausgeführt wird. Dadurch
sollte die von der Smartcard erzeugte Antwort OUTPUT gleich dem
Ergebnis der von dem Authentifizierungsgerät ausgeführten Rechenoperation sein.
-
2 ist
ein Blockdiagramm einer ersten bevorzugten Ausführungsform der Vorrichtung
der Erfindung. Die Vorrichtung in 2 kann zum
Beispiel sein: eine Identitätskarte,
durch welche die Identität einer
Person elektronisch bestätigt
werden kann; eine elektronische Kreditkarte, in deren Speicher ein bestimmter
Geldbetrag gespeichert ist; eine Erlaubniskarte, die einem mit einem
TV-Gerät
verbundenen Satellitenempfänger
anzeigt, daß das
Anschauen eines bestimmten Abonnementkanals erlaubt ist; oder irgendeine
andere Vorrichtung, die zuverlässig
authentifiziert werden muß.
-
Die
Vorrichtung 1 weist Berechnungseinrichtungen auf, die einen
Prozessor P aufweisen, der eine bestimmte Berechnungsfunktion f
verwendet. Die Vorrichtung 1 weist außerdem einen Speicher M, zum
Beispiel einen EEPROM-Speicher, auf. Im Speicher M ist der geheime
Schlüssel
A der Vorrichtung 1 gespeichert, der aus einer Bitfolge
besteht, deren Länge
zum Beispiel 64 Bit sein kann. Im Speicher M ist außerdem eine
schlüsselspezifische
Zahl RND gespeichert, die ebenfalls aus einer Bitfolge besteht.
-
Wenn
in den Eingang 2 der Vorrichtung 1 eine bestimmte
Eingabe INPUT eingegeben wird, holt der Prozessor P aus dem Speicher
M den geheimen Schlüssel
A und die darin gespeicherte schlüsselspezifische Zahl RND. Der
Prozessor P verwendet dann die erste vorgegebene Funktion f, um
die Antwort OUTPUT zu berechnen, deren Wert von dem geheimen Schlüssel A und
der Eingabe INPUT abhängt,
d.h. OUTPUT = f(INPUT, A). Beim Berechnen der Antwort OUTPUT führt der
Prozessor P auch eine Berechnung unter Verwendung einer Funktion f2
und der schlüsselspezifischen
Zahl RND durch. Die mit der Funktion f2 durchgeführten Berechnungen wirken sich
nicht auf die von dem Prozessor erzeugte Antwort OUTPUT aus, wohingegen
sich der Energieverbrauch bei der Berechnung und die durch die Berechnung
hervorgerufene Strahlung ändern, wodurch
es für
einen Angreifer unmöglich
wird, die zur Erzeugung der Antwort OUTPUT benötigte Energie und die dadurch
hervorgerufene Strahlung herauszufinden.
-
Im
Gegensatz zum Fall von 2 ist es auch denkbar, daß die Vorrichtung 1 zwei
Prozessoren aufweist, von denen der eine Berechnungen auf der Basis
der Funktion f und der zweite diejenigen auf der Basis der Funktion
f2 durchführt.
-
Wenn
im Fall von 2 der Prozessor P die Berechnungen
mit den Funktionen f und f2 beendet hat, schickt er die von der
Funktion f erzeugte Antwort OUTPUT zum Ausgang 3 der Vorrichtung 1,
wo sie beispielsweise ein externer Authentifizierungsprozeß auslesen
kann.
-
3 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform der Vorrichtung
der Erfindung. Die Ausführungsform
von 3 entspricht größtenteils derjenigen von 2.
Im Fall von 3 ist im Speicher M' jedoch statt des
geheimen Schlüssels
A ein kodierter Schlüssel
A' gespeichert. Folglich
ist in der Vorrichtung 1' kein
geheimer Schlüssel
A gespeichert, was es unmöglich
macht, den geheimen Schlüssel
zu irgendeinem Zeitpunkt aus dem Speicher auszulesen. Insbesondere
ist das Auslesen eines geheimen Schlüssels aus einem Speicher eine
solche Maßnahme,
die einem Angreifer besonders viel Information zum Herausfinden
des geheimen Schlüssels
der Vorrichtung liefert.
-
Im
Fall von 3 sind im Speicher M' der Vorrichtung 1' der kodierte
Schlüssel
A' und die schlüsselspezifische
Zahl RND gespeichert. Der kodierte Schlüssel A' ist mit Hilfe des geheimen Schlüssels A
und der schlüsselspezifischen
Zahl RND und einer zweiten vorgegebenen Funktion g erzeugt worden,
so daß A' = g(A, RND).
-
Wenn
der Prozessor P' die über den
Eingang 2 der Vorrichtung 1' eingegebene Eingabe INPUT empfängt, holt
er den kodierten Schlüssel
A' und die schlüsselspezifische
Zahl RND aus dem Speicher M'. Der
Prozessor P" verwendet
dann die aus dem Speicher geholten Bitfolgen A' und RND in Berechnungen, die auf der
Basis der inversen Funktion g' der zweiten
vorgegebenen Funktion g durchgeführt
werden. Als ein Ergebnis dieser Berechnungen findet der Prozessor
P' den geheimen
Schlüssel
heraus, d.h. A = g'(A', RND).
-
Sobald
der Prozessor den geheimen Schlüssel
A kennt, verwendet er ihn in Berechnungen, die auf der Basis der
ersten vorgegebenen Funktion f durchgeführt werden und deren Ergebnis
die Antwort OUTPUT ist, d.h. OUTPUT = f(INPUT, A).
-
Berechnen
des geheimen Schlüssels
aus dem kodierten Schlüssel
und der schlüsselspezifischen
Zahl bringt den Vorteil mit sich, daß die von der Vorrichtung 1' zur Erzeugung
der Antwort verbrauchte Energie und die dabei hervorgerufene Strahlung höher oder
niedriger erscheinen, als sie wirklich sind. Ein Angreifer ist nicht
in der Lage, die zur Erzeugung der Antwort verbrauchte tatsächliche
Energie und die dabei hervorgerufene Strahlung von anderem Energieverbrauch
und anderer Strahlung zu unterscheiden.
-
Es
ist im Gegensatz zum Fall von 3 natürlich denkbar,
daß die
Vorrichtung zwei Prozessoren aufweist, wovon einer die Berechnungen
unter Verwendung der Funktion g' und
der zweite diejenigen unter Verwendung der Funktion f durchführt.
-
4 ist
ein Blockdiagramm einer dritten bevorzugten Ausführungsform der Vorrichtung
der Erfindung. Die Ausführungsform
von 4 entspricht größtenteils derjenigen von 3.
Im Fall von 4 weist die Vorrichtung 1'' jedoch Einrichtungen zum Ingebrauchnehmen
eines neuen kodierten Schlüssels
A' und einer neuen
schlüsselspezifischen
Zahl RND auf.
-
Im
Fall von 4 weist der Prozessor P'' einen Zähler auf, um zu registrieren,
wie viele Male der Prozessor P'' die Antwort OUTPUT
erzeugt hat. Sobald der Zähler
einen vorgegebenen Grenzwert, z.B. 1000, erreicht hat, initiiert
der Prozessor P'' einen Prozeß, um einen
neuen kodierten Schlüssel
A' und eine neue
schlüsselspezifische
Zahl RND in Gebrauch zu nehmen. In diesem Fall berechnet der Prozessor
P'' den geheimen Schlüssel A auf
der Basis des kodierten Schlüssels
A', der schlüsselspezifischen
Zahl RND und der Funktion g',
die im Speicher M'' gespeichert sind.
Der Prozessor P'' schickt den auf
diese Weise gewonnenen geheimen Schlüssel A zu einem zweiten Prozessor 5'' (im Gegensatz zu dem Beispiel
in 4 kann die Vorrichtung 1'' auch einen
einzigen Prozessor aufweisen, in welchem Fall der Prozessor P'' von 4 auch die
Funktionen des zweiten Prozessors 5'' von 4 durchführt). Gleichzeitig
weist der Prozessor P'' einen Zufallszahlengenerator 4'' an, eine neue Zufallszahl zu erzeugen, welche
der Zufallszahlengenerator zum zweiten Prozessor 5'' schickt.
-
Der
zweite Prozessor 5'' ist programmiert, um
Berechnungen mit Hilfe der zweiten vorgegebenen Funktion g durchzuführen. Somit
berechnet er den neuen kodierten Schlüssel A' auf der Basis des geheimen Schlüssels A
und der neuen Zufallszahl RND, d.h. A' = g(A, RND). Der Prozessor 5'' speichert den neuen kodierten
Schlüssel
A' zusammen mit
der neuen schlüsselspezifischen
Zahl RND, die eine Zufallszahl aufweist, im Speicher M'', um den vorherigen kodierten Schlüssel und
den vorherigen schlüsselspezifischen
Code zu ersetzen.
-
Schließlich setzt
der Prozessor P'' den Zähler auf
Null, woraufhin die Vorrichtung 1'' den
neuen kodierten Schlüssel
und die neue schlüsselspezifische
Zahl verwendet, bis der Zähler
wieder anzeigt, daß der
Prozessor P'' eine Anzahl von
Antworten OUTPUT erzeugt hat, die dem Grenzwert (z.B. 1000) entspricht,
wodurch erneut die Berechnung eines neuen kodierten Schlüssels beginnt.
-
5 ist
ein Blockdiagramm einer ersten bevorzugten Ausführungsform des Systems der
Erfindung. Das System von 5 verwendet
die in Zusammenhang mit 2 beschriebene Vorrichtung 1.
-
Die
Vorrichtung 1 wird mit einem Gerät 10 verbunden, das
zum Beispiel ein Authentifizierungsgerät sein kann. Die Vorrichtung 1 und
das Gerät 10 müssen nicht
physikalisch miteinander verbunden werden, sondern das Gerät 10 kann
zum Beispiel ein Computer sein, der über das Internet oder über ein anderes
Informationsnetz eine Datenübertragungsverbindung
mit der Vorrichtung 1 hat. Wenn die Vorrichtung 1 eine
elektronische Identitätskarte
ist, die im Kartenleser eines mit dem Internet verbundenen Computers
eingesetzt ist, ist das Gerät 10 in
der Lage, über
das Internet und die Vorrichtung 1 die Identität des aktuellen
Benutzers des Computers zu verifizieren, unter der Voraussetzung,
daß die
betreffende Person diejenige ist, deren Karte zur Zeit im Leser eingesetzt
ist.
-
Das
Gerät 10 weist
einen Speicher M2 auf, in welchem die geheimen Schlüssel aller
verfügbaren Vorrichtungen
(Identitätskarten)
gespeichert sind. Wenn das Gerät
folglich sicherstellen möchte,
daß es sich
um eine bestimmte Vorrichtung 1 handelt, holt es zum Authentifizieren
den geheimen Schlüssel
A der Vorrichtung 1 aus dem Speicher M2. Dabei erzeugt eine
Steuereinheit 11 in dem Gerät 10 auch eine vorgegebene
Eingabe INPUT. Die Steuereinheit 11 schickt diese Eingabe
zur Vorrichtung 1 und zu einem Prozessor P2 in dem Gerät. Der Prozessor
P2 in dem Gerät
verwendet die gleiche Funktion f wie der Prozessor P in der Vorrichtung 1.
Da beide Prozessoren die gleiche Funktion f, den gleichen geheimen Schlüssel A und
die gleiche Eingabe INPUT verwenden, sollte die von ihnen erzeugte
Antwort OUTPUT eben falls die gleiche sein. Um dies festzustellen, weist
das Gerät
eine Vergleichseinrichtung 12 auf, die die am Ausgang 3 der
Vorrichtung ausgegebene Antwort mit der von dem Prozessor P2 erzeugten Antwort
vergleicht und auf der Basis des Vergleichs zum Beispiel ein Signal
erzeugt, welches das Ergebnis des Vergleichs repräsentiert.
-
Das
Gerät 10 kann
auch verwendet werden, um den geheimen Schlüssel der Vorrichtung 1 zu ändern. In
diesem Fall erzeugt die Steuereinheit 11 des Geräts einen
neuen geheimen Schlüssel
A, den sie im Speicher M2 speichert und zu der Vorrichtung 1 überträgt . Wenn
der neue geheime Schlüssel
A erzeugt wird, erzeugt ein Zufallszahlengenerator 13 in dem
Gerät 10 auch
eine neue schlüsselspezifische Zahl
RND, welche das Gerät
ebenfalls zu der Vorrichtung 1 überträgt. Somit empfängt die
Vorrichtung 1 den neuen geheimen Schlüssel A und die neue schlüsselspezifische
Zahl RND, welche sie im Speicher M speichert, um die vorherigen
zu ersetzen.
-
6 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform des Systems der
Erfindung. Die Ausführungsform
von 6 entspricht größtenteils derjenigen von 5.
-
In
der Ausführungsform
von 6 überträgt das Gerät 10' jedoch nicht
einen neuen geheimen Schlüssel
A, der im Speicher der Vorrichtung 1' gespeichert wird. Statt dessen
werden der neue geheime Schlüssel
A und die von dem Zufallszahlengenerator 13 erzeugte neue
schlüsselspezifische
Zahl zu einem Prozessor 14 geschickt. Der geheime Schlüssel A wird
außerdem
im Speicher M2 gespeichert.
-
Der
Prozessor 14 verwendet die zweite vorgegebene Funktion
g und die schlüsselspezifische Zahl,
um den kodierten Schlüssel
A' zu berechnen, d.h.
A' = g(RND, A).
Die Vorrichtung 10' überträgt dann
den neuen kodierten Schlüssel
A' und die schlüsselspezifische
Zahl RND zur Vorrichtung 1', die
sie im Speicher M' speichert.
Die Vorrichtung 1' verwendet
diesen kodierten Schlüssel
A' und die schlüsselspezifische
Zahl RND so, wie in Zusammenhang mit 3 beschrieben
ist.
-
Selbstverständlich sind
die obige Beschreibung und die dazugehörigen Figuren nur zur Veranschaulichung
der vorliegenden Erfindung gedacht. Es ist für Fachleute offensichtlich,
daß an
der Erfindung verschiedene Änderungen
und Modifikationen vorgenommen werden können, ohne von dem Bereich
der Erfindung abzuweichen, wie er in den angefügten Ansprüchen definiert ist.