(Operating System ou système d'exploitation)

Dans le domaine de la carte à puce, l'OS est un programme inscrit dans la ROM du composant, aussi appelé masque. Cet OS est chargé du dialogue avec le lecteur de carte et de la gestion des ressources. Son API est constituée des commandes carte (APDUs pour Application Protocol Data Unit).

L'OS des cartes à puce a connu trois stades d'évolution :

  • Les cartes mono-application :

    Les premiers OS pour carte à puce intégraient l'OS et l'application. Ce code était figé en ROM et ne pouvait évoluer.
    Il était également impossible de rencontrer des cartes fournissant plusieurs services.
    Le code applicatif est figé dans le masque, l'évolution d'une application implique une refonte du masque.
    Il s'agit de la plupart des cartes : carte vitale, cartes bancaires, etc...

  • Les cartes multi-applicative statiques :

    L'évolution vient du fait que la carte embarque un OS qui a la possibilité de gérer plusieurs applications. Cependant les applications sont statiques, c'est-à-dire que c'est lors de la fabrication de la carte que l'ensemble (OS+applications) est chargé. De plus l'OS est spécifique à la carte, il faut donc changer d'OS quand on change les spécifications de la carte à puce.
    Nous avons un exemple de ce genre de carte avec la carte bancaire Monéo, cette carte intègre 2 applications : la B4B0 (application CB) et l'application Monéo.

  • Les cartes multi-applicatives dynamiques :

    C'est la dernière évolution des cartes à puces. Elles embarquent un OS intégrant une machine virtuelle, ceci leur permet d'être indépendant du hardware de la carte. La gestion des applications se fait de manière dynamique, c'est-à-dire que les applications peuvent être ajoutées ou supprimées à volonté.
    Pour des raison évidentes de sécurité
    les applications sont indépendantes et sécurisées, elles ne peuvent dialoguer entre-elles (sauf exceptions que nous verrons dans la description de l'API javaCard).
    Certaines cartes peu répandues pour le moment utilisent javacard, on peut citer par exemple certianes carte utilisées par les employés des banques pour accéder à leur poste de travail.

Nous présenterons l'architecture de deux de ces OS qui sont les seuls vrai challengers pour le futur de la carte à puce: JavaCard de Sun et Multos du Consortium MAOSCO (Mondex, MasterCard, Europay…).