DE102016008756B3 - DPA-resistant dual-rail precharged flip-flop with fault detection - Google Patents

DPA-resistant dual-rail precharged flip-flop with fault detection Download PDF

Info

Publication number
DE102016008756B3
DE102016008756B3 DE102016008756.0A DE102016008756A DE102016008756B3 DE 102016008756 B3 DE102016008756 B3 DE 102016008756B3 DE 102016008756 A DE102016008756 A DE 102016008756A DE 102016008756 B3 DE102016008756 B3 DE 102016008756B3
Authority
DE
Germany
Prior art keywords
rail
dual
precharged
flip
state
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.)
Withdrawn - After Issue
Application number
DE102016008756.0A
Other languages
German (de)
Inventor
Patentinhaber gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102016008756.0A priority Critical patent/DE102016008756B3/en
Application granted granted Critical
Publication of DE102016008756B3 publication Critical patent/DE102016008756B3/en
Withdrawn - After Issue legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)

Abstract

1. Die vorliegende Erfindung betrifft zwei unabhängige technische Probleme: (1) Die Stromaufnahme von Standardspeicherzellen in Mikrocontrollern hängt von den zu speichernden Daten ab. Dieser Zusammenhang wird für Angriffe auf geheime Daten über DPA (Differentielle Power-Analyse) ausgenutzt. In Sicherheits-Microcontrollern werden deshalb spezielle DPA-resistente Flip-Flops als Speicherzellen eingesetzt. Sie benötigen allerdings erheblich mehr Transistoren als Standard-Flip-Flops bei lediglich gleicher Funktionalität. (2) Der Zustand einer einzelnen Speicherzelle erlaubt bislang nicht, zu erkennen, ob ihr Zustand „illegal” ist, das heißt zum Beispiel durch einen Fehlerinjektions-Angriff unberechtigt verändert wurde. Die Erkennung illegaler Zustände geschieht bislang über zusätzliche Kontrollschaltkreise, die ihrerseits Transistoren kosten. Ziel der Erfindung ist es, beide technische Probleme durch eine einzelne Speicherzelle ohne zusätzliche Kontrollschaltkreise zu lösen und gleichzeitig alternativ die Funktionalität als Dreizustandsspeicher zur Verfügung zu stellen. 2. Die vorliegende Erfindung löst die Aufgabenstellung durch eine Schaltung, die im Kern aus drei miteinander verschränkten Gattern besteht, so dass die Halteknoten (A), (B) und (C) drei stabile Zustände bilden können. Diese Grundschaltung lässt sich einerseits als Flip-Flop in Dual-Rail-Precharged-Logik mit stabilem „Precharged”-Zustand nutzen und andererseits als Dreizustandsspeicher. Der Precharged-Zustand dient zusätzlich – wenn er unerlaubt auftritt – zur Erkennung von Fehlern, also zur Detektion möglicher Fehlerinjektions-Angriffe. 3. Anwendungsgebiet der vorliegenden Erfindung sind Microcontroller, die hohe Sicherheitsanforderungen bezüglich DPA-Resistenz und Fehlererkennung erfüllen müssen, z. B. Smartcard-Controller für Kreditkarten oder Conditional-Access-Systeme.1. The present invention relates to two independent technical problems: (1) The current consumption of standard memory cells in microcontrollers depends on the data to be stored. This relationship is exploited for attacks on secret data via DPA (Differential Power Analysis). Security microcontrollers therefore use special DPA-resistant flip-flops as memory cells. However, they require considerably more transistors than standard flip-flops with only the same functionality. (2) The state of a single memory cell so far does not allow to detect whether its state is "illegal", that is, for example, has been unjustifiably altered by an error injection attack. The detection of illegal states is done so far via additional control circuits, which in turn cost transistors. The aim of the invention is to solve both technical problems by a single memory cell without additional control circuits and at the same time alternatively to provide the functionality as a tri-state memory. 2. The present invention solves the problem by a circuit consisting essentially of three interlinked gates, so that the holding nodes (A), (B) and (C) can form three stable states. This basic circuit can be used on the one hand as a flip-flop in dual-rail precharged logic with a stable "precharged" state and on the other hand as a tri-state memory. The precharged state additionally serves - if it occurs without permission - for the detection of errors, ie for the detection of possible error injection attacks. 3. Field of the present invention are microcontrollers that have to meet high security requirements regarding DPA resistance and fault detection, z. For example, smart card controllers for credit cards or conditional access systems.

Description

Hintergrundbackground

Zwei wesentliche Anforderungen an Sicherheits-Microcontroller sind (1) Resistenz gegen Differentielle Power-Analyse (DPA), d. h. die Stromaufnahme bei der Verarbeitung geheimer Daten darf keine Rückschlüsse auf die Daten zulassen, und (2) Erkennung von Fehlerinjektions-Angriffen während der Ausführung sicherheitskritischer Prozesse.Two key requirements for safety microcontrollers are (1) differential power analysis (DPA) resistance; H. the current consumption during the processing of secret data must not allow any conclusions to the data, and (2) detection of error injection attacks during the execution of safety-critical processes.

Der erste Aspekt der vorliegenden Erfindung betrifft DPA-resistente Speicherzellen.The first aspect of the present invention relates to DPA-resistant memory cells.

DPA-resistente Speicherzellen, dazu gehören Dual-Rail-Percharged-Flip-Flops, sind ein Beitrag, um Anforderung (1) zu erfüllen. Dual-Rail bedeutet, dass Datenbits stets gleichzeitig als Paar von Bitwert und invertiertem Bitwert übertragen und gespeichert werden. Dadurch hängt die Gesamtladung des Leiterpaars bzw. der beiden zu Bit und invertiertem Bit gehörigen Halteknoten in der Speicherzelle nicht vom Bitwert ab.DPA-resistant memory cells, including dual-rail-percharged flip-flops, are a contribution to meeting requirement (1). Dual rail means that data bits are always transmitted and stored simultaneously as a pair of bit value and inverted bit value. As a result, the total charge of the pair of conductors or of the two holding nodes belonging to the bit and the inverted bit in the memory cell does not depend on the bit value.

Um zusätzlich zu verhindern, dass sich Speichervorgänge, bei welchen sich der Zustand der Speicherzelle ändert, von Speichervorgängen unterscheiden lassen, bei welchen sich der Zustand nicht ändert, werden bei Dual-Rail-Precharged-Flip-Flops die Halteknoten zwischen zwei Speichervorgängen immer beide gleichzeitig geladen oder entladen („Precharging”).In addition, to prevent memory operations in which the state of the memory cell changes from being distinguished from memory operations in which the state does not change, in dual-rail precharged flip-flops, the latch nodes between two memory operations always become both simultaneously loaded or unloaded ("precharging").

Ein Beitrag zur Erfüllung von Anforderung (2) wird durch Schaltkreise erbracht, welche „illegale” Speicher-Zustände, d. h. solche, die einem regulären Ablauf widersprechen, erkennen.A contribution to the fulfillment of requirement (2) is provided by circuits which "illegal" memory states, i. H. those that contradict a regular procedure recognize.

Der zweite Aspekt der vorliegenden Erfindung betrifft Speicherzellen, die illegale Zustände erkennen.The second aspect of the present invention relates to memory cells that detect illegal states.

Ein anderer zu Dual-Rail komplementärer Ansatz, um DPA-Angriffe zu erschweren, ist die Permutation von zu übertragenden Datenpaketen. n-Permutationen sind umkehrbare n:n-Abbildungen. Zur Realisierung von Permutationen in Hardware dienen konfigurierbare n:n-Lookup-Tables, die allerdings nur solche n-Tupel von Werten annehmen dürfen, die umkehrbare Abbildungen liefern. Um die geeigneten und nur die geeigneten LUT-Konfigurationen zu speichern, sind Speicherzellen erforderlich, die 1* 2* ... *n viele Zustände besitzen. Für n = 4 ist das zum Beispiel durch drei Einbit-Speicher (bi-stabiles Flip-Flop) und einen Dreizustandsspeicher (tri-stabiles Flip-Flop) zu realisieren.Another dual-rail complementary approach to complicate DPA attacks is the permutation of data packets to be transmitted. n-permutations are reversible n: n-mappings. Configurable n: n lookup tables are used to implement hardware permutations, but they can only accept n-tuples of values that provide reversible mappings. In order to store the appropriate and only the appropriate LUT configurations, memory cells having 1 * 2 * ... * n many states are required. For n = 4, this can be achieved, for example, by three single-bit memories (bi-stable flip-flop) and a three-state memory (tri-stable flip-flop).

Dreizustandsspeicher sind der dritte Aspekt der vorliegenden Erfindung.Three state memories are the third aspect of the present invention.

Stand der TechnikState of the art

Die Erfindungen

  • DE 10 2004 037 591 A1 2006.03.16 Hauck
  • US 8 901 979 B2 2014.12.02 Kuenemund
  • US 8 947 123 B2 2015.02.03 Verbauwhede
  • US 2009/0039919 A1 2009.02.12 Verbauwhede
  • US 2011/0225560 A1 2011.09.15 Verbauwhede BUZZI, M; GIACANE, L.; LUZZI, R. ET AL.: A Flip-Flop for the DPA Resistant Three-Phase Dual-Rail Pre-Charge Logic Family; IEEE Transactions an very large scale integration systems; November 2012; S. 2128–2132
beschreiben DPA-resistente Dual-Rail-Precharged-Flip-Flops.The invention
  • DE 10 2004 037 591 A1 2006.03.16 Hauck
  • US 8 901 979 B2 2014.12.02 Kuenemund
  • US 8,947,123 B2 2015/02/03 Verbauwhede
  • US 2009/0039919 A1 2009.02.12 Verbauwhede
  • US 2011/0225560 A1 2011.09.15 Verbauwhede BUZZI, M; GIACANE, L .; LUZZI, R. ET AL .: A Flip-Flop for the DPA Resistant Three-Phase Dual-Rail Pre-Charge Logic Family; IEEE Transactions on very large scale integration systems; November 2012; Pp. 2128-2132
describe DPA-resistant dual rail precharged flip flops.

DE 10 2004 037 591 A1 , US 8 947 123 B2 , US 2009/0039919 A1 und US 2011/0225560 A1 basieren auf Zweizustandsspeichern aus zwei kreuzgekoppelten Invertern, die während der Precharge-Phase von VCC bzw. GND abgekoppelt sind, um einen Kurzschluss zu vermeiden. DE 10 2004 037 591 A1 . US 8,947,123 B2 . US 2009/0039919 A1 and US 2011/0225560 A1 are based on two-state memories of two cross-coupled inverters which are decoupled during the precharge phase of VCC or GND, in order to avoid a short circuit.

US 8 901 979 B2 sowie BUZZI ET AL basieren auf Zweizustandsspeichern aus zwei kreuzgekoppelten NAND oder NOR-Gattern. US 8 901 979 B2 and BUZZI ET AL are based on two-state memories of two cross-coupled NAND or NOR gates.

BUZZI ET AL ist für die Dreiphasen Dual-Rail Precharged-Logik ausgelegt, wo zusätzlich zur Ladephase noch eine Entladephase für die Dual-Rail Leitungen dazu kommt.BUZZI ET AL is designed for three-phase dual-rail precharged logic, where in addition to the charging phase, a discharge phase for the dual-rail cables is added.

Ein DPA-resistentes, transparentes Dual-Rail-Precharged-Flip-Flop nach dem Stand der Technik ist ein Schaltkreis mit Dual-Rail Input in = (I0, I1), Dual-Rail Output out = (O0, O1) sowie Anschlüssen PRE („precharge”) und EN („enable”), die entweder binärlogische Input-Signale oder Anschlüsse an ein Pull-Down-Network (PDN) oder Pull-Up-Network (PUN) sein können, mit folgenden Eigenschaften:

  • 1. Bei PRE = False (bzw. NotConnected, falls PRE ein Anschluss an ein PDN oder PUN ist) und EN = False (bzw. NotConnected) besitzt der Schaltkreis zwei stabile Zustände (Ladezustände von zwei „Halteknoten”): (1,0) und (0,1). Diese sind jederzeit am Dual-Rail-Output out sichtbar.
  • 2. Bei EN = True (bzw. Connected) wird einer der Zustände vom Dual-Rail-Input (I0, I1) übernommen („gespeichert”), sofern stabil (0,1) oder (1,0) anliegt.
  • 3. Bei PRE = True (bzw. Connected) werden beide Halteknoten geladen (oder entladen).
  • 4. Der Stromverbrauch des Schaltkreises ist datenunabhängig, sofern stets zwischen zwei Speichervorgängen ein Precharge erfolgt.
A prior art DPA-resistant, transparent dual-rail pre-charged flip-flop is a dual-rail input circuit in = (I0, I1), dual-rail output out = (O0, O1), and terminals PRE ("Precharge") and EN ("enable"), which may be either binary logic input signals or connections to a pull-down network (PDN) or pull-up network (PUN), having the following characteristics:
  • 1. If PRE = False (or NotConnected, if PRE is a connection to a PDN or PUN) and EN = False (or NotConnected), the circuit has two stable states (states of charge of two "holding nodes"): (1,0 ) and (0,1). These are always visible on the dual-rail output.
  • 2. If EN = True (or Connected), one of the states is taken over ("stored") by the dual-rail input (I0, I1), if stable (0,1) or (1,0) is present.
  • 3. If PRE = True (or Connected) both stop nodes are loaded (or unloaded).
  • 4. The power consumption of the circuit is data independent, as long as there is always a precharge between two memory operations.

DPA-resistente Dual-Rail-Precharged-Master-Slave-Flip-Flops bestehen im wesentlichen aus den in dargestellten Komponenten:

  • 1. einem DPA-resistenten, transparenten Dual-Rail-Precharged-Flip-Flop (mit Dual-Rail-Input M_in, Dual-Rail-Output M_out und Anschlüssen M_EN, M_PRE) als Master,
  • 2. einem DPA resistenten, transparenten Dual-Rail-Precharged-Flip-Flop (mit Dual-Rail-Input M_out, Dual-Rail-Output S_out und Anschlüssen S_EN, S_PRE) als Slave,
  • 3. einer Synchronisations-Logik, getaktet über CLK, mit einem Enable-Input EN, welche Master und Slave jeweils Precharge- und Evaluierungsphase anzeigt.
DPA-resistant dual-rail pre-loaded master-slave flip-flops consist essentially of the in represented components:
  • 1. a DPA-resistant, transparent dual-rail precharged flip-flop (with dual-rail input M_in, dual-rail output M_out and connections M_EN, M_PRE) as master,
  • 2. a DPA-resistant, transparent dual-rail precharged flip-flop (with dual-rail input M_out, dual-rail output S_out and connections S_EN, S_PRE) as a slave,
  • 3. a synchronization logic, clocked via CLK, with an enable input EN, which indicates master and slave respectively pre-charge and evaluation phase.

DPA resistente Dual-Rail-Precharged-Flip-Flops benötigen erheblich mehr Transistoren als gewöhnliche Flip-Flops, z. B. nach dem Stand der Technik mehr als 30 Transistoren für ein DPA-resistentes Dual-Rail-Precharged Master-Slave Flip-Flop. Sie bieten allerdings außer der DPA-resistenten Speicherung eines Bits Information keine weitere Funktionalität. Insbesondere unterstützen DPA-resistente Dual-Rail-Precharged-Master-Slave-Flip-Flops nach dem Stand der Technik nicht die Erkennung von Fehlerinjektionsangriffen.DPA resistant dual rail precharged flip-flops require significantly more transistors than ordinary flip-flops, e.g. B. More than 30 transistors for a DPA-resistant dual-rail precharged master-slave flip-flop in the prior art. However, apart from the DPA-resistant storage of a bit of information, they offer no further functionality. In particular, prior art DPA-resistant dual rail pre-loaded master slave flip-flops do not support the detection of fault injection attacks.

Die vorliegende Erfindung bietet bei etwa gleichem Bedarf an Transistoren wie DE 10 2004 037 591 A1 zwei zusätzliche Funktionen, die den Nutzen der Schaltung erheblich erweitern: (1) Erkennung von Fehlerinjektionsangriffen und (2) alternative Verwendung der Schaltung als Dreizustandsspeicher.The present invention provides about the same demand for transistors as DE 10 2004 037 591 A1 two additional features that significantly extend the utility of the circuit: (1) detection of fault injection attacks, and (2) alternative use of the circuit as a tri-state memory.

Die Erfindung

  • US 2007/0171099 A1 2007.07.26 Kunemund
beinhaltet einen Zweizustandsspeicher in Dual-Rail-Precharge-Logik und Fehlererkennung. Er dient vorwiegend als Puffer für RAM-Zugriffe.The invention
  • US 2007/0171099 A1 2007.07.26 Kunemund
includes a dual-state memory in dual-rail precharge logic and error detection. It serves primarily as a buffer for RAM accesses.

Ein Fehler wird in US 2007/0171099 A1 dann angezeigt, wenn während der Enable-Phase identische logische Pegel an den beiden Halteknoten anliegen.An error is in US 2007/0171099 A1 displayed when identical logic levels are present at the two holding nodes during the enable phase.

Die vorliegenden Erfindung beinhaltet eine Fehlererkennung, die in diesem Merkmal mit US 2007/0171099 A1 übereinstimmt.The present invention includes an error detection, which in this feature with US 2007/0171099 A1 matches.

Ein wesentlicher Vorteil der vorliegenden Erfindung gegenüber US 2007/0171099 A1 ist die feinere Erkennung von Fehlern. US 2007/0171099 A1 erkennt lediglich sehr gravierende Fehlerzustände (Verpolung von pn-Übergängen/Latch-up-Effekte, ausgelöst durch Ionisierende Strahlung), wogegen gewöhnliche Bit-Flips 1-0 oder 0-1 unerkannt bleiben. Solche Bit-Flips werden von der vorliegenden Erfindung mit hoher Wahrscheinlichkeit erkannt.A significant advantage of the present invention over US 2007/0171099 A1 is the finer detection of errors. US 2007/0171099 A1 recognizes only very serious error states (reverse polarity of pn-transitions / latch-up effects triggered by ionizing radiation), whereas ordinary bit flips 1-0 or 0-1 remain undetected. Such bit-flips are recognized by the present invention with high probability.

Dreizustandsspeicher nach dem Stand der Technik (z. B. US 4 990 796 ) sind für Tristate-Schaltungen konzipiert, welche mit drei verschiedenen Spannungspegeln operieren. Sie sind nicht mit binärer CMOS-Logik kompatibel.Three state memory according to the prior art (eg. US 4,990,796 ) are designed for tristate circuits that operate at three different voltage levels. They are not compatible with binary CMOS logic.

Aufgabenstellungtask

Die Aufgabenstellung der vorliegenden Erfindung ist ein DPA-resistentes, transparentes Dual-Rail-Precharged-Flip-Flop mit Fehlererkennung, d. h. ein Schaltkreis mit Dual-Rail Input in = (I0, I1), Dual-Rail Output out = (O0, O1), sowie Anschlüssen PRE („precharge”) und EN („enable”) mit folgenden Eigenschaften:

  • 1. Bei PRE = False (bzw. NotConnected) und EN = False (bzw. NotConnected) besitzt der Schaltkreis drei stabile Zustände: zwei Datenzustände (1,0) und (0,1) und einen „Precharged”-Zustand (1,1). Diese sind jederzeit am Dual-Rail-Output out sichtbar.
  • 2. Bei EN = True (bzw. Connected) wird einer der beiden Datenzustände vom Dual-Rail-Input übernommen, sofern stabil (0,1) oder (1,0) anliegt.
  • 3. Bei PRE = True (bzw. Connected) nimmt der Schaltkreis den Precharged-Zustand an.
  • 4. Der Stromverbrauch des Schaltkreises ist datenunabhängig, sofern stets zwischen zwei Speichervorgängen ein Precharge erfolgt.
  • 5. Der Dual-Rail-Output weist auf einen möglichen Angriff per Fehlerinjektion hin, wenn der Precharged-Zustand illegal, d. h. vor einem Precharge vorliegt.
  • 6. Die Schaltung lässt sich alternativ als Dreizustandsspeicher nutzen.
The object of the present invention is a DPA-resistant, transparent dual-rail precharged flip-flop with fault detection, ie a circuit with dual-rail input in = (I0, I1), dual-rail output out = (O0, O1 ), as well as connections PRE ("precharge") and EN ("enable") with the following properties:
  • 1. For PRE = False (or NotConnected) and EN = False (or NotConnected), the circuit has three stable states: two data states (1,0) and (0,1) and a "precharged" state (1, 1). These are always visible on the dual-rail output.
  • 2. If EN = True (or Connected), one of the two data states is taken from the dual-rail input, if stable (0,1) or (1,0) is present.
  • 3. When PRE = True (or Connected), the circuit assumes the precharged state.
  • 4. The power consumption of the circuit is data independent, as long as there is always a precharge between two memory operations.
  • 5. The dual rail output indicates a possible attack by error injection if the precharged state is illegal, ie before a precharge.
  • 6. The circuit can alternatively be used as a tri-state memory.

Zur Aufgabenstellung gehört weiter, mit zwei DPA-resistenten, transparenten Dual-Rail-Precharged-Flip-Flops mit Fehlererkennung und einer geeigneten Synchronisierungs-Schaltung entsprechend ein DPA-resistentes Dual-Rail-Precharged-Master-Slave-Flip-Flop zu konstruieren.The task is further, with two DPA-resistant, transparent dual-rail precharged flip-flops with error detection and a suitable synchronization circuit accordingly to construct a DPA resistant dual rail precharged master slave flip flop.

Die Aufgabenstellung wird in der vorliegenden Erfindung gelöst durch eine tri-stabile CMOS-Schaltung mit drei Halteknoten, die die Werte (0,1,1), (1,0,1) und (1,1,0) annehmen können, und die wenigstens bezüglich der ersten beiden Halteknoten vollkommen symmetrisch aufgebaut ist, so dass die Zustandsübergänge von (0,1,1) zu (1,1,0) und von (1,0,1) zu (1,1,0) und die umgekehrten Übergänge im Stromprofil nicht voneinander zu unterscheiden sind.The object is achieved in the present invention by a tri-stable CMOS circuit with three holding nodes, which can take the values (0,1,1), (1,0,1) and (1,1,0), and which is constructed completely symmetrical at least with respect to the first two holding nodes, so that the state transitions from (0,1,1) to (1,1,0) and from (1,0,1) to (1,1,0) and the reverse transitions in the current profile are indistinguishable.

Die Grundschaltung hierfür ist die in dargestellte symmetrische Verschränkung von drei NAND-Gattern, so dass der Ausgang jeden Gatters zu je einem Input der beiden anderen Gatter führt. Die Halteknoten sind in mit A, B und C bezeichnet.The basic circuit for this is the in shown symmetrical entanglement of three NAND gates, so that the output of each gate leads to one input of the other two gates. The holding nodes are in denoted by A, B and C.

Um Zustandswechsel herbeizuführen, werden Input-Signale sowie ein Enable-Signal geeignet in die Gatter eingekoppelt. Dafür gibt es verschiedene Realisierungen.In order to bring about a change of state, input signals and an enable signal are suitably coupled into the gates. There are different implementations.

Die Zustände der tri-stabilen Schaltung sind über die ersten beiden Halteknoten bestimmt und können deshalb einfacher mit (0,1), (1,0) und (1,1) bezeichnet werden. (0,1), (1,0) sind die komplementären Datenzustände, (1,1) ist bei Verwendung der Schaltung als Dual-Rail-Precharged-Flip-Flop der „Precharged”-Zustand.The states of the tri-stable circuit are determined by the first two latch nodes and can therefore be more easily denoted by (0,1), (1,0) and (1,1). (0,1), (1,0) are the complementary data states, (1,1) when using the circuit as a dual rail precharged flip-flop, the "precharged" state.

Bei einem Fehlerinjektionsangriff ist der Übergang von einem Datenzustand in den zu diesem Zeitpunkt illegalen Precharged-Zustand ebenso wahrscheinlich wie der Übergang von einem Daten-Zustand in den komplementären Datenzustand. Deshalb können mit der Schaltung anhand des Wertes am Haltepunkt C Fehlerinjektionsangriffe detektiert werden.In an error injection attack, the transition from a data state to the illegal precharged state at that point in time is as likely as the transition from a data state to the complementary data state. Therefore, with the circuit based on the value at the breakpoint C error injection attacks can be detected.

Ausführungsbeispielembodiment

zeigt die einfachste Ausführung eines transparenten Dual-Rail-Precharged-Flip-Flops (bzw. Dreizustandsspeichers) gemäß der vorliegenden Erfindung. Die Anschlüsse EN und PRE sind mit einem Pull-Down-Network zu verbinden. Ist EN auf Masse, so wird abhängig davon, welche der Input-Leitungen auf 0 liegt, entweder Knoten A oder Knoten B entladen. Die beiden verbleibenden Knoten werden über die NAND-Ausgänge auf 1 gezogen. shows the simplest embodiment of a transparent dual-rail precharged flip-flop (or tri-state memory) according to the present invention. The EN and PRE connections must be connected to a pull-down network. If EN is on ground, either node A or node B will be discharged depending on which of the input lines is at 0. The two remaining nodes are pulled to 1 via the NAND outputs.

Ein Pull-Down am Anschluss PRE bewirkt entsprechend die Entladung von C. Die Pegel von A, B sind direkt am Ausgang (O0, O1) sichtbar. Solange EN und PRE nicht mit Masse verbunden sind, ist der Zustand des Puffers stabil.A pull-down at the PRE connection causes the corresponding discharge of C. The levels of A, B are visible directly at the output (O0, O1). As long as EN and PRE are not connected to ground, the state of the buffer is stable.

zeigt drei vorteilhafte Erweiterungen dieser Schaltung. shows three advantageous extensions of this circuit.

Der zusätzliche Transistor T erlaubt einen Zustandswechsel über I0, I1 und EN nur im Precharged-Zustand (1,1). Das ist für den Einsatz als Dual-Rail-Precharged-Flip-Flop vorteilhaft, um direkte Zustandsübergänge zwischen (1,0) und (0,1) zu verhindern, welche zu einem datenabhängigen Stromverbrauch führen würden.The additional transistor T allows a state change over I0, I1 and EN only in the precharged state (1,1). This is advantageous for use as a dual-rail pre-charged flip-flop to prevent direct state transitions between (1.0) and (0.1), which would lead to data-dependent power consumption.

Die zusätzlichen Inverter vor O0 und O1 verhindern, dass ausgangsseitige Logik die Schaltung beeinflusst.The additional inverters before O0 and O1 prevent output-side logic from affecting the circuit.

Das zusätzlich nach außen geführte Signal INVAL kann ausgewertet werden, um illegale Precharge-Zustände zu erkennen.The additionally outgoing signal INVAL can be evaluated to detect illegal precharge states.

Die Erfindung kann sowohl zur Verhinderung von DPA-Angriffen als auch zur Erkennung von Fehlerinjektionsangriffen genutzt werden.The invention can be used both to prevent DPA attacks and to detect fault injection attacks.

Eine weitere mögliche Erweiterung ist die Verknüpfung von I0, I1, EN und PRE, so dass alle drei Puffer-Zustände über die Inputs (I0, I1) generiert werden können.Another possible extension is the linking of I0, I1, EN and PRE, so that all three buffer states can be generated via the inputs (I0, I1).

zeigt, wie mit dem Makro aus und einer passenden Synchronisation ein Master-Slave-Dual-Rail-Precharged-Flip-Flop konstruiert werden kann. shows how to use the macro and an appropriate synchronization, a master-slave dual-rail pre-charged flip-flop can be constructed.

Die optimale Ansteuerung erfolgt über nacheinanderfolgendes Ziehen an Master Precharge (MP), Master enable (ME), Slave Precharge (SP), Slave enable (SE), siehe . Wie dargestellt ist der erforderliche vierphasige Takt einfach mittels Taktsignal CLK und doppeltem Taktsignal dCLK zu realisieren.The optimum control is carried out by successively pulling on master precharge (MP), master enable (ME), slave precharge (SP), slave enable (SE), see , As shown, the required four-phase clock is easy to realize by means of clock signal CLK and double clock signal dCLK.

zeigt den zeitlichen Ablauf für ein Beispiel, in dem EN konstant 1 bleibt und der Dual-Rail-Input genau dann auf „Precharge” (1,1) liegt, wenn CLK und dCLK auf 0 sind. shows the timing for an example in which EN remains constant at 1 and the dual rail input is at "precharge" (1,1) if and only if CLK and dCLK are at 0.

Das Master-Slave-Dual-Rail-Precharged-Flip-Flop in mit dem transparenten Dual-Rail-Precharged-Flip-Flop aus als Master und als Slave benötigt 39 Transistoren, 14 für Master, 14 für Slave, 11 für die Synchronisation. Die Synchronisation genügt einmalig für eine Gruppe von Flip-Flops, so dass man gemittelt mit ca. 30 Transistoren pro Bit auskommt.The master-slave dual-rail precharged flip-flop in with the transparent dual-rail precharged flip-flop as master and as slave requires 39 transistors, 14 for master, 14 for slave, 11 for synchronization. The synchronization is sufficient once for a group of flip-flops, so that one gets on average with about 30 transistors per bit.

Claims (4)

Dreizustandsspeicher in Binärlogik, dessen drei stabile Zustände durch die Ausgangspegel von drei derart verschränkten Gattern bestimmt sind, dass der Ausgang jeden Gatters zu je einem Eingang der beiden anderen Gatter führt.Three-state memory in binary logic whose three stable states are determined by the output levels of three such entangled gates that the output of each gate leads to an input of the other two gates. Transparentes Dual-Rail-Precharged-Flip-Flop, welches dadurch gekennzeichnet ist, dass es einen Dreizustandsspeicher nach Anspruch 1 enthält und für welches das Precharging, d. h. das gleichzeitige Laden oder Entladen der beiden Halteknoten für die komplementären Dual-Rail-Inputs, durch Setzen eines stabilen „Precharged”-Zustands geschieht.Transparent dual-rail pre-loaded flip-flop, characterized in that it includes a tri-state memory according to claim 1 and for which the precharging, d. H. the simultaneous charging or discharging of the two holding nodes for the complementary dual-rail inputs, by setting a stable "precharged" state happens. Transparentes Dual-Rail-Precharged-Flip-Flop nach Anspruch 2, erweitert um einen Signalausgang zur Erkennung von illegalen Precharged-Zuständen als Hinweis auf mögliche Angriffe auf die Hardware per Fehlerinjektion.Transparent dual-rail precharged flip-flop according to claim 2, extended by a signal output for detecting illegal precharged states as an indication of possible attacks on the hardware by error injection. Master-Slave-Dual-Rail-Precharged-Flip-Flop, welches dadurch gekennzeichnet ist, dass Master und Slave transparente Dual-Rail-Precharged-Flip-Flops nach Anspruch 2 oder 3 sind und welches von einem vierstufigen Taktsignal getaktet wird.Master-slave dual-rail precharged flip-flop, which is characterized in that master and slave are transparent dual-rail precharged flip-flops according to claim 2 or 3 and which is clocked by a four-level clock signal.
DE102016008756.0A 2016-07-18 2016-07-18 DPA-resistant dual-rail precharged flip-flop with fault detection Withdrawn - After Issue DE102016008756B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016008756.0A DE102016008756B3 (en) 2016-07-18 2016-07-18 DPA-resistant dual-rail precharged flip-flop with fault detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016008756.0A DE102016008756B3 (en) 2016-07-18 2016-07-18 DPA-resistant dual-rail precharged flip-flop with fault detection

Publications (1)

Publication Number Publication Date
DE102016008756B3 true DE102016008756B3 (en) 2017-08-31

Family

ID=59580338

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016008756.0A Withdrawn - After Issue DE102016008756B3 (en) 2016-07-18 2016-07-18 DPA-resistant dual-rail precharged flip-flop with fault detection

Country Status (1)

Country Link
DE (1) DE102016008756B3 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171099A1 (en) * 2005-11-18 2007-07-26 Infineon Technologies Ag Circuit arrangement and method for recognizing manipulation attempts

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171099A1 (en) * 2005-11-18 2007-07-26 Infineon Technologies Ag Circuit arrangement and method for recognizing manipulation attempts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BUZZI, M.; GIANCANE, L.; LUZZI, R. ET AL.: A Flip-Flop for the DPA Resistant Three-Phase Dual-Rail Pre-Charge Logic Family; IEEE Transactions on very large scale integration systems; November 2012; S. 2128-2132 *

Similar Documents

Publication Publication Date Title
CN105191127B (en) For reducing the trigger of dynamic power
DE10324875B4 (en) Glitch detection circuit and smart card
DE102005055158B4 (en) Circuit arrangement with a device for the detection of manipulation attempts and method for the detection of manipulation attempts in a circuit arrangement
US20120182056A1 (en) Low energy flip-flops
DE102012112352A1 (en) Scan flip-flop, method thereof, and device with same
DE102005056278B4 (en) Flip-flop device and method for storing and outputting a data value
DE102012202747B4 (en) Double Trigger low power flip-flop circuit
CN101960719A (en) Nonvolatile storage gate and its operating method, and logic circuit incorporating nonvolatile storage gate and its operating method
DE102017102037A1 (en) PHYSICALLY UNCLAIMABLE FUNCTION SWITCHING
US20170243636A1 (en) Static ram for differential power analysis resistance
DE102016120009B4 (en) DIGITAL CIRCUIT AND METHOD FOR PRODUCING A DIGITAL CIRCUIT
KR930002255B1 (en) Data output control circuit for semiconductor storage device
DE112015005947T5 (en) Data transmission system, data transmission device and sensor device
CN104506168A (en) Radiation-proof ultrahigh-speed triggering circuit and spaceflight ultrahigh-speed trigger
DE69030575T2 (en) Integrated semiconductor circuit with a detector
DE102016008756B3 (en) DPA-resistant dual-rail precharged flip-flop with fault detection
DE102012111414A1 (en) memory circuit
WO2005039050A2 (en) Master latch circuit with signal level displacement for a dynamic flip-flop
US20150078102A1 (en) Nonvolatile semiconductor memory device and data transmission method
DE10344647B3 (en) Dual-rail signal circuit device e.g. for chip card security applications, has dual-rail data input signals with similar values provided as pre-charge signal to obtain dual-rail data output signal having same values
EP1468492B1 (en) Integrated circuit and circuit arrangement for converting a single-rail signal to a dual-rail signal
DE102004009144B4 (en) A logic cell and method for performing a dual rail logic operation and storage medium
DE102005037355B3 (en) Circuit to calculate a logical connection between two input operations for high security uses processes inputs for dual-rail signals using logic and precharge circuits
DE19741426C1 (en) Data storage circuit
US8487656B1 (en) Dynamic logic circuit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R120 Application withdrawn or ip right abandoned