Beruflich Dokumente
Kultur Dokumente
7/9/2004
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
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
7/9/2004
RAM
D1
non-volatile
A2
D2
EPROM
ROM CPU
I/O
Octobre 1981: Premier SPOM industriel RAM: 36B, ROM: 1,6 KB, EPROM: 1 KB NMOS 3,5 - 42 KTransistors
4 7/9/2004
Premires exprimentations
1979 1980-1981 1981-1982 1983 1984 1984 1988 1988 1988 1989 1989 1989
5 7/9/2004
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)
1996-1999
1996-2000
Tlphonie MobileGSM/Mobile
1992- 2000
Tlphonie Mobile
Pntration sans prcdent 1,5 Md de cartes SIM vendues
7/9/2004
GSM/Mobile
# 1000 M dabonns GSM
Scurit et rseaux
80 M TV Set Top Box 1 M PC avec lecteurs
BANQUE
150 M Porteurs de cartes puce 1500 M cartes magntiques
7 7/9/2004
E-gouvernement
2002
135 470 45 40 3 43
2003
190 720 38 46 5 60
2004
230 800 45 58 8 75
2005
280 850 50 65 15 85
Total
736
1 059
1 216
1 095
1 470
26%
En valeur (Me)
Year
Bank Telco Pay TV Government Internet + IT security cards Transport
2002
160 1180 155 170 21 70
2003
310 1591 135 200 30 83
2004
380 1672 155 230 40 110
2005
470 1700 165 250 65 125
2006
580 1710 180 275 80 155
CAGR 03/06
23% 13% 2% 14% 46% 21%
Total Value
1 756
2 349
2 587
2 775
2 583
11%
7/9/2004
498
pl us
d In ca r
al to
G &D
O rg
O C
G em
O th
Ax
er s
2058 Mu
7/9/2004
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)
"
10
7/9/2004
11
7/9/2004
Sciage Puce
Motorola, Atmel Texas Instruments STMicroelectronics Siemens, Hitachi
Module
Protection
Assemblage
12
7/9/2004
Dcoupage
Sky High Transit
Cavit Pr-dtachage
G Su p lu er e
Corps de Cartes
Personnalisation
13 7/9/2004
ROM :
Systme dexploitation
10 to 196 KB CPU 8, 16, 32 bits 6805/ 8051 /RISC RAM : Scratch Pad 128 bytes to 8 KB
14
7/9/2004
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!
16
7/9/2004
# #
# #
GSM 11-11: Spcification de linterface SIM-ME (3GPP: TS 51.011) GSM 11-14: Spcification SIM Application Toolkit pour linterface SIMME 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) 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
7/9/2004
"
Signature lectronique
# # #
18
0,76 mm
19
7/9/2004
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
20
7/9/2004
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
"
"
Rponse au reset :
$
21
7/9/2004
" Conventions
# #
22
Directes: A=0: 1er caractre= 3B; b1:b8= A(ZZAZZZAA)Z Inverses: A=1: 1er caractre= 3F; b8:b1= A(ZZAAZZZZ)Z
7/9/2004
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
7/9/2004
T1, T2,,TK 0
TCK
23
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 TA1 B7=1 prsence TB1 B6=1 prsence TC1 B5=1 prsence TD1 B4 B3 B2 B0, 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.
24
7/9/2004
# 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 (11 s avec CWI=1 )
b1= 0 => LRC- b1=1 => CRC TCK = XOR de lensemble des bytes de lATR jusqu TCK exclus
25 7/9/2004
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)
26
7/9/2004
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: PTSS (FF), PTS0 (~TDi), PTS1 ~(~TAi), PTS2 (00), PTS3 (00), PCK= PTSS+PTS0+PTS1+PTS2 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
27
7/9/2004
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
28
7/9/2004
GET RESPONSE
CLA INS P1 P2 P3 lgth2 Data de longueur lgth2 < lgth1 SW1 90 SW2 00
GET RESPONSE
CLA INS P1 P2 P3 Lgth2 Data de longueur lgth2 < lgth1 SW1 90 SW2 00
30
7/9/2004
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)
31
7/9/2004
ISO 7816-4
4 structures de donnes :
32
7/9/2004
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.
33 7/9/2004
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
34
7/9/2004
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
35 7/9/2004
! 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
36
7/9/2004
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
37 7/9/2004
ISO 7816-6
" Spcifie les lments de donnes inter-industrie : Nom du porteur de la carte Date dexpiration
38
7/9/2004
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)
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 # 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
40
7/9/2004
" Initialisation
# Inscription en EEPROM des donnes de l'application
" Personnalisation
# Inscription en EEPROM des donnes relatives chaque
porteur
" Utilisation
# Echange d'APDU
" Mort
# Invalidation logique
41
7/9/2004
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
42
7/9/2004
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
44
7/9/2004
Mais
# Pas de ramasse-miettes (gc) # Pas de dsallocation explicite non plus # ==> mmoire alloue ne peut pas tre rcupre # Pas de mthode finalize()
45
46
Pas de classe Thread, pas de mots-cl synchronized Surcharge de mthodes, mthodes abstraites et interfaces Invocation de mthodes virtuelles Mots-cls instanceof, super et this Notion de paquetage et modifieurs public, protected et private identiques Java Pas de classe SecurityManager : politique de scurit implmente dans la machine virtuelle
Scurit
# #
Mise jour de champs dobjets doit tre atomique Modle transactionnel : beginTransaction(), commitTransaction() et abortTransaction()
47
48
Gestion des canaux logiques Destruction d Applet RMI JavaCard Ramasse-miettes Extension des classes APDU API daccs aux objets transtoires (tbc) API de Card Management
49
7/9/2004
Machine virtuelle
"
50
7/9/2004
Librairies standard
" JavaCard.lang
#
Classes fondamentales (object, throwable) pour le langage JavaCard Classes et interfaces pour les fonctionnalits de base des applets JavaCard (ISO7816, PIN,AID, APDU,JCSystem, Exceptions) Classes et interfaces pour lenvironnement scuritaire (DesKey,DASPrivateKey,SecretKey,RandomData,Signature, MessageDigest) Classes de scurit et interfaces pour les fonctionnalits soumises contrle dexport (KeyEncryption, Cipher)
" JavaCard.framework
#
" JavaCard.security
#
" JavaCardx.crypto
#
51
7/9/2004
52
7/9/2004
53
7/9/2004
Architecture (1/5)
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
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
54
7/9/2004
Architecture (2/5)
" Mthodes natives
#
Excute le bytecode (obtenu aprs compilation et dition de liens) Offre le support du langage Gre le partage des donnes entre applications Implante au dessus du circuit intgr (OS + mthodes natives)
55
7/9/2004
Novembre 2001
Architecture (3/5)
" Librairies standard
#
Ensemble dAPIs # Cache les dtails de linfrastructure # Interface facile manipuler # Dfinition des conventions utilises par les applets pour accder aux mthodes natives
"
Applets
#
Programmes crits en JavaCard puis compils # Excution en rponse des demandes du terminal
56
7/9/2004
Novembre 2001
Architecture (4/5)
" Installation dune applet
# Ralis lors de la fabrication de la carte ou de sa mise jour
partir dun terminal # Chargement de lapplet en mmoire (ROM ou EEPROM) # Appel automatique de la mthode install () par le JCRE : phase de connaissance # Applet dfinitivement connue par le JCRE
57
7/9/2004
Novembre 2001
Architecture (5/5)
" Slection, activation et dsactivation dune applet
# Une Applet est inactive tant quelle nest pas slectionne pour # # # # #
tre excute Identification dune Applet par une cl unique Slection ralise par le terminal Suspension de lexcution de lApplet active : deselect() Activation de lApplet slectionne : select() Le JCRE redirige tous les APDUs de commande vers cette Applet
58
7/9/2004
EEPROM
Root
SGF GSM
ROM
Chip
59 7/9/2004
60
7/9/2004
Canaux de fuite (courant, paramtres dalgorithmes cryptographiques) Donnes (cls) ou code excutable Tension, horloge, mise hors specs de manire gnrale Chainage de commandes ou erreurs protocoles cryptographiques Dtection de changement de temps dexcution photographie temps rel des instructions en cours dexcution Post-traitement statistique des informations
Reconstruction du Layout, dump du code ROM, rvlation chimique Utilisation de MEB, FIB ou autre pour rvlation du contenu EEPROM
Corruption de donnes sur le (les) bus Peuvent affecter un tout petit nombre de cycles CPU
CALCUL F(X,Y)
volt
Y
(DONNEE)
t
CALCUL ROUND 1
RE=010001 K0=110101
volt
S1
P(K0,RE)=1010
63
7/9/2004
SO CON
Classe 1 bit i du rsultat = 1
conso donne 1 conso donne 2
DPA
CON
Classe 0 bit i du rsultat = 0
conso donne 3
conso donne 4
CON SO 4
SO 3
CON
SO 1
CON
conso donne 3
SO 3
DPA
CON
CON
SO 2
SO 4
64
7/9/2004
+ +
+ +
i tn bi = 1
+
64 TRACES DPA
DONNEES
01011...1 10010...0
N donnes de 64 bits
1
01101...1
2
Hypothse de cl EXACTE
bi tn
i =
+
0
+ + +
HYPOTHESES CLES
+
000000 000001
64 valeurs hypothtiques pour les 6 bits de la cl partielle K0
111111
65
7/9/2004
ADDRESSES Interface
and/or
Interface
5V NC I/O
RAM ROM
CPU DATA
- 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.
66
7/9/2004
"Cryptographie "Contrle des droits d accs "Collaboration avec le MMU HW "Certification commune HW/SW ( Critres Communs )
67
7/9/2004
68
7/9/2004
BSS MS
MSC
MSC
Shows relationships
Radio Interface MS: BSS: MSC: HLR: Mobile Station Base Station System Mobile Services Switching Centre Home Location Register
Interface avec le rseau fixe Visited Location Register Operation and Maintenance Centre Equipment Identity Register Authentication Centre
69
7/9/2004
70
7/9/2004
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
71
7/9/2004
72
7/9/2004
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
73
7/9/2004
2F/
DFGSM DFTELECOM
EFADN
DFIS-41
EFICCID
EFELP
DFGRAPHICS
EFFND
EFSMS
6F/
EFCCP EFMSISDN EFSMSP EFSMSS EFLND
4F/
EFIMG
EFSMSR 4FXX
EFSND
EFEXT1
EFEXT2
EFEXR3
EFBDN
EFEXT4
Continued
74
7/9/2004
EFIMSI
EFKC
EFPLMNsel
EFHPLMN
EFACMmax
EFSST
EFACM
EFGID1
EFGID2
EFPUCT
EFCBMI
EFSPN
EFCBMID
EFBCCH
EFACC
EFFPLMN
EFLOCI
EFAD
EFPHASE
EFVGCS
EFVGCSS
EFVBS
75
7/9/2004
Continued
EFVBSS
EFAAeM
EFECC
EFCBMIR
EFNIA
EFDCK
EFCNL
EFK.GPRS
EFLOCIGPRS
DFIRIDIUM
DFGlobst
DFICO
DFACeS
DFPCS1900
76
7/9/2004
77
7/9/2004
Procedures
"Procdures gnrales:
Lecture dun EF Mise jour dun EF Extension dun EF ME ME ME
78
7/9/2004
Procedures
"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 Vrification CHV Substitution de valeur CHV Dconnexion CHV Mise en route CHV Dblocage CHV
NET NET NET NET NET NET NET NET MMI MMI MMI MMI MMI
79
7/9/2004
Procdures
"Procdures de souscription:
#
# # # # #
# #
Numros dappel MMI/ME (ADN, FDN, MSISDN, LND, SDN, BDN) Short messages (SMS) MMI Indications de facturation (AoC) MMI Paramtres sur Capacits de Configuration (CCP) MMI Slection PLMN MMI Cell Broadcast Message Identifier MMI (CBMI) Group Identifier Level 1 (GID1) MMI/ME Group Identifier Level 2 (GID2) MMI/ME
80
7/9/2004
Procedures
"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
81
7/9/2004
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 GE CHV 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
* * *
* * *
* *
* *
* *
82
7/9/2004
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
84
7/9/2004
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
85
7/9/2004
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
86
7/9/2004
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
88
7/9/2004
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
Applet GSMs
. . . Toolkit . . Applets . . . . . .
. . . . Applets . . . . . . .
Chargeur dApplets
Applet 2
Toolkit Applet 3
Applet n
Package Sim.access Package Simtoolkit
Activation
Accs Fichiers
Framework Toolkit
Activation Applet Proactive Commande Handler Gestionnaire de scurit Applet
APDU e.g. Enveloppes Polling Proactive, 91XX, Fetch, Commandes Proactives , Rponse Terminal
Installation Dsinstall./Applet
Securit
Accs Fichiers
Fichiers
NOTE 1: The processus installation/dsinstallation est dfini dans les normes GSM []
91
7/9/2004
Basic Infos
User Authentification
Services disponibles
92
7/9/2004
93
7/9/2004
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
7/9/2004
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
94
95
7/9/2004
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);
7/9/2004
#
97
# #
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 Tentative: Modification simultane de r0 and r8, et recherche de collisions internes [BGW98]
k0 k1
k16 r0 r1 r8
r16
rptition 8 fois
k0
r'16
Ca Camarche! marche!
98 7/9/2004
99
7/9/2004
Agenda
Pourquoi EMV? Un bref rappel sur EMV Les apports scuritaires Traitement des donnes scuritaires par les Rseaux Cartes VISA/MCI
100
7/9/2004
Etat de la Technologie:
Obsolescence de la technologie piste magntique (35 ans dage) Maturit de la technologie puce (25 ans dexistence)
101
7/9/2004
Types de fraude
BANK
04/01 CV MS SALLYWILSON
VISA
BANK
04/01 CV MS SALLY WILSON
VISA
102
7/9/2004
PVN Contrefaon Usage abusif (2) National Emetteur International Acqureur International
Dploye en UK Pilotes dans une vingtaine de pays Base du prochain systme bancaire franais
104 7/9/2004
VIS 1.4.0
& Europay
105
7/9/2004
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)
106
7/9/2004
Objectif
Eliminer la contrefaon carte Rendre la duplication carte difficile voire impossible
La Mthode
Le terminal vrifie les cryptogrammes SDA / DDA / CDA
107
7/9/2004
108
7/9/2004
Lauthentification en SDA
La CARTE contient : Card Issuer Public Key Certificate PI : Public information S=F(PI, Issuer Private Key)
Le terminal lit les diffrentes informations dans la carte Le terminal recouvre la cl publique de lmetteur Le terminal vrifie la signature
109
7/9/2004
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
110 7/9/2004
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
111 7/9/2004
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
112
7/9/2004
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
113
7/9/2004
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
114
7/9/2004
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
115
7/9/2004
Commande: ReadBinary
CLA INS P1 P2 Le xx xx Dataout String of bytes 00 00 B0 100b || SFI Address B0 Address
ISO ISO
Commande: WriteBinary
CLA INS P1 P2 Lc xx xx xx xx Datain String of bytes String of bytes + MAC (8 bytes) 00 00 04 04 D0 100b || SFI Address D0 Address
Clear write (using SFI) Clear write (current EF) Secure write (using SFI) Secure write (current EF)
"
Command: UpdateBinary
CLA INS P1 P2 Lc xx xx xx xx Datain String of bytes String of bytes + MAC (8 bytes) 00 00 04 04 D6 100b || SFI Address D6 Address
Clear update (using SFI) Clear update (current EF) Secure update (using SFI) Secure update (current EF)
7/9/2004
EMV
P1 00
P2 00
Lc 02
Datain 8300
Le xx
80
A8
Commande: GenerateAC
CLA INS P1 AC type AC type P2 00 00 Lc 1DEMV2 20MCL 1FEMV2 11MCL Datain CDOL1 data CDOL2 data Le Dataout 14EMV2 CID, ATC, 21MCL AC, IAD* 14EMV2 CID, ATC, 21MCL AC, IAD*
EMV EMV
80 80
AE AE
P1 00 00 00
P2 00 00 00
Lc 08 08 08
84 84 84
1E 18 16
7 8
ONLINE
SCRIPT PROCESSING
10
11
118 7/9/2004
COMPLETION
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
119
BANK B
BANK C
7/9/2004
1 2
BANK C
5
Switching & clearing center
3 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
120 7/9/2004
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
121
7/9/2004
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
122
7/9/2004
Poststatus
LSN Counterfeit
(2)
Abuse
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
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 :
124
7/9/2004
"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
125
7/9/2004
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
126
7/9/2004
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
127
7/9/2004
128
7/9/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
129
7/9/2004
Scurit
Diffrentiateur essentiel Importance de la mthodologie Critres Communs Approche scuritaire prventive supporte par des techniques de preuve et modlisation abstraites
130
7/9/2004
Disponibilit de la technologie
PDA
2004
2002
2000
1998
1996
Disponibilit de la technologie
2005 2004 2003 2002 2001 2000 1999 1998 1997
132
2006
WIM/XML/TCP-IP/ Biomtrie
7/9/2004