DE60113721T2 - Logischer schaltkreis mit variablen internen polaritäten - Google Patents

Logischer schaltkreis mit variablen internen polaritäten Download PDF

Info

Publication number
DE60113721T2
DE60113721T2 DE60113721T DE60113721T DE60113721T2 DE 60113721 T2 DE60113721 T2 DE 60113721T2 DE 60113721 T DE60113721 T DE 60113721T DE 60113721 T DE60113721 T DE 60113721T DE 60113721 T2 DE60113721 T2 DE 60113721T2
Authority
DE
Germany
Prior art keywords
function
logic
logic circuit
selection signal
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60113721T
Other languages
English (en)
Other versions
DE60113721D1 (de
Inventor
Sylvie Wuidart
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE60113721D1 publication Critical patent/DE60113721D1/de
Application granted granted Critical
Publication of DE60113721T2 publication Critical patent/DE60113721T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/72Protecting 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 in cryptographic circuits
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7266Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously

Description

  • Die vorliegende Erfindung betrifft die gesicherten integrierten Schaltungen und ein Verfahren zur Störung der Funktion von logischen Schaltkreisen, die in solchen integrierten Schaltungen vorhanden sind.
  • Die vorliegende Erfindung betrifft insbesondere die integrierten Schaltungen, die in Chipkarten, elektronischen Etiketts, elektronischen Badges und ganz allgemein in gesicherten tragbaren elektronischen Objekten angeordnet sind.
  • Auf herkömmliche Weise sind die mit Hilfe einer Chipkarte durchgeführten elektronischen Transaktionen dank eines Authentifizierungsverfahrens der Chipkarte gesichert, das einen kryptografischen Algorithmus einsetzt. Während eines solchen Authentifizierungsverfahrens sendet das für die Transaktion eingesetzte Terminal an die Chipkarte einen Zufallscode. Die Chipkarte muss dem Terminal antworten, wobei sie einen Authentifizierungscode erzeugt, der die durch den kryptografischen Algorithmus Transformierte des Zufallscodes ist. Das Terminal berechnet seinerseits die Transformierte des Zufallscodes und vergleicht das erhaltene Ergebnis mit dem von der Karte zurückgesandten. Wenn der von der Karte zurückgesandte Zufallscode gültig ist, ist die Transaktion autorisiert.
  • In der integrierten Schaltung einer Chipkarte wird ein solcher kryptografischer Algorithmus im Allgemeinen von einer Schaltung mit verkabelter Logik oder einem kryptografischen Co-Prozessor ausgeführt, dem ein in einer geschützten Zone des Speichers der integrierten Schaltung gespeicherter Geheimschlüssel zugeteilt ist. Es ist wesentlich, einen absoluten Schutz dieses Geheimschlüssels zu garantieren, da die bei den Authentifizierungsverfahren eingesetzten kryptografischen Algorithmen an sich bekannt sind und nur der Geheimschlüssel die Unverletzbarkeit des Authentifizierungsverfahrens garantiert.
  • Nun haben sich in den letzten Jahren die Techniken der Piraterie von integrierten Schaltungen wesentlich weiterentwickelt, und die Betrüger verfügen heute über ausgeklügelte Analysemethoden, die es ermöglichen, die Geheimschlüssel der kryptografischen Algorithmen durch Beobachtung gewisser logischer und/oder elektrischer Signale, die bei der Funktion einer integrierten Schaltung zum Tragen kommen, zu erkunden. Unter diesen Methoden basieren manche auf einer Beobachtung des von einer integrierten Schaltung während der Ausführung von vertraulichen Operationen verbrauchten Stroms. Es sind insbesondere die Analysemethoden vom Typ SPA („Single Power Analysis") und die Analysemethoden vom Typ DPA („Differential Power Analysis") zu unterscheiden, wobei letztgenannte insofern besonders gefährlich sind, als sie es ermöglichen, einen Geheimschlüssel zu erkunden, ohne dass es notwendig ist, die auf dem Datenbus der integrierten Schaltung umlaufenden Daten zu beobachten. Weitere Piraterie-Methoden werden mit Hilfe von elektrischen Sonden (so genannte „probing"-Methoden) eingesetzt und basieren auf einer Beobachtung der logischen Signale, die in den logischen Schaltungen, insbesondere in den kryptografischen Schaltungen, erscheinen. Zu diesem Zweck sind Öffnungen von geringen Abmessungen, die es ermöglichen, auf die Knoten der logischen Schaltungen zuzugreifen, in der Platte der integrierten Schaltung vorgesehen. Diese Öffnungen werden dann mit leitendem Material gefüllt, um an der Oberfläche der integrierten Schaltungen Kontaktzonen zu bilden, von denen aus die Polarität der logischen Signale beobachtet werden kann.
  • Um diesen Piraterie-Methoden zu entgegnen, sind verschiedene Gegenmaßnahmen bekannt, die beispielsweise darin bestehen, ein zufälliges Zeitsignal vorzusehen, Scheincodes zu verwenden, die Veränderungen des Stromverbrauchs der logischen Schaltungen mit Hilfe von Stromgeneratoren zu verschleiern, den Stromverbrauch dieser Schaltungen mit Hilfe von Lärmgeneratoren zu stören, usw...
  • Einige Beispiele für Methoden zur Bekämpfung der Piraterie vom Typ DPA sind in den Dokumenten DE 19 936 918 und Goubin et al.: „DES and different Power analysis", in Computer science, Band 1717, 12. August 1999, Seiten 158–172, Springer, Berlin beschrieben.
  • Allerdings ist bekannt, dass jede neu entwickelte Methode gegen Piraterie im Allgemeinen schließlich damit endet, dass sie von den Betrügern widerlegt wird, die zu diesem Zweck über umfangreiche Berechnungs- und Analysemittel verfügen. Im Allgemeinen müssen somit verschiedene Methoden gegen Piraterie kombiniert werden, um einen wirksameren Schutz zu gewährleisten.
  • Die vorliegende Erfindung soll ein Verfahren vorschlagen, das es ermöglicht, die Funktion einer integrierten Schaltung zu stören, insbesondere eines logischen Schaltkreises, der einen kryptografischen Algorithmus ausführt. Ein solches Verfahren wird als zusätzliches Mittel für den Kampf gegen die Piraterie entwickelt und ist dazu bestimmt, falls erforderlich, mit den anderen bekannten Methoden gegen Piraterie kombiniert zu werden, um die von den gesicherten integrierten Schaltungen gebotene Sicherheit zu verbessern.
  • Diese Ziel wird mit einem logischen Schaltkreis erreicht, der dazu vorgesehen ist, eine logische Funktion mit N Dateneingängen und M Datenausgängen auszuführen, wobei N mindestens gleich 2 ist und M mindestens gleich 1 ist, umfassend logische Gatter und/oder Transistoren, die derart angeordnet sind, dass sie die logische Funktion zumindest auf zwei unterschiedliche Arten ausführen, wobei die Art, nach der die logische Funktion ausgeführt wird, durch den Wert eines Funktionsauswahlsignals bestimmt wird, der an den logischen Schaltkreis angelegt wird.
  • So sind für identische Daten, die an den Eingang der logischen Schaltung angelegt werden, und unterschiedliche Werte des Funktionsauswahlsignals die Polaritäten gewisser interner Knoten des logischen Schaltkreises und/oder der Stromverbrauch des logischen Schaltkreises nicht identisch.
  • Nach einer Ausführungsart umfasst der logische Schaltkreis einen logischen Block, umfassend N Eingänge, die mit den Dateneingängen des logischen Schaltkreises verbunden sind, und M Ausgänge, die mit den Datenausgängen des logischen Schaltkreises verbunden sind, wobei der logische Block derart angeordnet ist, dass er eine erste logische Funktion oder eine zweite logische Funktion je nach dem Wert des Funktionsauswahlsignals erfüllt, und Mittel, um die an den logischen Block angelegten Daten umzukehren und um die von dem logischen Block gelieferten Daten umzukehren, wenn das Auswahlsignal einen bestimmten Wert aufweist.
  • Nach einer Ausführungsart umfassen die Mittel zur Umkehr der angelegten Daten Gatter EXKLUSIVES ODER, die an einem Eingang das Funktionsauswahlsignal empfangen.
  • Nach einer Ausführungsart umfasst der logische Schaltkreis logische Gatter, die die Funktion NICHT UND ausführen, wenn das Funktionsauswahlsignal einen ersten logischen Wert aufweist, und die Funktion NICHT ODER ausführen, wenn das Funktionsauswahlsignal einen zweiten logischen Wert aufweist.
  • Nach einer Ausführungsart ist der logische Schaltkreis mit einem Generator eines Zufallssignals verbunden, der derart angeordnet ist, dass er ein zufälliges Funktionsauswahlsignal liefert.
  • Nach einer Ausführungsart ist die logische Funktion eine kryptografische Funktion.
  • Die vorliegende Erfindung betrifft auch einen kryptografischen Schaltkreis, umfassend eine Vielzahl von kryptografischen Blöcken, jeweils umfassend einen erfindungsgemäßen logischen Schaltkreis.
  • Nach einer Ausführungsart ist der kryptografische Schaltkreis mit einem Generator eines Zufallssignals verbunden, der derart angeordnet ist, dass er an jeden kryptografischen Block ein zufälliges Funktionsauswahlsignal anlegt, dessen Wert von dem an die anderen kryptografischen Blöcke angelegten Funktionsauswahlsignal unabhängig ist.
  • Die Erfindung betrifft auch einen gesicherten integrierten Schaltkreis, umfassend eine Vielzahl von erfindungsgemäßen logischen Schaltkreisen, um an die logischen Schaltkreise ein Funktionsauswahlsignal zufälligen Typs anzulegen, dessen Wert zufällig zumindest nach jeder Rückstellung des integrierten Schaltkreises verändert wird.
  • Nach einer Ausführungsart umfasst der integrierte Schaltkreis eine Mikroprozessor-Zentraleinheit.
  • Nach einer Ausführungsart ist der integrierte Schaltkreis derart auf einem tragbaren Träger angeordnet, um eine Chipkarte oder jeden anderen gleichwertigen tragbaren Gegenstand zu bilden.
  • Die vorliegende Erfindung betrifft auch ein logisches Gatter, umfassend N Dateneingänge und einen Ausgang, eine erste Transistorgruppe, die derart angeordnet sind, dass sie eine erste logische Funktion ausführen, eine zweite Transistorgruppe, die derart angeordnet sind, dass sie eine zweite logische Funktion ausführen, und Funktionsauswahlmittel, die derart angeordnet sind, dass sie ein Funktionsauswahlsignal empfangen und am Ausgang des logischen Gatters die eine oder die andere der beiden logischen Funktionen je nach dem Wert des Funktionsauswahlsignals validieren.
  • Nach einer Ausführungsart umfassen die Funktionsauswahlmittel Transistoren, um von der Ausführung der einen oder der anderen der beiden Funktionen, je nach dem Wert des Funktionsauswahlsignals, betroffene Transistoren kurzzuschließen.
  • Nach einer Ausführungsart umfassen die Funktionsauswahlmittel Transistoren, die derart angeordnet sind, dass sie Leitungswege abschneiden, die durch Transistoren verlaufen, die von der Ausführung der einen oder der anderen der beiden Funktionen je nach dem Wert des Funktionsauswahlsignals betroffen sind.
  • Nach einer Ausführungsart umfasst das logische Gatter zwei Eingänge.
  • Nach einer Ausführungsart ist die erste logische Funktion die Funktion NICHT UND, und die zweite logische Funktion ist die Funktion NICHT ODER.
  • Die vorliegende Erfindung betrifft auch eine logische Schaltung, umfassend eine Vielzahl von erfindungsgemäßen logischen Gattern und einen Eingang, um ein an die logischen Gatter angelegtes Funktionsauswahlsignal zu empfangen.
  • Die vorliegende Erfindung betrifft auch ein Verfahren zur Störung eines logischen Schaltkreises, das dazu vorgesehen ist, eine logische Funktion mit N Dateneingängen und M Datenausgängen auszuführen, wobei N mindestens gleich 2 und M mindestens gleich 1 ist, umfassend einen Schritt, der darin besteht, in dem logischen Schaltkreis logische Gatter und/oder Transistoren vorzusehen, die derart angeordnet sind, dass sie die logische Funktion auf mindestens zwei unterschiedliche Arten ausführen, wobei die Art, nach der die logische Funktion ausgeführt wird, durch den Wert eines Funktionsauswahlsignals, das an den logischen Schaltkreis angelegt wird, bestimmt wird, wobei ein Schritt darin besteht, an den logischen Schaltkreis ein zufälliges Funktionsauswahlsignal anzulegen, und ein Schritt darin besteht, das Funktionsauswahlsignal zu bestimmten Zeitpunkten aufzufrischen, um die Funktion des logischen Schaltkreises zu stören.
  • Nach einer Ausführungsart umfasst das Verfahren die Schritte, die darin bestehen, im logischen Schaltkreis einen logischen Block vorzusehen, umfassend N Eingänge, die mit den Dateneingängen des logischen Schaltkreises verbunden sind, und M Ausgänge, die mit den Datenausgängen des logischen Schaltkreises verbunden sind, wobei der logische Block derart angeordnet ist, dass er eine erste logische Funktion oder eine zweite logische Funktion je nach dem Wert des Funktionsauswahlsignals ausführt, und logische Gatter vorzusehen, die derart angeordnet sind, dass die an den logischen Block angelegten Daten umgekehrt werden und die von dem logischen Block gelieferten Daten umgekehrt werden, wenn das Auswahlsignal einen bestimmten Wert aufweist.
  • Nach einer Ausführungsart ist der logische Block mit Hilfe von logischen Gattern hergestellt, die die Funktion NICHT UND ausführen, wenn das Funktionsauswahlsignal einen ersten logischen Wert aufweist, und die die Funktion NICHT ODER ausführen, wenn das Funktionsauswahlsignal einen zweiten logischen Wert aufweist.
  • Diese Gegenstände, Merkmale und Vorteile der vorliegenden Erfindung sowie weitere gehen detaillierter aus der nachfolgenden Beschreibung des erfindungsgemäßen Verfahrens und von Beispielen von logischen Schaltkreisen mit variabler Polarität gemäß der Erfindung hervor, die nicht einschränkenden Charakter haben und sich auf die beiliegenden Figuren beziehen, wobei:
  • 1 eine schematische Darstellung eines logischen Gatters mit variabler Polarität gemäß der Erfindung ist;
  • 2 ein elektrisches Schema ist, das eine Ausführungsart des logischen Gatters aus 1 darstellt;
  • 3 in Form von Blöcken einen logischen Schaltkreis mit variabler Polarität gemäß der Erfindung darstellt;
  • 4 ein Beispiel eines logischen Schaltkreises mit variabler Polarität gemäß der Erfindung darstellt;
  • 5A und 5B zwei logische Funktionen darstellen, die von der Schaltung mit variabler Polarität aus 4 je nach dem Wert eines an den logischen Schaltkreis angelegten Funktionsauswahlsignals ausgeführt werden,
  • 6A und 6B logische Signale darstellen, die an den Knoten der logischen Schaltung der 4 für zwei Werte des Funktionsauswahlsignals aufscheinen,
  • 7 in Form von Blöcken ein Ausführungsbeispiel einer kryptografischen Schaltung mit variabler Polarität darstellt, und
  • 8 in Form von Blöcken ein Beispiel einer Architektur eines gesicherten integrierten Schaltkreises darstellt, umfassend logische Schaltkreise mit variabler Polarität gemäß der Erfindung.
  • Die vorliegende Erfindung beruht auf der an sich dem Fachmann bekannten Tatsache, dass jede logische Funktion aus elementaren logischen Gattern vom Typ NICHT UND („NAND") oder vom Typ NICHT ODER („NOR") ausgeführt werden kann. Eine weitere Tatsache, auf der die Erfindung beruht, besteht darin, dass eine Architektur eines logischen Schaltkreises, die mit Hilfe eines Gatters NICHT UND verwirklicht ist, und eine identische Architektur eines logischen Schaltkreises, bei der die Gatter NICHT UND durch Gatter NICHT ODER ersetzt sind, zwei logische Funktionen F1 bzw. F2 ausführen, die gewisse Ähnlichkeiten aufweisen. Insbesondere ist das Ergebnis der Umwandlung von Daten A, B, C, ... durch die Funktion F1 das Umgekehrte des Ergebnisses der Umwandlung der umgekehrten Daten /A, /B, /C, ... durch die Funktion F2, was folgendermaßen geschrieben werden kann: F1(A, B, C, ...) = /[F2(/A, /B, /C, ...)] (1)
  • Auf der Grundlage dieses Verhältnisses schlägt die vorliegende Erfindung vor, logische Schaltkreise zu verwirklichen, die in der Lage sind, eine logische Funktion auf zwei unterschiedliche Arten auszuführen, einerseits mit Hilfe von Gattern NICHT UND und andererseits mit Hilfe von Gattern NICHT ODER.
  • Bevor Ausführungsbeispiele solcher logischer Schaltkreise beschrieben werden, wird in Verbindung mit den 1 und 2 ein logisches Gatter mit zwei Funktionsarten beschrieben, das verwendet werden kann, um solche logischen Schaltkreise zu verwirklichen. Ein solches logisches Gatter kann insbesondere die Elementarzelle eines computergestützten Ausführungssystems von logischen Schaltkreisen sein.
  • Das in 1 dargestellte Gatter 10 weist zwei Dateneingänge IN1, IN2, einen Hilfseingang AUX und einen Datenausgang OUT auf und umfasst ein Gatter NICHT UND 1 und ein Gatter NICHT ODER 2 mit je zwei Eingängen. Die Eingänge IN1, IN2 sind mit den entsprechenden Eingängen der Gatter 1 und 2 über zwei Schalter SW1, SW2 verbunden, die von einem Funktionsauswahlsignal R gesteuert werden, das an den Eingang AUX angelegt wird. Die Ausgänge der Gatter 1 und 2 sind mit dem Ausgang OUT über einen dritten Schalter SW3 verbunden, der ebenfalls von dem Signal R gesteuert wird. Wenn das Signal R gleich 0 ist, sind die Eingänge IN1, IN2 an die Eingänge des Gatters 1 angeschlossen, und der Ausgang des Gatters 1 ist an den Ausgang OUT angeschlossen. Wenn das Signal R gleich 1 ist, sind die Eingänge IN1, IN2 an die Eingänge des Gatters 2 angeschlossen, und der Ausgang des Gatters 2 ist an den Ausgang OUT angeschlossen. Unter der Annahme, dass das Gatter 10 am Eingang Bits A und B empfängt, führt somit das Gatter 10 die Funktion NICHT UND aus, wenn R gleich 0 ist, und die Funktion NICHT ODER, wenn R gleich 1 ist. Mit anderen Worten: OUT(R=0) = /(A·B) = NICHT UND (A, B) (2) OUT(R=1) = /(A + B) = NICHT ODER (A, B ) (3)
  • Nebenbei kann hier angemerkt werden, dass: /[NICHT ODER(A/B)] = /[/(/A + /B)] = /[A·B] = NICHT UND (A, B) (4)
  • So ist das Umgekehrte der Transformierten durch die Funktion NICHT ODER der umgekehrten Daten /A und /B gleich der Transformierten durch die Funktion NICHT UND der nicht umgekehrten Daten A und B, was einen Sonderfall des oben erwähnten allgemeinen Verhältnisses (1) darstellt.
  • 2 stellt ein Ausführungsbeispiel des logischen Gatters 10 mit Hilfe von Transistoren NMOS und PMOS dar. Das Gatter 10 umfasst eine Haltestufe im hohen Zustand SPU (Stufe „pull-up"), die durch eine Versorgungsspannung Vcc polarisiert ist, und eine Haltestufe im niedrigen Zustand SPD (Stufe „pull-down"), die an die Masse (GND) angeschlossen ist, wobei der Anschlusspunkt der beiden Stufen den Ausgangsknoten OUT des Gatters 10 bildet. Die Stufe SPU ist mit Hilfe eines Transistors PMOS verwirklicht und umfasst eine Stufe NOR1 in Serie mit einer Stufe NAND1. Die Stufe SPD wird mit Hilfe von Transistoren NMOS verwirklicht und umfasst eine Stufe NOR2 parallel mit einer Stufe NAND2. Die Stufe NOR1 umfasst zwei Transistoren in Serie TP1, TP2 und einen Transistor TP3 parallel mit diesen beiden Transistoren TP1, TP2, wobei die Quellen der Transistoren TP1 und TP3 die Spannung Vcc empfangen. Die Stufe NAND1, die zwischen der Stufe NOR1 und dem Ausgangsknoten OUT angeordnet ist, umfasst drei Transistoren TP4, TP5, TP6, die parallel angeordnet sind. Die Stufe NOR2 umfasst zwei Transistoren TN1, TN2 in paralleler Anordnung, die in Serie mit einem Transistor TN3 angeordnet sind, dessen Quelle an die Masse angeschlossen ist. Die Stufe NAND2 umfasst drei Transistoren TN4, TN5, TN6 in Serie, wobei die Quelle des Transistors TN6 an die Masse angeschlossen ist. Das Gatter 10 umfasst auch ein Umkehrgatter INV1 (das herkömmlich mit Hilfe eines Transistors PMOS und eines Transistors NMOS, die nicht dargestellt sind, verwirklicht ist), dessen Eingang an den Eingang AUX angeschlossen ist und dessen Ausgang ein Signal /R liefert. Der Eingang IN1 des Gatters 10, der das Bit A empfängt, ist an die Gate-Elektroden der Transistoren TP1, TP4, TN1, TN4 angeschlossen. Der Eingang IN2, der das Bit B empfängt, ist an die Gate-Elektroden der Transistoren TP2, TP5, TN2, TN5 angeschlossen. Der Eingang AUX, der das Signal R empfängt, ist an die Gate-Elektroden der Transistoren TP3 und TN3 angeschlossen. Der Ausgang des Gatters INV1, der das umgekehrte Signal /R liefert, ist an die Gate-Elektroden der Transistoren TP6, TN6 angeschlossen.
  • Wenn das Signal R gleich 1 ist und /R gleich 0 ist, werden die Transistoren TP3 und TN6 blockiert, und die Transistoren TP6 und TN3 sind nicht durchgängig. Die Stufe NAND1 wird von dem Transistor TP6 kurzgeschlossen, und die Stufe NAND2 wird gehemmt, wobei der Transistor TN6, der die Stufe NAND2 an die Masse anschließt, blockiert ist. Die Stufen NOR1 und NOR2 sind aktiv, und das Gatter 10 funktioniert wie ein Gatter NICHT ODER. Umgekehrt, wenn R gleich 0 und /R gleich 1 ist, wird die Stufe NOR1 kurzgeschlossen (TP3 durchgängig), und die Stufe NOR2 wird gehemmt (TN3 blockiert). Die Stufen NAND1 und NAND2 sind aktiv, und das Gatter 10 funktioniert wie ein Gatter NICHT UND.
  • Unter Bezugnahme auf 3 wird nun angenommen, dass ein logischer Schaltkreis 15 mit zwei Eingängen IN1, IN2 und einem Ausgang OUT, die eine bestimmte logische Funktion F1 ausführen, verwirklicht werden soll. Es wird auch angenommen, dass die Funktion F1 durch eine besondere Anordnung von logischen Gattern NICHT UND verwirklicht werden kann, was in der Praxis immer der Fall ist.
  • Nach einem ersten Aspekt des erfindungsgemäßen Verfahrens wird die Anordnung der Gatter NICHT UND beibehalten, aber die Gatter NICHT UND werden durch erfindungsgemäße Gatter 10 ersetzt, um einen logischen Block 11 zu bilden, der zwei Dateneingänge IN1', IN2', einen Datenausgang OUT' und einen Eingang AUX aufweist. Der logische Block 11 empfängt am Eingang AUX das Funktionsauswahlsignal R, das an die logischen Gatter 10, die ihn bilden (nicht dargestellt), angelegt wird. Ein solcher logischer Block 11 führt somit die Funktion F1 aus, wenn R gleich 0 ist, und führt eine Funktion F2 aus, wenn R gleich 1 ist, wobei die Gatter 10 nun als Gatter NICHT ODER funktionieren. Die Funktion F2 ist mit der Funktion F1 durch das oben erwähnte Verhältnis (1) verbunden.
  • Nach einem zweiten Aspekt des erfindungsgemäßen Verfahrens werden drei Gatter 12, 13, 14 vom Typ EXKLUSIVES ODER dann mit dem logischen Block 11 verbunden, um den kompletten logischen Schaltkreis 15 zu bilden. Jedes Gatter 12, 13, 14 empfängt an einem ersten Eingang das Funktionsauswahlsignal R. Der zweite Eingang des Gatters 12 ist an den Eingang IN1 des logischen Schaltkreises 15 angeschlossen, der zweite Eingang des Gatters 13 ist an den Eingang IN2 des logischen Schaltkreises 15 angeschlossen, und der zweite Eingang des Gatters 14 ist an den Ausgang OUT' des logischen Blocks 11 angeschlossen. Der Ausgang des Gatters 12 ist an den Eingang IN1' des logischen Blocks 11 angeschlossen, der Ausgang des Gatters 13 ist an den Eingang IN2' des logischen Blocks 11 angeschlossen, und der Ausgang des Gatters 14 bildet den Ausgang OUT des logischen Schaltkreises 15.
  • Wenn mit A und B die an die Eingänge IN1 und IN2 des Schaltkreises 15 angelegten Daten und mit A' und B' die an die Eingänge IN1', IN2' des Blocks 11 angelegten Daten bezeichnet werden, ist der logische Schaltkreis 15 durch die folgenden Verhältnisse definiert: wenn R = 0:
    A' = A, B' = B, OUT = OUT' OUT(R=0) = F1(A, B) (5)wenn R = 1:
    A' = /A, B' = /B, OUT = /OUT' OUT(R=1) = /F2(A', B') = /F2(/A, /B) (6)da sich die Gatter EXKLUSIVES ODER gegenüber den Daten A, B und dem Ausgang OUT' wie Umkehrgatter verhalten, wenn R gleich 1 ist, und wie Nicht-Umkehrgatter, wenn R gleich 0 ist.
  • Durch Kombination des Verhältnisses (6) und des allgemeinen Verhältnisses (1) ergibt sich, dass: OUT(R=1) = /F2(/A, /B) = F1 (A, B) = OUT(R=0) (7)
  • So gesehen führt der logische Schaltkreis 15 von seinen Eingängen und seinen Ausgängen aus immer dieselbe Funktion F1 aus, aber auf unterschiedliche Weise, wenn R = 0 und wenn R = 1. Daraus geht hervor, dass die Polaritäten, die die inneren Knoten des logischen Schaltkreises 15 aufweisen, für identische Daten A, B, die am Eingang angelegt werden, je nach dem Wert von R nicht dieselben sind. Wie dies deutlich aus der nachfolgenden Beschreibung hervorgeht, ermöglicht es somit die Zuteilung eines Zufallswerts für das Modusauswahlsignal R, die Polaritäten der internen Signale des logischen Schaltkreises 15 zufällig zu verändern, ohne das Ergebnis, das er liefert, zu verändern, und ermöglicht es ferner, seine Funktion und seinen Stromverbrauch zu stören.
  • 4 stellt ein Ausführungsbeispiel eines erfindungsgemäßen logischen Schaltkreises 30 in dem einfachen, als Beispiel gewählten Fall dar, in dem die Funktion F1 die Funktion „NICHT UND" mit vier Eingängen ist. Der Schaltkreis umfasst somit vier Eingänge IN1 bis IN4, die Bits A, B, C, D empfangen, und einen Ausgang OUT, der das Ergebnis liefert. Gemäß der oben vorgeschlagenen Architektur umfasst der Schaltkreis 30 einen logischen Block 20, der vier Eingänge IN1' bis IN4' und einen Ausgang OUT' sowie Gatter EXKLUSIVES ODER 21 bis 24, die zwischen den Eingängen IN1 bis IN4 und den Eingängen IN1' bis IN4' angeordnet sind, und ein Gatter EXKLUSIVES ODER 25 aufweist, das zwischen dem Ausgang OUT' und dem Ausgang OUT angeordnet ist.
  • Jedes Gatter 21 bis 25 empfängt an einem Eingang das Modusauswahlsignal R, das hier von einem Zufallssignalgenerator RGEN geliefert wird. Die Gatter 21 bis 24 empfangen an ihrem zweiten Eingang eines der Bits A, B, C, D und liefern an die Eingänge IN1' bis IN4' ein Bit A', B', C' bzw. D'. Das Gatter 25 empfängt an seinem zweiten Eingang den Ausgang OUT' des Blocks 20, und sein Ausgang bildet den Ausgang OUT des logischen Schaltkreises 30. Der logische Block 20 umfasst drei Gatter 10, 10', 10'', die erfindungsgemäß in Kaskade angeordnet sind und die herkömmlichen Gatter NICHT UND ersetzen, wobei jedes Gatter durch das Auswahlsignal R kontrolliert wird. Das Gatter 10 empfängt somit am Eingang die Bits A und B, das Gatter 10' empfängt am Eingang das Bit C' und ein Signal X1, das von dem Gatter 10 geliefert wird, und das Gatter 10'' empfängt am Eingang das Bit D' und ein von dem Gatter 10' geliefertes Signal X2.
  • In 5A ist zu sehen, dass der Block 20 gleichwertig mit drei Gattern NICHT UND in Kaskade ist, wenn R gleich 0 ist. In 5B ist zu sehen, dass der Block 20 gleichwertig mit drei Gattern NICHT ODER in Kaskade ist, wenn R gleich 1 ist. Gemäß dem Verhältnis (7) ist die von dem logischen Schaltkreis 30 von seinen Eingängen und seinem Ausgang aus gesehen ausgeführte Funktion die Funktion NICHT UND, unabhängig vom Wert des Signals R, dank der Gatter EXKLUSIVES ODER, die die Eingänge und den Ausgang der Schaltung 30 umkehren, wenn R gleich 1 ist.
  • 6A stellt die Funktion der Schaltung 30 dar, wenn die Bits A bis D, die an den Eingängen IN1 bis IN4 angelegt werden, eine Sequenz von bestimmten Werten aufweisen und wenn R gleich 0 ist. 6B stellt die Funktion der Schaltung 30 dar, wenn dieselbe Bitsequenz an die Schaltung 30 angelegt wird und wenn R gleich 1 ist. In jeder dieser Figuren sind die Chronogramme der Signale A', B', C', D', X1, X2, OUT' und OUT zu unterscheiden. Diese Figuren zeigen deutlich, dass die Polaritäten dieser verschiedenen Signale umgekehrt werden, wenn R gleich 1 ist, obwohl sich die von dem Ausgang OUT gelieferte Sequenz nicht ändert. So geht beispielsweise das Signal X1 auf 0 zu einem Zeitpunkt t1 über, wenn R gleich 0 ist, und geht auf 1 zu demselben Zeitpunkt über, wenn R gleich 1 ist.
  • Da der Wert des Modusauswahlsignals R vorzugsweise zufällig ist, weisen die an den Knoten eines solchen Schaltkreises auftretenden logischen Werte einen nicht vorhersehbaren und nicht wiederholbaren Charakter auf. Diese Eigenschaft eines erfindungsgemäßen logischen Schaltkreises ermöglicht es, gegen die Techniken der Piraterie, die im Oberbegriff erwähnt sind, anzukämpfen, insbesondere gegen die Piraterie durch Beobachtung der logischen Signale („probing") oder durch Beobachtung des Stromverbrauchs des logischen Schaltkreises (Angriff vom Typ DPA). Da der momentane Verbrauch des logischen Schaltkreises nämlich von der Anzahl von Umschaltungen auf 1 der interen Knoten des Schaltkreises (Spannung Vcc) abhängt, versteht es sich, dass dieser Verbrauch nicht derselbe ist, wenn R gleich 1 ist und wenn R gleich 0 ist, auch wenn die am Eingang angelegten Daten identisch sind.
  • In der Praxis wird das Modusauswahlsignal R zu bestimmten Zeitpunkten aufgefrischt (zufällig erneuert), die bei der Ausführung des logischen Schaltkreises zu bestimmen sind. Wenn die in den 6A, 6B dargestellte Sequenz mit einem Zeitsignal synchronisiert ist, kann das Signal R bei jedem Zeitzyklus und alle K Zeitzyklen aufgefrischt werden, oder auch vor jeder neuen Verwendung des logischen Schaltkreises 30 aufgefrischt werden (oder vor jedem Anlegen einer neuen Bitsequenz). Wenn das Signal R zufällig bei jedem Zeitzyklus oder alle K Zeitzyklen aufgefrischt wird, umfassen die Chronogramme, die die Funktion des Schaltkreises 30 darstellen, eine Kombination der Chronogramme der 6A und der Chronogramme der 6B je nach dem Wert (zufällig), den das Signal R bei jedem Zeitzyklus aufweist.
  • Die vorliegende Erfindung kann natürlich für die Verwirklichung jedes logischen Schaltkreistyps angewandt werden. Zu diesem Zweck reicht es aus, auf herkömmliche Weise die Topografie des logischen Schaltkreises zu bestimmen, der mit Hilfe von Gattern NICHT UND (oder von Gattern NICHT ODER) verwirklicht ist, dann logische Gatter mit zwei Funktionsarten gemäß der Erfindung an Stelle der herkömmlichen Gatter NICHT UND zu verwenden. Umkehr- und Nicht-Umkehrmittel je nach dem Wert des Signals R, wie beispielsweise die oben beschriebenen Gatter EXKLUSIVES ODER, werden dann an den Eingängen und Ausgängen des so verwirklichten logischen Blocks angeordnet.
  • Für den Fachmann ist klar verständlich, dass das erfindungsgemäße Störverfahren verschiedene weitere Ausführungsarten aufweisen kann. Obwohl im Vorhergehenden vorgeschlagen wurde, einen logischen Schaltkreis mit zwei Funktionsarten aus elementaren logischen Gattern 10 mit zwei Eingängen zu verwirklichen, können erfindungsgemäße logische Gatter mit drei Eingängen oder mehr vorgesehen werden. Auch kann die Ausführung eines logischen Schaltkreises mit zwei Funktionsarten im Bereich „Transistor" („transistor level") an Stelle im Bereich „Gatter" („gate level") erfolgen, wie dies oben beschrieben ist. Dies bedeutet, dass durch eine bestimmte Anordnung von Transistoren ein logischer Schaltkreis mit zwei Funktionsarten hergestellt werden kann, der dieselbe Funktion ausführt, unabhängig von der ausgewählten Funktionsart, wobei unterschiedliche Polaritäten an den interen Knoten je nach der ausgewählten Funktionsart vorhanden sind. Auch kann ein erfindungsgemäßer logischer Schaltkreis unterschiedliche Funktionsarten umfassen, die durch Kombination von anderen logischen Gattern als NICHT UND oder NICHT ODER erhalten werden, beispielsweise durch Kombinationen von Gattern ET, Gattern OU, Umkehrgattern, Gattern EXKLUSIVES ODER.
  • Obwohl im Vorhergehenden ein logischer Schaltkreis beschrieben wurde, der dieselbe Funktion auf zwei unterschiedliche Arten ausführt, fällt es andererseits in den Rahmen der vorliegenden Erfindung, einen logischen Schaltkreis vorzusehen, der dieselbe Funktion auf drei unterschiedliche Arten, auf vier unterschiedliche Arten, usw. ausführt. Zu diesem Zweck kann die folgende Methode beispielsweise angewandt werden: die auszuführende logische Funktion wird mit Hilfe eines ersten Typs von logischen Gattern synthetisiert, um einen ersten logischen Block L1 zu bilden, dann wird sie mit Hilfe eines zweiten Typs von logischen Gattern synthetisiert, um einen zweiten logischen Block L2 zu bilden, dann mit Hilfe eines dritten Typs von logischen Gattern, um einen dritten logischen Block L3 zu bilden, usw. Die logischen Blöcke L1, L2, L3, ... werden dann parallel angeordnet, ihre Eingänge werden an einen Multiplexer angeschlossen, und ihre Ausgänge werden an einen Demultiplexer angeschlossen, wobei der Multiplexer und der Demultiplexer von dem Auswahlsignal R (das in diesem Fall mehrere Bits umfasst) gesteuert werden. Je nach dem Wert des Signals R wird die logische Funktion von dem einen oder dem anderen der Blöcke L1, L2, L3, ... ausgeführt. Eine solche Ausführungsart ermöglicht es, gegen einen Angriff mit Strommonitoring vom Typ DPA zu kämpfen, da jeder logische Block seine eigene „Signatur" im Hinblick auf den Stromverbrauch besitzt. Außer dieser Methode, die darin besteht, logische Blöcke, die mit Hilfe von herkömmlichen logischen Gattern verwirklicht sind, parallel anzuordnen, kann ein von dem Auswahlsignal R gesteuerter logischer Multifunktionsschaltkreis auch aus erfindungsgemäßen logischen Multifunktionsgattern synthetisiert werden, um ineinander greifende logische Funktionen zu erhalten, die gemeinsame interne Knoten aufweisen, um gegen Angriffe durch Beobachtung von logischen Signalen („probing") anzukämpfen. Eine noch stärkere Integration kann auch durch eine Ausführung im Bereich „Transistor" („transistor level") des logischen Multifunktionsschaltkreises erzielt werden.
  • 7 stellt eine Anwendung des erfindungsgemäßen Verfahrens für die Verwirklichung eines kryptografischen Schaltkreises CRYC dar, der eine Vielzahl von Codierungsblöcken CRY0 bis CRYM aufweist, wobei jeder Block dazu vorgesehen ist, am Eingang Datenbits b0 bis bN zu empfangen und ein Codebit C0 bis CM zu liefern. Diese Architektur eines kryptografischen Schaltkreises ist dem Fachmann gut bekannt und entspricht beispielsweise einem kryptografischen Schaltkreis vom Typ „3DES". Gemäß dem erfindungsgemäßen Verfahren ist jeder Block CRY0 bis CRYM mit Hilfe von Gattern mit zwei Funktionsarten gemäß der Erfindung (nicht dargestellt) verwirklicht. Die Datenbits b0 bis bN werden an jeden Block CRY0 bis CRYM mit Hilfe von Gattern EXKLUSIVES ODER mit N Eingängen angelegt, die die Bits b0 bis bN und das Auswahlsignal R empfangen. Ebenso wird jedes Codebit Co bis CM am Ausgang jedes Blocks CRYM bis CRYM mit Hilfe von Gattern EXKLUSIVES ODER, die an ihrem anderen Eingang das Signal R empfangen, entnommen.
  • Vorzugsweise ist das an jeden Block CRY0 bis CRYM angelegte Signal R statistisch unterschiedlich zu dem Signal R, das an die anderen Blöcke angelegt wird. So empfangen der Block CRY0 und die Gatter EXKLUSIVES ODER, die dem Block CRY0 zugeordnet sind, ein Zufallsbit R0, der Block CRY1 und die dem Block CRY1 zugeordneten Gatter EXKLUSIVES ODER empfangen ein Zufallsbit R1 ..., der Block CRYM und die dem Block CRYM zugeordneten Gatter EXKLUSIVES ODER empfangen ein Zufallsbit RM.
  • 8 Stellt ein Beispiel für den Einbau des kryptografischen Schaltkreises CRYC in einen Siliziumchip dar, der einen gesicherten Mikroprozessor MP bildet. Ein solcher Siliziumchip ist dazu bestimmt, auf einem tragbaren Träger, beispielsweise einer Plastikkarte, befestigt zu werden, um eine Chipkarte oder jedes andere gleichwertige tragbare elektronische Objekt zu bilden. Der Mikroprozessor umfasst eine zentrale Bearbeitungseinheit CPU, einen Speicher MEM, den oben beschriebenen kryptografischen Schaltkreis CRYC sowie Register PREG, die mit Eingangs-/Ausgangsgattern P1, P2, ... Pn verbunden sind. Diese verschiedenen Elemente sind an einen Datenbus DTB angeschlossen. Ein Generator eines Zufallssignals RGEN ist vorgesehen, um Modusauswahlsignale R0 bis RM an jeden Codierungsblock des Schaltkreises CRYC zu liefern ( 7). Der Generator RGEN wird hier von der Einheit CPU bei jedem neuen Durchgang aktiviert, d.h. nach jeder Rücksetzung des Mikroprozessors. So weisen, wenn eine Bitkette an den Schaltkreis CRYC zu Beginn des Durchgangs für die Berechnung eines Authentifizierungscodes angelegt wird, die interen Knoten der Codierungsblöcke, die in dem Schaltkreis CRYC vorhanden sind, Polaritäten und einen Stromverbrauch auf, die im Vergleich mit dem vorhergehenden Durchgang nicht konstant sind, auch wenn die an den Schaltkreis CRYC angelegte Bitkette identisch ist. Die Polaritäten der interen Knoten der Codierungsblöcke variieren von einem Durchgang zum anderen nach einem jedem Block eigenen und von dem der anderen Codierungsblöcke unabhängigen Zufallsgesetz.
  • In der Praxis kann das erfindungsgemäße Störverfahren mit anderen bekannten Störverfahren kombiniert werden, wie beispielsweise Verfahren, die darin bestehen, Lärm in die Versorgungsschaltung einzuleiten, ein inneres Zufallszeitsignal zu verwenden, ...

Claims (18)

  1. Logischer Schaltkreis (15, 20, CRY0–CRYM), der dazu vorgesehen ist, eine logische Funktion (F1) mit N Dateneingängen und M Datenausgängen auszuführen, wobei N mindestens gleich 2 und M mindestens gleich 1 ist, dadurch gekennzeichnet, dass er logische Gatter (10) und/oder Transistoren (TP, TN) umfasst, die derart angeordnet sind, dass sie die logische Funktion zumindest auf zwei unterschiedliche Arten (F1, F2) ausführen, wobei die Art, nach der die logische Funktion ausgeführt wird, durch den Wert eines Funktionsauswahlsignals (R) bestimmt wird, der an den logischen Schaltkreis angelegt wird, so dass für identische Daten (A, B, C, D, b0–bN), die an den Eingang der logischen Schaltung angelegt werden, und unterschiedliche Werte des Funktionsauswahlsignals (R) die Polaritäten gewisser interner Knoten des logischen Schaltkreises und/oder der Stromverbrauch des logischen Schaltkreises nicht identisch sind.
  2. Logischer Schaltkreis nach Anspruch 1, umfassend: – einen logischen Block (15, 20), umfassend N Eingänge (IN1', IN2'), die mit den Dateneingängen (IN1, IN2) des logischen Schaltkreises verbunden sind, und M Ausgänge (OUT'), die mit den Datenausgängen (OUT) des logischen Schaltkreises verbunden sind, wobei der logische Block derart angeordnet ist, dass er eine erste logische Funktion (F1) oder eine zweite logische Funktion (F2) je nach dem Wert des Funktionsauswahlsignals erfüllt, und – Mittel (1214, 2125), um die an den logischen Block angelegten Daten umzukehren und um die von dem logischen Block gelieferten Daten umzukehren, wenn das Auswahlsignal einen bestimmten Wert (R = 1) aufweist.
  3. Logischer Schaltkreis nach einem der Ansprüche 1 und 2, bei dem die Mittel zur Umkehr der angelegten Daten Gatter EXKLUSIVES ODER umfassen, die an einem Eingang das Funktionsauswahlsignal (R) empfangen.
  4. Logischer Schaltkreis nach einem der Ansprüche 1 bis 3, umfassend logische Gatter (10), die die Funktion NICHT UND ausführen, wenn das Funktionsauswahlsignal einen ersten logischen Wert (R = 0) aufweist, und die Funktion NICHT ODER ausführen, wenn das Funktionsauswahlsignal einen zweiten logischen Wert (R = 1) aufweist.
  5. Logischer Schaltkreis nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass er mit einem Generator eines Zufallssignals (RGEN) verbunden ist, der derart angeordnet ist, dass er ein zufälliges Funktionsauswahlsignal (R) liefert.
  6. Logischer Schaltkreis nach einem der Ansprüche 1 bis 5, umfassend logische Gatter (10), jeweils umfassend: – eine erste Gruppe von Transistoren (1, TP4, TP5, TN4, TN5), die derart angeordnet sind, dass sie eine erste Funktion eines logischen Gatters erfüllen, – eine zweite Gruppe von Transistoren (2, TP1, TP2, TN1, TN2), die derart angeordnet sind, dass sie eine zweite Funktion eines logischen Gatters ausführen, und – Funktionsauswahlmittel (SW1, SW2, SW3, TP3, TP6, TN3, TN6, INV1), die derart angeordnet sind, dass sie das Funktionsauswahlsignal (R) empfangen und am Ausgang des logischen Gatters die eine oder die andere der beiden Funktionen eines logischen Gatters je nach dem Wert des Funktionsauswahlsignals validieren.
  7. Logischer Schaltkreis nach Anspruch 6, bei dem die Funktionsauswahlmittel der logischen Gatter Transistoren (TP3, TP6) umfassen, die derart angeordnet sind, dass sie Transistoren (TP1, TP2, TP4, TP5), die bei der Ausführung von der einen oder der anderen der beiden Funktionen eines logischen Gatters betroffen sind, je nach dem Wert des Funktionsauswahlsignals (R) kurzschließen.
  8. Logischer Schaltkreis nach Anspruch 7, bei dem die Funktionsauswahlmittel der logischen Gatter Transistoren (TN3, TN6) umfassen, die derart angeordnet sind, dass sie je nach dem Wert des Auswahlsignals (R) Leitungswege abschneiden, die durch Transistoren (TN1, TN2, TN4, TN5) verlaufen, die von der Ausführung der einen oder der anderen der beiden Funktionen eines logischen Gatters betroffen sind.
  9. Logischer Schaltkreis nach einem der Ansprüche 6 bis 8, bei dem die erste Funktion eines logischen Gatters die Funktion NICHT UND und die zweite Funktion eines logischen Gatters die Funktion NICHT ODER ist.
  10. Logischer Schaltkreis (CRY0–CRYM) nach einem der Ansprüche 1 bis 9, bei dem die logische Funktion, die von dem logischen Schaltkreis ausgeführt wird, eine kryptografische Funktion ist.
  11. Kryptografischer Schaltkreis (CRYC), dadurch gekennzeichnet, dass er eine Vielzahl von kryptografischen Blöcken (CRY0–CRYM) aufweist, jeweils umfassend einen logischen Schaltkreis nach Anspruch 10.
  12. Kryptografischer Schaltkreis nach Anspruch 11, der mit einem Generator eines Zufallssignals verbunden ist, der derart angeordnet ist, dass er an jeden kryptografischen Block ein zufälliges Funktionsauswahlsignal anlegt, dessen Wert von dem an die anderen kryptografischen Blöcke angelegten Funktionsauswahlsignal unabhängig ist.
  13. Gesicherter integrierter Schaltkreis, dadurch gekennzeichnet, dass er eine Vielzahl von logischen Schaltkreisen nach einem der Ansprüche 1 bis 10 und Mittel umfasst, um an die logischen Schaltkreise ein Funktionsauswahlsignal zufälligen Typs anzulegen, dessen Wert zufällig zumindest nach jeder Rückstellung des integrierten Schaltkreises verändert wird.
  14. Integrierter Schaltkreis (MP) nach Anspruch 13, dadurch gekennzeichnet, dass er eine Mikroprozessor-Zentraleinheit (CPU) umfasst.
  15. Integrierter Schaltkreis nach einem der Ansprüche 13 und 14, der auf einem tragbaren Träger angeordnet ist, um eine Chipkarte oder jeden anderen gleichwertigen tragbaren Gegenstand zu bilden.
  16. Verfahren zur Störung der Funktion eines logischen Schaltkreises (15, 20, CRY0–CRYM), das dazu vorgesehen ist, eine logische Funktion (F1) mit N Dateneingängen und M Datenausgängen auszuführen, wobei N mindestens gleich 2 und M mindestens gleich 1 ist, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst, darin bestehend: – in dem logischen Schaltkreis logische Gatter (10) und/oder Transistoren (TP, TN) vorzusehen, die derart angeordnet sind, dass sie die logische Funktion auf mindestens zwei unterschiedliche Arten ausführen, wobei die Art, nach der die logische Funktion ausgeführt wird, durch den Wert eines Funktionsauswahlsignals (R), das an den logischen Schaltkreis angelegt wird, bestimmt wird, – an den logischen Schaltkreis ein zufälliges Funktionsauswahlsignal (R) anzulegen, und – das Funktionsauswahlsignal zu bestimmten Zeitpunkten aufzufrischen, um die Funktion des logischen Schaltkreises zu stören.
  17. Verfahren nach Anspruch 16, umfassend die folgenden Schritte, die darin bestehen, im logischen Schaltkreis vorzusehen: – einen logischen Block (15, 20), umfassend N Eingänge (IN1', IN2'), die mit den Dateneingängen (IN1, IN2) des logischen Schaltkreises verbunden sind, und M Ausgänge (OUT'), die mit den Datenausgängen (OUT) des logischen Schaltkreises verbunden sind, wobei der logische Block derart angeordnet ist, dass er eine erste logische Funktion (F1) oder eine zweite logische Funktion (F2) je nach dem Wert des Funktionsauswahlsignals ausführt, und – logische Gatter (1214, 2125), die derart angeordnet sind, dass die an den logischen Block angelegten Daten umgekehrt werden und die von dem logischen Block gelieferten Daten umgekehrt werden, wenn das Auswahlsignal einen bestimmten Wert (R = 1) aufweist.
  18. Verfahren nach Anspruch 17, bei dem der logische Block mit Hilfe von logischen Gattern (10) hergestellt ist, die die Funktion NICHT UND ausführen, wenn das Funktionsauswahlsignal einen ersten logischen Wert (R = 0) aufweist, und die Funktion NICHT ODER ausführen, wenn das Funktionsauswahlsignal einen zweiten logischen Wert (R = 1) aufweist.
DE60113721T 2000-12-26 2001-12-19 Logischer schaltkreis mit variablen internen polaritäten Expired - Lifetime DE60113721T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0017002 2000-12-26
FR0017002A FR2818847A1 (fr) 2000-12-26 2000-12-26 Circuit logique a polarite variable
PCT/FR2001/004069 WO2002052782A1 (fr) 2000-12-26 2001-12-19 Circuit logique a polarites internes variables

Publications (2)

Publication Number Publication Date
DE60113721D1 DE60113721D1 (de) 2005-11-03
DE60113721T2 true DE60113721T2 (de) 2006-06-29

Family

ID=8858178

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60113721T Expired - Lifetime DE60113721T2 (de) 2000-12-26 2001-12-19 Logischer schaltkreis mit variablen internen polaritäten

Country Status (5)

Country Link
US (1) US7290151B2 (de)
EP (1) EP1346508B1 (de)
DE (1) DE60113721T2 (de)
FR (1) FR2818847A1 (de)
WO (1) WO2002052782A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE493699T1 (de) * 2004-01-27 2011-01-15 Nxp Bv Schutz vor leistungsanalyse-angriffen
ATE424566T1 (de) * 2004-11-22 2009-03-15 Freescale Semiconductor Inc Integrierte schaltung und verfahren zur gesicherten prüfung
DE102005004153A1 (de) * 2005-01-28 2006-08-10 Siemens Ag Paketfilter für Datenpakete in Uplink-Richtung
JP2007128184A (ja) * 2005-11-01 2007-05-24 Sharp Corp 消費電力解析対策機能付き半導体装置
DE102006010514B4 (de) * 2006-03-07 2008-09-18 Infineon Technologies Ag Elektrische Schaltung und Terminal
FR2954868A1 (fr) * 2009-12-24 2011-07-01 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
US8903092B2 (en) * 2010-06-04 2014-12-02 Maxim Integrated Products, Inc. High speed digital to analog converter with reduced spurious outputs
US9269418B2 (en) 2012-02-06 2016-02-23 Arm Limited Apparatus and method for controlling refreshing of data in a DRAM
FR2998693B1 (fr) * 2012-11-29 2015-03-13 Spirtech Procede de derivation de cles cryptographiques multiples a partir d'une cle maitresse dans un microprocesseur de securite
US9207750B2 (en) * 2012-12-14 2015-12-08 Intel Corporation Apparatus and method for reducing leakage power of a circuit
US11282414B2 (en) * 2015-10-22 2022-03-22 Drexel University Reduced overhead gate level logic encryption
CN105303127B (zh) * 2015-10-30 2018-05-22 南京航空航天大学 基于三态反相器的物理不可克隆函数电路结构及其应用
FR3064136B1 (fr) * 2017-03-14 2020-02-28 Stmicroelectronics (Rousset) Sas Ligne a retard configurable

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4968903A (en) * 1989-08-03 1990-11-06 Motorola Inc. Combinational static CMOS logic circuit
GB9707861D0 (en) * 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
WO1999067766A2 (en) * 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
DE19936918A1 (de) * 1998-09-30 2000-04-06 Philips Corp Intellectual Pty Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen
DE19850721A1 (de) * 1998-11-03 2000-05-18 Koninkl Philips Electronics Nv Datenträger mit Verschleierung des Stromverbrauchs
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
FR2789535B1 (fr) * 1999-02-04 2001-09-28 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
US6804782B1 (en) * 1999-06-11 2004-10-12 General Instrument Corporation Countermeasure to power attack and timing attack on cryptographic operations
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry

Also Published As

Publication number Publication date
US20040028234A1 (en) 2004-02-12
EP1346508A1 (de) 2003-09-24
US7290151B2 (en) 2007-10-30
WO2002052782A1 (fr) 2002-07-04
DE60113721D1 (de) 2005-11-03
FR2818847A1 (fr) 2002-06-28
EP1346508B1 (de) 2005-09-28

Similar Documents

Publication Publication Date Title
DE102005056814B4 (de) Kryptografiesystem und Datenverschlüsselungsverfahren
DE60113721T2 (de) Logischer schaltkreis mit variablen internen polaritäten
EP1177628B1 (de) Schaltungsanordnung zur erzeugung von strompulsen im versorgungsstrom integrierter schaltungen
DE102007009526B4 (de) Vorrichtung zum Speichern eines binären Zustandes
DE102009007246A1 (de) Pseudozufallszahlengenerator und Verfahren zum Erzeugen einer Pseudozufallszahlenbitsequenz
DE10232348A1 (de) Integrierte Halbleiterschaltung mit interner Busdatenübertragung und zugehöriges Datenübertragungsverfahren
DE60103515T2 (de) Kryptografisches verfahren zum schutz gegen betrug
DE10244738B3 (de) Vorrichtung und Verfahren zum Umsetzen und Addierer
DE10344647B3 (de) Schaltungsanordnung und Verfahren zur Verarbeitung eines Dual-Rail-Signals
DE10324422A1 (de) Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert
DE69928684T2 (de) Gegenmassnahmenvorrichtung in einem elktronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durch zu führen
DE10227618B4 (de) Logikschaltung
DE69934707T2 (de) Gegenmassnahmenvorrichtung in einem elektronischen bauteil um einen krypto-algorithmus mit geheimschlüssel durchzuführen
DE102004009144B4 (de) Logikzelle und Verfahren zum Durchführen einer Dual-Rail-Logikoperation und Speichermedium
DE102012219205A1 (de) Vorrichtung und Verfahren zur Ausführung eines kryptographischen Verfahrens
WO1994017591A1 (de) Rückgekoppeltes schieberegister zum erzeugen von pseudozufallszahlenfolgen darstellenden digitalen signalen
EP1495542B1 (de) Schaltungsanordnung und verfahren zur erzeugung eines dual-rail-signals
DE102015116049B3 (de) Nulldetektionsschaltkreis und maskierter boolescher oder-schaltkreis
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE10214118B4 (de) Schaltungsanordnung mit einem Sender und einem Empfänger
DE10162310A1 (de) Verfahren und Anordnung zur Übertragung von Signalen von erzeugenden Funktionseinheiten an verarbeitende Funktionseinheiten elektrischer Schaltungen
DE10258323A1 (de) Verschlüsselungsverfahren
AT10303U1 (de) Verfahren und schaltung zur durchführung von rechenoperationen
EP1459476B1 (de) Datenverarbeitungsvorrichtung zum Wechsel eines Schlüssels in unregelmässigen zeitlichen Abständen
DE10129241B4 (de) Multifunktionaler Rechner

Legal Events

Date Code Title Description
8364 No opposition during term of opposition