PatentDe  


Dokumentenidentifikation DE102005024609A1 30.11.2006
Titel Bestimmung einer modularen Inversen
Anmelder Siemens AG, 80333 München, DE
Erfinder Meyer, Bernd, Dr., 81737 München, DE
DE-Anmeldedatum 25.05.2005
DE-Aktenzeichen 102005024609
Offenlegungstag 30.11.2006
Veröffentlichungstag im Patentblatt 30.11.2006
IPC-Hauptklasse G06F 17/10(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 12/14(2006.01)A, L, I, 20051017, B, H, DE   G06F 1/28(2006.01)A, L, I, 20051017, B, H, DE   H04L 9/28(2006.01)A, L, I, 20051017, B, H, DE   
Zusammenfassung Die Erfindung betrifft seitenkanalangriffsresistente Verschlüsselungsverfahren, wobei ein Rückgabewert (r) als modulare Inverse eines Eingangswertes (a) mittels eines Moduls (M) bestimmt wird. Die Erfindung hat es sich zur Aufgabe gemacht, bei der Bestimmung der modularen Inversen eine Resistenz gegen Seitenkanalangriffe bei gleichzeitig minimalen Einschränkungen bei der Implementierung mit nur geringem Aufwand zu erreichen. Hierzu wird vorgeschlagen, in einem ersten Unterschritt ein erstes Produkt (d) aus dem Eingangswert (a) und einer Zufallszahl (c) zu erzeugen, in einem zweiten Unterschritt mittels des Moduls (M) die modulare Inverse (e) des ersten Produktes (d) zu bestimmen, in einem dritten Unterschritt ein zweites Produkt (b) der Zufallszahl (c) mit der modularen Inversen (e) zu bestimmen, in einem vierten Unterschritt den Rückgabewert (r) gleich dem zweiten Produkt (b) zu setzen.

Beschreibung[de]

Die Erfindung betrifft ein Verfahren zur seitenkanalangriffsresistenten Berechnung eines Rückgabewertes als einer modularen Inversen eines Eingangswertes mittels eines Moduls.

Seitenkanalangriffe sind eine Klasse von Methoden zur Kryptoanalyse. Im Gegensatz zu bisherigen Angriffen auf kryptographische Anwendungen versucht ein Angreifer dabei nicht den zu Grunde liegenden abstrakten mathematischen Algorithmus zu brechen, sondern attackiert eine spezielle Implementierung eines kryptographischen Verfahrens. Dazu verwendet der Angreifer leicht zugängliche physikalische Messgrößen der konkreten Implementierung wie zum Beispiel Laufzeit der Berechnung, Stromverbrauch und elektromagnetische Abstrahlungen des Prozessors während der Berechnung oder das Verhalten der Implementierung bei induzierten Fehlern. Die physikalischen Messwerte einer einzelnen Berechnung können direkt analysiert werden, zum Beispiel mittels Simple Power Analysis [SPA], oder ein Angreifer zeichnet die Messwerte mehrerer Berechnungen (zum Beispiel unter Verwendung eines Speicheroszilloskops) auf und wertet die Messwerte anschließend statistisch aus, zum Beispiel mittels Differential Power Analysis [DPA]. Seitenkanalangriffe sind häufig wesentlich effizienter als klassische kryptoanalytische Techniken und können selbst Verfahren, die aus Sicht der Algorithmen als sicher angesehen werden, brechen, wenn die Implementierung dieser Algorithmen nicht gegen Seitenkanalangriffe abgesichert ist. Insbesondere für Smartcards und Embedded-Anwendungen sind Gegenmaßnahmen gegen Seitenkanalangriffe wichtig.

Seitenkanalangriffe sind bereits Thema in den folgenden Veröffentlichungen: Kocher: Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Crypto 1996, LNCS 1109, Seiten 104–113, Springer; Kocher, Jaffe, Jun: Differential power analysis, Crypto 1999,' LNCS 1666, Seiten 388–397, Springer; Messerges, Dabbish, Sloan: Power analysis attacks of modular exponentiation in smartcards, CHES 1999, LNCS 1717, Seiten 144–157, Springer.

Hierbei findet sich in den Boneh, Demillo, Lipton: On the importance of checking cryptographic protocols for faults, Eurocrypt 1997, LNCS 1233, Seiten 37–51, Springer bereits Hinweise auf eine Verwertung der Information aus dem Stromverbrauch und der elektromagnetischen Abstrahlungen des Prozessors während der Berechnung oder des Verhaltens der Implementierung bei induzierten Fehlern.

Mathematische Methoden zur Inversion finden sich auch in Menezes, van Oorschot, Vanstone: Handbook of applied cryptography, CRC-Press 1996.

Maskierungstechniken für Kryptoverfahren, insbesondere für DES und AES sind auch bekannt aus Goubin, Patarin: DES and differential power analysis, CHES 1999, LNCS 1717, Seiten 158–172, Springer; Akkar, Giraud: An implementation of DES and AES, secure against some attacks, CHES 2001, LNCS 2162, Seiten 309–318, Springer; Messerges: Securing the AES finalists against power analysis attacks, FSE 2000, LNCS 1978, Seiten 150–164, Springer; Coron, Goubin: On boolean and arithmetic masking against differential power analysis, CHES 2000, LNCS 1965, Seiten 213–237, Springer; Trichina, de Seta, Germani: Simplified adaptive multiplicative masking for AES and its securized implementation, CHES 2002, LNCS 2523, Seiten 187–197, Springer; Golic, Tymen: Multiplicative masking and power analysis of AES, CHES 2002, LNCS 2523, Seiten 198 –212, Springer.

Die Erzeugung digitaler Signaturen nach dem Digital signature standard ist auch thematisiert in FIPS 186: Digital signature standard, Federal Information Processing Standards Publication 186, NIST 1997.

Ziel der Erfindung ist der Schutz der modularen Inversion gegen insbesondere SPA und DPA. Viele kryptographische Verfahren (insbesondere Public-Key Verfahren) verwenden Arithmetiken in endlichen Körpern. Ein wichtiger dabei verwendeter Rechenschritt ist die Berechnung modularer Inversionen in endlichen Körpern.

Verfahren zur modularen Inversion beruhen üblicherweise entweder auf Algorithmen zur Berechnung größter gemeinsamer Teiler (erweiterter euklidischer Algorithmus oder Varianten hiervon wie beispielsweise der binär arbeitende Steinsche Algorithmus) oder verwenden den kleinen Fermatschen Satz und führen damit die Inversion auf eine modulare Exponentiation zurück. Algorithmen auf Basis der Berechnung eines größten gemeinsamen Teilers haben einen stark datenabhängigen Ablauf: Die Anzahl der Divisionen lässt zum Beispiel Rückschlüsse auf die zu invertierende Zahl zu. Beim binär arbeitenden Steinschen Algorithmus wird ein zu einem Zwischenwert der Berechnung der Modul des Körpers addiert, wenn dieser Zwischenwert ungerade ist. Wenn ein Angreifer beobachten kann, ob diese Addition im i-ten Schritt des Algorithmus ausgeführt wird, lernt er bitweise die zu invertierende Zahl. Bei diesen Algorithmen kann ein Angreifer daher leicht aus Laufzeit, Stromverbrauch oder elektromagnetischer Strahlung Rückschlüsse auf die zu invertierende Zahl ziehen. Algorithmen auf Basis des kleinen Fermatschen Satzes haben zwar einen gleichförmigen Ablauf, sind aber wesentlich langsamer und daher ineffizienter.

Allgemein verwendete Techniken zur Abwehr von Seitenkanalangriffen versuchen entweder, den Signal-Rausch-Abstand zwischen der zu schützenden Information und allen anderen messbaren Signalen zu verschlechtern und damit die Beobachtung der geheimen Information zu erschweren oder verwenden Randomisierungstechniken, um die Korrelation zwischen der zu schützenden Information und den gemessenen Werten aufzuheben. Methoden, um die Beobachtung der geheimen Information zu erschweren, umfassen beispielsweise die Vermeidung datenabhängiger Verzweigungen, die von schützenswerter Information abhängen, Verwendung von Programmschritten mit wenig schwankendem Stromprofil oder von Programmteilen, deren Laufzeit nicht mehr von den Berechnungsdaten abhängt, Ausführen von zufälligen und/oder redundanten Programmteilen usw. Diese Gegenmaßnahmen schützen im Allgemeinen vor SPA-Attacken, haben jedoch den Nachteil, dass die Implementierung unvorteilhaften Einschränkungen unterliegt.

Randomisierungstechniken zur Aufhebung der Korrelation zwischen zu schützender Information und gemessenen Werten dienen zur Abwehr der statistischen Analysemethoden der DPA. Solche Maßnahmen bestehen üblicherweise aus Maskieren der geheimen Informationen mit zufälligen Werten. Bei jeder neuen Berechnung werden dabei neue unabhängige Zufallszahlen für die Masken gewählt. Ein Angreifer misst dann jedes Mal eine für ihn zufällig erscheinende Berechnung, weil er die Maske nicht kennt und kann keine einfachen Korrelationen zwischen gemessenen physikalischen Werten und Input- oder Outputdaten feststellen.

Ausgehend von den Problemen und Nachteilen des Standes der Technik liegt der Erfindung die Aufgabe zugrunde, ein Verfahren zur Berechnung der moduaren Inversen zu schaffen, welches eine Resistenz gegen Seitenkanalangriffe aufweist und gleichzeitig die Einschränkungen bei der Implementierung und den zusätzlichen Aufwand zum Zwecke des Schutzes gegen Seitenkanalangriffe gering hält.

Erfindungsgemäß wird hierzu ein Verfahren nach Anspruch 1 vorgeschlagen. Daneben werden ein Tachograph nach Anspruch 3 und eine Datenkarte nach Anspruch 4 vorgeschlagen, die jeweils derart ausgebildet sind, dass sie nach dem Verfahren des Anspruchs 1 arbeiten. Die jeweils rückbezogenen Unteransprüche beinhalten vorteilhafte Weiterbildungen.

Die erfindungsgemäße Technik erlaubt es, beliebige Implementierungen von Verfahren zur Berechnung modularer Inversionen (auch die sehr effizienten Algorithmen auf Basis der Berechnung eines größten gemeinsamen Teilers) durch eine einfache Transformation gegen SPA und DPA abzusichern.

Die Verwendung einer arithmetischen homomorphen Maskierungstechnik nach der Erfindung hat unter anderem den Vorteil, dass die Maskierung eingangs der Berechnung durchgeführt werden kann und ausgangs das Ergebnis demaskierbar ist und gleichzeitig eine Absicherung der Implementierung zur modularen Inversion gegen SPA- und DPA-Angriffe gegeben ist.

Eine vorteilhafte Anwendung der Erfindung bei einem Verschlüsselungs- oder Entschlüsselungsverfahren, insbesondere in einem erfindungsgemäßen Tachographen oder einem erfindungsgemäßen mobilen Datenträger ist beispielsweise die notwendige Inversion bei der Erzeugung digitaler Signaturen nach dem Digital-Signature-Standard DSA:

Sei p eine Primzahl, q ∣⁣ p – 1 eine Primzahl, 0 < g < p ein Erzeuger der zyklischen Untergruppe der Ordnung q in (Z/pZ)*, 0 < a < q ein geheimer Schlüssel, A = g^a mod p der zugehörige öffentliche Schlüssel und 0 <= m < p die zu signierende Nachricht. Zur Berechnung der Signatur (r, s) zur Nachricht m und öffentlichem Schlüssel A werden gemäß DSA folgende Rechenschritte von der Recheneinheit ausgeführt:

  • 1) Wahl einer zufälligen Zahl 0 < k < q, die geheim gehalten werden muss
  • 2) Berechnung von r = (a^k mod p) mod q
  • 3) Berechnung der modularen Inversion h = 1/k mod q mittels Modul M
  • 4) Berechnung von s = h·(m + a·r) mod q

Die Berechnung der modularen Inversion in Schritt 3) kann besonders vorteilhaft erfindungsgemäß gegen SPA geschützt werden, damit die geheime zufällige Zahl k, der so genannte ephemeral Key, nicht dem Angreifer bekannt wird. Falls ein Angreifer den ephemeral Key k erfährt, könnte er den geheimen Schlüssel a der Person, die diese Signatur erstellt, ausrechnen.

Das erfindungsgemäße Modul M, welches eine Implementierung zur Berechnung modularer Inverser in einem endlichen Körper K aufweist, kann beispielsweise aus einem Element a, welches dem endlichen Körper K angehört in seitenkanalresistenter Weise das modulare Inverse bestimmen. Hierbei arbeitet das erfindungsgemäße Verfahren beispielsweise in folgenden Schritten:

  • 1) die Recheneinheit wählt ein zufälliges Element c aus K
  • 2) die Recheneinheit bestimmt d = a·c
  • 3) das Modul M bestimmt das Inverse e = M(d)
  • 4) die Recheneinheit bestimmt b = e·c
  • 5) die Recheneinheit setzt den Rückgabewert r := b

Ein Angreifer beobachtet in Schritt 3) lediglich die Inversion eines zufälligen und gleichverteilt gewählten Körperelementes d, das unabhängig vom eigentlichen Input a der Berechnung ist. Da ihm das zufällig gewählte Element c nicht bekannt ist, kann er sowohl durch SPA- als auch durch DPA-Angriffe keine Informationen aus den von M ausgeführten Berechnungsschritten erhalten.

Ein Vorteil des Verfahrens besteht auch darin, dass eine ungeschützte Implementierung erfindungsgemäß nur um die Schritte 1), 2), 4) und 5) erweitert werden müssen, um Resistenz gegen SPA und DPA zu erhalten. Insbesondere lassen sich die effizienten Verfahren zur Berechnung modularer Inverse auf Basis des euklidischen Algorithmus ohne Änderungen einsetzen. Der zusätzliche Rechenaufwand ist dabei wesentlich geringer als bei Verfahren zur Inversion, die auf dem kleinen Fermatschen Satzes beruhen.

Eine zweckmäßige Weiterbildung des erfindungsgemäßen Verfahrens sieht vor, dass die Zwischenergebnisse c, d und e nach den jeweiligen Rechenschritten gelöscht werden.

In der Folge wird die Erfindung anhand eines speziellen Ausführungsbeispiels unter Bezugnahme auf Zeichnungen näher erläutert, wobei die Erfindung nicht auf die Darstellungen dieses Beispiels beschränkt ist. Es zeigen:

1 eine schematische perspektivische Darstellung eines erfindungsgemäßen Tachographen mit einer erfindungsgemäßen Datenkarte,

2 eine schematische Darstellung des Ablaufs nach dem erfindungsgemäßen Verfahren.

In 1 ist ein erfindungsgemäßer Tachograph DTCO und eine erfindungsgemäße Datenkarte DC dargestellt. Die Datenkarte DC kann in den DTCO durch einen von zwei Aufnahmeschächten 2 eingeschoben werden, so dass während einer Datenübertragung zwischen den beiden Elementen die Datenkarte DC in dem Tachographen DTCO von außen unzugänglich aufgenommen ist. Der Tachograph DTCO weist auf seiner Frontseite 3 neben den beiden Aufnahmeschächten 2 eine Anzeigeeinheit 1 und Bedienelemente 4 auf. Mittels Datenleitungen 5 tritt die Datenkarte DC nach Eingabe in einen Aufnahmeschacht 2 mit einem zentralen Prozessor CPU in Verbindung, der auf einen internen Speicher MEM Zugriff hat. Die Datenkarte weist ebenfalls einen nicht im Einzelnen dargestellten internen Speicher und einen zentralen Prozessor auf.

Die Datenübertragung zwischen dem Tachographen DTCO und der Datenkarte DC erfolgt mittels eines Sitzungsschlüssels verschlüsselt, wobei während der Verschlüsselung und der Entschlüsselung die zentralen Prozessoren CPU des Tachographen DTCO und der Datenkarte DC unter anderem eine modulare Inverse eines Eingangswertes A bestimmen. Hierzu machen die Prozessoren CPU von dem in 2 dargestellten Modul KRY Gebrauch.

Das Modul KRY ist Bestandteil eines Ablaufes der Verschlüsselung. Der Eingangswert a wird an das Modul KRY übergeben und binnen dieses Moduls an das Modul Mod Inv weitergegeben. Das Modul Mod Inv bestimmt zunächst eine Zufallszahl C und multipliziert diese mit dem Eingangswert a zu einem Produkt d. Mittels des Moduls M wird die modulare Inverse e des Produktes d bestimmt und anschließend mit der Zufallszahl c multipliziert. Ein Rückgabewert r wird diesem Produkt gleichgesetzt und an das Modul KRY als Ergebnis zurückgegeben.


Anspruch[de]
Verfahren zur seitenkanalangriffsresistenten Verschlüsselung und/oder Entschlüsselung von Daten mittels einer Recheneinheit, wobei in einem Schritt der Verschlüsselung und/oder Entschlüsselung ein Rückgabewert (r) als modulare Inverse eines Eingangswertes (a) mittels eines Moduls (M) bestimmt wird, dadurch gekennzeichnet, dass

– in einem ersten Unterschritt ein erstes Produkt (d) aus dem Eingangswert (a) und einer Zufallszahl (c) erzeugt wird,

– in einem zweiten Unterschritt das Modul (M) die modulare Inverse (e) des ersten Produktes (d) bestimmt,

– in einem dritten Unterschritt ein zweites Produkt (b) der Zufallszahl (c) mit der modularen Inversen (e) bestimmt wird,

–in einem vierten Unterschritt der Rückgabewert (r) gleich dem zweiten Produkt (b) gesetzt wird.
Verfahren nach Anspruch 1 oder 2, dadurchgekennzeichnet, dass die Zufallszahl (c) , das erste Produkt (d), das zweite Produkt (b) und die modulare Inverse (e) nach Bestimmung des Rückgabewertes (r) gelöscht werden. Tachograph mit einer Recheneinheit, wobei die Recheneinheit Daten verschlüsselt und/oder entschlüsselt und derart ausgebildet ist, dass in einem Schritt der Verschlüsselung und/oder Entschlüsselung ein Rückgabewert (r) als modulare Inverse eines Eingangswertes (a) mittels eines Moduls (M) der Recheneinheit bestimmt wird, dadurch gekennzeichnet, dass die Recheneinheit

– in einem ersten Unterschritt ein erstes Produkt (d) aus dem Eingangswert (a) und einer Zufallszahl (c) erzeugt,

– in einem zweiten Unterschritt das Modul (M) die modulare Inverse (e) des ersten Produktes (d) bestimmt,

– in einem dritten Unterschritt die Recheneinheit ein zweites Produkt (b) der Zufallszahl (c) mit der modularen Inversen (e) bestimmt wird,

– in einem vierten Unterschritt die Recheneinheit den Rückgabewert (r) gleich dem zweiten Produkt (b) setzt.
Mobiler Datenträger, insbesondere als Datenkarte ausgebildeter Datenträger, mit einer Recheneinheit, wobei die Recheneinheit Daten verschlüsselt und/oder entschlüsselt und derart ausgebildet ist, dass in einem Schritt der Verschlüsselung und/oder Entschlüsselung ein Rückgabewert (r) als modulare Inverse eines Eingangswertes (a) mittels eines Moduls (M) der Recheneinheit bestimmt wird, dadurch gekennzeichnet, dass die Recheneinheit

– in einem ersten Unterschritt ein erstes Produkt (d) aus dem Eingangswert (a) und einer Zufallszahl (c) erzeugt,

– in einem zweiten Unterschritt das Modul (M) die modulare Inverse (e) des ersten Produktes (d) bestimmt,

– in einem dritten Unterschritt die Recheneinheit ein zweites Produkt (b) der Zufallszahl (c) mit der modularen Inversen (e) bestimmt wird,

– in einem vierten Unterschritt die Recheneinheit den Rückgabewert (r) gleich dem zweiten Produkt (b) setzt.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com