DE102008056332A1 - Sichere kryptographische Berechnung - Google Patents

Sichere kryptographische Berechnung Download PDF

Info

Publication number
DE102008056332A1
DE102008056332A1 DE102008056332A DE102008056332A DE102008056332A1 DE 102008056332 A1 DE102008056332 A1 DE 102008056332A1 DE 102008056332 A DE102008056332 A DE 102008056332A DE 102008056332 A DE102008056332 A DE 102008056332A DE 102008056332 A1 DE102008056332 A1 DE 102008056332A1
Authority
DE
Germany
Prior art keywords
calculation
calculation result
data carrier
cryptographic
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102008056332A
Other languages
English (en)
Inventor
Frank Schmalz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE102008056332A priority Critical patent/DE102008056332A1/de
Publication of DE102008056332A1 publication Critical patent/DE102008056332A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Die Erfindung schafft ein Verfahren zum sicheren Berechnen eines Rechenergebnisses einer kryptographischen Berechnung, wobei in einem Datenträger eine kryptographische Berechnung zwei Mal durchgeführt wird. Die beiden Rechenergebnisse werden verglichen. Im Fall, dass sie nicht übereinstimmen, wird ein Zählerstand eines Angriffszählers inkrementiert und der Datenträger gesperrt, sobald der Zählerstand einen vorbestimmten Grenzzählerstand erreicht oder übersteigt.

Description

  • 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
    • - ISO 7810 [0002]

Claims (5)

  1. Verfahren zum sicheren Berechnen eines Rechenergebnisses (R) einer kryptographischen Berechnung, wobei in einem Datenträger (1) – eine kryptographische Berechnung zwei Mal durchgeführt wird, wobei in den beiden Berechnungen ein erstes Rechenergebnis (R1) und ein zweites Rechenergebnis (R2) berechnet werden, – das erste Rechenergebnis (R1) und das zweite Rechenergebnis (R2) miteinander verglichen werden, dadurch gekennzeichnet, dass – in dem Fall, dass gemäß dem Vergleich das erste Rechenergebnis (R1) und das zweite Rechenergebnis (R2) nicht übereinstimmen, ein Zählerstand (Z) eines Angriffszählers (3) inkrementiert wird, und – der Datenträger (1) gesperrt wird, sobald der Zählerstand (Z) einen vorbestimmten Grenzzählerstand (G) erreicht oder übersteigt.
  2. Verfahren nach Anspruch 1, wobei in dem Fall, dass gemäß dem Vergleich das erste Rechenergebnis (R1) und das zweite Rechenergebnis (R2) nicht übereinstimmen, das Rechenergebnis (R) verworfen wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei bei der kryptographischen Berechnung geheime Daten verarbeitet werden.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei als Berechnung zumindest ein Teil einer Verschlüsselung, Entschlüsselung, Authentisierung oder Signaturberechnung durchgeführt wird.
  5. Datenträger (1) mit einem Mikroprozessor (2), mindestens einem Speicher (4) und einem Angriffszähler (3), und der dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 4 durchzuführen.
DE102008056332A 2008-11-07 2008-11-07 Sichere kryptographische Berechnung Ceased DE102008056332A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102008056332A DE102008056332A1 (de) 2008-11-07 2008-11-07 Sichere kryptographische Berechnung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008056332A DE102008056332A1 (de) 2008-11-07 2008-11-07 Sichere kryptographische Berechnung

Publications (1)

Publication Number Publication Date
DE102008056332A1 true DE102008056332A1 (de) 2010-05-20

Family

ID=42104916

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008056332A Ceased DE102008056332A1 (de) 2008-11-07 2008-11-07 Sichere kryptographische Berechnung

Country Status (1)

Country Link
DE (1) DE102008056332A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19506921C2 (de) * 1995-02-28 1997-03-20 Orga Kartensysteme Gmbh Verfahren zur Durchführung eines Geheimcodevergleiches bei einem mikroprozessorgestützten, tragbaren Datenträger
DE19831884C2 (de) * 1998-07-17 2001-09-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
WO2003085991A2 (en) 2002-03-29 2003-10-16 Sony Electronics, Inc. Mixing of multiple streams of audio/video data from multiple sources within a receiving device allowing external control
EP1569118A2 (de) 2004-02-24 2005-08-31 Giesecke & Devrient GmbH Verfahren zum sicheren Berechnen eines Ergebniswerts bei einem Mikroprozessorsystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19506921C2 (de) * 1995-02-28 1997-03-20 Orga Kartensysteme Gmbh Verfahren zur Durchführung eines Geheimcodevergleiches bei einem mikroprozessorgestützten, tragbaren Datenträger
DE19831884C2 (de) * 1998-07-17 2001-09-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
WO2003085991A2 (en) 2002-03-29 2003-10-16 Sony Electronics, Inc. Mixing of multiple streams of audio/video data from multiple sources within a receiving device allowing external control
EP1569118A2 (de) 2004-02-24 2005-08-31 Giesecke & Devrient GmbH Verfahren zum sicheren Berechnen eines Ergebniswerts bei einem Mikroprozessorsystem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISO 7810

Similar Documents

Publication Publication Date Title
EP1214812B1 (de) Verfahren zum schutz von daten
DE4339460C1 (de) Verfahren zur Authentifizierung eines Systemteils durch ein anderes Systemteil eines Informationsübertragungssystems nach dem Challenge-and Response-Prinzip
DE602005001351T2 (de) Verteilte Verwaltung einer Zertifikatsrücknahmeliste
EP2368207B1 (de) Authentisierte übertragung von daten
DE68928170T2 (de) Klassifizierungssystem für persönliche geheimzahlen
EP1706957B1 (de) Biometrische authentisierung
DE10005487A1 (de) Verfahren zur Nutzeridentitätskontrolle
WO1999048056A1 (de) Verfahren und vorrichtung zur prüfung eines biometrischen merkmals
EP2609711B1 (de) Verfahren zum authentisieren eines portablen datenträgers
EP0570924A2 (de) Verfahren zur Authentifizierung eines Systemteiles durch einen anderen Systemteil in einem Informationsübertragungssystem bestehend aus einem Terminal und einer tragbaren Datenträgeranordnung
DE60108849T2 (de) Biometrisches identifikationsverfahren, tragbare elektronische vorrichtung und elektronische vorrichtung für biometrische datenerfassung zur verwendung mit selbiger
DE102008056332A1 (de) Sichere kryptographische Berechnung
DE60105622T2 (de) Zugriffssicherung mit einem geheimkode zu einem datenverarbeitungsmittel
DE102012015158A1 (de) Gegen Ausspähen geschützte kryptographische Berechnung
EP2127294B1 (de) Authentisierung portabler Datenträger
DE19818998B4 (de) Verfahren zum Schutz vor Angriffen auf den Authentifizierungsalgorithmus bzw. den Geheimschlüssel einer Chipkarte
DE60106893T2 (de) Detektion falscher akzeptanz bei biometrischer prüfung
DE19841862A1 (de) Inegration von Chipkartenfunktionen in ein mobiles Kommunikationsgerät
DE112017005315T5 (de) Datenverarbeitungsvorrichtung und Computerprogramm
EP2281259B1 (de) Änderbare pin für hardwaretoken
DE102010055237A1 (de) Verfahren zum geschützten Ausführen einer kryptographischen Berechnung
EP1715617B1 (de) Verfahren zum Betreiben eines Systems mit einem tragbaren Datenträger und einem Endgerät
DE102006049814B4 (de) Verfahren und Vorrichtung zum Erzeugen und Speichern von einer Geheimkombination zugeordneten Hilfsgrößen sowie zum Wiedergewinnen der Geheimkombination
DE102020117287A1 (de) Verfahren und ein System zur Inbetriebnahme oder Verwaltung einer Offline-Steuervorrichtung
WO2003071492A2 (de) Verfahren zum nachweis der berechtigung einer person zur nutzung eines tragbaren datenträgers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection