DE102012209404A1 - Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür - Google Patents

Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür Download PDF

Info

Publication number
DE102012209404A1
DE102012209404A1 DE102012209404A DE102012209404A DE102012209404A1 DE 102012209404 A1 DE102012209404 A1 DE 102012209404A1 DE 102012209404 A DE102012209404 A DE 102012209404A DE 102012209404 A DE102012209404 A DE 102012209404A DE 102012209404 A1 DE102012209404 A1 DE 102012209404A1
Authority
DE
Germany
Prior art keywords
input data
transformed
functional unit
unit
output data
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.)
Pending
Application number
DE102012209404A
Other languages
English (en)
Inventor
Matthew Lewis
Paulius Duplys
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102012209404A priority Critical patent/DE102012209404A1/de
Priority to US13/904,518 priority patent/US9430656B2/en
Priority to FR1355049A priority patent/FR2991477B1/fr
Priority to CN201310215571.2A priority patent/CN103455446B/zh
Publication of DE102012209404A1 publication Critical patent/DE102012209404A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)

Abstract

Die Erfindung betrifft eine Vorrichtung (100) zur Ausführung eines kryptographischen Verfahrens (110), wobei die Vorrichtung eine Eingangsschnittstelle (120) zum Empfang von Eingangsdaten (i) und eine Ausgangsschnittstelle (130) zur Ausgabe von Ausgangsdaten (o) aufweist, sowie eine Kryptographieeinheit (140) zur Ausführung des kryptographischen Verfahrens (110), dadurch gekennzeichnet, dass eine erste Funktionseinheit (150a) vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil der Eingangsdaten (i) unter Anwendung eines ersten deterministischen Verfahrens in transformierte Eingangsdaten (i‘) zu überführen und die transformierten Eingangsdaten (i‘) der Kryptographieeinheit (140) zuzuführen, und/oder dass eine zweite Funktionseinheit (150b) vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil von Ausgangsdaten (o‘) der Kryptographieeinheit (140) unter Anwendung eines zweiten deterministischen Verfahrens in transformierte Ausgangsdaten (o) zu überführen und die transformierten Ausgangsdaten (o) der Ausgangsschnittstelle (130) zuzuführen.

Description

  • Stand der Technik
  • Die Erfindung betrifft eine Vorrichtung zur Ausführung eines kryptographischen Verfahrens, wobei die Vorrichtung eine Eingangsschnittstelle zum Empfang von Eingangsdaten und eine Ausgangsschnittstelle zur Ausgabe von Ausgangsdaten aufweist, sowie eine Kryptographieeinheit zur Ausführung des kryptographischen Verfahrens.
  • Die Erfindung betrifft ferner ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 9.
  • Derartige Vorrichtungen und Verfahren sind bereits bekannt, vergleiche beispielsweise US 7,599,488 B2 .
  • Die bekannte Vorrichtung weist einen Mikroprozessorkern auf, dem ein Zufallszahlengenerator zugeordnet ist, um die Ausführung von kryptographischen Instruktionen auf dem Mikroprozessorkern zufallsabhängig zu manipulieren. Dadurch wird erreicht, dass kryptographische Angriffe auf den das kryptographische Verfahren ausführenden Mikroprozessorkern erschwert werden. Insbesondere werden sogenannte Differential Power Analysis (DPA)-Attacken erschwert, weil der zeitliche Zusammenhang zwischen einem regelmäßigen Taktsignal und der tatsächlichen Ausführung der einzelnen Schritte des kryptographischen Verfahrens durch den Mikroprozessorkern unter Verwendung der Zufallszahlen verschleiert wird.
  • Nachteilig an dem bekannten System ist die Tatsache, dass ein technisch nur aufwendig zu realisierender Zufallszahlgenerator erforderlich ist sowie eine komplexe Struktur der Peripherie des Mikroprozessorkerns, die in Abhängigkeit der Zufallszahlen das Taktsignal für den Mikroprozessor beeinflusst.
  • Offenbarung der Erfindung
  • Demgemäß ist es Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren der eingangs genannten Art dahingehend zu verbessern, dass die Nachteile des Stands der Technik vermieden werden und gleichzeitig eine gesteigerte Sicherheit bei der Ausführung des kryptographischen Verfahrens, insbesondere gegen sogenannte Seitenkanalattacken beziehungsweise DPA-Attacken, erzielt wird.
  • Diese Aufgabe wird bei der Vorrichtung der eingangs genannten Art erfindungsgemäß dadurch gelöst, dass eine erste Funktionseinheit vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil der Eingangsdaten unter Anwendung eines ersten deterministischen Verfahrens in transformierte Eingangsdaten zu überführen und die transformierten Eingangsdaten der Kryptographieeinheit zuzuführen und/oder dass eine zweite Funktionseinheit vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil von Ausgangsdaten der Kryptographieeinheit unter Anwendung eines zweiten deterministischen Verfahrens in transformierte Ausgangsdaten zu überführen und die transformierten Ausgangsdaten der Ausgangsschnittstelle zuzuführen, so dass der Zusammenhang zwischen den durch die Kryptographieeinheit verarbeiteten Daten und der Seitenkanal-Information verschleiert wird.
  • Die erfindungsgemäß vorgeschlagenen Funktionseinheiten bieten den Vorteil, dass der Ausführung des eigentlichen kryptographischen Verfahrens beziehungsweise der Kryptographieeinheit von außen nicht oder nur sehr schwer ermittelbare Daten zugeführt werden, nämlich z.B. die mittels der ersten Funktionseinheit gebildeten transformierten Eingangsdaten. Das bedeutet, selbst wenn ein Angreifer den beispielsweise mittels der erfindungsgemäßen Vorrichtung zu verschlüsselnden Klartext kennen sollte und eine Vielzahl von DPA-Attacken ausführt, ist eine Analyse der dabei erhaltenen Messergebnisse erschwert, weil die erfindungsgemäß vorgesehene erste Funktionseinheit einen direkten Zusammenhang zwischen der Ausführung der kryptographischen Verfahrensschritte durch die Kryptographieeinheit und dem der Vorrichtung zugeführten Klartext verschleiert, nämlich im Wege einer deterministischen Transformation.
  • Das bedeutet, durch die erfindungsgemäße Aufhebung des direkten Zusammenhangs (üblicherweise Identität) zwischen dem Klartext, der die Eingangsgröße für die erfindungsgemäße Vorrichtung darstellt, und denjenigen Daten, die tatsächlich in der erfindungsgemäßen Vorrichtung von der Kryptographieeinheit zur Verschlüsselung verarbeitet werden (erfindungsgemäß transformierte Eingangsdaten), wird eine Seitenkanalattacke beziehungsweise generell DPA-Verfahren deutlich gegenüber herkömmlichen Verfahren erschwert. Ein Angreifer kann zwar nach wie vor eine Vielzahl von DPA-Attacken starten und z.B. im Wege der Korrelation erhaltener Messreihen (z.B. Zeitverlauf des elektrischen Energieverbrauchs der Vorrichtung) auswerten. Da die im Rahmen der DPA-Attacken erhaltenen Messreihen jedoch u.a. von den erfindungsgemäß transformierten Eingangsdaten abhängen, die dem Angreifer unbekannt sind, ist eine weitaus größere Anzahl von Messreihen bzw. Korrelationsvorgängen erforderlich, um sinnvolle Rückschlüsse auf die Abläufe in der Kryptographieeinheit ziehen zu können. Vielmehr müsste ein Angreifer zunächst die erfindungsgemäße z.B. erste Funktionseinheit erfolgreich „angreifen“, also die von ihr implementierte Transformation analysieren, bevor er eine mit erträglichem Aufwand realisierbare DPA-Attacke auf die Kryptographieeinheit starten kann.
  • Gleichzeitig besitzt die Erfindung den weiteren Vorteil, dass die erste Funktionseinheit ein rein deterministisches Verfahren anwendet. Das bedeutet, bei bekannten Eingangsdaten der ersten Funktionseinheit lassen sich stets die zu erwartenden Ausgangsdaten ermitteln. Im Unterschied zu der bekannten Vorrichtung erfordert die Erfindung daher keine aufwändige Quelle von Zufallszahlen. Dasselbe gilt für die zweite Funktionseinheit.
  • Aufgrund der Verwendung rein deterministischer Verfahren in den Funktionseinheiten können diese relativ einfach und effizient implementiert werden, z.B. in anwendungsspezifischen integrierten Schaltkreisen (ASICs). Auch ein Test der erfindungsgemäßen Vorrichtung wird durch den Rückgriff auf rein deterministische Verfahren erleichtert, da eindeutige Testfälle spezifiziert und geprüft werden können. Realisierungen der Erfindung in ICs bzw. ASICs erfordern relativ wenig Chipfläche für die Funktionseinheiten aufgrund ihres deterministischen Charakters. Darüber hinaus kann der Grad an gesteigerter Sicherheit, der sich durch die erfindungsgemäßen Funktionseinheiten ergibt, präzise eingestellt werden durch die Auswahl der konkreten Implementierung (z.B. Bitbreite eines geheimen Schlüssels, der für den Betrieb der erfindungsgemäßen Funktionseinheiten verwendet wird).
  • Bei einer Ausführungsform der Erfindung ist lediglich die erste Funktionseinheit vorgesehen, die wie bereits vorstehend beschrieben, den Zusammenhang zwischen Eingangsdaten und den der Kryptographieeinheit zugeführten transformierten Eingangsdaten verschleiert im Wege der ersten Transformation.
  • Die Ausgangsdaten der Kryptographieeinheit könnten beispielsweise einer Ausführungsform zufolge auch direkt dem Benutzer der erfindungsgemäßen Vorrichtung zur Verfügung gestellt werden, das heißt ohne eine vergleichbare erfindungsgemäße Transformation der Ausgangsdaten.
  • Bei einer weiteren Erfindungsvariante ist es auch denkbar, den zu verschlüsselnden Klartext direkt der Kryptographieeinheit zur Verfügung zu stellen, also ohne erfindungsgemäße Transformation zwischen Eingangsschnittstellen und Kryptographieeinheit, und nur die von der Kryptographieeinheit erhaltenen Ausgangsdaten mittels einer zweiten Funktionseinheit zu transformieren, um transformierte Ausgangsdaten zu erhalten.
  • Einen maximalen Schutz gegen DPA-Attacken bietet jedoch eine besonders bevorzugte Ausführungsform der Erfindung, bei der sowohl eingangsseitig der Kryptographieeinheit die erste erfindungsgemäße Funktionseinheit als auch ausgangsseitig der Kryptographieeinheit die zweite erfindungsgemäße Funktionseinheit vorgesehen sind. In diesem Fall werden nämlich sowohl Eingangsdaten als auch Ausgangsdaten für die Kryptographieeinheit maximal effizient verschleiert bezogen auf die ggf. von außen erkennbaren Eingangs-/Ausgangsdaten der Vorrichtung selbst.
  • Bei einer besonders bevorzugten Ausführungsform ist vorgesehen, dass die erste Funktionseinheit dazu ausgebildet ist, eine Transformation des wenigstens einen Teils der Eingangsdaten in Abhängigkeit von wenigstens einem ersten geheimen Schlüssel auszuführen. Bei dem ersten geheimen Schlüssel kann es sich beispielsweise um ein Binärwort mit vorgebbarer Länge handeln, welches vorzugsweise auch direkt in die erfindungsgemäße Vorrichtung integriert ist und daher von außen nicht auf einfache Weise feststellbar ist. Bei Realisierung der erfindungsgemäßen Vorrichtung in Form eines IC bzw. ASIC kann der geheime Schlüssel z.B. in einem internen Speicher des IC bzw. ASIC abgelegt sein, z.B. so, dass er von außerhalb des ICs gar nicht auslesbar und damit nur dem Hersteller bekannt ist. Durch eine Vorgabe der Länge des geheimen Schlüssels kann auf einfache Weise die durch die Erfindung realisierte Steigerung der Sicherheit gegen DPA-Attacken eingestellt werden.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die zweite Funktionseinheit dazu ausgebildet ist, eine Transformation des wenigstens einen Teils der Ausgangsdaten in Abhängigkeit von wenigstens einem zweiten geheimen Schlüssel auszuführen, der analog zu dem ersten Geheimschlüssel ebenfalls vorzugsweise in die erfindungsgemäße Vorrichtung integriert ist.
  • Bei noch einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass der erste geheime Schlüssel identisch ist zu dem zweiten geheimen Schlüssel.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass das erste und/oder zweite deterministische Verfahren jeweils auf einer mathematischen Funktion beruht, wobei die mathematische Funktion injektiv oder bijektiv ist, und wobei vorzugsweise das erste deterministische Verfahren und das zweite deterministische Verfahren auf derselben mathematischen Funktion beruhen.
  • Injektiv bedeutet, dass bei gegebenen Eingangsdaten und gegebenen geheimem Schlüssel die mathematische Funktion einen Ausgangswert liefert, welcher eindeutig den Eingangsdaten und dem geheimen Schlüssel zugeordnet werden kann. Das bedeutet, es gibt keine weiteren Kombinationen aus Eingangsdaten und geheimem Schlüssel, die dieselben Ausgangsdaten liefern. Eine derartige Struktur der mathematischen Funktion kann beispielsweise vorteilhaft dazu genutzt werden, eine digitale Signatur zu erstellen. In diesem Fall muss die mathematische Funktion nicht bereits bijektiv sein, also umkehrbar eindeutig. Einer weiteren vorteilhaften Ausführungsform zufolge ist die mathematische Funktion jedoch nicht nur injektiv, sondern auch bijektiv, so dass aus den Ausgangsdaten der mathematischen Funktion eindeutig auf die Eingangsdaten geschlossen werden kann. Eine derartige mathematische Funktion kann beispielsweise dazu verwendet werden, die erfindungsgemäße Vorrichtung zum Verschlüsseln und zum Entschlüsseln zu verwenden.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass das erste und/oder zweite deterministische Verfahren eine Transformation umfasst, bei der eine Änderung einer Binärziffer der Eingangsdaten, die üblicherweise als Binärwort mit vorgebbarer Länge vorliegen, beziehungsweise der Ausgangsdaten die Änderung von mehr als einer Binärziffer der transformierten Eingangsdaten beziehungsweise der transformierten Ausgangsdaten zufolge hat, insbesondere die Änderung von mehr als vier Binärziffern der transformierten Eingangsdaten beziehungsweise der transformierten Ausgangsdaten. Dadurch ist vorteilhaft sichergestellt, dass die mathematische Funktion selbst schwer angreifbar ist beziehungsweise ihr funktionaler Zusammenhang zwischen den Eingangsdaten und den Ausgangsdaten schwer zu rekonstruieren ist, wodurch die Betriebssicherheit der erfindungsgemäßen Vorrichtung weiter gesteigert wird.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit und die erste Funktionseinheit und die zweite Funktionseinheit jeweils in einem integrierten Schaltkreis implementiert sind, vorzugsweise in demselben integrierten Schaltkreis (IC oder ASIC oder FPGA), so dass die Datenverbindungen zwischen den erfindungsgemäßen Funktionseinheiten und der Kryptographieeinheit nicht oder nur außerordentlich schwer von außen zu analysieren sind (beispielsweise mittels Abschleifen, mikroskopischer Untersuchung und dergleichen).
  • Bei dem Schaltkreis kann es sich bevorzugt um eine integrierte Schaltung handeln, beispielsweise um eine anwendungsspezifisch integrierte Schaltung (ASIC, Application Specific Integrated Circuit). Alternativ oder ergänzend kann die erfindungsgemäße Vorrichtung aber auch in Form von programmierbaren Logikbausteinen (FPGA, Field Programmable Gate Array) realisiert werden.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die erste Funktionseinheit und/oder die zweite Funktionseinheit jeweils ein linear rückgekoppeltes Schieberegister und/oder eine Einheit zur Ausführung einer nichtlinearen Substitutionsoperation aufweisen. Das linear rückgekoppelte Schieberegister kann vorteilhaft seinerseits bereits Maßnahmen enthalten, die DPA-Attacken erschweren. Beispielsweise kann eine symmetrische Struktur des Schieberegisters mit zueinander komplementären Zustandsübergängen vorgesehen werden, usw.. Bei der nichtlinearen Substitutionsoperation kann es sich beispielsweise um das SBOX-Verfahren des Advanced Encryption Standard (AES) handeln oder um ein vergleichbares Verfahren.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit dazu ausgebildet ist, die transformierten Eingangsdaten zu verschlüsseln und/oder zu entschlüsseln, insbesondere nach dem Advanced Encryption Standard, AES.
  • Im Gegensatz zu herkömmlichen AES-Kryptographieeinheiten ermöglicht die erfindungsgemäße Vorrichtung vorteilhaft die Ausführung der kryptographischen Verfahrensschritte für den AES-Algorithmus basierend auf den erfindungsgemäß transformierten Eingangsdaten, welche für einen Angreifer nicht ohne weiteres ersichtlich sind, im Gegensatz zu den Eingangsdaten, wie sie der Eingangsschnittstelle der erfindungsgemäßen Vorrichtung zugeführt werden.
  • Vorteilhaft ist ebenfalls durch die Transformation der Ausgangsdaten durch die erfindungsgemäße zweite Funktionseinheit ein funktionaler Zusammenhang zwischen dem AES-Verfahren, das auf der Kryptographiereinheit ausgeführt wird, und den transformierten Ausgangsdaten verschleiert, so dass ein Angriff basierend auf DPA-Attacken im Vergleich zu herkömmlichen Vorrichtungen beziehungsweise Verfahren erschwert wird. Gleichzeitig besitzt die erfindungsgemäße Vorrichtung den weiteren Vorteil, dass verhältnismäßig wenig aufwändige deterministische Verfahren eingesetzt werden können, um die erfindungsgemäßen Transformation der Eingangsdaten beziehungsweise der Ausgangsdaten zu bewerkstelligen.
  • Das Erfindungsprinzip ist nicht auf Verfahren vom AES-Typ begrenzt. Vielmehr kann die Kryptographieeinheit eine oder mehrere beliebige kryptographische Primitiven wie z.B. Blockchiffren und dergleichen ausführen, z.B. einen Teil eines Ver-/Entschlüsselungsalgorithmus, usw. Wesentlich ist die erfindungsgemäße Transformation der Eingangs- und/oder Ausgangsdaten, die der Kryptographieeinheit zugeleitet bzw. von dieser erhalten werden.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren gemäß Patentanspruch 9 angegeben. Weitere vorteilhafte Ausführungsformen sind Gegenstand der Unteransprüche.
  • Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
  • 1 schematisch ein Blockdiagramm einer Ausführungsform einer erfindungsgemäßen Vorrichtung,
  • 2a schematisch eine weitere Ausführungsform der erfindungsgemäßen Vorrichtung,
  • 2b schematisch eine weitere Ausführungsform der erfindungsgemäßen Vorrichtung,
  • 3a, 3b schematisch ein Blockdiagramm der erfindungsgemäßen Vorrichtung in unterschiedlichen Betriebszuständen,
  • 4 ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens,
  • 5a, 5b jeweils schematisch Aspekte einer Implementierung einer erfindungsgemäßen Funktionseinheit, und
  • 6 ein Flussdiagramm einer Ausführungsform.
  • 1 zeigt ein vereinfachtes Blockdiagramm einer Ausführungsform der erfindungsgemäßen Vorrichtung 100 zur Ausführung eines kryptographischen Verfahrens 110.
  • Die Vorrichtung 100 verfügt über eine Eingangsschnittstelle 120 zum Empfang von Eingangsdaten i sowie über eine Ausgangsschnittstelle 130 zur Ausgabe von Ausgangsdaten o.
  • Ferner verfügt die Vorrichtung 100 über eine Kryptographieeinheit 140, die zur Ausführung eines kryptographischen Verfahrens 110 ausgebildet ist. Hierbei kann es sich beispielsweise um ein Verfahren gemäß dem AES-Standard und dergleichen handeln, wobei die Funktion 110 sowohl dazu ausgebildet sein kann, Daten zu verschlüsseln, als auch zu entschlüsseln. Die Kryptographieeinheit 140 kann auch so ausgebildet sein, dass sie (nur) Teile von kryptographischen Algorithmen ausführt.
  • Details zu dem AES-Standard sind z.B. unter „http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf“ im Internet abrufbar.
  • Zwischen der Eingangsschnittstelle 120 und der Kryptographieeinheit 140 ist erfindungsgemäß eine erste Funktionseinheit 150a vorgesehen, welche dazu ausgebildet ist, die Eingangsdaten i unter Anwendung eines ersten deterministischen Verfahrens in transformierte Eingangsdaten i' zu überführen. Diese transformierten Eingangsdaten i' werden erfindungsgemäß der Kryptographieeinheit 140 als Eingangsdaten übergeben, und nicht die Eingangsdaten i direkt, wie dies bei herkömmlichen Vorrichtungen der Fall ist. Dadurch ist vorteilhaft gewährleistet, dass DPA-Attacken erschwert werden, weil die Kryptographieeinheit 140 das kryptographische Verfahren 110 mit Eingangsdaten i' ausführt, welche von den der Vorrichtung 100 zugeführten Eingangsdaten i verschieden, und insbesondere für einen Angreifer nicht oder nur sehr schwer ermittelbar sind. Um das eigentliche kryptographische Verfahren 110 anzugreifen, muss ein Angreifer der Vorrichtung 100 also zunächst erfolgreich die Funktionseinheit 150a bzw. die hiermit implementierte Transformation angreifen bzw. analysieren.
  • Analog hierzu weist die Vorrichtung 100 eine zweite Funktionseinheit 150b auf, welche dazu ausgebildet ist, die Ausgangsdaten o' der Kryptographieeinheit 140 in transformierte Ausgangsdaten o zu überführen, die schließlich der Ausgangsschnittstelle 130 der Vorrichtung 100 zugeführt werden zur Ausgabe an eine externe Einheit. Die erfindungsgemäße Funktionseinheiten 150a, 150b verschleiern demgemäß vorteilhaft den Zusammenhang zwischen den verhältnismäßig einfach für einen Angreifer ermittelbaren Eingangsdaten i beziehungsweise Ausgangsdaten o der Vorrichtung 100 und den Daten, die tatsächlich von der Kryptographieeinheit 140 beziehungsweise dem darin implementierten kryptographischen Verfahren 110 abgearbeitet werden. Das kryptographische Verfahren 110 arbeitet nämlich auf den transformierten Eingangsdaten i' beziehungsweise gibt die Ausgangsdaten o' aus. Bei den Größen i', o' handelt es sich um interne Größen der erfindungsgemäßen Vorrichtung 100 die nur sehr schwierig von außen beziehungsweise gar nicht von außen feststellbar sind.
  • Vorteilhaft verwendet die erste Funktionseinheit 150a einen ersten geheimen Schlüssel v1, um die Eingangsdaten i zu transformieren in die transformierten Eingangsdaten i'. Der erste geheime Schlüssel v1 ist vorteilhaft in die Vorrichtung 100 integriert und daher auch durch einen Angreifer nur sehr schwer beziehungsweise gar nicht feststellbar.
  • Analog hierzu kann auch die zweite Funktionseinheit 150b einen zweiten geheimen Schlüssel v2 erhalten, um die Transformation der Ausgangsdaten o' in die transformierten Ausgangsdaten o zu bewerkstelligen.
  • Die geheimen Schlüssel v1, v2 können auch identisch sein.
  • Besonders bevorzugt arbeiten sowohl die erste Funktionseinheit 150a als auch die zweite Funktionseinheit 150b basierend auf deterministischen Verfahren. Das bedeutet am Beispiel der ersten Funktionseinheit 150a, dass bei bekannten Eingangsdaten i und vorgegebenem Schlüssel v1 stets dieselben transformierten Eingangsdaten i' am Ausgang der ersten Funktionseinheit 150a erhalten werden. Dasselbe gilt für die zweite Funktionseinheit 150b und die von ihr verarbeiteten Ausgangsdaten. Vorteilhaft erfordert die erfindungsgemäße Vorrichtung 100 somit keine Quelle von Zufallszahlen und dergleichen, so dass eine platzsparende und kostengünstige Implementierung unter Verwendung bekannter Halbleitertechnologien, z.B. CMOS Technologie, möglich ist.
  • Um erfolgreich die kryptographische Funktion 110 beziehungsweise die Kryptographieeinheit 140, beispielsweise im Wege einer Seitenkanalattacke, angreifen zu können, ist es erforderlich, zunächst die Arbeitsweise der erfindungsgemäßen Funktionseinheiten 150a, 150b zu rekonstruieren. Dies kann in an sich bekannter Weise durch die Wahl eines geeignet großen Schlüssels v1, v2 (Länge beispielsweise 128 bit) und dergleichen erschwert werden.
  • 2a zeigt eine mögliche Anwendung der erfindungsgemäßen Vorrichtung 100 (1). Die Vorrichtung 100 gemäß 1 ist in einen integrierten Schaltkreis IC integriert, der seinerseits in einen kartenförmigen Träger 200 mit extern elektrischer Kontaktierung 202 eingebaut ist. Die Kontaktierung 202 dient zur Implementierung der Eingangsschnittstelle 120 beziehungsweise Ausgangsschnittstelle 130 der Vorrichtung 100, und eine Kommunikation zwischen der elektrischen Kontaktierung 202 der Karte 200 mit dem IC ist durch den näher in 2a bezeichneten Blockpfeil angedeutet. Die Kontaktierung 202 kann beispielsweise mit einer seriellen Schnittstelle des IC verknüpft sein.
  • Ein Angreifer der Karte 200 kann also allenfalls die Daten i, o (1) durch Analyse der Schnittstelle 202 ermitteln, nicht jedoch die rein intern vorliegenden Größen i‘, o‘ (1), so dass ein erfolgreicher Angriff des in dem Schaltkreis IC implementierten kryptographischen Verfahrens erheblich erschwert ist.
  • 2b zeigt die Implementierung der erfindungsgemäßen Vorrichtung 100 aus 1 – wiederum in Form eines integrierten Schaltkreises IC – in einem sogenannten USB-Stick. Der i.w. als Datenträger fungierende USB-Stick 300 weist eine Schnittstelle zu einem externen System wie beispielsweise einem Personal Computer auf, die vorliegend mit dem Bezugszeichen 302 bezeichnet ist und nach dem USB(Universal Serial Bus)-Standard arbeitet.
  • 3a zeigt eine Ausführungsform der erfindungsgemäßen Vorrichtung 100 in einem ersten Betriebszustand, bei dem sie zur Verschlüsselung eines Klartexts „plaintext“ unter Anwendung des AES-Verschlüsselungsverfahrens verwendet wird. Eingangsseitig wird der Vorrichtung 100 dazu als Eingangsdaten i der Klartext zugeführt. Wie bereits vorstehend unter 1 beschrieben, wird der Klartext „plaintext“ zunächst durch die erste Funktionseinheit 150a in Abhängigkeit des ersten geheimen Schlüssels v1 in die transformierten Eingangsdaten i' transformiert, und erste diese transformierten Eingangsdaten i' werden der Kryptographieeinheit 140 zur Ausführung des AES-Verschlüsselungsverfahrens 110 zugeführt.
  • Verschlüsselte Ausgangsdaten o', die eine AES-verschlüsselte Variante der transformierten Eingangsdaten i' darstellen, werden der zweiten Funktionseinheit 150b zugeführt, die unter Verwendung des zweiten geheimen Schlüssels v2 eine weitere Transformation der Ausgangsdaten o' in die transformierten Ausgangsdaten o ausführt. Diese transformierten Ausgangsdaten o werden von der Vorrichtung 100 gemäß 3a als verschlüsselter Text „ciphertext“ ausgegeben.
  • Demzufolge ist für einen Angreifer der Vorrichtung 100 (3a) nur der plaintext und der ciphertext sichtbar, und eine DPA-Attacke auf die Kryptographieeinheit 140 wird vorteilhaft dadurch erschwert, dass die Kryptographieeinheit 140 tatsächlich mit Eingangsdaten i‘ beziehungsweise Ausgangsdaten o' arbeitet, die vermöge der erfindungsgemäßen Transformation durch die Funktionseinheiten 150a, 150b verschieden sind von dem Klartext plaintext und dem verschlüsselten Text ciphertext.
  • 3b zeigt eine Ausführungsform der Vorrichtung 100 in einem zweiten Betriebszustand, bei dem sie zur Entschlüsselung von AES-verschlüsselten Daten verwendet wird. Der Vorrichtung 100 wird ein verschlüsselter Text „ciphertext“ zugeführt, der somit den Eingangsdaten i aus 1 entspricht, und gemäß den vorstehenden Ausführungen zu 1 wird der ciphertext in transformierten Eingangsdaten i' überführt. Diese transformierten Eingangsdaten i' werden durch die Kryptographieeinheit 140 vorliegend nach AES-Standard entschlüsselt, und die hierbei entschlüsselten Daten werden mittels der zweiten Funktionseinheit 150b wie bereits vorstehend beschrieben transformiert, bevor sie als Ausgangsdaten o bzw. „plaintext“ ausgegeben werden.
  • Die vorstehend beschriebene Erfindungsvariante 100 mit den beiden Funktionseinheiten 150a, 150b bietet vorteilhaft auch bei dem Prozess des Entschlüsselns eine Verschleierung der tatsächlich durch die Kryptographieeinheit 140 bearbeiteten Daten bezogen auf die ggf. von außen ersichtlichen Eingangs- beziehungsweise Ausgangsdaten i, o.
  • 4 zeigt ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens. In einem ersten Schritt 400 wird wenigstens ein Teil der Eingangsdaten i für die Vorrichtung 100 in transformierte Eingangsdaten i' (1) überführt, vorzugsweise jedoch die gesamten Eingangsdaten, um eine maximale Dekorrelation zwischen den Eingangsdaten i und den der Kryptographieeinheit 140 zur Verarbeitung zugeführten Daten zu bewirken. Und in dem nachfolgenden Schritt 410 werden die transformierten Eingangsdaten i' der Kryptographieeinheit 140 (1) zugeführt.
  • Optional kann auch die Transformation der Ausgangsdaten o' zu den transformierten Ausgangsdaten o sich an das vorstehend beschriebene Verfahren anschließen (nicht in 4 gezeigt).
  • Bei weiteren Ausführungsformen ist es auch denkbar, dass nur eine der beiden Funktionseinheiten 150a, 150b vorgesehen ist, so dass die erfindungsgemäße Transformation nur eingangsseitig beziehungsweise ausgangsseitig der Kryptographieeinheit 140 ausgeführt wird. Ein maximaler Schutz gegen DPA-Attacken ergibt sich jedoch durch die Vorsehung beider Funktionseinheiten 150a, 150b in der in 1 abgebildeten Weise.
  • Für digitale Signaturanwendungen ist es ausreichend, wenn mathematische Funktionen, die den Funktionseinheiten 150a, 150b zu Grunde liegen, jeweils injektiv sind, also eindeutige Ausgangsdaten liefern, welche auf einen einzigen Satz Eingangsdaten rückschließen lassen. Dadurch kann die Echtheit der digitalen Signaturen in an sich bekannter Weise verifiziert werden.
  • Für den Fall, dass mittels der erfindungsgemäßen Vorrichtung 100 Verschlüsselung und/oder Entschlüsselung ausgeführt werden soll, ist zu beachten, dass die mathematischen Funktionen, die den Funktionseinheiten 150a, 150b zu Grunde liegen, auch bijektiv sind, so dass aus den Ausgangsdaten ciphertext der Vorrichtung 100 (3a) eindeutig auch auf die Eingangsdaten geschlossen werden kann unter Kombination mit einem erfindungsgemäßen Schritt der Entschlüsselung (3b).
  • Weitere bevorzugte Ausführungsformen sehen vor, dass die Komponenten 120, 150a, 140, 110, 150b, 130 (1) allesamt auf einem einzigen integrierten Schaltkreis IC integriert sind, so dass insbesondere die Datenverbindungen zwischen den Komponenten 150a, 140 und 140, 150b nicht einfach von außen zugänglich sind. Die Funktionen der Komponenten 120, 150a, 140, 110, 150b, 130 können beispielsweise in einem Mikrocontroller oder einem digitalen Signalprozessor oder auch in einem ASIC oder FPGA implementiert sein, wobei eine wenigstens teilweise Implementierung mittels Software, z.B. für das kryptographische Verfahren oder die mathematischen Funktionen der Einheiten 150a, 150b auch in Betracht kommt.
  • Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass das erste und/oder zweite deterministische Verfahren, welches den Funktionseinheiten 150a, 150b zugrunde liegt, eine Transformation umfasst, bei der eine Änderung einer Binärziffer der Eingangsdaten i beziehungsweise der Ausgangsdaten o' die Änderung von mehr als einer Binärziffer der transformierten Eingangsdaten i' beziehungsweise der transformierten Ausgangsdaten o zur Folge hat, insbesondere die Änderung von mehr als vier Binärziffern der transformierten Eingangsdaten i' beziehungsweise der transformierten Ausgangsdaten o. Dadurch ist sichergestellt, dass eine hinreichende Dekorrelation der Eingangsdaten i zu den transformierten Eingangsdaten i' stattfindet. Dasselbe gilt für die Ausgangsdaten o', o.
  • Die Funktionalität der ersten und/oder zweiten Funktionseinheit 150a, 150b kann beispielsweise durch eine Einheit zur Ausführung einer nichtlinearen Substitutionsoperation (englisch auch als „S-BOX“ (substitution box) bezeichnet) implementiert sein. Eine mögliche Darstellungsart für die Funktion einer nichtlinearen Substitutionsoperation ist durch die Matrixgleichung aus 5a angegeben. Aus 5a ist ein Spaltenvektor i1 mit vorliegend insgesamt acht Elementen (z.B. jeweils ein Bit) b0, .., b7 ersichtlich, der beispielhaft die Eingangsdaten für die nichtlineare Substitutionsoperation darstellt. Der Spaltenvektor i1 wird mit der Matrix M multipliziert, und das resultierende Matrixprodukt M × i1 wird anschließend additiv mit dem weiteren Spaltenvektor SV verknüpft, was auf den Spaltenvektor i1‘ führt, der die Ausgangsdaten der nichtlinearen Substitutionsoperation darstellt.
  • Vorteilhaft führen bei der durch 5a veranschaulichten nichtlinearen Substitutionsoperation bereits geringfügige Änderungen der Eingangsdaten i1 von z.B. nur einer Bitstelle b5 i.d.R. zu wesentlich größeren Änderungen der Ausgangsdaten i1‘, bei denen häufig mehrere, bevorzugt mehr als vier, Bitstellen betroffen sind.
  • Die in 5a abgebildete Matrixgleichung ist nur beispielhaft zur Veranschaulichung des Prinzips einer S-BOX angegeben und kann sowohl hinsichtlich der Werte der Elemente M, SV sowie der Dimension der Matrix M bzw. der beteiligten Vektoren i1, SV verändert werden.
  • Besonders vorteilhaft kann eine erfindungsgemäße Funktionseinheit 150a und/oder 150b mit der in 5a abgebildeten Funktionalität einer nichtlinearen Substitutionsoperation ausgestattet werden, wobei denkbar ist, mindestens eine der Komponenten M, SV bzw. ihre Elemente in Abhängigkeit des geheimen ersten bzw. zweiten Schlüssels v1, v2 zu wählen.
  • Bereits die Verwendung einer S-BOX mit einer 8 × 8 Matrix erlaubt eine Signifikante Erschwerung von DPA-Attacken auf die erfindungsgemäße Vorrichtung 100.
  • Eine zu der S-BOX alternative Implementierung für die Transformation durch die Funktionseinheiten 150a, 150b kann vorteilhaft ein linear rückgekoppeltes Schieberegister LFSR aufweisen, vgl. 5b. Das Schieberegister LFSR kann vorteilhaft mit einer Bitfolge initialisiert werden, welche durch eine exklusiv- oder (XOR) Operation zwischen Eingangsdaten i und dem geheimen Schlüssel v1 erhalten wird. D.h., das Ergebnis dieser XOR-Verknüpfung von i2 und v1 wird anfangs in die Zellen des Schieberegisters geschrieben. Durch die Abhängigkeit des auch als „seed value“ bezeichneten Startwerts für das Schieberegister von den Eingangsdaten i, die üblicherweise nichtkonstant sind, ist vorteilhaft eine über der Zeit variierende Initialisierung des Schieberegisters LFSR sichergestellt. Generell ist sowohl ein konstanter als auch ein variabler seed denkbar.
  • Dann kann das Schieberegister LFSR vorteilhaft über eine vorgebbare Anzahl von Takten betrieben werden, wobei sich in an sich bekannter Weise sein Zustand, also die Bitwerte seiner Registerzellen, ändert. Der nach der vorgebbaren Anzahl von Takten in dem Schieberegister LFSR vorliegende Binärwert wird vorteilhaft als Ausgangsdaten i2‘ für die betreffende Funktionseinheit 150a, 150b verwendet.
  • Vorteilhaft an der Schieberegister-basierten Implementierung der Funktionseinheiten 150a, 150b ist die einfache technische Implementierung z.B. mittels CMOS-Technologie und die Tatsache, dass auch das Schieberegister selbst mit wenig Aufwand gegen DPA-Attacken gehärtet werden kann, so dass sogar ein Angriff auf die Funktionseinheit 150a, 150b selbst erschwert werden kann.
  • Die erfindungsgemäß vorgeschlagenen Funktionseinheiten 150a, 150b können also jeweils eine Transformation der ihnen zugeführten Daten ausführen, die z.B. durch eine entsprechende mathematische Funktion beschreibbar ist, vgl. die S-BOX aus 5a und das Schieberegister LFSR aus 5b.
  • Besonders vorteilhaft wird einer entsprechenden mathematischen Funktion f wie sie z.B. der Funktionseinheit 150a zugrunde liegt, mindestens ein zwei-Tupel aus Eingangsgrößen zugeführt, nämlich die Eingangsdaten i der Vorrichtung 100 (1) und der geheime Schlüssel v1. Mathematisch formuliert gilt also für den Ausgabewert y der Funktion f: y = f(i, v1).
  • Besonders vorteilhaft ist die Funktion f z.B. so gewählt, dass sie eine hinreichende „Verwürfelung“ (engl.: „diffusion“) der Bits ihrer Eingangswerte i, v1 erzielt, was beispielsweise durch die Varianten nach 5a, 5b gewährleistet ist.
  • Besonders vorteilhaft ist die Funktion f ferner injektiv, d.h. für jedes i ≠ j gilt f(i, v1) ≠ f(j, v1). Damit ist sichergestellt, dass nur für einen bestimmten Satz Eingangsdaten i (bei gegebenen geheimem Schlüssel v1) ein bestimmter Ausgangswert f(i, v1) erhalten wird. Diese Eigenschaft kann für Signaturzwecke ausgenutzt werden.
  • Um eine Ver- und Entschlüsselung von Daten zu ermöglichen, sollte die Funktion f einer weiteren Ausführungsform zufolge ferner bijektiv sein, also umkehrbar eindeutig, d.h. bei gegebenem Schlüssel v1 gilt: wenn y = f(i, v1), dann existiert auch eine Funktion f–1() derart, dass gilt: i = f–1(y, v1).
  • 6 zeigt ein Flussdiagramm einer Ausführungsform der Erfindung, bei der in einem Sender S einen Klartext repräsentierende Eingangsdaten i zunächst einer ersten erfindungsgemäßen Funktionseinheit 150a zugeführt werden, welche eine Transformation der Eingangsdaten i zu transformierten Ausgangsdaten i‘ auf der Basis eines deterministischen Verfahrens ausführt, z.B. unter Verwendung einer S-BOX (5a) oder eines linear rückgekoppelten Schieberegisters (5b). Das deterministische Verfahren ist vorliegend durch die erste mathematische Funktion f1(i, v) repräsentiert. Die transformierten Ausgangsdaten i‘ werden demnach zu i‘ = f1(i, v) erhalten, wobei v einen geheimen Schlüssel darstellt.
  • Die transformierten Ausgangsdaten i‘ = f1(i, v) werden einer AES-Verschlüsselung 110 unterworfen, wodurch AES-verschlüsselte Ausgangsdaten o = AES(f1(i, v)) erhalten werden. Diese werden einer zweiten Funktionseinheit 150b zugeführt, welche daraus auf der Basis einer zweiten mathematischen Funktion f2(o, v) transformierte Ausgangsdaten o‘ = f2(AES(f1(i, v)), v) bildet. Diese transformierten Ausgangsdaten o‘ sind folglich erfindungsgemäß verschlüsselt und können von dem Sender S z.B. über einen unsicheren Kommunikationskanal K übertragen werden.
  • Ein Empfänger E empfängt die transformierten Ausgangsdaten o‘ und führt sie einer weiteren erfindungsgemäßen Funktionseinheit 150a‘ zu, die vorliegend eine zu der zweiten mathematischen Funktion f2(o, v) inverse Funktion (also Umkehrfunktion) f2 –1() implementiert. Auf diese Weise wird am Ausgang der weiteren erfindungsgemäßen Funktionseinheit 150a‘ ein Ausgangssignal o= AES(f1(i, v)) erhalten, das immer noch AES-verschlüsselt ist. Dieses Ausgangssignal o, das dem Ausgangssignal des AES-Blocks 110 des Senders S entspricht, wird bei dem Empfänger E durch einen inversen AES-Block 110‘ des Empfängers E AES-entschlüsselt, wodurch entschlüsselte Daten i‘ = f1(i, v) erhalten werden. Diese AES-entschlüsselten Daten i‘ werden durch eine weitere Funktionseinheit 150b‘ mittels der Umkehrfunktion f–1() zurückgewandelt in den Klartext i.
  • Zur Vereinfachung wurden bei dem vorstehend beschriebenen Beispiels in beiden Einheiten 150a, 150b bzw. 150a‘, 150b‘ dieselben Schlüssel v benutzt. Gemäß den Erläuterungen zu 1 können in 150a, 150b jedoch auch unterschiedliche geheime Schlüssel verwendet werden.
  • Sowohl der Sender S als auch der Empfänger E sind durch das erfindungsgemäße Prinzip der Funktionseinheit(en) 150a, .. vorteilhaft DPA-gehärtet.
  • Es ist denkbar, dass eine Ausführungsform der erfindungsgemäßen Vorrichtung 100 (1) die Funktionalität beider Gruppen von Komponenten 150a, 110, 150b und 150a‘, 110‘, 150b‘ realisieren kann, so dass sowohl Sender S als auch Empfänger E über identische erfindungsgemäße Vorrichtungen 100 verfügen können, die je nach Anwendungsfall (senden, empfangen) unterschiedliche Betriebsarten zur Implementierung der jeweiligen Funktionen aufweisen.
  • Wie bereits angesprochen, kann die Kryptographieeinheit 140 (1) beispielsweise dazu ausgebildet sein, eine kryptographische Primitive wie beispielsweise einen Blockcode auszuführen, es ist jedoch auch möglich, einen vollständigen Verschlüsselungsalgorithmus beziehungsweise Entschlüsselungsalgorithmus (zum Beispiel vom AES-Typ) zu realisieren.
  • Um die kryptographische Primitive in der Kryptographieeinheit 140 zu attackieren, muss ein Angreifer zunächst den geheimen Schlüssel v1, v2 extrahieren, mithin die mathematische Funktion, die den Funktionseinheiten 150a, 150b zu Grunde liegt, erfolgreich angreifen. Solange der geheime Schlüssel v1, v2 unbekannt ist, mithin die erfindungsgemäß verarbeiteten Größen i', o' nicht durch den Angreifer ermittelbar sind, kann der Angreifer die Schlüssel v1, v2 nicht angreifen. Daher kann der Angreifer auch keine erfolgreiche Seitenkanalattacke auf die Kryptograhieeinheit 140 starten.
  • Bei einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass die Vorrichtung 100 über zusätzliche Logik (nicht gezeigt) verfügt, welche Fehler bei der Abarbeitung der deterministischen Verfahren durch die Funktionseinheiten 150a, 150b erkennt und beispielsweise die Kryptographieeinheit 140 stilllegt, weil in diesem Fall auf einen Manipulationsversuch geschlossen wird.
  • Die erfindungsgemäß vorgeschlagenen Funktionseinheiten 150a, 150b können hinsichtlich ihrer Implementierung auch mit bereits bekannten DPA-Härtungs-(DPA-hardening)-Verfahren kombiniert werden, um die Sicherheit weiter zu steigern. Insgesamt weist die erfindungsgemäße Vorrichtung 100 eine gesteigerte Sicherheit gegenüber DPA-Angriffen auf, weil vermöge der durch die Funktionseinheit(en) 150a, 150b realisierten Transformation(en) weitaus mehr Hypothesen im Rahmen einer DPA-Analyse getestet werden müssen als bei herkömmlichen Systemen.
  • Darüber hinaus kann die erfindungsgemäß erzielte Steigerung der Sicherheit vorteilhaft sehr einfach skaliert werden, indem die „Datenbreite“ der durch die Funktionseinheit(en) 150a, 150b realisierten Transformation(en) bzw. der zugrundeliegenden mathematischen Funktionen vergrößert wird. Bei einer Datenbreite der Funktion f1, f2 von 128 bit z.B. muss ein Angreifer 2^128 DPA-Hypothesen testen, was mit derzeit und wenigstens in naher Zukunft verfügbarer Rechenleistung nicht bewerkstelligbar ist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7599488 B2 [0003]
  • Zitierte Nicht-Patentliteratur
    • http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf [0041]

Claims (13)

  1. Vorrichtung (100) zur Ausführung eines kryptographischen Verfahrens (110), wobei die Vorrichtung eine Eingangsschnittstelle (120) zum Empfang von Eingangsdaten (i) und eine Ausgangsschnittstelle (130) zur Ausgabe von Ausgangsdaten (o) aufweist, sowie eine Kryptographieeinheit (140) zur Ausführung des kryptographischen Verfahrens (110), dadurch gekennzeichnet, dass eine erste Funktionseinheit (150a) vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil der Eingangsdaten (i) unter Anwendung eines ersten deterministischen Verfahrens in transformierte Eingangsdaten (i‘) zu überführen und die transformierten Eingangsdaten (i‘) der Kryptographieeinheit (140) zuzuführen, und/oder dass eine zweite Funktionseinheit (150b) vorgesehen ist, die dazu ausgebildet ist, wenigstens einen Teil von Ausgangsdaten (o‘) der Kryptographieeinheit (140) unter Anwendung eines zweiten deterministischen Verfahrens in transformierte Ausgangsdaten (o) zu überführen und die transformierten Ausgangsdaten (o) der Ausgangsschnittstelle (130) zuzuführen.
  2. Vorrichtung (100) nach Anspruch 1, wobei die erste Funktionseinheit (150a) dazu ausgebildet ist, eine Transformation des wenigstens einen Teils der Eingangsdaten (i) in Abhängigkeit von wenigstens einem ersten geheimen Schlüssel (v1) auszuführen.
  3. Vorrichtung (100) nach einem der Ansprüche 1 oder 2, wobei die zweite Funktionseinheit (150b) dazu ausgebildet ist, eine Transformation des wenigstens einen Teils der Ausgangsdaten (o‘) in Abhängigkeit von wenigstens einem zweiten geheimen Schlüssel (v2) auszuführen.
  4. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei das erste und/oder zweite deterministische Verfahren jeweils auf einer mathematischen Funktion beruht, wobei die mathematische Funktion injektiv oder bijektiv ist, und wobei vorzugsweise das erste deterministische Verfahren und das zweite deterministische Verfahren auf derselben mathematischen Funktion beruhen.
  5. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei das erste und/oder zweite deterministische Verfahren eine Transformation umfasst, bei der eine Änderung einer Binärziffer der Eingangsdaten (i) bzw. der Ausgangsdaten (o‘) die Änderung von mehr als einer Binärziffer der transformierten Eingangsdaten (i‘) bzw. der transformierten Ausgangsdaten (o) zur Folge hat, insbesondere die Änderung von mehr als vier Binärziffern der transformierten Eingangsdaten (i‘) bzw. der transformierten Ausgangsdaten (o).
  6. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Kryptographieeinheit (140) und die erste Funktionseinheit (150a) und die zweite Funktionseinheit (150b) jeweils in einem integrierten Schaltkreis (IC) implementiert sind, vorzugsweise in demselben integrierten Schaltkreis (IC).
  7. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die erste Funktionseinheit (150a) und/oder die zweite Funktionseinheit (150b) jeweils ein linear rückgekoppeltes Schieberegister (152) und/oder eine Einheit zur Ausführung einer nichtlinearen Substitutionsoperation (154) aufweisen.
  8. Vorrichtung (100) nach einem der vorstehenden Ansprüche, wobei die Kryptographieeinheit (140) dazu ausgebildet ist, die transformierten Eingangsdaten (i‘) zu verschlüsseln und/oder zu entschlüsseln, insbesondere nach dem Advanced Encryption Standard, AES.
  9. Verfahren zum Betreiben einer Vorrichtung (100) zur Ausführung eines kryptographischen Verfahrens (110), wobei die Vorrichtung eine Eingangsschnittstelle (120) zum Empfang von Eingangsdaten (i) und eine Ausgangsschnittstelle (130) zur Ausgabe von Ausgangsdaten (o) aufweist, sowie eine Kryptographieeinheit (140) zur Ausführung des kryptographischen Verfahrens (110), dadurch gekennzeichnet, dass mittels einer ersten Funktionseinheit (150a) wenigstens ein Teil der Eingangsdaten (i) unter Anwendung eines ersten deterministischen Verfahrens in transformierte Eingangsdaten (i‘) überführt wird (400) und die transformierten Eingangsdaten (i‘) der Kryptographieeinheit (140) zugeführt werden (410), und/oder dass mittels einer zweiten Funktionseinheit (150b) wenigstens ein Teil der Ausgangsdaten (o‘) der Kryptographieeinheit (140) unter Anwendung eines zweiten deterministischen Verfahrens in transformierte Ausgangsdaten (o) überführt wird (420) und die transformierten Ausgangsdaten (o) der Ausgangsschnittstelle (130) zugeführt werden (430).
  10. Verfahren nach Anspruch 9, wobei die erste Funktionseinheit (150a) eine Transformation des wenigstens einen Teils der Eingangsdaten (i) in Abhängigkeit von wenigstens einem ersten geheimen Schlüssel (v1) ausführt.
  11. Verfahren nach einem der Ansprüche 9 bis 10, wobei die zweite Funktionseinheit (150b) eine Transformation des wenigstens einen Teils der Ausgangsdaten (o‘) in Abhängigkeit von wenigstens einem zweiten geheimen Schlüssel (v2) ausführt.
  12. Verfahren nach einem der Ansprüche 9 bis 11, wobei das erste und/oder zweite deterministische Verfahren jeweils auf einer mathematischen Funktion beruht, wobei die mathematische Funktion injektiv oder bijektiv ist, und wobei vorzugsweise das erste deterministische Verfahren und das zweite deterministische Verfahren auf derselben mathematischen Funktion beruhen.
  13. Verfahren nach einem der Ansprüche 9 bis 12, wobei die erste Funktionseinheit (150a) und/oder die zweite Funktionseinheit (150b) jeweils mindestens ein linear rückgekoppeltes Schieberegister (152) und/oder eine Einheit zur Ausführung einer nichtlinearen Substitutionsoperation (154) verwenden.
DE102012209404A 2012-06-04 2012-06-04 Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür Pending DE102012209404A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102012209404A DE102012209404A1 (de) 2012-06-04 2012-06-04 Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür
US13/904,518 US9430656B2 (en) 2012-06-04 2013-05-29 Device for carrying out a cryptographic method, and operating method for same
FR1355049A FR2991477B1 (fr) 2012-06-04 2013-06-03 Dispositif pour appliquer un procede cryptographique et procede de gestion du dispositif
CN201310215571.2A CN103455446B (zh) 2012-06-04 2013-06-03 用于实施加密方法的设备及对此的运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102012209404A DE102012209404A1 (de) 2012-06-04 2012-06-04 Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür

Publications (1)

Publication Number Publication Date
DE102012209404A1 true DE102012209404A1 (de) 2013-12-05

Family

ID=49579494

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012209404A Pending DE102012209404A1 (de) 2012-06-04 2012-06-04 Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür

Country Status (4)

Country Link
US (1) US9430656B2 (de)
CN (1) CN103455446B (de)
DE (1) DE102012209404A1 (de)
FR (1) FR2991477B1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014213071A1 (de) 2014-07-04 2016-01-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verarbeitung von Daten
EP3056706A1 (de) 2015-02-16 2016-08-17 Honeywell International Inc. Ansatz zur nachbehandlungssystemmodellierung und modellidentifizierung
DE102015209123A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Recheneinrichtung und Betriebsverfahren hierfür
EP3125052B1 (de) 2015-07-31 2020-09-02 Garrett Transportation I Inc. Quadratischer programmlöser für mpc mit variabler anordnung
US10272779B2 (en) 2015-08-05 2019-04-30 Garrett Transportation I Inc. System and approach for dynamic vehicle speed optimization
US10728249B2 (en) 2016-04-26 2020-07-28 Garrett Transporation I Inc. Approach for securing a vehicle access port
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
CN106407134B (zh) * 2016-09-13 2019-03-29 重庆大学 一种提高嵌入式系统固态硬盘存储可信性的方法及系统
CN106548806B (zh) * 2016-10-13 2019-05-24 宁波大学 一种能够防御dpa攻击的移位寄存器
DE102016222617A1 (de) * 2016-11-17 2018-05-17 Siemens Aktiengesellschaft Schutzvorrichtung und Netzwerkverkabelungsvorrichtung zur geschützten Übertragung von Daten
US11199120B2 (en) 2016-11-29 2021-12-14 Garrett Transportation I, Inc. Inferential flow sensor
EP3649558B8 (de) * 2017-07-06 2024-04-17 Chromaway AB Verfahren und system für ein verteiltes datenverarbeitungssystem
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599488B2 (en) 1998-01-02 2009-10-06 Cryptography Research, Inc. Differential power analysis

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US7383570B2 (en) * 2002-04-25 2008-06-03 Intertrust Technologies, Corp. Secure authentication systems and methods
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
EP1646174A1 (de) * 2004-10-07 2006-04-12 Axalto SA Verfahren und Vorrichtung zur automatischen Generierung eines Kryptographisch Instruktionsatz und Codegenerierung
US7826611B2 (en) * 2005-10-17 2010-11-02 Palo Alto Research Center Incorporated System and method for exchanging a transformed message with enhanced privacy
CN100586063C (zh) * 2006-06-05 2010-01-27 中国电信股份有限公司 用于以太网数据的三重搅动方法
CN101196965A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击高级加密标准的加密芯片的算法
FR2941342B1 (fr) * 2009-01-20 2011-05-20 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve.
US8589700B2 (en) * 2009-03-04 2013-11-19 Apple Inc. Data whitening for writing and reading data to and from a non-volatile memory
CN101877634B (zh) * 2009-04-28 2013-10-09 华为技术有限公司 以太网无源光网络系统的数据加密和解密方法及设备
FR2949010A1 (fr) * 2009-08-05 2011-02-11 St Microelectronics Rousset Procede de contremesure pour proteger des donnees memorisees
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
FR2966953B1 (fr) * 2010-11-02 2015-08-28 St Microelectronics Rousset Procede de contremesure cryptographique par derivation d'une donnee secrete
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
US8787564B2 (en) * 2011-11-30 2014-07-22 Certicom Corp. Assessing cryptographic entropy

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599488B2 (en) 1998-01-02 2009-10-06 Cryptography Research, Inc. Differential power analysis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf

Also Published As

Publication number Publication date
FR2991477A1 (fr) 2013-12-06
FR2991477B1 (fr) 2018-04-20
US9430656B2 (en) 2016-08-30
CN103455446A (zh) 2013-12-18
US20130326232A1 (en) 2013-12-05
CN103455446B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
DE102012209404A1 (de) Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür
EP3219043B1 (de) Gehärtete white box implementierung 1
EP2605445B1 (de) Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
EP2433241B1 (de) Verschlüsselungsverfahren
DE60314055T2 (de) Verschlüsselung und Entschlüsselung in einem Schaltkreis, bei der eine nichtlineare Transformation wie die SUBBYTE-Operation maskiert wird
EP2742643A1 (de) Vorrichtung und verfahren zum entschlüsseln von daten
WO2008096004A1 (de) Reduktion von seiten-kanal-informationen durch interagierende krypto-blocks
DE102011081421A1 (de) System zur sicheren Übertragung von Daten und Verfahren
DE102009000869A1 (de) Verfahren und Vorrichtung zur manipulationssicheren Übertragung von Daten
DE102010037784B4 (de) Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online Diensten
EP3369205B1 (de) Alternative darstellung des krypto-algorithmus des
CN102523085A (zh) 数据加密方法、装置及智能卡
DE102012219205A1 (de) Vorrichtung und Verfahren zur Ausführung eines kryptographischen Verfahrens
Pan et al. A new algorithm of image encryption based on 3D Arnold Cat
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
EP3371733B1 (de) Verschlüsseln des speicherinhalts eines speichers in einem eingebetteten system
EP1915718A2 (de) Verfahren zur absicherung der authentisierung eines tragbaren datenträgers gegen ein lesegerät über einen unsicheren kommunikationsweg
DE102004006570A1 (de) Verschlüsselungs- und Entschlüsselungssystem auf der Basis eines Blockverschlüsselungsalgorithmus unter zusätzlicher Verwendung eines neuen Verfahrens zur Berechnung von Einmalschlüsseln auf fraktaler Basis
Razzaq et al. Strong key machanism generated by LFSR based Vigenère cipher
Hsiao et al. A novel fingerprint image encryption algorithm based on chaos using APFM nonlinear adaptive filter
Jolfaei Comments on an image encryption scheme based on a chaotic Tent map
DE19960047B4 (de) Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem
Fernando et al. Review on Realization of AES 256bit Encryption with Raspberry Pi
DE202021105811U1 (de) Ein leichtgewichtiges Blockverschlüsselungssystem für extrem ressourcenbeschränkte IoT-Geräte
DE10360343A1 (de) Tragbarer Datenträger

Legal Events

Date Code Title Description
R012 Request for examination validly filed