You are on page 1of 15

CARTES A PUCE

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 1

Table des matires


I- Aperu de la carte puce. ....................................................................................................... 3
Historique ............................................................................................................................... 3
Les marchs. ........................................................................................................................... 4
La technologie des cartes puce ............................................................................................ 5
Les cartes mmoire. ......................................................................................................... 5
Les cartes microprocesseurs. ........................................................................................... 6
Couches de communications ISO 7816. ................................................................................ 7
Intgration des cartes puce aux technologies de linformation. .......................................... 8
Systme dexploitation dune carte puce. ............................................................................ 9
Cycle de vie dune carte puce. ........................................................................................... 10
Systmes ferms et systmes ouverts. .................................................................................. 11
Quelques exemples de systmes ferms. .............................................................................. 11
La carte bancaire BO ...................................................................................................... 11
Les cartes TB. ................................................................................................................... 11
Quelques attaques contre les cartes puces. ........................................................................ 12
Attaques matrielles (intrusives). ..................................................................................... 12
Attaques logiques (non intrusives). .................................................................................. 12
Dfauts de conception. ..................................................................................................... 12

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 2

I- Aperu de la carte puce.


Historique
Cest en 1950 que la compagnie amricaine DinersClub lance la
premire carte de voyage et de loisirs. Elle se prsente sous la
forme dun petit carnet (en carton) qui contient une liste
dadresses (des htels restaurants qui acceptent cette carte) et dont
la page de garde comporte la signature du titulaire et diverses
informations.
Lanne 1958 voit la naissance des cartes American Express (sur support plastique), mises
par les hritiers de la clbre compagnie de diligences Wells & Fargo.
En France le groupe carte Bleue apparat en 1967 afin doffrir un moyen de paiement
concurrent des cartes amricaines. Lobjectif est de rduire le nombre de chques en
circulation qui reprsente dj 40 % des oprations de paiement et atteindra 90% en 1980.
Les premier distributeurs automatiques de billets (DAB) voient le jour en 1971 et utilisent des
cartes bleues munies de pistes magntiques (une piste magntiques est constitue de deux
zones de lectures dune capacit de 200 octets).
En 1974 Roland Moreno dpose un premier brevet sur un objet portable mmoire. Il dcrit
un ensemble (lanctre des cartes mmoires) constitu dune mmoire lectronique
(E2PROM) coll sur un support (une bague par exemple) et un lecteur ralisant lalimentation
(par couplage lectromagntique) et lchange de donns (par liaison optique). Il ralise la
dmonstration de son systme plusieurs banques. Il fonde la compagnie Innovatron.
Grce au ministre de lindustrie il est mis en relation avec la compagnie Honeywell Bull qui
travaille sur une technologie (TAB Transfert Automatique sur Bande) ralisant le montage de
circuits intgrs (puces) sur un ruban de 35 mm, des fins de test.
En 1977 Michel Ugon (Bull) dpose un premier brevet qui dcrit un systme deux puces un
microprocesseur et une mmoire programmable. La compagnie BULL CP8 (Cartes des
Annes 80) est cre. La premire carte deux composants est assemble en 1979. Le
Microprocesseur Auto-programmable Monolithique (MAM, en anglais Self Programmable
One chip Microprocessor SPOM)) voit le jour en 1981, cest en fait le composant qui va
quiper toutes les cartes puces.
Marc Lassus (futur fondateur de Gemplus) supervise la ralisation des premires puces
(microprocesseur et mmoire puis du MAM) encartes par CP8 (un nouveau process de
fabrication est mis au point pour obtenir des paisseurs infrieures un mm).
Le Gie carte mmoire est cre en 1980 et comprend des industriels (CP8, Schlumberger,
Philips), le secrtariat dEtat des P&T, et plusieurs banques.
En 1982 plusieurs prototypes de publiphones utilisant des cartes mmoires (les tlcartes)
sont commands par la DGT (Dlgation Gnrale des Tlcommunications) plusieurs
industriels. Les tlcartes vont constituer par la suite un march trs important pour les cartes
puces.
En 1984 la technologie CP8 (MAM) est retenue par les banques franaises, le systme
dexploitation B0 va devenir le standard des cartes bancaires franaises. Le groupement des
cartes bancaires (CB) met une premire commande de 12,4 millions de cartes.
Les standards de base des cartes puces (ISO 7816) sont introduits partir de 1988.
A partir de 1987, la norme des rseaux mobiles de 2gnration (GSM) introduit la notion de
module de scurit (une carte puce SIM Subscriber Identity Module). En raison du succs
de la tlphonie mobile, les tlcommunications deviennent le premier march de la carte
puce.
Pascal Urien - Cours cartes puce 2010 - 24/06/10
Page 3

A partir des annes 96, lapparition des cartes java marque lentre des systmes cartes puce
dans le monde des systmes ouverts. Il devient en effet possible de dvelopper des
applications dans un langage largement diffus.
Depuis 2005, certains composants intgrent des machines virtuelles .NET, ils sont
usuellement dnomms dotnet card.
Les marchs.

Identity
La plus importante entreprise de cartes puce GEMALTO, dtient 80% de part de march (?)
et emploie environ 10,000 personnes. En 2009 son chiffre daffaire tait de 1,650 millions
deuros, dont 900 M pour la tlphonie mobile et 450M pour le bancaire.
Les tableaux suivants illustrent quelques aspects du march de la carte puce.

March de la carte puce, chiffres 2009, source eurosmart.com

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 4

Year Telecom Banking Government Total


%
healthcare
Banking

%
SIM

1999 200

108

398

27,1

50,3

2000 370

120

551

21,8

67,2

2001 390

140

599

23,4

65,1

2002 430

175

791

22,1

54,4

2003 670

205

979

20,9

68,4

2004 1050

280

1469 19,1

71,5

2005 1220

330

1727 19,1

70,7

2006 2150

480

140

2895 16,6

74,2

2007 2650

510

105

3445 14,8

76,9

2008 3200

650

140

4185 15,5

76,4

2009 3400

750

160

4520 16,6

75,2

Evolution du march de la carte puce depuis 1999


En 2002 Marc Lassus estimait que la puissance installe (en MegaDhrystone) du parc
informatique tait de 4K pour les mainframes, 20K pour les ordinateurs personnels et 34K
pour les cartes puce microprocesseur.
Les principales caractristiques dune carte puce sont les suivantes,
Cest un objet portable, qui loge des donnes et des procdures.
Cest un objet scuris
Il est difficile de lire les donnes stockes dans les mmoires de la puce.
Le code est excut dans un espace de confiance, il nest pas possible dobtenir les
cls associes des algorithmes cryptographiques.
Cest un objet de faible prix (1-5$ pour les SPOM, 0,1-0,5$ pour les cartes magntiques),
mais personnalisable pour des centaines de millions dexemplaires.
Une puce ne peut fonctionner seule, elle ncessite un CAD (Card Acceptance Device) qui
lui dlivre de lnergie, une horloge (base de temps), et un lien de communication. Un
CAD usuel est un lecteur de cartes.
La technologie des cartes puce
Les cartes mmoire.
Elles comportent un bloc de scurit (optionnel)
qui contrle les accs des mmoires de type
ROM ou E2PROM. Les tlcartes de 1ire
gnration (ou TG1) ntaient pas scurises; les
Pascal Urien - Cours cartes puce 2010 - 24/06/10
Page 5

tlcartes de 2ime gnration (ou TG2) comportent un bloc de scurit.

Les cartes microprocesseurs.


Event Register

Scalable
Clock

UART

Voltage/Filter
Voltage
Clock
Reset
Temperature

Voltage
Regulator

RAM
16 KB

EEPROM
400 KB
Code/Data

Hidden
ROM
80KB
32 bits CPU
With
Memory
Management
And Protection
Unit

32 bits bus

16-bit
Timers

Crypto
Accelerator
RSA 1408 bit

DES
Accelerator

Random
Number
Generator

Le microcontrleur 88CFX4000P
Un microcontrleur se prsente typiquement sous la forme dun rectangle de silicium dont la
surface est infrieure 25 mm2. Dune part cette taille est impose par les contraintes de
flexion induite par le support en PVC, et dautre part cette dimension limite ralise un
compromis entre scurit physique et complexit du composant.
Les capacits mmoires sont comprises entre 128 et 256 Ko pour la
ROM (surface relative 1), 64 et 128 ko pour lE2PROM (surface
relative 4), 4 et 8 Ko pour la RAM (surface relative 16). En raison
de ces contraintes technologiques la taille de RAM est modeste;
lE2PROM occupe une portion importante du CHIP. Les critures
en E2PROM sont relativement lentes (de lordre de 1 ms par mot
mmoire de 32 64 octets), et le nombre de ces oprations est
limit (de 104 106). Lintroduction des mmoires FeRAM devrait amoindrir ces contraintes
(109 oprations dcriture, capacits mmoire de lordre du Mo, temps dcriture infrieur
200ns).

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 6

Terminal
VCC

5 mm

IO

GND

Serial Link, 9,600 to


230,400 bauds

VPP

RST

PVC CARD
E2PROM
CPU
CLK

RAM

I/O

Crypto
Processor

Security
Blocks

CPU

BUS

ROM
ROM
96KB

RAM
4KB

EEPROM
128KB

Les classiques processeurs 8 bits ont des puissances de traitements comprises entre 1 et 3
MIPS, ce paramtre est suprieur 33 MIPS pour les nouvelles architectures bases de
processeurs RISC 32 bits.
En termes de puissance de calcul cryptographique, les systmes 32 bits ralisent un
algorithme DES un Mbit/s et un calcul RSA 1024 bits (cl priv) en moins de 300mS.
A lhorizon 2004 lintroduction des technologies de type mmoires FLASH devrait conduire
des capacits de lordre de 1 Mo. Les puissances de calculs estimes sont de lordre de 100
200 mips.
Couches de communications ISO 7816.
Requte.
CLA INS P1 P2 Lc [Lc octets]
CLA INS P1 P2 Le
CLA INS P1 P2 Lc [Lc octets]
CLA C0 00 00 Le

Rponse.
sw1 sw2
[Le octets] sw1 sw2
61 Le
[Le octets] sw1 sw2

Commandes (APDUs) dfinis par la norme ISO 7816.


La norme ISO 7816 dcrit linterface de communication entre la puce et son terminal associ.
Ce dernier fournit lalimentation en nergie et une horloge dont la frquence est typiquement
3.5 Mhz. Lchange de donnes entre puce et terminal est assur par une liaison srie dont le
dbit est compris entre 9600 et 230,400 bauds. La norme 7812-12 dfinir cependant une
interface USB 12 Mbit/s. Le terminal produit une requte (APDU) qui comporte
conformment au protocole de transport T=0 au moins 5 octets (CLA INS P1 P2 P3) et des
octets optionnels (dont la longueur Lc est prcise par la valeur de loctet P3). La carte dlivre
un message de rponse qui comprend des octets dinformation (dont la longueur Le est
spcifie par loctet P3) et un mot de status (sw1 sw2, 9000 notifiant le succs dune
opration) large de deux octets. Lorsque la longueur de la rponse nest pas connue priori un
mot de status 61 Le indique la longueur du message de rponse. Une fois ce paramtre
connu le terminal obtient linformation au moyen de la commande GET RESPONSE (CLA C0
00 00 Le).
Pascal Urien - Cours cartes puce 2010 - 24/06/10
Page 7

Les oprations de lecture et dcriture, linvocation des fonctions cryptographiques sont


associes des APDUs spcifiques. Linformation stocke dans la puce scurise est
organise selon un systme de fichiers qui comporte un rpertoire racine (MF Master File),
des sous rpertoires (DF Dedicated File) et des fichiers (EF Elementary File). Chaque
composant est identifi par un nombre de deux octets; la navigation travers ce systme
seffectue laide dAPDUs particulires (SELECT FILE, READ BINARY, WRITE
BINARY). La scurit est assure par des protocoles de simple ou mutuelle authentification
(transports par des APDUs), qui en cas de succs autorisent laccs aux fichiers.
La mise en uvre dune carte utilise donc un paradigme dappel de procdure, transport par
des APDUs (gnralement dfinies pour un systme dexploitation spcifique); linformation
embarque est connue priori et classe par un systme de fichier 7816.
Intgration des cartes puce aux technologies de linformation.
Lintgration des puces scurises aux technologies de linformation implique ladaptation
des logiciels applicatifs de telle sorte quils gnrent les APDUs ncessaires lutilisation des
ressources embarques. Schmatiquement le middleware classique consiste dfinir les
lments protocolaires (PE) requis par un service (Application Process) et excuts dans la
puce; chaque lment est associ une suite dAPDUs (Application Protocol) variable selon
le type de carte utilise. Lapplication localise sur le terminal utilise la puce aux moyens
dAPIs (Application Programmatic Interface) plus ou moins normalises (par exemple PC/SC
pour les environnements win32), qui offre une interface de niveau APDUs ou plus lev (PE).
Service

PC/SC

Application
Process
Protocol
Element

Application
Protocol
API

APDUs
Couche dadaptation

Middleware classique dune carte puce.

Crypto Service Provider Microsoft

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 8

Puce
Scurise

Systme dexploitation dune carte puce.


Schmatiquement un systme dexploitation dune carte puce comporte les lments
suivants,
Un bloc de gestion des ordres (APDUs) transports par la liaison srie.
Une bibliothque de fonctions cryptographiques, dont le code est ralis de telle manire
qu'il soit rsistant aux attaques logiques connues (Timing attack, DPA, SPA, ).
Un module de gestion de la RAM
2
Un module de gestion de la mmoire non volatile (E PROM), qui stocke les cls des
algorithmes cryptographiques et les secrets partags).
Un module de gestion de la RAM, qui est une ressource critique en raison de sa faible
quantit et de son partage entre procdures et applications.
Un bloc de gestion dun systme de fichiers localis dans la mmoire non volatile.
Un module de gestion des vnements indiquant une attaque probable de la puce scurise
comme par exemple,
Une variation anormale de la tension dalimentation (glitch)

Une variation anormale de lhorloge externe de la puce scurise.


Une variation anormale de temprature.
La dtection dune perte dintgrit physique du systme. La surface dune puce est
gnralement recouverte par un treillis mtallique qui ralise une sorte de couvercle
dont le systme teste la prsence.
Le systme dexploitation est contenu dans la ROM dont le contenu nest pas chiffr. La
connaissance de son code, bien que difficile ne doit pas rendre possible des attaques autorisant
la lecture de la mmoire non volatile.

Un exemple de systme dexploitation

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 9

Cycle de vie dune carte puce.

Cycle de vie dune carte puce


Un systme dexploitation est ralis par une entreprise spcialise. Ce logiciel tant ajust
pour un composant lectronique particulier, il est appel masque.
Le masque est stock dans la ROM du composant lors du processus de fabrication. Au terme
de cette phase le fondeur de silicium insre dans la puce une cl dite cl de fabrication et crit
dans la mmoire de cette dernire des informations telles que numro de srie du produit, date
de fabrication etc.
Le wafer (plaque de silicium circulaire
qui comporte un ensemble de puces)
est alors envoy lencarteur qui
ralise sa dcoupe, colle les puces sur
des micromodules et en ralise le
micro cblage. Lensemble est alors
protg par une substance isolante. Il
est ensuite coll sur un support en
plastique (PVC) dans lequel on a
pralablement usin une cavit (le
bouton).

Lencarteur, qui connat les cls de fabrication, inscrit de nouvelles informations dans la puce
et active un verrou de fabrication qui annule la cl de fabrication. Une nouvelle cl est inscrite
dans la puce permettant de contrler les oprations ultrieures. Cette opration est encore
dnomme personnalisation.
Les cartes sont par la suite transfres vers lmetteur de la carte qui peut inscrire de
nouvelles informations.
La vie de vie dune carte consiste poser verrou dinvalidation (IV) qui rend non
fonctionnel le systme dexploitation.
Pascal Urien - Cours cartes puce 2010 - 24/06/10
Page 10

Systmes ferms et systmes ouverts.


On peut distinguer deux types de systmes dexploitation de cartes puce :
Les systmes ferms, gnralement mono application, ddis un usage unique par
exemple cartes bancaires (masque CP8 M4 B0), les cartes sant (VITALE), les cartes
pour la tlphonie mobile (modules SIM).
Les systmes ouverts, tels que les javacard par exemple, qui ne sont pas destins une
application particulire, et pour lesquels il est possible de charger des logiciels (applets)
aprs la ralisation du masque et lencartage.
Quelques exemples de systmes ferms.
La carte bancaire BO
Les cartes bancaires B0 sont drives du masque CP8 M4, conu date du milieu des annes
80. La mmoire E2PROM est associe des adresses comprises entre 0200h et 09F3 (les
adresses rfrencent des octets ) soit environ 2 kilo octets. Elle se divise en sept zones,
La zone secrte qui stocke les cls metteurs primaires & secondaires, un jeu de cls
secrtes, les codes PIN (Personal Identity Number) du porteur.
La zone daccs qui mmorise le nombre de prsentations errones de cls.
La zone confidentielle, dont le contenu est dfini en phase de personnalisation.
La zone de transaction, qui mmorise les oprations les plus rcentes.
La zone de lecture, qui loge des donnes en accs libre.
La zone de fabrication, qui ralise la description de la carte et comporte des informations
sur sa fabrication.
La zone des verrous, qui mmorise ltat de la carte (en fabrication, en service, annule).
Les cls associes aux oprations de lecture ou dcriture sont dtermines par le systme
dexploitation.
Les cartes TB.
Cette carte dite dusage gnral (General Purpose) tait commercialise dans le courant des
annes 90 par la socit CP8. Elle intgrait des algorithmes cryptographiques DES, RSA ainsi
que des mcanismes dauthentification par PIN code et blocage aprs trois prsentations
errones. Son principe de fonctionnement est bas sur le contrle des accs de fichiers
lmentaires (lecture / criture) laide doprations de prsentation de cls. Il existe deux
types de procdures dauthentification,
Authentification par PIN code, avec blocage du rpertoire (aprs trois checs).
Authentification par cl cryptographique. Un premier ordre demande au systme
dexploitation de produire un nombre alatoire. Un deuxime ordre prsente au systme la
valeur chiffre de la valeur prcdemment fournie.
Chaque rpertoire ddi (DF) comporte trois types de fichiers
Des fichiers secrets, qui abritent les cls.
Des fichiers de contrle daccs, qui mmorisent le nombre dchecs des oprations
dauthentification.
Des fichiers dont les accs sont plus ou moins conditionns la prsentation de cls.
Il existe divers types de cls, associs plusieurs algorithmes cryptographiques.
Cl de fabrication.
Cl de personnalisation.
Cl dmetteur.
PIN codes
Cl dauthentification.
Pascal Urien - Cours cartes puce 2010 - 24/06/10
Page 11

Un rpertoire est un bloc mmoire de taille fixe qui possde un en tte des fichiers et des
sous rpertoires.
Les oprations de cration de fichiers et de sous rpertoires peuvent impliquer la
prsentation de cls.
Les cls dauthentification sont dfinies lors de la cration des fichiers ou sous
rpertoires.

Quelques attaques contre les cartes puces.


Attaques matrielles (intrusives).
Pose de microsondes la surface du circuit. Lattaquant dsire obtenir les secrets de la
mmoire non volatile, par exemple en lisolant du reste de la puce scuris et en produisant
les signaux lectriques ncessaires sa lecture.
Ractivation du mode test, via un plot de connexion, dans le but de
lire la mmoire. En phase de fabrication une procdure de test,
ralis par le systme dexploitation permet de vrifier le bon
fonctionnement du systme et dliminer les composants
dfectueux. Un fusible dsactive ce mode. Lattaquant essaye de
rtablir cette connexion.
Reverse engineering, reconstruction du layout de la puce, visualisation du code ROM.
Injection de fautes; grce des interactions physiques (injection de lumire, etc.) on perturbe
le fonctionnement normal du microcontrleur, afin de produire des erreurs de calculs
permettant de dduire la cl dun algorithme cryptographique.
Attaques logiques (non intrusives).
Attaques temporelles (moyenne, cart type). Certaines ralisations logicielles dalgorithmes
peuvent prsenter des temps de calculs diffrents en fonction des valeurs calcules et de la cl
utilise.
Attaques par corrlation statistique, telles que Simple Power Attack (SPA) ou Differential
Power Analysis (DPA). Un processeur ralise un algorithme laide dune suite dinstructions
ncessairement diffrentes en fonction de la cl.
Ainsi un algorithme utilisant une cl parmi n=2p possible, utilise p instructions diffrentes
pour une cl particulire. Il produit donc des signaux lectriques (par exemple puissance
consomme) ou radiolectriques qui sont corrls la cl oprationnelle.
Dfauts de conception.
Coupure dalimentation intempestive, parasite dhorloge, remise zro abusive, attaque par
clairement. Lattaquant cherche crer un dfaut dans le droulement du programme. Il
espre par exemple excuter le code permettant de lire le contenu de la mmoire non volatile
E2PROM ou FLASH.

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 12

n
tj =

tjk
k=1
i

f(t)

tjk

yjk
k,

yjk+1

Tik

Kik

k+1

n
T = Tik
k=1

k=1

t
T1

T2
1'

'=

i=1

y'

'

i=2

'+

k=2

T2

T'1

Attaque par cart type.

Sjk(t)

k stages
yj samples

yjk

Sjk(t), physical signal

yjk+1

k+1

Estimateur

Kik

gik (yjk,Ki), Key=ik

n
Sjk(t)

Sj(t) =
k=1

gik (yjk,Ki) = 0

i
j

Sj(t) gik (yjk,Ki) = 0

i#ik

k,ik

Sj(t) g k # 0
ik

Attaque par corrlation.

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 13

Etapes de fabrication dune carte puce

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 14

Organisation de la mmoire dune carte bancaire B0

Pascal Urien - Cours cartes puce 2010 - 24/06/10


Page 15

You might also like