DE10129241A1 - Multifunktionaler Rechner - Google Patents
Multifunktionaler RechnerInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2123—Dummy operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization 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.
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).
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.
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.
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.
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)
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)
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)
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 |
-
2001
- 2001-06-18 DE DE10129241A patent/DE10129241B4/de not_active Expired - Fee Related
-
2002
- 2002-05-16 AU AU2002314075A patent/AU2002314075A1/en not_active Abandoned
- 2002-05-16 WO PCT/EP2002/005429 patent/WO2002103494A2/de not_active Application Discontinuation
Patent Citations (1)
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 |