Les possibilités matérielles des cartes
étant limitées en mémoire et en puissance de calcul, les
systèmes d'exploitation de ces équipements se doivent
d'être les plus légers possibles afin d'être
embarqués dans la mémoire des cartes.
Les systèmes d'exploitation pour carte à puce
appelés COS, assurent fondamentalement les mêmes fonctions que les
autres systèmes d'exploitation, mais dans un contexte matériel
où les limitations matérielles et les problématiques de
sécurité sont exacerbées.
Ainsi à l'instar des autres systèmes
d'exploitation, ceux des cartes à puces gèrent le matériel
qui leur est assigné. Comme nous l'avons dit à la section
précédente, une carte à puce comporte une mémoire
de travail volatile (sous forme de SDRAM), une mémoire non
réinscriptible (ROM) qui contient le code du système
d'exploitation et éventuellement celui d'application
pré-déployé ainsi qu'une mémoire morte
réinscriptible (EPROM) permettant de stocker des données qui
resteront disponibles lorsque la carte sera redémarrée.
Le système d'exploitation gère aussi le
microprocesseur, parfois assorti d'un processeur dédié à
la cryptographie et aux protocoles de communication.
T.F.E 2015 | Benito Lubuma L2 Génie info
34
Les COS actuels ne sont plus mono-applicatifs car ils peuvent
gérer plusieurs applications sur une même carte à puce.
Comme pour n'importe quel autre système d'exploitation par exemple le
DOS, les fonctions et les instructions d'un COS ne sont pas dépendantes
d'une application en particulier, mais, elles se veulent être
génériques pour un ensemble de besoins communs à toute
application désirant fonctionner dans un environnement de carte à
puce.
Le système d'exploitation est ainsi localisé
essentiellement au niveau de la mémoire ROM sous une forme non
altérable et pour éventuellement certaines de ses fonctions
modifiables dans l'EEPROM.
Il offre les fonctions pour contrôler les
différents éléments de la carte et la communication avec
le lecteur. Comme le COS est stocké dans la ROM de la carte à
puce, on peut trouver un synonyme au terme COS avec le terme de mask. Pour
être plus précis il y a deux types de mask : hard mask et soft
mask.
Le hard mask indique que le COS est stocké dans une
mémoire ROM. Il devient alors non modifiable après l'avoir
écrit dans ce type de mémoire.
Le soft mask indique au contraire qu'une partie ou la
totalité du C.O.S est stockée dans une mémoire EEPROM. Il
devient alors possible de modifier une partie ou la totalité du
système après sa première écriture dans
l'EEPROM.
Un autre aspect important est l'usage souvent fait de ce type
de carte, comme l'acte du paiement ou d'identification d'une personne. Il est
donc essentiel que ces systèmes d'exploitation embarquent des
fonctionnalités de cryptographie et de d'authentification forte.
Etant donné que la majorité des applications
des cartes à puce sont utilisées pour authentifier de
manière forte des individus, COS pour carte à puce
implémente généralement une API de cryptographie.
L'utilisation des algorithmes de cryptographie (PKCS) avec la
manipulation de grands nombres comme les algorithmes à clefs
symétriques (RSA ou DSA) sont une source de consommation de puissance de
calcul.
C'est pourquoi on trouve de plus en plus adjoint au
microprocesseur traditionnel de la carte à puce, un Secure crypto
processor qui accélère les calculs sur les grands nombres.
Ainsi ces systèmes d'exploitation sont responsable de
:
· La gestion de la mémoire (RAM, ROM, EEPROM)
· La gestion de fichiers
· Le contrôler d'exécution de code
· Chargement, lancement et la gestion des applications
· La transmission de données
· L'exécution et la gestion des algorithmes de
cryptographie.
Vu l'évolution technologique, les architectures des
COS ont aussi évolué et actuellement, elles se classifient en
trois modèles : les systèmes fermés qui sont
généralement
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
35
propriétaires et étroitement liés au
matériels et sont réalisés pour supporter une application,
ou un ensemble d'application prédéfinit. Les systèmes
post-issuance qui reposes sur la mise en oeuvre d'une machine virtuelle
applicative tel que Java Card Virtual Machine et MultOS où
l'environnement d'exécution est sécurisé et
authentifié. Le système d'exploitation CAMILE qui a
envisagé l'utilisation récente de l'hyperviseur