Sie sind auf Seite 1von 124

Introduction la carte puce

Jean-Pierre Tual 21/06/05

6/21/2005

Plan
Un peu dHistoire Panorama du march et grandes classes dapplications Technologies de base Architecture des cartes puce Les standards fondamentaux Les normes ISO 7816 La technologie JavaCard La scurit des cartes puce Exemples fondamentaux
Carte GSM/SIM Systmes de paiement EMV

Futures tendances de la carte puce


2 6/21/2005

Cartes puce: les pionniers


Brevets historiques
Guillou/Ugon

Memoire
Giraud/Mollier
03. 31. 77

Microprocesseur
Ugon
08. 26. 77

11. 30. 82

Guillou
02. 06. 79

Dethloff
09. 06. 76

Moreno
03. 25. 74

Halpern
08. 09. 72

Perron
05.72

Castrucci
05. 04.71

Ellingboe Arimura
03.03.70 10. 19. 70

Electronique

Cryptographie Informatique

6/21/2005

La base des cartes puce: le SPOM


COMMANDE D'CRITURE Commande dcriture A1
memoire mmoire Non-volatile programmable programmable

RAM
D1

non-volatile

EPROM
A2 D2 COMMANDE DE VERROUILLAGE Commande des latches

ROM CPU

CPU, RAM, ROM

I/O

Octobre 1981: Premier SPOM industriel RAM: 36B, ROM: 1,6 KB, EPROM: 1 KB NMOS 3,5 - 42 KTransistors

6/21/2005

Premires exprimentations
1979 1980-1981 1981-1982 1983 1984 1984 1988 1988 1988 1989 1989 1989
5 6/21/2005

Premire carte microprocesseur (Bull) Premire carte pour la PayTV (Bull/Philips) Premires exprimentations de paiement
125 000 cartes bancaires (Bull/Philips/Schlumberger)

Premire Tlcarte (Schlumberger) Premire Telekarte (G&D) Premire exprience bancaire (Bull) Premire carte multi-application (Bull) Premire carte d universit (Bull) Premire exprimentations bancaires Premire carte club fidlit Premire exprimentation bancaires Premire carte GSM (Gemplus)

Quelques ralisations industrielles majeures


1985-2005
GIE-CB GIE- CBBanques Franaises & GIE CB Carte bancaire Franaise 49 M cartes en circulation en 2004 Pour 305 Beuros de transactions
GIE SESAM-Vitale
Carte Nationale de Sant 45 M cartes en circulation en 2004
Porte Monnaie Electronique 100 M de cartes Proton livres dans 18 pays: Suisse, Belgique,Pays-Bas, Sude, Malaisie 80 M Geldkarte en Allemagne, Luxembourg, Islande

1996-2005

1996-2005

Tlphonie MobileGSM/Mobile

1992- 2005

Tlphonie Mobile
Pntration sans prcdent > 5 Md de cartes SIM vendues

6/21/2005

Evolution du march de la carte puce


Kunits 2500

2000

1500

1000

500

Memory Micro 2004 2005 2006 2007 2008

0
* Frost & Sullivan, 2004

6/21/2005

Evolution du march de la carte puce


En volume (Mu)
Year
Bank Telco Pay TV G overnm ent Internet + IT security cards Transport

2005
350 1100 50 85 15 85

2006
400 1250 55 140 20 120

2007
480 1400 80 230 40 150

2008
600 1600 100 280 80 180

2010
810 1700 150 450 140 250

2012
980 1800 180 800 160 300

CA R05/12 G
16% 7% 21% 41% 46% 21% 14%

Total

1 685

1 985

2 380

2 840

3 500

4 220

En valeur (Me)
Year
Bank Telco Pay TV G overnm ent Internet + IT security cards Transport

2005
850 2300 165 194 65 125

2006
1000 2400 180 320 80 155

2007
1050 2300 240 535 80 155

2008
1270 2450 280 580 160 175

2010
1550 2600 375 885 270 230

2012
1600 2700 430 1420 290 245

CA R05/12 G
10% 2% 15% 36% 28% 11% 9%

Total Value

3 699

4 135

4 360

4 915

5 910

6 685

6/21/2005

March et comptition en 2003


600.0 500.0 400.0 300.0 200.0 100.0 0.0 278 159 127 261 147 420 220 338 150 187 61 78 221 296 517
Microcontroler Memory Total IC card

498

pl us

d In ca r

Ax al to

G &D

O rg

O C

G em

O th

er s

2058 Mu

TAM en Mu Microproc. 1130 Memoire 928 Total Cartes 2058

6/21/2005

Types de cartes (1/2)


Carte mmoire
Mmoire simple (sans processeur) accessible en lecture sans protection, mais lcriture peut tre rendue impossible Programmation impossible Carte porte-jetons pour applications de prpaiement (carte tlphonique)

Carte logique cble


Mmoire accessible via des circuits prprogramms et figs pour une application particulire Carte scuritaire pouvant effectuer des calculs figs (accs un local )
10 6/21/2005

Types de cartes (2/2)

Carte puce ou SmartCard


Microcontrleur encart (processeur + mmoires) Carte programmable pouvant effectuer tout type de traitements Interface lectrique par contacts ou via signaux RF

11

6/21/2005

Fabrication des cartes puce (1/2)


Wafer Test
Assemblage Micro-electronique

Sciage Puce
Motorola, Atmel Texas Instruments STMicroelectronics Siemens, Hitachi

Module

Protection

Assemblage

12

6/21/2005

Fabrication des cartes puce (2/2)


Impression - Lamination
Sky High Transit Sky High Transit

Dcoupage
Sky High Transit

Sky High Transit

Sky High Transit

Cavit Pr-dtachage
Su G per lu e

Corps de Cartes

1234 Sky High Transit 1234 Sky High Credit

1234 5678 9012 3456


John Doe - Exp 13/999

Insertion Test srie

Personnalisation
13 6/21/2005

Architecture dune carte puce

ROM :

VCC GND RST CLK I/0

EEPROM, Application Memory

ROM, Operating system

Systme dexploitation

10 380 KB
CPU 8, 16, 32 bits

EEPROM : Mmoire applicative +donnes prives 2 256 KB

6805/ 8051 /RISC RAM : Scratch Pad 128 B 16 KB

14

6/21/2005

Exemple de composant haut de gamme


ST22 Flash de STMicroelectronics

768KB Flash

256KB Page-Flash

128 KB ROM

16KB RAM

32b C 16KB RAM

15

6/21/2005

LOS de base ou Masque


Le Masque (Hard Mask) est le systme dexploitation de la carte. Il est gnralement crit en C ou en langage dassemblage. Il est stock en ROM et ne peut donc tre modifi durant la vie de la carte Que fait le masque ? Gre les communications avec le monde extrieur Execute les commandes reues via linterface I/O Supervise lexcution des programmes excutables stocks dans la carte Gre le SGF et assure un accs scuris lensemble des fichiers Assure les fonctions de cryptographie (DES, RSA, SHA, ECC,) Sur les cartes les plus modernes, integre une JVM (Java Virtual Machine) pour excuter des applets La fonction principale de l OS est une boucle qui attend larrive de commandes externes. A larrive dune commande, elle est excute, puis une rponse est mise vers lextrieur et la boucle redmarre.. 16 6/21/2005

Les Softmasks
Un Softt Mask est une extension du masque. Il est crit en gnral en C, compil, et li aux librairies du Masque. Il peut tre charg en EEPROM tant que la carte nest pas bloque. Quand a ton besoin dun Soft Mask ? Quand une nouvelle fonctionnalit doit tre ajoute une carte pour une application spcifique Pour les besoins de bug fixing au niveau du masque (cela arrive!) Quand lexcution dune commande du masque ne satisfait pas les besoins dun client particulier Quand certaines spcifications de clients ne peuvent pas tre implmentes en Java Quand une applet est trop lente => rcriture!

17

6/21/2005

Principales normes applicables (1/2)


Normes de base
Normes ISO/IEC 7816-x (x=1:16) Normes ISO/IEC 14443 (A,B,C) et 15693 pour cartes sans contact

Normes gnriques inter-domaines


PC/SC: APIs dintgration de cartes puce en environnement Windows OCF: Environnement Java et API pour applications smart-cards JavaCard (2:1 et 2:2) pour programmation des smart-cards PKCS #15: Stockage de clefs cryptographiques ISO/IEC 15408: drive des Critres Communs

Normes spcifiques du domaine bancaire


EMV (96 et 2000): spcifications cartes/terminaux multiapplicatifs Visa Open Platform: gestion (scuritaire) de cartes multiapplicatives CEPS: spcification dinteroprabilit pour les porte-monnaie lectroniques EN 1546: Spcifications gnriques de porte-monnaie lectroniques
18 6/21/2005

Principales normes applicables (2/2)


Tlphonie mobile
GSM 11-11: Spcification de linterface SIM-ME (3GPP: TS 51.011) GSM 11-14: Spcification SIM Application Toolkit pour linterface SIM-ME GSM 03.19: API JavaCardTM de programmation pour la carte SIM Phase 2 GSM 03.40: Ralisation de la fonction Short Message Service (SMS); mode Point to Point (PP) GSM 03.48: Mcanismes de scurit pour la carte SIM application toolkit Stage 2 ETSI TS 102 221: Spcifications de la carte UICC et de linterface UICC terminal 3GPP: 31.101 V4.0.0, 31.102 V4.0.0 (Release 99)- cartes 3G (W-CDMA) 3GPP2-C00-1999-1206-1208: Spcification du module RUIM pout systmes large-bande (systmes CDMA 2000)

Signature lectronique
ETSI TS 101 333: formats de signature letronique ETSI TS 101 808: spcification des politiques de gestion des CA CEN/ISSS: directive europenne pour la signature lectronique

19

6/21/2005

Norme ISO 7816-1

0,76 mm

Format carte de crdit


54 mm

Dfinition des contraintes physiques supportables (chaleur, humidit...)


85 mm

20

6/21/2005

Norme ISO 7816-2


La puce
Seule interface de communication avec lextrieur Lecteur de cartes = CAD (Card Acceptance Device) Surface 25 mm paisseur 0,3 mm Compose de 8 contacts mtalliques I/O: Z tat Haut- A tat bas: quitte ltat haut seulement en transmission VCC= 4,75 5,25 V jusqu 200 mA CLK: cap in/out < 30 pF, temps de transition < max( 0,5 s, 9%T) Activation: RST bas, Vcc haut, VPP repos, I/O Z, CLK entre 1 et 5 MHz Dsactivation: RST bas, CLK bas, VPP inactif, I/O tat A, VCC bas

21

6/21/2005

Norme ISO 7816-3


Caractristiques lectriques
Frquence dhorloge 1 - 5 Mhz Vitesse des communications < 115200 bauds:

Protocole de transmission
TPDU (Transmission Protocol Data Unit) T=0 Protocole orient octet T=1 Protocole orient paquet Protocoles de communication asynchrones et half-duplex T=2 Asynchrone, full duplex, orient bloc => en cours de spcification

Slection du type de protocole


PTS (Protocol Type Selection Rponse) au reset :

Rponse au reset :
ATR (Answer To Reset)

22

6/21/2005

Normalisation et protocole de transport


Horloge
Freq: 3,579,545 Hz (valeur par dfaut des lecteurs de cartes) Dbit par dfaut: 9622 bauds Dure dun bit par dfaut: 1 etu= 372 = F/D priodes dHorloge Horloge fournie par le lecteur compris entre 1 et 5 Mhz: F,D ngociables

Format des caractres

Conventions
Directes: A=0: 1er caractre= 3B; b1:b8= A(ZZAZZZAA)Z Inverses: A=1: 1er caractre= 3F; b8:b1= A(ZZAAAAAA)Z
23 6/21/2005

Structure gnrale dune ATR


TS T0
b1.b4 0 1 b5 b6 b7 b8 1

TA1

TB1
2

TC1

TD1

b1.b4

b5 b6 b7 b8

TA2
2

TB2
3

TC2

TD2

b1.b4

b5 b6 b7 b8

TA3
3

TB3
4

TC3

TD3

b1.b4

b5 b6 b7 b8

TA4
4

TB4

TC4

TD4
6/21/2005

T1, T2,,TK 0

TCK

24

ATR: rponse carte la RAZ (1/2)


Doit intervenir entre 400 et 40,000 cycles dhorloge Srie doctets (b8,b7,b6,b5,b4,b3,b2,b1) dont les deux premiers, TS et T0 sont obligatoires
TS: Transmission. 3B pour logique directe (positive), 3F pour une logique inverse (ngative) T0: Prsence doctets dinterface (TAi:TDi; I=1:4) et historiques (T1:T15)
B8=1 prsence TD1 B7=1 prsence TC1 B6=1 prsence TB1 B5=1 prsence TA1 B4 B3 B2 B1, nombre doctets historiques (015)

TA1 Valeur des paramtres dajustement detu F et D TB1 Paramtres de programmation de lEPROM (obsolte). 25=> (Vpp =Vcc) TC1 Nombre de bits stop excdentaires (N). La valeur par dfaut est 00. FF fixe la
valeur de N 0 pour T=0 (2 stop bits) et 1 (1 stop bit) pour T=1.

TD1 Indique le type de protocole de transport mis en uvre


B4 B3 B2 B1, numro du protocole i= 015 B8 B7 B6 B5 indiquent respectivement la prsence doctets TDi+1, TCi+1, TBi+1, TAi+1 fournissant des informations complmentaire sur le protocole i.

25

6/21/2005

ATR: rponse carte la RAZ (2/2)


TA2, indique la possibilit de ngocier les paramtres de transfert (PTS)
B8=1 spcifie labsence de cette option.
Le numro du protocole de ngociation est renseign par les bits B4 B3 B2 B1,

B5=1 notifie lusage de paramtres implicites dans les Tai B5=0 signifie que les paramtres sont explicites

TB2, code la valeur de Vpp en dixime de volts. TC2, valeur dun paramtre WI (0255) permettant de calculer le temps dattente maximum dune rponse de la carte par le lecteur;
WT = WI . 960 . F/f secondes, soit 1 s pour f=3,58 Mz, F=372, WIdfaut=10 (0A). TAi+1, (i>2) indique la longueur max. du champ dinformation reu par la carte (IFSC) Dfaut 32 B- Plage 1=> 254 TBi (i>2), fournit la valeur (0,15) des paramtres CWI et BWI utilis dans leprotocole T=1 pour calculer: Le dlai max entre deux caractres dun mme bloc:
CWT = (2CWI + 11) etu (0,85 s avec CWI=13 )

Le dlai max de rponse de la carte


BWT =( 2BWI *960* 372 / f ) + 11 etu (1,6s BWI=4))

Tci (I>2) dfinit le type de mthode pour la correction


b1= 0 => LRC- b1=1 => CRC TCK = XOR de lensemble des bytes de lATR jusqu TCK exclus
26 6/21/2005

Exemple dATR
Cas du GSM
TS= 3B => Convention directe T0= 89= 1000ll1001 => TD1 suit + 9 caractres historiques TD1= 40= 0010ll0000 => TC2 suit et protocole T=0 TC2= 14= 0001ll1110 => Waiting time 14 (1,4s) T1T9: 47ll47ll32ll34ll4Dll35ll32ll38ll30 => GG24M5520 (donne constructeur)

27

6/21/2005

Protocoles
PPS
Ngociation de la vitesse de transfert conditionne par absence de loctet TA2 (Pas de TA2 => PPS avec F= 372 et D=1) Echange dau plus deux sries de 5 octets

Lecteur => carte: PPSS (FF), PPS0 (~TDi), PPS1 ~(~TA1), PPS2 (00), PPS3 (00), PCK= PPSS+PPS0+PPS1+PPS2 Carte => lecteur: rptition des 5 octets prcdents si acceptation

Protocoles de transport
T=0

Transmission srie des octets (1 start, 8 bits, 1 parit, 2+N bits stop) Erreur de parit: 0 logique sur la ligne de transmission durant 1 ou 2 etu. Orient bloc: (NAD,PCB, LEN), INF (0:254 octets), LRC (1B) ou CRC (2B)
NAD: 3 bit adresse source, 3 bit adresse destination PCB: I(#bloc, more): blocs numrots modulo 2, more=1 => pas dernier bloc R(#bloc, erreur): numrotation modulo 2, n du prochain bloc attendu (erreur = 0) S notification de commandes diverses (RESYNC, IFS, ABORT,WTX)

T=1

28

6/21/2005

Norme ISO 7816-4


Protocole Asynchrone de type commande rponse APDU (Application Programming Data Units)

CLA : 1 octet pour identifier lapplication INS : 1 octet pour le code de linstruction P1 - P2 : Paramtres de linstruction Lc : Longueur du champ de donnes Le : Longueur maxi du champ de donnes de la rponse

29

6/21/2005

SW1 - SW2 : Code dexcution 90 00 SW2 : 61 OK- 62,63 Warning SW2: 64,65-erreur dexcution SW2: 67 commande incorrecte

OK

Types de commandes (1/2)


Cas 1: Pas dentre / Pas de sortie
CLA INS P1 P2 P3 lgth (= 00 ) SW1 90 SW2 00

Cas 2: Pas dentre / Sortie de longueur connue


CLA INS P1 P2 P3 lgth Data de longueur lgth SW1 90 SW2 00

Cas 3: Pas dentre / Sortie de longueur inconnue


CLA INS P1 P2 P3 lgth (= 00 ) SW1 9F SW2 lgth1

GET RESPONSE
CLA INS P1 P2 P3 lgth2 Data de longueur lgth2 < lgth1 SW1 90 SW2 00

Note: lgth= 00 cause un transfert de donnes de 256 bytes


30 6/21/2005

Types de commandes (2/2)

Cas 4: Entre / Pas de sortie


CLA INS P1 P2 P3 lgth Data de longueur lgth SW1 90 SW2 00

Cas 5: Entre / Sortie de longueur connue ou inconnue


CLA INS P1 P2 P3 Lgth SW1 9F SW2 lgth1

Data de longueur lgth

GET RESPONSE
CLA INS P1 P2 P3 Lgth2 Data de longueur lgth2 < lgth1 SW1 90 SW2 00

31

6/21/2005

ISO 7816-4
Le systme de fichiers des cartes puce. Systme de fichiers hirarchique qui peut contenir 3 types de fichiers : "Master File" (Fichier racine) "Dedicated File" (Rpertoire + qq infos) "Elementary File" (Fichier de donnes)

32

6/21/2005

ISO 7816-4
4 structures de donnes :

33

6/21/2005

Exemples (1/3)
1. READ_BINARY. CLA B0 P1 P2 Le. Si P1(b8) = 1, EF est dsign par P1 (b5,b4,b3,b2,b1) et P2 reprsente loffset. Sinon loffset est gal (256*P1) +P2 Lecture de Le octets partir de offset dans un fichier transparent. 2. WRITE_BINARY. CLA D0 P1 P2 Lc [Lc octets] Si P1(b8) = 1, EF est dsign par P1 (b5,b4,b3,b2,b1) et P2 reprsente loffset. Sinon loffset est gal (256*P1) +P2 Ecriture de Le octets partir de offset dans un fichier transparent. 3. UPDATE_BINARY. CLA D6 P1 P2 Lc [Lc octets]. Si P1(b8) = 1, EF est dsign par P1 (b5,b4,b3,b2,b1) et P2 reprsente loffset. Sinon loffset est gal (256*P1) +P2 Ecriture de Le octets partir de offset dans un fichier transparent.
34 6/21/2005

Exemples (2/3)
5. READ_RECORD CLA B2 P1 P2 Le Lit un enregistrement dans un fichier P1, numro denregistrement ou premier enregistrement lire. P1= 00 indique lenregistrement courant P2= 04 lecture de lenregistrement P1, P2= 05 lecture des enregistrements partir de P1 jusqu' la fin du fichier. 6. WRITE_RECORD CLA D2 P1 P2 Lc [lc octets] Ecriture dun enregistrement. P1 numro denregistrement P2= 04 enregistrement P1

35

6/21/2005

Exemples (3/3)
13. INTERNAL_AUTHENTICATE CLA 88 P1 P2 Lc [Lc octets] Le Cette commande ralise un calcul dauthentification relativement une cl interne en transfrant un nombre alatoire (challenge) dlivr par le lecteur. P1 reprsente la rfrence dun algorithme. P2 est gal zro par dfaut. Le challenge est contenu dans les Lc octets sortants. 14. EXTERNAL_AUTHENTICATE CLA 88 P1 P2 Lc[Lc octets] Le Cette commande met jour ltat dune carte en fonction du rsultat dun calcul ralis par le lecteur partir dun nombre alatoire dlivr par la carte (CHALLENGE). P1, rfrence dun algorithme. P2 est gal zro par dfaut. 15. GET_CHALLENGE CLA 84 P1 P2 Le Cette commande produit un nombre alatoire
36 6/21/2005

Commandes ISO 7816-4 inter-industries

READ BINARY WRITE BINARY UPDATE BINARY ERASE BINARY READ RECORD WRITE RECORD APPEND RECORD UPDATE RECORD

GET DATA PUT DATA SELECT_FILE VERIFY INTERNAL_AUTHENTICATE EXTERNAL_AUTHENTICATE GET_CHALLENGE GET_RESPONSE ENVELOPE MANAGE CHANNEL

37

6/21/2005

ISO 7816-5
Spcifie des identifiants dapplications (AID ou Application IDentifier) Un AID = identification unique d'une application de la carte et de certains types de fichiers. AID= chane de 16 octets R premiers octets (RID) identifient le fournisseur dapplication Les 11 octets suivants reprsentent lidentifiant Activation dune application Par exemple par SELECT_FILE (00 A4 04 00 10 [AID]) Exemple: ATR stock dans ET_ATR en /3F00/2F01 est slectionn par 00 A4 02 00 02 2F01
38 6/21/2005

ISO 7816-6

Spcifie les lments de donnes inter-industrie Spcifie les formats de codage, mthodes de rcupration de ces lments de donnes Nom du porteur de la carte Date dexpiration Etiquette Longueur valeur

39

6/21/2005

ISO 7816-7
Donnes organises en tables, avec des colonnes, lignes, (Similarit aux bases de donnes) Langage spcifique de requtes : SCQL (Smart Card Query Language)

2000 PicoDBMS : Un SGBD sur carte puce


40 6/21/2005

ISO 7816-8 10
ISO 7816-8 : Scurit de l'architecture et des commandes inter-industrie. 2 commandes options Manage Security environment Passage dun template la carte Perform Security Operations Compute/Verify Cryptographic checksum Encipher/Decipher/Hash Compute/Verify Digital Signature Generate Cryptographic key pairs ISO 7816-9 : Commandes inter-industries amliores pour la gestion des cartes et de leurs fichiers Register File (DF or EF) Create, Deactivate, Delete, Rehabilitate Seulement si la carte est en environnement sr ! Mthodes daccs aux ressources Smart-Cards ISO 7816-10 : Spcifiques aux cartes synchrones
41 6/21/2005

ISO 7816-12
Cartes contact supportant le mode USB et procdures associes
C1 C5 POWER
Legac y

VCC

GND

C2

C6

ContactLess
Opt ional

RST

CT

C3

C7 TS 102.221

CLK

I/O

Legac y

C4

C8

USB IC
Opt ional

D+

D-

42

6/21/2005

Cycle de vie de la carte


Fabrication
Inscription d'un programme en mmoire ROM dfinissant les fonctionnalits de base de la carte : "masque" fig traitant quelques commandes

Initialisation
Inscription en EEPROM/NVM des donnes de l'application

Personnalisation
Inscription en EEPROM/NVM des donnes relatives chaque porteur

Utilisation
Echange d'APDU

Mort
Invalidation logique

43

6/21/2005

Dveloppement d'applications
Le code applicatif de la carte est grav en ROM au moment de la fabrication
carte fige dveloppeurs spcialiss pas d'volution possible : pas de chargement dynamique de nouveaux programmes en EEPROM

Implication
Si une application requiert de nouvelles fonctions carte => ncessit de re-dvelopper un nouveau masque

44

6/21/2005

Vers des cartes plus ouvertes


Problmes rsoudre et/ou besoins satisfaire
permettre le dveloppement de programmes pour la carte sans avoir besoin de graver un nouveau masque faire de la carte un environnement d'excution de programmes ouvert (chargement dynamique de code) faciliter l'intgration des cartes dans les applications

Elment de solution : Java Card


Utiliser le langage orient objet : Java Utiliser la plate-forme Java pour charger et excuter des applications dynamiquement
45 6/21/2005

Qu'est ce que la Java Card ?

Une carte puce qui excute des programmes Java

Java Card dfinit un sous-ensemble de Java (2.1 puis 2.2) ddi pour la carte puce :

Sous-ensemble du langage de programmation Java Sous-ensemble du paquetage java.lang Dcoupage de la machine virtuelle Java Modle mmoire adapt la carte APIs spcifiques la carte

46

6/21/2005

Java Card par rapport Java (1/4)


Pas de chargement dynamique de classes Objets : Allocation dynamique dobjets supporte (new)

Mais
Pas de ramasse-miettes (gc) Pas de dsallocation explicite non plus ==> mmoire alloue ne peut pas tre rcupre Pas de mthode finalize()

47

Java Card par rapport Java (2/4)


Types de base (nombres signs, complment 2) : byte, short, boolean (8 bits), int (16 bits)
Pas de types char (pas de classe String), double, float et long Pas de classes Boolean, Byte, Class, etc.

Tableaux une dimension :


Elments : des types de base

48

Java Card par rapport Java (3/4)


Pas de threads
Pas de classe Thread, pas de mots-cl synchronized

Mcanisme dhritage identique Java


Surcharge de mthodes, mthodes abstraites et interfaces Invocation de mthodes virtuelles Mots-cls instanceof, super et this

Scurit
Notion de paquetage et modifieurs public, protected et private identiques Java Pas de classe SecurityManager : politique de scurit implmente dans la machine virtuelle

Mthodes natives (native) Atomicit


Mise jour de champs dobjets doit tre atomique Modle transactionnel : beginTransaction(), commitTransaction() et abortTransaction()

49

Java Card par rapport Java (4/4)


Mcanismes dexception supports
Peuvent tre dfinis (extends Throwable), propags (throws) et intercepts (catch) Classes Throwable, Exception et Error supportes et certaines de leurs sous-classes (dans java.lang)
Throwable { public Throwable(); }
-- Exception -- RuntimeException -- ArithmeticException -- ClassCastException -- NullPointerException -- SecurityException -- ArrayStoreException -- NegativeArraySizeException -- IndexOutOfBoundsException -- ArrayIndexOutOfBoundsException

50

Java Card 2.2: principales extensions

Gestion des canaux logiques Destruction d Applet RMI JavaCard Ramasse-miettes Extension des classes APDU API daccs aux objets transients (tbc) API de Card Management

51

6/21/2005

Machine virtuelle
Implmentation en deux parties :
La partie on-card (SmartCard) La partie off-card (JavaCard)

52

6/21/2005

Librairies standard
JavaCard.lang
Classes fondamentales (object, throwable) pour le langage JavaCard

JavaCard.framework
Classes et interfaces pour les fonctionnalits de base des applets JavaCard (ISO7816, PIN,AID, APDU,JCSystem, Exceptions)

JavaCard.security
Classes et interfaces pour lenvironnement scuritaire (DesKey,DASPrivateKey,SecretKey,RandomData,Signature, MessageDigest)

JavaCardx.crypto
Classes de scurit et interfaces pour les fonctionnalits soumises contrle dexport (KeyEncryption, Cipher)

53

6/21/2005

Compiler en Java (1/2)


Obtention dun code JavaCard

54

6/21/2005

Compiler en Java (2/2)


Rcapitulatif des oprations

55

6/21/2005

Architecture type Java Card

Card Executive Charge et slectionne les applications Communique avec le monde extrieur Gre le cycle de vie de la carte

Applet 1 Programme

Applet N Programme

Librairies standard (API) Interface cachant linfrastructure de la carte

Machine Virtuelle Java (interprteur) Excute les applets, garantit la scurit et gre le partage des donnes

Mthodes Natives Donnent accs aux ressources physiques telles que la mmoire, les E/S, le coprocesseur cryptographique

56

6/21/2005

Cartes puce: architecture moderne

EEPROM

Root

Applet Register Applet 1 Applet 2 Applet N

+ Portabilit + Rapidit de development + Plate-forme ouverte + Multi-application


Java Card API GSM API

SGF GSM

Java Virtual Machine

ROM

Operating System Gnrique Interface driver HW et gestion coopration

Chip
57 6/21/2005

Scurit des cartes puce

58

6/21/2005

Types dattaques sur les cartes puce (1)


Information transmises
Canaux de fuite (courant, paramtres dalgorithmes cryptographiques)

Information stockes
Donnes (cls) ou code excutable

Mise en dfaut du Hardware


Tension, horloge, mise hors specs de manire gnrale

Dfauts du Software
Chainage de commandes ou erreurs protocoles cryptographiques

Attaques temporelles
Dtection de changement de temps dexcution

Attaques sur les consommations


photographie temps rel des instructions en cours dexcution Post-traitement statistique des informations
59 6/21/2005

Attaques sur les cartes puce (2)


Attaques sur le chemin de test
Mise en mode test, sondes, reconstruction du design logique

Ingnirie inverse
Reconstruction du Layout, dump du code ROM, rvlation chimique Utilisation de MEB, FIB ou autre pour rvlation du contenu EEPROM

Glissements dalimentation ou interruption dhorloge


Corruption de donnes sur le (les) bus Peuvent affecter un tout petit nombre de cycles CPU

Attaques Lumire (Laser) Mesures de radiations lectromagnetique Imagerie par scan Laser

60

6/21/2005

Exemple: attaque DPA (1/3)


X
(CLE)

CALCUL F(X,Y)
volt

CONSOMMATION U(t) = Fonction de X, Y

Y
(DONNEE)
t

CALCUL ROUND 1
RE=010001 K0=110101

P(K0,RE) utilis dans les calculs des rounds suivants

CONSOMMATION U(t) = Fonction de P,Y

volt

S1

P(K0,RE)=1010

Consommation au moment o intervient P(K0,RE) dans un calcul

61

6/21/2005

Exemple: attaque DPA (2/3)


HYPOTHESE DE CLE EXACTE
SO CON 1

CON
Classe 1 bit i du rsultat = 1
conso donne 1 conso donne 2

SO 2

DPA

CON
Classe 0 bit i du rsultat = 0
conso donne 3

conso donne 4

CON

SO 3

SO 4

HYPOTHESE DE CLE FAUSSE


Classe 1 bit i du rsultat = 1
conso donne 1

SO 1 CON SO 3 CO N
conso donne 3

DPA
CO N SO 2

Classe 0 bit i du rsultat = 0


conso donne 2 conso donne 4

CON

SO 4

62

6/21/2005

Exemple: attaque DPA (3/3)


N excutions du DES +
N mesures de consommation

+ +

+ +
t bi i= n 1

+
64 TRACES DPA

DONNEES

01011...1 10010...0
N donnes de 64 bits
1

01101...1
2

Hypothse de cl EXACTE

Nx64 Calculs du bit n i en sortie des S-box

bi tn

i =

+
0

+ + +

HYPOTHESES CLES

+
000000 000001
64 valeurs hypothtiques pour les 6 bits de la cl partielle K0

111111

63

6/21/2005

Cartes puce: Scurit Hardware


Scurit interne Scurit Externe
Couches actives anti-intrusion EEProm non rvlable Scurit physique
- pas de retour mode test

Reset Clock 0V

ADDRESSES Interface
and/or

Interface

5V NC I/O

RAM ROM

CPU DATA

EPROM EEPROM FeRAM

Dtecteurs de rayonnements - UV, ionisation, etc... Pas de comportement statique - frquence dhorloge minimale Contrle des modes hors specs Protection DPA/SPA Protections auto-programmes Pas dinterfrence OS/Interface
- contrle du PIN Logique asynchrone, faible conso.

64

6/21/2005

Cartes puce: Scurit Software


Masquage des points de synchronisation

Timing alatoires, oprations alatoires


Masquage des actions cruciales

Duplication, fausses pistes, symtrisation,..


Cryptographie Contrle des droits d accs Collaboration avec le MMU HW Certification commune HW/SW ( Critres Communs )

65

6/21/2005

Exemple fondamental: La carte GSM/SIM

66

6/21/2005

Rappel: architecture Globale GSM


EIR PDN PSTN ISDN AUC HLR MS OMC VLR Connexion Physique

BSS MS

MSC

Connexion Physique Interfaces BSS

MSC

Shows relationships

Radio Interface MS: BSS: MSC: HLR: Mobile Station Base Station System Mobile Services Switching Centre Home Location Register

MSC-BSS Interface VLR: OMC: EIR: AUC:

Interface avec le rseau fixe Visited Location Register Operation and Maintenance Centre Equipment Identity Register Authentication Centre

67

6/21/2005

Fonctions de scurit offertes au niveau dun rseau GSM PLMN


Confidentialit de lidentit du souscripteur (IMSI) Authentification de lidentit du souscripteur (IMSI) Confidentialit des donnes utilisateur lors des connexions physiques Confidentialit des donnes utilisateur en mode Connectionless Confidentialit des lments dinformation de signalisation

68

6/21/2005

GSM 11.11
Dfinit l interface entre le Subscriber Identity Module (SIM) et le terminal mobile ( Mobile Equipment ou ME ) pendant les phases dopration du rseau GSM Definit lorganisation interne de la carte SIM. Assure linteroperabilit entre SIM et ME independemment des diffrents fabricants et des oprateurs
SIM Partage de la Station Mobile (MS) ME

GSM Partage des fonctions Gestion de lAdministration

69

6/21/2005

Items couverts par la norme


Caractristiques physiques, signaux lectriques protocoles de transmission Modle pour la conception de la structure logique de la SIM Caractristiques scuritaires Fonctions dinterface Description des commandes Contenu des fichiers requis pour lapplication GSM Protocole applicatif

70

6/21/2005

Carte SIM: organisation interne (1/3)


MF

DFGSM

DFTELECOM
EFADN

DFIS-41

EFICCID

EFELP

DFGRAPHICS

EFFND

EFSMS

EFCCP

EFMSISDN

EFSMSP

EFIMG

EFSMSS

EFLND

EFSMSR 4FXX

EFSND

EFEXT1

EFEXT2

EFEXR3

EFBDN

EFEXT4

Continued

71

6/21/2005

Carte SIM: organisation interne (2/3)


DFGSM EFLP

EFIMSI

EFKC

EFPLMNsel

EFHPLMN

EFACMmax

EFSST

EFACM

EFGID1

EFGID2

EFPUCT

EFCBMI

EFSPN

EFCBMID

EFBCCH

EFACC

EFFPLMN

EFLOCI

EFAD

EFPHASE

EFVGCS

EFVGCSS

EFVBS

72

6/21/2005

Continued

EFVBSS

Carte SIM: organisation interne (3/3)


DFGSM EFeMLPP

EFAAeM

EFECC

EFCBMIR

EFNIA

EFDCK

EFCNL

EFK.GPRS

EFLOCIGPRS

DFIRIDIUM

DFGlobst

DFICO

DFACeS

DFPCS1900

73

6/21/2005

Protocole Applicatif GSM


Message: commande ou rponse. Couple commande/rponse GSM : suite de messages consistant en une commande et la rponse associe. Procdure GSM: suite de un ou plusieurs couples commande/rponse GSM Session GSM: intervalle de temps entre la fin de la procdure dinitialisation et se terminant:
Soit au dmarrage de procdure de fin de session GSM Soit linstant dinterruption du lien SIM-ME

74

6/21/2005

Procedures (1)
Procdures gnrales:
Lecture dun EF Mise jour dun EF Extension dun EF ME ME ME

Procdures de gestion SIM :


Initialisation SIM ME Fin de session GSM ME Requtes de codes dappel d urgence ME Requtes dextension de langage prfrentiel ME Requtes de langage prfrentiel ME Requtes dinformation administrative ME Requtes sur la table des services SIM ME Requtes de phase SIM ME

75

6/21/2005

Procedures (2)
Procdures lies la scurit GSM :
Calcul dalgorithme GSM Requte dIMSI Requte dinformation type contrle daccs Requte intervalle de recherche HPLMN Informations de localisation Cl de Chiffrement Information canal BCCH Information sur PLMN interdits NET NET NET NET NET NET NET NET MMI MMI MMI MMI MMI

Procdures lies au code CHV:


Vrification CHV Substitution de valeur CHV Dconnexion CHV Mise en route CHV Dblocage CHV
76 6/21/2005

Procdures (3)
Procdures de souscription:
Numros dappel (ADN, FDN, MSISDN, LND, SDN, BDN) Short messages (SMS) Indications de facturation (AoC) Paramtres sur Capacits de Configuration (CCP) Slection PLMN Cell Broadcast Message Identifier (CBMI) Group Identifier Level 1 (GID1) Group Identifier Level 2 (GID2) MMI/ME MMI MMI MMI MMI MMI MMI/ME MMI/ME

77

6/21/2005

Procedures (4)
Procdures de souscription (suite.):
Nom du fournisseur de services (SPN) Voice Group Call Service (VGCS) Voice Broadcast Service (VBS) Pr-emption et Priorit Multi-niveau tendue (eMLPP) D-personnalisation des cls de contrle Status report sur les SMS (SMSR) Indicateurs dalerte rseau ME MMI/ME MMI/ME MMI/ME ME MMI ME

78

6/21/2005

Commandes SIM
1 2 3 4 5 6 7 8 9 10 11 SELECT STATUS READ BINARY UPDATE BINARY READ RECORD UPDATE RECORD SEEK INCREASE VERIFY CHV CHAN CHV GE DISABLE CHV
MF * * DF * *

12 13 14 15 16 17 18 19 20 21 22
* * * *

ENABLE CHV UNBLOCK CHV INVALIDATE REHABILITATE RUN GSM ALGORITHM SLEEP (Obsolete: put SIM in Low Power) TERMINAL PROFILE ENVELOPPE FETCH TERMINAL RESPONSE GET RESPONSE
File EF linear fixed * * EF cyclic * *

Function SELECT STATUS READ BINARY UPDATE BINARY READ RECORD UPDATE RECORD SEEK INCREASE INVALIDATE REHABILITATE

EF transparent

* * *

* * *

* *

* *

* *

79

6/21/2005

Codage des commandes GSM


COMMAND SELECT STATUS READ BINARY UPDATE BINARY READ RECORD UPDATE RECORD SEEK INCREASE VERIFY CHV CHANGE CHV DISABLE CHV ENABLE CHV UNBLOCK CHV INVALIDATE REHABILITATE RUN GSM ALGORITHM SLEEP GET RESPONSE TERMINAL PROFILE ENVELOPE FETCH TERMINAL RESPONSE INS 'A4' 'F2' 'B0' 'D6' 'B2' 'DC' 'A2' '32' '20' '24' '26' '28' '2C' '04' '44' '88' 'FA' 'C0' '10' 'C2' '12' '14' P1 '00' '00' offset high offset high rec No. rec No. '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' '00' P2 '00' '00' offset low offset low mode mode type/mode '00' CHV No. CHV No. '01' '01' see note '00' '00' '00' '00' '00' '00' '00' '00' '00' P3 '02' lgth lgth lgth lgth lgth lgth '03' '08' '10' '08' '08' '10' '00' '00' '10' '00' lgth lgth lgth lgth lgth S/R S/R R R S R S S/R S/R S S S S S S/R R S S/R R S

CLA= A0 pour lapplication GSM


80 6/21/2005

GSM 11.14: vue densemble de lenvironnement SIM Application Toolkit


Lenvironnement SIM Application Toolkit fournit des mcanismes permettant aux applications prsentes dans la carte SIM, dinteragir et dinter-oprer avec tout terminal mobile (ME) supportant les mcanismes spcifiques requis par ces applications. Si $ (Multiple Card) $ est support une carte SIM supportant les mcanismes SAT doit tre capable de communiquer avec des cartes additionnelles et de recevoir de informations des lecteurs additionnels via le ME. Les mcanismes SAT sont dpendants des commandes et protocoles relevant de la norme GSM 11.11.
Dcouverts par une fin de procdure en 91 XX (ncessite Fetch Data de XX) SAT identifi dans le EFSST
Capacits du ME identifies dans la commande terminal profile
81 6/21/2005

Procdures SAT
Procdures SIM Application Toolkit:
Tlchargement de donnes via SMS-CB (CBMID) NET Tlchargement de donnes via SMS-PP NET Slection de menu MMI Contrle dappel MMI/ME/NET SIM Proactive MMI/ME/NET Contrle SIM de SMS gnr par le ME MMI/ME/NET Requte dimage (si (Image) est supporte) MMI/ME

82

6/21/2005

GSM 11.14: Vue densemble de la structure SIM Application Toolkit


Mcanismes de base
Profile Download Proactive SIM Data download to SIM Menu Selection Call control by SIM MO Short Message control by SIM Event download Security Multiple card Timer Expiration

83

6/21/2005

Commandes et procdures SIM proactives


DISPLAY TEXT GET INKEY GET INPUT LANGUAGE NOTIF PLAY TONE SET UP IDLE MODE TEXT SELECT ITEM SET UP MENU CLOSE CHANNEL GET CHANNEL STATUS OPEN CHANNEL SEND SHORT MESSAGE SEND USSD SET UP CALL SEND DTMF
84 6/21/2005

RUN AT COMMAND SEND DATA RECEIVE DATA SEND SS POWER OFF CARD POWER ON CARD GET READER STATUS PERFORM CARD APDU POLL INTERVAL REFRESH POLLING OFF LAUNCH BROWSER PROVIDE LOCAL INFORMATION SET UP EVENT LIST TIMER MANAGEMENT MORE TIME

GSM 11.14: vue densemble de lenvironnement SIM Application Toolkit


Support du SIM Application Toolkit par les Equipements Mobiles
Command description CALL CONTROL CELL BROADCAST DOWNLOAD DISPLAY TEXT EVENT DOWNLOAD . MT call . Call connected . Call disconnected . Location status . User activity . Idle screen available GET INKEY GET INPUT GET READER STATUS (if $(MultipleCard)$ is supported) MENU SELECTION X X X X X X X X X X X Lc X Classe 1 2 X X X 3 X X X

85

6/21/2005

GSM 11.14: vue densemble de lenvironnement SAT


Support du SIM Application Toolkit par les Equipements Mobiles
Command description MO SHORT MESSAGE CONTROL MORE TIME PERFORM CARD APDU (if $(MultipleCard)$ is supported) PLAY TONE POLLING OFF POLL INTERVAL POWER ON CARD (if $(MultipleCard)$ is supported) POWER OFF CARD (if $(MultipleCard)$ is supported) PROVIDE LOCAL INFORMATION REFRESH SELECT ITEM SEND SHORT MESSAGE SEND SS SEND USSD SET UP CALL SET UP EVENT LIST SET UP MENU SMS-PP DOWNLOAD TIMER MANAGEMENT (if $(Timer)$ is supported) TIMER EXPIRATION (if $(Timer)$ is supported)
86 6/21/2005

Classe 2 X X X X

3 X X Lc X X X Lc Lc

X X X X X X X X X X

X X X X X X X X X X Lc Lc

SIM et ME en action (1)


Receive ATR Execute PPS SELECT DFGSM GET RESPONSE SELECT EFPhase READ BINARY SELECT ELP GET RESPONSE READ BINARY VERIFY CHV STATUS SELECT EFSST GET RESPONSE READ BINARY
Initialisation

Basic Infos

User Authentification

Services disponibles

87

6/21/2005

SIM et ME en action (2)


TERMINAL PROFILE SELECT MF SELECT EF ICCD GET RESPONSE READ BINARY SELECT DFGSM SELECT EFIMSI GET RESPONSE READ BINARY SELECT EFAD GET RESPONSE READ BINARY SELECT EFLOCI READ BINARY

Identif+ Paramtres com

88

6/21/2005

SIM et ME en action (3)


SELECT EFKC READ BINARY SELECT EFBCCH READ BINARY SELECT EFFPLMN READ BINARY SELECT EFHPLMN READ BINARY SELECT DFTELECOM SELECT EFSMSS GET RESPONSE READ BINARY SELECT EFSMSp GET RESPONSE READ BINARY SELECT EFSMS GET RESPONSE Nx READ RECORD SELECT DF GSM RUN GSM ALGORITHM GET RESPONSE COM SELECT EFKC UPDATE BINARY SELECT EFLOCI UPDATE BINARY SELECT EFBCCH UPDATE BINARY SELECT EFLOCI UPDATE BINARY Off SELECT EFBCCH UPDATE BINARY

89

6/21/2005

Distribution de la Scurit dans le rseau GSM

90

6/21/2005

Principe dauthentification dans le rseau GSM

BS transmet un challenge de 128-bit RAND Le MEs retourne une rponse signe de 32-bit SRES via A3 RAND et Ki sont combines via A8 pour donner une cl de 64-bit pour lalgorithme Les trames de 114-bit sont chiffres en utilisant la cl et le numro de trame comme entre de A5
91 6/21/2005

Scurit du rseau GSM


La scurit du rseau GSM a t casse en Avril 1998
A3/A8= COMP128 V1 est faible, permet dextraire IMSI et Ki
Accs direct au SIM (clonage du tlphone mobile) Requtes OTA au ME

Certains types de cartes ont t modifies depuis pour limiter le nombre de requtes COMP 128

De nombreux pays ont t pourvus dune version affailblie de lalgorithme A5, dite A5/2:
Scurit du A5/1 : Brisable en temps rel avec 240 prcalculs Scurit du A5/2: Aucune (cassable en 5 cycles dhorloge);

92

6/21/2005

Principe de Cryptanalyse du COMP128


Principes
Nombreuses itrations (5*8) Lapplication de gnration des clefs fk : r | r est applique 8 fois Chaque round est peu efficace: Les bytes i,i+8,i+16,i+24 la sortie du second round dependent seulement des bytes i,i+8,i+16,i+24 de lentre de COMP128

k0 k1

k16 r0 r1 r8

r16

rptition 8 fois

Gnration de collisions!
Tentative: Modification simultane de r0 and r8, et recherche de collisions internes [BGW98]

k0

k16 r'0 r'1

r'16

Ca marche! Ca marche!
93 6/21/2005

Deuxime exemple: la norme EMV pour les systmes de paiement

94

6/21/2005

Agenda

Pourquoi EMV? Un bref rappel sur EMV Les apports scuritaires Traitement des donnes scuritaires par les Rseaux Cartes VISA/MCI

95

6/21/2005

Pourquoi EMV - Le Business Case


Les objectifs fondamentaux
Fraude galopante Interoprabilit Cot des tlcoms Dmatrialisation des transactions

Rpondre de nouveaux contextes et crer de la valeur


E-commerce Banque en Ligne Services valeur ajoute

Etat de la Technologie:
Obsolescence de la technologie piste magntique (35 ans dage) Maturit de la technologie puce (25 ans dexistence)

96

6/21/2005

Types de fraude

BANK
04/01 CV MS SALLYWILSON

VISA

Perdue Vole

4976 9600 0019 1234

Non reue
BANK
04/01 CV MS SALLY WILSON

VISA

Contrefaon Usage abusif Carte-non-prsente

4976 9600 0019 1234

97

6/21/2005

Les dimensions de la fraude


Poststatus Prestatus
(1)

PVN Contrefaon Usage abusif (2) National Emetteur International Acqureur International

(1) Perdue, Vole, Non Reue (2) Risque Crdit


98 6/21/2005

Une brve introduction EMV


EMV specifications globales pour les cartes, terminaux, & applications, developpes par Europay, MasterCard & Visa, pour assurer le bon fonctionnement et linteroprabilit des transactions puce pour les applications de dbit et de crdit. Interoprabilit
Nimporte quel terminal de paiement peut accepter des cartes originaires de nimporte quel Rseau de cartes. Tout carte mise dans un pays peut tre utilise dans dautres pays.

Dploye en UK Pilotes dans une vingtaine de pays Base du prochain systme bancaire franais
99 6/21/2005

Une brve introduction EMV (suite)


Ex: France: Droit au Rejet Ex: Israel : Le terminal est programm pour viter le blocage de la carte aprs 3 essais alors que 5 essais sont possibles

Options Nationales / par Emetteur


EUROPAY

VIS 1.4.0

Mchip/ Mchip Lite EMV 2000

& Europay

Standards ISO 7816

100

6/21/2005

Une brve introduction EMV (suite)

Card Script Processing Method (CSPM) Card Certification Method (CCM) Card Risk Management Method (CRMM) CardHolder Verification Method (CVM) Card Authentication Method (CAM) Card Application Selection Method (CASM)

101

6/21/2005

Card Authentication Method

Objectif
Eliminer la contrefaon carte Rendre la duplication carte difficile voire impossible

La Mthode
Le terminal vrifie les cryptogrammes SDA / DDA / CDA

102

6/21/2005

CAM : 3 niveaux: SDA / DDA / CDA


1ier niveau : SDA (EMV 96 et EMV 2000): le terminal contrle lauthenticit des paramtres de la carte PAN, Date de validit, ... Comme pour B0 (VA / VS). 2ime niveau : DDA(EMV 96 and EMV 2000): le terminal contrle la fois lauthenticit des paramtres de la carte (PAN, Date de validit, ...) et de la carte elle-mme. 3ime niveau : CDA ( EMV 2000) le terminal contrle la fois lauthenticit des paramtres de la carte (PAN, Date de validit, ...) et de la carte elle-mme. De plus il contrle lauthenticit de la dcision carte (accord de transaction offline, dcision daller online)

103

6/21/2005

Lauthentification en SDA

La CARTE contient : Card Issuer Public Key Certificate PI : Public information S=F(PI, Issuer Private Key)

Le TERMINAL contient : Scheme Provider Public Key

Le terminal lit les diffrentes informations dans la carte Le terminal recouvre la cl publique de lmetteur Le terminal vrifie la signature

104

6/21/2005

Lauthentification en DDA
La CARTE contient : Card Issuer Public Key Certificate Card Public Key Certificate Card Private Key Le TERMINAL contient : Scheme Provider Public Key

Le terminal lit les diffrentes informations dans la carte Le terminal recouvre la cl publique de lmetteur Le terminal recouvre la cl publique de la carte Le terminal envoie un challenge la carte La carte calcule un cryptogramme d authentification l aide de sa cl prive Le terminal vrifie la signature
105 6/21/2005

Lauthentification en CDA
La CARTE contient : Card Issuer Public Key Certificate Card Public Key Certificate Card Private Key Le terminal lit les diffrentes informations dans la carte Le terminal recouvre la cl publique de lmetteur Le terminal recouvre la cl publique de la carte Le terminal commence la transaction de paiement et envoie un challenge la carte La carte calcule un cryptogramme (MAC Triple DES) sur les donnes de la transaction l aide de la cl de transaction et calcule un cryptogramme d authentification l aide de sa cl prive Le terminal vrifie la signature et recouvre le cryptogramme de transaction
106 6/21/2005

Le TERMINAL contient : Scheme Provider Public Key

Cardholder Verification Method

Objectif
Eliminer la fraude lie aux cartes perdues, voles, non reues

La Mthode
Contrle local du code secret en clair ou chiffr Mthodes en vigueur : signature, contrle distant du code secret Techniques biomtriques

107

6/21/2005

Card Risk Management

Objectif
Limiter lusage abusif de la carte, lusage frauduleux des cartes perdues, voles, non reues

La Mthode
Limiter la fraude par lanalyse du risque par la carte; contrle de flux en montant et en nombre de transactions, mmorisation de lactivit transactionnelle de la carte pour aide la dcision, etc. Transaction accepte / refuse off-line Dcision de demande dautorisation

108

6/21/2005

Card Certification Method

Objectif
Avoir une preuve de la transaction Disposer dune mthode dauthentification carte / metteur forte Assurer la confidentialit et lintgrit des commandes de script

La Mthode
Calculer un crypto-certificat vrifiable par l Emetteur Disposer dun mcanisme cryptographique dauthentification forte de type Challenge / Rponse Supporter le mcanisme de Secure Messaging (Chiffrement + Intgrit) pour les commandes de Post-modification

109

6/21/2005

Card Script Processing Method

Objectif
Pouvoir modifier le comportement de la carte sur le terrain Post modification des paramtres de la carte

La Mthode
Commandes de Post-modification metteur vers la carte

110

6/21/2005

Flot de transaction EMV


0 APPLICATION SELECTION 1 INITIATE APPLICATION

2 READ APPLICATION DATA

3 OFFLINE DATA AUTHENTICATION 4 5 PROCESSING RESTRICTIONS CARDHOLDER VERIFICATION

TERMINAL RISK MANAGEMENT 6

7 8

TERMINAL ACTION ANALYSIS CARD ACTION ANALYSIS

ONLINE / OFFLINE DECISION OFFLINE

ONLINE

ONLINE PROCESSING & ISSUER AUTHENTICATION

SCRIPT PROCESSING

10

11
111 6/21/2005

COMPLETION

Schma dune transaction hors-ligne


BANK A

1
4
BANK C

2
Certificat Carte

3
TERMINAL TRANSACTION BOOK Transaction n1 Amount - Date - Currency etc... + Card Certificate Transaction n2 Amount - Date - Currency etc... + Card Certificate .... Transaction nN Amount - Date - Currency etc... + Card Certificate
112

Centre de traitement & de compensation

BANK B

BANK C

6/21/2005

Schma dune transaction en-ligne


BANK A

1 2
BANK C

5
Switching & clearing center

Card certificate + Online authorization

4
TERMINAL TRANSACTION BOOK Transaction n1 Amount - Date - Currency etc... + Card Certificate Transaction n2 Amount - Date - Currency etc... + Card Certificate .... Transaction nN Amount - Date - Currency etc... + Card Certificate

BANK B

BANK C

+ Online authorization
113 6/21/2005

Transaction EMV VS ...

Clearing System Card Authentication Method Cardholder Verification Method Card Risk Management Card Certification Method Script Processing Card Authentication Method Cardholder Verification Method Terminal Risk Management Authorization Host International International Payment Payment Scheme Scheme

114

6/21/2005

Transaction piste

Clearing System Card Authentication Method Cardholder Verification Method Card Risk Management Card Certification Method Script Processing Card Authentication Method Cardholder Verification Method Terminal Risk Management Authorization Host International International Payment Payment Scheme Scheme

115

6/21/2005

Les types dattaques


Pour lauthentification carte
Copie dune carte

Facile pour une authentification SDA : Copie de donnes accessible en lecture Trs difficile en DDA, CDA : Ncessite une attaque sur le composant Trs difficile en SDA, DDA, CDA : Ncessite une crypto-analyse de la cl secrte RSA de lmetteur

Fausse carte (gnrer des cartes associes diffrents PAN)

Pour la gnration de certificats de transaction


Copie dune carte :

Trs difficile : Ncessite une attaque sur le composant (clef de certificats metteur) Trs, trs difficile : Ncessite la connaissance de la cl matre de gnration des certificats

Fausse carte :

116

6/21/2005

Les attaques et les rponses


Mode d'authentification SDA Attaques Copie de la carte Niveau de l'attaque Trs facile Rponses Surveillance par l'metteur du comportement du porteur Vrification des certificats de transaction pour mise jour de Black List Fausse carte DDA Copie de la carte Fausse carte Substitution de cartes CDA Copie de la carte Fausse carte Substitution de cartes Trs difficile Trs difficile Trs difficile Allongement de la taille de la cl metteur Amlioration de la scurit du chip et de l'OS Allongement de la taille de la cl metteur

"Facile" selon Rponse : CDA conditions Trs difficile Trs difficile Idem copie carte Amlioration de la scurit du chip et de l'OS Allongement de la taille de la cl metteur

117

6/21/2005

La gestion de la scurit

Composant sr et OS valu Gestion des cls secrtes metteur (renouvellement, revocation, stockage...) Contrle des certificats de transaction Gestion de liste noire

118

6/21/2005

Analyse par type de transaction

Type de transaction Retrait d'espces Paiement de proximit OnLine Paiement de proximit OffLine Automate (ticket, vido, essence) On-Line Automate (ticket, vido, essence) Off-Line Web On-line Web Off-line

Type de terminal ATM POS POS POS ddi POS ddi Server Server

Niveau de risque Trs Faible car transaction On-Line Trs Faible car transaction On-Line Faible. Le marchand peut tre acteur dans le processus de vrification. Trs Faible car transaction On-Line Fort Trs Faible car transaction On-Line Trs fort

119

6/21/2005

Carte puce Evolution de la technologie

120

6/21/2005

Cartes puce: nouvelles technologies (1/2)


Hardware
Migration vers le 32 bit vers 2003-2004
MMU, Cryptographie intgre, acclrateurs HW (Java) Horizon 2003: CMOS 0.18, 8K RAM, 512 KB ROM, 128-256KB EEPROM

Support intgr du mode sans-contact Nouvelles interfaces I/O: USB, Nouvelles technologies de mmoires: Flash, FERAM, Flex

Architecture
Cartes ouvertes multi-applications avec pare-feux HW et SW Prise en compte directe au niveau de la carte de nouveaux protocoles : IEEE 802.11, TCP/IP, Bluetooth Multi-thread voire multitche

121

6/21/2005

Cartes puce: nouvelles technologies (2/2)


Logiciel
Architectures modulaires de type PC Evolutions de JavaCard: Scurit, RMI, Convergence vers Java Tlchargement scuris d applications (modes interprt ET natif)

Scurit
Diffrentiateur essentiel Importance de la mthodologie Critres Communs Approche scuritaire prventive supporte par des techniques de preuve et modlisation abstraites

Importance des standards mondiaux


ETSI/3GPP, EMV/Global Platform, ISO/IEC 15408,...

122

6/21/2005

Cartes puce: Evolution du Hardware


* Ethernet Enabled Mode ** Near Field Communication

Smart Card chip 25 mm2

2010 500 MHz Multimode,I/O 512 MB-1GB Stacked memory Micro-batteries, sensors, networked peripherals 2008 300 MH z Multimode I/O 56 MB Stacked memory UWB-Zigbee 2006 200 MHz 32 bit+ USB 2.0 +EEM* +NFC** 4 MB-16MB SC/ 128 MB SMMC RSA 2048 in 10 ms 2004 60-100 MHz 32 bit/NFC** 512KB-1 MB FLASH in single IC RSA 2048 in 50 ms 2002 50 MHz -32 bit C-USB 1.0 16-64 KB EEPROM RSA 2048 in 300 ms Full 2004 PC w/o peripherals

Commercial Introduction of Technology

PDA

Same power as 1997 PC Same power as 1985 SUN 2, plus DSP

2000 15 MHz-8 bit 16 bit C-Contactless Same power as 8-32 KB EEPROM 1981 VAXStation I, plus cryptography RSA 2048 in 500 ms 1998 7 MHz-8 bit 32 Kbytes EEPROM RSA 1024 in 500 ms
123 6/21/2005

Same power as 1979 PDP 11/70, plus cryptography

Cartes puce: Evolution du Software


2010 Spontaneous networking Direct IPV6 addresability

Commercial Introduction of Technology

2008 2007

MPEG2-4 streaming, DRM MPEG2Digital right management

2006 2005 2004 2003 2002 2000 2000 1999 1999 1998

Advanced multi-modal biometry multiWeb-service card, ID federation WebReal Time, multi-thread OS

XML/TCP-IP on Card On-Card RMI, single-mode biometry

WAP/Internet Microbrowsing (SIM Alliance) Java Card combined with RSA

Java Card +GSM Subscriber Identity Module (SIM)

124

6/21/2005

Das könnte Ihnen auch gefallen