Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR PROCESSING DATA
Document Type and Number:
WIPO Patent Application WO/1999/063419
Kind Code:
A1
Abstract:
The invention relates to a method for encoding and/or decoding data, according to which the data are designated for encoding or decoding in an encoding or decoding step which is chosen from several alternative, equivalent encoding or decoding steps and/or consists of several partial encoding or decoding steps to be processed sequentially. The selected encoding or decoding step is chosen randomly and/or the encoding or decoding steps are modified randomly.

Inventors:
SEDLAK HOLGER
SOEHNE PETER
SMOLA MICHAEL
WALLSTAB STEFAN
Application Number:
PCT/DE1999/001461
Publication Date:
December 09, 1999
Filing Date:
May 14, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F7/72; G09C1/00; G06F21/55; G06F21/75; G06K19/073; H04L9/28; (IPC1-7): G06F1/00
Foreign References:
US4932053A1990-06-05
EP0790547A11997-08-20
US5404402A1995-04-04
US5533123A1996-07-02
DE19523466C11997-04-03
Attorney, Agent or Firm:
EPPING - HERMANN & FISCHER (Postfach 12 10 26 München, DE)
Download PDF:
Claims:
Patentansprüche
1. Datenverarbeitungsverfahren, bei dem in einer Verarbei tungseinheit (1,2) über eine Datenleitung zugeführte Daten verarbeitet werden, ein Zusatzsignal der Verarbeitungseinheit zugeführt wird, und bei dem die Verarbeitung in Abhängigkeit vom Zusatzsignal erfolgt.
2. Datenverarbeitungsverfahren nach Anspruch 1, bei dem das Zusatzsignal von einem Zufallszahlgenerator gesteuert ist.
3. Datenverarbeitungsverfahren nach Anspruch 2, bei dem an einer geeigneten Stelle ein Operand mit einer Zufallszahl be aufschlagt ist und an einer weiteren geeigneten Stelle ein entsprechender Kompensationsoperand mit der gleichen Zufalls zahl beaufschlagt ist.
4. Datenverarbeitungsverfahren nach Anspruch 2, bei dem die Verarbeitung der Daten aus mehreren Einzelschritten zusammen gesetzt ist, die aus mehreren Alternativen gleichwertigen Einzelschritten ausgewählt sind, und/oder aus mehreren se quentiell abzuarbeitenden veränderbaren Einzelschritten be steht, wobei die Auswahl und/oder die Veränderungauf Grundla ge des Zusatzsignals erfolgt.
5. Vorrichtung zum Durchführen des Verfahrens nach Anspruch 1, mit einer Recheneinrichtung (1), der Daten mittels einer Zuführvorrichtung (4) zugeführt werden, und einem Zufallsge nerator (3), und einer Steuervorrichtung (2), die die Rechen einrichtung steuert, wobei ein Ausgangssignal des Zufallsge nerators (3) die Steuereinrichtung (2) und/oder und die Re cheneinrichtung (2) beeinflußt.
6. Vorrichtung nach Anspruch 5, bei der mit der Steuerein richtung (2) eine Hilfsschaltung (6) verbunden ist, die von der Steuereinrichtung (2) auf Basis des von dem Zufallsgene rator (3) zugeführten Ausgangssignal gesteuert wird.
Description:
Beschreibung Verfahren und Vorrichtung zum Verarbeiten von Daten Die Erfindung betrifft ein Verfahren bzw. eine Vorrichtung zum Verarbeiten von Daten. Im Rahmen üblicher Datenverarbei- tung werden heutzutage zunehmend Sicherheitsaspekte relevant, da zunehmend versucht wird, unerlaubt Daten aus Datenverar- beitungsanlagen zu erhalten. Um die zu verhindern werden zu- nehmend kryptographische Verfahren angewandt, bei denen zu schützende Daten verschlüsselt werden. Hierzu wird unter an- derem beispielsweise das"Public-Key-Verfahren"verwendet, bei dem jeder Teilnehmer eines Systems ein Schlüsselpaar be- sitzt, das aus einem geheimen Schlüsselteil und einem öffent- lichen Schlüsselteil besteht. Die Sicherheit der Teilnehmer beruht nun darauf, daß der geheime Schlüsselteil Unbefugten nicht bekannt ist. Die Ausführung eines derartigen Verfahrens geschieht häufig in einer besonders gesicherten Komponente, wie beispielsweise einer Chipkarte aber auch in einem einmal in ein Gerät eingesetzten elektronischen Schaltkreis-auch als IC bekannt-, in denen dann das Verfahren selbst reali- siert ist. Somit braucht der geheime Teil des Schlüssels die- se gesicherte Komponente nicht zu verlassen.

Neuerdings sind jedoch Angriffe bekannt geworden, bei denen versucht wird, den Schlussel in der gesicherten Komponente auszuspähen. Dies soll beispielsweise durch Messung des Stromverbrauchs der gesicherten Komponente ermöglicht werden. Durch das häufig wiederholte Beobachten des Stromverlaufs und bei dem Bekannt sein wie der Verschlüsselungsvorgang durchge- führt ist, ist es schließlich möglich, Rückschlüsse auf den Schlüssel zu ziehen.

Der Erfindung liegt daher die Aufgab-e zugrunde, ein Verfahren zum Verschlüsseln bzw. eine Vorrichtung vorzusehen, bei der eine erhöhte Sicherheit vor dem Ausspähen eines geheimen Schlüsselwortes gegeben ist.

Diese Aufgabe wird erfindungsgemäß mit den Maßnahmen bzw.

Mitteln gemäß Patentanspruch 1 bzw. Patentanspruch 3 gelöst.

Dadurch, daß Verschlüsselungs-bzw. Entschlüsselungsverfahren so gesteuert bzw. Operationen begleitend zu diesem Verfahren gesteuert werden, daß sich auch bei einer häufig wiederholten Messung von von außen zugänglichen Parametern, wie beispiels- weise dem Stromverbrauch, keine Rückschlüsse auf den verwen- deten Schlüssel ziehen lassen.

Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben. Nachfolgend wird die Erfindung unter Bezugnahme auf die Zeichnung anhand von Ausführungsbei- spielen erläutert.

Hierbei zeigen : Fig. 1 ein erstes Ausführungsbeispiel einer erfindungsgemä- ßen Vorrichtung, Fig. 2 ein zweites Ausführungsbeispiel einer erfindungsgemä- ßen Vorrichtung, anhand der auch das erfindungsgemäße Verfahren erläutert wird und Fig. 3 ein drittes Ausführungsbeispiel Mit 1,2 ist eine zu schützende Schaltung, die beispielsweise aus einem Mikrocontroler 2 und einem Rechenwerk 1 besteht, bezeichnet. Der Mikrocontroler 2 steuert dabei das Rechenwerk 1, in dem beispielsweise ein Verschlüsselungsvorgang durchge- führt wird. Dieser zu schützenden Anordnung wird nunmehr ein Strom I zugeführt, der mittels einer Meßeinrichtung 7 detek- tierbar ist, wodurch Rückschlüsse auf die Vorgänge in der zu schützenden Schaltung 1,2 gezogen werden sollen. Es ist nun- mehr eine zusätzliche Schaltungseinrichtung 6 vorgesehen, die über einen Zufallsgenerator 3 gesteuert wird. Dieser Zufalls-

generator kann beispielsweise als ein Sequenzgenerator in Form eines linear rückgekoppelten Schieberegisters ausgeführt sein, welches mit einem Startwert geladen, eine pseudozufäl- lige Folge-Nullen und Einsen-erzeugt. Hierbei kann der Startwert entweder zufällig erzeugt sein oder von der Steuer- einrichtung beispielsweise auf Basis des Schlüsselwortes ge- neriert werden, auch ist eine Kombination beider Möglichkei- ten denkbar. Die somit vom Zufallsgenerator erzeugte Sequenz steuert nunmehr Schalter S in der zusätzlichen Schaltungsein- richtung 6, so daß Kondensatoren, die mit den Schaltern S in Reihe liegen, entsprechend der jeweils gerade erzeugten Zu- fallsfolge geladen werden. Auf diese Weise wird der Stromver- brauch der zu schützenden Schaltung 1,2 durch die zusätzli- che Schaltungseinrichtung 6, nämlich dem Ladestrom der Kon- densatoren, verschleiert. Um den Gesamtstromverbrauch dieser Einrichtung zu minimieren, ist es nicht notwendig, daß die zusätzliche Schaltungseinrichtung 6 fortwährend einen Beitrag zum Stromverbrauch liefert. Sie kann vielmehr darauf be- schränkt werden, nur in der Zeit während des Verschlüsselns bzw. Entschlüsselns zu arbeiten.

Fig. 2 zeigt ein weiteres erfindungsgemäßes Ausführungsbei- spiel. Hierbei liegt das Rechenwerk 1 und die Steuerungsein- richtung 2, der Zufallsgenerator 3 und eine Speichereinrich- tung 5 an einem gemeinsamen Bus 4, der von extern mittels ei- ner Schnittstelle 9 zugänglich ist. Über die Schnittstelle 9 werden beispielsweise zu verschlusselnde bzw. zu entschlüs- selnde Daten zugeführt. In der Speichervorrichtung 5 ist ein geheimes Schlüsselwort gespeichert, das gesteuert von der Steuereinrichtung 2 dem Rechenwerk 1 zugeführt wird, um die über die Schnittstelle 9 vom Datenbus zugeführten Daten zu verschlüsseln bzw. zu entschlüsseln. Der Zufallsgenerator 3 erzeugt nunmehr eine Zufallszahl, die der Steuereinrichtung 2 zugeführt wird, die nunmehr auf Grundlage dieser Zufallszahl das Rechenwerk 1 steuert. Hierbei sind nunmehr zwei Möglich- keiten denkbar.

Das Rechenwerk 1 wird auf Grundlage der Zufallszahl durch die Steuereinrichtung 2 so gesteuert, daß der Verschlüsselungs- oder Entschlüsselungsalgorithmus der jeweiligen Zufallszahl entsprechend moduliert wird. Das bedeutet, es erfolgen somit im Verschlüsselungs-bzw. Entschlüsselungsalgorithmus Re- chenoperartionen, die ohne abschließende Auswirkung auf die Verschlüsselung bzw. Entschlüsselung, mit zufälligen Werten arbeiten.

Nachfolgend werden Beispiele für die Variationen des Ver- schlüsselungs-bzw. Entschlüsselungsalgorithmus beschrieben.

Ein bekanntes Verfahren ist das sogenannte RSA-Verfahren. Es arbeitet in der Gruppe teile fremder Restklassen modulo N und setzt die Exponentiationen aus Multiplikationen modulo N zu- sammen. Die Varianten dieser Protokolle für elliptische Kur- ven modulo p besitzen aus modularen Additionen und Multipli- kationen zusammengesetzte Grundoperationen, sogenannte Addi- tionen und Verdoppelungen in der Punktgruppe der elliptischen Kurven, die ihrerseits zur Exponentiation zusammengesetzt werden. Die dritte große Gruppe besteht aus elliptischen Kur- ven über endlichen Körpern, deren Elementezahlen eine Prim- zahlpotenz, die häufig eine Potenz von 2 ist. Diese Struktu- ren werden gemeinhin als GF (pn) bezeichnet. Die Basisarithme- tik in diesen Körpern kann durchgeführt werden, indem man die Körperelemente als Polynome mit Koeffizienten aus dem Grund- körper GF (p) oder einem geeigneten Zwischenkörper darstellt, die durch Multiplikationen modulo einem festen Körperpolynom miteinander verknüpft sowie koeffizientenweise addiert wer- den. In diesem Sinne lassen sich Operationen in GF (pn) bzw. in elliptischen Kurven über diesen Körper als modulare Re- chenoperation auffassen. Dabei sind die nachfolgenden drei, dem erfindungsgemäßen Verfahren entsprechende Variationsmög- lichkeiten möglich. a) Der Modul N wird durch r*N ersetzt, wobei r eine von 0 verschiedene Zufallszahl ist. Im GF (pn)-Fall wird das Kör-

perpolynom durch sein Produkt mit einem zufällig gewählten von 0 verschiedenen Polynom ersetzt. Dieser Schritt ist vor Eintritt in die Rechnung oder einem Teilschritt durchzufüh- ren und nachfolgend durch eine Reduktion des Ergebnisses bzw. Teilergebnis modulo N zu kompensieren. b) Ein Eingangsparameter X einer modularen Rechenoperation wird durch den Wert X + s*N ersetzt, wobei s eine Zufalls- zahl ist. Dies kann in verschiedenen Rechenschritten durch- geführt werden. Auch eine entsprechende Veränderung mehre- rer Eingangsparameter der selben Operation ist möglich. c) Die Exponenten E werden durch E + t*q ersetzt, wobei t ei- ne Zufallszahl und q die sogenannte Ordnung der Basis der auszuführenden Exponentiation, oder ein geeignetes Vielfa- ches davon, ist. Potentielle Werte von q lassen sich häufig aus den Systemparametern ableiten. So kann man für die Ex- ponentiation modulo N q=p (N) und für elektrische Kurven q als die Anzahl der Punkte dieser Kurve wählen, wobei häufig noch bessere Wahlmöglichkeiten gegeben sind.

Eine weitere Möglichkeit besteht darin, daß alternative, gleichwertige Verschlüsselungs-bzw. Entschlüsselungsalgo- rithmen im Rechenwerk 1 durchführbar sind, die gemäß der zu- geführten Zufallszahl zufällig ausgewählt werden.

Bei der zuvor beschriebenen Modulation des Verschlüsselungs- bzw. Entschlüsselungsalgorithmus wird nicht nur der Stromver- brauch der Anordnung durch die Zufallszahl verändert, sondern ebenfalls die benötigte Rechenzeit. Auch diese kann als Meß- größe Rückschlüsse auf den Geheimschlüssel geben. Gleiches gilt für die zufallsgesteuerte Auswahl der äquivalenten Re- chenoperationen.

Eine dritte Möglichkeit ist darin zu sehen, daß ähnlich dem Ausführungsbeispiel nach Fig. 1 eine zusatzliche Schaltungs- einheit 6 vorgesehen ist (gestrichelt dargestellt), die eben- falls mit der Zuführeinrichtung 4 verbunden ist. Die Steuer- einrichtung 2 steuert nunmehr die zusätzliche Schaltungsein-

richtung 6 gemäß einer vom Zufallsgenerator 3 über die Zufüh- reinrichtung 4 zugeführten Zufallszahl. Eine Anlayse des Stromverbrauchs der dargestellten Gesamtanordnung ist somit nicht durch den Betrieb im Rechenwerk 1 allein bestimmt son- dern ebenfalls durch einen zufällig gesteuerten Stromver- brauch der zusätzlichen Schaltungseinheit.

Zusätzlich sei darauf hingewiesen, daß auch die Kombination von Modulation des jeweiligen Algorithmus mit einer zusätzli- chen Schaltungseinheit 6 im"Dummy-Betrieb"sinnvoll ist.

Fig. 3 zeigt ein drittes erfindungsgemäßes Ausführungsbei- spiel. Hierbei wird der Steuereinrichtung 2, in Form einer CPU über Datenanschluß D Daten zugeführt. Gleichzeitig wird der"Wait-State-Anschluß"WS mit einem Zufallsgenerator 3 verbunden. Dieser Zufallsgenerator 3 erzeugt nunmehr in zu- fälliger Folge"Einsen""Nullen". Entsprechend der Program- mierung wird nunmehr immer dann wenn eine"1"oder"0"am Eingang anliegt, der Betrieb der CPU gestoppt oder wieder aufgenommen. Dies führt dazu, daß der Betrieb der CPU zwar noch synchron zu einem nicht dargestellten Taktgenerator ar- beitet, jedoch keine einheitlichen Verarbeitungszyklen mehr aufweist. Da auf diese Weise kein fester einheitlicher Rahmen mehr vorliegt, sind durch Beobachtung der CPU deren Arbeits- vorgänge nicht mehr ohne weiteres nachvollziehbar und nur sehr erschwert analysierbar. Dies bedeutet, daß die in der CPU abzuarbeitenden Vorgänge"verrauscht"sind. Um die Hand- habbarkeit einer solchen Anordnung zu steigern, kann der Zu- fallsgenerator 3 so programmiert werden, daß festlegbar ist, in welchem zeitlichen Rahmen eine Verarbeitung maximal ab- läuft. Dies ist unter anderem dafür notwendig, um festzustel- len, ob das System insgesamt ausgefallen ist.

Es erscheint besonders sinnvoll eine Anordnung gemäß Fig. 3 mit einer Anordnung gemäß Fig. 1 oder 2 oder mit beiden zu kombinieren um somit beispielsweise die Analyse der Bearbei- tung eines Gesamtsystems zu erschweren.