FR2843466A1 - Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme - Google Patents

Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme Download PDF

Info

Publication number
FR2843466A1
FR2843466A1 FR0305115A FR0305115A FR2843466A1 FR 2843466 A1 FR2843466 A1 FR 2843466A1 FR 0305115 A FR0305115 A FR 0305115A FR 0305115 A FR0305115 A FR 0305115A FR 2843466 A1 FR2843466 A1 FR 2843466A1
Authority
FR
France
Prior art keywords
data
clock signal
datum
memory
processing system
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
FR0305115A
Other languages
English (en)
Other versions
FR2843466B1 (fr
Inventor
Kyung Suk Yi
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of FR2843466A1 publication Critical patent/FR2843466A1/fr
Application granted granted Critical
Publication of FR2843466B1 publication Critical patent/FR2843466B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé pour empêcher une falsification utilisant une attaque par points de conversion, ainsi qu'un système de traitement de données utilisant ce procédé. Le procédé extrait une première donnée d'une région d'une mémoire (120) du système, assignée par une adresse, extrait une seconde donnée de la région de la mémoire assignée par l'adresse, détermine si la première donnée est identique à la seconde donnée, et récupère par le processeur (110) l'une des première et seconde données lorsqu'elles sont identiques l'une à l'autre.Domaine d'application : cartes à puce, à mémoire, etc.

Description

i L'invention concerne de façon générale des systèmes traitement de
données, et en particulier un système de traitement de données capable d'empêcher une falsification en utilisant une technique d'attaque par pointe de conversion. Les cartes à mémoire ou cartes à puce sont des dispositifs électroniques qui ont été développés pour aider à faciliter de nombreuses transactions effectuées par des consommateurs. Par exemple, les cartes à puce sont 10 utilisées pour enregistrer le nombre de voyages sur une ligne de bus. Lorsqu'un client monte à bord d'un bus, il place la carte à puce dans un lecteur qui lui est destiné
et le compte du client est débité d'une certaine somme.
En tant que système de traitement de données, une 15 carte à puce stocke des informations, par exemple personnels, financières, etc., qui doivent être protégées contre un accès non autorisé. Pour cette raison, un but important d'une carte à puce est de sécuriser les données qu'elle contient en mémoire. Si les données de la carte à 20 puce sont divulguées à des personnes non autorisées, il peut en résulter un dommage considérable pour un utilisateur ou un gestionnaire de système. L'accès non autorisé à une carte à puce est appelé "falsification". Les techniques de falsification peuvent être classées en quatre 25 grandes techniques d'attaque, à savoir une technique de microsondage, une technique par logiciel, une technique
d'écoutes et une technique de génération de défauts.
La technique de microsondage peut être utilisée pour accéder directement à la surface d'une puce. La technique 30 d'attaque par logiciel utilise l'interface normale de communication d'un processeur et exploite les vulnérabilités de la sécurité rencontrées dans les protocoles, les algorithmes cryptographiques ou leur matérialisation. La technique d'écoutes surveille, avec une 35 haute résolution temporelle, les caractéristiques analogiques de toutes les connexions d'alimentation et
d'interface et de tout autre rayonnement électromagnétique produits par un processeur pendant le fonctionnement normal. La technique de génération de défauts utilise des conditions ambiantes anormales pour générer des défauts de 5 fonctionnement dans un processeur qui procurent un accès supplémentaire. Toutes les techniques de microsondage sont des attaques invasives. Elles exigent des heures ou des semaines en laboratoire spécialisé et, en cours de processus, elles détruisent l'enrobage. Les trois autres 10 techniques sont des attaques non invasives.
Une technique d'attaque par pointes de conversion, qui est une technique d'attaque non invasive, attaque sans autorisation une carte à puce en appliquant des signaux anormaux à un signal fourni extérieurement ou à une tension 15 d'alimentation en énergie afin qu'une carte à puce fonctionne de façon imprévue. Des ordres particulièrement intéressants qu'un agresseur peut vouloir remplacer au moyen de pointes de conversion sont des sauts conditionnels ou les instructions d'essai les précédant. Ils créent une 20 fenêtre de vulnérabilité dans les étages de traitement de nombreuses applications de sécurité, laquelle permet souvent à un agresseur de contourner des barrières cryptographiques élaborées en empêchant simplement l'exécution du code qui détecte l'échec d'une tentative 25 d'authentification. Des pointes de conversion d'instruction peuvent également être utilisées pour allonger ou
raccourcir le temps de parcours de boucles.
En conclusion, les données stockées dans une carte à puce en tant que système de traitement de données peuvent 30 être falsifiées par la technique d'attaque par pointes de conversion. Il est proposé un procédé résistant à la
falsification, capable d'empêcher une falsification utilisant une attaque par pointes de conversion, et un 35 système de traitement de données utilisant ce procédé.
Conformément à un aspect de l'invention, il est proposé un procédé pour empêcher une falsification d'un système de traitement de données comprenant une mémoire et un processeur. Le procédé comprend l'extraction d'une 5 première donnée d'une région de la mémoire à laquelle une adresse est affectée; l'extraction d'une seconde donnée de la région de la mémoire à laquelle l'adresse est affectée; le fait de déterminer si les premières données sont identiques aux secondes données; et la récupération par le processeur de l'une des première et seconde données lorsque la première donnée est
identique à la seconde donnée.
Dans cette forme de réalisation, lorsque la premère donnée n'est pas identique à la seconde donnée, le 15 processeur ne récupère aucune des première et seconde
données. Lorsque le processeur fonctionne en synchronisme avec un signal d'horloge externe, la première donnée et la seconde donnée sont extraites successivement de la mémoire par la même adresse pendant un cycle du signal d'horloge 20 externe.
Selon un autre aspect de l'invention, il est proposé un système de traitement de données. Le système de traitement de données comprend un noyau de processeur, un circuit de génération d'horloge, une mémoire et un circuit 25 résistant à la falsification. Le noyau du processeur génère une adresse en synchronisme avec un premier signal d'horloge, et le circuit de génération d'horloge génère un second signal d'horloge en réponse au premier signal d'horloge. Une période du premier signal d'horloge est deux 30 fois plus longue que celle du second signal d'horloge. La mémoire est actionnée en synchronisme avec le second signal d'horloge, et délivre des données en réponse à l'adresse transférée depuis le noyau du processeur. Le circuit résistant à la falsification reçoit des données délivrées 35 en sortie de la mémoire en réponse au second signal d'horloge, et compare les valeurs des données reçues pendant un cycle du premier signal d'horloge. Ici, le noyau du processeur charge des données provenant du circuit résistant à la falsification uniquement lorsque la donnée transférée au circuit résistant à la falsification pendant 5 une première demi-période du premier signal d'horloge est identique à la donnée qui en est transférée pendant une
seconde demi-période de ce même signal.
Dans cette forme de réalisation, le circuit résistant à la spoliation génère un signal drapeau indiquant si des 10 valeurs de données reçues pendant un cycle du premier
signal d'horloge sont la même valeur.
Dans cette forme de réalisation, le noyau du
processeur reçoit sélectivement des données provenant du circuit résistant à la falsification en réponse au signal 15 de drapeau.
Dans cette forme de réalisation, le noyau du processeur reçoit les données provenant du circuit résistant à la falsification en réponse au signal de drapeau indiquant que les valeurs des données reçues 20 pendant un cycle du premier signal d'horloge sont
identiques entre elles.
Dans cette forme de réalisation, le noyau du processeur ne reçoit pas la donnée provenant du circuit résistant à la falsification en réponse à l'indication par 25 le signal de drapeau que les valeurs de données reçues pendant un cycle du premier signal d'horloge sont différentes. Dans cette forme de réalisation, le circuit résistant à la falsification comporte des premier et second tampons; 30 un multiplexeur destiné à multiplexer des données provenant
de la mémoire dans les premier et second tampons en réponse au second signal d'horloge; et un comparateur destiné à comparer les signaux de sortie des premier et second tampons pour générer un signal de drapeau en tant que 35 résultat de la comparaison.
Dans cette forme de réalisation, le circuit résistant à la falsification comporte un registre à décalage destiné à stocker des première et seconde données délivrées séquentiellement en sortie de la mémoire pendant les 5 première et seconde demi-périodes du premier signal d'horloge; et un comparateur destiné à comparer la première donnée et la seconde donnée provenant du registre à décalage afin de générer le signal de drapeau en résultat
de la comparaison.
L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs et sur lesquels: la figure 1 est un schéma fonctionnel simplifié d'un système de traitement de données selon une première forme 15 de réalisation de l'invention; la figure 2 montre une relation entre un signal d'horloge externe et un signal d'horloge interne utilisés dans le système de traitement de données de la figure 1; la figure 3 est un organigramme pour décrire un 20 procédé de résistance à la falsification selon une forme de réalisation de l'invention; et la figure 4 est un schéma fonctionnel simplifié d'un système de traitement de données selon une seconde forme de
réalisation de l'invention.
La figure 1 illustre un schéma fonctionnel simplifié d'un système de traitement de données selon une première forme de réalisation. En référence à la figure 1, le système 100 de traitement de données selon l'invention comporte un noyau 110, une mémoire 120, un dispositif 30 d'entrée/sortie 130, un circuit 140 de génération d'horloge et un circuit 150 résistant à la falsification. Les éléments constitutifs du système 100 de traitement de données fonctionnent avec une tension d'alimentation en énergie qui est fournie extérieurement au système de 35 traitement de données. En tant que processeur, le noyau 110 communique avec un dispositif externe par l'intermédiaire du dispositif d'entrée/sortie 130, et comprend un compteur PC de programme qui génère une adresse ADD en synchronisme avec un signal d'horloge externe XCLK ayant une période prédéterminée. L'adresse ADD est transférée à la mémoire 120 par l'intermédiaire d'un bus d'adresses. Le circuit 140 de génération d'horloge reçoit le
signal d'horloge externe XCLK de façon à générer un signal d'horloge interne ICLK. Une période du signal d'horloge interne ICLK est égale à la moitié de la période du signal 10 d'horloge externe XCLK, comme montré sur la figure 2.
Autrement dit, deux cycles du signal d'horloge interne ICLK sont générés pendant un cycle du signal d'horloge externe XCLK. Le signal d'horloge interne ICLK généré par le circuit 140 de génération d'horloge est appliqué au circuit 15 150 résistant à la falsification. La mémoire 120 est une mémoire rémanente telle qu'une mémoire morte ROM, une mémoire morte programmable effaçable électriquement EEPROM ou une mémoire EEPROM flash, ou bien une mémoire volatile ou non rémanente telle qu'une mémoire vive RAM. La mémoire 20 120 fonctionne en synchronisme avec le signal d'horloge interne ICLK provenant du circuit 140 de génération d'horloge.
Comme on le voit d'après la description ci-dessus, le
noyau 110 fonctionne en synchronisme avec le signal 25 d'horloge externe XCLK, et la mémoire 120 fonctionne en synchronisme avec le signal d'horloge interne ICLK. Ceci permet à la mémoire 120 d'effectuer deux fois une opération de lecture/écriture lors de l'application en entrée d'une adresse provenant de l'extérieur. Le compteur PC de 30 programme dans le noyau 110 génère une adresse ADD en
synchronisme avec le signal d'horloge externe XCLK. La mémoire 120 reçoit l'adresse ADD en réponse au signal d'horloge externe ICLK, et effectue ensuite son opération de lecture/écriture. La mémoire 120 exécute en continu deux 35 fois son opération de lecture en utilisant la même adresse.
Autrement dit, la mémoire 120 délivre en sortie une donnée
correspondant à l'adresse reçue ADD en synchronisme avec le signal d'horloge interne ICLK pendant une demi-période du signal d'horloge externe XCLK, puis elle délivre en sortie une donnée correspondant à l'adresse reçue ADD en 5 synchronisme avec le signal d'horloge interne ICLK pendant l'autre demi-période du signal d'horloge externe XCLK.
En référence toujours à la figure 1, la donnée provenant de la mémoire 120 est transférée au noyau 110, non pas directement, mais en passant par le circuit 150 10 résistant à la falsification. Le circuit 150 résistant à la falsification reçoit et stocke temporairement les première et seconde données délivrées en sortie en continu de la mémoire 120 pendant un cycle du signal d'horloge externe XCLK. Ici, la première donnée et la seconde donnée sont 15 délivrées en sortie par la même adresse. Autrement dit, on accède en continu à la première donnée et à la seconde donnée à partir d'un emplacement qui est désigné par la même adresse. Le circuit 150 résistant à la falsification détermine si une valeur de première donnée est identique à 20 celle de la seconde donnée. Le circuit 150 résistant à la falsification délivre en sortie un signal de drapeau DRAPEAU au noyau 110. Le signal de drapeau DRAPEAU indique que la première donnée a la même valeur que la seconde donnée. Le noyau 110 récupère sélectivement les données 25 stockées temporairement dans le circuit 150 résistant à la falsification en réponse au signal DRAPEAU. Par exemple, si une valeur de la première donnée est différente de celle de la seconde donnée, le noyau 110 ne récupère pas la donnée à laquelle on a alors accès, par exemple la donnée stockée 30 temporairement dans le circuit 150 résistant à la
falsification. Si la première donnée a la même valeur que la seconde donnée, le noyau 110 récupère la donnée à laquelle on a alors accès, par exemple la donnée stockée temporairement dans le circuit 150 résistant à la 35 falsification.
Comme illustré sur la figure 1, le circuit 150 résistant à la falsification comporte un multiplexeur 151, un premier tampon 152, un second tampon 153 et un comparateur 154. Le multiplexeur 151 transfère des données 5 de la mémoire 120, respectivement, aux premier et second tampons 152 et 153 en réponse au signal d'horloge interne ICLK. Par exemple, le multiplexeur 151 transfère une donnée, à laquelle on accède pendant une période de niveau haut du signal d'horloge externe XCLK, au premier tampon 10 152 en réponse au signal d'horloge interne ICLK. Le multiplexeur 151 transfère une donnée, à laquelle on accède pendant une période de niveau bas du signal d'horloge externe XCLK, dans le second tampon 152 en réponse au signal d'horloge interne ICLK. Une sortie du premier tampon 15 152 est connectée au noyau 110. Le comparateur 154 compare
une sortie (par exemple la première donnée) du premier tampon 152 à une sortie (par exemple la seconde donnée) du second tampon 153, puis, en tant que réponse, délivre en sortie le signal DRAPEAU. Le signal DRAPEAU indique si la 20 première donnée a la même valeur que la seconde donnée.
Bien que cela ne soit pas illustré sur la figure 1, il est évident que le multiplexeur 151 utilise le signal d'horloge externe XCLK au lieu du signal d'horloge interne ICLK. En variante, il est évident que le multiplexeur 151 25 utilise à la fois le signal d'horloge externe XCLK et le
signal d'horloge interne ICLK.
La figure 2 est un diagramme des temps de signaux d'horloge, d'une adresse et de données utilisés sur la figure 1, et la figure 3 est un organigramme pour décrire 30 une opération de lecture d'un système de traitement de données selon une forme de réalisation de l'invention. On décrira de façon plus complète une opération de lecture du système de traitement de données en référence aux dessins annexés. Pour extraire des données stockées dans la mémoire , le compteur PC de programme du noyau 110 génère une adresse ADD1 en synchronisme avec un signal d'horloge externe XCLK. L'adresse ADD1 ainsi générée est transférée à la mémoire 120. La mémoire 120 délivre en sortie une donnée Dla correspondant à l'adresse ADD1 en synchronisme avec un 5 signal d'horloge interne ICLK (S100). La donnée de sortie Dla est stockée temporairement dans le premier tampon 152 par l'intermédiaire du multiplexeur 151. Puis la mémoire 120 délivre en sortie une donnée Dlb de l'adresse ADD1 une fois de plus en synchronisme avec le signal d'horloge 10 interne ICLK (S110). La donnée de sortie Dlb est stockée temporairement dans le second tampon 153 par
l'intermédiaire du multiplexeur 151.
Le comparateur 154 du circuit 150 résistant à la falsification détermine si la donnée Dla provenant du 15 premier tampon 152 est identique à la donnée Dlb provenant
du tampon 153 (S120). Le noyau 110 récupère la donnée Dla provenant du premier tampon 152 en réponse à un signal de drapeau DRAPEAU provenant du comparateur 154 (S130).
Autrement dit, lorsque le signal DRAPEAU indique que la 20 donnée Dla est identique à la donnée Dlb, le noyau 110 récupère la donnée Dla à partir du premier tampon 152. Par contre, lorsque le signal DRAPEAU indique que la donnée Dla n'est pas identique à la donnée Dlb, le noyau 110 ne récupère pas la donnée Dla à partir du premier tampon 152 25 (S140). Après les étapes S130 et S140, le noyau 110
détermine si toutes les données sont chargées (S150). S'il en est ainsi, l'opération de lecture ci-dessus est achevée.
Sinon, le processus passe à l'étape S100.
Dans le cas du système de traitement de données selon 30 l'invention, une opération de lecture est exécutée deux
fois pendant un cycle du signal d'horloge externe XCLK.
Autrement dit, la donnée mémorisée dans la mémoire 120 est extraite séquentiellement deux fois à partir d'un emplacement qui est désigné par la même adresse ADDi (i=l à 35 4). En utilisant le procédé de lecture, il est possible d'empêcher le système 100 de traitement de données de fonctionner anormalement du fait d'une attaque par pointes de conversion portant sur une borne d'alimentation en énergie. Comme indiqué ci-dessus, l'attaque par pointes de 5 conversion consiste à appliquer à une borne d'alimentation en énergie un signal à impulsions d'un niveau plus bas ou plus élevé que celui d'une tension d'alimentation en énergie et d'une période plus courte que celle du signal d'horloge externe XCLK. Lorsque la tension d'alimentation 10 en énergie est affectée de l'attaque par pointes de conversion pendant une opération de lecture, une donnée extraite de la mémoire 120 peut être modifiée. Etant donné qu'un signal à impulsions utilisé pour l'attaque par pointes de conversion a une période plus courte que celle 15 du signal d'horloge externe XCLK, le système de traitement de données souffre de l'attaque par pointes de conversion uniquement pendant une période haute ou basse du signal d'horloge externe XCLK. Par exemple, on suppose qu'une donnée modifiée par l'attaque par pointes de conversion est 20 une donnée extraite pendant la première période (période de
niveau haut) du signal d'horloge externe (XCLK) et que la donnée ainsi lue est stockée temporairement dans un tampon.
Une donnée est extraite du même emplacement pendant la seconde période (période de niveau bas) du signal d'horloge 25 externe XCLK, et est stockée dans l'autre tampon. Etant donné qu'une opération de lecture exécutée pendant la seconde période du signal d'horloge externe XCLK n'est pas affectée par l'attaque par pointes de conversion, le noyau 110 récupère sélectivement la donnée à laquelle on accède 30 alors conformément à un résultat d'une comparaison des données. Il est donc possible d'empêcher un défaut de fonctionnement du système 100 de traitement de données d à l'attaque par pointes de conversion imposée à la borne
d'alimentation en énergie.
La figure 4 est un schéma fonctionnel simplifié d'un système de traitement de données selon une seconde forme de
réalisation de l'invention. Sur la figure 4, les éléments constitutifs identiques à ceux de la figure 1 sont désignés par les mêmes références numériques et leur description ne sera donc pas reprise. Le système de traitement de données 5 de la seconde forme de réalisation est identique à celui de la première forme de réalisation, hormis un circuit 210 résistant à la falsification. Le circuit 210 résistant à la falsification selon la seconde forme de réalisation
comporte un registre à décalage 220 et un comparateur 230. 10 Le registre à décalage 220 stocke séquentiellement des données provenant d'une mémoire 120 en réponse à un signal d'horloge interne ICLK. Le registre à décalage 220 peut stocker une donnée à laquelle on accède pendant deux cycles du signal d'horloge interne ICLK. Par exemple, la première 15 donnée à laquelle on accède pendant la première période (période de niveau haut) du signal d'horloge externe XCLK est stockée dans le registre à décalage 220, et la seconde donnée à laquelle on accède pendant la seconde période (période de niveau bas) du signal d'horloge externe XCLK 20 est stockée en continu dans le registre à décalage 220. La première donnée est décalée par une entrée de la seconde donnée, puis la première donnée et la seconde donnée sont transférées simultanément au comparateur 230. Ici, on accède à la première donnée et à la seconde donnée par la 25 même adresse. Le comparateur 230 compare la première donnée provenant du registre à décalage 220 à la seconde donnée qui en provient, et délivre en sortie un signal de drapeau DRAPEAU en réponse à un résultat de la comparaison. Un noyau 110 récupère sélectivement la première donnée stockée 30 temporairement dans le registre à décalage 220 en réponse
au signal de drapeau DRAPEAU.
Une opération de lecture exécutée par un système de
traitement de données selon la seconde forme de réalisation est identique à celle effectuée dans la première forme de 35 réalisation, et sa description ne sera donc pas reprise. Il
est évident que le système de traitement de données de la seconde forme de réalisation produit les mêmes effets que celui de la première forme de réalisation. Dans cette forme de réalisation, le système de traitement de données comporte une carte à puce ou carte à mémoire, une unité à microprocesseur et autres. Il va de soi que de nombreuses modifications peuvent être apportées au procédé et au système décrits et
représentés sans sortir du cadre de l'invention.

Claims (17)

REVENDICATIONS
1. Procédé pour empêcher la falsification d'un système de traitement de données comprenant une mémoire (120) et un processeur (110), caractérisé en ce qu'il comprend les 5 étapes qui consistent à extraire une première donnée d'une région de la mémoire assignée par une adresse; à extraire une seconde donnée de la région de la mémoire assignée par l'adresse; à déterminer si la première donnée est identique à la seconde donnée; et à récupérer par le 10 processeur l'une des première et seconde données lorsque la
première donnée est identique à la seconde donnée.
2. Procédé selon la revendication 1, caractérisé en ce
que le processeur ne récupère aucune des première et seconde données lorsque la première donnée n'est pas 15 identique à la seconde donnée.
3. Procédé selon la revendication 1, caractérisé en ce que la première donnée et la seconde donnée sont extraites successivement de la mémoire par la même adresse en utilisant un cycle du signal d'horloge externe lorsque le 20 processeur fonctionne en synchronisme avec un signal
d'horloge externe.
4. Procédé pour empêcher la falsification d'un système de traitement de données comportant une mémoire (120) et un processeur (110), caractérisé en ce qu'il comprend les 25 étapes qui consistent à générer un signal d'horloge interne synchronisé avec un signal d'horloge externe, une période du signal d'horloge externe étant deux fois plus longue que celle du signal d'horloge interne; à extraire une première donnée d'une région de la mémoire assignée par une adresse 30 en synchronisme avec le signal d'horloge interne; à extraire une seconde donnée de la région de la mémoire assignée par l'adresse en synchronisme avec le signal d'horloge interne; à déterminer si la première donnée est identique à la seconde donnée; et à charger par le 35 processeur l'une des première et seconde données lorsque la première donnée est identique à la seconde donnée, la première donnée et la seconde donnée étant extraites séquentiellement en synchronisme avec le signal d'horloge
interne dans un cycle du signal d'horloge externe.
5. Procédé selon la revendication 4, caractérisé en ce 5 qu'aucune des première et seconde données n'est chargée par le processeur lorsque la première donnée n'est pas
identique à la seconde donnée.
6. Procédé selon la revendication 4, caractérisé en ce qu'il comprend en outre l'étape de génération d'un signal 10 de drapeau indiquant si les première et seconde données
sont identiques.
7. Procédé selon la revendication 6, caractérisé en ce que l'étape de chargement est effectuée en réponse au
signal de drapeau.
8. Procédé selon la revendication 6, caractérisé en ce que l'étape de détermination est effectuée par un circuit (150) résistant à la falsification destiné à recevoir les première et seconde données et à comparer les valeurs des
données reçues.
9. Procédé selon la revendication 8, caractérisé en ce que le circuit résistant à la falsification comporte des premier et second tampons (152, 153); un multiplexeur (151) destiné à multiplexer les données provenant de la mémoire dans les premier et second tampons en réponse au 25 signal d'horloge interne; et un comparateur (154) destiné à comparer les signaux de sortie des premier et second tampons pour générer un signal de drapeau en tant que
résultat de la comparaison.
10. Procédé selon la revendication 8, caractérisé en 30 ce que le circuit résistant à la falsification comporte un registre à décalage (220) destiné à stocker des première et seconde données délivrées séquentiellement en sortie de la mémoire pendant des première et seconde demi-périodes du signal d'horloge interne; et un comparateur (230) destiné 35 à comparer la première donnée et la seconde donnée provenant du registre à décalage pour générer le signal de
drapeau en résultat de la comparaison.
11. Système de traitement de données, caractérisé en ce qu'il comporte un noyau (110) de processeur destiné à 5 générer une adresse en synchronisme avec un premier signal d'horloge; un circuit (140) de génération d'horloge destiné à générer un second signal d'horloge en réponse au premier signal d'horloge, une période du premier signal d'horloge étant deux fois plus longue que celle du second 10 signal d'horloge; une mémoire (120) qui fonctionne en synchronisme avec le second signal d'horloge, destinée à délivrer en sortie des données en réponse à l'adresse transférée depuis le noyau du processeur; et un circuit (150) résistant à la falsification, destiné à recevoir des 15 données délivrées en sortie de la mémoire en réponse au second signal d'horloge et à comparer les valeurs des données reçues pendant un cycle du premier signal d'horloge, le noyau du processeur chargeant des données provenant du circuit résistant à la falsification 20 uniquement lorsqu'une donnée transférée au circuit
résistant à la falsification pendant une première demipériode du premier signal d'horloge est identique à une donnée qui en est transférée pendant une seconde demipériode de ce même signal.
12. Système de traitement de données selon la revendication 11, caractérisé en ce que le circuit résistant à la falsification génère un signal de drapeau indiquant si des données reçues pendant un cycle du premier
signal d'horloge ont la même valeur.
13. Système de traitement de données selon la revendication 12, caractérisé en ce que le noyau du processeur reçoit sélectivement une donnée provenant du circuit résistant à la falsification en réponse au signal
de drapeau.
14. Système de traitement de données selon la revendication 13, caractérisé en ce que le noyau du processeur reçoit les données provenant du circuit résistant à la falsification en réponse à l'indication par le signal de drapeau selon laquelle les valeurs des données reçues pendant un cycle du premier signal d'horloge sont identiques entre elles.
15. Système de traitement de données selon la revendication 13, caractérisé en ce que le noyau du processeur ne reçoit pas les données provenant du circuit résistant à la falsification en réponse à l'indication par 10 le signal de drapeau selon laquelle les valeurs des données reçues pendant un cycle du premier signal d'horloge sont différentes.
16. Système de traitement de données selon la revendication 12, caractérisé en ce que le circuit 15 résistant à la falsification comporte des premier et second tampons (152; 153); un multiplexeur (151) destiné à multiplexer des données provenant de la mémoire dans les premier et second tampons en réponse au second signal d'horloge; et un comparateur (154) destiné à comparer les 20 signaux de sortie des premier et second tampons pour générer le signal de drapeau en tant que résultat de la comparaison.
17. Système de traitement de données selon la revendication 12, caractérisé en ce que le circuit 25 résistant à la falsification comporte un registre à décalage (220) destiné à stocker des première et seconde données délivrées séquentiellement en sortie de la mémoire pendant les première et seconde demi-périodes du premier signal d'horloge; et un comparateur (230) destiné à 30 comparer la première donnée et la seconde donnée provenant du registre à décalage pour générer le signal de drapeau en
résultat de la comparaison.
FR0305115A 2002-04-29 2003-04-25 Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme Expired - Lifetime FR2843466B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0023429A KR100476892B1 (ko) 2002-04-29 2002-04-29 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템

Publications (2)

Publication Number Publication Date
FR2843466A1 true FR2843466A1 (fr) 2004-02-13
FR2843466B1 FR2843466B1 (fr) 2006-04-21

Family

ID=29244807

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0305115A Expired - Lifetime FR2843466B1 (fr) 2002-04-29 2003-04-25 Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme

Country Status (5)

Country Link
US (1) US6965977B2 (fr)
KR (1) KR100476892B1 (fr)
DE (1) DE10319585B4 (fr)
FR (1) FR2843466B1 (fr)
IT (1) ITMI20030824A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923923A1 (fr) * 2007-11-19 2009-05-22 St Microelectronics Sa Verification de donnees lues en memoire

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
KR100618051B1 (ko) 2005-09-08 2006-08-30 삼성전자주식회사 전압 글리치를 검출하기 위한 장치와 검출방법
EP1818846B1 (fr) 2006-02-10 2009-10-07 St Microelectronics S.A. Vérification d'intégrité de programmes ou de séquencement d'une machine d'états
US20080086781A1 (en) * 2006-10-06 2008-04-10 Stephane Rodgers Method and system for glitch protection in a secure system
WO2009034490A1 (fr) * 2007-09-10 2009-03-19 Nxp B.V. Circuit intégré avec surveillance de lignes de données et signal d'alarme
FR2925968B1 (fr) * 2007-12-26 2011-06-03 Ingenico Sa Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants
US8726042B2 (en) * 2008-02-29 2014-05-13 Microsoft Corporation Tamper resistant memory protection
WO2009138892A1 (fr) * 2008-05-15 2009-11-19 Nxp B.V. Procédé de lecture sécurisée de données et système de traitement de données
US20100132047A1 (en) * 2008-11-24 2010-05-27 Honeywell International Inc. Systems and methods for tamper resistant memory devices
US8378710B1 (en) 2011-09-20 2013-02-19 Nxp B.V. Secure device anti-tampering circuit
EP2690579A1 (fr) * 2012-07-27 2014-01-29 Gemalto SA Méthode et dispositif de protection contre les attaques par faute d'un dispositif électronique comprenant une mémoire cache
KR101711024B1 (ko) * 2013-12-19 2017-02-28 한국전자통신연구원 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
EP3057027B1 (fr) * 2015-02-16 2018-06-13 Nxp B.V. Procédé de lecture sécurisée de données, produit de programme informatique et système de manipulation de données
CN108073805A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 一种数据读取方法和存储器
EP3882798A1 (fr) * 2020-03-20 2021-09-22 Thales Dis Design Services Sas Procédé d'accès sécurisé à un élément de mémoire
US20230124622A1 (en) * 2021-10-14 2023-04-20 Arm Limited Alarm Systems and Circuits

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880982A (en) * 1994-09-22 1999-03-09 The Secretary Of State For The Defence Evaluation And Research Agency In Her Britannic Majesty'government Of The United Kingdom Of Great Britain And Northern Ireland Error detecting digital arithmetic circuit
US6247151B1 (en) * 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6140652A (ja) 1984-08-01 1986-02-26 Yaskawa Electric Mfg Co Ltd メモリの書込み保護方法及び回路
JPS63165936A (ja) * 1986-12-26 1988-07-09 Toshiba Corp 集積回路カ−ド
JP2941817B2 (ja) * 1988-09-14 1999-08-30 株式会社日立製作所 ベクトル処理装置
JP3035828B2 (ja) * 1989-12-28 2000-04-24 甲府日本電気株式会社 情報処理装置
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
KR100232086B1 (ko) * 1994-03-07 1999-12-01 미쉘 꼴롱브 보안성 메모리 카드
JPH10228772A (ja) * 1997-02-18 1998-08-25 Mitsubishi Electric Corp 同期型半導体記憶装置
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880982A (en) * 1994-09-22 1999-03-09 The Secretary Of State For The Defence Evaluation And Research Agency In Her Britannic Majesty'government Of The United Kingdom Of Great Britain And Northern Ireland Error detecting digital arithmetic circuit
US6247151B1 (en) * 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NICOLAIDIS M ET AL: "Concurrent Checking for VLSI", MICROELECTRONIC ENGINEERING, ELSEVIER PUBLISHERS BV., AMSTERDAM, NL, vol. 49, no. 1-2, November 1999 (1999-11-01), pages 139 - 156, XP004182058, ISSN: 0167-9317 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2923923A1 (fr) * 2007-11-19 2009-05-22 St Microelectronics Sa Verification de donnees lues en memoire
WO2009071791A2 (fr) * 2007-11-19 2009-06-11 Stmicroelectronics Sa Verification de donnees lues en memoire
WO2009071791A3 (fr) * 2007-11-19 2009-09-11 Stmicroelectronics Sa Verification de donnees lues en memoire

Also Published As

Publication number Publication date
KR20030085236A (ko) 2003-11-05
FR2843466B1 (fr) 2006-04-21
DE10319585B4 (de) 2005-08-04
KR100476892B1 (ko) 2005-03-17
DE10319585A1 (de) 2003-11-20
ITMI20030824A1 (it) 2003-10-30
US6965977B2 (en) 2005-11-15
US20030204696A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
FR2843466A1 (fr) Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme
EP0540095B1 (fr) Microcircuit pour carte à puce à mémoire programmable protégée
EP1904946B1 (fr) Detection d'une faute par perturbation longue
EP1161725A1 (fr) Procede de surveillance du deroulement d'un programme
EP1830295A1 (fr) Procédé de vérification de la conformité du contenu logique d'un appareil informatique à un contenu de référence
EP0919026A1 (fr) Procede de modification de sequences de code et dispositif associe
FR2642544A1 (fr) Systeme de traitement de donnees a programme de securite
EP1108249B1 (fr) Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
WO2016046307A1 (fr) Procédé d'auto-détection d'une tentative de piratage d'une carte électronique de paiement, carte, terminal et programme correspondants
WO2019025516A1 (fr) Dispositif de détection d'attaque lce et de contre-mesure
EP1012797B1 (fr) Carte a circuit integre avec compteur de gratification et procede de comptage de gratifications
EP1571522A1 (fr) Dispositif de protection contre l'injection d'erreur dans un bloc logique asynchrone d'un module logique élémentaire
EP0829831B1 (fr) Méthode d'authentification de cartes
EP2466506A1 (fr) Procédé dynamique de contrôle de l'intégrité de l'exécution d'un code exécutable
EP0900429A1 (fr) Systeme securise de controle d'acces permettant le transfert d'habilitation a produire des cles
EP1442556B1 (fr) Procédé securisé de mise en oeuvre d'un algorithme de cryptographie et composant correspondant
FR2829645A1 (fr) Protocole d'authentification a verification d'integrite de memoire
EP1634220A1 (fr) PROCEDE ET DISPOSITIF D’IDENTIFICATION BIOMETRIQUE ADAPTES A LA VERIFICATION SUR CARTES A PUCE
WO2011073301A1 (fr) Procede de protection polymorphe d'un code executable
EP1942428B1 (fr) Procédé de vérification de conformité d'une plateforme électronique et/ou d'un programme informatique présent sur cette plateforme, dispositif et programme d'ordinateur correspondants
EP1571754B1 (fr) Dispositif de protection contre l'injection d'erreur dans une bascule synchrone d'un module logique élémentaire
EP3317832B1 (fr) Procede de controle mis en oeuvre par un dispositif electronique au cours d'une transaction, et dispositif correspondant
WO2012172245A1 (fr) Transfert securise entre memoire non-volatile et memoire volatile
WO2016097637A1 (fr) Procede de securisation d'un code pin avec des compteurs d'erreurs dans une carte a puce
FR2693295A1 (fr) Circuit d'horloge pour dispositif de jeu.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20