DE60036928T2 - Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel - Google Patents

Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel Download PDF

Info

Publication number
DE60036928T2
DE60036928T2 DE60036928T DE60036928T DE60036928T2 DE 60036928 T2 DE60036928 T2 DE 60036928T2 DE 60036928 T DE60036928 T DE 60036928T DE 60036928 T DE60036928 T DE 60036928T DE 60036928 T2 DE60036928 T2 DE 60036928T2
Authority
DE
Germany
Prior art keywords
random value
round
output
data
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60036928T
Other languages
English (en)
Other versions
DE60036928D1 (de
Inventor
Olivier Benoit
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
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 Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Publication of DE60036928D1 publication Critical patent/DE60036928D1/de
Application granted granted Critical
Publication of DE60036928T2 publication Critical patent/DE60036928T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Credit Cards Or The Like (AREA)
  • Measurement Of Resistance Or Impedance (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Gegenmaßnahme-Verfahren in einer elektronischen Komponente, die einen Verschlüsselungsalgorithmus mit Geheimschlüssel verwendet. Sie werden in Anwendungen verwendet, bei denen der Zugriff auf Dienste oder Daten streng kontrolliert wird. Sie haben eine um einen Mikroprozessor gebildete Architektur und Speicher, darunter einen Programmspeicher, der den Geheimschlüssel enthält.
  • Diese Komponenten werden insbesondere in Chipkarten verwendet, für bestimmte Anwendungen derselben. Dabei handelt es sich beispielsweise um Zugriffsanwendungen auf bestimmte Datenbanken, Bankanwendungen, Fernzahlungsanwendungen, zum Beispiel für das Fernsehen, zum Tanken oder auch für Autobahn-Mautstellen.
  • Diese Komponenten oder Karten verwenden demnach einen Verschlüsselungsalgorithmus mit Geheimschlüssel, wovon der bekannteste der Algorithmus DES (für Data Encryption Standard in der angelsächsischen Literatur) ist. Es gibt andere Algorithmen mit Geheimschlüssel, wie der Algorithmus RC5 oder auch der Algorithmus COMP128. Diese Liste ist selbstverständlich nicht erschöpfend.
  • Im Allgemeinen und zusammengefasst haben diese Algorithmen die Aufgabe, eine chiffrierte Meldung ab einer auf den Eingang (der Karte) eines Host-Systems (Server, Geldautomat ...) angewendeten Meldung und dem in der Karte enthaltenen Geheimschlüssel zu errechnen und diese chiffrierte Meldung an das Host-System zurückzusenden, was dem Host-System beispielsweise ermöglicht, die Komponente oder die Karte zu authentifizieren, Daten auszutauschen, ...
  • Es hat sich jedoch gezeigt, dass diese Komponenten oder Karten anfällig sind gegen Attacken, die in einer differentialen Analyse des Stromverbrauchs bestehen und es betrügerischen Dritten ermöglichen, den Geheimschlüssel zu finden. Diese Attacken werden Attacken DPA, angelsächsisches Akronym für Differential Power Analysis, genannt.
  • Das Prinzip dieser Attacken DPA beruht auf der Tatsache, dass der Stromverbrauch des die Anweisungen ausführenden Mikroprozessors je nach behandelter Größe schwankt.
  • Insbesondere erzeugt eine ein Datenbit behandelnde Anweisung des Mikroprozessors zwei verschiedene Stromprofile, je nachdem ob dieses Bit „0" oder „1" beträgt. Wenn die Anweisung eine „0" behandelt, hat man typischerweise zu diesem Zeitpunkt der Ausführung eine erste Amplitude des verbrauchten Stroms, und wenn die Anweisung eine „1" behandelt, hat man eine zweite Amplitude des verbrauchten Stroms, die sich von der ersten unterscheidet.
  • Diese Merkmale der Verschlüsselungsalgorithmen sind bekannt: durchgeführte Rechnungen, verwendete Parameter. Die einzige Unbekannte ist der in dem Programmspeicher enthaltene Geheimschlüssel. Er kann nicht von der einzigen Kenntnis der am Eingang anliegenden Meldung und der chiffrierten Rückmeldung abgeleitet werden.
  • Bei einem Verschlüsselungsalgorithmus hängen bestimmte errechnete Daten nur von der am Eingang der Karte in Klarschrift anliegenden Meldung und von dem in der Karte enthaltenen Geheimschlüssel ab. Andere, in dem Algorithmus errechnete Daten können ebenfalls neu errechnet werden, nur ab der chiffrierten Meldung (die im Allgemeinen in Klarschrift am Ausgang der Karte an das Host-System geliefert wird) und dem in der Karte enthaltenen Geheimschlüssel. Genauer gesagt kann jedes Bit dieser besonderen Daten ab der Eingangs- oder der Ausgangsmeldung und ab einer begrenzten Anzahl von besonderen Bits des Schlüssels ermittelt werden.
  • Demnach entspricht jedem Bit einer besonderen Größe ein von einer besonderen Bitgruppe des Schlüssels gebildeter Unterschlüssel.
  • Die Bits dieser besonderen Daten, die vorausgesagt werden können, werden nachfolgend Zielbits genannt.
  • Die Grundidee der Attacke DPA ist also, die Differenz des Stromverbrauchsprofils einer Anweisung zu verwenden, je nachdem ob sie eine „1" oder eine „0" behandelt, und die Möglichkeit, ein Zielbit durch die Anweisungen des Algorithmus ab einer bekannten Eingangs- oder Ausgangsmeldung und einer Hypothese bezüglich des entsprechenden Unterschlüssels zu errechnen.
  • Das Prinzip der Attacke DPA besteht demnach darin, eine Hypothese eines gegebenen Unterschlüssels zu testen, indem man auf eine große Anzahl von Strommessungskurven, die jeweils eine vom Angreifer bekannte Eingangsmeldung betreffen, eine boolesche Wahlfunktion anwendet, die von der Unterschlüssel-Hypothese abhängig ist und für jede Kurve durch den für ein Zielbit vorausgesagten Wert definiert wird.
  • Durch eine Hypothese für den betroffenen Unterschlüssel kann man in der Tat den Wert „0" oder „1" voraussagen, den dieses Zielbit für eine gegebene Eingags- oder Ausgangsmeldung annehmen wird.
  • Als boolesche Wahlfunktion kann man also den vorausgesagten Wert „0" oder „1" durch das Zielbit für die betrachtete Unterschlüssel-Hypothese anwenden, um diese Kurven in zwei Pakete zu sortieren: ein erstes Paket umfasst die Kurven, bei denen das Zielbit bei „0" behandelt wurde, und ein zweites Paket umfasst die Kurven, bei denen das Zielbit bei „1" behandelt wurde, gemäß der Unterschlüssel-Hypothese. Ermittelt man den Durchschnitt des Stromverbrauchs in jedem Paket, erhält man eine mittlere Verbrauchskurve M0(t) für das erste Paket und eine mittlere Verbrauchskurve M1(t) für das zweite Paket.
  • Wenn die Unterschlüssel-Hypothese richtig ist, umfasst das erste Paket tatsächlich alle Kurven unter den N Kurven, bei denen das Zielbit bei „0" behandelt wurde, und das zweite Paket umfasst tatsächlich alle Kurven unter den N Kurven, bei denen das Zielbit bei „1" behandelt wurde. Die mittlere Verbrauchskurve M0(t) des ersten Pakets hat dann überall einen mittleren Verbrauch, außer während der Ausführung der kritischen Anweisungen, mit einem charakteristischen Stromverbrauchsprofil für die Behandlung des Zielbits bei „0" (profil0). Anders ausgedrückt, bei allen diesen Kurven hatten alle behandelten Bits die gleichen Chancen, „0" wie auch „1" zu betragen, außer das Zielbit, das immer den Wert „0" hatte. Das kann man folgendermaßen schreiben: M0(t) = [(profil0 + profil1)/2]t#tci + [profil0]tci,d. h. M0(t) = [vmt]t#tci + [profil0]tci,wobei tci die kritischen Momente darstellt, an denen eine kritische Anweisung ausgeführt wurde.
  • Gleichfalls entspricht die mittlere Verbrauchskurve M1(t) des zweiten Pakets einem mittleren Verbrauch, außer während der Ausführung der kritischen Anweisungen, mit einem charakteristischen Stromverbrauchsprofil für die Behandlung des Zielbits bei „1" (profil1).
  • Man kann schreiben: M1(t) = [(profil0 + profil1)/2]t#tci + [profil1]tci,d. h. M1(t) = [vmt]t#tci + [profil1]tci.
  • Es ist ersichtlich, dass die beiden Profile profil0 und profil1 nicht gleich sind. Die Differenz der Kurven M0(t) und M1(t) ergibt dann ein Signal DPA(t), dessen Amplitude an den kritischen Momenten tci der Ausführung der kritischen, dieses Bit behandelnden Anweisungen gleich profil0 – profil1 ist, d. h. bei dem in 1 dargestellten Beispiel an den Stellen tc0 bis tc6, und dessen Amplitude außerhalb der kritischen Momente etwa gleich Null ist.
  • Ist die Unterschlüssel-Hypothese falsch, entspricht die Sortierung nicht der Realität. Statistisch gesehen befinden sich in jedem Paket so viele Kurven, bei denen das Zielbit tatsächlich bei „0" behandelt wurde, wie Kurven, bei denen das Zielbit bei „1" behandelt wurde. Die resultierende mittlere Kurve M0(t) liegt dann bei einem mittleren Wert, angegeben von (profil0 + profil1)/2 = Vm, da bei jeder der Kurven alle behandelten Bits, einschließlich das Zielbit, die gleichen Chancen haben, sowie „0" als auch „1" zu betragen.
  • Die gleiche Beweisführung an dem zweiten Paket ergibt eine mittlere Stromverbrauchskurve M1(t), deren Amplitude bei einem mittleren Wert angegeben von (profil0 + profil1)/2 = Vm liegt.
  • Das von der Differenz M0(t) – M1(t) gelieferte Signal DPA(t) beträgt in diesem Fall etwa Null. Das Signal DPA(t) im Fall einer falschen Unterschlüssel-Hypothese ist in 2 dargestellt.
  • Demnach verwertet die Attacke DPA die Differenz des Stromverbrauchprofils während der Ausführung einer Anweisung gemäß dem Wert des behandelten Bits, um Stromverbrauchskurven gemäß einer booleschen Wahlfunktion für eine gegebene Unterschlüssel-Hypothese zu sortieren. Durch eine differentielle Analyse des mittleren Stromverbrauchs zwischen den beiden erhaltenen Kurvenpaketen erhält man ein Informationssignal DPA(t).
  • Eine Attacke DPA verläuft dann im Großen und Ganzen wie folgt:
    • a – N zufällige Meldungen ziehen (zum Beispiel N gleich 1000);
    • b – die Karte für jede der N zufälligen Meldungen einen Algorithmus ausführen lassen, wobei die Stromverbrauchskurve jedes Mal gemessen wird (an der Versorgungsklemme der Komponente);
    • c – eine Unterschlüssel-Hypothese machen;
    • d – für jede der zufälligen Meldungen den für einen der Zielbits genommenen Wert voraussagen, dessen Wert nur von den Bits der (Eingangs- oder Ausgangs-)Meldung und von dem hypothetischen Unterschlüssel abhängig ist, um die boolesche Wahlfunktion zu erhalten;
    • e – die Kurven entsprechend dieser booleschen Wahlfunktion sortieren (d. h. gemäß dem Wert „0" oder „1", der für dieses Zielbit für jede Kurve bei der Unterschlüssel-Hypothese vorausgesagt wurde);
    • f – in jedem Paket die resultierende mittlere Stromverbrauchskurve errechnen;
    • g – die Differenz zwischen diesen mittleren Kurven machen, um das Signal DPA(t) zu erhalten.
  • Ist die Hypothese bezüglich des Unterschlüssels richtig, ist auch die boolesche Wahlfunktion richtig, und die Kurven des ersten Pakets entsprechen tatsächlich den Kurven, für die die am Eingang oder am Ausgang angelegte Meldung ein Zielbit bei „0" in der Karte ergeben hat, und die Kurven des zweiten Pakets entsprechen tatsächlich den Kurven, für die die am Eingang oder am Ausgang angelegte Meldung ein Zielbit bei „1" in der Karte ergeben hat.
  • Man befindet sich im Fall der 1: das Signal DPA(t) ist demnach nicht Null an den Momenten tc0 bis tc6, die der Ausführung der kritischen Anweisungen (die das Zielbit behandeln) entsprechen.
  • Man bemerkt, dass der Angreifer die kritischen Momente nicht unbedingt genau kennen muss. Es reicht aus, wenn es während der Erfassungsperiode mindestens einen kritischen Moment gibt.
  • Ist die Unterschlüssel-Hypothese falsch, entspricht die Sortierung nicht der Realität, und man hat dann in jeder Kurve genauso viele Kurven, die in Wirklichkeit einem Zielbit bei „0" entsprechen, wie auch Kurven, die einem Zielbit bei „1" entsprechen. Das Signal DPA(t) beträgt überall etwa Null (in 2 dargestellter Fall).
  • Sollte die Hypothese richtig sein, kann man andere Unterschlüssel auswerten, bis der Schlüssel maximal wiederhergestellt ist. Mit einem Algorithmus DES verwendet man beispielsweise einen Schlüssel von 64 Bits, darunter nur 56 nützliche Bits. Bei einer Attacke DPA kann man mindestens 48 der 56 nützlichen Bits wiederherstellen.
  • Zwei Unterlagen bezüglich des technologischen Hintergrundes werden nachstehend genannt. Es handelt sich um die Unterlagen NAKAO Y ET AL: „THE SECURITY OF AN RDES CRYPTOSYSTEM AGAINST LINEAR CRYPTANALYSIS", IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS, COMMUNICATION AND COMPUTER SCIENCES, JP, INSTITUTE OF ELECTRONICS INFORMATION AND COMM.ENG.TOKYO, Vol.E79-A, Nr. 1, Seiten 12–19 XP000558714 ISSN: 0916-8508, Aktenzeichen D1 und WO 00 27068 , Aktenzeichen D2.
  • Die Unterlage D1 betrifft ein Kryptosystem, das zur Sicherung den DES verwendet.
  • Die Unterlage D2 betrifft eine elektronische Komponente, die einen Algorithmus mit Geheimschlüssel verwendet; die Verwendung dieses Algorithmus umfasst die Benutzung erster Mittel ab einer Eingangsgröße (E), um eine Ausgangsgröße zu liefern.
  • Das Ziel der vorliegenden Erfindung besteht darin, in einer elektronischen Komponente ein Gegenmaßnahme-Verfahren gegen Attacken durch differentielle Analyse, die zu einem Signal DPA(t) führt, selbst wenn die Unterschlüssel-Hypothese richtig ist, zu verwenden.
  • In dieser Weise kann man den Fall der richtigen Unterschlüssel-Hypothese nicht von den Fällen von falschen Unterschlüssel-Hypothesen unterscheiden. Dank dieser Gegenmaßnahme ist die elektronische Komponente gegen Attacken DPA gerüstet.
  • Aus dem französischen Antrag FR 2 785 477 , veröffentlicht am 5. Mai 2000 von der Firma GEMPLUS, und dessen gesamter Inhalt fester Bestandteil des vorliegenden Antrags ist, ist bekannt, dass es nicht ausreicht zu veranlassen, dass das Signal DPA(t) gleich Null in Bezug auf ein gegebenes Zielbit ist.
  • Wenn man nämlich den für mehrere Zielbits einer gleichen von den kritischen Anweisungen behandelten Größe genommenen Wert betrachtet, so muss man die Kurven nicht mehr in zwei sondern in mehrere Pakete sortieren. Es besteht keine binäre Wahlfunktion mehr. Es hat sich erwiesen, dass wenn man dann diese Pakete auf die eine oder die andere Weise zusammenfasst, man im Fall einer richtigen Unterschlüssel-Hypothese ein Signal DPA(t) nicht Null erhalten kann, während es Null gewesen wäre, wenn man es gemäß einer binären Wahlfunktion an einem einzigen Zielbit sortiert hätte.
  • Nehmen wir beispielsweise zwei Zielbits einer gleichen Größe. Diese beiden Zielbits können die 22 folgenden Werte annehmen: „00", „01", „10" und „11".
  • Bei Anwendung der Wahlfunktion auf N = 1000 gemessene Stromverbrauchskurven erhält man vier Kurvenpakete. Wenn die Sortierung richtig ist, entspricht ein erstes Paket von etwa 250 Kurven dem Wert „00, ein zweites Paket von etwa 250 Kurven dem Wert „01", ein drittes Paket von etwa 250 Kurven dem Wert „10" und ein viertes Paket von etwa 250 Kurven dem Wert „11".
  • Wenn man das erste und vierte Paket in einer ersten Gruppe und das zweite und dritte Paket in einer zweiten Gruppe zusammenfasst, erhält man zwei Gruppen, die nicht gleichwertig sind.
  • In der ersten Gruppe haben die beiden Bits die gleichen Chancen, „00" wie auch „11" zu betragen. Der mittlere Wert an den kritischen Momenten aller Verbrauchskurven dieser Gruppe kann wie folgt lauten: M1(tci) = [Verbrauch(„00") + Verbrauch(„11")]/2.
  • In der zweiten Gruppe haben die beiden Bits die gleichen Chancen, „01" wie auch „10” zu betragen. Der mittlere Wert an den kritischen Momenten aller Verbrauchskurven dieser Gruppe kann wie folgt lauten: M2(tci) = [Verbrauch(„01") + Verbrauch(„10")]/2.
  • Macht man die Differenz zwischen diesen beiden Mittelwerten, erhält man ein Signal DPA(t) nicht Null. Anders ausgedrückt, die beiden Gruppen, deren mittleren Verbrauch man vergleicht, haben keinen gleichwertigen Inhalt.
  • In dem oben genannten französischen Antrag wurde vorgeschlagen, den Erhalt eines beliebigen signifikanten Signals im Sinn der Attacke DPA zu verhindern. Bei jeder beliebigen angenommenen Anzahl von Zielbits, bei jeder Verknüpfung von Paketen für die Durchführung des Vergleichs des mittleren Verbrauchs, wird das Signal DPA(t) stets Null sein. Dafür braucht man gleichwertige Pakete bei jeder beliebigen Anzahl von betrachteten Zielbits.
  • Um diese verschiedenen technischen Probleme zu lösen, schlägt der oben genannte französische Antrag vor, einen Zufallswert in einer Operation ODER EXKLUSIV zu verwenden, mit mindestens den Ausgangsdaten der in dem Algorithmus verwendeten Rechenmittel.
  • Dank der Verwendung eines derartigen Zufallswertes werden die von den kritischen Anweisungen behandelten Daten unvoraussagbar, wobei man am Ausgang des Algorithmus ein richtiges Resultat erhält.
  • Bei der Erfindung hat man jedoch bemerkt, dass ebenfalls erfolgreiche Attacken stattfinden können an ganz bestimmten Stellen bei der Ausführung des Algorithmus, insbesondere am Eingang und am Ausgang des Algorithmus.
  • Der Gegenstand der vorliegenden Erfindung ist ein Gegenmaßnahme-Verfahren, bei dem diese Attacken ebenfalls unmöglich gemacht werden. Erfindungsgemäß verwendet man einen zweiten Zufallswert, der auf die Eingangsparameter des Verschlüsselungsalgorithmus angewendet wird, in einer Operation ODER EXKLUSIV. Dieser zweite Zufallswert verbreitet sich in dem gesamten Algorithmus, so dass die Daten, die nicht von dem ersten Zufallswert geschützt waren, von dem zweiten geschützt werden.
  • Demnach sind die Daten erfindungsgemäß je nach der Stelle, an der man sich im Algorithmus befindet, entweder von dem ersten oder von dem zweiten Zufallswert oder von einer Verknüpfung dieser beiden Zufallswerte geschützt.
  • Gemäß den Merkmalen betrifft die Erfindung demzufolge ein Gegenmaßnahme-Verfahren in einer elektronischen Komponente, die einen Verschlüsselungsalgorithmus mit Geheimzahl verwendet, wobei die Verwendung mehrere aufeinander folgende Rechenrunden umfasst, um ab ersten auf die erste Runde angewendeten Eingangsdaten am Ausgang der letzten Runde Enddaten zu liefern, die die Erstellung einer chiffrierten Meldung ermöglichen, wobei jede Rechenrunde Rechenmittel verwendet, um eine Ausgangsgröße ab einer Eingangsgröße zu liefern, wobei die genannten Rechenmittel die Anwendung eines ersten Zufallswertes (u) umfassen, um am Ausgang eine unvoraussagbare Größe zu erhalten, dadurch gekennzeichnet, dass das Verfahren die Verwendung der Anwendungsmittel eines zweiten Zufallsmittels auf die genannten ersten Eingangsdaten gemäß einer Operation ODER EXKLUSIV umfasst.
  • Andere Merkmale und Vorteile der Erfindung sind ausführlicher in der nachfolgenden, zur Information dienenden und keineswegs begrenzenden Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen angegeben, in denen:
  • 1 und 2, die bereits beschrieben wurden, das Signal DPA(T) darstellen, das man gemäß einer Hypothese an einem Unterschlüssel des Geheimschlüssels K bei einer Attacke DPA erhalten kann;
  • 3 und 4 detaillierte Organigramme der ersten und zweiten Runde des Algorithmus DES gemäß dem Stand der Technik zeigen;
  • 5 ein Blockschema der Operation SBOX ist, die in dem in 3 und 4 dargestellten Algorithmus DES verwendet wird;
  • 6 ein Beispiel einer elementaren Konstantentabelle an einem Eingang und einem Ausgang zeigt, die bei der in 5 dargestellten Operation SBOX verwendet wird;
  • 7 und 8 jeweils ein Ausführungsorganigramm des DES und ein detailliertes Organigramm der ersten Runden darstellen, die einem Anwendungsbeispiel des Gegenmaßnahme-Verfahrens gemäß dem Stand der Technik entsprechen;
  • 9 ein Ausführungsorganigramm des DES gemäß der Erfindung darstellt;
  • 10 ein vereinfachtes Blockschema einer Chipkarte darstellt, mit einer elektronischen Komponente, in der das erfindungsgemäße Gegenmaßnahme-Verfahren verwendet wird.
  • Zum besseren Verständnis der Erfindung wird zunächst der normale Verschlüsselungsalgorithmus mit Geheimschlüssel ohne Gegenmaßnahme-Verfahren beschrieben. Dieser Algorithmus DES umfasst 16 Rechenrunden, bezeichnet mit T1 bis T16, wie in 3 und 4 dargestellt.
  • Der DES beginnt mit einer anfänglichen Permutation IP an der Eingangsmeldung M (3). Die Eingangsmeldung M ist ein aus 64 Bits bestehendes Wort f. Nach der Permutation erhält man ein Wort e von 64 Bits, das man durch Zwei teilt, um die Eingangsparameter L0 und R0 der ersten Runde (T1) zu bilden. L0 ist ein Wort d von 32 Bits, das die 32 hochgewichtigen Bits des Wortes e enthält.
  • Der Geheimschlüssel K, das ein Wort q von 64 Bits ist, erfährt selbst eine Permutation und eine Kompression, um ein Wort r von 56 Bits zu liefern.
  • Die erste Runde umfasst eine Operation EXP PERM an dem Parameter R0, bestehend aus einer Expansion und einer Permutation, um am Ausgang ein Wort 1 von 48 Bis zu liefern.
  • Dieses Wort 1 wird in einer Operation des Typs ODER EXKLUSIV, mit XOR bezeichnet, mit einem Parameter K1 verknüpft, um ein Wort b von 48 Bits zu liefern. Der Parameter K1, der ein Wort m von 48 Bis ist, wird aus dem Wort r durch die Versetzung um eine Position (in 3 und 4 mit SHIFT bezeichnete Operation) gefolgt von einer Permutation und einer Kompression (COM PERM genannte Operation) erhalten.
  • Das Wort b wird auf eine SBOX genannte Operation angewendet, an deren Ausgang man ein Wort a von 32 Bits erhält. Diese besondere Operation wird im Zusammenhang mit 5 und 6 noch ausführlicher beschrieben.
  • Das Wort a erfährt eine Permutation P PERM, was am Ausgang das Wort c von 32 Bits ergibt.
  • Dieses Wort c wird mit dem Eingangsparameter L0 der ersten Runde T1 verknüpft, in einer logischen Operation des Typs ODER EXKLUSIV, mit XOR bezeichnet, die am Ausgang das Wort g von 32 Bits liefert.
  • Das Wort h (= R0) der ersten Runde liefert den Eingangsparameter L1 der folgenden Runde (T2), und das Wort g der ersten Runde liefert den Eingangsparameter R1 der folgenden Runde.
  • Die anderen Runden T2 bis T16 verlaufen in ähnlicher Weise, ausgenommen was die Versetzungsoperation SHIFT anbetrifft, die je nach betrachteten Runden an einer oder zwei Positionen erfolgt.
  • Jede Runde Ti erhält somit am Eingang die Parameter Li-1, Ri-1 und r und liefert am Ausgang die Parameter Li und Ri und r für die folgende Runde Ti + 1.
  • Am Ende des Algorithmus DES (4) wird die chiffrierte Meldung ab den Parametern L16 und R16 errechnet, die von der letzten Runde T16 geliefert werden.
  • Diese Rechnung der chiffrierten Meldung C umfasst in der Praxis die folgenden Operationen:
    • – Bildung eines Wortes e' von 64 Bits durch Umkehren der Position der Worte L16 und R16 und durch ihre Verkettung;
    • – Anwendung der Permutation IP–1 umgekehrt zu derjenigen des Anfangs des DES, um das Wort f' von 64 Bits zu erhalten, das die chiffrierte Meldung C bildet.
  • Die Operation SBOX ist in 5 und 6 ausführlich dargestellt. Sie umfasst eine Konstantentabelle TC0, um eine Ausgangsgröße a gemäß einer Eingangsgröße b zu liefern.
  • In der Praxis besteht diese Konstantentabelle TC0 aus acht elementaren Konstantentabellen TC01 bis TC08, wobei jede am Eingang nur 6 Bits des Wortes b erhält, um am Ausgang nur 4 Bits des Wortes a zu liefern.
  • Demnach erhält die in 6 dargestellte elementare Konstantentabelle TC01 als Eingangsgröße die Bits b1 bis b6 des Wortes B und liefert als Ausgangsgröße die Bits a1 bis a4 des Wortes a.
  • In der Praxis werden diese acht elementaren Konstantentabellen TC01 bis TC08 im Programmspeicher der elektronischen Komponente gespeichert.
  • Bei der Operation SBOX der ersten Runde T1 hängt ein besonderes Bit der Ausgangsgröße a der Konstantentabelle TC0 von nur 6 Bits der am Eingang angewendeten Größe b ab, d. h. von nur 6 Bits des Geheimschlüssels K und der Eingangmeldung (M).
  • Bei der Operation SBOX der letzten Runde T16 kann ein besonderes Bit der Ausgangsgröße a der Konstantentabelle TC0 ab nur 6 Bits des Geheimschlüssels K und der chiffrierten Meldung (c) neu errechnet werden.
  • Kommt man jetzt auf das Prinzip der Attacke DPA zurück und wählt ein oder mehrere Bits der Ausgangsgröße a als Zielbits, braucht man nur eine Hypothese an 6 Bits des Schlüssels K zu machen, um den Wert des oder der Zielbits für eine gegebene Eingangs- (M) oder Ausgangsmeldung (C) vorauszusagen. Anders ausgedrückt, es genügt, eine Hypothese an einem Unterschlüssel von 6 Bits zu machen.
  • Bei einer Attacke DPA an einem derartigen Algorithmus für eine gegebene Anzahl von Zielbits aus einer gegebenen elementaren Konstantentabelle braucht man also eine Unterschlüssel-Hypothese nur unter 64 möglichen zu diskriminieren.
  • So kann man ab den Ausgangsbits der acht elementaren Konstantentabellen TC01 bis TC08 bis zu 8 × 6 = 48 Bits des Geheimschlüssels entdecken, indem man Attacken DPA an den entsprechenden Zielbits vornimmt.
  • In dem DES findet man demnach kritische Anweisungen im Sinn der Attacken DPA am Anfang des Algorithmus und am Ende. Diese Anweisungen werden ausführlich in dem französischen Antrag FR 98 13605 beschrieben, auf den man sich vorteilhaft beziehen kann.
  • Daraus ergibt sich, dass alle von den kritischen Anweisungen behandelten Daten eine Ausgangsgröße oder von einer Ausgangsgröße einer Operation SBOX am Anfang und am Ende des DES abgeleitete Daten sind.
  • Das in dem oben genannten französischen Antrag beschriebene Gegenmaßnahme-Verfahren, angewendet auf diesen Algorithmus DES, besteht darin, jede der von den kritischen Anweisungen behandelten Größen unvoraussagbar zu machen. So ist das Signal DPA(t) bei jedem oder jeden beliebigen verwendeten Zielbits immer Null. Dieses Gegenmaßnahme-Verfahren wird auf die kritischen Anweisungen am Anfang des DES und auf die kritischen Anweisungen am Ende des DES angewendet.
  • Nimmt man die Operationen SBOX als erste Rechenmittel, um eine Ausgangsgröße S = a ab einer Eingangsgröße E = b zu liefern, besteht das Gegenmaßnahme-Verfahren des oben genannten französischen Antrags, angewendet auf den Algorithmus DES, in der Verwendung anderer Rechenmittel als die ersten, um die Ausgangsgröße unvoraussagbar zu machen, so dass diese Ausgangsgröße und/oder von den kritischen Anweisungen behandelte, abgeleitete Daten alle unvoraussagbar sind.
  • Die anderen Mittel können verschiedene Mittel umfassen. Sie werden ab ersten Mitteln errechnet, indem man ein ODER EXKLUSIV mit einem Zufallswert u (oder einem abgeleiteten Zufallswert) auf die eine und/oder die andere der Eingangs- und Ausgangsdaten der ersten Mittel anwendet.
  • Die Verwendung dieses Zufallswertes u ist derart, dass das Resultat am Ausgang des Algorithmus, d. h. die chiffrierte Meldung C, richtig bleibt.
  • 7 und 8 zeigen ein Anwendungsbeispiel dieses Gegenmaßnahme-Verfahrens, das der 10 des oben genannten französischen Antrags entspricht.
  • Bei einer konventionellen Ausführung des Algorithmus DES hat man bemerkt, dass jede Runde die Verwendung der ersten Mittel TC0 in einer Operation SBOX umfasst.
  • Bei diesem Beispiel und wie in 7 dargestellt, errechnet man andere Mittel anhand eines ODER EXKLUSIV mit einem Zufallswert u an den Ausgangsdaten der ersten Mittel TC0 und anhand eines ODER EXKLUSIV mit einem abgeleiteten Wert e(p(u)) an den Eingangsdaten der ersten Mittel TC0. Dann wendet man eine für jede Gruppe identische Ausführungssequenz SEQA an, die in der Verwendung dieser anderen errechneten Mittel besteht.
  • Bei diesem Verfahren verwendet man demnach einen Zufallswert u, der eine Größe von 32 Bits ist. Man kann beispielsweise einen Zufallswert von 32 Bits oder aber einen Zufallswert von 4 Bits ziehen und sie 8 Mal kopieren, um den Zufallswert über 32 Bits zu erhalten.
  • Dann errechnet man die abgeleitete Variable gleich e(p(u)), wobei p(u) dem Resultat der auf den Wert u angewendeten Operation P PERM entspricht, und wobei e(p(u)) das Resultat der auf den Wert p(u) angewendeten Operation EXP PERM ist.
  • Man kann dann die anderen von diesem Gegenmaßnahme-Verfahren verwendeten Mittel errechnen.
  • Bei dem unter Bezugnahme auf 7 dargestellten Beispiel umfassen diese anderen Mittel zweite Mittel TC2 und eine zusätzliche Operation ODER EXKLUSIV, die mit CP bezeichnet ist.
  • Die zweiten Mittel TC2 werden in jeder Runde verwendet.
  • Sie werden unter Anwendung eines ODER EXKLUSIV mit der abgeleiteten Zufallsvariablen e(p(u)) auf die Eingangsgröße E und unter Anwendung eines ODER EXKLUSIV mit dem Zufallswert u auf die Ausgangsgröße S der ersten Mittel TC0 errechnet, was man wie folgt schreiben kann: TC2 = (E(+)e(p(u)), S(+)u).
  • Die zusätzliche Operation ODER EXKLUSIV CP mit der abgeleiteten Zufallsvariablen e(p(u)) ermöglicht, am Eingang der zweiten Mittel TC2 die Größe b(+)e(p(u)) zu erhalten. Diese Operation ist in 7 und 8 mit CP(e(p(u))) bezeichnet.
  • Diese zusätzliche Operation ODER EXKLUSIV CP mit der Variablen e(p(u)) kann an verschiedenen Stellen der ersten und zweiten Runde angebracht werden, entweder zwischen der Operation EXP PERM und der Operation XOR oder zwischen der Operation XOR und der Operation SBOX. Man kann sie durch eine zusätzliche Operation ODER EXKLUSIV CP mit der abgeleiteten Zufallsvariablen p(u) ersetzen, indem man diese zusätzliche Operation CP(p(u)) vor die Operation PERM setzt. Am Ausgang erhält man 1(+)e(p(u)) und daraufhin also b(+)e(p(u)).
  • In jedem Fall erhält man die Größe b(+)(p(u)) am Eingang der Operation SBOX.
  • Das Rechenprogramm besteht dann darin, am Anfang der Ausführung des Algorithmus einen Zufallswert u zu ziehen, in dem Beispiel über 4 Bits, die abgeleitete Zufallsvariable e(p(u)) zu errechnen und dann die verschiedenen in der Ausführungssequenz SEQA verwendeten Mittel, d. h. die zweiten Mittel TC2 zu errechnen.
  • Am Ausgang jeder Gruppe erhält man das richtige Resultat für die Ausgangsparameter. Demnach sind die Ausgangsparameter L4 und R4 der ersten Gruppe G1, L8 und R8 der zweiten Gruppe G2, L12 und R12 der dritten Gruppe G3, L16 und R16 der vierten Gruppe G4 bei jeder beliebigen gezogenen Zufallsvariablen richtig.
  • Nach der Durchführung aller Runden erhält man die richtigen Parameter L16 und R16, die das Errechnen der richtigen chiffrierten Meldung C ermöglichen werden.
  • Innerhalb der Gruppen haben bestimmte Zwischenresultate je nach verwendeter Sequenz jedoch nicht die gleichen Werte, sondern Werte, die der Operation ODER EXKLUSIV mit dem Zufallswert u oder mit dem abgeleiteten Zufallswert e(p(u)) entsprechen, was das Erhalten des Schutzes gegen die Attacken DPA ermöglicht.
  • 8 zeigt das detaillierte Organigramm der vier Runden T1, T2, T3 und T4 der ersten Gruppe G1 in der Sequenz SEQA, was das Hervorheben der Rolle der in jeder Runde verwendeten zweiten Mittel TC2 ermöglicht. Gemäß ihrer Definition: TC2 = E(+)e(p(u)), S(+)u, unter Anwendung am Eingang der dank der zusätzlichen Operation CP zufällig geänderten Größe b(+)e(p(u)), erhält man am Ausgang die zufällig geänderte Größe a(+)u. Verfolgt man diesen Weg ab der ersten Runde T1 bis zum Ende der Runde T4 und unter Berücksichtigung, dass p(u)(+)p(u) = 0, erhält man am Ausgang der Runde T4 die nicht geänderten Daten L4, R4.
  • Bei einem derartigen Gegenmaßnahme-Verfahren muss man am Anfang des DES die Ziehung des Zufallswertes u und die Errechnung der in der Ausführungssequenz SEQA verwendeten Mittel vorsehen. Diese bei jeder Ausführung des DES errechneten Mittel werden für die Ausführungszeit in dem Arbeitsspeicher gespeichert, wobei die ersten der Errechnung dienenden Mittel TC0 ihrerseits im Programmspeicher gespeichert werden.
  • Dieses Gegenmaßnahme-Verfahren gemäß dem Stand der Technik, das im Allgemeinen darin besteht, einen Zufallswert u zumindest auf den Ausgang der in jeder Runde des Algorithmus verwendeten Rechenmittel anzuwenden, belässt einige Daten in Klarschrift. In 7 und 8 sieht man, dass die Eingangsdaten L0, R0 und danach die Daten h, l und b der ersten Runde in Klarschrift verwendet werden.
  • Außerdem werden die Daten R3, D4, R4, R7, L8, R8, R11, L12, R12, R15, L16 und R16 in Klarschrift verwendet.
  • Bei jedem beliebigen Anwendungsmodus des Gegenmaßnahme-Verfahrens nach dem gerade beschriebenen Stand der Technik werden im Allgemeinen mindestens die Eingangsdaten L0 und R0 und die Ausgangsdaten L16 und R16 in dem Algorithmus in Klarschrift verwendet. Andere Zwischendaten können es ebenfalls, wie in dem zuvor beschriebenen Fall, die insbesondere von dem betrachteten Anwendungsmodus des Gegenmaßnahme-Verfahrens nach dem Stand der Technik abhängen, wovon 7 und 8 nur Anwendungsbeispiele zeigen.
  • In der Praxis können jedoch noch Attacken auf den Algorithmus stattfinden, die auf diesen in Klarschrift verwendeten Daten beruhen.
  • Die vorliegende Erfindung schlägt daher eine Weiterbildung des vorgenannten Gegenmaßnahme-Verfahrens vor, die es ermöglicht, alle in dem Algorithmus verwendeten Daten unvoraussagbar zu machen, entweder durch den ersten Zufallswert u oder durch einen zweiten Zufallswert v oder durch eine Verknüpfung der beiden.
  • Ein Verwendungsbeispiel dieses Verfahrens ist in 9 dargestellt.
  • Erfindungsgemäß wird ein zweiter Zufallswert v verwendet, der mittels einer Operation ODER EXKLUSIV auf die Eingangsdaten L0 und R0 angewendet wird.
  • Demnach sind die in der Errechnung des Algorithmus tatsächlich verwendeten Daten unvoraussagbare Daten gleich L0(+)v und R0(+)v.
  • Dieser zweite Zufallswert breitet sich in allen Runden des Algorithmus aus. Am Ausgang der sechzehnten Runde T16 erhält man demnach als Ausgangsdaten die unvoraussagbaren Daten gleich L16(+)v und R16(+)v.
  • Um die wahren Ausgangsdaten L16 und R16 zu finden, die das Erhalten der chiffrierten Meldung C ermöglichen werden, wendet man auf jede dieser Größen L16(+)v und R16(+)v eine Operation ODER EXKLUSIV mit dem zweiten Zufallswert v an.
  • Die Verwendung der beiden Zufallswerte u und v in Verknüpfung ermöglicht, ein verbessertes Gegenmaßnahme-Verfahren zu erhalten, das den es verwendenden Algorithmus DES unangreifbar macht.
  • In 9 ist ein praktisches Verwendungsbeispiel eines erfindungsgemäßen Gegenmaßnahme-Verfahrens ausführlich dargestellt.
  • Nimmt man die erste Runde T1, hat man am Eingang die Daten L0(+)v und R0(+)v, auf die man nacheinander die Operationen EXP PERM, XOR (mit dem Schlüssel K1) anwendet. Man befindet sich also am Eingang der Operation SBOX mit der Größe b(+)v.
  • Die dieser Operation SBOX zugeordneten Rechenmittel TCM bestehen, wie in dem Gegenmaßnahme-Verfahren nach dem Stand der Technik, aus einer Konstantentabelle, die von der ursprünglichen Konstantentabelle TC0 des Algorithmus DES abgeleitet ist.
  • Unter Bezeichnung dieser ursprünglichen Konstantentabelle mit TC0 = (E, S), wie man im Zusammenhang mit 6 gesehen hat, errechnet man die neuen Rechenmittel TCM folgendermaßen: TCM = (E(+)e(v), S(+)u).
  • Auf diese Weise berücksichtigt man den zweiten Zufallswert v, der am Eingang jeder Runde auf die Daten angewendet wird, und verfügt immer noch über den ersten Zufallswert u gemäß dem Verfahren nach dem Stand der Technik am Ausgang der Operation SBOX.
  • Demzufolge erhält man am Ausgang der die Rechenmittel TCM verwendenden Operation SBOX die Größe a(+)p(u), auf die man die Operation P PERM anwendet, um die Größe c(+)p(u) zu erhalten.
  • Die folgende Operation XOR mit der Eingangsgröße L0(+)v liefert am Ausgang die Größe g(+)p(u)(+)v. Zur Erinnerung: nach dem beschriebenen Stand der Technik (8) erhielt man in diesem Stadium die Größe g(+)p(u(), die am Eingang der zweiten Runde T2 verwendet wird.
  • Dank dem erfindungsgemäßen Verfahren ist der andere Eingang der zweiten Runde die Größe L1(+)v = R0(+)v, wie aus 9 ersichtlich.
  • Der zweite Zufallswert v verbreitet sich also in allen Runden des Algorithmus.
  • Wenn man den Zufallswert u der Ausgangsgröße nicht aus der ersten Runde (R1(+)(v)(+)p(u)) entfernt, muss man die Verwendung anderer Rechenmittel TCM' in der zweiten Runde T2 vorsehen, die mit TCM' = E(+)e(v)(+)e(p(u)), s(+)u definiert sind.
  • Diese Verwendung der Erfindung ist nicht sehr interessant, da sie die Errechnung von zwei neuen Konstantentabelle TCM und TCM' erfordert, wobei der Zufallswert u in der Tabelle nicht nur auf den Ausgang sondern auch auf den Eingang angewendet wird.
  • Daher sieht man erfindungsgemäß und wie in 9 dargestellt, um die Verwendung der beiden Zufallsvariablen u und v durch Reduzierung der für ihre Verwendung erforderlichen Rechnungen zu erleichtern und um die gleichen Operationen in jeder Runde durchzuführen, eine zusätzliche Operation ODER EXKLUSIV CP(p(u)) am Ende jeder Runde vor, um den Wert p(u) am Eingang jeder neuen Runde zu entfernen. So erhält man am Eingang der zweiten Runde T1 die Größe R1(+)v = (g(+)p(u)(+)v)(+)p(u), d. h. R1(+)v = g(+)v.
  • Die Runden folgen aufeinander unter Ausführung der gleiche Folge von Rechenoperationen, so dass man am Ausgang der sechzehnten Runde als Ausgangsdaten L16(+)v und R16(+)v erhält. Bei Anwendung einer Operation ODER EXKLUSIV mit dem zweiten Zufallswert v auf jede dieser beiden Daten erhält man die Daten L16 und T16, die die Erstellung der chiffrierten Meldung C ermöglichen.
  • Durch Anwendung des erfindungsgemäßen Gegenmaßnahme-Verfahrens, das die Verwendung eines ersten Zufallswerts u in den in jeder Runde vorgesehenen Rechenmitteln und die Verwendung eines zweiten Zufallswerts, der auf den Eingang vor der Ausführung der ersten Runde angewendet wird, verknüpft, macht man alle in dem Algorithmus verwendeten Daten unvoraussagbar. Je nach Stelle, an der man sich im Algorithmus befindet, ist der Schutz durch Gegenmaßnahme gemäß der Erfindung entweder durch den ersten Zufallswert u oder durch den zweiten Zufallswert v oder durch eine Verknüpfung dieser beiden Werte gewährleistet.
  • In der Praxis und in dem in 9 dargestellten Anwendungsbeispiel muss man vor der Ausführung des eigentlichen Algorithmus DES die folgenden Operationen ausführen:
    • – Ziehen der Zufallswerte u und v
    • – Errechnen von p(u) für die Operation CP(p(u))
    • – Errechnen von e(v)
    • – Errechnen von TCM = E(+)e(v), S(+)u
  • Der Zufallswert v ist eine Größe, die die gleiche Bitanzahl wie die Daten L0 und R0 enthält, d. h. in dem Beispiel 32 Bits. Bei diesem Verfahren verwendet man demnach einen Zufallswert v, der eine Größe von 32 Bits ist. Man kann beispielsweise einen Zufallswert von 32 Bits ziehen oder auch einen Zufallswert von 4 Bits und sie 8 Mal kopieren, um den Zufallswert über 32 Bits zu erhalten (wie für den Zufallswert u).
  • Andere Anwendungsbeispiele sind vorstellbar, bei denen man insbesondere vorsehen kann, dass die Runden nicht identisch sind. Alle diese Varianten, die die beiden Zufallswerte gemäß dem dargestellten allgemeinen Prinzip verwenden, gehören zum Bereich der Erfindung.
  • Eine elektronische Komponente 1, die ein erfindungsgemäßes Gegenmaßnahme-Verfahren in einem Verschlüsselungsalgorithmus mit Geheimschlüssel DES verwendet, umfasst typischerweise, wie in 10 dargestellt, einen Mikroprozessor mP, einen Programmspeicher 2 und einen Arbeitsspeicher 3. Die verschiedenen Rechenmittel TC0 und TCM sind in der Praxis Konstantentabellen, die jeweils im Programmspeicher 1 und im Arbeitsspeicher 3 gespeichert sind. Um die Verwendung dieser Rechenmittel verwalten zu können, sind Mittel 4 für die Erzeugung eines Zufallswerts vorgesehen, die unter Bezugnahme auf die Organigramme von 7 und 11 die Zufallswerte u und v bei jeder Ausführung des DES liefern. Eine derartige Komponente kann insbesondere in einer Chipkarte 5 verwendet werden, um ihre Unverletzlichkeit zu verbessern.

Claims (8)

  1. Gegenmaßnahme-Verfahren gegen Attacken durch differentielle Analyse in einer elektronischen Komponente, die einen Verschlüsselungsalgorithmus mit Geheimschlüssel (K) verwendet, Verfahren dessen Verwendung die Durchführung mehrerer aufeinander folgender Rechenrunden (T1, ..., T16) umfasst, um ab auf die erste Runde (T1) angewendeten ersten Eingangsdaten (O, RO) am Ausgang der letzten Runde (T16) Enddaten (L16, R16) zu liefern, die die Erstellung einer chiffrierten Meldung (C) ermöglichen, wobei das Verfahren gekennzeichnet ist durch: • die Verwendung bei jeder Rechenrunde von Rechenmitteln (TCM), um eine Ausgangsgröße zu liefern, die von einem ODER EXKLUSIV mit einem ersten Zufallswert (S(+)u) ab einer mit einem zweiten Zufallswert (E(+)e(v)) verknüpften Eingangsgröße verknüpft wird, • die Verwendung von Verknüpfungsmitteln durch ODER -EXKLUSIV des zweiten Zufallswerts (v) mit den ersten Eingangsdaten (L0, R0).
  2. Gegenmaßnahme-Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass es ferner die Verwendung von Verknüpfungsmitteln durch ODER EXKLUSIV des zweiten Zufallswerts (v) mit den von der letzten Runde (T16) gelieferten Enddaten umfasst.
  3. Gegenmaßnahme-Verfahren gemäß einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass es ebenfalls, am Ende jeder Runde, die Ausführung einer zusätzlichen Operation (CP(p(u))) umfasst, um den genannten ersten Zufallswert (u) am Ausgang jeder Runde zu entfernen.
  4. Gegenmaßnahme-Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass es die Ziehung des ersten und zweiten Zufallswerts (u, v) und die Errechnung der Rechenmittel (TCM) umfasst, die bei jeder Runde für jede neue Ausführung des Algorithmus verwendet werden.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die genannten Rechenmittel (TCM) ab ersten Rechenmitteln (TC0) errechnet werden, die für Eingangsdaten (E) entsprechende Ausgangsdaten (S) definieren, unter Anwendung des zweiten Zufallswerts (v) auf die genannten Eingangsdaten (E(+)e(v)) und unter Anwendung des ersten Zufallswerts (u) zumindest auf die genannten Ausgangsdaten (s(+)u) der ersten Rechenmittel.
  6. Gegenmaßnahme-Verfahren gemäß Anspruch 5, dadurch gekennzeichnet, dass die Rechenmittel (TC0, TCM) Konstantentabellen sind.
  7. Elektronische Sicherheitskomponente, geeignet für die Verwendung eines Gegenmaßnahme-Verfahrens gegen Attacken durch differentielle Analyse, wobei das genannte Verfahren die Verwendung eines Verschlüsselungsalgorithmus mit Geheimschlüssel (K) umfasst, mit der Durchführung von mehreren aufeinander folgenden Rechenrunden (T1, ..., T16), um ab auf die erste Runde (T1) angewendeten ersten Eingangsdaten (L0, R0) am Ausgang der letzten Runde Enddaten (L16, R16) zu liefern, die die Erstellung einer chiffrierten Meldung (C) ermöglichen, wobei die Komponente gekennzeichnet ist durch: • einen Programmspeicher (1) zum Speichern der ersten Rechenmittel (TC0), • Mittel (4) für die Erzeugung bei jeder Ausführung des Verfahrens eines ersten Zufallswerts (u), eines zweiten Zufallswerts (v) und Rechenmitteln (TCM), die geeignet sind, um eine Ausgangsgröße zu liefern, die von einem ODER EXKLUSIV mit dem ersten Zufallswert (S(+)u) ab einer mit einem zweiten Zufallswert (E(+)(v)) verknüpften Eingangsgröße verknüpft wird, • einen Arbeitsspeicher (3) zum Speichern der errechneten Rechenmittel (TCM), und • Mittel zum Verknüpfen durch ein ODER EXKLUSIV des zweiten Zufallswerts mit den genannten ersten Eingangsdaten.
  8. Chipkarte, die eine elektronische Sicherheitskomponente gemäß Anspruch 7 enthält.
DE60036928T 1999-03-08 2000-02-07 Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel Expired - Lifetime DE60036928T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9902834A FR2790890B1 (fr) 1999-03-08 1999-03-08 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR9902834 1999-03-08
PCT/FR2000/000283 WO2000054454A1 (fr) 1999-03-08 2000-02-07 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete

Publications (2)

Publication Number Publication Date
DE60036928D1 DE60036928D1 (de) 2007-12-13
DE60036928T2 true DE60036928T2 (de) 2008-08-07

Family

ID=9542934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60036928T Expired - Lifetime DE60036928T2 (de) 1999-03-08 2000-02-07 Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel

Country Status (11)

Country Link
US (1) US6820814B1 (de)
EP (1) EP1159797B1 (de)
JP (1) JP3733027B2 (de)
CN (1) CN1302635C (de)
AT (1) ATE377307T1 (de)
AU (1) AU2553000A (de)
DE (1) DE60036928T2 (de)
ES (1) ES2295007T3 (de)
FR (1) FR2790890B1 (de)
MX (1) MXPA01009055A (de)
WO (1) WO2000054454A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US20050084097A1 (en) * 2003-10-16 2005-04-21 Tien-Shin Ho Apparatus and method for calculatingtkip sbox value
US20050235150A1 (en) * 2004-04-19 2005-10-20 Kaler Christopher G Bi-directionally verifying measurable aspects associated with modules, pre-computing solutions to configuration challenges, and using configuration challenges along with other authentication mechanisms
EP1764762B1 (de) 2004-07-07 2019-05-15 Mitsubishi Electric Corporation Elektronisches element und datenverarbeitungsverfahren
FR2875318A1 (fr) * 2004-09-15 2006-03-17 St Microelectronics Sa Protection d'un algorithme des
EP1646174A1 (de) * 2004-10-07 2006-04-12 Axalto SA Verfahren und Vorrichtung zur automatischen Generierung eines Kryptographisch Instruktionsatz und Codegenerierung
KR100861841B1 (ko) 2006-12-08 2008-10-07 미쓰비시덴키 가부시키가이샤 전자 소자 및 데이터 처리 방법
FR2949633B1 (fr) * 2009-08-27 2011-10-21 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
CN104616054A (zh) * 2015-02-05 2015-05-13 成都市宏山科技有限公司 安全性能高的智能卡
US10771235B2 (en) * 2016-09-01 2020-09-08 Cryptography Research Inc. Protecting block cipher computation operations from external monitoring attacks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511123A (en) * 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
CA2164768C (en) * 1995-12-08 2001-01-23 Carlisle Michael Adams Constructing symmetric ciphers using the cast design procedure
CA2177622A1 (en) * 1996-05-29 1997-11-30 Thierry Moreau Cryptographic data integrity apparatus and method based on pseudo-random bit generators
AU2085199A (en) * 1997-11-19 1999-06-07 Security Dynamics Technologies, Inc. Digital coin tracing using trustee tokens
AU2557399A (en) * 1998-01-02 1999-07-26 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus

Also Published As

Publication number Publication date
US6820814B1 (en) 2004-11-23
JP3733027B2 (ja) 2006-01-11
CN1358376A (zh) 2002-07-10
MXPA01009055A (es) 2002-04-24
DE60036928D1 (de) 2007-12-13
CN1302635C (zh) 2007-02-28
JP2002539488A (ja) 2002-11-19
EP1159797B1 (de) 2007-10-31
ES2295007T3 (es) 2008-04-16
FR2790890A1 (fr) 2000-09-15
ATE377307T1 (de) 2007-11-15
WO2000054454A1 (fr) 2000-09-14
FR2790890B1 (fr) 2001-04-27
EP1159797A1 (de) 2001-12-05
AU2553000A (en) 2000-09-28

Similar Documents

Publication Publication Date Title
DE60036928T2 (de) Gegenmassnahmeverfahren in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit geheimschlüssel
EP1668515B1 (de) Wortindividuelle schlüsselerzeugung
DE102005056814B4 (de) Kryptografiesystem und Datenverschlüsselungsverfahren
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE69936024T2 (de) Vorrichtung zur Verschlüsselung/Entschlüsselung
DE60207818T2 (de) Gesichertes Verfahren zur kryptographischen Berechnung mit Geheimschlüssel und Bauteil, das ein solches Verfahren anwendet
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
EP2901611B1 (de) Seitenkanalgeschützte maskierung
DE60223337T3 (de) Verfahren zur gesicherten verschlüsselung und baustein zur ausführung eines solchen verschlüsselungsverfahrens
DE102006004557A1 (de) Kryptografische Logikschaltung und Kryptografieverfahren
DE60027163T2 (de) Gegenmassnahmenverfahren in einem elektronischen bauelement mit einem kryptosystem mit privatem schlüssel
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
EP3387636B1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
DE69928684T2 (de) Gegenmassnahmenvorrichtung in einem elktronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durch zu führen
DE69934707T2 (de) Gegenmassnahmenvorrichtung in einem elektronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durchzuführen
DE60034944T2 (de) Gegenmassnahmeverfahren in einer geheimen und dynamischen Verschlüsselungsalgorithmus ausführenden elektronischen Schaltung
EP1478999B1 (de) Vorrichtung und verfahren zum umrechnen eines terms
WO2005043804A1 (de) Verfahren und vorrichtung zur ver- und entschlüsselung
DE60213327T2 (de) Auf einem Blockverschlüsselungsalgorithmus mit Rundenwiederholung basiertes Verfahren und Vorrichtung zur Ausführung des Verfahrens
DE10227618B4 (de) Logikschaltung
DE102004018874A1 (de) Verfahren und Vorrichtung zum Bestimmen eines Ergebnisses
EP1615098A2 (de) Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
EP1573955B1 (de) Verschl sselungsverfahren
EP3804209A1 (de) Verfahren mit safe-error-abwehrmassnahme

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1159797

Country of ref document: EP

Representative=s name: HOFFMANN - EITLE, DE