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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing 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)
- 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. 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. 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. 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. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel l'algorithme est un algorithme AES.
- 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.
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)
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)
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)
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 |
-
2013
- 2013-10-23 FR FR1360300A patent/FR3012234B1/fr not_active Expired - Fee Related
-
2014
- 2014-10-22 US US14/521,150 patent/US9565016B2/en active Active
Patent Citations (2)
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 |