WO2006005685A1 - Stockage de cles d'un algorithme a cle publique dans un environnement embarque - Google Patents

Stockage de cles d'un algorithme a cle publique dans un environnement embarque Download PDF

Info

Publication number
WO2006005685A1
WO2006005685A1 PCT/EP2005/053084 EP2005053084W WO2006005685A1 WO 2006005685 A1 WO2006005685 A1 WO 2006005685A1 EP 2005053084 W EP2005053084 W EP 2005053084W WO 2006005685 A1 WO2006005685 A1 WO 2006005685A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
public key
public
private key
elements
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.)
Ceased
Application number
PCT/EP2005/053084
Other languages
English (en)
Inventor
Charles Coulier
Olwehn Morvan
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
Publication of WO2006005685A1 publication Critical patent/WO2006005685A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • the invention relates to the storage of keys for public key algorithms and in particular the storage of keys in embedded environments, for example in smart cards.
  • Public key algorithms require the implementation of a public key and a private key. These keys are mathematically linked to form a pair. While the public key is intended to be released without any restriction, the private key must remain confidential to ensure the security of the algorithm. These keys are therefore generally compartmentalized quite strictly.
  • a virtual machine for example JavaCard type (registered trademark), as well as applications using public key algorithms, such as RSA (encryption, electronic signature).
  • a public key object contains elements n and e (module and public exponent).
  • the methods associated with this key object allow the user to read its elements.
  • a private key object contains either the elements d and n if the key is stored in the standard format (where d is the private exponent and n the module), or the elements p, q, dp, dq and iq if the key is stored at CRT format.
  • a class called KeyPair taking the JavaCard example is intended to associate a public key and a private key and thus generate mathematically related pairs of keys.
  • the stored keys occupy a large space in the memory of the device, to the detriment of other applications. This occupied space can represent a relatively large proportion of the available memory.
  • the module is duplicated in each of these keys.
  • the module of an RSA key 2048 occupies at least 256 bytes.
  • Some methods of attack consist in forcing the smart card to generate erroneous signatures, for example by subjecting it to disturbances in the power supply.
  • a mathematical exploitation of an erroneous signature allows determine private elements.
  • Some cards implement verification algorithms of the generated electronic signature. In principle, verification of the signature should be done by means of the public exhibitor. However, because of the strict independence between the public and private keys, neither the public exhibitor nor the other public elements are stored in the private key object. The security level of the verification of the generated signatures is then not optimal.
  • the step of associating the key object with an access method consists in associating with the object, called the public key object, a method of access to only the elements of the public key stored in the object. container object.
  • the step of associating the key object with an access method consists in associating with the object, called the private key object, a method of access to only those elements of the private key stored in the access object. container object.
  • the method further comprises the steps of:
  • the public key object associating the other key object, called the public key object, with at least one access method for only the elements of the public key stored in the container object.
  • the private key and the public key are associated with an RSA encryption algorithm in standard mode
  • the container object stores the elements n, e and d, n being the RSA module, e being the public exponent, and d being the private exponent; the access method associated with the private key object further provides access to n and d;
  • the access method associated with the public key object provides access only to the elements n and e. According to yet another variant:
  • the private key and the public key are associated with an RSA encryption algorithm in CRT mode;
  • the access method associated with the private key object further provides access to p, q, dp, dq and iq;
  • the access method associated with the public key object provides access only to the elements n and e.
  • the invention also relates to a signature method in which the private key and the public key are associated with an RSA encryption algorithm, this method comprising the steps of the above storage methods and the following steps:
  • the invention also relates to a portable electronic device having a memory storing an application implementing a public key algorithm, a private key stored in the memory by any of the methods above, and a computing device capable of execute said application.
  • the portable electronic device is a smart card.
  • FIG. 1 illustrates objects stored in a smart card according to a first variant of the invention
  • FIG. 2 illustrates objects stored in a smart card according to a second variant of the invention.
  • the invention proposes to create an object associated with a key of a public key algorithm. This object does not contain any element of the public key or the private key.
  • a container object is created to store the elements of the private key and certain elements of the public key.
  • An access method is associated with the key object to access the items stored in the container object.
  • the storage of the different elements in the same container object makes it possible in particular to reduce the memory space occupied by these elements, because of the pooling of some of them (for example the module).
  • the invention applies to a portable digital device (not shown), which embeds at least one application using a public key algorithm.
  • This device also embeds a program interpreter written in object-oriented language, such as Java or JavaCard (registered trademark).
  • the interpreter and the application are for example stored in a non-volatile memory included in the portable digital device, such as an EEPROM.
  • the apparatus is also provided with means for executing the public key application.
  • Figure 1 illustrates a first variant of the invention.
  • a "key pair" object 1 is first created in the non-volatile memory of the device.
  • This object 1 has a header 11 and is associated with at least one method of generating a key pair by the field 14. This method is called and generates in a known manner a pair of keys mathematically related, including a public key and a private key. It is also conceivable that the keys are created beforehand and stored during loading into the device.
  • An object 2 is created for the public key and an object 3 is created for the private key.
  • Object 1 has fields 12 and 13 each including a reference to respectively the public key object 2 and to the private key object 3.
  • the objects 2 and 3 respectively have the headers 21 and 31.
  • the key type objects 2 and 3 are stored in a nonvolatile memory of the device. Note that these objects 2 and 3 do not contain any element of the key pair created.
  • the method of generating the key pair also includes the creation of a container object 5, common to the public key and the private key.
  • the objects 2 and 3 respectively have fields 22 and 32 containing references to the container object 5. Within the methods of each key object, it is possible to access predefined elements of the container object 5.
  • This container object 5 comprises a header 51 and all the elements distributed in several fields 52 to 54.
  • the container object 5 is also stored in a non-volatile memory of the device.
  • the elements of the key pair are not stored in the key objects but in the container object 5.
  • access to an element in the container object 5 can be managed simply according to the methods associated with the key objects 2 and 3
  • the partitioning between the public key object and the private key object is thus achieved by the respective access methods of the objects 2 and 3 to the elements of the container object 5.
  • the elements stored in the container object 5 are associated with a standard RSA algorithm.
  • the public key object 2 is associated with a method for accessing the public elements of the container object 5. These elements are in this case n (the module) and e (the public exponent) and are stored respectively in the fields 52 and 53.
  • the public key object 2 is also associated with a method for accessing the public elements of the container object 5.
  • the public key object 2 is, however, not associated with a method of accessing the public object 2. a private element of the container object 5. Thus, no method associated with the public key object 2 provides access to the elements of the private key.
  • the private key object 3 is associated with a method of access only to the private elements of the container object 5.
  • the field 54 contains the private elements (in this case d corresponding to the private exponent). No access method associated with the private key object can retrieve elements of the public key.
  • the apparatus stores only a private key object 6 and no public key object.
  • Object 6 has a header 61 and a field 62 containing a reference to the container object 7.
  • the object 6 is associated with a method of access only to the private elements (p, q, dp, dq and iq).
  • the container object 7 comprises a header 71 and element fields 72 and 73.
  • the container object 5 or 7 can store a method of retrieving public elements and in particular the public exponent e. This method is made usable only by a verification function that uses the public exponent e to test the validity of signatures generated from private elements. An invalid signature will not be applied to the output of the electronic device. An attack by fault injection during the generation of the signature will therefore be inoperative.
  • This cryptographic verification function can be included without unduly increasing the space occupied in the non-volatile memory of the digital apparatus. Indeed, a single copy of the exponent e is accessible by an access method of the public key object and is usable by the verification function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention porte sur un procédé de stockage d'une clé d'un algorithme à clé publique dans un appareil portatif muni d'un interpréteur de programme écrit dans un langage orienté objet, ce procédé comprenant les étapes consistant à : -créer dans l'appareil au moins un objet conteneur (5), mémorisant les éléments d'une clé privée (54, 72) et au moins un élément (53, 73) d'une clé publique associée ; -créer dans l'appareil au moins un objet clé (3) ne contenant aucun élément de la clé privée ou de la clé publique associée ; -associer l'objet clé à au moins une méthode d'accès aux éléments mémorisés dans l'objet conteneur. L'invention permet de réduire l'espace occupé par les éléments des clés.

Description

STOCKAGE DE CLES D'UN ALGORITHME A CLE PUBLIQUE DANS
UN ENVIRONNEMENT EMBARQUE
L'invention concerne le stockage de clés pour des algorithmes à clé publique et en particulier le stockage de clés dans des environnements embarqués, par exemple dans des cartes à puce.
Les algorithmes à clé publique nécessitent la mise en œuvre d'une clé publique et d'une clé privée. Ces clés sont mathématiquement liées pour former une paire. Alors que la clé publique est destinée à être diffusée sans aucune restriction, la clé privée doit rester confidentielle pour assurer la sécurité de l'algorithme. Ces clés sont donc en général cloisonnées de façon assez stricte.
Certaines cartes à puce ou appareils portatifs embarquent une machine virtuelle par exemple de type JavaCard (marque déposée), ainsi que des applications faisant appel à des algorithmes à clé publique, tels le RSA (cryptage, signature électronique). Pour ce type de machine virtuelle, il est imposé un accès exclusif très strict respectivement entre la clé publique et la clé privée. Un objet clé publique contient par exemple les éléments n et e (module et exposant public). Les méthodes associées à cet objet clé permettent la lecture de ses éléments par l'utilisateur. Un objet clé privée contient soit les éléments d et n si la clé est stockée au format standard (d étant l'exposant privé et n le module), soit les éléments p, q, dp, dq et iq si la clé est stockée au format CRT. En outre, une classe appelée KeyPair en prenant l'exemple JavaCard est prévue dans le but d'associer une clé publique et une clé privée et de générer ainsi des paires de clés mathématiquement liées.
Le stockage et l'utilisation de telles clés posent problème dans les appareils embarqués et en particulier dans les cartes à puce.
Les clés mémorisées occupent un espace important dans la mémoire de l'appareil, au détriment d'autres applications. Cet espace occupé peut représenter une proportion relativement importante de la mémoire disponible. En outre, pour répondre à la contrainte de l'indépendance stricte entre les clés publiques et les clés privées, le module est dupliqué dans chacune de ces clés. A titre d'exemple, le module d'une clé RSA 2048 occupe au moins 256 octets.
Certaines méthodes d'attaque consistent à forcer la carte à puce à générer des signatures erronées, en la soumettant par exemple à des perturbations de l'alimentation électrique. Une exploitation mathématique d'une signature erronée permet de déterminer des éléments privés. Certaines cartes mettent en œuvre des algorithmes de vérification de la signature électronique générée. En principe, la vérification de la signature devrait être effectuée au moyen de l'exposant public. Cependant, du fait de l'indépendance stricte entre les clés publique et privée, ni l'exposant public ni les autres éléments publics ne sont mémorisés dans l'objet clé privée. Le niveau de sécurité de la vérification des signatures générées n'est alors pas optimal.
Il existe donc un besoin pour un procédé de stockage d'une clé d'un algorithme à clé publique dans un appareil portatif muni d'un interpréteur de programme écrit dans un langage orienté objet, comprenant les étapes consistant à : - créer dans l'appareil au moins un objet conteneur (5), mémorisant au moins un élément d'une clé privée (54, 72) et au moins un élément (53, 73) d'une clé publique associée ;
- créer dans l'appareil au moins un objet clé (3) ne contenant aucun élément de la clé privée et de la clé publique associée ; - associer l'objet clé à au moins une méthode d'accès aux éléments mémorisés dans l'objet conteneur.
Selon une variante, l'étape d'association de l'objet clé à une méthode d'accès consiste à associer à l'objet, dit objet clé publique, une méthode d'accès aux seuls éléments de la clé publique mémorisés dans l'objet conteneur. Selon une autre variante, l'étape d'association de l'objet clé à une méthode d'accès consiste à associer à l'objet, dit objet clé privée, une méthode d'accès aux seuls éléments de la clé privée mémorisés dans l'objet conteneur.
On peut alors prévoir que le procédé comprenne en outre les étapes consistant à:
- créer dans l'appareil au moins un autre objet clé (3) ne contenant aucun élément de la clé privée ou de la clé publique associée ;
- associer l'autre objet clé, dit objet clé publique, à au moins une méthode d'accès aux seuls éléments de la clé publique mémorisés dans l'objet conteneur.
Selon encore une variante :
- la clé privée et la clé publique sont associées à un algorithme de cryptage RSA en mode standard ;
- l'objet conteneur mémorise les éléments n, e et d, n étant le module RSA, e étant l'exposant public, et d étant l'exposant privé ; - la méthode d'accès associée à l'objet clé privée fournit en outre un accès à n et d ;
- la méthode d'accès associée à l'objet clé publique fournit un accès uniquement aux éléments n et e. Selon encore une autre variante :
- la clé privée et la clé publique sont associées à un algorithme de cryptage RSA en mode CRT ;
- l'objet conteneur mémorise les éléments n, e, p, q, dp, dq et iq, tels que dp= d modulo (p-1), dq= d modulo (q-1) et iq = q"1 modulo p, n étant le module RSA, p et q étant les nombres premiers distincts, n étant le module RSA et e étant l'exposant public ;
- la méthode d'accès associée à l'objet clé privée fournit en outre un accès à p, q, dp, dq et iq ;
- la méthode d'accès associée à l'objet clé publique fournit un accès uniquement aux éléments n et e.
On peut encore prévoir que l'appareil portatif soit contrôlé par un interpréteur du type Java ou Javacard.
L'invention porte également sur un procédé de signature dans lequel la clé privée et la clé publique sont associées à un algorithme de cryptage RSA, ce procédé comprenant les étapes des procédés de stockage ci-dessus et les étapes suivantes :
- générer une signature électronique associée à la clé privée ;
- lire l'exposant public e par une méthode associée à l'objet conteneur;
- vérifier la signature électronique générée au moyen de l'exposant public e;
- fournir la signature électronique vérifiée sur une sortie de l'appareil électronique.
L'invention porte encore sur un appareil électronique portatif présentant une mémoire mémorisant une application mettant en œuvre un algorithme à clé publique, une clé privée stockée dans la mémoire par l'un quelconque des procédés ci-dessus, et un organe de calcul susceptible d'exécuter ladite application. Selon une variante, l'appareil électronique portatif est une carte à puce. ç
D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est feite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels :
-la figure 1 illustre des objets mémorisés dans une carte à puce selon une première variante de l'invention ;
-la figure 2 illustre des objets mémorisés dans une carte à puce selon une seconde variante de l'invention.
L'invention propose de créer un objet associé à une clé d'un algorithme à clé publique. Cet objet ne contient aucun élément de la clé publique ou de la clé privée. Un objet conteneur est créé pour mémoriser les éléments de la clé privée et certains éléments de la clé publique. Une méthode d'accès est associée à l'objet clé pour accéder aux éléments mémorisés dans l'objet conteneur.
Le stockage des différents éléments dans un même objet conteneur permet notamment de réduire l'espace mémoire occupé par ces éléments, du fait de la mise en commun de certains d'entre eux (par exemple le module).
L'invention s'applique à un appareil numérique portatif (non représenté), qui embarque au moins une application utilisant un algorithme à clé publique. Cet appareil embarque également un interpréteur de programme écrit en langage orienté objet, tel que Java ou JavaCard (marque déposée). L'interpréteur et l'application sont par exemple mémorisés dans une mémoire non volatile incluse dans l'appareil portatif numérique, telle qu'une EEPROM. L'appareil est également muni de moyens d'exécution de l'application à clé publique. La figure 1 illustre une première variante de l'invention. Selon cette variante, on crée dans un premier temps un objet « couple de clés » 1 dans la mémoire non volatile de l'appareil. Cet objet 1 présente un entête 11 et est associé à au moins une méthode de génération d'un couple de clés par le champ 14. Cette méthode est appelée et génère de façon connue en soi un couple de clés liées mathématiquement, comprenant une clé publique et une clé privée. On peut également envisager que les clés soient créées au préalable et mémorisées lors d'un chargement dans l'appareil.
Un objet 2 est créé pour la clé publique et un objet 3 est créé pour la clé privée. L'objet 1 présente des champs 12 et 13 comprenant chacun une référence vers respectivement l'objet clé publique 2 et vers l'objet clé privée 3. Les objets 2 et 3 présentent respectivement les entêtes 21 et 31. Les objets de type clé 2 et 3 sont mémorisés dans une mémoire non volatile de l'appareil. On notera que ces objets 2 et 3 ne contiennent aucun élément du couple de clés créé. La méthode de génération du couple de clés comprend également la création d'un objet conteneur 5, commun à la clé publique et à la clé privée. Les objets 2 et 3 présentent respectivement des champs 22 et 32 contenant des références à l'objet conteneur 5. Au sein des méthodes de chaque objet clé, on peut accéder à des éléments prédéfinis de l'objet conteneur 5. Cet objet conteneur 5 comprend un entête 51 et l'ensemble des éléments répartis dans plusieurs champs 52 à 54. L'objet conteneur 5 est également mémorisé dans une mémoire non volatile de l'appareil. Les éléments du couple de clés ne sont pas stockés dans les objets clés mais dans l'objet conteneur 5. Ainsi, les accès à un élément dans l'objet conteneur 5 peuvent être gérés simplement en fonction des méthodes associées aux objets clés 2 et 3. Le cloisonnement entre l'objet clé publique et l'objet clé privée est ainsi réalisé par les méthodes d'accès respectives des objets 2 et 3 aux éléments de l'objet conteneur 5.
Dans l'exemple de la figure 1, les éléments mémorisés dans l'objet conteneur 5 sont associés à un algorithme RSA standard. L'objet clé publique 2 est associé à une méthode d'accès aux éléments publics de l'objet conteneur 5. Ces éléments sont en l'occurrence n (le module) et e (l'exposant public) et sont stockés respectivement dans les champs 52 et 53. L'objet clé publique 2 est également associé à une méthode d'accès aux éléments publics de l'objet conteneur 5. L'objet clé publique 2 n'est en revanche pas associé à une méthode d'accès à un élément privé de l'objet conteneur 5. Ainsi, aucune méthode associée à l'objet clé publique 2 ne permet d'accéder aux éléments de la clé privée.
L'objet clé privée 3 est associé à une méthode d'accès uniquement aux éléments privés de l'objet conteneur 5. Le champ 54 contient les éléments privés (en l'occurrence d correspondant à l'exposant privé). Aucune méthode d'accès associée à l'objet clé privée ne permet de récupérer des éléments de la clé publique.
Selon la variante illustrée à la figure 2, l'appareil mémorise seulement un objet de clé privée 6 et pas d'objet de clé publique. L'objet 6 présente un entête 61 et un champ 62 contenant une référence à l'objet conteneur 7. L'objet 6 est associé à une méthode d'accès uniquement aux éléments privés (p, q, dp, dq et iq).
L'objet conteneur 7 comprend un entête 71 et des champs d'éléments 72 et 73. Le champ 72 comprend les éléments privés p, q, dp, dq et iq (éléments pour un cryptage RSA en mode CRT, avec dp = d modulo (p-1), dq = d modulo (q-1) et iq = q'1 modulo p) et le champ 73 comprend l'élément public e.
Dans ces deux exemples, l'objet conteneur 5 ou 7 peut stocker une méthode de récupération d'éléments publics et en particulier de l'exposant public e. Cette méthode est rendue utilisable uniquement par une fonction de vérification qui utilise l'exposant public e pour tester la validité de signatures générées à partir des éléments privés. Une signature non valide ne sera pas appliquée sur la sortie de l'appareil électronique. Une attaque par injection de faute lors de la génération de la signature sera donc inopérante.
Cette fonction de vérification cryptographique peut être incluse sans accroître excessivement l'espace occupé dans la mémoire non volatile de l'appareil numérique. En effet, un unique exemplaire de l'exposant e est accessible par une méthode d'accès de l'objet clé publique et est utilisable par la fonction de vérification.

Claims

REVENDICATIONS
1. Procédé de stockage d'une clé d'un algorithme à clé publique dans un appareil portatif muni d'un interpréteur de programme écrit dans un langage orienté objet, caractérisé en ce qu'il comprend les étapes consistant à :
- créer dans l'appareil au moins un objet conteneur (5), mémorisant au moins un élément d'une clé privée (54, 72) et au moins un élément (53, 73) d'une clé publique associée ;
- créer dans l'appareil au moins un objet clé (3), dit objet clé privée, ne contenant aucun élément de la clé privée et de la clé publique associée ;
- associer l'objet clé privée à au moins une méthode d'accès aux seuls éléments de la clé privée mémorisés dans l'objet conteneur ;
- créer dans l'appareil au moins un autre objet clé (3), dit objet clé publique, ne contenant aucun élément de la clé privée ou de la clé publique associée ; - associer l'objet clé publique, à au moins une méthode d'accès aux seuls éléments de la clé publique mémorisés dans l'objet conteneur.
2. Procédé de stockage selon la revendication 1, caractérisé en ce que :
- la clé privée et la clé publique sont associées à un algorithme de cryptage RSA en mode standard ;
- l'objet conteneur mémorise les éléments n, e et d, n étant le module RSA, e étant l'exposant public, et d étant l'exposant privé ;
- la méthode d'accès associée à l'objet clé privée fournit en outre un accès à n et d ; - la méthode d'accès associée à l'objet clé publique fournit un accès uniquement aux éléments n et e.
3. Procédé de stockage selon la revendication 1, caractérisé en ce que :
- la clé privée et la clé publique sont associées à un algorithme de cryptage RSA en mode CRT ;
- l'objet conteneur mémorise les éléments n, e, p, q, dp, dq et iq, tels que dp≈ d modulo (p-1), dq= d modulo (q-1) et iq = q"1 modulo p, n étant le module RSA, p et q étant les nombres premiers distincts, n étant le module RSA et e étant l'exposant public ;
- la méthode d'accès associée à l'objet clé privée fournit en outre un accès à p, q, dp, dq et iq ; - la méthode d'accès associée à l'objet clé publique fournit un accès uniquement aux éléments n et e.
4. Procédé de stockage selon l'une quelconque des revendications précédentes, caractérisé en ce que l'appareil portatif est contrôlé par un interpréteur du type Java ou Javacard.
5. Procédé de signature dans lequel la clé privée et la clé publique sont associées à un algorithme de cryptage RSA, ce procédé comprenant les étapes du procédé de stockage selon l'une quelconque des revendications précédentes et les étapes suivantes :
- générer une signature électronique associée à la clé privée ;
- lire l'exposant public e par une méthode associée à l'objet conteneur;
- vérifier la signature électronique générée au moyen de l'exposant public e;
- fournir la signature électronique vérifiée sur une sortie de l'appareil électronique.
6. Appareil électronique portatif, caractérisé en ce qu'il présente une mémoire mémorisant une application mettant en œuvre un algorithme à clé publique, une clé privée stockée dans la mémoire par le procédé selon l'une quelconque des revendications 1 à 5 et un organe de calcul susceptible d'exécuter ladite application.
7. Appareil électronique portatif selon la revendication 6, caractérisé en ce qu'il s'agit d'une carte à puce.
PCT/EP2005/053084 2004-07-12 2005-06-29 Stockage de cles d'un algorithme a cle publique dans un environnement embarque Ceased WO2006005685A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0407761 2004-07-12
FR0407761A FR2872936B1 (fr) 2004-07-12 2004-07-12 Stockage de cles d'un algorithme a cle publique dans un environnement embarque

Publications (1)

Publication Number Publication Date
WO2006005685A1 true WO2006005685A1 (fr) 2006-01-19

Family

ID=34947691

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/053084 Ceased WO2006005685A1 (fr) 2004-07-12 2005-06-29 Stockage de cles d'un algorithme a cle publique dans un environnement embarque

Country Status (2)

Country Link
FR (1) FR2872936B1 (fr)
WO (1) WO2006005685A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120842A1 (en) * 2000-11-29 2002-08-29 Helge Bragstad Method, apparatus and computer program product for interoperable cryptographic material

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120842A1 (en) * 2000-11-29 2002-08-29 Helge Bragstad Method, apparatus and computer program product for interoperable cryptographic material

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BURTON S. KALISKI, MATTHEW J.B. ROBSHAW: "Comments on Some New Attacks on Cryptographic Devices", RSA LABORATORIES BULLETIN, no. 5, 1997, XP002321070, Retrieved from the Internet <URL:http://www.comms.scitech.susx.ac.uk/fft/crypto/RSAbulletin/bulletn5.pdf> [retrieved on 20050304] *
JAVA CRYPTOGRAPHY ARCHITECTURE, 4 August 2002 (2002-08-04), API SPECIFICATION AND REFERENCE, XP002321071, Retrieved from the Internet <URL:http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html#KeystoreLocation> [retrieved on 20050310] *
SCHEIBELHOFER K.: "Using Opencard in combination with the java cryptographic architecture for digital signing"", PROCEEDINGS OF GEMPLUS DEVELOPER CONFERENCE GDC'200, 20 June 2000 (2000-06-20), MONTPELLIER, XP002321069, Retrieved from the Internet <URL:http://www.iaik.tu-graz.ac.at/research/publications/2000/gdc2000.pdf> [retrieved on 20050310] *

Also Published As

Publication number Publication date
FR2872936B1 (fr) 2007-02-16
FR2872936A1 (fr) 2006-01-13

Similar Documents

Publication Publication Date Title
EP2296086B1 (fr) Protection d&#39;une génération de nombres premiers contre des attaques par canaux cachés
FR3015080A1 (fr) Verification d&#39;integrite de paire de cles cryptographiques
EP1151576A1 (fr) Procede cryptographique a cles publique et privee
WO2005022820A1 (fr) Procede pour la mise en oeuvre securisee d&#39;un algorithme de cryptographie de type rsa et composant correspondant
WO2010112739A1 (fr) Procede pour effectuer une tache cryptographique dans un composant electronique
FR3015078A1 (fr) Authentification de code binaire
WO2009088938A1 (fr) Procédé pour protéger des données contre une analyse de défaut différentiel impliquée dans une cartographie de rivest, shamir et adleman en utilisant le théorème des restes chinois
EP2772869B1 (fr) Procédé et système de traitement cryptographique utilisant une donnée sensible
EP2572470A1 (fr) Procédé d&#39;obtention de clés de chiffrement, terminal, serveur, et produits programmes d&#39;ordinateurs corresupondants.
EP1449067B1 (fr) Securisation d&#39;un generateur pseudo-aleatoire
FR3069993A1 (fr) Dispositifs et procedes de masquage d&#39;operations de chiffrement rsa
FR2828608A1 (fr) Procede securise de realisation d&#39;une operation d&#39;exponentiation modulaire
EP3472745B1 (fr) Procédé d&#39;authentification avec un mot de passe comprenant un sel
WO2006005685A1 (fr) Stockage de cles d&#39;un algorithme a cle publique dans un environnement embarque
EP3198540A1 (fr) Procédé d&#39;auto-détection d&#39;une tentative de piratage d&#39;une carte électronique de paiement, carte, terminal et programme correspondants
WO2007006810A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
RU2471300C2 (ru) Способ и устройство генерации сжатого rsa модуля
FR3015076A1 (fr) Generation de cles cryptographiques
CN107040370B (zh) 一种用于产生实施模幂运算的代码的装置
FR3047327A1 (fr) Procede d&#39;execution de calcul cryptographique et application a la classification par machines a vecteurs de support
EP1523823A2 (fr) Procede de generation de cles electroniques pour procede de cryptographie a cle publique et objet portatif securise mettant en oeuvre le procede
FR3140728A1 (fr) Procédé de traitement cryptographique, dispositif électronique et programme d’ordinateur associés
EP1721246B1 (fr) Procede et dispositif pour accomplir une operation cryptographique
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
FR3004042A1 (fr) Procedes de generation et d&#39;utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase