DE19936529C1 - Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger - Google Patents

Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger

Info

Publication number
DE19936529C1
DE19936529C1 DE1999136529 DE19936529A DE19936529C1 DE 19936529 C1 DE19936529 C1 DE 19936529C1 DE 1999136529 DE1999136529 DE 1999136529 DE 19936529 A DE19936529 A DE 19936529A DE 19936529 C1 DE19936529 C1 DE 19936529C1
Authority
DE
Germany
Prior art keywords
data
random number
data block
encryption
xor
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.)
Expired - Lifetime
Application number
DE1999136529
Other languages
English (en)
Inventor
Michael Jahnich
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.)
Idemia Germany GmbH
Original Assignee
Orga Kartensysteme 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 Orga Kartensysteme GmbH filed Critical Orga Kartensysteme GmbH
Priority to DE1999136529 priority Critical patent/DE19936529C1/de
Priority to AU72687/00A priority patent/AU7268700A/en
Priority to PCT/DE2000/002518 priority patent/WO2001010077A1/de
Application granted granted Critical
Publication of DE19936529C1 publication Critical patent/DE19936529C1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

Die Erfindung beschreibt ein Verfahren, bei dem die zu verschlüsselnden Daten mit einer Zufallszahl vor der Verschlüsselung über eine XOR-Operation verknüpft werden. Dabei wird das Verschlüsselungsprogramm derart modifiziert, daß letztendlich wieder der Standard-Verschlüsselungstext erhalten wird. Das erfindungsgemäße Verfahren ist eine Maßnahme gegen den sogenannten DPA-Angriff.

Description

Die Erfindung bezieht sich auf ein Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger. Ein derartiger tragbarer Datenträger ist beispielsweise eine Chipkarte, die zum Datenaustausch und zur Energieversorgung mit einem entsprechenden Kartenterminal, dem Datenaustauschgerät, verbunden wird.
Mikroprozessor-Chipkarten, die in der Lage sind, anhand eines Verschlüsselungsprogramms Daten zu verschlüsseln, werden beispielsweise in Form von Bankkarten oder in Form von Zugangsberechtigungskarten zu Mobilfunknetzen nach dem GSM-Standard eingesetzt. Der Verschlüsselung von Daten und Informationen kommt dabei eine immer größere Bedeutung zu. Dementsprechend steigen auch die Anforderungen an die Sicherheit der Verschlüsselung gegenüber Angriffen.
Die tragbaren Datenträger, die Gegenstand der vorliegenden Erfindung sind, verfügen nicht über eine eigene Energieversorgung, beispielsweise in Form einer Batterie oder Solarzelle. Die Energieversorgung des tragbaren Datenträgers erfolgt durch das Datenaustauschgerät, mit dem dann auch die Kommunikation stattfindet. Chipkarten weisen auf der Kartenoberfläche elektrische Kontaktflächen auf, um über korrespondierende Kontakte im Datenaustauschgerät mit diesem kommunizieren zu können. Eine dieser Kontaktflächen ist für die Zuführung der Versorgungsspannung und des Versorgungsstroms vorgesehen. Eine andere Kontaktfläche dient dem Masseanschluß, eine der seriellen, bidirektionalen Datenübertragung vom und zum Datenaustauschgerät, eine der Zuführung eines Taktsignals, eine weitere Kontaktfläche ist für den Empfang eines Reset-Signals vorgesehen.
Die tragbaren Datenträger, die Gegenstand der Erfindung sind, weisen einen integrierten Halbleiterbaustein auf, in dem ein Mikroprozessor mit einem Festwertspeicher (ROM - Read Only Memory), einem flüchtigen Arbeitsspeicher (RAM - Random Access Memory), in den das Betriebssystem oder zumindest Teile davon abgelegt sind, und einem nichtflüchtigen, änderbaren Speicher (EEPROM - Electrical Erasable Programmable Read Only Memory) auf. Damit stellt der tragbare Datenträger eine Mikrorechnereinheit dar, die jedoch einer externen (von außerhalb des tragbaren Datenträgers) Spannungs- und Stromversorgung Bedarf. Der Mikroprozessor bildet die Verarbeitungsschaltungen zur Ausführung von Programmen, insbesondere auch von Verschlüsselungsprogrammen, die im EEPROM-Speicher und/oder ROM-Speicher gespeichert sind. Hier sind ebenfalls geheime Schlüssel von außen nicht zugänglich abgespeichert. Diese Schlüssel dienen der Verschlüsselung der Daten. Da die Verschlüsselungsprogramme (Algorithmen) an sich meistens bekannt sind, liegt die ganze Sicherheit hinsichtlich der Verschlüsselung der Daten bei den geheimen Schlüsseln. Die verschlüsselten Daten sind demnach eine Function des Verschlüsselungsprogramms in Abhängigkeit von den unverschlüsselten Daten (Klartext) und wenigstens einem geheimen Schlüssel:
Aus der US 5 511 123 ist beispielsweise eine DES-Algorithmus als Verschlüsselungsprogramm bekannt. Beim DES-Algorithmus beruht die Verschlüsselung zumindest teilweise darauf, daß die zu verschlüsselnden Klartextdaten direkt oder in modifizierter Form durch eine Substitutionsoperation ersetzt werden. Dabei gilt:
Dencrypt = VP(D, Ki),
wobei
D die Eingangsdaten für die Substitutionsoperation
Ki einen geheimen Schlüssel
und Dencrypt das Ergebnis der Substitutionsoperation bezeichnet.
Aufgrund des physikalischen Aufbaus und der physikalischen Eigenschaften der in den tragbaren Datenträgern eingesetzten Halbleiterchips ist die Strom- bzw. Leistungsaufnahme des tragbaren Datenträgers während der Ausführung von Programmen nicht konstant, sondern vielmehr zeitlichen Schwankungen unterworfen. Dabei hat es sich gezeigt, daß die Schwankungen des Versorgungsstroms sogar zu bestimmten Programmkommandos und zur binären Struktur (Zahl der Nullen und Einsen) der zu verarbeitenden Daten korreliert. Unter Umständen erfolgen die Schwankungen sogar synchron zum Takt mit dem der tragbare Datenträger betrieben wird.
Für einen mit der Technik vertrauten, unbefugten Benutzer ist es ein leichtes diese Schwankungen des Versorgungsstromes, der vom Datenaustauschgerät an den tragbaren Datenträger geliefert wird, mittels eines Speicher-Oszilloskops aufzuzeichnen, indem er in die Versorgungsstromleitung einen Meßwiderstand einbaut und den Spannungsabfall an diesem auf dem Oszilloskop aufzeichnet. Mit Blick auf die Ausführung von Verschlüsselungsprogrammen in tragbaren Datenträgern ergibt sich hiermit für Angreifer die Möglichkeit über die Aufzeichnung der Stromschwankungen beim Ausführen des Verschlüsselungsprogramms Rückschlüsse auf die verwendeten geheimen Schlüssel und/oder die zu verschlüsselnden Daten zu ziehen. Dies wird insbesondere dadurch erleichtert, daß die Verschlüsselungsprogramme an sich bekannt sind. Dem Angreifer kommt dabei zugute, daß es eine Korrelation zwischen den Stromschwankungen und einer sogenannten Entscheidungsfunktion gibt, wobei die Ausgangswerte der Entscheidungsfunktion von den zu verschlüsselnden Daten als Input und dem geheimen Schlüssel abhängen. Die Entscheidungsfunktion wird so bezeichnet, da anhand der Korrelation dieser Funktion mit dem Stromverlauf die entscheidende Aussage über den richtigen Schlüssel getroffen werden kann. Zeichnet ein Angreifer nun für eine Vielzahl von Verschlüsselungen mit jeweils unterschiedlichen - ihm jedoch bekannten - Daten jeweils die Stromschwankungen auf, so kann er aus Unterschieden in den jeweiligen Stromschwankungscharakteristika durch Korrelation mit den zuvor berechneten Entscheidungsfunktionen Rückschlüsse auf den verwendeten Schlüssel ziehen. Hierbei kann ein Angreifer auf aus der Mathematik bekannte statistische Analysemittel und Korrelationsverfahren zurückgreifen. Hat der Angreifer auf diese Weise den geheimen Schlüssel herausgefunden, so ist die Sicherheit der Verschlüsselung nicht mehr gewährleistet, da die Verschlüsselungsprogramme an sich bekannt sind. Insbesondere bei symmetrischen Verschlüsselungsverfahren, wo zur Ver- und Entschlüsselung ein und derselbe Schlüssel verwendet wird, wäre der Angreifer dann in der Lage, verschlüsselte Daten zu entschlüsseln.
Ein derartiger Angriff auf die Sicherheit von tragbaren Datenträgern wird als Differential Power Analysis (DPA) bezeichnet. Zur Lösung dieses Problems wird in der C2-Intern, Edition Nr. 67, vom 15.7.98 (Kopie ist als Anhang zum Patentantrag beigefügt) vorgeschlagen, in den tragbaren Datenträger eine zusätzliche elektronische Schaltung einzubringen, die die Stromschwankungen kompensieren soll, so daß ein Angreifer diese nicht mehr feststellen kann und daraus keine Rückschlüsse mehr ziehen kann.
Diese Lösung ist jedoch sehr aufwendig und teuer, da sie die Implementierung eines zusätzlichen elektronischen Bauteils erfordert. Da jedoch insbesondere der Chipkartenmarkt ein Massenmarkt ist, ist hier der Preisdruck besonders hoch, so daß eine derart aufwendige und teuere Lösung nicht akzeptabel ist.
Aufgabe der Erfindung ist es daher, tragbare Datenträger der oben genannten Art gegenüber einem Angriff auf die Sicherheit bei der Datenverschlüsselung in effektiver, einfacher und kostengünstiger Weise sicherer zu machen.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß die Eingangsdaten D vor der Verschlüsselung über eine XOR-Operation (⊕) mit einer Zufallszahl R verknüpft werden, wobei das Ergebnis dieser XOR-Operation als modifizierte Eingangsdaten D' für ein unter Einbeziehung der Zufallszahl R zumindest hinsichtlich der Substitutionsoperation modifiziertes Verschlüsselungsprogramm VP' dienen, dabei gilt
D' = (D ⊕ R)
und
D'encrypt = VP'(D', Ki)
Das Ergebnis D'encrypt des modifizierten Verschlüsselungsprogramms VP' wird nun wiederum mit der Zufallszahl R über XOR-Operation verknüpft wird, um wieder Dencrypt zu liefern, dabei gilt:
Dencrypt = D'encrypt ⊕ R
Aufgrund der XOR-Verknüpfung der Eingangsdaten mit einer Zufallszahl korrelieren die Stromschwankungen im Verlauf des Verschlüsselungsprogramms, insbesondere im Verlauf von Substitutionsoperationen, nicht mehr mit den dem Angreifer bekannten Eingangsdaten. Der oben beschriebene DPA-Angriff wird somit erfolgreich abgewehrt. Durch das erfindungsgemäße Verfahren werden die Daten, die in den Substitutionsoperationen des DES- Algorithmus verarbeitet werden, von den Eingangsdaten, die dem Angreifer bekannt sind, in nicht nachvollziehbarer Weise entkoppelt. Dabei entsprechen die Ausgangsdaten des DES- Algorithmus aber wieder dem "korrekten" DES-Ergebnis.
Anhand der beigefügten Zeichnungen soll die Erfindung nachfolgend näher erläutert werden. Es zeigt:
Fig. 1 eine Versuchsanordnung zur Aufzeichnung von Stromschwankungen bei der Ausführung von Verschlüsselungsprogrammen,
Fig. 2 ein Beispiel für den zeitlichen Verlauf des Versorgungsstroms während der Ausführung des Verschlüsselungsprogramms,
Fig. 3 ein Flußdiagramm für den kompletten Ablauf des DES-Algorithmus,
Fig. 4 ein Flußdiagramm für den Ablauf einer DES-Runde,
Fig. 5 ein Flußdiagramm für den Ablauf vor und nach der 1. DES-Runde
Fig. 6 + 7 Flußdiagramme wie in Fig. 5, jedoch mit einer zusätzlichen XOR- Verknüpfung.
In Fig. 1 ist ein tragbarer Datenträger in Form einer Mikroprozessor-Chipkarte gezeigt. Der integrierte Halbleiterbaustein mit dem Mikroprozessor und den Speichern (RAM, ROM, EEPROM) befindet sich in einem Chipmodul, das als separates Bauteil in den Kartenkörper eingesetzt wird. Auf dem Chipmodul befinden sich die elektrischen Kontaktflächen zum Datenaustausch und zur Energieversorgung in Verbindung mit dem Datenaustauschgerät (in dem dargestellten Fall ist dies ein Kartenterminal). Aus Gründen der Übersichtlichkeit ist nur die Strom- und Spannungsversorgungsleitung vom Kartenterminal an die entsprechende Kontaktfläche der Karte sowie die Masseleitung eingezeichnet. Für den vorstehend beschriebenen DPA-Angriff auf die Chipkarte, wird in die Stromversorgungsleitung ein Meßwiderstand (z. B. ein 1 Ω) eingebaut und über den Spannungsabfall an diesem Widerstand indirekt die Stromschwankungen gemessen und in einem Speicheroszilloskop aufgezeichnet.
Wie man in Fig. 2 erkennen kann sind die Stromschwankungsamplituden, die während der Ausführung eines Verschlüsselungsprogramms auftreten können, stellenweise ein Vielfaches der mittleren Stromaufnahme (Gleichstromanteil), dabei liegen die Stromwerte im Bereich von Milliampere. Ein Angreifer könnte nun das Verschlüsselungsprogramm in der Chipkarte mehrfach jeweils mit verschiedenen Daten, die ihm bekannt sind, ausführen lassen und dabei jeweils die Stromschwankungen und die Verschlüsselungsresultate aufzeichnen. Parallel dazu kann der Angreifer nun für dieselben Daten Entscheidungsfunktionen berechnen, deren Werte von den Daten und von einem Schlüsselwert abhängen, und mittels mathematischer Analysemethoden versuchen, herauszufinden, ob es Korrelationen zwischen den Stomaufzeichnungen und den berechneten Entscheidungsfunktionen gibt.
In Fig. 3 ist das Flußdiagramm für den Ablauf des DES-Algorithmus (Data Encryption Standard) aufgezeichnet. Zu Details des DES-Algorithmus sei auf das Buch "Applied Cryptography" von Bruce Schneider verwiesen, das im John Wiley & Sons Verlag erschienen ist. Beim DES-Algorithmus werden die zu verschlüsselnden Daten blockweise in Form von 64 Bit langen Datenblocks (Plaintext) verschlüsselt. Dabei wird der zu verschlüsselnde Datenblock zuerst einer sogenannten IP-Operation (Initial Permutation) unterzogen, die eine Vertauschung der Bits gemäß einer Permutationstabelle bewirkt. Anschließend wird Datenblock in zwei jeweils 32 Bit lange Hälften (L0 und R0) aufgeteilt. Dann beginnen 16 Runden mit identischen Operationen (gekennzeichnet durch die Funktion ), wo die Daten mit dem bzw. den geheimen Schlüsseln (K1 bis K16) verschlüsselt werden. Bei der Funktion handelt es sich um eine nichtlineare Funktion. Für die jeweils nächste Runde leiteten sich die linke und die rechte Datenhälfte wie folgt ab:
Li = Ri-1
Ri = Li-1XOR(Ri-1, Ki).
Zum Schluß werden die Ergebnisse (L16, R16) der letzten DES-Runde wieder zu einem 64 Bit Datenblock zusammengefügt und dieser Datenblock der inversen IP-Operation (IP-1) unterzogen. Das Endergebnis ist dann der verschlüsselte Datenblock (Chipertext).
Erfindungsgemäß wird nun der zu verschlüsselnde Datenblock vor der Initial Permutation Operation mit einer Zufallszahl (R) über eine XOR-Operation verknüpft. Diese Zufallszahl besteht ihrerseits aus zwei jeweils 32 Bit langen Hälften (RL und RR). Nach der inversen Initial Permutation Operation wird der Datenblock dann wieder mit der Zufallszahl (R) über eine XOR-Operation verknüpft, um den "korrekten" Chipertext gemäß Standard zu liefern. Dabei wird die linke Hälfte des Datenblocks mit der linken Hälfte (RL) der Zufallszahl (R) - der linke Zufallszahl-Datenblock - über eine XOR-Operation verknüpft und die rechte Hälfte des Datenblocks mit der rechten Hälfte (RR) der Zufallszahl (R) - der rechte Zufallszahl- Datenblock - über eine XOR-Operation verknüpft.
In Fig. 4 ist eine Runde des DES-Algorithmus dargestellt. Jede Runde beginnt mit einer sogenannte Key-Transformation, wobei die Bits des Schlüssels (Key, K) zyklisch vertauscht ("Shift-Operation") werden und anschließend über eine sogenannte Permuted-Choice- Operation 48 Bits als eigentlicher Schlüssel für eine nachfolgende XOR-Operation extrahiert werden. Bestandteil jeder DES-Runde ist ferner eine sogenannte Expansion-Permutation- Operation, bei der die rechte Datenblockhälfte (Ri) vertauscht und von 32 Bit auf 48 Bit expandieret wird. Das Ergebnis dieser Expansion-Permutation-Operation wird nun über eine XOR-Operation mit dem geheimen (transformierten) Schlüssel verknüpft und durch eine Substitutionsoperation durch Werte einer definierten Substitutionstabelle (sog. S-Box) ersetzt und anschließend permutiert. Die vorstehend beschriebenen Operationen bilden die eigentlichen Grundfunktionen und werden in der Funktion zusammengefaßt.
In Fig. 5 ist der erfindungsgemäß modifizierte Ablauf für die 1. DES-Runde dargestellt.
Die rechte Datenhälfte (R0) wird über eine XOR-Operation mit der rechten Hälfte (RR) der Zufallszahl verknüpft, um die modifizierte rechte Datenhälfte (R0') zu liefern.
Es gilt: R0' = RR ⊕ R0.
Die linke Datenhälfte (L0) wird über eine XOR-Operation mit der linken Hälfte (RL) der Zufallszahl verknüpft, um die modifizierte linke Datenhälfte (L0') zu liefern. Es gilt: L0' = RL ⊕ L0.
Durch diese zufällige XOR-Verknüpfung werden die tatsächlich zu verschlüsselnden Daten, die dem Angreifer bekannt sind, von den Daten, die in den DES-Runden verarbeitet werden so entkoppelt, daß keine Korrelation mehr besteht zwischen den Eingangsdaten, die dem Angreifer bekannt sind, und dem Stromverlauf während der Ausführung der DES-Runden.
R0' dient nun als Eingang für eine erfindungsgemäß modifizierte DES-Runde (gekennzeichnet durch '), deren Ergebnis dann R1' ist. Es gilt: R1' = L0' ⊕ '(R0', K1). K1 ist dabei der geheime Schlüssel für die 1. DES-Runde (bzw. die Transformation des Schlüssels).
Um nun einen standardgemäß verschlüsselten Text (R1) gemäß DES zu erhalten, wird R1' über eine XOR-Operation mit der rechten Hälfte (RR) der Zufallszahl (R) verknüpft. Es gilt: R1 = RR ⊕ R1'.
Analog dazu wird R0' über eine Funktion g' in eine Datenblockhälfte L1' transformiert, die die Eigenschaft hat über eine XOR-Verknüpfung mit der linken Hälfte (RL) der Zufallszahl (R) in einen standardgemäß verschlüsselten Text (L1) gemäß DES umgewandelt zu werden. Die Funktion g', führt hierzu eine XOR-Verknüpfung von R0' mit einer Größe R+ = (RR ⊕ RL) durch. Diese Transformation findet jeweils zwischen einzelnen DES- Runden statt, so daß allgemein gilt: L'i+1 = R+ ⊕ R'i
Die standardgemäß verschlüsselten Texte (L1, R1) bilden den sogenannten Chipertext, der von dem berechtigten Empfänger der verschlüsselten Daten durch den an sich bekannten DES-Algorithmus bei Kenntnis des geheimen Schlüssels entschlüsselt werden kann. Dabei besteht allerdings in vorteilhafter Weise keine von außen nachvollziehbare Korrelation zwischen den zu verschlüsselnden Daten und den Daten, die in den DES-Runden verarbeitet werden. Durch diese Maßnahme wird das Ausspionieren des geheimen Schlüssels vereitelt.
Um am Ende wieder den standardgemäßen Chipertext liefern zu können, wird weiterhin die Substitutionsoperation S durch eine geänderte Substitutionsoperation S' ersetzt, indem die der Substitutionsoperation zugrunde liegenden Substitutionstabellen (sogenannte S-Boxen) modifiziert werden. Dies geschieht über eine XOR-Verknüpfung der Standard S-Boxen mit der oben erwähnten Größe R+. Dabei gilt: S' = P-1(R+) ⊕ S.
Dabei bezeichnet P-1 die inverse Permutationsoperation nach der Substitutionsoperation (siehe Fig. 4).
In einer Ausführungsform der Erfindung wird im Verlauf des Verschlüsselungsprogramms mindestens eine Datenblockhälfte L'i mit einer weiteren Zufallszahl RX über eine XOR- Operation verknüpft: L"i = RX ⊕ L'i (siehe Fig. 6). Zur Neutralisation dieser XOR- Verknüpfung wird jeweils in jeder zweiten weiteren DES-Runde die jeweils andere Datenblockhälfte R'i mit der Zufallszahl RX über eine XOR-Operation vor der Ausführung der Funktion verknüpft (siehe Fig. 7). Durch diese Maßnahme der zusätzlichen zufälligen XOR-Verknüpfung wird eine weiteres Maß an Sicherheit gewonnen.

Claims (6)

1. Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger, der zum Datenaustausch und zur Energieversorgung mit einem Datenaustauschgerät verbunden wird, wobei die Verschlüsselung zumindest teilweise darauf beruht, daß die zu verschlüsselnden Klartextdaten direkt oder in modifizierter Form durch eine Substitutionsoperation durch Werte einer definierten Substitutionstabelle ersetzt werden, dabei gilt:
Dencrypt = VP(D, Ki),
wobei
VP das Verschlüsselungsprogramm
D die Eingangsdaten für das Verschlüsselungsprogramm
Ki einen geheimen Schlüssel für die Verschlüsselung
und Dencrypt das Ergebnis des Verschlüsselungsprogramms bezeichnet,
dadurch gekennzeichnet, daß
  • - die Eingangsdaten D vor der Verschlüsselung über eine XOR-Operation (⊕) mit einer Zufallszahl R verknüpft werden, wobei das Ergebnis dieser XOR-Operation als modifizierte Eingangsdaten D' für ein unter Einbeziehung der Zufallszahl R zumindest hinsichtlich der Substitutionsoperation modifiziertes Verschlüsselungsprogramm VP' dienen, dabei gilt
    D' = (D ⊕ R)
    und
    D'encrypt = VP'(D', Ki)
  • - das Ergebnis D'encrypt des modifizierten Verschlüsselungsprogramms VP' mit der Zufallszahl R über XOR-Operation verknüpft wird, um wieder Dencrypt zu liefern, dabei gilt:
    Dencrypt = D'encrypt ⊕ R
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Zufallszahl in einem Zufallszahlengenerator des tragbaren Datenträgers erzeugt wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Zufallszahlengenerator als Programm in dem tragbaren Datenträger implementiert ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Zufallszahl von dem Datenaustauschgerät an den tragbaren Datenträger übermittelt wird.
5. Verfahren nach einem der vorstehenden Ansprüche, wobei der Verschlüsselungs- Algorithmus der DES-Algorithmus ist und somit die Verschlüsselung blockweise in Form Datenblocks erfolgt und ein Datenblock in eine linke und eine rechte Datenblockhälfte (Li, Ri) von jeweils gleicher Länge aufgeteilt wird, dadurch gekennzeichnet, daß
  • - die Zufallszahl (R) aus zwei gleich langen Datenblöcken (RL, RR) besteht, wobei der Zufallszahl-Datenblock (RL) zur XOR-Verknüpfung der linken Datenblockhälfte (Li) und der Zufallszahl-Datenblock (RR) zur XOR-Verknüpfung der rechten Datenblockhälfte (Ri) vor der Inititial-Permutation-Operation verwendet wird,
  • - eine Größe R+ berechnet wird, die gleich dem Ergebnis der XOR-Verknüpfung des rechten Zufallszahl-Datenblocks (RR) mit dem linken Zufallszahl-Datenblocks (RL) ist:
    R+ = (RR ⊕ RL),
  • - die Standard-Substitutionsoperation S durch eine modifizierte Substitutionsoperation S' = P-1(R+) ⊕ S ersetzt wird, wobei P-1(R+) die Anwendung der inversen Permutation-Operation auf die Größe R+ bezeichnet,
  • - zwischen einzelnen DES-Runden zumindest eine Datenblockhälfte (R'i) über eine XOR-Verknüpfung mit R+ in eine andere Datenblockhälfte (L'i+1) transformiert wird:
    L'i+1 = R+ ⊕ R'i
  • - nach Beendigung der DES-Runden
    die linke Hälfte des nach der inversen Initial-Permutation-Operation erhaltenen Datenblocks mit dem linken Zufallszahl-Datenblock (RL) über eine XOR-Operation verknüpft wird,
    und die rechte Hälfte des nach der inversen Initial-Permutation-Operation erhaltenen Datenblocks mit dem rechten Zufallszahl-Datenblock (RL) über eine XOR-Operation verknüpft wird,
    um schließlich wieder einen verschlüsselten Datenblock gemäß Standard-DES zu erhalten.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß
  • - in der ersten DES-Runde mindestens eine Datenblockhälfte L'i mit einer weiteren Zufallszahl RX über eine XOR-Operation verknüpft wird: L"i = RX ⊕ L'i
  • - jeweils in jeder zweiten weiteren DES-Runde die jeweils andere Datenblockhälfte R'i mit der Zufallszahl RX über eine XOR-Operation vor der Ausführung der Funktion verknüpft wird.
DE1999136529 1999-08-03 1999-08-03 Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger Expired - Lifetime DE19936529C1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE1999136529 DE19936529C1 (de) 1999-08-03 1999-08-03 Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger
AU72687/00A AU7268700A (en) 1999-08-03 2000-07-31 Method for executing an encryption program in a microprocessor-assisted, portable data carrier
PCT/DE2000/002518 WO2001010077A1 (de) 1999-08-03 2000-07-31 Verfahren zur ausführung eines verschlüsselungsprogramms in einem mikroprozessorgestützten, tragbaren datenträger

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999136529 DE19936529C1 (de) 1999-08-03 1999-08-03 Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger

Publications (1)

Publication Number Publication Date
DE19936529C1 true DE19936529C1 (de) 2001-02-01

Family

ID=7917042

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999136529 Expired - Lifetime DE19936529C1 (de) 1999-08-03 1999-08-03 Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger

Country Status (3)

Country Link
AU (1) AU7268700A (de)
DE (1) DE19936529C1 (de)
WO (1) WO2001010077A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10303723B4 (de) * 2003-01-30 2006-02-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
CN102110206B (zh) * 2010-12-27 2013-01-16 北京握奇数据系统有限公司 防御攻击的方法和具有攻击防御功能的装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
FR2785477B1 (fr) * 1998-10-29 2000-12-29 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10303723B4 (de) * 2003-01-30 2006-02-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen von verschlüsselten Daten aus unverschlüsselten Daten oder von unverschlüsselten Daten aus verschlüsselten Daten

Also Published As

Publication number Publication date
WO2001010077A1 (de) 2001-02-08
AU7268700A (en) 2001-02-19

Similar Documents

Publication Publication Date Title
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE102009024604B4 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE69728465T2 (de) Nichtparalleler Mehrzyklus-Verschlüsselungsapparat
DE60024739T2 (de) Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium
DE69933108T2 (de) Synchrone bitstromverschlüsselung
DE102007000589B3 (de) Verfahren zum Schutz einer Chipkarte gegen unberechtigte Benutzung, Chipkarte und Chipkarten-Terminal
DE102014213539A1 (de) Einrichtung und Verfahren zur Speicheradressenverschlüsselung
EP0631408A2 (de) Verfahren zur Authentifikation zwischen zwei elektronischen Einrichtungen
EP0981115A2 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE102008010789B4 (de) Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
EP2656535A1 (de) Kryptographisches verfahren
AT510730B1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
EP3059895A1 (de) Einmalverschlüsselung von zählerdaten
DE19936529C1 (de) Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger
EP3206154B1 (de) Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten
DE19935285B4 (de) Verfahren zur Generierung/Regenerierung eines Chiffrierschlüssels für ein Kryptographieverfahren
DE10352680A1 (de) Verschlüsselungsvorrichtung und Verschlüsselungsverfahren
EP1116357B1 (de) Verfahren zur sicheren verteilten generierung eines chiffrierschlüssels
EP2383672B1 (de) Einmalpasswort-Generator
EP0173647A2 (de) Chiffrier/Dechiffrierverfahren

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SAGEM ORGA GMBH, 33104 PADERBORN, DE

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE, 65185 WIESBADEN, DE

Representative=s name: RICHARDT PATENTANWAELTE, DE

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE, 65185 WIESBADEN, DE

Representative=s name: RICHARDT PATENTANWAELTE, DE

R081 Change of applicant/patentee

Owner name: MORPHO CARDS GMBH, DE

Free format text: FORMER OWNER: SAGEM ORGA GMBH, 33106 PADERBORN, DE

Effective date: 20120509

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Effective date: 20120509

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

Effective date: 20120213

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Effective date: 20120509

Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

Effective date: 20120213

R071 Expiry of right