FR2757972A1 - Procede de securisation d'un module de securite, et module de securite associe - Google Patents

Procede de securisation d'un module de securite, et module de securite associe Download PDF

Info

Publication number
FR2757972A1
FR2757972A1 FR9616257A FR9616257A FR2757972A1 FR 2757972 A1 FR2757972 A1 FR 2757972A1 FR 9616257 A FR9616257 A FR 9616257A FR 9616257 A FR9616257 A FR 9616257A FR 2757972 A1 FR2757972 A1 FR 2757972A1
Authority
FR
France
Prior art keywords
sensitive operation
execution
interrupted
operations
sensitive
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
FR9616257A
Other languages
English (en)
Other versions
FR2757972B1 (fr
Inventor
Michel Hazard
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.)
CP8 Transac
Bull CP8 SA
Original Assignee
CP8 Transac
Bull CP8 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
Priority to FR9616257A priority Critical patent/FR2757972B1/fr
Application filed by CP8 Transac, Bull CP8 SA filed Critical CP8 Transac
Priority to CN97192699A priority patent/CN1212770A/zh
Priority to BR9707881A priority patent/BR9707881A/pt
Priority to PCT/FR1997/002389 priority patent/WO1998029813A1/fr
Priority to KR1019980706836A priority patent/KR19990087418A/ko
Priority to AU56683/98A priority patent/AU5668398A/en
Priority to JP10529680A priority patent/JPH11505055A/ja
Priority to EP97952982A priority patent/EP0891587A1/fr
Priority to CA002247475A priority patent/CA2247475A1/fr
Priority to TW086119900A priority patent/TW405098B/zh
Priority to ARP970106244A priority patent/AR009852A1/es
Publication of FR2757972A1 publication Critical patent/FR2757972A1/fr
Priority to NO983960A priority patent/NO983960L/no
Application granted granted Critical
Publication of FR2757972B1 publication Critical patent/FR2757972B1/fr
Priority to US09/794,038 priority patent/US20010010331A1/en
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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/0826Embedded security module

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de sécurisation d'un module de sécurité (8) destiné à coopérer avec un dispositif de traitement de l'information (1), le module étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible (23). Selon l'invention, ce procédé comprend les étapes consistant à: - exécuter, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, une première séquence supplémentaire d'opérations (32) destinée à activer des moyens de signalisation et, en aval de ladite opération sensible, une seconde séquence supplémentaire d'opérations (34) destinée à désactiver lesdits moyens de signalisation; - vérifier, à l'occasion de chaque exécution de l'opération sensible et en amont de ladite première séquence supplémentaire d'opérations (32), si les moyens de signalisation sont désactivés; - interdire, dans le cas où les moyens de signalisation sont activés, l'exécution de l'opération sensible.

Description

Procédé de sécurisation d'un module de sécurité, et module de sécurité associé
L'invention concerne un procédé de sécurisation d'un module de sécurité agencé pour coopérer avec un dispositif de traitement de l'information, le module comportant des moyens de traitement de l'information et des moyens de mémorisation de l'information et étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible. On entend, par le terme opération sensible , toute opération dont l'exécution a des répercutions importantes sur: - la sécurité en général : en ce qui concerne notamment toute opération visant à vérifier l'habilitation d'une personne vis-à-vis de l'accès à certaines informations, services, ou fonctions - I'application concernée en particulier en ce qui concerne notamment toute opération visant à définir ou modifier certains paramètres caractérisant les droits et obligations fondamentaux d'un usager vis-à-vis de cette application (par exemple , pour une application bancaire, une opération visant à mettre à jour un solde de compte).
Le terme "module de sécurité" doit être pris, soit dans son sens classique dans lequel il désigne un dispositif ayant vocation, dans un réseau de communication ou d'information, à être détenu par un organisme supervisant le réseau et à stocker de façon protégée des paramètres secrets et fondamentaux du réseau tels que des clés cryptographiques, soit comme désignant plus simplement un dispositif attribué à divers usagers du réseau et permettant à chacun d'eux d'avoir accès à celui-ci, ce dernier dispositif étant lui aussi susceptible de détenir des paramètres secrets. Le module de sécurité pourra prendre la forme d'un objet portatif du type carte à puce.
Le problème que vise à résoudre l'invention est d'éviter qu'une interruption de l'opération sensible en cours d'exécution ne se produise, ou du moins de contrôler le nombre d'interruptions susceptibles d'intervenir. L'invention vise tout particulièrement les interruptions frauduleuses, sans exclure toutefois les interruptions accidentelles. Le risque est que des opérations visant à sécuriser l'exécution dudit ensemble d'opérations , ne s'exécutent pas. En ce qui concerne par exemple un programme de test d'un code confidentiel présenté par un usager, il s'agit de l'opération d'écriture du résultat de la comparaison, qui a pour but de limiter le nombre d'essais autorisés. Si le fraudeur arrive à stopper le programme après comparaison mais avant l'écriture de son résultat, il peut renouveler un grand nombre de fois l'opération de présentation d'un nouveau code confidentiel, et éventuellement tirer parti de l'observation des signaux électriques présents aux bornes du module de sécurité, signaux qui sont en pratique toujours influencés par la nature du calcul ou du résultat. Moyennant le stockage par le fraudeur d'un nombre important de telles observations et une analyse statistique, celui-ci peut éventuellement parvenir à identifier le bon code confidentiel de l'usager.
Ce problème est résolu selon l'invention en prévoyant des mesures permettant au module de sécurité de vérifier si l'opération sensible ou les opérations sensibles précédemment déclenchées ont été exécutées intégralement ou non et, dans la négative, d'interdire l'exécution de l'opération sensible à venir.
Plus précisément, le procédé selon l'invention comprend les étapes consistant a:
-exécuter, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, une première séquence supplémentaire d'opérations destinée à activer des moyens de signalisation et, en aval de ladite opération sensible, une seconde séquence supplémentaire d'opérations destinée à désactiver lesdits moyens de signalisation
-comptabiliser chaque essai interrompu pour lequel l'opération sensible a été déclenchée mais pas exécutée, de sorte que les moyens de signalisation ont été tout d'abord activés mais n'ont pas été ensuite désactivés, de façon à définir un nombre d'essais interrompus constaté NRS;
-définir un nombre d'essais interrompus autorisé NRSA,
-comparer, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, ledit nombre d'essais interrompus constaté NRS audit nombre d'essais interrompus autorisé NRSA; ; et
-interdire, dans le cas ou ledit nombre d'essais interrompus constaté NRS est supérieur audit nombre d'essais interrompus autorisé NRSA, I'exécution de l'opération sensible.
L'invention concerne aussi un module de sécurité agencé pour mettre en oeuvre ce procédé.
D'autres détails et avantages de la présente invention apparaîtront au cours de la description suivante d'un mode d'exécution préféré mais non limitatif, au regard des dessins annexés sur lesquels:
La figure 1 est le schéma d'un module de sécurité auquel est destinée l'invention, coopérant avec un dispositif de traitement de l'information,
La figure 2 est un organigramme d'exécution d'une opération sensible;
Les figures 3a à 3c et 4a,4b représentent l'état d'un compteur de ruptures de séquence CRS à différents instants, au cours de l'exécution d'une ou plusieurs opérations sensibles; et
La figure 5 est un organigramme d'exécution d'une opération sensible, selon une variante de l'invention.
Le dispositif de traitement de l'information 1 représenté sur la figure 1 comprend de façon connue en soi un microprocesseur 2 auquel sont reliés une mémoire ROM 3, et une mémoire RAM 4, des moyens 5 pour coopérer avec un module de sécurité 8, et une interface de transmission 7 permettant au dispositif de traitement de l'information de communiquer avec un autre dispositif semblable, soit directement, soit au travers d'un réseau de communication.
Le dispositif 1 peut en outre être équipé de moyens de stockage tels que des disquettes ou disques amovibles ou non, de moyens de saisie (tels qu'un clavier et/ou un dispositif de pointage du type souris) et de moyens d'affichage, ces différents moyens n'étant pas représentés sur la figure 1.
Le dispositif de traitement de l'information peut être constitué par tout appareil informatique installé sur un site privé ou public et apte à fournir des moyens de gestion de l'information ou de délivrance de divers biens ou services, cet appareil étant installé à demeure ou portable. II peut notamment s'agir aussi d'un appareil de télécommunications.
Par ailleurs, le module de sécurité 8 inclut des moyens de traitement de l'information 9, une mémoire non volatile associée 10, et des moyens 13 pour coopérer avec le dispositif de traitement de l'information. Ce module est agencé pour définir, dans la mémoire 10, une zone secrète il dans laquelle des informations une fois enregistrées, sont inaccessibles depuis l'extérieur du module mais seulement accessibles aux moyens de traitement 9, et une zone libre 12 qui est accessible depuis l'extérieur du module pour une lecture et/ou une écriture d'informations. Chaque zone de mémoire peut comprendre une partie non effaçable ROM et une partie effaçable EPROM, EEPROM, ou constituée de mémoire RAM du type "flash", c'est-à-dire présentant les caractéristiques d'une mémoire EEPROM avec en outre des temps d'accès identiques à ceux d'une RAM classique. Jne mémoire vo'ati'e RAM non représentée est par ai'leurs prévue.
En tant que module de sécurité 8, on pourra notamment utiliser un microprocesseur à mémoire non volatile autoprogrammable, tel que décrit dans le brevet américain n" 4.382.279 au nom de la Demanderesse. Comme indiqué en page 1, ligne 5 à 17 de ce brevet, le caractére autoprogrammable de la mémoire correspond à la possibilité pour un programme fi situé dans cette mémoire, de modifier un autre programme fj situé également dans cette mémoire en un programme gj. Bien que les moyens à mettre en oeuvre pour réaliser cette autoprogrammation puissent varier selon la technique utilisée pour concevoir les moyens de traitement de l'information 9, on rappelle que, dans le cas où ces moyens de traitement sont constitués par un microprocesseur associé à une mémoire non volatile et selon le brevet précité, ces moyens peuvent inclure:
- des mémoires tampon de données et d'adresses, associées à la mémoire
- un programme d'écriture dans la mémoire, chargé dans celle-ci et contenant notamment les instructions permettant le maintien d'une part de la tension de programmation de la mémoire, et d'autre part des données à écrire et de leurs adresses, pendant un temps suffisant, ce programme d'écriture pouvant toutefois être remplacé par un automate d'écriture à circuits logiques.
Dans une variante, le microprocesseur du module de sécurité 8 est remplacé -ou tout du moins complété- par des circuits logiques implantés dans une puce à semi-conducteurs. En effet, de tels circuits sont aptes à effectuer des calculs, notamment d'authentification et de signature, grâce à de l'électronique câblée, et non microprogrammée. Ils peuvent notamment être de type ASIC (de l'anglais Application Specific Integrated Circuit ). A titre d'exemple, on peut citer le composant de la société SIEMENS commercialisé sous la référence SLE 4436 et celui de la société SGS-THOMSON commercialisé sous la référence ST 1335.
Avantageusement, le module de sécurité 8 sera conçu sous forme monolithique sur une seule puce.
En variante au microprocesseur à mémoire non volatile autoprogrammable décrit ci-dessus, le caractère sécuritaire du module de sécurité pourra résulter de sa localisation dans une enceinte inviolable.
Les moyens de signalisation précités comprennent au moins un compteur de ruptures de séquence CRS agencé pour compter des ruptures de séquence intervenant au cours de l'exécution de l'opération sensible , c'est-à-dire des interruptions se produisant dans l'exécution, pas à pas, de cette opération. Ce compteur est incorporé aux moyens de traitement de l'information 9 du module de sécurité 8. Selon le procédé de la figure 2, on distingue deux nombres de référence, à savoir un nombre de ruptures de séquence constaté NRS et un nombre de ruptures de séquence autorisé NRSA, le premier correspondant au nombre de ruptures de séquence qui sont intervenues dans l'exécution d'une opération sensible déterminée depuis un instant déterminé, et le second correspondant au nombre maximum de ruptures de séquence qui peuvent intervenir sans provoquer un blocage du module de sécurité. Typiquement,
L'instant à partir duquel le nombre de ruptures de séquence NRS est calculé correspond à une première mise en service du module de sécurité par un utilisateur auquel celui-ci est destiné, le nombre NRS comptabilisant toute rupture de séquence intervenue depuis cet instant jusqu'à un jour déterminé. Quant au nombre de ruptures de séquence autorisé NRSA, il est déterminé par une autorité de façon à prendre en compte des ruptures de séquence résultant, non pas d'un acte frauduleux, mais d'anomalies de fonctionnement du module de sécurité susceptibles d'intervenir spontanément sur toute sa durée de vie. Naturellement,
NRSA devra être choisi petit, faute de quoi un fraudeur bénéficierait d'un nombre confortable d'essais pour tenter de violer le module de sécurité. A titre d'exemple,
NRSA sera inférieur à vingt, notamment inférieur à dix.
A une entrée de l'organigramme d'exécution de l'opération sensible, une première étape 21 consiste à vérifier si le nombre de ruptures de séquence NRS est bien inférieur ou égal au nombre de ruptures de séquence autorisé NRSA. Dans la négative, on procède à une rupture de séquence provoquée pour interdire l'exécution de l'opération sensible : cette interruption pourra être soit définitive en ce qu'elle empêchera toute exécution ultérieure de cette opération sensible, voire en ce qu'elle bloquera tout fonctionnement ultérieur du module de sécurité, quelle que soit l'opération envisagée, soit provisoire s'il est prévu que l'opération sensible pourra être à nouveau exécutée dans l'avenir après une réinitialisation du nombre de ruptures de séquence NRS par une autorité habilitée. En revanche, si le nombre de ruptures de séquence NRS est bien inférieur ou égal au nombre de ruptures de séquence autorisé NRSA., une seconde étape 22 consiste à incrémenter le compteur de ruptures de séquence CRS d'une unité. L'étape suivante consiste à exécuter l'opération sensible elle-même. Si cette opération s'est déroulée intégralement, c'est-à-dire sans qu'une rupture de séquence accidentelle ou frauduleuse ne soit intervenue, le compteur de ruptures de séquence CRS est alors décrémenté d'une unité à l'étape 24, de façon à retrouver la valeur qu'il avait avant le début de l'opération sensible.
En variante, I'opération 21 de test de la valeur du nombre de ruptures de séquence NRS pourra être effectuée après celle 22 d'incrémentation du compteur de ruptures de séquence CRS d'une unité.
Les figures 3a à 3c montrent des états successifs que prend le compteur de ruptures de séquence CRS , en amont de l'exécution d'une opération sensible à protéger. Ce compteur est constitué par un fichier cyclique à plusieurs positions (au moins trois), chaque position étant matérialisée par au moins une cellule mémoire. Dans cet exemple, le nombre de positions est égal à huit, numérotées de 1 à 8. Dans chaque position , est mémorisée une valeur du nombre de ruptures de séquence NRS , sauf dans une position (ici la position 5) qui est vierge car ne contenant pas de valeur. Toute position vierge est repérée par le symbole .
La figure 3a représente l'état du compteur en amont de l'étape 22 de l'organigramme de la figure 2. La position située au-dessus de la position vierge (ici la position 4) stocke une valeur courante NRS correspondant à une valeur actuelle du compteur , tandis que les six positions 3 à 1 puis 8 à 6 stockent respectivement des valeurs différentes, prises successivement en remontant dans le temps, à savoir NRS +1 pour la position 3, NRS pour la position 2 ..etc..jusqu'à
NRS -2 pour la position 6 la plus ancienne, ces positions correspondant à un certain nombre d'opérations sensibles successives.
On peut constater que les positions 2 à 4 correspondent aux évènements suivants: -position 2: état du compteur avant l'étape 22 de la figure 2, -position 3: état du compteur juste après l'étape 22 (ajout d'une unité); -position 4 : état du compteur juste après l'étape 24 (retrait d'un unité), ce qui montre qu'aucune rupture de séquence , volontaire ou accidentelle, n'est intervenue durant cette exécution de l'opération sensible.
En revanche, on peut constater que les positions 7 et 8 correspondent aux évènements suivants , relatifs à une exécution antérieure d'opération sensible: -position 7: état du compteur avant l'étape 22 de la figure 2 -position 8: état du compteur juste après l'étape 22 (ajout d'une unité) -sachant que la position suivante 1 ne correspond pas à un retrait d'une unité par rapport à la position 8 (c'est-à-dire NRS -1), il faut en conclure qu'une rupture de séquence , volontaire ou accidentelle, est effectivement intervenue durant cette exécution de l'opération sensible, de sorte que l'étape 24 normalement prévue n'a pas été exécutée. En conclusion, on n'a pas procédé à un nouvel enregistrement d'une valeur de compteur puisque cette valeur n'a pas changé.
Quant à la position 6, elle correspond à l'état du compteur juste avant l'étape 24, lors d'une exécution d'opération sensible encore plus ancienne. En effet, la valeur qu'elle contient correspond à celle de la position 7, augmentée d'une unité.
Revenant à l'opération sensible en cours d'exécution, la figure 3b montre l'état du compteur de ruptures de séquence dans une phase préliminaire d'exécution de l'étape 22 de l'organigramme de la figure 2. Les moyens de traitement de l'information 9 du module de sécurité ont procédé à un effacement de la position 6 située au-dessous de la position vierge 5, définissant ainsi une nouvelle position vierge. Sur la figure 3c, les moyens de traitement de l'information 9 ont exécuté l'étape 22 de la figure 2 en ajoutant une unité à la valeur courante NRS de la position 4 et en stockant le résultat NRS +1 dans la position suivante 5.
Les figures 4a et 4b montrent des états successifs que prend le compteur de ruptures de séquence CRS, en aval de l'exécution de l'opération sensible 23 de la figure 2. La figure 4a montre l'état du compteur de ruptures de séquence dans une phase préliminaire d'exécution de l'étape 24 de la figure 2. Les moyens de traitement de l'information 9 du module de sécurité ont procédé à un effacement de la position 7 située au-dessous de la nouvelle position vierge 6. Sur la figure 4b, les moyens de traitement de l'information 9 ont exécuté l'étape 24 de la figure 2 en retranchant une unité à la valeur courante NRS +1 de la position 5 et en stockant le résultat NRS dans la position suivante 6.
On notera, dans l'exemple des figures 2 à 4b, que la fonction de signalisation est avantageusement imbriquée avec celle de comptage des ruptures de séquence au moyen d'un dispositif unique : le compteur de ruptures de séquence CRS.
Avantageusement, les étapes 21,22 et 24 d'incrémentation et de décrémentation du compteur pourront être conçues comme des sous-programmes d'un programme principal constitué par l'opération sensible elle-même. Dans ce cas, une référence ou adresse du compteur est introduite en tant que paramètre lors de l'appel du sous-programme. Ce mode de fonctionnement ajoute de la souplesse dans la mise en place des séquences d'opérations.
En variante au procédé de sécurisation décrit ci-dessus, la définition d'un nombre de ruptures de séquence autorisé NRSA. et la comptabilisation d'un nombre correspondant de ruptures de séquence constaté, pourront être supprimées si l'on estime que le module de sécurité en cause présente une fiabilité telle que la probabilité pour qu'une anomalie de fonctionnement spontanée se produise est négligeable. Un tel cas est illustré sur la figure 5. On définit, dans le module de sécurité 8, un drapeau susceptible de prendre deux états levé et baissé .
Cela pourra être réalisé en pratique par une cellule mémoire pouvant prendre deux états logiques distincts. Une première étape 31 d'un organigramme d'exécution de l'opération sensible consiste à faire vérifier par les moyens de traitement de l'information 9 du module de sécurité que le drapeau est bien dans un état baissé , si tel n'est pas le cas, il faut en conclure qu'une précédente exécution de l'opération sensible ne s'est pas effectuée complètement: en effet, on constate sur la figure 5 que toute exécution 33 de l'opération sensible se termine par une opération 34 consistant à baisser le drapeau qui a été levé en amont de l'opération sensible par une opération 32. Dans le cas où le test effectué à l'opération 31 est négatif, I'exécution de l'opération sensible est interdite ; dans le cas contraire, elle est autorisée et commence par l'exécution de l'opération de lever de drapeau 32.
Dans le cas où l'on souhaite sécuriser plusieurs opérations sensibles distinctes et destinées à être exécutées indépendemment les unes des autres, on pourra définir autant de compteurs de ruptures de séquence CRS que d'opérations, chacun vérifiant la bonne exécution d'une opération sensible déterminée.
Toutefois, selon un mode préféré, on ne définit qu'un seul compteur commun, qui sera incrémenté, et en principe décrémenté, lors de l'exécution d'une quelconque de ces opérations sensibles. Cette observation vaut aussi pour le cas où le compteur est remplacé par un drapeau.
Une préoccupation importante de l'invention est que la procédure de sécurisation décrite n'aboutisse pas à ralentir, voire bloquer le fonctionnement du module de sécurité, en raison des inévitables interruptions accidentelles que l'on constate tout au long de la période de fonctionnement de celui-ci, relatives non seulement à des opérations sensibles mais aussi à des opérations ordinaires telles que celles relatives à l'application concernée (application financière, prestation de service , etc...), dont l'inexécution n'affecte pas la sécurité en général, ni les droits et obligations fondamentaux de l'usager dans l'application concernée. En effet, le grand nombre d'opérations ainsi sécurisées risquerait de faire augmenter en conséquence le nombre d'interruptions accidentelles constatées : le nombre de ruptures de séquence autorisé NRSA serait alors atteint plus rapidement, de sorte qu'un blocage partiel ou total du module de sécurité interviendrait également plus rapidement. Ce résultat remarquable est obtenu selon l'invention en n'appliquant la procédure de sécurisation décrite qu'aux opérations qui correspondent effectivement à des opérations sensibles.
Un perfectionnement de l'invention consiste en ce que le nombre d'essais interrompus autorisé NRSA inclut un nombre aléatoire variant à chaque fois qu'un nombre déterminé d'opérations sensibles ont été déclenchées. Ainsi, le nombre
NRSA varie à une fréquence déterminée, mais il prend des valeurs successives non prévisibles, ce qui contribue à perturber toute observation frauduleuse du comportement du module de sécurité. Ce nombre aléatoire pourra être généré avantageusement dans le module de sécurité selon l'un des procédés logiciels décrits dans les brevets américains N"5177.790 ou 5.365.466. Selon une variante, le nombre d'essais interrompus autorisé NRSA est composé d'un nombre fixe auquel est ajouté un nombre aléatoire.

Claims (8)

Revendications
1. Procédé de sécurisation d'un module de sécurité (8) agencé pour coopérer avec un dispositif de traitement de l'information (1), le module comportant des moyens de traitement de l'information (9,2) et des moyens de mémorisation de l'information (10 , 3,4), et étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible (23), caractérisé en ce qu'il comprend les étapes consistant à
-exécuter, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, une première séquence supplémentaire d'opérations (22) destinée à activer des moyens de signalisation et, en aval de ladite opération sensible, une seconde séquence supplémentaire d'opérations (24) destinée à désactiver lesdits moyens de signalisation;
-comptabiliser chaque essai interrompu pour lequel l'opération sensible a été déclenchée mais pas exécutée, de sorte que les moyens de signalisation ont été tout d'abord activés mais n'ont pas été ensuite désactivés, de façon à définir un nombre d'essais interrompus constaté NRS;
-définir un nombre d'essais interrompus autorisé Ns;
-comparer, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, ledit nombre d'essais interrompus constaté NRS audit nombre d'essais interrompus autorisé Ns; et
-interdire, dans le cas où ledit nombre d'essais interrompus constaté NRS est supérieur audit nombre d'essais interrompus autorisé NRSA, I'exécution de l'opération sensible.
2. Procédé selon la revendication 1, dans lequel, pour comptabiliser chaque essai interrompu , on incrémente un compteur d'une unité à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci et, dans le cas où l'opération sensible a été exécutée, on décrémente le compteur d'une unité en aval de l'opération sensible.
3. Procédé selon la revendication 1, dans lequel ledit nombre d'essais interrompus autorisé NRSA inclut un nombre aléatoire variant à chaque fois que l'opération sensible (33) a été déclenchée un nombre prédéterminé de fois.
4. Procédé de sécurisation d'un module de sécurité (8) agencé pour coopérer avec un dispositif de traitement de l'information (1), le module comportant des moyens de traitement de l'information (9,2) et des moyens de mémorisation de l'information (10 , 3,4), et étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible (23), caractérisé en ce qu'il comprend les étapes consistant à:
-exécuter, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, une première séquence supplémentaire d'opérations (32) destinée à activer des moyens de signalisation et, en aval de ladite opération sensible, une seconde séquence supplémentaire d'opérations (34) destinée à désactiver lesdits moyens de signalisation
-vérifier, à l'occasion de chaque exécution de l'opération sensible et en amont de ladite première séquence supplémentaire d'opérations (32), si les moyens de signalisation sont désactivés;
-interdire, dans le cas où les moyens de signalisation sont activés,
I'exécution de l'opération sensible.
5. Procédé selon la revendication 1 ou 4, dans lequel le module de sécurité (8) est agencé pour exécuter plusieurs opérations sensibles distinctes (33) et l'on comptabilise, au moyen du même nombre d'essais interrompus constaté NRS chaque essai interrompu relatif à l'une quelconque de ces opérations sensibles.
6. Module de sécurité (8) agencé pour coopérer avec un dispositif de traitement de l'information (1) et comportant des moyens de traitement de l'information (9,2) et des moyens de mémorisation de l'information (10 ; 3,4), et étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible (23), caractérisé en ce qu'il comprend:
-des moyens de signalisation agencés pour prendre un état dans lequel ils sont activés en amont d'une opération sensible à protéger, et un autre état dans lequel ils sont désactivés en aval de l'opération sensible si celle-ci a été exécutée
-des moyens de comptage pour comptabiliser chaque essai interrompu pour lequel l'opération sensible a été déclenchée mais pas exécutée, de sorte que les moyens de signalisation ont été tout d'abord activés mais n'ont pas été ensuite désactivés, de façon à définir un nombre d'essais interrompus constaté NRS, lesdits moyens de mémorisation de l'information (10 , 3,4) stockant un nombre d'essais interrompus autorisé NRSA;
-des moyens de comparaison pour comparer, à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci, ledit nombre d'essais interrompus constaté NRS audit nombre d'essais interrompus autorisé Ns; et
-des moyens d'interdiction pour interdire, dans le cas où ledit nombre d'essais interrompus constaté NRS est supérieur audit nombre d'essais interrompus autorisé NRSA, I'exécution de l'opération sensible.
7. Module de sécurité selon la revendication 6, dans lequel lesdits moyens de signalisation et de comptage comprennent un compteur agencé pour être incrémenté d'une unité à l'occasion de chaque exécution de l'opération sensible et en amont de celle-ci et, dans le cas où l'opération sensible a été exécutée, pour être décrémenté d'une unité en aval de l'opération sensible.
8. Module de sécurité (8) agencé pour coopérer avec un dispositif de traitement de l'information (1) et comportant des moyens de traitement de l'information (9,2) et des moyens de mémorisation de l'information (10 ; 3,4), et étant agencé pour exécuter un ensemble d'opérations incluant au moins une opération sensible (33), caractérisé en ce qu'il comprend:
-des moyens de signalisation agencés pour prendre un état (32) dans lequel ils sont activés en amont d'une opération sensible à protéger, et un autre état (34) dans lequel ils sont désactivés en aval de l'opération sensible si celle-ci a été exécutée;
-des moyens de contrôle pour contrôler, à l'occasion de chaque exécution de l'opération sensible et en amont de ladite activation (32) des moyens de signalisation, si les moyens de signalisation sont désactivés ; et
-des moyens d'interdiction pour interdire, dans le cas où les moyens de signalisation sont activés, I'exécution de l'opération sensible.
FR9616257A 1996-12-31 1996-12-31 Procede de securisation d'un module de securite, et module de securite associe Expired - Fee Related FR2757972B1 (fr)

Priority Applications (13)

Application Number Priority Date Filing Date Title
FR9616257A FR2757972B1 (fr) 1996-12-31 1996-12-31 Procede de securisation d'un module de securite, et module de securite associe
EP97952982A EP0891587A1 (fr) 1996-12-31 1997-12-23 Procede de securisation d'un module de securite, et module de securite associe
PCT/FR1997/002389 WO1998029813A1 (fr) 1996-12-31 1997-12-23 Procede de securisation d'un module de securite, et module de securite associe
KR1019980706836A KR19990087418A (ko) 1996-12-31 1997-12-23 보안 모듈의 안정성을 보장하기 위한 방법 및 관련 보안 모듈
AU56683/98A AU5668398A (en) 1996-12-31 1997-12-23 Method for ensuring the safety of a security module, and related security mo dule
JP10529680A JPH11505055A (ja) 1996-12-31 1997-12-23 セキュリティモジュールのセキュリティ保護方法、及び関連するセキュリティモジュール
CN97192699A CN1212770A (zh) 1996-12-31 1997-12-23 对一种安全模块进行安全防护的方法和有关的安全模块
CA002247475A CA2247475A1 (fr) 1996-12-31 1997-12-23 Procede de securisation d'un module de securite, et module de securite associe
BR9707881A BR9707881A (pt) 1996-12-31 1997-12-23 Processo para proteger um módulo de segurança e módulo de segurança associado
TW086119900A TW405098B (en) 1996-12-31 1997-12-29 The security procedure of a security module and the related security module
ARP970106244A AR009852A1 (es) 1996-12-31 1997-12-30 Un procedimiento de proteccion de un modulo de seguridad previsto para cooperar con un dispositivo de procesamiento de informacion y modulo deseguridad que lo utiliza.
NO983960A NO983960L (no) 1996-12-31 1998-08-28 FremgangsmÕte for Õ etablere sikkerheten for en sikkerhetsmodul, samt tilh°rende sikkerhetsmodul
US09/794,038 US20010010331A1 (en) 1996-12-31 2001-02-28 Process for protecting a security module, and associated security module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9616257A FR2757972B1 (fr) 1996-12-31 1996-12-31 Procede de securisation d'un module de securite, et module de securite associe

Publications (2)

Publication Number Publication Date
FR2757972A1 true FR2757972A1 (fr) 1998-07-03
FR2757972B1 FR2757972B1 (fr) 1999-02-19

Family

ID=9499336

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9616257A Expired - Fee Related FR2757972B1 (fr) 1996-12-31 1996-12-31 Procede de securisation d'un module de securite, et module de securite associe

Country Status (12)

Country Link
EP (1) EP0891587A1 (fr)
JP (1) JPH11505055A (fr)
KR (1) KR19990087418A (fr)
CN (1) CN1212770A (fr)
AR (1) AR009852A1 (fr)
AU (1) AU5668398A (fr)
BR (1) BR9707881A (fr)
CA (1) CA2247475A1 (fr)
FR (1) FR2757972B1 (fr)
NO (1) NO983960L (fr)
TW (1) TW405098B (fr)
WO (1) WO1998029813A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013083A2 (fr) * 1998-08-31 2000-03-09 Amdahl Corporation Systeme de gestion donnees de valeur comprenant des conteneurs pour d'archivage a protection antivol
FR2793904A1 (fr) * 1999-05-21 2000-11-24 St Microelectronics Sa Procede et dispositif de gestion d'un circuit electronique
FR2857473A1 (fr) * 2003-07-11 2005-01-14 Oberthur Card Syst Sa Procede de securisation de l'execution d'un programme informatique, notamment dans une carte a microcircuit
EP1605333A1 (fr) * 2004-06-07 2005-12-14 Proton World International N.V. Contrôle de l'exécution d'un programme
EP1698958A1 (fr) * 2005-02-25 2006-09-06 Axalto SA Procédé de sécurisation de l'ecriture en mémoire contre des attaques par rayonnement ou autres

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316263A (ja) * 2002-04-19 2003-11-07 Sony Corp 演算装置および演算方法
FR2891654A1 (fr) 2005-10-05 2007-04-06 Proton World Int Nv Compteur d'evenements
EP2108165A1 (fr) 2007-01-05 2009-10-14 Proton World International N.V. Verrouillage temporaire d'un circuit electronique
EP2108164B1 (fr) 2007-01-05 2015-08-26 Proton World International N.V. Limitation d'acces a une ressource d'un circuit electronique
JP5070297B2 (ja) * 2007-01-05 2012-11-07 プロトン ワールド インターナショナル エヌ.ヴィ. 電子回路に含まれる情報の保護
DE102010044687A1 (de) * 2010-09-08 2012-03-08 Giesecke & Devrient Gmbh Portabler Datenträger mit Fehlbedienungszähler
DE102010054446A1 (de) * 2010-12-14 2012-06-14 Giesecke & Devrient Gmbh Portabler Datenträger mit Fehlbedienungszähler

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0157303A2 (fr) * 1984-03-31 1985-10-09 Kabushiki Kaisha Toshiba Dispositif de traitement de données
US4614861A (en) * 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
EP0602867A1 (fr) * 1992-12-17 1994-06-22 NCR International, Inc. Dispositif de sécurité pour une plate-forme de système
EP0657820A1 (fr) * 1993-12-08 1995-06-14 Siemens Aktiengesellschaft Méthode pour empêcher la modification des données non autorisées dans un dispositif avec une mémoire non-volatile

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2674647A1 (fr) * 1991-03-29 1992-10-02 Widmer Michel Appareil formant chequier electronique pour transactions financieres et procede d'utilisation d'un tel appareil.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0157303A2 (fr) * 1984-03-31 1985-10-09 Kabushiki Kaisha Toshiba Dispositif de traitement de données
US4614861A (en) * 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
EP0602867A1 (fr) * 1992-12-17 1994-06-22 NCR International, Inc. Dispositif de sécurité pour une plate-forme de système
EP0657820A1 (fr) * 1993-12-08 1995-06-14 Siemens Aktiengesellschaft Méthode pour empêcher la modification des données non autorisées dans un dispositif avec une mémoire non-volatile

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000013083A2 (fr) * 1998-08-31 2000-03-09 Amdahl Corporation Systeme de gestion donnees de valeur comprenant des conteneurs pour d'archivage a protection antivol
WO2000013083A3 (fr) * 1998-08-31 2000-06-02 Amdahl Corp Systeme de gestion donnees de valeur comprenant des conteneurs pour d'archivage a protection antivol
GB2357609A (en) * 1998-08-31 2001-06-27 Amdahl Corp Value data system having containers for theft deterrent repositories
FR2793904A1 (fr) * 1999-05-21 2000-11-24 St Microelectronics Sa Procede et dispositif de gestion d'un circuit electronique
WO2000072117A1 (fr) * 1999-05-21 2000-11-30 Stmicroelectronics Sa Procede et dispositif de gestion d'un circuit electronique
FR2857473A1 (fr) * 2003-07-11 2005-01-14 Oberthur Card Syst Sa Procede de securisation de l'execution d'un programme informatique, notamment dans une carte a microcircuit
WO2005008451A1 (fr) * 2003-07-11 2005-01-27 Oberthur Card Systems Sa Procede de securisation de l’execution d’un programme informatique, notamment dans une carte a microcircuit
US8707424B2 (en) 2003-07-11 2014-04-22 Oberthur Technologies Method for making secure execution of a computer programme, in particular in a smart card
EP1605333A1 (fr) * 2004-06-07 2005-12-14 Proton World International N.V. Contrôle de l'exécution d'un programme
EP1698958A1 (fr) * 2005-02-25 2006-09-06 Axalto SA Procédé de sécurisation de l'ecriture en mémoire contre des attaques par rayonnement ou autres

Also Published As

Publication number Publication date
CN1212770A (zh) 1999-03-31
AU5668398A (en) 1998-07-31
BR9707881A (pt) 1999-07-27
KR19990087418A (ko) 1999-12-27
NO983960D0 (no) 1998-08-28
AR009852A1 (es) 2000-05-03
TW405098B (en) 2000-09-11
CA2247475A1 (fr) 1998-07-09
WO1998029813A1 (fr) 1998-07-09
EP0891587A1 (fr) 1999-01-20
FR2757972B1 (fr) 1999-02-19
NO983960L (no) 1998-08-28
JPH11505055A (ja) 1999-05-11

Similar Documents

Publication Publication Date Title
EP0914640B1 (fr) Procede de stockage et d'exploitation d'une information sensible dans un module de securite, et module de securite associe
EP1766588B1 (fr) Composant pour module de sécurité
EP0426541B1 (fr) Procédé de protection contre l'utilisation frauduleuse de cartes à microprocesseur, et dispositif de mise en oeuvre
EP1605333B1 (fr) Contrôle de l'exécution d'un programme
FR2666671A1 (fr) Procede de gestion d'un programme d'application charge dans un support a microcircuit.
EP0325506A1 (fr) Système de sécurité pour protéger des zones de programmation d'une carte à puce
EP3455812B1 (fr) Procédé de sécurisation d'un dispositif electronique, et dispositif electronique correspondant
FR2757972A1 (fr) Procede de securisation d'un module de securite, et module de securite associe
EP1055203B1 (fr) Protocole de controle d'acces entre une cle et une serrure electronique
EP0670561A1 (fr) Procédé de fonctionnement d'une carte à puce
WO2017203146A1 (fr) Procede de securisation d'un dispositif electronique, et dispositif electronique correspondant
EP1316874B1 (fr) Blocage du fonctionnement d'un circuit intégré
WO2002073552A1 (fr) Verification de la conformite d'acces de sujet a des objets dans un systeme de traitement de donnees avec une politique de securite
WO2004084525A2 (fr) Procede de protection d’un terminal de telecommunication de type telephone mobile
FR2778768A1 (fr) Procede de personnalisation d'une carte a puce
FR2747813A1 (fr) Systeme securise de controle d'acces permettant l'invalidation automatique de cles electroniques volees ou perdues et/ou le transfert d'habilitation a produire des cles
EP0910839B1 (fr) Procede de stockage des unites de valeur dans une carte a puce de facon securisee et systeme de transaction monetaire avec de telles cartes
WO2004093019A1 (fr) Entite electronique securisee avec compteur modifiable d'utilisations d’une donnee secrete
FR2789774A1 (fr) Procede de comparaison securise de deux registres memoire, et module de securite mettant en oeuvre ce procede
WO2016097637A1 (fr) Procede de securisation d'un code pin avec des compteurs d'erreurs dans une carte a puce
WO2003065181A1 (fr) Procede de controle de l'exploitation de contenus numeriques par un module de securite ou une carte a puce comprenant ledit module
FR2790854A1 (fr) Supports et systemes d'echange de donnees securises notamment pour paiement et telepaiements
WO2006061435A2 (fr) Procede et dispositif perfectionnes de ratification de donnees probatoires presentant un degré de ressemblance non necessairement binaire avec une donnee de reference
WO2005096628A1 (fr) Securisation d’un dispositif d’access a des bouquets de programmes de chaines encryptees

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20110218