Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

MULTOS

Article soupçonné de non-pertinence. Cliquez pour suivre ou participer au débat.
Un article de Wikipédia, l'encyclopédie libre.

Pour un article plus général, voirsystème d'exploitation pour carte à puce.

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Le ton de cet article est trop promotionnel ou publicitaire().

Vous êtes invité à améliorer l'article de manière à adopter unton neutre (aide quant au style) oudiscutez-en. Vous pouvez également préciser les sections non neutres en utilisant{{section promotionnelle}} et souligner les passages problématiques avec{{passage promotionnel}}.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Lapertinence du contenu de cet article est remise en cause().

Considérez le contenu de cet article avec précaution.Discutez-en ouaméliorez-le !

MULTOS
Site webwww.multos.comVoir et modifier les données sur Wikidata
modifier 

MULTOS est unsystème d'exploitation destiné auxcartes à puce, portant le même nom. C'est un système orienté vers la stabilité et la sécurité, implémentant la normeITSEC. Son architecture est similaire aux autressystèmes d'exploitation de carte à puce, mais ajoute un gestionnaire de sécurité pour le chiffrement des données.

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

La sécurité est assurée grâce à plusieurs outils : un gestionnaire de clés est présent dans de nombreux secteurs du système, ainsi qu'un pare-feu et un système de jetons.

Historique

[modifier |modifier le code]

La première génération en a été créée vers 1996 parNatWest au Royaume-Uni[1].

Le consortium MAOSCO est formé en pour conduire son adoption en standard de l'industrie contrôlée. Ce consortium est composé de12 membres DNP, Europay, Infineon (Siemens), KeyCorp, Motorola, Hitachi,MasterCard et Mondex partageant un siège, le groupeFujitsu/ICL/Amdahl, G&D, Novus Discover,Amex etTelstra[1].

En 2008,Gemalto acquiert Keycorp’s smart card business, le premier fournisseur de carte MULTOS, ainsi que MULTOS Ltd[2].

Description technologique

[modifier |modifier le code]

Normes

[modifier |modifier le code]

MULTOS a été développé dans le secteur bancaire comme plateforme pour les cartes à puces[3]. Un travail sur la sécurité a été effectué pendant une année complète en partenariat avec MAOSCO[3], pour atteindre le plus haut degré de certification de la normeITSEC (ITSEC E6)[3],[4].

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

Le processus de certification requiert des ressources financières importantes[6]. De plus, il est difficile de trouver des dispositifs ayant une évaluation supérieure à EAL4[6]. Ainsi selon John Elliott[Qui ?], MULTOS doit atteindre un EAL situé entre lesniveaux 5 et 7 afin de prétendre à une certification de sécurité maximum[6].

Architecture

[modifier |modifier le code]

MULTOS s'exécute sur une architecture similaire aux cartes MASCs[3]. Elle se compose d'unmicroprocesseur sur une puce ensilicium permettant ensuite d'ajouter plusieurs fonctionnalités[7]. 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[7]. Une machine virtuelle permet le chargement et l'exécution des applications[7]. Finalement, un gestionnaire de cartes permet de contrôler la sécurité durant le chargement et la suppression d'applications[7](schéma) :

Architecture MULTOS.

La machine virtuelle a été adaptée pour les cartes à puces MULTOS, afin d'améliorer les performances en matière de vitesse et de stockage[8]. Le gestionnaire de sécurité utilise l'algorithme de cryptographie RSA, ce qui requiert des cartes plus coûteuses en ressources[8]. 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[8].

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[9]. 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[9].

Fonctionnalités

[modifier |modifier le code]

MULTOS permet de toucher une grande part de marché grâce à ses fonctionnalités et ses nombreuses applications disponibles (E-ticketing, GSM, enregistrements de type médical, etc.)[10]. Une application de sécurité disponible, utilisant un pare-feu, permet d'isoler les autres applications[10].

Une infrastructure est alors mise en place, afin de charger et de supprimer les applications de façon flexible et sécurisée[10]. Avec ce système, l'utilisateur peut gérer les applications présentes sur sa carte à puces[10]. De plus, un certificat est requis pour le chargement des applications (ALC)[11]. 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[11]. La suppression des données est faite de manière permanente et libère de l'espace pour de nouvelles applications[10].

De plus, MULTOS met en place des moyens cryptographiques afin de garantir lasécurité des données, notamment dans les transactions bancaires[5]. Le système de chiffrement est basé sur l'utilisation de RSA ainsi que du procédé ECC (Cryptographie sur les courbes elliptiques)[5]. 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é[5].

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[12] a développé unlangage de programmation optimisé pour les cartes à puce, appelé MEL (enanglais :MULTOS Executable Language)[13],[14]. Le code MEL est interprété par la carte en utilisant l'API MULTOS[10],[15]. Comme Java, lenoyau 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[16].

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

  • 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[11], 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[19],[14]. L'outil SwiftC permet d'effectuer rapidement le portage d'une application pour MULTOS ;
  • Java : Un compilateur Java traduit lecode source en des classes Java qui sont ensuite traduites en code MEL ;
  • Visual Basic

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[10]. 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 leRéseau téléphonique commuté (RTC)[10].

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)[11]. La société émettrice peut permettre au propriétaire de la carte d'obtenir ces fichiers sur l'Internet et ils peuvent être chiffrés pour plus de sécurité[11]. L'ALC est le certificat qui détermine sur la carte sur laquelle l'application peut être chargée[11]. 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[11].

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[11]. 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[11]. L'espace réservé sur la carte devient donc libre pour les applications ultérieures à charger[11].

De cette façon, la carte MULTOS peut être utilisée comme une carte modulable[10]. 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[11].

Différentes applications pour MULTOS

[modifier |modifier le code]

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

  • Security : cette application permet, après s’être identifié avec uncode 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[20]. Le premier met en place un ordinateur disposant d'une connexion internet et qui utilise les applications de manière sécurisée[20]. Pour cela, il doit passer par un module cryptographique qui lui permet de chiffrer et déchiffrer ses mails[20]. L'utilisateur a aussi la possibilité de gérer les données de l'application E-friends à partir de cet ordinateur[20]. 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[20].

Le deuxième utilise deuxsmartphones du réseau RTCP et sans connexion internet[21], 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[21]. Les deux scénarios permettent d'effectuer les mêmes fonctions[21].

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 (enanglais :Certification Authority), est un système de sécurité qui a été développé afin de répondre à la norme ITSEC[22],[23],[3]. Il a été développé à l'aide de plusieurs langages[24]. 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[24]. Cependant l'utilisation de ce langage pour tout le système est inconcevable pour Chapman, car des fonctionnalités de typeinterface graphique ne peuvent pas être mises en place[24]. Ainsi, Ada95 a été utilisé pour la gestion de l'infrastructure, leC++ pour l'approche graphique, le C pour les algorithmes de cryptographie, et enfin leSQL pour les bases de données[24].

De plus, le KMA permet d'assurer la sécurité et l'intégrité de l'infrastructure et des applications[23]. En effet, les systèmes basés sur le KMA sont soumis à des contraintes de sécurité les plus strictes[23]. Ainsi, les applications développées avec le KMA doivent répondre à des exigences élevées à plusieurs niveaux[23]. 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[23]. Ensuite la durée de vie est prévue pour s'étendre sur des dizaines d'années[23]. De plus, les différentes parties du système sont classées selon des niveaux de sécurité différents[23]. 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[23]. Les informations à afficher sont alors envoyer vers l'interface graphique de manière sécurisée[23]. Finalement, le KMA permet la génération d'un nombre significatif de certificats[23].

Le KMA a été produit avec l'accord des clients, qui ont ainsi participé à la gestion du comportement du système[22]. Les erreurs sont détectées très tôt[25], propriété qui permet de distinguer les systèmes développés de façon formelle de ceux développés de façon plus ponctuelle[25]. Un système de clés asymétriques, avec une clé propre à chaque carte, est utilisé pour sécuriser les applications[26]. L'enregistrement de la carte auprès du KMA permet d'utiliser ses fonctionnalités[26]. L'activation de la carte permet de la rendre unique et offre la possibilité de la désactiver en cas de problème[26].

Pare-feu

[modifier |modifier le code]

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

Il est utilisé pour protéger les applications au niveau de la machine virtuelle, permettant ainsi de filtrer les actions malveillantes, comme des instructions illégales ou des lectures de données non autorisées[26]. 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[28],[29] (schéma):

  1. l'application cliente crée une commandeAPDU 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.


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[26]. 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é[26]. Cette vérification a lieu lors de l’exécution du code plutôt qu'au chargement de l'application[26]. 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[26].

Système sans contact

[modifier |modifier le code]

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

Il en est existe quatre[32]. D'abord, le niveau minimum permet de récupérer les informations stockées sur le jeton, qui sont lisibles par tous[32]. La mémoire peut être bloquée en cas d'écriture non autorisée[32]. Ensuite, le niveau faible permet aux jetons d'implémenter un mécanisme d'authentification[32]. 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[32]. Le niveau moyen dispose d'un algorithme de chiffrement, qui est mis en place pour l'authentification ainsi que pour les données[32]. 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[32].

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[32]. Le premier type de jeton, appelé « multiple », permet à plusieurs technologies d'être utilisées pour un même composant[32]. Ensuite les jetons « double interfaces » permettent d'offrir deux interfaces disponibles pour un même jeton[32]. Enfin, les jetons hybrides possèdent deux circuits intégrés avec leur propre interface[32].

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 désirent pas incorporer des capacités de DDA (enanglais :Dynamic Data Authentication)[33] dans leurs portefeuilles EMV[34]. C'est une alternative « standard ouvert » aux cartes EMV propriétaires.

Notes et références

[modifier |modifier le code]

Notes

[modifier |modifier le code]

Références

[modifier |modifier le code]
  1. a etbElliott 2001,p. 6.
  2. Europay 2001,p. 21.
  3. abcd eteElliott 2001,p. 8.
  4. Meadowcroft 2005,p. 12.
  5. abcd eteElliott 2002,p. 45.
  6. abcd eteElliott 2002,p. 46.
  7. abc etdElliott 2001,p. 1-2.
  8. ab etcElliott 2001,p. 8-9.
  9. a etbCoglio 2002,p. 75.
  10. abcdefghi etjElliott 1999,p. 122.
  11. abcdefghij etkElliott 1999,p. 123.
  12. « What is Mondex ».
  13. Sauveron 2009,p. 8.
  14. a etbGrimaud 1999,p. 479.
  15. « standard Application Programming Interface. ».
  16. ab etcKlaus 1998,p. 328.
  17. Sauveron 2009,p. 74.
  18. Selimis 2009,p. 148.
  19. Trask 1999,p. 328.
  20. abcd eteElliott 1999,p. 124.
  21. ab etcElliott 1999,p. 127.
  22. a etbAmey 2004,p. 6.
  23. abcdefghi etjChapman 2000,p. 65.
  24. abc etdChapman 2000,p. 66.
  25. a etbAmey 2004,p. 7.
  26. abcdefg ethWilcox 2005,p. 5.
  27. ab etcAkram 2010,p. 213.
  28. Akram 2011,p. 211.
  29. Akram 2010,p. 214.
  30. a etbHancke 2009,p. 14.
  31. Yamamoto 2006,p. 2701.
  32. abcdefghijkl etmHancke 2009,p. 15.
  33. « DDA sur les cartes EMV.».
  34. « 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]

Liens externes

[modifier |modifier le code]
v ·m
Apple
Mac OSClassic
Dérivés de NeXTSTEP
Dérivés deBeOS
DOS
IBM
Microsoft Windows
Fondés sur MS-DOS
Branche NT
ReactOS Foundation
Branche NT (GPL/LGPL/AGPL) non-Microsoft
POSIX /Unix
AT&T /Laboratoires Bell
BSD
GNU Hurd
Linux(liste)
Autres dérivés
Dérivés d'AmigaOS
Dérivés duTOS
D’importance historique
Mobile
Noyau Linux
Autres noyaux
Embarqués
Pour capteur en réseau
Pour carte à puce
Temps réel
Autres systèmes
Pour une liste complète, voir laliste des systèmes d’exploitation et lacatégorie « Système d’exploitation ».
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=MULTOS&oldid=222249500 ».
Catégorie :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp