Multos

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

MULTOS est un système d'exploitation destiné aux cartes à puce, portant le même nom. C'est un système hautement sécurisé, extrêmement stable et disposant de normes de sécurité élevées, dont la norme ITSEC la plus haute existante à ce jour. Son architecture est similaire aux autres systèmes d'exploitation de carte à puce, mais ajoute un gestionnaire de sécurité pour le chiffrement des données. C'est le système d'exploitation de carte à puces le plus utilisé.

Les applications pour MULTOS peuvent être développées dans plusieurs langages. Elles sont ensuite traduites en bytecode MEL, pour être ensuite interprétées par l'API MULTOS. La gestion de ces applications est très flexible car il est possible de supprimer ou charger des applications très facilement.

La sécurité est essentielle pour MULTOS et est assurée grâce à plusieurs outils. Un gestionnaire de clés est présent dans de nombreux secteurs du système et constitue la base de sa sécurité. Une pare-feu et un système de jetons viennent compléter une sécurité de haut niveau.

Description technologique[modifier | modifier le code]

Normes[modifier | modifier le code]

MULTOS a été développé dans le secteur bancaire par NatWest, au Royaume-Uni, comme plateforme sécurisée pour les cartes à puces [1]. Un travail sur la sécurité a été effectué pendant une année complète en partenariat avec MAOSCO[1]. Ainsi, c'est le premier produit non-militaire à atteindre le plus haut degré de certification de la norme ITSEC (ITSEC E6)[1],[2].

Il a aussi atteint la norme EAL 4+ [3]. Cependant, cela ne garantit pas que MULTOS est la plateforme la plus sécurisée, mais que l'architecture du système de sécurité a répondu à un niveau élevé aux Critères communs[4]. Il en résulte cependant que MULTOS est un système extrêmement stable[4].

Obtenir un tel niveau de certification est un processus long qui requiert des ressources financières importantes[4]. De plus, il est difficile de trouver des dispositifs ayant une évaluation supérieure à EAL4[4]. Ainsi selon John Elliott, MULTOS doit atteindre un EAL situé entre les niveaux 5 et 7 afin de prétendre à une certification de sécurité maximum[4].

Architecture[modifier | modifier le code]

MULTOS s'exécute sur une architecture similaire aux cartes MASCs[1]. Elle se compose d'un microprocesseur sur une puce en silicium permettant ensuite d'ajouter plusieurs fonctionnalités[5]. Elle est dotée d'un système d'exploitation qui permet un accès sécurisé ainsi que le contrôle de la puissance de la puce[5]. Une machine virtuelle permet le chargement et l'exécution des applications[5]. Finalement, un gestionnaire de cartes permet de contrôler la sécurité durant le chargement et la suppression d'applications[5]. Voici l'architecture de MULTOS sous forme de schéma :

Architecture MULTOS


La machine virtuelle a été adaptée pour les cartes à puces MULTOS, afin d'améliorer les performances en termes de vitesse et de stockage[6]. Le gestionnaire de sécurité utilise l'algorithme de cryptographie RSA, ce qui requiert des cartes plus coûteuses en termes de ressources[6]. Cependant RSA est incontournable, car il est utilisé pour le chiffrement par de nombreuses applications, notamment pour les paiements en bourse ou les identifiants numériques[6].

De plus, des moteurs d'améliorations disponibles pour les spécifications fonctionnelles, permettent de transformer les commandes sous forme de séquences d'octets[7]. L'utilisation de trois moteurs d'améliorations est une spécificité de MULTOS et permet ainsi une grande assurance provenant de l'utilisation des données mathématiques et aussi une évolutivité du générateur de code[7].

Fonctionnalités[modifier | modifier le code]

MULTOS se démarque par son attractivité, et cela grâce à ses fonctionnalités et ses nombreuses applications disponibles pour la carte, permettant de toucher une plus grande part de marché (E-ticketing, GSM, enregistrements de type médical...)[8]. Une application de sécurité disponible, utilisant un pare-feu, permet d'isoler les autres applications[8].

Ensuite une infrastructure est mise en place, afin de charger et de supprimer les applications de façon flexible et sécurisée[8]. Avec ce système, l'utilisateur peut gérer les applications présentes sur sa carte à puces[8]. De plus, un certificat est requis pour le chargement des applications (ALC)[9]. La suppression utilise un procédé identique, utilisant un certificat pour la suppression des applications (ADC) et ce certificat est téléchargeable sur Internet par les propriétaires de ces applications lors de l'ajout ou la suppression de ces dernières[9]. La suppression des données est faite de manière permanente et libère de l'espace pour de nouvelles applications[8]. La carte MULTOS est aussi adaptée afin de pouvoir gérer les besoins futurs, notamment pour les dernières applications développées[8].

De plus, MULTOS met en place des moyens cryptographiques afin de garantir la sécurité des données, notamment dans les transactions bancaires[3]. Le système de chiffrement est basé sur l'utilisation de RSA ainsi que d'un procédé nommé ECC (Cryptographie sur les courbes elliptiques)[3]. Ce dernier gère des clés de tailles plus petites et est utilisé de manière complémentaire au RSA afin d'améliorer la sécurité[3].

Comparaison de MULTOS et des autres cartes[modifier | modifier le code]

MULTOS est le système d'exploitation multi-applications offrant les meilleures performances en termes de sécurité[10]. C'est également une plateforme libre[10]. De plus, MULTOS est la solution la plus intéressante pour les banques, devant Java Card et les solutions Microsoft pour deux raisons[10]. D'abord parce que c'est un système d'exploitation complet contrairement à Java Card et ensuite parce que MAOSCO est une solution qui assure le lien avec les banques contrairement à Java Card et Microsoft Card qui sont gérées par des industries non bancaires[10].

Voici un tableau récapitulatif des différences entre MULTOS, Java Card et WfSC (mis en place par Microsoft)[11]:

Java Card MULTOS WfSC
Avantages Langage JAVA très utilisé qui dispose de nombreux outils et d'apports permanents. Complet, efficace et stable, MULTOS est très sécurisé et interopérable. Système d'exploitation contenant de nombreux outils connus. Très flexible, il est maintenu par Microsoft.
Inconvénients Sécurité, stabilité et interopérabilité. Manque de flexibilité : il n'existe pas de cartes à puces sans processeur RSA. Problème de sécurité et utilisation restreinte aux systèmes d'exploitation.
Licence Sun Microsystems. NatWest (1990s), MAOSCO (1998). Microsoft.
Certification de sécurité Aucune. ITSEC E6. Aucune.
Redevance Oui Non Oui
Accessibilité L'API Java Card permet d'accéder à l'environnement à l'aide de la machine virtuelle. Solution complète : Machine virtuelle, API, gestionnaire d'application dynamique. Système d'exploitation configurable et multi-fonction.
Portabilité Portabilité non prouvée. Portabilité sans besoin de recompilation. Portabilité non prouvée.
Langages utilisés Java. C, MEL, Java. Visual Basic.
Processeur Optimisé pour les processeurs 32-bits. Possibilité sur les processeurs 8-bits. Optimisé pour les processeurs 8-bits. Fabriqué pour les processeurs 8-bits.
Niveaux de sécurité Basique. Complet. Basique.

En général, le code le plus petit est celui écrit en MEL, grâce à la machine virtuelle MULTOS qui est optimisée pour les processeurs de smart card[12]. De plus, il est en général plus rapide à s’exécuter que sur les deux autres plates-formes (Java Card et Windows for Smart Card (WfSC))[12]. Cependant les applications codées en C sont en moyenne 25 % moins rapide, excepté s'il y a de nombreux appels primitifs, dans quel cas la différence de vitesse est négligeable[12]. Les applications Java Card sont jusqu'à 50 % moins rapide que les applications MULTOS[12].

Développement[modifier | modifier le code]

La conception des applications avec MULTOS[modifier | modifier le code]

La conception de l'application avec MULTOS

Mondex International[13] a développé un langage de programmation optimisé pour les cartes à puce, appelé MEL (MULTOS Executable Language)[14],[15]. Le code MEL est interprété par la carte en utilisant l'API MULTOS[8],[16]. Comme Java, le noyau du système d'exploitation de MULTOS est un interpréteur qui permet de développer des applications indépendamment du matériel sous-jacent[17].

Les applications peuvent être écrites en langage de haut niveau [18], et ensuite traduites à l'aide d'un compilateur, ou machine virtuelle, en langage MEL (Multos Executable Language)[17]. Finalement, le code MEL est interprété par l'interpréteur de la carte à puce en utilisant l'API[17]. La principale caractéristique de MULTOS réside donc dans l'utilisation possible de différents langages[19]:

  • Assembleur : MULTOS est la seule plateforme qui permet l'utilisation de l'assembleur facilement. Les applications sous MULTOS ont été initialement développées en MEL[9], qui contient des pseudo-instructions et des primitives.
  • Langage C : MULTOS est une plate-forme contenant un compilateur C. Les applications peuvent être écrites dans ce langage et sont ensuite compilées à l'aide du compilateur C en langage interprété MEL[20],[15]. L'outil SwiftC permet d'effectuer rapidement le portage d'une application pour MULTOS.
  • Java : Un compilateur Java traduit le code source en des classes Java qui sont ensuite traduites en code MEL.
  • Visual Basic : L'outil SwiftCard[21], permettant de passer de Visual Basic en Mel, est en cours de développement.

Chargement et suppression des applications sur MULTOS[modifier | modifier le code]

Le chargement et la suppression des applications sur MULTOS est l'une des caractéristiques les plus intéressantes des cartes MULTOS[8]. Si la société émettrice l'autorise, le titulaire de la carte peut supprimer des applications qui résident sur sa carte et en télécharger de nouvelles sur des réseaux ouverts comme l'Internet ou le Réseau téléphonique commuté (RTC)[8].

Pour charger une application sur la carte MULTOS, il faut avoir un certificat de chargement de l'application valide (ALC) avec l'unité de chargement d'application (ALU)[9]. La société émettrice peut permettre au propriétaire de la carte d'obtenir ces fichiers sur l'Internet et peuvent être cryptés pour plus de sécurité[9]. L'ALC est le certificat qui détermine sur la carte sur laquelle l'application peut être chargée[9]. S'il y a de la place sur la carte MULTOS, l'application est chargée en utilisant un logiciel approprié qui décompose l'ALU et l'ALC en des morceaux appropriés et les met sur la carte dans le bon ordre[9].

La suppression des applications sur la carte MULTOS est un processus similaire, avec un certificat de suppression de l'application valide (ADC) requis pour la carte et pour l'application[9]. La suppression d'une application qui réside sur la carte MULTOS permet de libérer définitivement l'espace qui était occupé par l'application et ses données[9]. L'espace réservé sur la carte devient donc libre pour les applications ultérieures à charger[9].

De cette façon, la carte MULTOS peut être utilisée comme une carte modulable[8]. En effet, les applications résident sur la carte le temps que l'utilisateur veut et, avec la permission de l'émetteur de la carte, les utilisateurs peuvent supprimer des applications et en charger d'autres selon leurs besoins[9].

Différentes applications pour MULTOS[modifier | modifier le code]

Trois applications ont été développées dès les premières versions de MULTOS[8] :

  • Security : cette application permet, après s’être identifié avec un code PIN, d'effectuer ces différentes actions :
  1. Délivrer le certificat digital contenu dans la carte (qui contient la clé publique du détenteur de la carte)
  2. Autoriser l'utilisation de la clé privée pour signer, authentifier, et déchiffrer certains items (comme des clés secrètes de session)
  3. Générer une empreinte du certificat de la carte et la signer avec la clé privée.
  • E-friends and family : permet d’enregistrer jusqu'à 10 noms, numéros de téléphone ou d'adresses e-mail. C'est en fait un conteneur pouvant stocker n'importe quelle donnée textuelle, et la retourner lorsqu'elle est demandée.
  • E-ticketing : cette application stocke des tickets électroniques. Les tickets sont signés par l'émetteur du billet afin d'empêcher la fraude.

Ces applications peuvent être utilisées selon deux scénarios différents[22]. Le premier met en place un ordinateur disposant d'une connexion internet et qui utilise les applications de manière sécurisée[22]. Pour cela, il doit passer par un module cryptographique qui lui permet de chiffrer et déchiffrer ses mails[22]. L'utilisateur a aussi la possibilité de gérer les données de l'application E-friends à partir de cet ordinateur[22]. L'application E-ticketing passe aussi par ce module de chiffrement et permet ensuite d'indiquer le montant de la somme qui sera versée lors du paiement[22].
Le deuxième utilise deux smartphones du réseau RTCP et sans connexion internet[23], un serveur utilisé avec deux modems reliés à deux lignes téléphoniques et qui permet de gérer l'identification et l'accès aux applications[23]. Les deux scénarios permettent d'effectuer les mêmes fonctions[23].

Sécurité[modifier | modifier le code]

KMA (Key Managment Authority)[modifier | modifier le code]

Langages utilisés pour le développement de KMA

Le KMA, aussi appelé MULTOS CA (Certification Authority), est un système de sécurité qui a été développé afin de répondre à la norme ITSEC[24],[25],[1]. Il a été développé à l'aide de plusieurs langages[26]. D'abord, le SPARK est utilisé pour la partie sécurité du système, car il permet de limiter les problèmes de sécurité liés au développement[26]. Cependant l'utilisation de ce langage pour tout le système est inconcevable pour Chapman, car des fonctionnalités de type interface graphique ne peuvent pas être mises en place[26]. Ainsi, Ada95 a été utilisé pour la gestion de l'infrastructure, le C++ pour l'approche graphique, le C pour les algorithmes de cryptographie, et enfin le SQL pour les bases de données[26].

De plus, le KMA permet d'assurer la sécurité et l'intégrité de l'infrastructure et des applications[25]. En effet, les systèmes basés sur le KMA sont soumis à des contraintes de sécurité les plus strictes[25]. Ainsi, les applications développées avec le KMA doivent répondre à des exigences élevées à plusieurs niveaux[25]. D'abord la disponibilité est très importante dans MULTOS, car le système étant lourd à démarrer, il doit fonctionner de manière continue[25]. Ensuite la durée de vie est prévue pour s'étendre sur des dizaines d'années[25]. De plus, les différentes parties du système sont classées selon des niveaux de sécurité différents[25]. Par exemple, les données provenant de l'interface graphique sont considérées comme non sécurisées, car les applications sont développées dans une couche interne du système[25]. Les informations à afficher sont alors envoyer vers l'interface graphique de manière sécurisée[25]. Finalement, le KMA permet la génération d'un nombre significatif de certificats[25].

En plus de ces fonctionnalités, le KMA a été produit avec l'accord des clients, qui ont ainsi participé à la gestion du comportement du système[24]. Une particularité dans le KMA est que les erreurs sont détectées très tôt[27]. C'est une propriété clé qui permet de distinguer les systèmes développés de façon formelle de ceux développés de façon plus ponctuelle[27]. Ainsi, la principale conséquence est l'augmentation de la productivité ainsi qu'un taux d'erreur plus bas[27]. Les spécifications de KMA sont plus compréhensibles et permettent donc d'améliorer ses avantages commerciaux et techniques[27].

Finalement c'est un outil important de sécurisation, géré par le consortium MAOSCO, qui y contribue en offrant plusieurs mécanismes de protection[28]. Un système de clés asymétriques, avec une clé propre à chaque carte est utilisée pour sécuriser les applications[28]. L'enregistrement de la carte auprès du KMA permet d'utiliser ses fonctionnalités[28]. L'activation de la carte permet de la rendre unique et offre la possibilité de la désactiver en cas de problème[28].

Pare-feu[modifier | modifier le code]

Les applications n'ont pas accès directement au système d'exploitation, elles passent par une machine abstraite utilisant les APIs standards[29]. Ces dernières permettent d'effectuer la communication mais aussi les requêtes provenant des applications[29]. La couche d'application est ainsi la plus élevée et la restriction est assurée par le pare-feu[29].

Il est utilisé pour protéger les applications au niveau de la machine virtuelle, permettant ainsi de filtrer les actions malveillantes, comme par exemple des instructions illégales ou des lectures de données non autorisées[28]. Il est basé sur un système de délégation : l'application cliente est le déléguant alors que l'application serveur est le délégué et fonctionne de la manière suivante[30],[31] :

  1. L'application cliente crée une commande APDU contenant les identifiants des deux applications, ainsi que la requête, et est stockée dans la mémoire
  2. L'application cliente lance la commande en demandant au système MULTOS d'appeler l'application serveur qui lit et traite la commande
  3. L'application serveur crée une nouvelle commande APDU
  4. Le système d'exploitation revient à l'exécution de l'application cliente en récupérant les résultats de la requête dans la mémoire publique

Voici un schéma décrivant ce fonctionnement :

Descriptif du fonctionnement du firewall

En plus de ce système, les applications écrites en Mel sont découpées sous forme d'actions individuelles par la machine virtuelle[28]. En effet, durant ce processus, des traitements de sécurité permettent de vérifier qu'il n'y a pas d'accès non autorisé à la mémoire, d'instructions illégales ou de code modifié[28]. Cette vérification a lieu lors de l’exécution du code plutôt qu'au chargement de l'application[28]. Ce procédé permet d'obtenir un niveau de sécurité très élevé car les instructions sont vérifiées à chaque fois avant d'être exécutées[28].

Sécurité à l'aide de jetons[modifier | modifier le code]

MULTOS possède un système appelé "sans contact", qui exploite les fréquences radio[3]. Il est utilisé pour des processus comme les identifications ou les paiements[32]. Ce système regroupe un mécanisme de jetons, afin de gérer la sécurité des applications comme les mails par exemple[33],[32]. Cependant, il demande beaucoup de ressources[34]. Des niveaux de sécurité sont donc requis afin de minimiser les coûts[34].

Il en est existe quatre[34]. D'abord, le niveau minimum permet de récupérer les informations stockées sur le jeton, qui sont lisibles par tous[34]. La mémoire peut être bloquée en cas d'écriture non autorisée[34]. Ensuite, le niveau faible permet aux jetons d'implémenter un mécanisme d'authentification[34]. La mémoire est protégée par un mot de passe ou dans certains cas, l'authentification doit être validée afin que les données soient libérées[34]. Le niveau moyen dispose d'un algorithme de chiffrement, qui est mis en place pour l'authentification ainsi que pour les données[34]. Enfin le niveau élevé possède un algorithme reposant sur un couple de clé publique/clé privée qui est utilisé pour l'authentification, le chiffrement et la signature des données[34].

En plus de ces différentes sécurités, les jetons sont dotés de différentes technologies permettant aux utilisateurs d'accéder à plusieurs systèmes avec un seul et unique jeton[34]. Le premier type de jeton, appelé "multiple", permet à plusieurs technologies d'être utilisées pour un même composant[34]. Ensuite les jetons "double interfaces" permettent d'offrir deux interfaces disponibles pour un même jeton[34]. Enfin, les jetons hybrides possèdent deux circuits intégrés avec leur propre interface[34].

Historique[modifier | modifier le code]

La première génération de carte à puce MULTOS a été créée vers 1996 par NatWest en Angleterre[35]. MAOSCO est un consortium formé en mai 1997 pour conduire l'adoption de MULTOS comme un standard de l'industrie contrôlée. Ce consortium est composé de 12 membres DNP, Europay, Infineon (Siemens), KeyCorp, Motorola, Hitachi, Mastercard et Mondex partageant un siège, le groupe Fujitsu/ICL/Amdahl, G&D, Novus Discover, Amex et Telstra[35]. En 2008, Gemalto a acquis Keycorp’s smart card business, le premier fournisseur de carte MULTOS, ainsi que MULTOS Ltd[36].

Le Marché[modifier | modifier le code]

MULTOS step/one est un système d'exploitation multi-applications de base, basé sur MULTOS, mais destiné aux institutions financières migrant vers EMV qui ne desire pas incorporer des capacités de DDA (Dynamic Data Authentication)[37] dans leurs portefeuilles EMV[38]. C'est la seule alternative "standard ouvert" aux cartes EMV propriétaires. Ce nouveau système d'exploitation exploite la sécurité, la flexibilité et l'interopérabilité du système original MULTOS.

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. a, b, c, d et e Elliott 2001, p. 8
  2. Meadowcroft 2005, p. 12
  3. a, b, c, d et e Elliott 2002, p. 45
  4. a, b, c, d et e Elliott 2002, p. 46
  5. a, b, c et d Elliott 2001, p. 1-2
  6. a, b et c Elliott 2001, p. 8-9
  7. a et b Coglio 2002, p. 75
  8. a, b, c, d, e, f, g, h, i, j et k Elliott 1999, p. 122
  9. a, b, c, d, e, f, g, h, i, j et k Elliott 1999, p. 123
  10. a, b, c et d Dutrieux 1999, p. 226
  11. Elliott 2001, p. 5
  12. a, b, c et d Elliott 2001, p. 10
  13. « What is Mondex »
  14. Sauveron 2009, p. 8
  15. a et b Grimaud 1999, p. 479
  16. « standard Application Programming Interface. »
  17. a, b et c Klaus 1998, p. 328
  18. Sauveron 2009, p. 74
  19. Selimis 2009, p. 148
  20. Trask 1999, p. 328
  21. « composant SwiftCard/MEL tool. »
  22. a, b, c, d et e Elliott 1999, p. 124
  23. a, b et c Elliott 1999, p. 127
  24. a et b Amey 2004, p. 6
  25. a, b, c, d, e, f, g, h, i et j Chapman 2000, p. 65
  26. a, b, c et d Chapman 2000, p. 66
  27. a, b, c et d Amey 2004, p. 7
  28. a, b, c, d, e, f, g, h et i Wilcox 2005, p. 5
  29. a, b et c Akram 2010, p. 213
  30. Akram 2011, p. 211
  31. Akram 2010, p. 214
  32. a et b Hancke 2009, p. 14
  33. Yamamoto 2006, p. 2701
  34. a, b, c, d, e, f, g, h, i, j, k, l et m Hancke 2009, p. 15
  35. a et b Elliott 2001, p. 6
  36. Europay 2001, p. 21
  37. « DDA sur les cartes EMV.»
  38. « EMV est le standard international de sécurité des cartes de paiement. »

Bibliographie[modifier | modifier le code]

Ouvrages de référence[modifier | modifier le code]

Articles publiés[modifier | modifier le code]

  • (en) Paul Meadowcroft, « Hong Kong raises the bar in smart card innovation », Card Technology Today, vol. 17, no 1,‎ , p. 12-13 (DOI 10.1016/j.physletb.2003.10.071)
  • (en) George Selimis, Apostolos Fournaris, George Kostopoulos et Odysseas Koufopavlou, « Software and Hardware Issues in Smart Card Technology », Communications Surveys & Tutorials, IEEE, vol. 11, no 3,‎ , p. 143 - 152 (ISSN 1553-877X, DOI 10.1016/j.physletb.2003.10.071, lire en ligne)
  • (en) Peter Amey, « Dear Sir, Yours faithfully: an Everyday Story of Formality », Practical Elements of Safety,‎ (ISBN 1-85233-800-8, lire en ligne)
  • (en) Gerhard P. Hancke, « Security of proximity identification systems », Computer Networks, no 752,‎ (ISSN 1476-2986, lire en ligne)
  • (en) John Elliott, « The one-card trick. Multi-application smart card E-commerce prototypes », Computing & Control Engineering Journal, vol. 10, no 3,‎ , p. 121-128 (ISSN 0956-3385, DOI 10.1049/ccej:19990305)
  • (en) Vedder Klaus et Weikmann Franz, « Smart Cards - Requirements, Properties, and Applications », Springer-Verlag,‎ , p. 307--331 (ISBN 3-540-65474-7, lire en ligne)
  • (en) Kenneth R. Wilcox, « Multi-Application Smart Cards: Card Operating Systems and Application Security », 21st Annual Computer Science Conference - Rensselaer at Hartford, vol. Session A2: Network Security Applications,‎ , p. 1-8 (lire en ligne)
  • (en) Raja. Akram, « Application-Binding Protocol in the User Centric Smart Card Ownership Model », Information Security and Privacy, vol. 6812/2011,‎ , p. 208-225 (DOI 10.1007/978-3-642-22497-3_14, lire en ligne)
  • (en) Raja. Akram, « Firewall Mechanism in a User Centric Smart Card Ownership Model », Information Security and Privacy, vol. 6035/2010,‎ , p. 118-132 (DOI 10.1007/978-3-642-12510-2_9, lire en ligne)
  • (en) Jr. Keepper et H. Lester, « System and methods for biometric identification on smart devices using multos », United States Patent Application, no 20100135542,‎ , p. 1-7 (lire en ligne)
  • Gilles Grimaud, Jean-Louis Lanet et Jean-Jacques Vandewalle, « FACADE: a typed intermediate language dedicated to smart cards », SIGSOFT Softw. Eng. Notes, vol. 24, no 6,‎ , p. 476--493 (ISSN 0163-5948, DOI 10.1145/318774.319265, lire en ligne)
  • (en) V. Gayoso Martínez, L. Hernández Encinas et C. Sánchez Ávila, « Java card implementation of the elliptic curve integrated encryption scheme using prime and binary finite fields », CISIS'11 Proceedings of the 4th international conference on Computational intelligence in security for information systems,‎ , p. 160-167 (ISBN 978-3-642-21322-9, lire en ligne)
  • (en) Europay International, MAOS Platforms - Technical Status Report, (lire en ligne), p. 19-22

Liens externes[modifier | modifier le code]