Carte à puce
 
 
 
 
Javacard
 
 
 

normalisation

La carte à puce est définie par la norma ISO 7816 (www.iso.org).

Elle possède le format d'une carte de crédit à savoir 85*54*0,76 mm (L*H*P). Par aileurs, elle doit être capable de supporter certaines contraintes physiques. Une de ces toutes première contrainte est qu'un possesseur de carte doit pouvoir gratter le pare-brise givré de sa voiture sans que le circuit en silicium encarté ne soit endommagé.

La puce

La puce est la seule interface de communication avec l'extérieur. Comme toute interface elle permet de cacher une implémentation se qui permet, dans un premier temps, de sauvegarder l'intégrité physique du contenu de la carte. Ele doit être mise en contact avec un lecteur de carte pour pouvoir fonctionner. Ce lecteur de carte est par ailleurs appelé CAD pour Card Acceptance Device.

La surface de la puce est plutôt réduite puisqu'elle inférieure à 25 mm² et posséde une épaisseur de moins de 0,3 mm. Elle est composée de huit contacts métalliques :

Les deux contacts RFU sont réservés pour des utilisations futures.

Format de commandes

Pour réaliser la communication entre le lecteur de carte et la carte à puce, nous utilisons le protocole APDU (Application Protocol Data Unit). Il s'agit d'un protocole de communication asynchrone half-duplex. En effet, la communication ne peut pas être full-duplex car la puce ne possède qu'un seul contact pour réaliser des entrées/sorties. Ce protocole est défini par la norme ISO 7816-3 (www.iso.org).

Il existe des messages de commande du lecteur vers la carte et des messages de réponse de la carte au lecteur.

cla : commande
ins : code de l'instruction à réaliser
p1, p2 : paramètres de la commande
lc : longueur des données (en octets)
data : données

le : nombre maximum d'octets attendus pour la réponse
Sw1, Sw2 : mots d'états standardisés (résultats de la commande) (ex : OK = 0x9000)

Le microcontroleur et les mémoires

Le microcontroleur est constitué d'un substrat de silicium de 0,35 à 0,7 microns contenant un micoprocesseur, un coprocesseur cryptographique, un bus et divers types de mémoires. D'un point sécuritaire, ce composant est totalement inaccessible étant donné qu'il a été noyé dans le plastique de la carte lors de sa création.

Les microprocesseurs utilisés gèrent des mots de 8, 16 ou 32 bits. Les plus connus d'entre eux sont fabriqués par SGS-Thomson, Hitashi, Motorola...

Il existe trois différents types de mémoires :

  • ROM (Read Only Memory) :
    jusqu'à 64 Ko (mémoire non volatile en lecture seule contenant l'application initiale)

  • RAM (Random Access Memory) :
    jusqu'à 2 Ko (mémoire volatile)

  • Flash EEPROM (Electrical Erasable Programmable ROM) :
    jusqu'à 32 Ko (mémoire non volatile réinscriptible)

 

< système informatique