FR2814557A1 - Protection contre l'exploitation abusive d'une instruction dans une memoire - Google Patents

Protection contre l'exploitation abusive d'une instruction dans une memoire Download PDF

Info

Publication number
FR2814557A1
FR2814557A1 FR0012487A FR0012487A FR2814557A1 FR 2814557 A1 FR2814557 A1 FR 2814557A1 FR 0012487 A FR0012487 A FR 0012487A FR 0012487 A FR0012487 A FR 0012487A FR 2814557 A1 FR2814557 A1 FR 2814557A1
Authority
FR
France
Prior art keywords
instruction
memory
adr
condition
adrm
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
FR0012487A
Other languages
English (en)
Other versions
FR2814557B1 (fr
Inventor
Pascal Paillier
David Naccache
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
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 Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Priority to FR0012487A priority Critical patent/FR2814557B1/fr
Priority to EP01972216A priority patent/EP1325418A1/fr
Priority to AU2001292002A priority patent/AU2001292002A1/en
Priority to US10/130,943 priority patent/US20020174309A1/en
Priority to CN01802933A priority patent/CN1392980A/zh
Priority to PCT/FR2001/002982 priority patent/WO2002027500A1/fr
Publication of FR2814557A1 publication Critical patent/FR2814557A1/fr
Application granted granted Critical
Publication of FR2814557B1 publication Critical patent/FR2814557B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block

Abstract

Une instruction opérationnelle (Adrm) de type lecture, écriture ou modification de donnée, ou transaction, dans une mémoire ROM (ME) d'un microcontrôleur (CP) peut être attaquée par une commande (COM) depuis une mémoire EEPROM (MO) du microcontrôleur pour accéder à une donnée secrète (DS) au lieu d'une donnée publique (CB), en réponse à une instruction de fin (Adr (m+3) ). Un test (Adr (m+1) ) est immédiatement exécuté à la suite de l'instruction opérationnelle (Adrm) pour protéger celle-ci. La condition du test telle que comparaison est liée à au moins un opérande (DPTR) de ladite instruction opérationnelle. Le résultat (CB) de l'instruction opérationnelle n'est transféré à la mémoire EEPROM que lorsque la condition est satisfaite.

Description

<Desc/Clms Page number 1>
Protection contre l'exploitation abusive d'une instruction dans une mémoire
La présente invention concerne d'une manière générale la protection contre l'exploitation abusive, c'est-à-dire non autorisée, d'une instruction sensible enregistrée dans une mémoire. Plus particulièrement, elle concerne la protection contre une écriture, une lecture ou une modification d'une donnée secrète dans la mémoire morte ROM d'un microcontrôleur par exemple implanté dans une carte à puce (smart card), dite également carte à microcontrôleur, ou tout autre objet électronique portable.
De nombreuses cartes à puce peuvent contenir des données ou programmes sensibles dont la connaissance conduit à découvrir le savoir-faire industriel de fabricant et des techniques ou outils de programmation, tels que des API (Application Programming Interface). Bien souvent, une carte à puce se réfère à une matrice de sécurité selon laquelle tout accès en lecture particulièrement à des données dans la mémoire ROM est interdit par des instructions qui sont localisées dans la mémoire non volatile EEPROM ou la mémoire RAM du microcontrôleur de la carte, ou dans toute autre mémoire RAM à laquelle le microcontrôleur est relié, par exemple une mémoire RAM externe à la carte et incluse dans le terminal d'accueil de la carte. Dans ces conditions, la lecture de données dans la mémoire ROM n'est apparemment possible qu'au moyen d'instructions écrites dans la mémoire ROM elle-même.
Toutefois un attaquant ayant eu connaissance de l'adresse d'une instruction qui donne accès à ou
<Desc/Clms Page number 2>
modifie une donnée secrète, est capable de récupérer la donnée secrète.
Afin d'illustrer cette possibilité, la figure 1 montre un exemple de contenus partiels de la mémoire EEPROM et de la mémoire ROM dans un microcontrôleur selon la technique antérieure contenant un microprocesseur 80C51 d'INTEL (marque déposée). Le compte du compteur de programme du microcontrôleur varie par exemple de AdrO=O à AdrM=1000 pour des adresses de cases contenues dans la mémoire ROM et de Adr (M+l) =1001 à AdrP=2000 pour des adresses de cases contenues dans la mémoire EEPROM, avec M P. La valeur d'un pointeur de donnée DPTR dans les mémoires peut ainsi varier entre 0 et P.
Il est supposé que dans la mémoire ROM une instruction"dangereuse" [MOVC A, @A+DPTR] positionnée à l'adresse Adrm=100 correspond au déplacement d'une donnée"publique", tel qu'un octet de code CB (Code Byte), pointée dans la mémoire EEPROM par la valeur courante du pointeur DPTR, pour transférer la donnée vers l'accumulateur A dans l'unité de traitement central (CPU) du microcontrôleur. La donnée CB est inscrite à
Figure img00020001

l'adresse Adrp, avec M+lpP. Une instruction de retour RET est positionnée à l'adresse Adr (m+l) dans la mémoire ROM et suit ainsi immédiatement l'instruction de déplacement MOVC.
En l'absence normale de toute séquence d'attaquant COM dans la mémoire EEPROM, le pointeur DPTR a reçu la valeur p à la suite du déroulement d'une première partie de programme (non représentée) écrite dans les mémoires, notamment à des adresses de la mémoire ROM précédant l'adresse Adrm. L'instruction opérationnelle MOVC à l'adresse Adrm
<Desc/Clms Page number 3>
est exécutée pour lire et transférer dans l'accumulateur A la donnée CB qui est utilisée au cours d'une deuxième partie de programme succédant à l'instruction de retour RET.
Un attaquant qui tente de prendre connaissance d'une donnée secrète DS positionnée à l'adresse Adrn de la mémoire ROM, par exemple avec m+l < n=200 < M, et qui a eu connaissance par ailleurs de l'adresse Adrm de l'instruction MOVC, écrit une séquence courte de commande d'exécution COM dans la mémoire EEPROM pour modifier le pointeur DPTR à la valeur souhaitée n. La séquence COM comprend trois instructions successives.
La première instruction [CLR A] met à zéro le contenu de l'accumulateur A. La deuxième instruction [MOV DPTR, n] met le pointeur de données DPTR à la valeur n correspondant à l'adresse Adrn. La troisième instruction [CALL m] invoque un appel de procédure pour exécuter directement l'instruction MOVC à l'adresse Adrm dans la mémoire ROM.
Le pointeur DPTR avec la valeur n ayant pointé la donnée DS à l'adresse Adrn lors de l'exécution de l'instruction"dangereuse"appelée, la donnée secrète recherchée DS est transférée dans l'accumulateur A et facilement récupérable par l'attaquant. Après l'instruction de retour RET, l'exécution de toute instruction, par exemple [MOVX @Ri, A], succédant à l'instruction d'appel [CALL m] et écrite dans la mémoire EEPROM par l'attaquant lui permet d'obtenir la donnée secrète DS lue en mémoire ROM en vidant le contenu de l'accumulateur, par exemple dans une mémoire externe RAM, hors du microcontrôleur.
La présente invention vise à inhiber ce type de menace sans interdire l'écriture d'instructions "dangereuses"dans la mémoire ROM, afin d'éviter
<Desc/Clms Page number 4>
l'exploitation abusive du résultat d'une telle instruction dangereuse.
A cette fin, un procédé pour protéger une instruction opérationnelle comprise dans une séquence d'instructions écrite dans un moyen de mémoire contre une commande d'exécution depuis un moyen de commande pour accéder au résultat de l'instruction opérationnelle exécutée, en réponse à une instruction de fin de la séquence, est caractérisé en ce que la séquence comprend un test immédiatement exécuté à la suite de l'instruction opérationnelle sur une condition liée à au moins un opérande de ladite instruction opérationnelle, un transfert du résultat de l'instruction opérationnelle exécutée depuis le moyen de mémoire vers le moyen de commande lorsque la condition est satisfaite, et une inexécution de l'instruction de fin de séquence lorsque la condition est insatisfaite.
Selon une première réalisation, le test comprend un calcul, tel que différence, dépendant de l'opérande et d'une valeur prédéterminée, la condition étant une comparaison du résultat du calcul à au moins un seuil prédéterminé, tel que la valeur nulle. Le résultat de l'instruction opérationnelle est alors transféré vers le moyen de commande lorsque le résultat du calcul est compris dans un premier intervalle ayant le seuil comme l'une de limites inférieure et supérieure, et l'instruction de fin n'est pas exécutée lorsque le résultat de calcul est compris dans un deuxième intervalle ayant le seuil comme l'autre des limites inférieure et supérieure de ce deuxième intervalle. L'instruction opérationnelle peut être une lecture, une écriture ou une
<Desc/Clms Page number 5>
modification d'une donnée dans le moyen de mémoire, et l'opérande peut être un pointeur d'adresse de donnée. L'inexécution de l'instruction de fin peut résulter d'un saut d'une instruction vers elle-même exécutée à la suite de l'insatisfaction de la condition, ou bien classiquement un message d'erreur ou un rejet de carte.
Selon une deuxième réalisation, l'instruction opérationnelle est une transaction, et la condition du test est une autorisation de la transaction. De préférence, l'instruction opérationnelle est la modification d'un solde succédant à une lecture de celui-ci dans le moyen de commande, la condition est appliquée sur le solde ou un incrément de solde, et le transfert comprend une écriture du solde modifié depuis le moyen de mémoire dans le moyen de commande.
L'invention concerne également un objet électronique portable comportant un microcontrôleur dont la mémoire non réinscriptible d'une part et la mémoire non volatile programmable et/ou la mémoire à accès aléatoire d'autre part sont incluses respectivement dans le moyen de mémoire et le moyen de commande pour la mise en oeuvre du procédé conforme à l'invention. En particulier, au moins l'une des instructions opérationnelles écrites dans la mémoire non réinscriptible pour lire, écrire ou modifier une donnée dans la mémoire non volatile et/ou la mémoire à accès aléatoire est suivie immédiatement d'un test écrit dans la mémoire non réinscriptible, sur une condition liée à au moins un opérande de ladite instruction opérationnelle, afin d'invalider l'objet lorsque la condition est insatisfaite.
<Desc/Clms Page number 6>
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations préférées de l'invention en référence aux dessins annexés correspondants dans lesquels : - la figure 1 montre une attaque écrite dans une mémoire EEPROM, d'une séquence écrite dans une mémoire ROM illustrant la technique antérieure déjà commentée ; - la figure 2 est un bloc-diagramme d'une carte à puce dans laquelle la séquence attaquée écrite en mémoire ROM est modifiée selon le procédé de protection de l'invention pour une première réalisation ;
Figure img00060001

la figure 3 montre les instructions d'une séquence"dangereuse"écrite en mémoire ROM selon une deuxième réalisation connue ; et - la figure 4 montre la séquence"dangereuse" modifiée selon le procédé de protection de l'invention relativement à la deuxième réalisation.
En référence à la figure 2, il est supposé, comme pour la figure 1, qu'un microcontrôleur notamment d'une carte à puce CP, ou de tout autre objet électronique portable, contient une unité de traitement CPU constituée en pratique par un microprocesseur du type précité 80C51. L'unité CPU inclut en particulier une unité arithmétique et logique UAL avec notamment un accumulateur A, un compteur d'adresse d'instruction CP et un registre d'instruction courante RI. Le microcontrôleur comprend également classiquement une mémoire ME non réinscriptible de type ROM, une mémoire MC de type non volatile programmable EEPROM, et une mémoire MA de type à accès aléatoire RAM pour échanger des
<Desc/Clms Page number 7>
données avec le monde extérieur au microcontrôleur, tel qu'un terminal d'accueil de la carte à puce CP.
Les mémoires interagissent avec le processeur CPU au cours du déroulement d'un programme ou application écrit au moins pour partie en mémoire ROM et pour partie en mémoire EEPROM, au moyen de requêtes et réponses, contenant des"résultats" d'instructions exécutées, à travers un bus BU.
Selon la première réalisation illustrée à la figure 2, on retrouve la séquence de commande d'exécution COM à trois instructions écrites par un attaquant dans la mémoire EEPROM MC qui constitue selon l'invention un moyen de commande qui est susceptible d'accéder au résultat d'une instruction opérationnelle"dangereuse"appelée dans la mémoire ME. Les trois instructions sont ainsi relatives à l'effacement du contenu de l'accumulateur A, à la mise du pointeur de mémoire DPTR à la valeur n de l'adresse Adrn visant la donnée secrète DS dans la mémoire ME, et à l'appel de l'instruction réputée "dangereuse"écrite dans la case m à l'adresse Adrm de la mémoire ROM.
Comparativement au contenu de la mémoire ROM à la figure 1, la séquence d'instruction SQ dans la mémoire ME a été complétée afin que l'exécution de l'instruction de fin RET de la séquence SEQ pour à nouveau exécuter des instructions dans la mémoire MC soit conditionnée par un test sur une condition appliquée sur un opérande de l'instruction précédente dangereuse pointée à l'adresse Adrm. Ce complément de séquence comprend essentiellement les deux instructions suivantes :
SUBB DPTR, #M
Figure img00070001

JC $
<Desc/Clms Page number 8>
Figure img00080001

écrites dans la mémoire ME aux adresses successives Adr (m+l) et Adr (m+2) immédiatement après l'instruction"dangereuse" [MOVC A, @A+DPTR] et avant l'instruction RET maintenant écrite à l'adresse Adr (m+3).
La première instruction supplémentaire SUBB soustrait la valeur M de l'adresse la plus élevée AdrM de la mémoire ME, à la dernière valeur du pointeur DPTR, en l'occurrence celle utilisée normalement pour pointer la donnée CB lue dans la mémoire MC lors de l'exécution de l'instruction opérationnelle précédente MOVC.
Figure img00080002
La deuxième instruction supplémentaire JC est une instruction conditionnelle"SI" (IF) avec retenue (carry) effectuant un saut d'adresse en fonction du résultat de la soustraction précédente DPTR=DPTR-M.
Si la différence DPTR-M est négative, notamment en réponse à l'instruction d'appel [CALL m] de l'attaquant qui a mis la valeur du pointeur DPTR à une valeur n inférieure à M, l'instruction JC à l'adresse Adr (m+2) saute sur elle-même et impose une boucle infinie dans la mémoire ROM, comme indiqué en trait pointillé. Cette boucle réitérée infiniment empêche l'inexécution de l'instruction de fin suivante RET et par conséquent inhibe la récupération de la donnée DS depuis l'accumulateur par l'attaquant.
Par contre si la dernière valeur du pointeur DPTR est supérieure à la valeur maximale M des adresses de la mémoire ME, c'est-à-dire égale à une
Figure img00080003

valeur telle que M+l < p < P et désignant une case de donnée publique de la mémoire MC, la différence DPTRM est positive. L'instruction JP fait sauter la séquence de l'instruction SUBB d'adresse Adr (m+l) à
<Desc/Clms Page number 9>
l'instruction de fin RET d'adresse Adr (m+3) de manière à poursuivre le programme en cours.
En variante, au lieu que l'instruction opérationnelle"dangereuse"dans la case d'adresse Adrn exécute une lecture de donnée, elle exécute une écriture de donnée, voire toute modification de donnée.
Selon encore d'autres variantes, les instructions supplémentaires dans les cases d'adresse Adr (m+l) et Adr (m+2) sont remplacées par une comparaison du pointeur DPTR à deux valeurs MIN et MAX des deux adresses de la mémoire ME désignant des cases entre lesquelles un espace de mémoire contient des données confidentielles à protéger. Toute valeur de pointeur comprise entre MIN et MAX, tentée par un attaquant, conduit au bouclage infini JC.
Dans la description ci-dessus, il sera compris que la carte à puce CP recouvre tous les types connus de carte à puce, dites également cartes à microcontrôleur, comme les cartes à contact ou sans contact énoncées ci-après à titre d'exemple non limitatif : cartes de crédit, cartes de paiement, cartes prépayées, cartes téléphoniques, cartes SIM, cartes"additionnelles", cartes de centrale d'achat, cartes de jeu, etc. Plus généralement, l'invention concerne non seulement des cartes à puce mais également d'autres objets électroniques portables désignés indifféremment par moyens de traitement de données électroniques, tels que assistants ou organiseurs électroniques, porte-monnaie électroniques, jetons, calculettes, etc.
Selon une deuxième réalisation connue montrée à la figure 3, la mémoire ROM contient dans quatre
<Desc/Clms Page number 10>
cases d'adresses successives Adr (m-1), Adrm, Adr (m+l) et Adr (m+2), des instructions d'une séquence de transaction concernant la lecture d'un solde SO depuis la mémoire EEPROM vers la mémoire ROM, l'incrémentation du solde avec un incrément sélectionné ASO, l'écriture du solde incrémenté SO=SO+ASO depuis la mémoire ROM dans la mémoire EEPROM, et finalement l'instruction de fin de séquence Retour généralement suivie par le retrait de la carte à puce du terminal d'accueil.
Les mémoires ROM et EEPROM sont incluses dans une carte à puce servant de porte-monnaie électronique pour cette deuxième réalisation.
Selon la technique antérieure, la séquence d'incrémentation de solde est précédée à l'adresse de case Adr (m-2) par un test pour autoriser l'opération de crédit consistant en une condition liée à au moins l'opérande solde SO et/ou l'opérande incrément ASO compris dans l'opération de crédit, essentiellement l'instruction opérationnelle d'incrémentation SO=SO+ASO.
Le test vérifie que le porte-monnaie est dans un contexte normal ou anormal de fonctionnement. Par exemple, la condition peut être une supériorité du solde du compte en banque du possesseur du portemonnaie électronique à l'incrément ASO, ou bien peut être une infériorité de l'incrément ASO à une limite supérieure, et/ou une infériorité de la somme de telles incrémentations pendant une période prédéterminée à un crédit maximal autorisé. La vérification de la condition peut être précédée par une identification de l'usager et/ou une authentification du porte-monnaie électronique à travers un dialogue avec le terminal d'accueil point de vente d'un commerçant, et/ou un serveur de banque.
<Desc/Clms Page number 11>
Figure img00110001
Si un attaquant connaît l'adresse Adr (m-l) de la case de la mémoire ROM contenant l'instruction de lecture de solde, l'attaquant peut ainsi faire incrémenter le solde avec l'incrément de son choix, malgré la satisfaction de la condition du test Adr (m- 2) à une étape précédente, et récupérer le portemonnaie électronique crédité après l'instruction Retour. Au pire, l'attaquant peut écrire une séquence dans la mémoire EEPROM MC qui réitère la séquence d'instructions Adr (m-l) à Adr (m+2) autant de fois que l'attaquant le souhaite.
Selon l'invention en référence à la figure 4, de manière à éviter que l'exécution de cette séquence de transaction dans la mémoire ROM MEa puisse être commandée par un attaquant au moyen d'un programme écrit dans la mémoire EEPROM MC, l'invention protège cette séquence en introduisant dans la mémoire MEa le test pour créditer.
Ainsi, immédiatement après l'instruction opérationnelle d'incrémentation"dangereuse"à l'adresse Adrm, la case suivante d'adresse Adr (m+l) contient le test par exemple identique à celui déjà présenté en référence à la figure 3, ou un test sur une condition liée à l'opérande constitué par le résultat SO=SO+ASO, telle qu'une comparaison à une limite supérieure, et à une identification de propriétaire.
Si l'instruction conditionnelle Adr (m+l) n'est pas satisfaite, les instructions suivantes aux adresses Adr (m+2) et Adr (m+3) sont inexécutées. Aucun solde incrémenté n'est écrit dans la mémoire EEPROM MC, et la séquence est branchée vers l'émission d'un message d'erreur ou analogue pour invalider le porte-
<Desc/Clms Page number 12>
monnaie électronique et éventuellement éjecter celuici hors du terminal d'accueil.
En revanche, si l'instruction conditionnelle Adr (m+l) est satisfaite, le solde incrémenté SO est écrit dans la mémoire MC selon l'instruction à l'adresse Adr (m+2) et le programme est poursuivi après l'instruction de fin de séquence Retour à l'adresse Adr (m+3).
Bien que la description ci-dessus se réfère à une donnée CB normalement à lire dans la mémoire non volatile EEPROM MC par l'instruction"dangereuse" écrite à l'adresse Adrm dans la mémoire non réinscriptible ROM ME, le moyen de commande au sens de l'invention peut inclure non seulement la mémoire EEPROM MC, mais également la mémoire à accès aléatoire RAM MA du microcontrôleur.

Claims (8)

REVENDICATIONS
1-Procédé pour protéger une instruction opérationnelle (Adrm) comprise dans une séquence d'instructions (SQ) écrite dans un moyen de mémoire (ME) contre une commande d'exécution (COM) depuis un moyen de commande (MC) pour accéder au résultat de l'instruction opérationnelle exécutée, en réponse à une instruction de fin (Adr (m+3)) de la séquence, caractérisé en ce que la séquence comprend un test (Adr (m+l), Adr (m+2) ) immédiatement exécuté à la suite de l'instruction opérationnelle (Adrm) sur une condition liée à au moins un opérande (DPTR) de ladite instruction opérationnelle, un transfert (RET) du résultat (CB) de l'instruction opérationnelle exécutée depuis le moyen de mémoire (ME) vers le moyen de commande (MC) lorsque la condition est satisfaite, et une inexécution de l'instruction de fin de séquence (Adr (m+3) ) lorsque la condition est insatisfaite.
2-Procédé conforme à la revendication 1, selon lequel le test comprend un calcul dépendant de l'opérande et d'une valeur prédéterminée (M), la condition étant une comparaison du résultat du calcul à au moins un seuil prédéterminé.
3-Procédé conforme à la revendication 1 ou 2, selon lequel l'instruction opérationnelle (Adrm) est une lecture, écriture ou modification d'une donnée (CB) dans le moyen de commande (MC), et l'opérande est un pointeur d'adresse de donnée (DPTR).
4-Procédé conforme à l'une quelconque des revendications 1 à 3, selon lequel l'inexécution de
<Desc/Clms Page number 14>
l'instruction de fin (Adr (m+3)) résulte d'un saut (JC) d'une instruction vers elle-même exécutée à la suite de l'insatisfaction de la condition.
5-Procédé conforme à la revendication 1, selon lequel l'instruction opérationnelle (Adrm) est une transaction, et la condition du test (Adr (m+l)) est une autorisation de la transaction.
6-Procédé conforme à la revendication 5, selon lequel l'instruction opérationnelle (Adrm) est la modification d'un solde (SO) succédant à une lecture (Adr (m-l)) de celui-ci dans le moyen de commande (MC), la condition est appliquée sur le solde ou un incrément de solde (ASO), et le transfert comprend une écriture (Adr (m+2)) du solde modifié depuis le moyen de mémoire (MEa) dans le moyen de commande.
7-Objet électronique portable comportant un microcontrôleur (CP), caractérisé en ce qu'une mémoire non réinscriptible du microcontrôleur et une mémoire non volatile programmable et/ou une mémoire à accès aléatoire (MA) du microcontrôleur sont incluses respectivement dans le moyen de mémoire (ME) et le moyen de commande (MC) pour la mise en oeuvre du procédé conforme à l'une quelconque des revendications 1 à 6.
8-Objet conforme à la revendication 7, dans lequel au moins l'une d'instructions opérationnelles (Adrm) écrites dans la mémoire non réinscriptible pour lire, écrire ou modifier une donnée dans la mémoire non volatile (MC) et/ou la mémoire à accès aléatoire est suivie immédiatement d'un test (Adr (m+l), Adr (m+2)) écrit dans la mémoire non
<Desc/Clms Page number 15>
réinscriptible, sur une condition liée à au moins un opérande de ladite instruction opérationnelle, afin d'invalider l'objet lorsque la condition est insatisfaite.
Figure img00150001
FR0012487A 2000-09-27 2000-09-27 Protection contre l'exploitation abusive d'une instruction dans une memoire Expired - Fee Related FR2814557B1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0012487A FR2814557B1 (fr) 2000-09-27 2000-09-27 Protection contre l'exploitation abusive d'une instruction dans une memoire
EP01972216A EP1325418A1 (fr) 2000-09-27 2001-09-26 Protection contre l'exploitation abusive d'une instruction dans une memoire
AU2001292002A AU2001292002A1 (en) 2000-09-27 2001-09-26 Protection against abusive use of a statement in a storage unit
US10/130,943 US20020174309A1 (en) 2000-09-27 2001-09-26 Protection against abusive use of a statement in a storage unit
CN01802933A CN1392980A (zh) 2000-09-27 2001-09-26 防止对存储器中指令的不正当使用
PCT/FR2001/002982 WO2002027500A1 (fr) 2000-09-27 2001-09-26 Protection contre l'exploitation abusive d'une instruction dans une memoire

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0012487A FR2814557B1 (fr) 2000-09-27 2000-09-27 Protection contre l'exploitation abusive d'une instruction dans une memoire

Publications (2)

Publication Number Publication Date
FR2814557A1 true FR2814557A1 (fr) 2002-03-29
FR2814557B1 FR2814557B1 (fr) 2002-12-27

Family

ID=8854861

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0012487A Expired - Fee Related FR2814557B1 (fr) 2000-09-27 2000-09-27 Protection contre l'exploitation abusive d'une instruction dans une memoire

Country Status (6)

Country Link
US (1) US20020174309A1 (fr)
EP (1) EP1325418A1 (fr)
CN (1) CN1392980A (fr)
AU (1) AU2001292002A1 (fr)
FR (1) FR2814557B1 (fr)
WO (1) WO2002027500A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
US20040177259A1 (en) * 2003-03-05 2004-09-09 Volk Steven B. Content protection system for optical data storage disc
US8417916B2 (en) * 2008-01-11 2013-04-09 International Business Machines Corporation Perform frame management function instruction for setting storage keys and clearing blocks of main storage
JP5521455B2 (ja) * 2009-09-15 2014-06-11 セイコーエプソン株式会社 記録装置、記録装置の制御方法、及び、プログラム
KR102316279B1 (ko) * 2015-10-19 2021-10-22 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 에스에스디
CN107016277B (zh) * 2017-04-11 2018-08-28 北京深思数盾科技股份有限公司 信息处理方法和信息安全设备
CN110569205A (zh) * 2018-06-06 2019-12-13 旭景科技股份有限公司 安全系统单芯片及其操作方法
CN110598405B (zh) * 2018-06-12 2022-05-31 杨力祥 一种运行时访问控制方法及计算装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625276A (en) * 1983-08-31 1986-11-25 Vericard Corporation Data logging and transfer system using portable and resident units
EP0623879A1 (fr) * 1993-05-06 1994-11-09 Schlumberger Industries Microprocesseur avec mémoire sécurisée

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3520102B2 (ja) * 1993-12-28 2004-04-19 株式会社東芝 マイクロコンピュータ
US6484946B2 (en) * 1997-12-22 2002-11-26 Hitachi, Ltd. IC card information display device and IC card for use therewith

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4625276A (en) * 1983-08-31 1986-11-25 Vericard Corporation Data logging and transfer system using portable and resident units
EP0623879A1 (fr) * 1993-05-06 1994-11-09 Schlumberger Industries Microprocesseur avec mémoire sécurisée

Also Published As

Publication number Publication date
US20020174309A1 (en) 2002-11-21
EP1325418A1 (fr) 2003-07-09
AU2001292002A1 (en) 2002-04-08
CN1392980A (zh) 2003-01-22
FR2814557B1 (fr) 2002-12-27
WO2002027500A1 (fr) 2002-04-04

Similar Documents

Publication Publication Date Title
EP1161725B1 (fr) Procede de surveillance du deroulement d&#39;un programme
JP3459649B2 (ja) ポータブルデータ処理ユニットを含むデータ交換システム
FR2666671A1 (fr) Procede de gestion d&#39;un programme d&#39;application charge dans un support a microcircuit.
WO1995016246A1 (fr) Carte a memoire et procede de fonctionnement
FR2681165A1 (fr) Procede de transmission d&#39;information confidentielle entre deux cartes a puces.
EP1605333B1 (fr) Contrôle de l&#39;exécution d&#39;un programme
EP0552077B1 (fr) Carte à mémoire de masse pour microordinateur avec facilités d&#39;exécution de programmes internes
EP0785514A1 (fr) Procédé de mise en oeuvre d&#39;un programme sécurisé dans une carte à microprocesseur et carte à microprocesseur comportant un programme sécurisé
FR2814557A1 (fr) Protection contre l&#39;exploitation abusive d&#39;une instruction dans une memoire
EP1522012A2 (fr) Securisation d&#39;application telechargee notamment dans une carte a puce
CA2261620C (fr) Interface homme-machine pour lecteur de carte a puce
EP1365323B1 (fr) Procédé d&#39;échange d&#39;informations entre systèmes d&#39;exploitation cohabitant sur un même ordinateur
EP2252958A2 (fr) Procede de securisation d&#39;une execution d&#39;un programme
EP1507185A1 (fr) Méthode et dispositif de protection contre l&#39;accès non-autorisé à une routine sensible
EP1141903B1 (fr) Dispositif et procede d&#39;initialisation d&#39;un programme applicatif d&#39;une carte a circuit integre
FR2958764A1 (fr) Compteur d&#39;evenements dans un systeme adapte au langage javacard
EP0838053B1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
EP1155389B1 (fr) Dispositif d&#39;acces securise a des applications d&#39;une carte a puce
WO1996038825A1 (fr) Carte a puce intelligente securisee
WO1999042960A1 (fr) Chargement de programmes informatiques en blocs
WO2023013481A1 (fr) Procédé de commande, serveur et programme
EP3317832B1 (fr) Procede de controle mis en oeuvre par un dispositif electronique au cours d&#39;une transaction, et dispositif correspondant
FR2827402A1 (fr) Securisation de lecture d&#39;instructions dans un systeme de traitement de donnees
EP1129430B2 (fr) Procede et dispositif de controle du cycle de vie d&#39;un objet portatif, notamment d&#39;une carte a puce
FR2829847A1 (fr) Procede de controle d&#39;acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d&#39;un tel procede

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080531