-
Die
Erfindung betrifft ein Verfahren zum sicheren Berechnen eines Rechenergebnisses
einer kryptographischen Berechnung.
-
Ein
Datenträger im Sinn der Erfindung ist ein Rechnersystem,
bei dem die Ressourcen, d. h. Speicherressourcen und/oder Rechenkapazität
(Rechenleistung) begrenzt sind, z. B. eine Chipkarte (Smart Card,
Mikroprozessor-Chipkarte). Der Datenträger hat einen Körper,
in dem eine CPU (ein Mikroprozessor) angeordnet ist, und der jede
beliebige standardisierte oder nicht standardisierte Gestalt haben
kann, beispielsweise die Gestalt einer flachen Chipkarte ohne Norm
oder nach einer Norm wie z. B. ISO 7810 (z. B.
ID-1, ID-00, ID-000) oder die eines volumigen Tokens. Der Datenträger
kann weiter eine oder mehrere beliebige Schnittstellen für
kontaktlose und/oder kontaktbehaftete Kommunikation mit einem Lesegerät
oder Datenverarbeitungssystem (z. B. Personal Computer, Workstation,
Server) haben. Der Datenträger kann z. B. als SIM-Karte
für ein Mobiltelefon, Zahlungsverkehrkarte, Gesundheitswesenkarte
oder Signaturkarte im Einsatz sein.
-
Vielfach
werden mit Datenträgern kryptographische Berechnungen durchgeführt,
beispielsweise Ver- und Entschlüsselungen, Authentisierungen
oder Signaturberechungen, bei denen geheime Daten verarbeitet werden,
beispielsweise in dem Datenträger abgespeicherte geheime
Schlüssel.
-
Durch
Seitenkanalangriffe, insbesondere durch differentielle Fehleranalyse
(differential fault analysis, DFA) lassen sich die geheimen Daten
ausspähen. Bei einem DFA-Angriff werden, während
in einem Datenträger eine kryptographische Berechnung durchgeführt
wird, durch physikalische Einflüsse (z. B. Hitze, Strahlung)
von außerhalb des Datenträgers Speicherfehler
in einzelnen Bits in Speichern des Datenträgers erzeugt,
so dass die Berechnung ein falsches Rechenergebnis liefert. Durch
mathematische Analyse ausrei chend vieler fehlerhafter Rechenergebnisse
lassen sich die geheimen Daten ermitteln.
-
Um
DFA-Angriffe auf einen Datenträger zu erkennen, ist es
bekannt, eine kryptographische Berechnung in dem Datenträger
zwei Mal durchzuführen, die Rechenergebnisse der beiden
Berechnungen zu vergleichen, und das Rechenergebnis als fehlerhaft
zu verwerfen oder zurückzuhalten, falls die beiden Rechenergebnisse
nicht übereinstimmen.
-
WO 03/085991 A1 schlägt
ein Verfahren vor, um einen Datenträger, der eine kryptographische
Berechnung durchführt, z. B. den DES-Algorithmus (Data
Encryption Standard), gegen DFA-Angriffe zu schützen. Dabei
wird zumindest ein Teil der Berechnung zweimal durchgeführt.
Falls sich die beiden Rechenergebnisse der beiden Berechnungen unterscheiden,
wird das Rechenergebnis zurückgehalten.
-
EP 1 569 118 A2 beschreibt
ein Verfahren zum sicheren Berechnen eines Rechenergebnisses einer
kryptographischen Berechnung bei einem Datenträger (Mikroprozessorsystem),
wobei die Berechnung zwei Mal durchgeführt wird, insbesondere
unter Verwendung zueinander komplementärer Parameter, und
das Rechenergebnis als fehlerhaft verworfen wird, falls die Rechenergebnisse
nicht übereinstimmen.
-
Teilweise
werden Datenträger im Fall eines als fehlerhaft verworfenen
Rechenergebnisses unwiderruflich gesperrt. Ein endgültiges
Sperren des Datenträgers anlässlich von nicht übereinstimmenden Rechenergebnissen
der doppelten Berechnung ist sicher, birgt aber auch die Gefahr,
dass ein Datenträger versehentlich gesperrt wird. Daher
wird bei manchen Datenträgern bei nicht übereinstimmenden
Rechenergebnissen der Doppelberechnung das Rechenergebnis verworfen
ohne den Datenträger zu sperren. Dies ermöglicht
einem Angreifer, die doppelte Berechnung beliebig oft zu wiederholen
und dadurch möglicherweise geheime Daten auszuspähen.
-
Der
Erfindung liegt die Aufgabe zu Grunde, ein sicheres und zugleich
bedienungsfreundliches Verfahren zum Berechnen eines Rechenergebnisses einer
kryptographischen Berechnung zu schaffen.
-
Die
Aufgabe wird gelöst durch ein Verfahren nach dem unabhängigen
Verfahrensanspruch. Vorteilhafte Ausgestaltungen der Erfindung sind
in den abhängigen Ansprüchen angegeben.
-
Das
erfindungsgemäße Verfahren gemäß Anspruch
1 ist zum sicheren Berechnen eines Rechenergebnisses einer kryptographischen
Berechnung eingerichtet, wobei in einem Datenträger eine kryptographische
Berechnung zwei Mal durchgeführt wird, wobei in den beiden
Berechnungen ein erstes Rechenergebnis und ein zweites Rechenergebnis berechnet
werden, und das erste Rechenergebnis und das zweite Rechenergebnis
miteinander verglichen werden. Das Verfahren zeichnet sich dadurch aus,
dass in dem Fall, dass gemäß dem Vergleich das
erste Rechenergebnis und das zweite Rechenergebnis nicht übereinstimmen,
ein Zählerstand eines Angriffszählers inkrementiert
wird, und der Datenträger gesperrt wird, sobald der Zählerstand
einen vorbestimmten Grenzzählerstand erreicht oder übersteigt.
-
Bei
dem erfindungsgemäßen Verfahren wird der Datenträger
nicht sofort gesperrt, sobald – möglicherweise
versehentlich – nicht übereinstimmende Rechenergebnisse
einer doppelten Berechnung festgestellt werden. Hierdurch ist das
Verfahren benutzerfreundlich. Andererseits ist die Anzahl möglicher nicht übereinstimmender
Rechenergebnisse der Doppelberech nung durch den Angriffszähler
auf den Grenzzählerstand begrenzt. DFA-Angriffe benötigen dagegen
eine hohe Anzahl von Wiederholungen ein- und derselben Berechnung,
damit eine Chance besteht, geheime Daten zu ermitteln. Bei geeignet
gewähltem Grenzzählerstand ist somit ein erfolgreicher DFA-Angriff
so gut wie unmöglich gemacht.
-
Daher
ist gemäß Anspruch 1 ein sicheres und zugleich
bedienungsfreundliches Verfahren zum Berechnen eines Rechenergebnisses
einer kryptographischen Berechnung geschaffen.
-
Das
zweimalige Berechnen des Rechenergebnisses an sich erfolgt wie aus
dem Stand der Technik, z. B. dem oben genannten, bekannt.
-
Falls
das erste und zweite Rechenergebnis nicht übereinstimmen,
wird das Rechenergebnis vorzugsweise verworfen. Falls das erste
und zweite Rechenergebnis übereinstimmen, wird das Rechenergebnis
vorzugsweise verwendet, z. B. zur Authentisierung, Signaturberechnung,
Ver-/Entschlüsselung.
-
Wahlweise
werden bei der kryptographischen Berechnung geheime Daten verarbeitet,
beispielsweise geheime Schlüssel, die wahlweise in dem
Datenträger gesichert abgespeichert sind, oder/und geheime
Nachrichten, die mit dem Schlüssel verschlüsselt
werden sollen.
-
Als
kryptographische Berechnung wird beispielsweise eine Berechnung
zur Verschlüsselung oder Entschlüsselung von Daten
mittels eines Schlüssels, zur Authentisierung oder zur
Signaturberechnung durchgeführt, oder zumindest ein Teil
einer Verschlüsselung, Entschlüsselung, Authentisierung oder
Signaturberechnung.
-
Der
Grenzzählerstand ist vorzugsweise geeignet gewählt,
so dass einerseits ein Nutzer des Datenträgers einige Fehler „frei” hat,
andererseits die Anzahl verfügbarer Versuche mit nicht übereinstimmenden
Rechenergebnissen der doppelten Berechnung zu niedrig ist, um einen
erfolgreichen DFA-Angriff zu ermöglichen.
-
Wahlweise
wird bei dem Angriffszähler ein Anfangszählerstand
eingestellt. Wahlweise wird der Zählerstand beginnend vom
Anfangszählerstand inkrementiert. Wahlweise ist der Anfangszählerstand Null
und der Grenzzählerstand von Null unterschiedlich (z. B.
fünf oder zehn oder hundert), so dass das Inkrementieren
des Zählerstands von Null an beginnt. Alternativ ist der
Anfangszählerstand von Null unterschiedlich und der Grenzzählerstand
Null, so dass das Sperren des Datenträgers beim Zählerstand
Null erfolgt.
-
Unter
einem Inkrementieren des Zählerstands wird je nach Ausführungsform
ein (betragsmäßiges) Erhöhen des Zählerstands
(bei Anfangszählerstand Null) oder Verringern des Zählerstands (bei
Grenzzählerstand Null) verstanden.
-
Ein
erfindungsgemäßer Datenträger ist ausgestattet
mit einem Mikroprozessor, mindestens einem Speicher und einem Angriffszähler,
und ist dazu eingerichtet, ein erfindungsgemäßes
Verfahren durchzuführen.
-
Im
Folgenden wird die Erfindung an Hand von Ausführungsbeispielen
und unter Bezugnahme auf die Zeichnung näher erläutert,
in der zeigt:
-
1 einen
Datenträger mit einem Angriffszähler, gemäß einer
Ausführungsform der Erfindung;
-
2 ein
Flussdiagramm zur Veranschaulichung der Erfindung.
-
1 zeigt
einen Datenträger 1 mit einem Angriffszähler 3,
gemäß einer Ausführungsform der Erfindung.
Der Datenträger 1 ist als Chipkarte, genauer als
SIM-Karte zur Authentisierung eines Mobiltelefonnutzers gegenüber
dem Hintergrundsystem eines Mobilfunknetzes, gestaltet und hat einen
Mikroprozessor 2, ein oder mehrere Speicher 4,
z. B. ROM, RAM, EEPROM oder/und Flash-Speicher, und den Angriffszähler 3.
Der Zählerstand Z des Angriffszählers 3 ist
zu einem früheren Zeitpunkt, beispielsweise bei der Herstellung
des Datenträgers 1, auf einen Anfangszählerstand,
hier mit Wert Null, initialisiert worden. Der Datenträger 1 ist
dazu eingerichtet, mittels seines Mikroprozessors 2 ein
Rechenergebnis einer kryptographischen Berechnung durchzuführen,
das zur Authentisierung des Datenträgers 1 gegenüber
dem Hintergrundsystem (nicht gezeigt) verwendet werden soll.
-
2 veranschaulicht
die Erfindung in einem Flussdiagramm. Ein Rechenergebnis R wird durch
den Mikroprozessor 2 zwei Mal berechnet, als R1 und R2,
und die beiden Rechenergebnisse R1, R2 werden verglichen (Raute „=
?”). Falls R1 und R2 übereinstimmen („+”, „R1
= R2”), wird das Rechenergebnis R = R1 = R2 bei der Authentisierung
verwendet. Falls die Rechenergebnisse nicht übereinstimmen
(„–”, „R1·R2”),
wird das Rechenergebnis verworfen, der Angriffszähler 3 um
eine Einheit inkrementiert („Z → Z + 1) und überprüft,
ob der Zählerstand Z des Angriffszählers 3 einen
voreingestellten Grenzzählerstand G erreicht hat („Z < G?”).
Im Fall, dass der Grenzzählerstand G noch nicht erreicht
ist (Z < G), sind
weitere Versuche des Berechnens von R möglich (Pfeil zurück
zu „2”). Im Fall des Erreichens des Grenzzählerstands
G (Z ≥ G) wird der Datenträger 1 gesperrt
(„STOP”).
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - WO 03/085991
A1 [0006]
- - EP 1569118 A2 [0007]
-
Zitierte Nicht-Patentliteratur
-