DE19960047A1 - Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem - Google Patents

Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem

Info

Publication number
DE19960047A1
DE19960047A1 DE1999160047 DE19960047A DE19960047A1 DE 19960047 A1 DE19960047 A1 DE 19960047A1 DE 1999160047 DE1999160047 DE 1999160047 DE 19960047 A DE19960047 A DE 19960047A DE 19960047 A1 DE19960047 A1 DE 19960047A1
Authority
DE
Germany
Prior art keywords
information
cryptographic
transformed
elements
unit
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.)
Granted
Application number
DE1999160047
Other languages
English (en)
Other versions
DE19960047B4 (de
Inventor
Suresh Narayana Chari
Don Coppersmith
Helmut Scherzer
Pankaj Rohatqi
Steve Harris Weingart
Martin Witzel
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE19960047A1 publication Critical patent/DE19960047A1/de
Application granted granted Critical
Publication of DE19960047B4 publication Critical patent/DE19960047B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • 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]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Abstract

Dargestellt ist ein Mechanismus zur sicheren Informationsbehandlung in einer kryptographischen Einheit (1), zum Beispiel einer Chipkarte. Vor der Durchführung des kryptographischen Prozesses (44, 46, 54, 55) werden die Informationen transformiert (41) durch Anwendung einer N:N-Operation auf die Informationselemente. Der kryptographische Prozess wird an den transformierten Informationen durchgeführt. Die transformierten und kryptographisch verarbeiteten Informationen werden zurücktransformiert (49) durch Anwendung einer inversen N:N-Operation auf die transformierten und kryptographisch verarbeiteteten Informationen. Der vorgeschlagene Mechanismus kann benutzt werden, um kryptoanalytische Angriffe gegen Chipkarten zu verhindern.

Description

BEREICH DER ERFINDUNG
Die vorliegende Erfindung bezieht sich auf das Gebiet der Kryptographie. Sie bezieht sich insbesondere auf ein Verfahren und eine Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem oder einer -einheit.
HINTERGRUND DER ERFINDUNG
Die Erfindung bezieht sich auf ein Verfahren und eine Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem oder einer -einheit, insbesondere einer Chipkarte, wobei die Informationen Informationseinheiten mit N Informationselementen umfasst und von wenigstens einem kryptographischen Prozess verarbeitet wird, der wenigstens ein extern feststellbares Signal verursacht.
Als ein Teil der aktuellen Forschungsaktivitäten zu Kryptosystemen ist ein Bedarf vorhanden, die Sicherheit der Informationen zu verbessern, die in Informationsverarbeitungssystemen oder einer -einheit benutzt wird, vorwiegend tragbare kryptographische Token wie intelligente (Chip-)Karten. In den letzten Jahren haben Wissenschaftler mit den Chipkarten-Anbietern zusammengearbeitet, um Angriffen zu begegnen, und haben Angriffe wie EINFACHE LEISTUNGSANALYSE (SIMPLE POWER ANALYSIS) (SPA), DIFFERENTIELLE LEISTUNGSANALYSE (DPA), DIFFERENTIELLE LEISTUNGSANALYSE HÖHERER ORDNUNG (DPA HÖHERER ORDNUNG) und weitere verwandte Techniken entwickelt. Dies sind technisch ausgefeilte und außerordentlich leistungsfähige Analysewerkzeuge, die von Kryptoanalysten benutzt werden können, um geheime Schlüssel aus kryptographischen Geräten herauszuholen.
In einem vorveröffentlichten Artikel von Paul Kocher, der unter www.cryptography.com verfügbar ist, wird ein Verfahren beschrieben, Chipkarten auf der Grundlage von Strommustern auf der Stromversorgungsleitung anzugreifen. Es wird hiermit betont, dass dies keine theoretischen Angriffe sind und sie bereits erfolgreich benutzt wurden, um eine große Anzahl von Chipkarten- Erzeugnissen zu analysieren. Während das in dem obigen Artikel beschriebene Verfahren einwandfrei arbeitet, ist und zu beliebiger Zeit wieder angewendet werden kann, gibt es verschiedene Mechanismen, die die Ursache dafür sind, dass ein Chip Informationen preisgibt. Eine Hauptquelle der Preisgabe (leakage) sind Datenübertragungen über Busse innerhalb des Chips. Die Zentraleinheit (CPU) hat auf Speicher wie ROM, RAM oder EEPROM zuzugreifen, um Programmbefehle zu erhalten und muss mit variablen Daten oder mit ständig gespeicherten Daten arbeiten. Wenn die Daten über die Busse übertragen werden, müssen die einzelnen Busleitungen auf die jeweiligen logischen Pegel, d. h. auf hohe oder niedrige Pegel, gebracht werden. Das Entladen oder Laden der Leitungen erfordert einen elektrischen Strom, der festgestellt werden kann. Andere Teile der Hardware wie die CPU selbst können auch Informationen preisgeben, sie werden aber als viel weniger angriffsanfällig angesehen.
Eine der Operationen in einer Chipkarte, die sorgfältig geschützt werden muss ist die Verschlüsselung (encryption) oder Entschlüsselung (decryption) mit Hilfe eines Schlüssels, der im Speicher gespeichert ist. Wenn ein Angreifer eine Hypothese über ein Bit aufstellen kann, ob das Bit hoch oder niedrig ist, und Strommuster auf der Stromversorgungsleitung erfasst, kann er mit statistischen Verfahren überprüfen, dass die Hypothese korrekt ist. Dann wendet er kryptoanalytische Verfahren an, um dieses Wissen auszunutzen, und leitet den Schlüssel ab.
Während einige der auf dem Markt erhältlichen Chipkarten- Produkte, einer einfachen Leistungsanalyse widerstehen können, wurden keine handelsüblichen Produkte gefunden, die einer DPA Widerstand leisten.
Diese Analysetechniken sind von beträchtlicher Wichtigkeit, da die Angriffe schnell arrangiert und unter Benutzung fertig verfügbarer Hardware realisiert werden können, die nur einige hundert bis einige tausend Dollar kostet. Der für den Angriff und die Analyse erforderliche Zeitaufwand hängt von der Art des Angriffs ab (DPA, SPA usw.) und ändert sich etwas pro Gerät. SPA- Angriffe dauern typischerweise einige Sekunden pro Karte, während DPA-Angriffe mehrere Stunden dauern können.
Ein allgemein bekanntes kryptographisches Gerät 1, das einen geheimen Schlüssel benutzt, um Eingabeinformationen zu verarbeiten und/oder Ausgabeinformationen zu erzeugen, ist in Fig. 1a schematisch dargestellt. Protokollentwürfe nehmen typischerweise an, dass Eingabenachrichten 2 und Ausgabenachrichten 3 für Angreifer verfügbar sind, aber weitere Informationen über die geheimen Schlüssel 4 nicht verfügbar ist, was durch den "abgeschlossenen" Kasten 5 in Fig. 1a veranschaulicht wird.
Leistungsanalyse-Angriffe funktionieren, weil oft andere Informationen für Angreifer verfügbar ist. Dies wird durch die weitere schematische Darstellung der kryptographischen Einheit 1 entsprechend Fig. 1b gezeigt, die einige beispielhafte Informationen 6 zeigt, die möglicherweise von einem Angreifer erfasst werden können. Die physikalischen Eigenschaften der verlorenen Informationen 6 können genau überwacht werden, wenn das Gerät 1 kryptographische Operationen ausführt. Insbesondere kann ein einfaches, aus einer ohmschen Last hergestelltes Amperemeter benutzt werden, um den Leistungsverbrauch zu überwachen.
Der physische Ursprung solcher verlorenen Informationen wird jetzt bezüglich Fig. 2 beschrieben, wo ein typischer MOS- Transistor 10 in einer integrierten Schaltung (nicht dargestellt) gezeigt wird, die üblicherweise in kryptographischen Informationsverarbeitungssystemen und eine -einheit (auch nicht dargestellt), insbesondere in Chipkarten, verwendet wird. Integrierte Schaltungen bestehen aus einzelnen Transistoren 10, die als spannungsgesteuerte Schalter 11 funktionieren. Ein Strom 12 fließt über ein Transistorsubstrat 13 durch einen Draht 14, wenn eine Ladung an eine Gate-Elektrode 15 angelegt (oder von ihr entfernt) wird. Dieser Strom 12 liefert dann eine Ladung an die Gate-Elektroden anderer Transistoren, an Verbindungsdrähte und andere Schaltungslasten (nicht dargestellt). Die Bewegung elektrischer Ladungen auf Grund des Stromes 12 verbraucht Leistung und erzeugt elektromagnetische Strahlung, und beides ist von außen feststellbar. Deshalb erzeugen einzelne Transistoren ein extern beobachtbares elektrisches Verhalten. Da die Logikbausteine eines Mikroprozessors reguläre Transistorschaltmuster zeigen, ist es möglich, Makroeigenschaften, zum Beispiel die Aktivität des Mikroprozessors, leicht zu identifizieren durch ein einfaches Überwachen des Leistungsverbrauches.
Bei SPA-Angriffen beobachtet ein Angreifer direkt die Leistungsaufnahme eines Systems. Der Betrag an aufgenommener Leistung ändert sich in Abhängigkeit vom ausgeführten Mikroprozessorbefehl. Zwei exemplarische Leistungsverbrauchskurven sind in Fig. 3 dargestellt. Die vom Mikroprozessor ausgeführten Operationen ändern sich während verschiedener Teile dieser Operationen, Prozessen wie Verschlüsselung/Entschlüsselung von Daten, zum Beispiel entsprechend dem Data Encryption Standard (DES), der vom National Bureau of Standards in "Federal Information Processing Standards Publication 46", Januar 1977, veröffentlicht wurde, auf deutliche Art und Weise. In der im oberen Teil von Fig. 3 dargestellten exemplarischen Leistungsverbrauchskurve, in der die obere Spur 20 eine vollständige Verschlüsselungsoperation zeigt, kann man als ein erstes Signal eine anfängliche Permutation erschließen, gefolgt von 16 DES-Runden oder -Zyklen sowie eine abschließende Permutation. Die untere Spur 21 ist eine ausführliche Ansicht der zweiten und dritten DES-Runde. Bei stärkerer Vergrößerung (hier nicht dargestellt) kann man sogar einzelne Befehle unterscheiden.
Im Gegensatz zur SPA ist die DPA ein viel leistungsfähigerer Angriff und führt eine raffiniertere Interpretation der erfassten Informationen durch und ist demzufolge schwieriger zu verhindern. Während SPA-Angriffe vorwiegend eine visuelle Inspektion benutzen, um relevante Leistungsschwankungen zu identifizieren, benutzen DPA-Angriffe Techniken der statistischen Analyse und der Fehlerkorrektur, um Informationen herauszuholen, die mit geheimen Schlüsseln korrelieren.
Die Durchführung eines DPA-Angriffes umfasst zwei Phasen:
Datenerfassung und Datenanalyse. Die Datenerfassung für DPA kann wie oben beschrieben ausgeführt werden, indem die Leistungsaufnahme einer Einheit während kryptographischer Operationen als eine Zeitfunktion abgetastet wird. Für die DPA werden eine Anzahl von kryptographischen Operationen, die den Zielschlüssel benutzen, beobachtet.
Jetzt wird unter Bezugnahme auf Fig. 4 ausführlicher beschrieben, wie ein geheimer Schlüssel insgesamt aus der oben beschriebenen Messung von preisgegebener Information gewonnen werden kann. Entsprechend der in Fig. 4 dargestellten Verfahren wird vorausgesetzt, dass eine große Anzahl von 4-Bit-Abtastdaten 30 in eine sogenannte S-BOX 31 eingegeben wird, die die zugrundeliegende Verschlüsselung der Eingangsdaten 30 ausführt. Es wird weiter vorausgesetzt, dass eine Anzahl von 2000 Abtastdaten 30 und ein geheimer Schlüssel mit einer Länge von 6 Bit benutzt wird, was somit zu 64 Unterschlüsseln 32 führt. Diese 2000 Abtastdaten 30 werden in die zugrundeliegende kryptographische Einheit 1, d. h. eine Chipkarte, eingegeben, und die 2000 entstehenden Leistungsverbrauchsspuren 20, 21 werden überlagert, um die Rauschsignale zu verringern, die durch den zugrundeliegenden Signalerkennungsmechanismus verursacht werden. Da für die Eingabedaten Permutationen der 4-Bit-Signale benutzt werden, ist die entstehende statistische Kurve normalerweise eine Kurve wie die in Fig. 4 dargestellte, d. h. eine nichtcharakteristische Kurve 33 mit nur statistischem Rauschen innerhalb eines Bandes. Die im oberen Teil der beiden Spuren in Fig. 4 dargestellte Spur 34 zeigt das vorher beschriebene Signal, und die untere Spur 35 zeigt das entsprechende invertierte Signal. Unter normalen Bedingungen sollte eine Überlagerung der beiden Spuren eine Kurve zeigen wie die, die unter den oben erwähnten zwei Spuren dargestellt ist, d. h. eine Spur 36 mit einem sehr schmalen Bandrauschen.
Es wird wiederum betont, dass es gegenwärtig keine kommerziell verfügbaren Produkte gibt, die einer DPA widerstehen.
ZUSAMMENFASSUNG DER ERFINDUNG
Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zur Verfügung zu stellen, die die Sicherheit kryptographischer Informationsverarbeitungssysteme verbessern, die einen kryptographischen Prozess implementiert haben, zum Beispiel einen Verschlüsselungs-/Entschlüsselung- Prozess oder einen Unterschrifts-/Unterschriftsprüfungs-Prozess (signing/signature verification), insbesondere, um die Sicherheit gegen die oben erwähnten kryptoanalytischen Angriffe zu verstärken. Eine besondere Aufgabe besteht darin, die Sicherheit tragbarer kryptographischer Token wie Chipkarten zu verbessern.
Um diese obigen Aufgaben zu erlösen, stellt die Erfindung ein Verfahren zur sicheren Informationsbehandlung in einem solchen kryptographischen Informationsverarbeitungssystem bereit, wobei die Informationen, die verarbeitet werden sollen, vor der Ausführung des kryptographischen Prozesses transformiert werden, indem eine N : N-Operation auf die Elemente der Informationen angewendet wird, bei der jedes Element der Informationen eindeutig zu genau einem entsprechenden Element der transformierten Informationen in Beziehung steht. Nach dieser Transformation wird der kryptographische Prozess an der transformierten Informationen durchgeführt. Nachdem der kryptographische Prozess beendet ist, werden die transformierten und die kryptographisch verarbeiteten Informationen zurücktransformiert, indem eine inverse N : N-Operation auf die transformierte und kryptographisch verarbeitete Informationen angewendet wird.
Das zugrundeliegende Konzept der Erfindung besteht darin zu vermeiden, dass Daten auf den Bussen der zugrundeliegenden Verarbeitungseinheit in einem klaren Format erscheinen, sondern immer mit einem unbekannten Faktor geweißt (whitened) sind. Die Weißfunktion (whitening function) ist in ihrem breitesten Sinn eine N : N-Operation (Matrixoperation), in der jedes Element der nichttransformierten Informationen zu genau einem Element der transformierten Informationen in Beziehung steht. Es wird hierdurch garantiert, dass im Falle eines rein linearen kryptographischen Prozesses mit den transformierten Informationen eine Rücktransformation der transformierten und kryptographisch verarbeiteten Informationen durch eine inverse N : N-Operation die ursprüngliche, aber kryptographisch verarbeiteten Informationen ergibt.
Die vorgeschlagene N : N-Operation benutzt einen Operator, z. B. eine N × M-Matrix, der entsprechend einer bevorzugten Ausführungsform der Erfindung durch den kryptographischen Prozess als eine zweite Datenmenge verarbeitet werden kann, was somit insgesamt zwei Datenmengen ergibt, wobei die erste Datenmenge die transformierten Informationen selbst und die zweite Datenmenge den jeweiligen Operator für die N : N-Operation darstellt.
Als eine weitere Ausführungsform der Erfindung wird die N : N- Operation durch eine XOR-Operation (Exklusiv-Oder) mit einem Maskenwert dargestellt, wobei der Vorteil der Benutzung einer solchen XOR-Operation darin besteht, dass eine andere XOR- Operation mit dem gleichen Maskenwert die nicht transformierten Informationen wieder zurückgewinnt.
In einer alternativen Ausführungsform wird die N : N-Operation durch einen beliebigen Maskierungswert ausgeführt, wobei die inverse mathematische Operation die nicht transformierten Informationen entsprechend zurückspeichert. Die vorher erwähnten Maskierungswerte können vorteilhafterweise durch eine ZUFALLSoperation (RANDOM operation) realisiert werden, wodurch ein zufälliger Maskierungswert gezeigt wird und dementsprechend eine sicherere und nicht vorhersehbare Transformation der verarbeiteten Informationen entsprechend der Erfindung. Da der Maskierungswert, der zu oder von einem Speicher übertragen wird, nicht der reale Wert ist, kann ein Angreifer das Strommuster, das diese Übertragungsoperation hervorruft, nicht analysieren. Während des Programmlaufes können mehrere solche Zufallswerte zur Maskierung der Daten erhalten werden. Die Vielfachheit der Maskierungswerte kann sich entweder auf getrennte Ausführungen eines Algorithmus oder auf gewisse Teile der gleichen Ausführung beziehen.
Entsprechend einer weiteren Ausführungsform der Erfindung ist die N : N-Operation eine per Zufall erzeugte N : N-Beziehung, bei der jedes der N Elemente der Informationen einem entsprechenden Element der transformierten Information zugeordnet ist, wobei diese Beziehung zwischen diesen Elementen zufällig hergestellt wird. Hierdurch wird eine Menge von N zufälligen Werten zwischen 1 und N für die Transformation ausgewählt, bevor der kryptographische Algorithmus ausgeführt und auf die Daten angewendet wird, die geschützt werden müssen. Die neue Menge maskierender Werte wird jedes Mal abgeleitet, bevor der Algorithmus ausgeführt wird.
Entsprechend einer anderen Ausführungsform der Erfindung ist die N : N-Operation eine, die transformierte Informationen ergibt, deren Hamming-Gewicht, d. h. die Anzahl der Bits, die "1" sind, immer konstant ist. Dies bringt mit sich, dass nur ein Teil einer Speichereinheit, normalerweise ein Byte in kleinen Prozessoren wie denen auf Chipkarten, für tatsächliche Daten verwendet werden kann. Der andere Teil wird benutzt, um die Anzahl der Bits auszugleichen, die "ON" sind.
Um die Sicherheit der vorgeschlagenen Einheit und des vorgeschlagenen Systems zur Informationsbehandlung in einem zugrundeliegenden kryptographischen informationsverarbeitenden System oder einer Einheit weiter zu verbessern, können für die Transformation der Informationen, die verarbeitet werden sollen, zwei oder mehr Maskierungswerte benutzt werden, um die Informationen zu maskieren oder zu weißen und dementsprechend wenigstens zwei Datenmengen zu benutzen, die durch den kryptographischen Prozess verarbeitet werden. Hierbei bezieht sich entsprechend einer weiteren vorteilhaften Ausführungsform der Erfindung die N : N-Operation nur auf gewisse Informationselemente, was ein anderes Niveau der Maskierungsinformationen entsprechend der Erfindung ergibt. Entsprechend einem weiteren Niveau, die Informationen zu weißen, kann die Zuweisung der N : N-Operation an gewisse Elemente zwischen aufeinanderfolgenden kryptographischen Prozessen variieren.
Das Niveau des Weißens der Informationen kann weiter verstärkt werden durch Anwendung einer N : N-Operation nur während eines gewissen zeitlichen Rahmens der Realisierung des kryptographischen Prozesses und durch Ersetzen einer Operation durch eine andere N : N-Operation nach jedem dieser zeitlichen Rahmen. Alternativ kann mehr als eine N : N-Operation vorgesehen werden, wobei jede auf gewisse Elemente der gesamten Informationen angewendet wird und alle Operationen zusammen auf die gesamten Informationen angewendet werden. Hierdurch kann auch eine Zeitabhängigkeit wie oben angewendet werden, wenn eine oder mehrere N : N-Operationen in einem gewissen Zeitintervall während der Realisierung des kryptographischen Prozesses durch eine andere Operation ersetzt werden.
Im Falle vorhandener nichtlinearer Teile des zugrundeliegenden kryptographischen Algorithmus würde die Anwendung einer N : N- Operation auf die Informationselemente nicht garantieren, dass die transformierten und kryptographisch verarbeiteten Informationen durch Anwendung einer inversen N : N-Operation auf die transformierten und kryptographisch verarbeiteten Informationen rücktransformiert werden können. Deshalb wird entsprechend einer weiteren Ausführungsform die N : N-Operation nur auf lineare Teile des zugrundeliegenden kryptographischen Algorithmus angewendet, und nichtlineare Teile werden entweder unter Verwendung eines konstanten Wertes als Maskierungswert transformiert, oder die Elemente der Informationen, die zum nichtlinearen Teil des Algorithmus gehören, werden nicht transformiert.
Schließlich kann, entsprechend einer weiteren Ausführungsform der Erfindung, die Transformation der Informationen bereits mit der Eingabe der Informationen in das zugrundeliegende Informationsverarbeitungssystem oder die -einheit geschehen, wodurch vorteilhaft vermieden wird, dass die Transformationsoperation (N : N-Operation) mit dem Beginn eines kryptographischen Prozesses ausgelöst wird, weil eine derartige Auslösung eine gewisse Zeit vor dem Start des kryptographischen Prozesses gestartet werden müsste, angesichts der entsprechenden Zeit, die für die Transformationsoperation selbst erforderlich ist. Als Ergebnis dessen erscheint nur transformierte Information auf dem Bus (den Bussen), in der Verarbeitungseinheit und im Speicher des informationsverarbeitenden Systems oder der Einheit. Die anschließende ausschließliche Verwendung von transformierten Informationen ergibt eine maximale Sicherheit gegen jede Art von Angriff.
Die Erfindung kann auf alle Arten von Informationsverarbeitungs- Hard- und -Software angewendet und selbst als Teil des gesamten Verarbeitungssystems oder der Gerätehardware ausgeführt werden.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Weitere Vorteile, Merkmale und Einzelheiten der vorliegenden Erfindung werden während des folgenden Teils der Beschreibung offensichtlich, in dem eine bevorzugte Ausführungsform der Erfindung ausführlicher beschrieben wird, unter Bezugnahme auf die beigefügten Zeichnungen.
Bei den Zeichnungen ist
Fig. 1a eine schematische Darstellung einer üblichen kryptographischen Einheit, die dem Stand der Technik entspricht und die einen geheimen Schlüssel benutzt, um Eingangsinformationen zu verarbeiten bzw. Ausgangsinformationen zu erzeugen;
Fig. 1b ist eine schematische Darstellung einer bekannten kryptographischen Einheit wie in Fig. 1a, die bestimmte exemplarische preisgegebene Informationen zeigt, die potentiell von einem Angreifer erfasst werden können;
Fig. 2 zeigt einen typischen MOS-Transistor in einem integrierten Schaltkreis, der üblicherweise in dem Stand der Technik entsprechenden Informationsverarbeitungssytemen und eine -einheit verwendet wird;
Fig. 3 zeigt zwei exemplarische Leistungsverbrauchskurven entsprechend dem Stand der Technik;
Fig. 4 zeigt eine schematische Darstellung eines bekannten Verfahrens zum Angriff auf eine kryptographische Einheit zusammen mit exemplarischen Leistungsverbrauchskurven, die von der Einheit erhalten wurden;
Fig. 5 zeigt ein Blockschaltbild, das ein bevorzugtes Verfahren entsprechend der Erfindung darstellt; und
Fig. 6 zeigt eine exemplarische Ausführungsform der N : N- Operation entsprechend der Erfindung.
WEITERE BESCHREIBUNG DER ERFINDUNG
Fig. 1 bis 4, die den Stand der Technik in dem vorliegenden technischen Bereich veranschaulichen, wurden bereits im einleitenden Teil der Beschreibung erörtert.
Wir beziehen uns jetzt auf Fig. 5, wo eine bevorzugte Ausführungsform der Erfindung gezeigt wird. In dieser Ausführungsform wird eine Datenmenge 40 (Informationen) transformiert, indem eine XOR-Operation durch eine XOR-Einheit 41 mit einem Operanden b 42 auf die Datenmenge 40 angewendet wird.
Die transformierte Datenmenge 43 wird dann zu einer Datenverschlüsselungseinheit 44 geschickt, z. B. ein Programm- Modul, das nach dem DES-Standard arbeitet. In entsprechender Weise wird der Operand b 42 zu einer weiteren DES-Einheit 46 übertragen 45 und verschlüsselt. Es wird betont, dass die Benutzung von zwei DES-Einheiten 44, 46 nur exemplarisch ist und dass sowohl die transformierte Datenmenge 43 als auch der Operand b 42 zu nur einer DES-Einheit 44 übertragen werden können. Alternativ hierzu können anstelle der Verschlüsselung/Entschlüsselung von Daten auch andere kryptographische Prozesse wie eine digitale Unterschrift (signature) und die entsprechende Signaturüberprüfung auf die zugrundeliegenden Informationen entsprechend dem Bereich der Erfindung angewendet werden. Beides, die transformierte und verschlüsselte Datenmenge 47 und der verschlüsselte Operand b 48, werden in eine Rücktransformationseinheit 49 eingegeben, wobei die XOR-Operation zum zweiten Mal ausgeführt wird, was eine nichttransformierte verschlüsselte Datenmenge 50 ergibt. Für die Einzelheiten der XOR-Operation wird auf das allgemeine Wissen eines Fachmannes Bezug genommen.
Um die Sicherheit gegen Angreifer entsprechend der Erfindung weiter zu verstärken, umfasst eine weitere Ausführungsform wenigstens einen zweiten Operanden c 51, durch den die Eingabedatenmenge 40 ein zweites Mal transformiert wird. In dem vorliegenden Beispiel wird der Operand c 51 auch durch die XOR- Einheit 41 benutzt, was somit eine zweite transformierte Datenmenge 52 ergibt. Um die Eingabedatenmenge 40 in die zwei Datenmengen 45, 52 aufzuteilen, enthält die XOR-Einheit 41 ein entsprechendes (nicht dargestelltes) Aufteilungsmodul. Alternativ dazu kann der zweite Transformationspfad unter Verwendung einer weiteren N : N-Operation realisiert werden, was demzufolge eine zweite Transformationseinheit (nicht dargestellt) und eine zweite Rücktransformationseinheit (nicht dargestellt), aber nicht die obige Aufteilungsfunktionalität erfordert. Die zweite transformierte Datenmenge 52 und der zweite Operand c 53 werden in weitere DES-Einheiten 54, 55 eingegeben. Die verschlüsselte Datenmenge 56 und der verschlüsselte Operand c 57 werden entsprechend zur Rücktransformationseinheit 49 rückgekoppelt, was somit die verschlüsselte Datenmenge 50 ergibt.
Es sollte betont werden, dass die XOR-Operation nur eine exemplarische Operation für die Transformation der Informationen ist und durch eine andere N : N-Operation ersetzt werden kann, die eine eindeutige N : N-Beziehung zwischen den Elementen der Informationen und den Elementen der transformierten Informationen umfasst, beispielsweise eine ZUFALLS-Operation, die in Fig. 6 dargestellt ist, oder eine Hamming-Gewichtungsoperation, die nach dem entsprechenden Stand der Technik wohlbekannt ist. In diesen Fällen wird der Operand b durch eine Operationsmatrix ersetzt, wie sie in Fig. 6 dargestellt ist. In einer weiteren Ausführungsform können mehr als zwei Pfade vorgesehen werden, um die Datensicherheit des vorgeschlagenen Mechanismus weiter zu erhöhen.
Wir nehmen jetzt auf Fig. 6 Bezug, wo ein Beispiel der vorgeschlagenen N : N-Operation dargestellt ist, und zwar für eine ZUFALLS-Operation. Es wird eine ZUFALLS-N : N-Beziehung 60 zwischen einer ersten Datenmenge 61 und einer zweiten Datenmenge 62 dargestellt, wobei jede der Datenmengen 61, 62 exemplarisch N = 8 Elemente enthält. Die entsprechende Transformation kann durch eine N × M-Matrix "OP" 63 mit M = 2 dargestellt werden, wobei die Anwendung der Operation mit der inversen Matrix "OP-1" 64 auf die bereits transformierte Datenmenge 62, was die Rücktransformation der transformierten Datenmenge 62 bedeutet, die ursprüngliche Datenmenge 61 ergibt.

Claims (24)

1. Verfahren zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem oder einer einheit, insbesondere einer Chipkarte, wobei die Informationen Informationseinheiten mit N Informationselementen umfassen und von wenigstens einem kryptographischen Prozess verarbeitet werden, der wenigstens ein extern feststellbares Signal verursacht,
gekennzeichnet durch
die Transformation der Informationen vor der Durchführung des kryptographischen Prozesses durch Anwendung einer N : N- Operation auf die Elemente der Informationen, wobei jedes Element der Informationen mit genau einem entsprechenden Element der transformierten Information verbunden ist;
die Ausführung des kryptographischen Prozesses mit den transformierten Informationen;
die Rücktransformation der transformierten und kryptographisch verarbeiteten Informationen durch Anwendung einer inversen N : N-Operation auf die transformierten und kryptographisch verarbeiteten Informationen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der kryptographische Prozess an wenigstens einer ersten Datenmenge, die die transformierte Informationen enthält, und an wenigstens einer zweiten Datenmenge, die den jeweiligen Operator für die N : N-Operation enthält, durchgeführt wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die N : N-Operation eine lineare oder nichtlineare Matrixoperation ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die N : N-Operation eine XOR-Operation mit einem Maskierungswert ist, wobei eine weitere XOR-Operation mit dem gleichen Maskierungswert die nichttransformierten Informationen wiederherstellt.
5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die N : N-Operation ein beliebiger Maskierungsprozess (ADD, SUB, . . .) mit einem Maskierungswert ist, wobei die entsprechende inverse Operation (INVADD, INVSUB, . . .) die nichttransformierten Informationen wiederherstellt.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Maskierungswert durch eine ZUFALLSoperation bestimmt wird.
7. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die N : N-Operation eine per Zufall erzeugte N : N-Beziehung ist, wobei die Informationselemente in zufälliger Beziehung stehen zu den entsprechenden Elementen der transformierten Informationen.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die N : N-Operation transformierte Informationen mit einer konstanten Hamming-Gewichtung ergibt.
9. Verfahren nach Anspruch 2, gekennzeichnet durch wenigstens zwei erste Datenmengen (43, 52) und wenigstens zwei zweite Datenmengen (45, 53) mit wenigstens zwei Maskierungswerten (42, 51).
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die N : N-Operation jedesmal ausgeführt wird, bevor die Informationen durch den kryptographischen Prozess verarbeitet werden (44, 46, 54, 55).
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die N : N-Operationen nur auf gewisse Elemente der Information angewendet wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Zuweisung der N : N-Operation zu gewissen Elementen zwischen aufeinanderfolgenden kryptographischen Prozessen variiert.
13. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass sich die N : N-Operation während eines gewissen Zeitrahmens der Durchführung des kryptographischen Prozesses auf alle Elemente oder nur auf gewisse Elemente der Gesamtinformationen bezieht und nach jedem dieser Zeitrahmen durch eine andere N : N-Operation ersetzt wird.
14. Verfahren nach Anspruch 1, gekennzeichnet durch wenigstens zwei N : N-Operationen, von denen jede auf gewisse Elemente der Gesamtinformationen angewendet wird, so dass alle N : N- Operationen zusammen sich auf die gesamten Informationen erstrecken.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass wenigstens eine N : N-Operation in gewissen Zeitintervallen während der Durchführung des kryptographischen Prozesses durch eine andere N : N-Operation ersetzt wird.
16. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass sich eine N : N-Operation nur auf lineare Teile des zugrundeliegenden kryptographischen Algorithmus erstreckt und nichtlineare Teile gesondert transformiert.
17. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Informationen unmittelbar nach der Übertragung zum kryptographischen System oder der Einheit transformiert werden.
18. Datenträger, der von einem Informationsverarbeitungssystem oder einer -einheit benutzt werden kann, insbesondere von einem kryptographischen Informationsverarbeitungssystem oder einer -einheit, wobei der Datenträger computerlesbaren Programmcode enthält, so dass das System oder die Einheit die Schritte nach Anspruch 1 ausführt.
19. Kryptographische Einheit für die sichere Informationsbehandlung, insbesondere eine Chipkarte, wobei die Informationen Informationseinheiten mit N Informationselementen umfassen und von wenigstens einem kryptographischen Prozess verarbeitet wird, der wenigstens ein extern erkennbares Signal verursacht, gekennzeichnet durch
wenigstens ein erstes Verarbeitungsmittel für die Transformation der Informationen durch Anwendung einer N : N- Operation auf die Informationselemente, wobei jedes Element der Informationen eindeutig mit einem entsprechenden Element der transformierten Informationen in Beziehung steht;
wenigstens ein zweites Verarbeitungsmittel für die Durchführung eines kryptographischen Prozesses an den transformierten Informationen;
wenigstens ein drittes Verarbeitungsmittel für die Rücktransformationen der transformierten und kryptographisch verarbeiteten Informationen durch Anwendung einer inversen N : N-Operation auf die transformierte und kryptographisch verarbeitete Informationen.
20. Einheit nach Anspruch 19, gekennzeichnet durch eine N : N- Operation nach Anspruch 1.
21. Informationsverarbeitungssystem, dadurch gekennzeichnet, dass es ein Verfahren nach Anspruch 1 anwendet.
22. Informationsverarbeitungssystem, dadurch gekennzeichnet, dass es eine kryptographische Einheit nach Anspruch 19 enthält.
23. Chipkarte, dadurch gekennzeichnet, dass sie ein Verfahren nach Anspruch 1 anwendet.
24. Chipkarte, dadurch gekennzeichnet, dass sie eine kryptographische Einheit nach Anspruch 19 enthält.
DE1999160047 1999-01-29 1999-12-14 Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem Expired - Fee Related DE19960047B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24050399A 1999-01-29 1999-01-29
US09/240,503 1999-01-29

Publications (2)

Publication Number Publication Date
DE19960047A1 true DE19960047A1 (de) 2000-08-17
DE19960047B4 DE19960047B4 (de) 2006-01-26

Family

ID=22906787

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999160047 Expired - Fee Related DE19960047B4 (de) 1999-01-29 1999-12-14 Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem

Country Status (1)

Country Link
DE (1) DE19960047B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004084484A1 (fr) * 2003-03-17 2004-09-30 Alexander Andreevich Moldovyan Procede de conversion cryptographique de donnees numeriques
DE102004052196B4 (de) * 2004-10-27 2017-04-06 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Ausführen von Operationen unter Verwendung einer maskenunterstützenden Recheneinheit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19822217B4 (de) * 1998-05-18 2018-01-25 Giesecke+Devrient Mobile Security Gmbh Zugriffsgeschützter Datenträger
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004084484A1 (fr) * 2003-03-17 2004-09-30 Alexander Andreevich Moldovyan Procede de conversion cryptographique de donnees numeriques
DE102004052196B4 (de) * 2004-10-27 2017-04-06 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Ausführen von Operationen unter Verwendung einer maskenunterstützenden Recheneinheit

Also Published As

Publication number Publication date
DE19960047B4 (de) 2006-01-26

Similar Documents

Publication Publication Date Title
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
DE102007063755B4 (de) Fehlererkennungsschaltung und zugehöriges Betriebsverfahren und Computerprogrammprodukt
EP1262037B1 (de) Tragbarer datenträger mit zugriffsschutz durch schlüsselteilung
DE69932740T2 (de) Verfahren und vorrichtung zur kryptographischen datenverarbeitung
EP1099197A1 (de) Vorrichtung zum liefern von ausgangsdaten als reaktion auf eingangsdaten und verfahren zum überprüfen der authentizität und verfahren zum verschlüsselten übertragen von informationen
EP0981115B1 (de) Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
EP3593483A1 (de) Übergang von einer booleschen maskierung zu einer arithmetischen maskierung
EP1496420B1 (de) Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
EP1321888B1 (de) Verfahren zur Erhöhung der Sicherheit von Schaltkreisen gegen unbefugten Zugriff
DE102007026977B4 (de) Kryptographisches System und zugehöriges Betriebsverfahren und Computerprogrammprodukt
DE102004042826A1 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
EP1080454B1 (de) Zugriffsgeschützter datenträger
EP1272984B1 (de) Tragbarer datenträger mit schutz vor seitenkanalattacken
DE10232348A1 (de) Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren
EP3387636B1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
DE60022840T2 (de) Verfahren zum sichern einer oder mehrerer elektronischer baugruppen, unter zuhilfenahme eines privatschlüssel-krypto-algorithmus, sowie elektronische baugruppe
DE112018002723T5 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE102005057104A1 (de) Smartcard und Steuerverfahren hierfür
DE19960047B4 (de) Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem
EP1615098B1 (de) Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
EP2545483A1 (de) Ausspähungsschutz bei der ausführung einer operationssequenz in einem tragbaren datenträger
EP3804209B1 (de) Verfahren mit safe-error-abwehrmassnahme
DE60034944T2 (de) Gegenmassnahmeverfahren in einer geheimen und dynamischen Verschlüsselungsalgorithmus ausführenden elektronischen Schaltung
EP1355269B1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls
EP1110185B1 (de) Zugriffsgeschützter datenträger

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licenses declared (paragraph 23)
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120703