FR3012234A1 - Protection de l'execution d'un algorithme contre des attaques par canaux caches - Google Patents

Protection de l'execution d'un algorithme contre des attaques par canaux caches Download PDF

Info

Publication number
FR3012234A1
FR3012234A1 FR1360300A FR1360300A FR3012234A1 FR 3012234 A1 FR3012234 A1 FR 3012234A1 FR 1360300 A FR1360300 A FR 1360300A FR 1360300 A FR1360300 A FR 1360300A FR 3012234 A1 FR3012234 A1 FR 3012234A1
Authority
FR
France
Prior art keywords
algorithm
execution
counter
memory
writing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1360300A
Other languages
English (en)
Other versions
FR3012234B1 (fr
Inventor
Alexandre Wostyn
Jean-Louis Modave
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.)
Proton World International NV
Original Assignee
Proton World International NV
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 Proton World International NV filed Critical Proton World International NV
Priority to FR1360300A priority Critical patent/FR3012234B1/fr
Priority to US14/521,150 priority patent/US9565016B2/en
Publication of FR3012234A1 publication Critical patent/FR3012234A1/fr
Application granted granted Critical
Publication of FR3012234B1 publication Critical patent/FR3012234B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/77Protecting 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 smart cards
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé de protection de l'exécution d'un algorithme cryptographique dont l'exécution est précédée d'une mise à jour d'un compteur (COUNT) destiné à être stocké en mémoire non volatile reprogrammable, dans lequel le stockage de la valeur du compteur (44) dans la mémoire est effectué pendant l'exécution de l'algorithme.

Description

B12934 - 13-ZV2-0343 1 PROTECTION DE L'EXÉCUTION D'UN ALGORITHME CONTRE DES ATTAQUES PAR CANAUX CACHÉS Domaine La présente description concerne de façon générale des circuits électroniques et, plus particulièrement, les circuits exécutant des algorithmes cryptographiques et exploitant un 5 stockage en mémoire non volatile. Exposé de l'art antérieur Dans la plupart des applications exploitant des algorithmes cryptographiques, on met en oeuvre une protection contre des attaques par injection de fautes qui utilise un 10 compteur. Ce compteur est mis à jour à chaque exécution de l'algorithme afin de s'assurer qu'un attaquant ne procède pas à de multiples exécutions de l'algorithme pour en découvrir les informations secrètes (typiquement les clés). La mise à jour du compteur (incrémentation ou décrémentation) ainsi que le 15 stockage de sa nouvelle valeur en mémoire non volatile (typiquement une mémoire EEPROM) s'effectuent avant l'exécution de l'algorithme de façon à éviter qu'un attaquant interrompe le processus à la fin de l'algorithme et avant la mise à jour du compteur, ce qui rendrait la protection inefficace. 20 Les protections actuelles ne sont pas encore optimales et peuvent être améliorées.
B12934 - 13-ZV2-0343 2 Résumé Un mode de réalisation de la présente description vise à pallier tout ou partie des inconvénients des solutions usuelles de protection de l'exécution d'un algorithme crypto5 graphique. Un autre mode de réalisation vise à proposer un procédé particulièrement adapté à l'algorithme AES. Un autre mode de réalisation vise à rendre la détection des phases d'écriture en mémoire non volatile et d'exécu- 10 tion de l'algorithme plus difficilement détectables notamment par analyse de la consommation du circuit exécutant ces fonctions. Ainsi, un mode de réalisation prévoit un procédé de protection de l'exécution d'un algorithme cryptographique dont 15 l'exécution est précédée d'une mise à jour d'un compteur destiné à être stocké en mémoire non volatile reprogrammable, dans lequel le stockage de la valeur du compteur dans la mémoire est effectué pendant l'exécution de l'algorithme. Selon un mode de réalisation, le procédé comporte les 20 étapes suivantes : activer la mémoire en vue d'une écriture ; écrire la valeur du compteur dans la mémoire ; désactiver la fonction d'écriture de la mémoire ; et exécuter l'algorithme entre les étapes d'activation et 25 de désactivation. Selon un mode de réalisation, l'étape d'écriture débute en même temps que l'exécution de l'algorithme. Selon un mode de réalisation, l'étape d'écriture débute après le début d'exécution de l'algorithme. 30 Selon un mode de réalisation, l'algorithme est un algorithme AES. Un mode de réalisation prévoit également un circuit d'exécution d'un algorithme cryptographique.
B12934 - 13-ZV2-0343 3 Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en 5 relation avec les figures jointes parmi lesquelles : la figure 1 est une représentation schématique et sous forme de blocs d'un exemple de circuit électronique du type auquel s'appliquent les modes de réalisation qui vont être décrits ; 10 la figure 2 est un schéma blocs illustrant un processus usuel de mise à jour d'un compteur d'exécution d'un algorithme AES ; la figure 3 est un chronogramme illustrant la séquence d'exécution du processus de la figure 2 ; 15 la figure 4 représente, sous forme de blocs, un mode de réalisation du procédé de mise à jour d'un compteur en mémoire EEPROM et d'exécution d'un algorithme cryptographique ; la figure 5 illustre le fonctionnement d'une écriture en mémoire EEPROM ; et 20 la figure 6 est un chronogramme illustrant un mode de réalisation du procédé de protection. Description détaillée De mêmes éléments ont été désignés par de mêmes références aux différentes figures. Par souci de clarté, seuls 25 les étapes et éléments utiles à la compréhension des modes de réalisation qui vont être décrits ont été représentés et seront détaillés. En particulier, les étapes internes à l'algorithme AES, pris pour exemple, n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les exécutions 30 usuelles d'un algorithme AES et ses différentes variantes. De plus, les processus de lecture et d'écriture dans une mémoire EEPROM n'ont été détaillés que pour les besoins de la présente description, le reste étant compatible avec les processus usuels. Dans la description qui suit, on fera référence à un 35 exemple d'algorithme AES. Toutefois, la présente description et B12934 - 13-ZV2-0343 4 ses variantes s'appliquent plus généralement à tout algorithme cryptographique pour lequel on souhaite compter le nombre d'exécutions et stocker la valeur de ce compteur dans une mémoire EEPROM de façon à protéger les quantités secrètes exploitées par l'algorithme. Par quantité secrète, on entend une information dont l'accès est réservé à des circuits ou utilisateurs autorisés. La figure 1 est un schéma bloc représentant un exemple de circuit électronique 1 du type auquel s'appliquent les modes de réalisation décrits. Un tel circuit comporte une unité de traitement 12 (PU), par exemple un microprocesseur, un microcontrôleur, une machine d'états en logique câblée, etc., une ou plusieurs mémoires 14 (MEM) volatiles ou non volatiles ; un ou plusieurs circuits exécutant des fonctions dépendant de l'application. Ces différentes fonctions ont été symbolisées par un bloc 16 (FCT) en figure 1. Les différents éléments du circuit 1 communiquent entre eux par un ou plusieurs bus 13 de données, d'adresses et de commandes, et avec d'autres éléments non représentés et un ou plusieurs circuits 15 constituant des interfaces d'entrée/sortie (I/O) avec l'extérieur. Dans les circuits visés par les modes de réalisation décrits, le circuit électronique 1 comporte en outre au moins une mémoire 2 (EEPROM) du type mémoire non volatile programmable et effaçable électriquement.
La figure 2 représente, sous forme de schéma blocs, un exemple de processus usuel d'utilisation d'un compteur stocké dans une mémoire EEPROM pour protéger l'exécution d'un algorithme AES. A chaque exécution (bloc 22, AES) en plusieurs tours (n ROUNDS) de l'algorithme, un programme de séquencement des opérations provoque la vérification de la valeur d'un compteur (bloc 24, CHECK COUNT) pour s'assurer qu'un seuil en nombre d'exécutions n'est pas dépassé. Si le processus peut se poursuivre, la valeur du compteur COUNT est mise à jour (bloc 26, COUNT+1). Puis, cette valeur est stockée dans la mémoire EEPROM (bloc 28, STORE EEPROM). Une fois ces opérations B12934 - 13-ZV2-0343 effectuées, le circuit considère que l'algorithme peut être exécuté et le résultat résulte de cette exécution. L'exploitation faite des données manipulées par l'algorithme ne sera pas ici détaillée, les modes de réalisation 5 décrits étant compatibles avec les exploitations usuelles des données traitées par des algorithmes cryptographiques. La figure 3 est un chronogramme illustrant le séquencement des opérations de la figure 2. Avant un instant t'0, les étapes 24 et 26 de vérification et d'incrément du compteur sont exécutées et les valeurs sont stockées temporairement en mémoire volatile. Bien entendu, une étape de lecture du compteur en mémoire EEPROM précède l'étape de vérification 24. Entre des instants t'0 et t'1, on procède à l'écriture en mémoire EEPROM de la valeur mise à jour du compteur. Puis, entre l'instant t'1 (ou un instant légèrement postérieur) et un instant t'2, l'algorithme AES est exécuté. Ce mécanisme de protection de mise à jour du compteur avant exécution de l'algorithme AES permet d'éviter qu'un 20 attaquant n'interrompe le processus juste à la fin du calcul de l'AES sans que le compteur n'ait été mis à jour. Toutefois, il subsiste un risque qu'un attaquant détecte l'instant de début de l'exécution de l'algorithme (t'l) dans le processus par analyse de la consommation du circuit 25 (analyse statique SPA ou différentielle DPA), ce qui lui permet de concentrer ensuite le reste de son analyse sur l'exécution de l'AES. En effet, une écriture en mémoire EEPROM est particulièrement repérable dans une allure de consommation d'un 30 circuit électronique, notamment en raison du besoin supplémentaire d'énergie requis par rapport au fonctionnement normal du circuit pendant cette opération d'écriture. Par ailleurs, une opération d'écriture en mémoire EEPROM est généralement relativement longue (de une à quelques B12934 - 13-ZV2-0343 6 millisecondes), ce qui nuit à la rapidité de traitement du circuit électronique. La figure 4 est un schéma bloc à rapprocher de celui de la figure 2 et illustrant un mode de réalisation du procédé 5 de mise à jour d'un compteur en mémoire EEPROM et d'exécution d'un algorithme crytographique. La figure 5 est un chronogramme illustrant, de façon très schématique, les besoins en énergie d'une écriture dans une mémoire EEPROM. 10 La figure 6 illustre, sous forme de chronogrammes, le séquencement des étapes du procédé de la figure 4. A chaque besoin d'exécution de l'algorithme, par exemple AES (bloc 22), on commence par vérifier la valeur du compteur COUNT du nombre d'exécutions (bloc 24, CHECK COUNT). Si 15 la nouvelle exécution est autorisée, on met à jour le compteur (bloc 26, COUNT+1) par exemple en l'incrémentant. Puis, on prépare (bloc 42, EE START) la mémoire EEPROM pour une phase d'écriture. Les inventeurs tirent profit du fait qu'une écriture 20 en mémoire EEPROM peut se décomposer entre trois phases. Comme l'illustre la figure 5, une première phase START consiste à activer des circuits de pompe de charge pour produire une tension suffisamment élevée et permettre l'écriture dans les mémoires EEPROM. Pendant cette phase de démarrage, le niveau 25 d'énergie requis par le circuit atteint un premier niveau Ll. Puis, lorsque l'énergie disponible est suffisante, la mémoire peut commencer à être mise à jour pour écriture de données. Cela correspond à une deuxième phase (STORE) au cours de laquelle le niveau d'énergie consommée descend à un deuxième 30 niveau L2. Une fois l'écriture terminée, les circuits de pompe de charge sont désactivés ou mis au repos. Cela correspond à une troisième phase (CLOSE) à partir de laquelle on considère que l'écriture est terminée.
B12934 - 13-ZV2-0343 7 La représentation de la figure 5 est très schématique et vise à illustrer la nouvelle interprétation effectuée par les inventeurs afin de tirer profit de ce découpage en trois phases pour, tout en préservant la protection de la valeur du compteur, permettre d'effectuer l'écriture de la valeur du compteur en même temps que l'exécution de l'algorithme AES. Les inventeurs ont en effet constaté que la durée d'écriture dans la mémoire EEPROM (phase STORE) est du même ordre de grandeur que la durée d'une exécution de l'algorithme 10 AES. Par ailleurs, les processeurs désormais présents dans les circuits électroniques disposent de la capacité suffisante pour exécuter deux opérations en parallèle, à savoir déclencher le stockage dans la mémoire EEPROM et procéder à l'exécution de 15 l'algorithme. Cette exécution parallèle est illustrée par les figures 4 et 6. Ainsi, l'étape 42 correspond à une étape de préparation de l'écriture mais pas à une étape complète d'écriture. 20 Cette étape s'effectue entre des instants t0 et t1 (figure 6). Une fois la mémoire EEPROM prête à stocker la valeur, on considère que l'on peut démarrer l'exécution de l'algorithme AES (bloc 22). Ce démarrage peut être immédiat ou légèrement postérieur comme illustré en figure 6. Puis, dans l'exemple de 25 la figure 6, à un instant t2, postérieur à l'instant t1, on provoque l'écriture proprement dite dans la mémoire EEPROM (bloc 44, figure 4, COUNT -> EE), c'est-à-dire la programmation de ses cellules. L'écriture proprement dite se termine à un instant t3 30 qui, dans l'exemple de la figure 6, est supposé antérieur à la fin de l'exécution de l'algorithme AES. Il reste à procéder à la désactivation des pompes de charge de la mémoire EEPROM (bloc 46, EE CLOSE), ce qui est effectué à un instant t4, postérieur à l'instant t3. De préférence, l'instant t4 est également posté- 35 rieur à la fin de l'exécution de l'algorithme AES.
B12934 - 13-ZV2-0343 8 Un avantage du séquencement proposé est que la signature en courant de l'écriture dans la mémoire, qui peut conduire à un attaquant à interrompre cette écriture, lui fera interrompre également l'exécution de l'algorithme donc rendra inexploitable les données en sortie. Un autre avantage est que cette exécution en parallèle gagne au total du temps. On notera que l'instant de démarrage de l'algorithme peut intervenir dès que les circuits de pompe de charge (étape 42) sont actifs. De façon similaire, l'écriture en mémoire EEPROM peut intervenir dès la fin de cette préparation (instants t1 et t2 confondus). L'insertion d'un délai aléatoire entre les instants t1 et t2 est toutefois préférable pour désynchroniser les deux opérations (écriture en mémoire EEPROM et exécution de l'algorithme AES). Cette protection entraînera des difficultés supplémentaires pour tout attaquant désirant profiter de l'écriture en mémoire EEPROM pour s'aligner sur un moment particulier de l'algorithme exécuté. De même, les instants t3 et t4 peuvent être confondus, en particulier si l'exécution de l'algorithme AES est plus courte que l'étape 44 d'écriture de la valeur du compteur. Divers modes de réalisation ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. Ces modes de réalisation et variantes sont en outre combinables. De plus, la mise en oeuvre pratique des modes de réalisation qui ont été décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus et en utilisant des techniques en elles-mêmes usuelles. En particulier, l'adaptation du processus d'écriture en mémoire EEPROM ainsi que la programmation nécessaire de l'unité de traitement pour permettre cette exécution est à la portée de l'homme du métier à partir de ces indications fonctionnelles. Enfin, bien que l'on ait fait référence à une mémoire EEPROM, les modes de réalisation décrits s'appliquent plus généralement à toute

Claims (6)

  1. REVENDICATIONS1. Procédé de protection de l'exécution (22) d'un algorithme cryptographique dont l'exécution est précédée d'une mise à jour d'un compteur (COUNT) destiné à être stocké en mémoire non volatile reprogrammable, dans lequel le stockage de la valeur du compteur (44) dans la mémoire est effectué pendant l'exécution de l'algorithme.
  2. 2. Procédé selon la revendication 1, comportant les étapes suivantes : activer (42) la mémoire en vue d'une écriture ; écrire (44) la valeur du compteur dans la mémoire ; désactiver (46) la fonction d'écriture de la mémoire ; et exécuter l'algorithme (22) entre les étapes d'activation et de désactivation.
  3. 3. Procédé selon la revendication 1 ou 2, dans lequel l'étape d'écriture débute en même temps que l'exécution de l'algorithme.
  4. 4. Procédé selon la revendication 1 ou 2, dans lequel l'étape d'écriture débute après le début d'exécution de l'algo20 rithme.
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel l'algorithme est un algorithme AES.
  6. 6. Circuit (1) d'exécution d'un algorithme cryptographique, adapté à la mise en oeuvre du procédé selon l'une 25 quelconque des revendications 1 à 5.
FR1360300A 2013-10-23 2013-10-23 Protection de l'execution d'un algorithme contre des attaques par canaux caches Expired - Fee Related FR3012234B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1360300A FR3012234B1 (fr) 2013-10-23 2013-10-23 Protection de l'execution d'un algorithme contre des attaques par canaux caches
US14/521,150 US9565016B2 (en) 2013-10-23 2014-10-22 Protection of the execution of an algorithm against side-channel attacks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1360300A FR3012234B1 (fr) 2013-10-23 2013-10-23 Protection de l'execution d'un algorithme contre des attaques par canaux caches

Publications (2)

Publication Number Publication Date
FR3012234A1 true FR3012234A1 (fr) 2015-04-24
FR3012234B1 FR3012234B1 (fr) 2017-02-24

Family

ID=50289763

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1360300A Expired - Fee Related FR3012234B1 (fr) 2013-10-23 2013-10-23 Protection de l'execution d'un algorithme contre des attaques par canaux caches

Country Status (2)

Country Link
US (1) US9565016B2 (fr)
FR (1) FR3012234B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669281B1 (en) * 2021-11-19 2023-06-06 Meta Platforms, Inc. Count circuit for symbol statistics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776410A1 (fr) * 1998-03-20 1999-09-24 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
WO2008084016A1 (fr) * 2007-01-05 2008-07-17 Proton World International N.V. Protection d'informations contenues dans un circuit electronique

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797928A (en) * 1987-01-07 1989-01-10 Miu Automation Encryption printed circuit board
US6046680A (en) * 1994-06-15 2000-04-04 Texas Instruments Incorporated Method of preventing unauthorized reproduction of a transmission code
US6901127B1 (en) * 2000-04-26 2005-05-31 Sigmatel, Inc. Method and apparatus for data recovery
JP4188571B2 (ja) * 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式
US7697687B2 (en) * 2005-04-13 2010-04-13 Nucrypt, Inc. Streaming implementation of AlphaEta physical layer encryption
US7293158B2 (en) * 2005-03-02 2007-11-06 International Business Machines Corporation Systems and methods for implementing counters in a network processor with cost effective memory
US20070050642A1 (en) * 2005-08-26 2007-03-01 International Business Machines Corporation Memory control unit with configurable memory encryption
US9177153B1 (en) * 2005-10-07 2015-11-03 Carnegie Mellon University Verifying integrity and guaranteeing execution of code on untrusted computer platform
US7681050B2 (en) * 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
WO2008105944A2 (fr) * 2006-09-29 2008-09-04 Linx Technologies, Inc. Appareil et procédés de codage et décodage
US7945792B2 (en) * 2007-10-17 2011-05-17 Spansion Llc Tamper reactive memory device to secure data from tamper attacks
IL187046A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Memory randomization for protection against side channel attacks
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US9122964B2 (en) * 2010-05-14 2015-09-01 Mark Krawczewicz Batteryless stored value card with display
US20110285421A1 (en) * 2010-05-24 2011-11-24 Alexander Roger Deas Synchronous logic system secured against side-channel attack
US8645716B1 (en) * 2010-10-08 2014-02-04 Marvell International Ltd. Method and apparatus for overwriting an encryption key of a media drive
US8850608B2 (en) * 2011-03-07 2014-09-30 University Of Connecticut Embedded ring oscillator network for integrated circuit security and threat detection
US10060173B2 (en) * 2011-05-24 2018-08-28 Overhead Door Corporation Multiple speed profiles in barrier operator systems
US8843767B2 (en) * 2011-07-06 2014-09-23 The Boeing Company Secure memory transaction unit
US8971526B2 (en) * 2011-07-26 2015-03-03 Crocus-Technology Sa Method of counter-measuring against side-channel attacks
US8750502B2 (en) * 2012-03-22 2014-06-10 Purdue Research Foundation System on chip and method for cryptography using a physically unclonable function
US20140173294A1 (en) * 2012-12-14 2014-06-19 Broadcom Corporation Techniques for emulating an eeprom device
US9264222B2 (en) * 2013-02-28 2016-02-16 Apple Inc. Precomputing internal AES states in counter mode to protect keys used in AES computations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2776410A1 (fr) * 1998-03-20 1999-09-24 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
WO2008084016A1 (fr) * 2007-01-05 2008-07-17 Proton World International N.V. Protection d'informations contenues dans un circuit electronique

Also Published As

Publication number Publication date
US20150110265A1 (en) 2015-04-23
FR3012234B1 (fr) 2017-02-24
US9565016B2 (en) 2017-02-07

Similar Documents

Publication Publication Date Title
EP1745366A1 (fr) Procede de protection d"un ensemble cryptographique par masquage homographique
EP3300293B1 (fr) Procédé de chiffrement ou de déchiffrement symétrique par bloc
EP1220101B1 (fr) Procédé et dispositif de protection contre le piratage de circuits intégrés
EP3136226B1 (fr) Protection d'un calcul d'exponentiation modulaire
FR3012234A1 (fr) Protection de l'execution d'un algorithme contre des attaques par canaux caches
EP1505760B1 (fr) Procédé et processeur de protection de plusieurs calculs identiques
EP2102780A1 (fr) Procédé permettant de faire varier le nombre d'exécution de contre-mesures dans un code exécuté
FR2980607A1 (fr) Procede de derivation de cles dans un circuit integre
EP3136227B1 (fr) Verification de la sensibilite d'un circuit electronique executant un calcul d'exponentiation modulaire
EP2315388B1 (fr) Procédé sécurisé de calcul cryptographique et composant électronique correspondant.
EP1317701B1 (fr) Procede de brouillage de la consommation electrique d'un circuit integre
WO2000023866A1 (fr) Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees
EP0703584B1 (fr) Procédé de décodage d'addresse dans une mémoire en circuit intégré et circuit mémoire mettant en oeuvre le procédé
EP1387519A2 (fr) Procédé de sécurisation d'un ensemble électronique contre des attaques par introduction d'erreurs
EP3147811B1 (fr) Stockage et lecture d'un code d'authentification de message dans une mémoire externe
EP3882895A1 (fr) Détection de fautes par un circuit électronique
EP1591866A1 (fr) Contrôle de l'exécution d'un algorithme par un circuit intégré
EP1742162B1 (fr) Protection de l'exécution d'un programme
FR3070092A1 (fr) Protection d'un circuit integre
FR2974648A1 (fr) Protection d'une memoire vive contre des attaques par injection de fautes
FR3011656A1 (fr) Procede et dispositif de realisation de fonction par un microcircuit
EP1891769B1 (fr) Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre
FR3105490A1 (fr) Procede de traitement cryptographique de donnees et entite electronique associes
FR3068152B1 (fr) Procede de protection d'un dispositif electronique executant un programme contre des attaques par injection de faute
EP1475919A2 (fr) Procédé et circuit anti-fraude pour registre de circuit intégré contenant des données obtenues à partir de quantités secrètes

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

CA Change of address

Effective date: 20160301

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

ST Notification of lapse

Effective date: 20220605