[go: up one dir, main page]

DE112007003061T5 - Mechanismus zum Schützen eines Schlüssels - Google Patents

Mechanismus zum Schützen eines Schlüssels Download PDF

Info

Publication number
DE112007003061T5
DE112007003061T5 DE112007003061T DE112007003061T DE112007003061T5 DE 112007003061 T5 DE112007003061 T5 DE 112007003061T5 DE 112007003061 T DE112007003061 T DE 112007003061T DE 112007003061 T DE112007003061 T DE 112007003061T DE 112007003061 T5 DE112007003061 T5 DE 112007003061T5
Authority
DE
Germany
Prior art keywords
key
masked
checksum
result
secret key
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
Application number
DE112007003061T
Other languages
English (en)
Inventor
Michel Douguet
Vincent Dupaquis
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.)
Rambus Inc
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of DE112007003061T5 publication Critical patent/DE112007003061T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zum Schützen der Integrität eines geheimen Schlüssels in einem für Fehlerangriffe anfälligen Hardware-Kryptographiesystem, wobei das Verfahren umfasst:
Erhalten eines Verschlüsselungsergebnisses und einer entsprechenden Prüfsumme aus bekannten Daten und einem zu schützenden Schlüssel,
Maskieren des geheimen Schlüssels, um einen maskierten Schlüssel zu erhalten,
Laden des maskierten Schlüssels in ein Schlüsselregister,
zu einem beliebigen Zeitpunkt vor der Verwendung des maskierten Schlüssels in dem Hardware-Kryptographiesystem, zuerst Prüfen der Integrität des maskierten Schlüssels durch das Entschlüsseln des Verschlüsselungsergebnisses mit dem maskierten Schlüssel, um ein Entschlüsselungsergebnis zu erhalten, und Vergleichen des Entschlüsselungsergebnisses mit gültigen Daten, und
wenn das Entschlüsselungsergebnis keinen gültigen Daten entspricht, Löschen aller auf den maskierten Schlüssel bezogenen Daten und Melden einer Fehlerinjektion.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft kryptographische Systeme, die beständig gegenüber einer differentiellen Fehleranalyse oder Fehleranalyseangriffen sein sollen, um die Integrität geheimer Schlüssel zu schützen.
  • Stand der Technik
  • Bei der Verwendung von geheimen Schlüsseln kann ein Fehlerinjektions-Schutzmechanismus erforderlich sein. Ein derartiger Mechanismus stellt einen sicheren Schutz des geheimen Schlüssels gegenüber einer differentiellen Fehleranalyse bei einer Schlüsselmanipulation dar. Die differentielle Fehleranalyse ist ein kryptographischer Angriff, der vorübergehende Hardwarefehler und daraus resultierende Berechnungsfehler wie etwa während der Ausführung eines Schlüsselplanungsalgorithmus oder einer letzten Verschlüsselungsrunde erzwingt, um Informationen zu dem kryptographischen Schlüssel zu extrahieren. Diese Fehleranalyse kann auf Kryptosysteme mit öffentlichen und mit geheimen Schlüsseln einschließlich von manipulationssicheren Geräten an Chipkarten angewendet werden. Zum Beispiel beschreiben Eli Biham und Adi Shamir in dem Artikel „Differential Fault Analysis of Secret Key Cryptosystems" in „Advances in Cryptology – CRYPTO' 97", LNCS 1294, (Springer-Verlag, 1997) auf den Seiten 513–525 differentielle Fehleranalyseangriffe auf DES-ähnliche Chiffren.
  • Die gegenwärtig verfügbaren Schutzmechanismen werden offline implementiert und sind nicht für alle Anwendungen geeignet. Zum Beispiel bieten die bestehenden Mechanismen keinen Schutz für Sitzungsschlüssel, die bei Bedarf und nicht im voraus erzeugt werden.
  • Hagai Bar-El et al. beschreiben in dem Artikel „The Sorcerer's Apprentice Guide to Fault Attacks" in „Discretix Technologies White Paper" anlässlich des „Workshop an Fault Detection and Tolerance in Cryptography" in Florenz, Italien, am 30. Juni 2004 (Cryptology ePrint Archive (eprint.iacr.org), Report 2004/100; auch CiteSeer article 705084) verschiedene Verfahren zum Implementieren derartiger Fehlerangriffe auf elektronische, kryptographische Schaltungen und schlagen verschiedene Gegenmaßnahmen vor. Die Gegenmaßnahmen sehen vor allem die Einführung einer Redundanz vor, mit der Operationen berechnet und die Ergebnisse verglichen werden, wobei davon ausgegangen wird, dass keine identischen Fehler repliziert werden können. Das resultierende System bietet eine größere Sicherheit, ist allerdings langsamer und weniger effizient.
  • Es wird deshalb nacheffizienteren Gegenmaßnahmen zum Schutz der Integrität von geheimen Schlüsseln gesucht.
  • Zusammenfassung
  • Die vorliegende Erfindung gibt ein kryptographisches Verfahren an, das die Integrität des geheimen Schlüssels verifiziert, bevor sie diesen in einer kryptographischen Anwendung verwendet. Insbesondere wird eine unter Verwendung des ursprünglichen unmaskierten Schlüssels erhaltene Prüfsumme als Verifizierungssignatur für gültige Daten bei der folgenden Entschlüsselung des Ergebnisses mit einem maskierten Schlüssel verwendet.
  • Das Verfahren zum Schützen der Integrität eines geheimen Schlüssels in einem Hardware-Kryptographiesystem, das ansonsten für Fehlerangriffe anfällig wäre, umfasst das Verwenden des geheimen Schlüssels, um ein Verschlüsselungsergebnis aus bekannten Daten und auch eine Prüfsumme des Verschlüsselungsergebnisses zu erhalten und zu speichern, sowie dann das Maskieren des geheimen Schlüssels. Wenn der maskierte Schlüssel später in einer kryptographischen Anwendung verwendet werden soll, wird zuerst die Integrität des Schlüssels geprüft. Insbesondere wird das gespeicherte Verschlüsselungsergebnis mit dem maskierten Schlüssel entschlüsselt. Wenn sich in einem Vergleich herausstellt, dass das Entschlüsselungsergebnis keinen gültigen Daten entspricht, dann ist die Integritätsprüfung fehlgeschlagen, wobei alle auf den maskierten Schlüssel bezogenen Daten aus dem System entfernt werden und eine Fehlerinjektion gemeldet wird. Wenn das Entschlüsselungsergebnis gültigen Daten entspricht, wurde die Integrität des maskierten Schlüssels bestätigt und kann dieser in dem kryptographischen System verwendet werden.
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Flussdiagramm zu einer beispielhaften Ausführungsform eines Mechanismus zum Schützen eines Schlüssels gemäß der vorliegenden Erfindung.
  • Ausführliche Beschreibung
  • Eine beispielhafte Hardware-Umgebung, in der das Verfahren zum Schützen eines Schlüssels der vorliegenden Erfindung verwendet werden kann, kann einen Hardware-Zufallszahlerzeuger (RNG), einen RAM oder einen nicht-flüchtigen Speicher (z. B. einen Flash-EPROM) für die Speicherung der gesicherten Schlüssel, einen Mikroprozessor oder Mikrocontroller und einen Speicher zum Speichern eines Programms umfassen. Außerdem kann die Hardware einen Hardware-Coprozessor zum Berechnen von Algorithmen auf der Basis von geheimen Schlüsseln (DES, AED, usw.) umfassen. Ein derartiger Coprozessor kann einen XODER-basierten Mechanismus zum Demaskieren eines Schlüssels ausführen:
    Echter_Schlüssel := Maskierter_Schlüssel XODER Maskierungswert, und entsprechend
    Maskierter-Schlüssel := Echter_Schlüssel XODER Maskierungswert.
  • Es ist also nicht mehr erforderlich, einen Schlüssel in seiner echten Form zu handhaben oder zu speichern; der Schlüssel wird statt dessen in seiner maskierten Form gehandhabt und gespeichert. Außerdem kann die Hardware ein Hardware-Modul für die zyklische Redundanzprüfung (CRC-Modul) zum Durchführen einer Integritätsprüfung umfassen. Ein 16-Bit-Modul wäre angemessen, wobei statt dessen aber auch andere Größen des CRC-Moduls verwendet werden können. Das Verfahren zum Schützen eines Schlüssels der vorliegenden Erfindung funktioniert aber auch ohne einen Coprozessor und ohne ein Hardware-Modul für die zyklische Redundanzprüfung zufrieden stellend.
  • Wie in 1 gezeigt, kann ein Verfahren zum Schützen eines Schlüssels gemäß der vorliegenden Erfindung in Schritt 11 mit dem Eingeben eines Seeds in den Zufallszahlerzeuger (RNG) beginnem. Verschiedene Seeds erzeugen verschiedene zufällige Sequenzen aus dem RNG. Der mit einem Seed versehene RNG wird in späteren Schritten für die Schlüssel-Maskierung verwendet. Deshalb kann das Eingeben eines Seeds in den RNG (Schritt 11) zu einem beliebigen Zeitpunkt vor dem Erzeugen (Schritt 16) von zufälligen Bytes für die Schlüsselmaskierung vorgenommen werden.
  • In dem ersten Hauptteil der Prozedur (Schritte 12 bis 15) werden ein Verschlüsselungsergebnis und eine entsprechende Prüfsumme für die Verwendung in der folgenden Integritätsprüfung des geheimen Schlüssels erhalten.
  • Ein zu schützender geheimer Schlüssel wird unverschlüsselt in ein Schlüsselregister geladen (Schritt 12). Der Schlüssel kann je nach dem kryptographischen Algorithmus eine bestimmte geeignete Länge aufweisen. Es können auch mehr als ein Schlüssel vorhanden sein, wie etwa in einem dreifach-DES, das zwei oder drei unabhängige Schlüssel in aufeinander folgenden Sätzen von Ver- und Entschlüsselungsrunden verwendet. Der kryptographische Algorithmus kann eine Schlüsselerzeugungsroutine umfassen, in welcher der gerade in ein Schlüsselregister (oder in mehrere Register) geladene Schlüssel (mehrere Schlüssel) verwendet wird (verwendet werden), um eine Sequenz von Runden-Teilschlüsseln für verschiedene Runden des Algorithmus zu verwenden. Alle diese Variationen werden in der vorliegenden Erfindung für den Schlüsselschutz verwendet.
  • Dann werden bekannte Daten für die Verwendung in der Schlüsselverifizierung (VERIF_DATA) unter Verwendung des kryptographischen Algorithmus und des zu schützenden Schlüssels verschlüsselt (Schritt 13). Eine Prüfsumme des Verschlüsselungsergebnisses wird zum Beispiel unter Verwendung einer Routine für eine zyklische Redundanzprüfung berechnet (Schritt 14). Das Verschlüsselungsergebnis und die entsprechende Prüfsumme werden als Verifizierungssignatur für das Verschlüsselungsergebnis bewahrt, indem sie zum Beispiel in einem sicheren Speicher gespeichert werden. Die Schlüsselregister werden dann gelöscht (Schritt 15).
  • Dann wird der zuvor mit einem Seed versehene RNG verwendet, um zufällige Bytes für eine Schlüsselmaskierungsoperation zu erzeugen (Schritt 16). Der ursprüngliche geheime Schlüssel (mehrere ursprüngliche geheime Schlüssel) wird (werden) mit den zufälligen Bytes maskiert, indem zum Beispiel eine bitweise XODER-Operation der Schlüsselbits mit einem oder mehreren zufälligen Bytes verwendet wird:
    Maskierter_Schlüssel := Echter_Schlüssel XODER Maskierungswert.
  • Die Anzahl der für die Maskierung erforderlichen zufälligen Bytes hängt von der Schlüsselgröße und von der Anzahl der zu maskierenden Schüssel ab. Wenn mehrere Schlüssel verwendet werden, können gleiche oder unterschiedliche zufällige Bytes für die Maskierung der verschiedenen Schlüssel verwendet werden. Nach der Maskierung wird (werden) der maskierte Schlüssel (die maskierten Schlüssel) an einer bestimmten Position eines sicheren, nicht-flüchtigen Speichers wie etwa eines EEPROMs gespeichert.
  • Der maskierte Schlüssel (die maskierten Schlüssel) wird (werden) von der bestimmten Speicherposition in ein Schlüsselregister (in mehrere Schlüsselregister) geladen. Der maskierte Schlüssel (die maskierten Schlüssel) wird (werden) dann verwendet, um das frühere Verschlüsselungsergebnis unter Verwendung desselben kryptographischen Algorithmus in einer zu der ursprünglichen Verschlüsselung umgekehrten Richtung zu entschlüsseln (Schritt 19). (Es ist zu beachten, dass bei der Verwendung von mehreren Schlüsseln während der Verschlüsselung wie etwa bei einer dreifach-DES die Schlüssel dann für eine korrekte Entschlüsselung in umgekehrter Reihenfolge verwendet werden müssen.) Wenn eine Verschlüsselungsfunktion VERSCHLÜSSELN (Daten, Schlüssel, Maske) und eine entsprechende Entschlüsselungsfunktion ENTSCHLÜSSELN (Daten, Schlüssel, Maske) verwendet werden und VERSCHLÜSSELN (GÜLTIGE...DATEN, Echter Schlüssel, 0) das vorausgehende Verschlüsselungsergebnis ist, dann sollte die Entschlüsselung in Schritt 20 wie folgt sein: ENTSCHLÜSSELN (VERSCHLÜSSELN (GÜLTIGE_DATEN, Echter Schlüssel, 0)), Maskierter_Schlüssel, Maskierungwert) = GÜLTIGE_DATEN, wenn Echter_Schlüssel = Maskierter_Schlüssel XODER Maskierungswert.
  • Das Entschlüsselungsergebnis unter Verwendung des maskierten Schlüssels wird mit den gültigen Daten (GÜLTIGE_DATEN) verglichen. Der maskierte Schlüssel sollte der erzeugten Verifizierungssignatur (Prüfsumme) bei der Verschlüsselung der GÜLTIGEN_DATEN entsprechen. Wenn das Entschlüsselungsergebnis nicht gleich den GÜLTIGEN_DATEN ist, dann schlägt die Integritätsprüfung des maskierten Schlüssels fehl und wird eine Fehlerinjektion gemeldet (Schritt 21). Wenn das Entschlüsselungsergebnis dagegen gleich den GÜLTIGEN_DATEN ist, dann besteht der maskierte Schlüssel die Integritätsprüfung und kann verwendet werden. Nachdem die Integritätsprüfung abgeschlossen ist, werden alle für die Entschlüsselung und die Integritätsprüfung verwendeten Hardware-Register gelöscht (Schritt 22).
  • Zusammenfassung
  • Ein Verfahren zum Schützen der Integrität eines geheimen Schlüssels in einem Hardware-Kryptographiesystem umfasst zuerst das Erhalten eines Verschlüsselungsergebnisses (13) und einer entsprechenden Prüfsumme (14) aus bekannten Daten unter Verwendung des geheimen Schlüssels und das Speichern dieser Ergebnisse sowie dann das Maskieren des geheimen Schlüssels (16, 17) und das Speichern des maskierten Schlüssels (18). Wenn der maskierte Schlüssel in einer kryptographischen Anwendung verwendet werden soll, prüft das Verfahren die Integrität des Schlüssels gegenüber Fehlerangriffen, indem es die vorausgehenden Verschlüsselungsergebnisse unter Verwendung des maskierten Schlüssels entschlüsselt (19). Wenn in einem Vergleich (20) festgestellt wird, dass das Verschlüsselungsergebnis gültigen Daten entspricht (BESTANDEN), dann kann der Schlüssel in dem kryptographischen System verwendet werden. Ansonsten (FEHLGESCHLAGEN), werden alle auf den maskierten Schlüssel bezogenen Daten aus dem System gelöscht und wird eine Fehlerinjektion gemeldet (21).
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • - Eli Biham und Adi Shamir in dem Artikel „Differential Fault Analysis of Secret Key Cryptosystems” in „Advances in Cryptology – CRYPTO' 97”, LNCS 1294, (Springer-Verlag, 1997) auf den Seiten 513–525 [0002]
    • - Hagai Bar-El et al. beschreiben in dem Artikel „The Sorcerer's Apprentice Guide to Fault Attacks” in „Discretix Technologies White Paper” anlässlich des „Workshop an Fault Detection and Tolerance in Cryptography” in Florenz, Italien, am 30. Juni 2004 (Cryptology ePrint Archive (eprint.iacr.org), Report 2004/100; auch CiteSeer article 705084) [0004]

Claims (6)

  1. Verfahren zum Schützen der Integrität eines geheimen Schlüssels in einem für Fehlerangriffe anfälligen Hardware-Kryptographiesystem, wobei das Verfahren umfasst: Erhalten eines Verschlüsselungsergebnisses und einer entsprechenden Prüfsumme aus bekannten Daten und einem zu schützenden Schlüssel, Maskieren des geheimen Schlüssels, um einen maskierten Schlüssel zu erhalten, Laden des maskierten Schlüssels in ein Schlüsselregister, zu einem beliebigen Zeitpunkt vor der Verwendung des maskierten Schlüssels in dem Hardware-Kryptographiesystem, zuerst Prüfen der Integrität des maskierten Schlüssels durch das Entschlüsseln des Verschlüsselungsergebnisses mit dem maskierten Schlüssel, um ein Entschlüsselungsergebnis zu erhalten, und Vergleichen des Entschlüsselungsergebnisses mit gültigen Daten, und wenn das Entschlüsselungsergebnis keinen gültigen Daten entspricht, Löschen aller auf den maskierten Schlüssel bezogenen Daten und Melden einer Fehlerinjektion.
  2. Verfahren nach Anspruch 1, wobei das Erhalten eines Verschlüsselungsergebnisses und der entsprechenden Prüfsumme umfasst: Laden des zu schützenden geheimen Schlüssels unverschlüsselt in ein Schlüsselregister, Eingeben von bekannten Daten in einen Verschlüsselungsalgorithmus und Verschlüsseln der bekannten Daten unter Verwendung des geheimen Schlüssels, um das Verschlüsselungsergebnis zu erhalten, Durchführen einer Prüfsummenberechnung auf dem Verschlüsselungsergebnis, um die entsprechende Prüfsumme zu erhalten, und Speichern der Verschlüsselungsergebnisses und der Prüfsumme in einem sicheren Speicher.
  3. Verfahren nach Anspruch 2, wobei die Berechnung der Prüfsumme eine Routine für eine zyklische Redundanzprüfung (CRC) ist.
  4. Verfahren nach Anspruch 1, wobei das Maskieren des geheimen Schlüssels das Erzeugen von zufälligen Bytes unter Verwendung einer Zufallszahlerzeugungs-Hardware und das Anwenden der zufälligen Bytes auf den geheimen Schlüssel unter Verwendung einer Maskierungsroutine umfasst.
  5. Verfahren nach Anspruch 4, wobei die Maskierungsroutine eine bitweise XODER-Operation auf den zufälligen Bytes und dem geheimen Schlüssel ist.
  6. Verfahren nach Anspruch 4, wobei die zufälligen Bytes erzeugt werden, indem ein bekannter Seed in die Zufallszahlerzeugungs-Hardware eingegeben wird, wobei verschiedene Seeds verschiedene Sequenzen von zufälligen Bytes erzeugen.
DE112007003061T 2006-12-22 2007-11-02 Mechanismus zum Schützen eines Schlüssels Withdrawn DE112007003061T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/615,225 US7822207B2 (en) 2006-12-22 2006-12-22 Key protection mechanism
US11/615,225 2006-12-22
PCT/US2007/083426 WO2008079524A2 (en) 2006-12-22 2007-11-02 Key protection mechanism

Publications (1)

Publication Number Publication Date
DE112007003061T5 true DE112007003061T5 (de) 2009-10-29

Family

ID=39542851

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007003061T Withdrawn DE112007003061T5 (de) 2006-12-22 2007-11-02 Mechanismus zum Schützen eines Schlüssels

Country Status (5)

Country Link
US (1) US7822207B2 (de)
CN (1) CN101569131B (de)
DE (1) DE112007003061T5 (de)
TW (1) TWI434565B (de)
WO (1) WO2008079524A2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2904901B1 (fr) * 2006-08-09 2008-10-03 Sagem Defense Securite Procede de verification de l'integrite d'une clef de chiffrement obtenue par combinaison de parties de clef
US7822207B2 (en) 2006-12-22 2010-10-26 Atmel Rousset S.A.S. Key protection mechanism
FR2931326A1 (fr) * 2008-05-16 2009-11-20 St Microelectronics Rousset Verification d'integrite d'une cle de chiffrement
FR2952256B1 (fr) * 2009-11-04 2011-12-16 St Microelectronics Rousset Protection d'une cle de chiffrement contre des attaques unidirectionnelles
CN101977180B (zh) * 2010-06-08 2013-06-19 南京大学 一种基于漏洞攻击的安全协议验证方法
US8644500B2 (en) * 2010-08-20 2014-02-04 Apple Inc. Apparatus and method for block cipher process for insecure environments
CN102542319B (zh) * 2010-12-10 2016-06-29 上海华虹集成电路有限责任公司 Psam卡中密钥保护方法
DE102010055237A1 (de) 2010-12-20 2012-06-21 Giesecke & Devrient Gmbh Verfahren zum geschützten Ausführen einer kryptographischen Berechnung
US11228566B1 (en) 2011-03-08 2022-01-18 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9432342B1 (en) * 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8699703B2 (en) * 2011-10-19 2014-04-15 Apple Inc. System and method for pseudo-random polymorphic tree construction
CN102404108B (zh) * 2011-10-25 2014-07-09 宁波大学 一种针对aes-128算法的新型故障攻击方法
EP2602952A1 (de) * 2011-12-07 2013-06-12 Gemalto SA Kryptografisches Verfahren zum Schutz eines Schlüssel-Hardware-Registers gegen Fehlerangriffe
EP2629447A1 (de) * 2012-02-17 2013-08-21 Gemalto SA Verfahren und Vorrichtung zum Schutz einer elektronischen Vorrichtung gegen Fehlerangriff(e)
DE102012011730A1 (de) * 2012-06-13 2013-12-19 Giesecke & Devrient Gmbh Gegen Safe Error Angriffe geschützte kryptographische Berechnung
JP5959667B2 (ja) * 2013-01-18 2016-08-02 三菱電機株式会社 データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム
US9703937B2 (en) * 2013-04-10 2017-07-11 Dell Products, L.P. Method to prevent operating system digital product key activation failures
EP2858005A1 (de) * 2013-10-03 2015-04-08 Gemalto SA Integritätsprüfung eines nicht lesbaren Anweisungsregisters
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
US9929858B2 (en) * 2015-09-21 2018-03-27 Nxp B.V. Method and system for detecting fault attacks
US11362824B2 (en) * 2018-05-25 2022-06-14 Intertrust Technologies Corporation Content management systems and methods using proxy reencryption
TWI722496B (zh) * 2019-06-20 2021-03-21 慧榮科技股份有限公司 使用者資料的加解密方法及裝置
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
US11379580B1 (en) * 2020-03-16 2022-07-05 Xilinx, Inc. Mixed storage of data fields
US11528135B2 (en) 2020-03-31 2022-12-13 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit (IC) signatures with random number generator and one-time programmable device
US11962693B2 (en) 2020-03-31 2024-04-16 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit (IC) signatures with random number generator and one-time programmable device
TWI781544B (zh) * 2020-03-31 2022-10-21 台灣積體電路製造股份有限公司 積體電路裝置以及產生用於積體電路裝置的安全密鑰的方法及系統

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US5631960A (en) * 1995-08-31 1997-05-20 National Semiconductor Corporation Autotest of encryption algorithms in embedded secure encryption devices
US5761306A (en) * 1996-02-22 1998-06-02 Visa International Service Association Key replacement in a public key cryptosystem
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6092229A (en) * 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
US6282290B1 (en) * 1997-03-28 2001-08-28 Mykotronx, Inc. High speed modular exponentiator
WO1998052316A1 (en) * 1997-05-09 1998-11-19 Connotech Experts-Conseils Inc. Initial secret key establishment including facilities for verification of identity
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6965673B1 (en) * 1997-09-19 2005-11-15 Telcordia Technologies, Inc. Method of using transient faults to verify the security of a cryptosystem
US6055316A (en) * 1997-12-26 2000-04-25 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
CA2316227C (en) * 1998-01-02 2009-08-11 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
EP1088295B1 (de) * 1998-06-03 2007-08-15 Cryptography Research Inc. Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
AU2001260970A1 (en) * 2000-01-31 2001-08-07 Vdg Inc. Block encryption method and schemes for data confidentiality and integrity protection
US6990468B1 (en) * 2000-06-19 2006-01-24 Xerox Corporation System, method and article of manufacture for cryptoserver-based auction
US7051199B1 (en) * 2000-06-19 2006-05-23 Xerox Corporation System, method and article of manufacture for providing cryptographic services utilizing a network
US20030223579A1 (en) * 2000-07-13 2003-12-04 Eran Kanter Secure and linear public-key cryptosystem based on parity-check error-correcting
US6941284B2 (en) * 2000-11-30 2005-09-06 Pitney Bowes Inc. Method for dynamically using cryptographic keys in a postage meter
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
JP4188571B2 (ja) * 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式
US7000115B2 (en) * 2001-06-19 2006-02-14 International Business Machines Corporation Method and apparatus for uniquely and authoritatively identifying tangible objects
US20030023850A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Verifying messaging sessions by digital signatures of participants
WO2003030447A2 (en) * 2001-09-27 2003-04-10 Matsushita Electric Industrial Co., Ltd. An encryption device, a decrypting device, a secret key generation device,a copyright protection system and a cipher communication device
AU2002340566A1 (en) * 2001-10-17 2003-04-28 Infineon Technologies Ag Method and device for guaranteeing a calculation in a cryptographic algorithm
US7596531B2 (en) * 2002-06-05 2009-09-29 Sun Microsystems, Inc. Method and apparatus for protecting against side channel attacks against personal identification numbers
EP1540880B1 (de) * 2002-09-11 2006-03-08 Giesecke & Devrient GmbH Geschützte kryptographische berechnung
US7715551B2 (en) * 2004-04-29 2010-05-11 Stmicroelectronics Asia Pacific Pte. Ltd. Apparatus and method for consistency checking public key cryptography computations
US7949883B2 (en) * 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
US20050289311A1 (en) * 2004-06-29 2005-12-29 David Durham System and method for secure inter-platform and intra-platform communications
US7680273B2 (en) * 2004-12-08 2010-03-16 Schweitzer Engineering Laboratories, Inc. System and method for optimizing error detection to detect unauthorized modification of transmitted data
US7822207B2 (en) 2006-12-22 2010-10-26 Atmel Rousset S.A.S. Key protection mechanism

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eli Biham und Adi Shamir in dem Artikel "Differential Fault Analysis of Secret Key Cryptosystems" in "Advances in Cryptology - CRYPTO' 97", LNCS 1294, (Springer-Verlag, 1997) auf den Seiten 513-525
Hagai Bar-El et al. beschreiben in dem Artikel "The Sorcerer's Apprentice Guide to Fault Attacks" in "Discretix Technologies White Paper" anlässlich des "Workshop an Fault Detection and Tolerance in Cryptography" in Florenz, Italien, am 30. Juni 2004 (Cryptology ePrint Archive (eprint.iacr.org), Report 2004/100; auch CiteSeer article 705084)

Also Published As

Publication number Publication date
US20080152144A1 (en) 2008-06-26
CN101569131A (zh) 2009-10-28
WO2008079524A3 (en) 2008-08-14
US7822207B2 (en) 2010-10-26
TWI434565B (zh) 2014-04-11
CN101569131B (zh) 2012-12-12
WO2008079524A2 (en) 2008-07-03
TW200830832A (en) 2008-07-16

Similar Documents

Publication Publication Date Title
DE112007003061T5 (de) Mechanismus zum Schützen eines Schlüssels
DE69834431T3 (de) Leckresistentes kryptographisches verfahren und vorrichtung
DE102012202015B4 (de) Vorrichtung und Verfahren zum Schützen einer Referenzzahl gegen darauf gerichtete Differential Power Analyse-Angriffe und Template-Angriffe
EP2901611B1 (de) Seitenkanalgeschützte maskierung
DE102014016548A1 (de) Verfahren zum Testen und zum Härten von Softwareapplikationen
DE102007007699A1 (de) Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks
DE102016120558A1 (de) Datenverarbeitungsvorrichtung und -verfahren für kryptographische verarbeitung von daten
DE102017117899A1 (de) Durchführen einer kryptografischen Operation
DE69720971T2 (de) Computersystem und Verfahren zum Schutz von Software
EP1540880B1 (de) Geschützte kryptographische berechnung
DE10328860B4 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
EP1442391B1 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
DE102010045580A1 (de) Schaltungsanordnung und Verfahren zum Betreiben einer Schaltungsanordnung
WO2003034268A2 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE102021101697B3 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten geheimer daten
EP3371733B1 (de) Verschlüsseln des speicherinhalts eines speichers in einem eingebetteten system
EP3804209B1 (de) Verfahren mit safe-error-abwehrmassnahme
DE102008054627A1 (de) Steuergerät mit dem Verfahren zum Manipulationsschutz Computerprogramm, Computerprogrammprodukt
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
DE19811175A1 (de) Verfahren und Anordnung zur Abwehr kryptoanalytischer Untersuchungen
DE102022132529A1 (de) Datenverarbeitungsvorrichtung und verfahren zur verarbeitung geheimer daten
EP1760929B1 (de) Geschütztes kryptographisches Verfahren
DE10149191C2 (de) Verfahren und Vorrichtung zum Ermitteln von Ursprungsausgangsdaten aus Ursprungseingangsdaten auf der Basis einer kryptographischen Operation
DE102010064578B3 (de) Kryptographie-Prozessor, Chipkarte und Verfahren zur Berechnung eines Ergebnisses einer Exponentiation
DE102011115082A1 (de) Gegen Ausspähung schützbarer geheimer RSA Verschlüsselungsexponent

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: ATMEL ROUSSETS S.A.S., ROUSSET CEDEX, FR

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: INSIDE SECURE, FR

Free format text: FORMER OWNER: ATMEL ROUSSET S.A.S., ROUSSET CEDEX, FR

Effective date: 20120831

Owner name: INSIDE SECURE S.A., FR

Free format text: FORMER OWNER: ATMEL ROUSSET S.A.S., ROUSSET CEDEX, FR

Effective date: 20120831

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20120831

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20120831

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: INSIDE SECURE, FR

Free format text: FORMER OWNER: INSIDE SECURE S.A., AIX-EN-PROVENCE, FR

Effective date: 20131111

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20131111

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20131111

R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20140821

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: VERIMATRIX, FR

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUN, US

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R081 Change of applicant/patentee

Owner name: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUN, US

Free format text: FORMER OWNER: VERIMATRIX, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: VERIMATRIX, MEYREUIL, FR

R082 Change of representative

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R081 Change of applicant/patentee

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CA, US

R082 Change of representative

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee