-
Die
vorliegende Erfindung betrifft ein Verfahren zur Sicherung eines
Authentifizierungsverfahrens unter Verwendung eines mit einem geheimen Schlüssel arbeitenden
Algorithmus.
-
Man
kennt Authentifizierungsverfahren unter Verwendung eines mit einem
geheimen Schlüssel
arbeitenden Algorithmus, um den Zugang zu einem Terminal, einer
Speicherzone oder auch einer Maschine zu kontrollieren. Im Falle
des Zuganges zu einem Terminal beispielsweise mit Hilfe einer Chipkarte umfaßt das Authentifizierungsverfahren
folgende Schritte:
Ausgabe einer Zufallszahl durch den Terminal,
Anwenden eines mit einem geheimen Schlüssel arbeitenden Algorithmus
auf diese Zufallszahl, wobei der geheime Schlüssel in dem Speicher des Chips
enthalten und von außen
weder durch Lesen noch durch Schreiben zugänglich ist, und Übertragen
des Rechenergebnisses an den Terminal. Parallel verfügt der Terminal über ein
Authentifizierungsresultat, das entweder durch ein in dem Sicherheitsmodul
in dem Terminal durchgeführtes
analoges Rechenverfahren oder durch eine Verbindung mit einem zentralen Organismus
erhalten wurde, der eine analoge Rechnung ausführt oder eine Tabelle enthält mit einer
Korrespondenz zwischen der ausgegebenen Zufallszahl und dem Authentifizierungsresultat,
das erhalten werden soll. Das in der Karte berechnete Resultat und
das Authentifizierungsresultat werden anschließend miteinander verglichen
und ein Zugriff wird nur dann freigegeben, wenn das berechnete Resultat und
das Authentifizierungsresultat identisch sind.
-
Um
das Authentifizierungsverfahren überlisten
zu können,
muß ein
Betrüger
den geheimen Schlüssel
entdecken, der in unzugänglicher
Weise in der Karte gespeichert ist, wogegen der Algorithmus im allgemeinen
von bekannter Art ist. Der physische Zugriff auf den geheimen Schlüssel ist
durch die bestehenden Schutztechniken praktisch unmöglich gemacht.
Die Betrüger,
die daher nicht direkt auf den geheimen Schlüssel zugreifen können und über leistungsfähige Informationsverarbeitungseinrichtungen verfügen, haben
Algorithmen zur Rekonstitution eines geheimen Schlüssels aus
Rechenfehlern des mit einem geheimen Schlüssel arbeitenden Algorithmus entwickelt,
wobei solche Rechenfehler provoziert werden können, indem man eine einen
Algorithmus mit geheimem Schlüssel
enthaltende Speicherzone oder eine Zone eines Arbeitsspeichers des
Mikroprozessors annormalen Belastungen aussetzt wie beispielsweise
einem Innenbombardement oder einer mechanischen, thermischen, optischen,
elektrischen, magnetischen Belastung oder dergleichen.
-
Bestimmte
Arten von Rekonstitutionsalgorithmen mit geheimem Schlüssel gehen
so vor, daß nacheinander
ein mit einem geheimen Schlüssel
arbeitender Algorithmus auf eine selbe Zahl angewendet wird und
die unterschiedlichen Resultate analysiert werden, die erhalten
werden, wenn der mit einem geheimen Schlüssel arbeitende Algorithmus Störungen ausgesetzt
wird, die Rechenfehler verursachen. Um diese Rekonstitutionsalgorithmen
abzuwehren, hat man vorgesehen, den mit einem geheimem Schlüssel arbeitenden
Algorithmus für
den Fall zu blockieren, dass mehrere Male nacheinander eine selbe
Zahl ausgegeben wird. Eine solche Maßnahme ist jedoch nicht sehr
wirkungsvoll aufgrund der Möglichkeit
für die
Betrüger,
in zyklischer Weise verschiedene Zahlen auszugeben oder zwischen
den angebotenen Zahlen eine Korrelation zu gewährleisten, welche eine Auswertung
der erhaltenen Rechenergebnisse für die Rekonstitution des geheimen Schlüssels erlaubt.
-
Um
die Arbeitsweise eines Algorithmus zur Rekonstitution des geheimen
Schlüssels
zu stören, hat
man ebenfalls vorgesehen, nach einem Zufallsverfahren die Übertragung
des Rechenergebnisses durch ein Resultat zu ersetzen, das unabhängig von dem
mit Hilfe des Algorithmus mit geheimem Schlüssel tatsächlich berechneten Ergebnis
ist. Auf diese Weise empfängt
der Betrüger
unabhängig
von der Art der ausgeführten
Störungen
ein Resultat, das unabhängig
von der anfangs ausgegebenen Zahl ist. Dies führt den Algorithmus zur Rekonstitution
des geheimen Schlüssels
dazu, irrtümlicherweise
nach einer Korrelation zwischen der ausgegebenen Zahl und dem erhaltenen
Resultat zu suchen. Die Überragung eines
Zufallsresultates jedoch, das zu einem negativen Vergleich mit dem
Authentifizierungsresultat und somit zu einem Anomaliesignal führt, verwirrt
möglicherweise
einen nicht betrügerischen
Benutzer.
-
Die
US-5 533 123 A beschreibt
die gesicherte Verarbeitung von kryptographischen Verfahren auf einer
gesicherten Verarbeitungseinheit, bei der verschiedene Methoden
zur Erkennung von Angriffen auf die Integrität der gesicherten Verarbeitungseinheit
verwendet werden, um z.B. beim Erkennen von Angriffen die reguläre Verarbeitung
einzuschränken oder
ganz einzustellen.
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zur Sicherung eines Authentifizierungsverfahrens
der vorstehend genannten Art vorgeschlagen, das folgende Sicherungsschritte
umfasst: Berechnen eines Testresultates aus einer Referenzzu fallszahl,
auf die der mit geheimem Schlüssel
arbeitende Algorithmus angewendet wird, Vergleichen des Testresultates
mit einem Referenzresultat und Sicherstellen, dass das berechnete
Resultat nur dann übertragen
wird, wenn das Testresultat mit dem Referenzresultat identisch ist.
-
Wenn
somit der Algorithmus Störungen durch
einen Betrüger
ausgesetzt wird, kann dieser nicht die aus den Störungen,
die er erzeugt, resultierenden Informationen erhalten.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung wird ein Zufallsergebnis übertragen, wenn das Testergebnis
von dem Referenzergebnis verschieden ist. Auf diese Weise glaubt
der Betrüger eine
mit der von ihm erzeugten Störung
konforme Information zu erhalten und erhält in Wirklichkeit eine vollständig unabhängige Information,
die ihm für
die Bestimmung des geheimen Schlüssels
keinen Nutzen bringt.
-
Gemäß einem
weiteren vorteilhaften Merkmal der Erfindung werden die Sicherheitsschritte
in einer aleatorischen Weise ausgeführt. Man vermindert auf diese
Weise die mittlere Dauer der Verifikation des Algorithmus.
-
Gemäß einem
weiteren vorteilhaften Merkmal der Erfindung umfaßt der mit
einem geheimen Schlüssel
arbeitende Algorithmus mindestens eine Zwischenphase, wobei ein
Vergleich zwischen einem berechneten Zwischenergebnis und einem
Zwischen-Referenzergebnis am Ende mindestens einer Zwischenphase
ausgeführt
wird. Auf diese Weise kann man eine systematische Verifikation durchführen, ohne
die Gesamtausführungszeit
allzu sehr zu vergrößern. Gemäß einer
bevorzugten Umsetzung dieses Merkmales der Erfindung wird die Anzahl
der Zwischenphasen, welche den Sicherungsschritten ausgesetzt werden,
und/oder die Auswahl dieser Phasen gemäß einer Zufallsverteilung getroffen.
In diesem Falle umfaßt
das Sicherungsverfahren außerdem
vorzugsweise einen Verzögerungsschritt
bestimmter Dauer, um eine Antwort in einer Zeit zu übertragen,
die nicht mit den Sicherungsschritten unterworfenen Phasen des Algorithmus
korreliert ist. Auf diese Weise vermeidet man, daß ein Betrüger über die
durchgeführte
Verifikation informiert wird, indem er die Zeit beobachtet, die
zwischen der Übertragung
der Zufallszahl und dem Erhalt eines Ergebnisses vergeht.
-
Weitere
Merkmale und Vorteile der Erfindung ergeben sich aus der vorliegenden
Beschreibung, welche unter Bezugnahme auf die beigefügten Zeichnungen
zwei bevorzugte Ausführungsbeispiele des
erfindungsgemäßen Sicherungsverfahrens
erläutert.
-
Es
zeigt:
-
1 ein
Blockdiagramm einer ersten Ausführungsform
des erfindungsgemäßen Sicherungsverfahrens
und
-
2 ein
Blockdiagramm einer zweiten Ausführungsform
des erfindungsgemäßen Sicherungsverfahrens.
-
Zunächst wird
auf 1 Bezug genommen. Das in der Figur dargestellte
Authentifizierungsverfahren enthält
in an sich bekannter Weise den Schritt, auf eine Zufallszahl 1 einen
kryptographischen, mit einem geheimen Schlüssel arbeitenden Algorithmus 2 anzuwenden,
um ein Rechenergebnis 3 zu erhalten.
-
Gemäß der Erfindung
enthält
das Sicherungsverfahren die Schritte, auf eine Referenzzufallszahl 4 den
mit einem geheimen Schlüssel
arbeitenden Algorithmus 2 anzuwenden, um ein Testergebnis 5 zu
erhalten, und das Testergebnis mit einem Referenzergebnis 6 zu
vergleichen, mit dem das Testergebnis identisch sein soll, wenn
die Arbeitsweise des mit einem geheimen Schlüssel arbeitenden Algorithmus
nicht gestört
ist. Bei der in der 1 dargestellten bevorzugten
Ausführungsform
umfaßt
das Sicherungsverfahren für
den Fall, daß das
Testergebnis nicht identisch mit dem Referenzergebnis ist, einen
Schritt 7, indem ein Zufallsergebnis übertragen wird, d.h. eine Ziffer
mit derselben Struktur wie das Rechenergebnis, wobei aber mindestens
ein Abschnitt dieser Zahl in zufälliger
Weise erhalten wurde, während
der andere Abschnitt aus Teilen des Rechenergebnisses bestehen kann.
Wenn dagegen das Testresultat identisch mit dem Referenzresultat ist,
bedeutet dies, daß der
Algorithmus normal arbeitet. Das Sicherungsverfahren enthält somit
den Schritt 8, indem das Rechenergebnis 3 übertragen wird.
-
Hinsichtlich
der Referenzzufallszahl und des Referenzresultates ist zu bemerken,
daß es
sich um ein einziges Paar handelt, das jedesmal benutzt wird, wenn
die Sicherungsschritte ausgeführt
werden, oder daß es
sich um ein Paar handelt, das in zufälligerweise aus einer Tabelle
entnommen wurde, die mehrere Referenzzufallszahlen und ihnen entsprechende
Referenzresultate hat.
-
Vorzugsweise
werden, wie dies bereits oben angedeutet wurde, die Sicherungsschritte
nicht systematisch jedesmal ausgeführt, wenn der mit einem geheimen
Schlüssel
arbeitende Algorithmus auf eine Zahl angewendet wird, sondern werden
im Gegenteil in aleatorischer Weise ausgeführt. Dies gibt die Möglichkeit,
daß die
Gesamtbehandlungsdauer nur von Zeit zu Zeit verlängert wird, erlaubt aber eine
statistische Erfassung von Betrugsversuchen.
-
2 zeigt
eine andere Ausführungsform des
erfindungsgemäßen Verfahrens,
bei welcher die mit dem Beispiel der 1 identischen
Schritte mit den selben Bezugszeichen versehen sind. Das Verfahren
dieser zweiten Ausführungsform
unterscheidet sich von dem in 1 dargestellten
Verfahren im wesentlichen dadurch, daß die Referenzzufallszahl hier
von der erhaltenen Zufallszahl gebildet ist, die zweimal aufeinanderfolgend
dem kryptographischen, mit einer Geheimzahl arbeitenden Algorithmus
ausgesetzt wurde, wobei ein erstes Mal ein Rechenergebnis erhalten
wird, daß auch
als Referenzresultat dient und ein zweites Mal ein Testergebnis
erhalten wird, und wobei beide Resultate miteinander verglichen
werden.
-
Darüberhinaus
ist bei dieser Ausführungsform
der mit einem geheimen Schlüssel
arbeitende Algorithmus in zwei Phasen unterteilt: Eine Zwischenphase 2.1,
welche es erlaubt, ein Zwischenrechenergebnis 3.1 und ein
Zwischentestergebnis 5.1 zu erhalten, die miteinander in
einem ersten Vergleichsschritt verglichen werden, und eine Endphase 2.2,
die in diesem Bei spiel erst ausgelöst wird, wenn der Vergleich
der Zwischenergebnisse positiv ist, und die es erlaubt, ein Rechenergebnis 3.2 und
ein Testergebnis 5.2 zu erhalten, welche in einem zweiten Vergleichsschritt
miteinander verglichen werden. Wenn einer der Vergleiche der Ergebnisse
eine Nichtidentität
ergibt, wird ein Zufallsergebnis 7 übertragen. Damit die offensichtliche
Behandlungszeit, d.h. die zwischen der Ausgabe der Zufallszahl 1 und
der Übertragung
einer Antwort verstrichene Zeit nicht signifikant für die Anzahl
oder die Auswahl der Phasen des einer Verifikation unterworfenen
Algorithmus sein kann, umfaßt
das Verfahren ferner einen Verzögerungsschritt 9,
dessen Dauer so berechnet sein soll, daß die Gesamtbehandlungszeit
entweder konstant ist oder im Gegenteil völlig zufällig erscheint.
-
Die
Erfindung ist natürlich
nicht auf die beschriebenen Ausführungsbeispiele
beschränkt
und man kann Abwandlungen vorsehen, ohne den durch die Ansprüche definierten
Rahmen zu verlassen.
-
Auch
wenn beispielsweise bei der zweiten Ausführungsform ein mit einem geheimen
Schlüssel arbeitender
Algorithmus beschrieben wurde, der nur in zwei Phasen unterteilt
ist, kann man insbesondere eine größere Anzahl von Phasen mit
einer entsprechenden Zunahme der Anzahl von Vergleichsschritten
zwischen den Zwischenrechenergebnissen und den Zwischentestresultaten
vorsehen. Die Verwendung eines mit einem geheimen Schlüssel arbeitenden
Algorithmus, der mehrere Phasen hat, kann auch im Rahmen des ersten
Ausführungsbeispieles
vorgesehen sein. In diesem Falle kann man vorsehen, daß das Zwischentestresultat
in die folgende Phase des Algorithmus eingebracht wird oder daß von einer neuen
Referenzzufallszahl ausgegangen und das so erhaltene Zwischentestergebnis
mit dem entsprechenden Zwischenreferenzergebnis verglichen wird.
-
Wenn
der Vergleich zwischen dem Testresultat und dem Referenzresultat
negativ ist, kann man auch vorsehen, den Algo rithmus definitiv zu
blockieren, um zu verhindern, daß ein weiterer Betrugsversuch
ausgeführt
wird. Um eine Blockade des Algorithmus infolge einer tatsächlich zufälligen Störung zu vermeiden,
kann auch ein Anomaliezähler
vorgesehen sein, wobei eine Blockierung des Algorithmus erst nach
einer vorgegebenen Anzahl von Anomalien vorgenommen wird.