DE10129241A1 - Multifunktionaler Rechner - Google Patents

Multifunktionaler Rechner

Info

Publication number
DE10129241A1
DE10129241A1 DE10129241A DE10129241A DE10129241A1 DE 10129241 A1 DE10129241 A1 DE 10129241A1 DE 10129241 A DE10129241 A DE 10129241A DE 10129241 A DE10129241 A DE 10129241A DE 10129241 A1 DE10129241 A1 DE 10129241A1
Authority
DE
Germany
Prior art keywords
information
arithmetic unit
data
command
coupling device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10129241A
Other languages
English (en)
Other versions
DE10129241B4 (de
Inventor
Stefan Rueping
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10129241A priority Critical patent/DE10129241B4/de
Priority to AU2002314075A priority patent/AU2002314075A1/en
Priority to PCT/EP2002/005429 priority patent/WO2002103494A2/de
Publication of DE10129241A1 publication Critical patent/DE10129241A1/de
Application granted granted Critical
Publication of DE10129241B4 publication Critical patent/DE10129241B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung schafft einen Rechner, der ein erstes Rechenwerk (1) und ein zweites Rechenwerk (2) aufweist. In dem ersten Rechenwerk (1) werden erste Informationen, die einen ersten Befehl und/oder eine erste Datenmenge umfassen, verarbeitet, während in dem zweiten Rechenwerk (2) zweite Informationen, die einen zweiten Befehl und/oder eine zweite Datenmenge umfassen, verarbeitet. Der Rechner weist ferner eine Verkopplungseinrichtung (5) zum Empfangen der ersten Informationen und zum Liefern der zweiten Informationen zu dem zweiten Rechenwerk (2) auf. Die Verkopplungseinrichtung (5) ist ausgebildet, um die zweiten Informationen abhängig von den ersten Informationen so zu erzeugen, daß die zweiten Informationen von den ersten Informationen unterschiedlich sind.

Description

  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Datenverarbeitung und insbesondere auf das Gebiet einer Datenverarbeitung von sicherheitskritischen Daten.
  • Rechnersysteme, die geheime Informationen verwenden, müssen zum Erreichen eines sicheren Betriebs gegenüber Analyseangriffen feindlicher Personen geschützt werden. Ein Typ von Analyseangriffen stellen SPA-Angriffe (SPA = Simple Power Analysis = Einfach-Leistungsanalyse) und DPA-Angriffe (DPA = Differential Power Analysis = differentielle Leistungsanalyse) dar. Bei diesen Methoden werden geheime Informationen aus sicherheitskritischen Systemen durch Schwankungen der Versorgungsspannungen analysiert, wodurch Rückschlüsse auf geheime Informationen gezogen werden können. Die Angreifer gehen dabei so vor, daß zunächst vorbestimmte Informationen als sicherheitskritische Informationen in das System eingegeben werden und das sich bei der Verarbeitung derselben ergebende Strom- bzw. Leistungs-Profil aufgenommen wird. Die für eine Vielzahl von eingegebenen Informationen gewonnenen Leistungsprofile lassen sich für einen feindlichen Angriff auf geheime sicherheitskritische Daten verwenden, indem bei dem angegriffenen System die Stromversorgungszuleitungen der Verarbeitungseinheiten, die die geheimen Informationen verarbeiten, abgegriffen und ein Leistungsprofil aufgenommen wird, aus dem sich mittels der aufgezeichneten Leistungsprofile von bekannten Informationen Rückschlüsse auf die geheimen Informationen ziehen lassen. Damit ein System hohe Sicherheitsanforderungen einhalten kann, müssen folglich solche Schwankungen weitgehend unterdrückt werden, bzw. dürfen keinerlei Aussagekraft besitzen.
  • Ein bekanntes Verfahren besteht darin, zusätzliche zu dem Rechenwerk, das die sicherheitskritischen geheimen Daten verarbeitet, ein zweites Rechenwerk vorzusehen, das zufällig erzeugte Daten und/oder Befehle verarbeitet, wobei dasselbe die gleiche Leistungszuführung wie das sicherheitskritische System aufweist, so daß bei einer Analyse des Gesamtstromprofils keine Rückschlüsse auf das Stromprofil des sicherheitskritischen Systems gezogen werden kann. Ein Nachteil dieses Verfahrens besteht darin, daß kein Schutz gegenüber Angriffen besteht, bei denen das System einer statistischen Analyse unterzogen wird und die durch das zusätzliche Rechenwerk hervorgerufene Schwankungen herausgemittelt werden, so daß wiederum Rückschlüsse auf das Stromprofil des sicherheitskritischen Systems und folglich auf die geheimen Daten erhalten werden können.
  • Um Analysen von Stromprofilen vollständig auszuschalten, wird bei bekannten Systemen eine Dual-Rail Logik verwendet, die in Zusammenhang mit einer Vorlade-Systematik auf einer Bit-Ebene eingesetzt wird. Dabei wird ein Signal doppelt, d. h. im Original und invertiert, geführt. Das Vorladen beider Signale auf einen gleichen Pegel bewirkt, daß stets nur ein Weg geschaltet ist, so daß die Stromaufnahme stets gleich ist. Die Implementierung einer Dual-Rail Logik weist den Nachteil auf, daß eine Design-Automation, d. h. eine automatisierte Erzeugung der erforderlichen Schaltungstechnik, nicht verfügbar ist, wodurch sehr aufwendige sogenannte Full-Custom Entwurfsverfahren erforderlich sind, bei denen der Schaltungsaufbau der Dual Rail Logik für jedes System entworfen werden muß. Dadurch ergeben sich aufwendige lange Entwicklungszeiten, die eine schnelle potentielle Marktreife verhindern.
  • Ferner weist die Dual-Rail Logik den Nachteil einer unflexiblen Verarbeitung von Informationen auf, derart, daß bei der Verarbeitung von nicht-sicherheitskritischen Daten keine Leistungssteigerung gegenüber der Verarbeitung sicherheitskritischer Daten erreicht wird. Darüberhinaus erfolgt die Durchführung der sicherheitskritischen Berechnung stets durch die gleichen Bauelemente, was eine feindliche Analyse geheimer Daten erleichtert.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept für eine verbesserte Datenverarbeitung zu schaffen.
  • Diese Aufgabe wird durch eine Vorrichtung nach Anspruch 1 and ein Verfahren nach Anspruch 19 gelöst.
  • Die vorliegende Erfindung basiert auf der Erkenntnis, daß bei einem Rechner mit mehreren Rechenwerken durch ein Bereitstellen einer Verkopplungseinrichtung Informationen für ein Rechenwerk unter Verwendung von Informationen aus einem anderen Rechenwerk derart erzeugt werden können, daß die erzeugten Informationen einem Nutzungszweck der Rechenwerke angepaßt sind.
  • Ein Vorteil der vorliegenden Erfindung besteht darin, daß das Erzeugen von Informationen durch die Verkopplungseinrichtung bei einem Ausführungsbeispiel verwendet werden kann, um wahlweise sicherheitskritische Informationen zu verarbeiten oder nicht-sicherheitskritische Informationen mit erhöhter Verarbeitungskapazität zu verarbeiten.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1a-d Blockschaltbilder von Ausführungsbeispielen der vorliegenden Erfindung;
  • Fig. 2a und 2b Blockschaltbilder von weiteren Ausführungsbeispielen der vorliegenden Erfindung;
  • Fig. 3 ein Blockschaltbild eines weiteren Ausführungsbeispiels der vorliegenden Erfindung.
  • Bei einem ersten Ausführungsbeispiel, das in Fig. 1a gezeigt ist, ist ein Eingang 6a zum Empfangen von sicherheitskritische Daten, wie beispielsweise kryptographischen Daten, mit einem Dateneingang eines ersten Rechenwerks 1 und einer Verkopplungseinrichtung 5 verbunden. Ferner ist ein zweiter Eingang 6b zum Empfangen von sicherheitskritischen Befehlen mit einem Befehlseingang des ersten Rechenwerks 1 und der Verkopplungseinrichtung 5 verbunden. Das erste Rechenwerk 1 und das zweite Rechenwerk 2 sind ausgebildet, um Befehls- und Datenwörter mit einer Länge von N Bits zu empfangen und zu verarbeiten. Ein dritter Eingang 6c zum Empfangen eines Kompensationsbefehls ist ferner mit einem Befehlseingang des zweiten Rechenwerks 2 und der Verkopplungseinrichtung 5 verbunden, wobei die Verkopplungseinrichtung 5 ferner mit einem Dateneingang des zweiten Rechenwerks 2 verschaltet ist.
  • Das erste und zweite Rechenwerk weisen ferner eine gemeinsame Leistungszuführung (nicht gezeigt) zum Liefern von elektrischer Leistung auf. Die gemeinsame Leistungszuführung ermöglicht, daß ein Analysieren von geheimen Daten durch eine Leistungsanalyse verhindert ist, wie es nachfolgend erklärt werden wird. Bei einem bevorzugten Ausführungsbeispiel ist der Schaltungsaufbau auf einem einzigen Chip mit einer einzigen Leistungsversorgung untergebracht, wodurch eine Analyse weiter erschwert ist.
  • Das erste Ausführungsbeispiel stellt ein erstes Beispiel eines Sicherheits-Modus dar, dessen Betrieb nachfolgend beschrieben wird.
  • Das erste Rechenwerk empfängt dabei von dem Eingang 6a ein sicherheitskritisches Datenwort und ein sicherheitskritisches Befehlswort mit jeweils einer Breite von N Bits. Das zweite Rechenwerk 2 empfängt ferner von dem Eingang 6c das Kompensationsbefehlswort mit einer Breite von N Bits. Zusätzlich werden das sicherheitskritische Datenwort und das sicherheitskritische Befehlswort und das Kompensationsbefehlswort in die Verkopplungseinrichtung 5 eingegeben. Die Verkopplungseinrichtung 5 berechnet unter Verwendung des sicherheitskritischen Datenworts, des sicherheitskritischen Befehlsworts und des Kompensationsbefehlsworts ein Datenwort einer Breite von N Bits, das sich von dem sicherheitskritischen Datenwort unterscheidet und in den Dateneingang des zweiten Rechenwerks 2 eingegeben wird.
  • Bei einer darauffolgenden Rechenverarbeitung berechnet das erste Rechenwerk 1 unter Verwendung des eingegebenen sicherheitskritischen Datenworts und des sicherheitskritischen Befehlsworts erste Nutz-Ausgangsdaten, während in dem zweiten Rechenwerk 2 unter Verwendung des in der Verkopplungseinrichtung 5 erzeugten Datenworts und des in den Eingang 6c eingegebenen Befehlsworts zweite Ausgangsdaten berechnet werden, die an einen Ausgang des zweiten Rechenwerks 2 ausgegeben werden. Das erste Rechenwerk 1 und das zweite Rechenwerk 2 werden dabei derart gesteuert, daß die Berechnungen auf eine parallele Weise, d. h. zeitgleich, erfolgen.
  • Es sei an dieser Stelle bemerkt, das in dem Sicherheitsmodus die in dem zweiten Rechenwerk 2 durchgeführte Kompensationsberechnung lediglich zur Erzeugung eines gewünschten Profils der elektrischen Leistung in der gemeinsamen Zuführleitung dient, so daß die in dem zweiten Rechenwerk 2 bei der Kompensationsberechnung berechneten Ausgangsdaten für keine weitere Nutzung vorgesehen sind.
  • Vorzugsweise weisen das erste und zweite Rechenwerk 2 jeweils einen Registerspeicher auf, in dem die erzeugten ersten bzw. zweiten Ausgangsdaten zwischengespeichert werden. Die in dem ersten Rechenwerk 1 berechneten sicherheitskritischen Ausgangsdaten können von dem Registerspeicher, der dem ersten Rechenwerk 1 zugeordnet ist, ausgelesen und einer weiteren Verarbeitung oder Nutzung zugeführt werden.
  • Bei dem obig beschriebenen Ausführungsbeispiel wird der Sicherheitsaspekt dadurch erreicht, daß die Verkopplungseinrichtung 5 das erzeugte und in das zweite Rechenwerk 2 eingegebene Kompensationsdatenwort so erzeugt, daß bei einem Rechenschritt in der gemeinsamen Leistungszuführung ein Profil einer elektrischen Leistung erzeugt wird, das keine Rückschlüsse auf die sicherheitskritischen Informationen zulässt. Dadurch wird insbesondere bei einem Vorsehen des ersten Rechenwerks 1, des zweiten Rechenwerks 2 und der Verkopplungseinrichtung 5 auf einem einzigen Chip mit einer gemeinsamen Leistungszuführung eine hohe Sicherheit der Verarbeitung von sicherheitskritischen Daten erreicht.
  • Die Unabhängigkeit des Profils der elektrischen Leistung wird vorzugsweise dadurch erreicht, daß das Kompensationsbefehlswort gleich dem sicherheitskritischen Befehlswort ist und die Verkopplungseinrichtung 5 das Kompensationsdatenwort derart erzeugt, daß die Quersumme von Bits mit einem logischen Zustand 1 über das in dem ersten Rechenwerk 1 verarbeitete sicherheitskritische Datenwort und das Kompensationsdatenwort einen vorbestimmten konstanten Wert, beispielsweise N, aufweist. Dadurch ergibt sich zur Berechnung des Kompensationsdatenworts in der Verkopplungseinrichtung 5 ein relativ einfacher Algorithmus.
  • Ferner kann alternativ eine Unabhängigkeit von den sicherheitskritischen Informationen dadurch erreicht werden, daß das Kompensationsdatenwort so erzeugt wird, daß das gemeinsame Leistungsprofil bei der parallelen Verarbeitung der sicherheitskritischen Informationen und der Kompensationsinformationen entsprechend zu der Dual-Rail Logik konstant gehalten wird. Dies weist jedoch den Nachteil auf, das ein potentieller Angreifer sofort erkennt, daß das System im Sicherheitsmodus arbeitet. Dieser Nachteil kann durch ein Verschalten der Verkopplungseinrichtung 5 mit einem Zufallsgenerator beseitigt werden, wobei ein von der Verkopplungseinrichtung 5 erzeugtes Kompensationswort, das ein Konstanthalten des Leistungsprofils ergeben würde, mit einem zufällig erzeugten Datenwort addiert wird, um ein Kompensationsdatenwort zu erhalten, das unabhängig von den sicherheitskritischen Daten ist und ein veränderliches gemeinsames Leistungsprofil erzeugt.
  • Ein Vorteil der Verwendung einer Verkopplungseinrichtung zur Erzeugung des Kompensationsdatenworts ergibt sich aus der Tatsache, das dieselbe eine Einrichtung darstellt, die das Erzeugen der Informationen auf eine automatisierte Weise und auf einer höheren Ebene als der Bitebene durchführt. Dadurch wird einerseits eine große Flexibilität bezüglich der Verwendung der Verkopplungseinrichtung 5 erreicht und anderseits eine Entwurfsautomation ermöglicht wird, die die Entwicklungszeit zur Implementierung in einem Schaltungsaufbau gegenüber bekannten Verfahren wesentlich verkürzt.
  • Die Flexibilität zeigt sich beispielsweise dadurch, daß die Verkopplungseinrichtung 5 eine flexible Realisierung eines unabhängigen Leistungsprofils ermöglicht. Wie oben erwähnt wurde, kann bei dem ersten Ausführungsbeispiel das Eingangs- Kompensationsbefehlswort beispielsweise gleich dem sicherheitskritischen ersten Befehlswort gewählt werden, oder das Kompensationsbefehlswort, das in den Eingang 6c eingegeben wird, kann auf eine zufällige Art und Weise erzeugt sein.
  • Fig. 1b zeigt ein zweites Ausführungsbeispiel der vorliegenden Erfindung. Bei diesem Ausführungsbeispiel wird im Gegensatz zu dem ersten Ausführungsbeispiel ein Kompensationsdatenwort verwendet, um in der Verkopplungseinrichtung 5 ein Kompensationsbefehlswort für eine Kompensationsberechnung in dem zweiten Rechenwerk zu berechnen. Dazu ist die Verkopplungseinrichtung 5 mit einem Eingang 6d zum Empfangen eines Kompensationsdatenworts verbunden, wobei derselbe ferner mit dem Dateneingang des zweiten Rechenwerks verbunden ist. Das Kompensationsdatenwort wird über den Eingang 6d sowohl in die Verkopplungseinrichtung 5 als auch in das zweite Rechenwerk eingegeben. Ferner werden wie bei dem ersten Ausführungsbeispiel das sicherheitskritische Datenwort und das sicherheitskritische Befehlswort in das erste Rechenwerk 1 und in die Verkopplungseinrichtung 5 eingegeben. Die Verkopplungseinrichtung 5 erzeugt das Kompensationsbefehlswort aus den sicherheitskritischen Informationen, die das sicherheitskritische Datenwort und das sicherheitskritische Befehlswort umfassen, und dem Kompensationsdatenwort derart, daß bei dem darauffolgenden Rechenschritt das Leistungsprofil eine Unabhängigkeit von den sicherheitskritischen Daten aufweist. Das zur Erzeugung des Kompensationsbefehlsworts verwendete Kompensationsdatenwort kann dabei ferner auf eine zufällige Art und Weise erzeugt sein oder gleich dem sicherheitskritischen Datenwort sein.
  • Fig. 1c zeigt ein drittes Ausführungsbeispiel der vorliegenden Erfindung. Im Gegensatz zu dem ersten und zweiten Ausführungsbeispiel weist das dritte Ausführungsbeispiel lediglich die Eingänge 6a und 6b auf. Bei diesem Ausführungsbeispiel werden das für die Kompensationsberechnung in dem zweiten Rechenwerk benötigte Kompensationsbefehlswort und Kompensationsdatenwort in der Verkopplungseinrichtung aus dem sicherheitskritischen Datenwort und dem sicherheitskritischen Befehlswort berechnet und in das zweite Rechenwerk eingegeben.
  • Ein viertes Ausführungsbeispiel ist unter Bezugnahme auf Fig. 1d gezeigt. Bei diesem Ausführungsbeispiel ist eine Daten- Wahl-Einrichtung 10 vorgesehen, die mit dem Eingang 6c und 6d verbunden ist, um wahlweise ein Kompensationsdatenwort, ein Kompensationsbefehlswort oder keines derselben zur Erzeugung des Kompensationsbefehlsworts und/oder des Kompensationsdatenworts zu verwenden. Die Umschaltung zwischen den beiden Betriebsmodi erfolgt auf eine zufällige Art und Weise, um eine funktionelle Analyse des Schaltungsaufbaus zu erschweren. Die Wahlfreiheit bei der Erzeugung der Kompensationsinformationen, die sich aus der Flexibilität der Verkopplungseinrichtung ergibt, liefert somit einen zusätzlichen Sicherheitsaspekt.
  • Ein fünftes Ausführungsbeispiel der vorliegenden Erfindung ist unter Bezugnahme auf Fig. 2a dargestellt. Das gezeigte Ausführungsbeispiel entspricht dem ersten Ausführungsbeispiel, wobei jedoch bei diesem Ausführungsbeispiel zusätzlich eine Schaltungseinrichtung 11 vorgesehen ist, die wahlweise das erste Rechenwerk 1 oder das zweite Rechenwerk 2 auswählt, um die Verarbeitung der sicherheitskritischen Datenwörter und Befehlswörter durchzuführen. Die Zuordnung des Rechenwerks zur Verarbeitung der sicherheitskritischen Informationen erfolgt dabei zufällig, so daß es für einen potentiellen Angreifer nicht bekannt oder nachvollziehbar ist, welches Rechenwerk die sicherheitskritischen Nutzdaten verarbeitet und welches Rechenwerk lediglich zu kompensatorischen Zwecken verwendet wird. Vorzugsweise erfolgt dabei ein Wechsel des Rechenwerks zur Verarbeitung der sicherheitskritischen Informationen lediglich dann, wenn Zustände auftreten, bei denen die den Rechenwerken zugeordneten Registerspeicher keine Informationen aufweisen, wodurch das Umladen von internen Registerinhalten und damit verbundene Probleme vermieden werden. Durch diese, auf Zufall beruhende Auswahl wird eine lokale Abhängigkeit des für die Verarbeitung der sicherheitskritischen Informationen zuständigen Rechenwerks vermieden und die Sicherheit des Systems weiter erhöht.
  • Hierbei zeigt sich die durch die Verwendung der Verkopplungseinrichtung 5 erreichte Flexibilität dadurch, daß das System nicht nur variabel bezüglich der verwendeten Kompensationsinformationen zur Erzeugung eines unabhängigen Leistungsprofils sondern auch variabel bezüglich der Auswahl des Rechenwerks ist, das die sicherheitskritische Berechnung bzw. die Kompensations-Berechnung durchführt.
  • In Fig. 2b ist ein sechstes Ausführungsbeispiel gezeigt, das dem in Fig. 1a gezeigten ersten Ausführungsbeispiel entspricht, wobei bei diesem Ausführungsbeispiel zusätzlich ein Schalter 7 und eine Steuereinrichtung 8 vorgesehen ist. Die Steuereinrichtung steuert den Schalter 7, um ein wahlweises Umschalten von einem Sicherheits-Betriebsmodus zu einem Nicht-Sicherheits-Betriebsmodi zu ermöglichen.
  • Bei einem ersten Nicht-Sicherheits-Betriebsmodus empfängt und verarbeitet lediglich das erste Rechenwerk Daten und Befehle mit einer Breite von N Bits betrieben, wobei keine Steigerung der Verarbeitungskapazität gegenüber dem Sicherheitsmodus erzielt wird.
  • Bei einem zweiten Nicht-Sicherheits-Betriebsmodus, der einen Parallel-Verarbeitungs-Modus, darstellt, wird die Verkopplungseinrichtung von dem zweiten Rechenwerk getrennt, so daß das erste und zweite Rechenwerk jeweils unabhängig voneinander sind. Das erste Rechenwerk empfängt dabei erste Informationen, die ein erstes Datenwort und ein erstes Befehlswort mit jeweils einer Länge von N Bits umfassen, während das zweite Rechenwerk zweite Informationen empfängt, die ein zweites Datenwort und ein zweites Befehlswort mit jeweils einer Länge von N Bits umfassen. Nachdem das erste Datenwort und das erste Befehlswort an das erste Rechenwerk 1 eingegeben sind und das zweite Datenwort und das zweite Befehlswort an das zweite Rechenwerk 2 eingegeben sind, werden die Informationen in dem ersten Rechenwerk 1 und die Informationen in dem zweiten Rechenwerk 2 in einem Rechenschritt parallel verarbeitet. Die Ergebnisse der Rechenoperationen werden an den Ausgang des jeweiligen Rechenwerks ausgegeben und in den jeweiligen Registerspeichern der Rechenwerke zwischengespeichert, wo sie zur weiteren Verwendung aus dem Speicher ausgelesen werden können. Die Aufteilung der Informationen und Verteilung derselben an die Rechenwerke erfolgt mittels einer geeigneten Schalteinrichtung wie beispielsweise einem Multiplexer 9 der die ersten und zweiten Informationen von den Eingängen 6a-d empfängt und zu dem ersten und zweiten Rechenwerk, der Verkopplungseinrichtung und einem Eingang des Schalters 7 liefert ist.
  • Bei einem weiteren Betriebsmodus, der als ein Langwort-Modus bezeichnet wird, wird das erste Rechenwerk 1 und das zweite Rechenwerk 2 über die Verkopplungseinrichtung 5 derart verschaltet, daß das erste Rechenwerk 1 und das zweite Rechenwerk 2 zusammen ein Rechenwerk zur Verarbeitung von 2 N Bits bilden. Bei diesem Betriebsmodus werden an die Eingänge 6a-6d Eingangs-Informationen angelegt, die ein Befehlswort einer Länge von 2 N Bits und ein Datenwort einer Länge von 2 N Bits umfassen.
  • In einem Rechenschritt werden durch die Verarbeitung der Informationen in dem ersten und zweiten Rechenwerk 2 erste bzw. zweite Ausgangsdaten erhalten. Die Verkopplungseinrichtung 5 ist dabei derart ausgebildet und mit dem ersten und zweiten Rechenwerk 2 verschaltet, daß die bei der darauffolgenden Verarbeitung des ersten und zweiten Befehlsworts und Datenworts in dem ersten bzw. zweiten Rechenwerk erhaltenen ersten und zweiten Ausgangsdaten mit jeweils einer Breite von N Bits zusammengenommen ein Ausgangsdatenwort einer Breite von 2 N Bits darstellen, das einem Ausgangsdatenwort einer Breite von 2 N Bits entspricht, das sich bei einer Durchführung einer Rechenoperation mit den Eingangs-Informationen in einem Rechenwerk einer Breite von 2 N Bits ergeben würde. Die Verkopplung des ersten und zweiten Rechenwerks mittels der Verkopplungseinrichtung 5 ermöglicht folglich in dem Lang-Wort- Modus eine Nutzung der beiden Rechenwerke entsprechend einem Rechenwerk einer Breite von 2 N Bits.
  • Die obig beschriebene Verwendung der Rechenwerke in mehreren Betriebsmodi ermöglicht eine optimale Nutzung der Rechenwerke entsprechend der Qualität der zu verarbeitenden Informationen mit einer maximal ausgeschöpften Verarbeitungskapazität.
  • Erfindungsgemäß können zusätzlich zu dem ersten und zweiten Rechenwerk eine Mehrzahl von Rechenwerken vorgesehen werden. Beispielsweise ist in Fig. 3 ein Ausführungsbeispiel gezeigt, bei dem vier Rechenwerke 1, 2, 3, 4 implementiert sind, die jeweils mit drei Verkopplungseinrichtungen 5 verschaltet sind. Der Übersichtlichkeit wegen sind die einzelnen Daten- und Befehlseingänge als ein Eingang 6 dargestellt, wobei ferner zugeordnete Daten- und Befehlsleitungen ebenso als zusammengefaßte Leitungen, die Daten- und Befehlsleitungen umfassen, dargestellt sind.
  • Durch die Implementierung von zusätzlichen Rechenwerken ergeben sich zusätzlich zu den Betriebsmöglichkeiten von Ausführungsbeispielen mit zwei Rechenwerken weitere Betriebsmöglichkeiten des Systems.
  • Beispielsweise kann bei einem Ausführungsbeispiel ein Rechenwerk ausgewählt sein, um sicherheitskritische Berechnungen durchzuführen, während die verbleibenden Rechenwerke ausgewählt sind, um Kompensationsberechnungen durchzuführen. Ferner kann oder können ein oder mehrere Rechenwerke durch das Anlegen eines NOP-Befehls (No-Operation-Befehls = Keine- Operation-Befehls) vorgesehen sein, um keine Rechenoperationen durchzuführen. Dies weist den Vorteil auf, daß der elektrische Leistungsverbrauch in dem Sicherheitsmodus gering gehalten wird, während dennoch eine Unabhängigkeit des Leistungsprofils erreicht ist. Nachteilig ist dabei, daß die mittlere elektrische verbrauchte Leistung unterhalb der mittleren Leistung liegt, die verbraucht wird, wenn sämtliche vier Rechenwerke Berechnungen durchführen, so daß ein potentieller Angreifer den geänderten Betriebsmodus erkennen kann und folglich auf ein Arbeiten im Sicherheitsmodus schließen kann.
  • Ferner können die Rechenwerke derart gesteuert werden, daß ein Rechenwerk sicherheitskritische Berechnungen durchführt, während ein anderes Rechenwerk als ein Kompensationsrechenwerk arbeitet, wobei die verbleibenden Rechenwerke nicht- sicherheitskritische Berechnungen entweder in einem Parallel- Verarbeitungs-Modus oder einem Langwort-Modus durchführen.
  • Ebenso können mehr als ein Rechenwerk ausgewählt werden, um sicherheitskritische Berechnungen durchzuführen, wobei die sicherheitskritischen Berechnungen in den ausgewählten mehreren Rechenwerken entweder parallel oder in einem gekoppelten sicherheitskritischen Lang-Wort-Modus durchgeführt werden können. Bezugszeichenliste 1 erstes Rechenwerk
    2 zweites Rechenwerk
    3 drittes Rechenwerk
    4 viertes Rechenwerk
    5 Verkopplungseinrichtung
    6 Eingang
    6a Eingang
    6b Eingang
    6c Eingang
    6d Eingang
    7 Schalter
    8 Steuereinrichtung
    9 Multiplexer
    10 Daten-Wahl-Einrichtung
    11 Schaltungseinrichtung

Claims (19)

1. Rechner mit folgenden Merkmalen:
einem ersten Rechenwerk (1) zum Verarbeiten von ersten Informationen, wobei die ersten Informationen einen ersten Befehl und/oder eine erste Datenmenge aufweisen;
einem zweiten Rechenwerk (2) zum Verarbeiten von zweiten Informationen, wobei die zweiten Informationen einen zweiten Befehl und/oder eine zweite Datenmenge aufweisen;
einer Verkopplungseinrichtung (5) zum Empfangen der ersten Informationen und zum Liefern der zweiten Informationen zu dem zweiten Rechenwerk (2), wobei die Verkopplungseinrichtung (5) ausgebildet ist, um die zweiten Informationen abhängig von den ersten Informationen so zu erzeugen, daß die zweiten Informationen zu den ersten Informationen unterschiedlich sind.
2. Rechner nach Anspruch 1, bei dem das erste Rechenwerk (1), das zweite Rechenwerk (2) und die Verkopplungseinrichtung (5) durch eine gemeinsame Leistungsversorgung versorgt sind.
3. Rechner nach Anspruch 1 oder 2, bei dem das erste Rechenwerk (1), das zweite Rechenwerk (2) und die Verkopplungseinrichtung (5) auf einem Chip integriert sind.
4. Rechner nach einem der Ansprüche 1 bis 3, bei dem die ersten oder zweiten Informationen kryptographische Informationen enthalten, wobei der Rechner ferner folgende Merkmale aufweist:
eine Einrichtung zum wahlweisen Liefern der kryptographischen Informationen entweder zu dem ersten oder zu dem zweiten Rechenwerk (2).
5. Rechner nach einem der Ansprüche 1 bis 4, bei dem die zweite Datenmenge Kompensationsdaten aufweist, wobei die Verkopplungseinrichtung (5) ausgebildet ist, um die Kompensationsdaten aus den ersten Informationen und dem zweiten Befehl zu erzeugen.
6. Rechner nach Anspruch 5, bei dem der erste Befehl gleich dem zweiten Befehl ist.
7. Rechner nach einem der Ansprüche 1 bis 4, bei dem der zweite Befehl einen Kompensationsbefehl aufweist, wobei die Verkopplungseinrichtung (5) ausgebildet ist, um den Kompensationsbefehl aus den ersten Informationen und der zweiten Datenmenge zu erzeugen.
8. Rechner nach Anspruch 7, bei dem die erste Datenmenge gleich der zweiten Datenmenge ist.
9. Rechner nach einem der Ansprüche 1 bis 4, bei dem die zweite Datenmenge Kompensationsdaten aufweist, die sich von der ersten Datenmenge unterscheiden, und der zweite Befehl einen Kompensationsbefehl aufweist, der sich von dem ersten Befehl unterscheidet.
10. Rechner nach Anspruch 6, bei dem die Verkopplungseinrichtung (5) ausgebildet ist, um die Kompensationsdaten aus den ersten Informationen und dem zweiten Befehl derart zu erzeugen, daß eine Quersumme von logischen Zuständen 1 der ersten und zweiten Datenmenge einen konstanten vorbestimmten Wert aufweist.
11. Rechner nach einem der Ansprüche 1 bis 10, bei dem die Verkopplungseinrichtung (5) ausgebildet ist, um die zweiten Informationen abhängig von den ersten Informationen so zu erzeugen, daß ein Leistungsprofil einer Leistung, die das erste und das zweite Rechenwerk (2) zum Verarbeiten der ersten bzw. zweiten Informationen verbraucht, zusätzlich zu einem konstanten Faktor zu einem Leistungsprofil unterschiedlich ist, das auftritt, wenn lediglich das erste Rechenwerk (1) oder das zweite Rechenwerk (2) arbeitet.
12. Rechner nach einem der Ansprüche 1 bis 11, der ferner folgende Merkmale aufweist:
einen Schalter, der mit der Verkopplungseinrichtung (5) und dem zweiten Rechenwerk (2) verbunden ist; und
eine Steuereinrichtung zum Steuern des Schalters, um die Verkopplungseinrichtung (5) von dem zweiten Rechenwerk (2) zu trennen, und um dem zweiten Rechenwerk (2) zweite Informationen zuzuführen, die nicht von der Verkopplungseinrichtung (5) abhängig von den ersten Informationen erzeugt sind.
13. Rechner nach Anspruch 12, bei dem die Steuereinrichtung ausgebildet ist, um dem ersten Rechenwerk (1) erste Informationen und dem zweiten Rechenwerk (2) zweite Informationen, die unabhängig von den ersten Informationen sind, zuzuführen und das erste (1) und zweite (2) Rechenwerk zu steuern, um die ersten und zweiten Informationen parallel zu verarbeiten.
14. Rechner nach Anspruch 12, bei dem die Steuereinheit ausgebildet ist, um dem ersten Rechenwerk (1) erste Informationen, die einen Befehl mit einer Länge von N Bits und eine Datenmenge mit einer Länge von N Bits umfassen, und dem zweiten Rechenwerk (2) zweite Informationen, die einen zweiten Befehl mit einer Länge von N Bits und eine zweite Datenmenge einer Länge von N Bits zuzuführen, wobei die ersten und zweiten Informationen von Langwort-Informationen abhängig sind, die Befehle mit einer Länge von 2 N Bits und eine Datenmenge mit einer Länge von 2 N Bits umfassen.
15. Rechner nach Anspruch 12, bei dem die ersten und zweiten Informationen von Langwort-Informationen derart abhängig sind, daß durch eine Verarbeitung der ersten und zweiten Informationen in dem ersten (1) und zweiten (2) Rechenwerk eine erste Ausgangsdatenmenge mit N Bits und eine zweite Ausgangsdatenmenge mit N Bits erzeugt wird, die einer Langwort- Ausgangsdatenmenge mit 2 N Bits entspricht, das bei einer Verarbeitung der Langwort-Informationen in einem Rechenwerk mit 2 N Bits erzeugt wird.
16. Rechner nach einem der Ansprüche 1 bis 15, das ferner einen ersten Speicher zum Speichern einer ersten Ausgangs- Datenmenge, die durch eine Verarbeitung der ersten Informationen in dem ersten Rechenwerk (1) erzeugt wird, und einen zweiten Speicher zum Speichern einer zweiten Ausgangs- Datenmenge aufweist, die bei einer Verarbeitung der zweiten Informationen in dem zweiten Rechenwerk (2) erzeugt wird.
17. Rechner nach einem der Ansprüche 1 bis 16, wobei der Rechner mehr als zwei Rechenwerke (1, 2, 3, 4) und eine Mehrzahl von Verkopplungseinrichtungen (5) aufweist.
18. Verfahren nach Anspruch 17, das ferner eine Einrichtung aufweist, um wahlweise kryptographische Informationen zu ausgewählten Rechenwerken zu liefern, wobei zumindest eines der Rechenwerke, die nicht zum Liefern der kryptographischen Informationen ausgewählt sind, einen NOP-Befehl erhält.
19. Verfahren zum Verarbeiten von Informationen mit folgenden Schritten:
Bereitstellen von ersten Informationen, wobei die ersten Informationen einen ersten Befehl und/oder eine erste Datenmenge aufweisen;
Empfangen der ersten Informationen in einer Verkopplungseinrichtung (5);
Erzeugen von zweiten Informationen abhängig von den ersten Informationen;
Liefern der ersten Informationen zu einem ersten Rechenwerk (1) zur Verarbeitung der ersten Informationen;
Liefern der zweiten Informationen zu einem zweiten Rechenwerk (2) zur Verarbeitung der zweiten Informationen.
DE10129241A 2001-06-18 2001-06-18 Multifunktionaler Rechner Expired - Fee Related DE10129241B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10129241A DE10129241B4 (de) 2001-06-18 2001-06-18 Multifunktionaler Rechner
AU2002314075A AU2002314075A1 (en) 2001-06-18 2002-05-16 Multifunctional computer
PCT/EP2002/005429 WO2002103494A2 (de) 2001-06-18 2002-05-16 Multifunktionaler rechner

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10129241A DE10129241B4 (de) 2001-06-18 2001-06-18 Multifunktionaler Rechner

Publications (2)

Publication Number Publication Date
DE10129241A1 true DE10129241A1 (de) 2003-01-02
DE10129241B4 DE10129241B4 (de) 2008-04-30

Family

ID=7688521

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10129241A Expired - Fee Related DE10129241B4 (de) 2001-06-18 2001-06-18 Multifunktionaler Rechner

Country Status (3)

Country Link
AU (1) AU2002314075A1 (de)
DE (1) DE10129241B4 (de)
WO (1) WO2002103494A2 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR122014004140B8 (pt) 2011-08-22 2023-03-28 Bayer Cropscience Ag Vetor recombinante ou construção recombinante, bem como métodos para obter e produzir uma planta de algodão ou célula vegetal tolerante a um inibidor de hppd, e para cultivar um campo de plantas de algodão

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574348A (en) * 1983-06-01 1986-03-04 The Boeing Company High speed digital signal processor architecture
EP0839344A1 (de) * 1995-07-20 1998-05-06 Dallas Semiconductor Corporation Mikroschaltung mit durch hardware und software geschütztem speicher
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
TW536672B (en) * 2000-01-12 2003-06-11 Hitachi Ltd IC card and microcomputer
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb

Also Published As

Publication number Publication date
WO2002103494A3 (de) 2003-09-25
AU2002314075A1 (en) 2003-01-02
DE10129241B4 (de) 2008-04-30
WO2002103494A2 (de) 2002-12-27

Similar Documents

Publication Publication Date Title
EP1410151B1 (de) Prozessor mit mehreren rechenwerken
DE102006004557A1 (de) Kryptografische Logikschaltung und Kryptografieverfahren
EP0010173A1 (de) Halbleiterplättchen mit verbesserter Prüfbarkeit der monolithisch hochintegrierten Schaltungen
DE4430195B4 (de) Verfahren zur Auswertung von Booleschen Ausdrücken
EP1044426B1 (de) Datenverarbeitungseinrichtung und verfahren zu deren spannungsversorgung
DE19821004C2 (de) Sequenzgenerator
DE10164416A1 (de) Verfahren zum Multiplizieren zweier Faktoren aus dem Galois-Feld sowie Multiplizierer zum Durchführen des Verfahrens
DE102004013480A1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE10129241B4 (de) Multifunktionaler Rechner
EP3289685B1 (de) Verfahren und vorrichtung zur erzeugung einer geräte-spezifischen kennung und geräte umfassend einen personalisierten programmierbaren schaltungsbaustein
DE102018217016A1 (de) Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System
DE10227618B4 (de) Logikschaltung
EP1080400B1 (de) Verfahren und vorrichtung zum verarbeiten von daten
DE1449564A1 (de) Recheneinrichtung fuer digitale Schnellrechner
DE69909118T9 (de) Vorrichtung und verfahren zur sicherung einer integrierten schaltung
EP1488566B1 (de) Schaltungsanordnung zum sicheren informationsaustausch zwischen einem sender und einem empfanger
DE1524211A1 (de) Datenverarbeitungsanlage
DE10225230B4 (de) Prozessor und Verfahren zum gleichzeitigen Ausführen einer Berechnung und eines Kopiervorgangs
DE10250831B3 (de) Vorrichtung und Verfahren zum Erzeugen einer pseudozufälligen Folge von Zahlen
DE69023034T2 (de) Datenverarbeitungssystem.
DE19960047B4 (de) Verfahren und Einheit zur sicheren Informationsbehandlung in einem kryptographischen Informationsverarbeitungssystem
DE10056826B4 (de) Vorrichtung und Verfahren zum Durchführen einer Addition von PKG-umcodierten Zahlen
DE10358358B4 (de) Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
DE10201444A1 (de) Rechenwerk und Verfahren zum Kombinieren eines ersten Operanden mit einem zweiten Operanden
DE3906238C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021020000

Ipc: G06F0021700000