DE19960047A1 - Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem - Google Patents
Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen InformationsverarbeitungssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1016—Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
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
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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 | 株式会社東芝 | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
-
1999
- 1999-12-14 DE DE1999160047 patent/DE19960047B4/de not_active Expired - Fee Related
Cited By (2)
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 | |
EP1496420B1 (de) | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren | |
EP1321888B1 (de) | Verfahren zur Erhöhung der Sicherheit von Schaltkreisen gegen unbefugten Zugriff | |
EP3387636B1 (de) | Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf) | |
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 | |
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 | |
WO2011110307A1 (de) | Ausspähungsschutz bei der ausführung einer operationssequenz in einem tragbaren datenträger | |
DE69904290T2 (de) | Datenträgervorrichtung mit datenbus deren energieverbrauch unabhängig ist von den über den datenbus gesendeten daten | |
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 | |
EP1506473B1 (de) | Ausspähungsgeschützte modulare inversion |
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 |