Vous êtes sur la page 1sur 100

La Lanorme normeEMV EMV

Samia Bouzefrane Matre de Confrences CEDRIC CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

La Lanorme normeEMV EMV: :introduction introduction

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Contexte de la norme
EMVCo manages, maintains and enhances the EMV Integrated Circuit Card Specifications for chip-based payment cards and acceptance devices, including point of sale (POS) terminals and ATMs. EMVCo also establishes and administers testing and approval processes to evaluate compliance with the EMV Specifications. EMVCo is currently owned by American Express, JCB, MasterCard and Visa.

A primary goal of EMVCo and the EMV Specifications is to help facilitate global interoperability and compatibility of chip-based payment cards and acceptance devices. This objective extends to new types of payment devices as well, including contactless payment and mobile payment.

Source : http://www.emvco.com

(2009)

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

EMV
Standard des cartes de paiement depuis 1995 Organismes fondateurs (dc. 1993): - Europay International (rachet par Mastercard en 2002) ; - MasterCard International ; - Visa International ; Rejoint par : -le japonais JCB International (depuis Dc. 2004) -lamricain American Express (depuis Fv. 2009) Premire version des spcifications en 1996. En France, depuis fin 2006 les cartes bancaires et les terminaux de paiement lectroniques (TPE) respectent le standard EMV.

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Structure de lorganisation

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Spcifications EMV

Spcifications disponibles sur http://www.emvco.com Longue spcification de lordre de 867 pages

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Plusieurs parties
Integrated Circuit Card (ICC) Specifications for Payment Systems Version 4.1, mai 2004 Book 1 Application Independent ICC to terminal Book 2 Security and Key Management Book 3 Application Specification Book 4 Cardholder, Attendant, and Acquirer
7 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Dploiement EMV

En 2005, il y avait : 176 millions cartes EMV sur 550 millions de cartes circulant en Europe

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Dploiement de cartes EMV

Source : International Master Card


9 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Dploiement de terminaux EMV

10

Source : International Master Card

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Dploiement de lEMV aujourdhui

Europe : - Zone SEPA (Single Euro Payment Area) - Migration vers lEMV de Janvier 2008 au 31 Dcembre 2010. - En 2010: 100% des cartes doivent tre conformes lEMV - En 2010, 590 millions de cartes bancaires EMV seront en circulation

Dans le monde (Europe, Asie et Amrique Latine) - En 2010, 830 millions de cartes EMV en circulation.

USA : pas de cartes conformes lEMV, idem pour les cartes e-ID.

11

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Raisons de la migration
Liability shift les cots induits par une fraude lecteur ou terminal seront pris en charge par les banques (metteurs de la carte) ou les commerants dont les matriels ne seraient pas conformes EMV

Fraude diffrente selon les pays et les systmes de paiement

12

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Spcifications EMV

Spcifications EMV: -bases sur la norme ISO/IEC 7816 -doivent tre lues conjointement avec la norme ISO Si des dfinitions fournies dans EMV sont diffrentes de la norme ISO alors les dfinitions de la norme EMV remplacent celles de lISO Ces spcifications doivent tre utilises par : -Les fabricants de ICC et de terminaux -Les concepteurs de systmes de paiement -Les institutions financires qui implantent des applications financires sur ICC

13

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book Book1 1: :Application ApplicationIndependent IndependentICC ICCto toTerminal Terminal


Interface InterfaceRequirements Requirements

14

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book1 : la carte

Dcrit - les caractristiques mcaniques : contact, dimension, etc. - les caractristiques lectriques : voltage, impdance - Answer to Reset - Description du protocole de transaction - Slection dapplication

Conforme aux spcifications de lISO 7816

15

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Normalisation parfaite
Quel que soit le fabricant de la carte puce, celle-ci doit tre lue par nimporte quel distributeur dans le monde Pour garantir cette interoprabilit, la normalisation concerne au moins 3 points: -Des paramtres physiques : taille de la carte, position de la puce et ses contacts -Des paramtres lectriques : tension dalimentation, niveaux lectriques utiliss -Des paramtres logiciels qui dfinissent le mode de dialogue avec la carte (commandes)

16

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractristiques mcaniques
La carte doit tre opaque aux rayons UV (la puce insensible aux rayons UV) La carte doit rsister aux dtriorations de sa surface la carte doit protger la puce lors de manipulation de stockage lors dune utilisation normale La zone des contacts doit rsister la pression cause par une bille dacier de 1,55 mm de diamtre applique avec une force intrieure 1,5 N. La puce doit rsister aux rayons X La carte ne doit pas tre endommage par un champ magntique statique de 79 500 A/tr.m. etc.

17

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Comme dans la norme ISO 7816-1


dfinit les caractristiques physiques des cartes puce contact, ex : la gomtrie, la rsistance, les contacts, etc.

18

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Comme dans lISO 7816-2

Valeurs en mm

19

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Les diffrents contacts

SWP (Single Wire Protocol)

USB

USB

Vcc: tension lectrique (5 V) RST: cest le reset , initialise le microprocesseur (warm reset) cold reset = coupure et rtablissement de lalimentation CLK: signal dhorloge car pas dhorloge sur la carte GND: masse Vpp: utilis dans les anciens modles pour avoir une autre source dalimentation I/O: utilis pour le transfert des donnes et des commandes entre la carte et le terminal. La communication est half-duplex.
20 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Signification des contacts


Vcc : tension dalimentation positive de la carte fournie par le terminal Vcc=5V +- 0.5V RST: commande de reset de la carte, fournie par le terminal (tension lectrique maximale = Vcc) CLK: Clock, horloge fournie la carte par le terminal -rythme les changes de donnes entre la carte et le terminal -Frquence entre 1 MHz et 5 MHz RFU nont pas besoin dtre prsents physiquement (utiliss pour lUSB) GND masse lectrique de la carte Vpp: utilis aujourdhuipar SWP (Single Wire Protocol) I/O entres/sorties des donnes (tension max = Vcc) - ligne bidirectionnelle (carte terminal)
21 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Synoptique interne dune carte circuit intgr

22

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Insertion de la carte dans un terminal

Dans le terminal, il y a un circuit dinterface (IFD: InterFace Device): Connexion de la carte (ICC) et activation de ses contacts par le circuit dinterface Reset de la carte Rponse au reset ou ATR (Answer to Reset) manant de la carte Dialogue entre la carte et lapplication via le circuit dinterface dsactivation des contacts par le circuit dinterface Retrait de la carte

23

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

ATR (Answer to Reset)

ATR (Answer To Reset): Ds que la carte est mise sous tension, elle envoie un message de rponse dinitialisation appel ATR, il peut atteindre une taille maximale de 33 octets. Il indique lapplication cliente les paramtres ncessaires pour tablir une communication avec elle. Paramtres envoys par la carte : - Le protocole de transport ; - La vitesse de transmission des donnes ; - etc.

24

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Comportements de la carte et du terminal lors dun Reset

25

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractristiques de lATR
LATR est la rponse de la carte au reset du terminal lATR au minimum = 2 octets, au maximum = 33 octets Transmission en mode asynchrone semi-duplex La frquence dhorloge comprise ente 1 et 5 MHz pour permettre nimporte quel lecteur de lire le 1er caractre Communication entre le lecteur et la carte via la ligne bidirectionnelle I/O

26

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Chronogramme de la rponse reset


Comm. Asynchrone : bit start + 8 bits de donnes + bit de parit paire + Temps de Garde (un ou plus bits Stop) L :niveau bas et H: niveau haut le dlai entre 2 caractres est au moins de 12 etu et TG = 2 etu

27

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Procdure de dtection derreurs


Si protocole T=0 est utilis : ICC (Carte) 11 etu 12me etu : Si I/O = tat H => car. correct Si I/O = tat L => car. erron Dlai=2 etu Envoi du caractre Signal dindication derreur Si parit fausse Envoi signal derreur (forcer un L pendant la dure de TG = 1 ou 2 etu) Acceptation de lATR Terminal

Si mcanisme de gestion derreur non trait, la carte ignore le signal

28

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre initial de lATR


Premier caractre de lATR = TS (caractre initial) TS peut prendre 2 valeurs : (HHLLLLLL)1 ou (HHLHHHLL)2 1: convention inverse : - niveau bas L = un logique - niveau haut H = zro logique - bit transmis en premier = bit 7 de poids fort - bit transmis en dernier=bit 0 de poids faible TS = 3F (en hxa) 2: convention directe : - niveau bas L = 0 logique - niveau haut H = 1 logique - bit transmis en premier = bit 0 de poids faible - bit transmis en dernier =bit 7 de poids fort TS = 3B (en hxa)
29 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre de format
appel aussi caractre T0 2me caractre de lATR compos de : -Partie Y1 (b8 b5) -Partie K (b1 b4) facultative (nest pas normalise, caractres dhistorique) K

Y1

(=6x) (=Ex) Prsence ou non de TA1 Prsence ou non de TB1 Prsence ou non de TC1 Prsence ou non de TD1
30 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre de format (suite)


Les poids forts de TD1 indique si les caractres suprieurs sont transmis dans lATR, par ex. : -Si TD1 contient 1010 => TD2 et TB2 sont transmis

31

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre TA1 1

32

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre TA1 (suite) 1


F et D dfinissent la vitesse de transmission utilise aprs lATR Vitesse de transmission= Dfs/F bits/s avec fs frquence dhorloge en Hz Dure dun bit (etu)= F/(D*fs) secondes Valeur min de fs = 1 MHz (selon la norme) Valeur max de fs : dicte par TA1 Si TA1 absent alors valeurs par dfaut utilises ( D=1 et F=372)

33

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre TB1 / TC1 1 1


TB1 : non utilis (valeur = 0) contient la valeur de la haute tension de programmation (Vpp) dans les anciennes cartes TC1 code un paramtre N= temps de garde supplmentaire Si 0 254 (FE en Hexa), TG=N*etu Si N=255 (FF en Hexa), TG = 11 etu si protocole T=1 et = 12 etu si protocole T=0 Pour les caractres envoys par la carte TG=2*etu. TC1 demand par la carte permet un TG supplmentaire uniquement dans le sens Lecteur -> Carte

34

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre TD1 1
Code le caractre TA2, TB2, TC2 et TD2 (bits poids forts) bits de poids faible (numro du protocole utilis T=1) TD1 est absent si protocole utilis est T=0

Prsence de TA2, TB2, TC2, TD2

protocole =(81)

35

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

ATR par dfaut

TA1 TB1 TC1 TD1

372 F

1 D

Nexiste pas dans les cartes EMV 0 N 1 protocole

TCK prsent si protocole 0 dans TD1 TCK = valeur de sorte quun Ou exclusif entre les octets de T0 (inclus) et TCK (inclus) soit nul

36

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Ngociation de vitesse de dialogue

Mcanisme propos depuis lexistence de la norme ISO 7816-3 en 1999 Implant plus rcemment dans les cartes Ide : changer de vitesse au cours des changes pour augmenter la scurit en brouillant les simples amateurs de piratage Les cartes dialoguent 9600 bits/s pendant lATR (vitesse connue de tout port srie RS232 facilite la ralisation despions)

37

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractre TA2 2
Si caractre TA2 existe => il indique les conditions de ngociation

38

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractres TB2 et TC2 2 2

Le terminal rejette une ATR qui contient TB2 (cense contenir Vpp) TC2 est dfini pour le protocole T=0 TC2 dfinit le temps qui spare le bit start de deux caractres successifs manant de lICC ou bien de lICC et du terminal (work waiting time) Le terminal rejette une ATR qui contient TC2=00 Le terminal accepte une ATR qui contient TC2=0A Le terminal rejette une ATR qui contient toute autre valeur pour TC2

39

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Caractres TD2 2

LATR ne doit pas contenir TD2 si T=0 est utilis LATR doit contenir TD2 = '31' si T=1 est utilis, indiquant que TA3 et TB3 sont prsents et que le protocole T=1 doit tre utilis.

40

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Les Lesprotocoles protocolesde detransmissionTPDU/APDU transmissionTPDU/APDU

41

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocoles de transport

Bass sur les protocoles T=0 ou T=1 dfinis dans lISO 7816-3 et 4 Diffrents niveaux : Couche physique (mme couche pour les deux protocoles) Couche liaison de donnes (gestion derreurs, options spcifiques pour les deux protocoles) Couche de transport (terminal transport layer) Couche application

42

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocoles TPDU

Il existe deux protocoles T=0 et T=1 (T=0 le plus utilis) Protocole T=0 (TPDU : Transmission Protocol Data Unit) - est de type caractre -mode de fonctionnement de type commande/rponse -Le terminal est linitiateur des changes

43

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Les changes

Elle dfinit les messages APDU (Application Protocol Data Units) utiliss par les cartes pour communiquer avec le terminal.

Les changes seffectuent en mode client-serveur,

Le terminal est toujours linitiateur de la communication.

44

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Format des commandes APDU

Commande APDU Entte obligatoire CLA INS P1 P2 Lc Corps optionnel Data field Le

CLA (1 octet): Classe dinstructions --- indique la structure et le format pour une catgorie de commandes et de rponses APDU INS (1 octet): code dinstruction: spcifie linstruction de la commande P1 (1 octet) et P2 (1 octet): paramtres de linstruction Lc (1 octet): nombre doctets prsents dans le champ donnes de la commande Avec Le=0, - Si cde dcriture => pas de donnes utiles - Si cde de lecture => la cde doit retourner 256 octets de donnes utiles Data field (octets dont le nombre est gal la valeur de Lc): une squence doctets dans le champ donnes de la commande

45

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

C-APDU

46

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Format des rponses APDU


Rponse APDU Corps optionnel Data field SW1 Partie obligatoire SW2

Data field (longueur variable): une squence doctets reus dans le champ donnes de la rponse SW1 (1 octet) et SW2 (1 octet): Status words (Mots dtat)tat de traitement par la carte

47

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemples de cartes
Champ de la commande APDU CLA INS Valeurs

00 = cartes Mono (porte-monnaie en France), Mastercard, Visa 20 = prsentation du code PIN, 40 = validation (ratification du code PIN) B0 = Lecture B2 = Lecture de record D0 = criture DC = criture de record A4 = Slection du rpertoire (directory) C0 = Demander une rponse (get an answer) paramtres contenant des adresses lire longueur prvue pour la rponse ou bien longueur de largument de linstruction contient Lc octets (octets crire, PIN vrifier, etc.)
samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

P1, P2 Lc Data
48

Couche Application

49

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Le Leprotocole protocoleT=1 T=1(ISO7816-3) (ISO7816-3)

50

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Protocole T=1
Protocole ambitieux Protocole peu utilis Protocole plus proche du modle OSI change de blocs structurs

51

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Structure dun bloc


Chaque bloc commence par un champ obligatoire - prologue field - donnes - champ de contrle -NAD = (adr du destinataire, adr metteur) -LEN: nb doctets de donnes (tte la cde APDU) -PCB: octet de contrle (b7b6=11 si bloc suprieur, =00 si bloc dinfos, =10 si rception prte) -LRC: rsultat du OuX de tous les octets le prcdant

52

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book Book2 2: :Security Securityand andKey KeyManagement Management

53

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book 2
Static Data Authentication Dynamic Data Authentication Cryptage du code PIN hors ligne Intgrit et confidentialit Mcanismes de scurit : cryptage symtrique, asymtrique, signature numrique. Algorithmes cryptographiques : RSA, DES, SHA-1

54

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Acteurs du protocole EMV

La banque du client : metteur de la carte

Le client : Carte bancaire

Le TPE (Terminal de Paiement Electronique ou le DAB (Distributeur Automatique de Billets): marchand

Une autorit de certification : CA

55

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Mcanismes dauthentification

Processus SDA : Static Data Authentication consiste pour le terminal vrifier une donne signe mise dans la carte durant sa personnalisation

Processus DDA : Dynamic Data Authentication en plus dun authentification statique, vrifie si la carte possde un secret dlivr par lmetteur de la carte

56

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

SDA : Static Data Authentication

57

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Organisation des acteurs dans SDA


metteur (Banque) Autorit de Certification

Infos
(Epub, Epriv) SigEpriv(Infos)

SigCApriv(Epub)

(CApriv, CApub)

Valeur dAuthentification (Infos,VA, Epub, Ecert)

Certificat (Ecert)

CApub

Carte bancaire

Transactions

Marchand
58 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

SDA : la personnalisation
Pendant la phase de personnalisation, la carte reoit les informations suivantes:

Le nom du porteur, le numro de la carte ou encore la date limite de validit de celle-ci (nots Information). une valeur dauthentification (not VA), signature RSA dInformations gnre avec la partie prive de la cl de lmetteur (VA=SigEpriv(Information) le certificat de lmetteur (Ecert) contenant sa cl publique signe par une autorit de certification le code PIN transmis au porteur de cette carte.

59

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Lors de lutilisation

VA= SigEpriv(Infos)

Ecert = SigCApriv(Epub)

(Infos, VA, Ecert) (Infos,VA, Epub, Ecert) Code PIN RSA(Ecert, CApub)=Epub RSA(VA, Epub)=Infos ?= Infos Demande du code PIN Code PIN en clair

(Infos, VA, Ecert) CApub

Carte bancaire

Marchand

60

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

SDA : la lutilisation
Avant toute transaction : la carte fournit au terminal Informations, le certificat Ecert de la banque mettrice, ainsi que la valeur dauthentification VA le terminal vrifie Ecert avec la cl publique de lautorit de certification (CApub) et vrifie VA avec la cl publique de la banque mettrice le terminal demande lutilisateur le code PIN et le transmet (en clair) la carte pour quelle le vrifie.

61

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Dynamic Data Authentication : DDA


metteur (Banque) Autorit de Certification

Infos (Cpriv, Cpub) (Epub, Epriv)

SigEpriv(Cpub)

SigCApriv(Epub)

(CApriv, CApub)

Certificat (Ccert)

Certificat (Ecert)

Carte bancaire

(Infos, Cpriv, Cpub, Ccert, Epub, Ecert)

CApub

Transactions

Marchand
62 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

DDA : la personnalisation
Pendant la phase de personnalisation, la carte reoit les informations suivantes:

Le nom du porteur, le numro de la carte ou encore la date limite de validit de celle-ci (nots Information). une paire de cls RSA (Cpub, Cpriv) un certificat (Ccert) contenant Cpub signe par lmetteur le certificat de lmetteur (Ecert) contenant sa cl publique Epub signe par une autorit de certification le code PIN transmis au porteur de cette carte.

63

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Lors de lutilisation

Ccert= SigEpriv(Cpub) (Infos, Ccert, Ecert)

Ecert = SigCApriv(Epub) (Infos, Ccert, Ecert) CApub

Talea (Infos,Cpub, Cpriv, Ccert, Epub, Ecert) Code PIN Res=SigCpriv(Calea, Talea), Calea RSA(Ecert, CApub)=Epub RSA(Ccert, Epub)=Cpub

Dcrypt(Res, Cpub) ?= Calea, Talea Demande du code PIN CryptCpub(Code PIN, alea1, alea2)

Carte bancaire
64

Marchand
samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

DDA : la lutilisation
Avant toute transaction : la carte fournit au terminal Informations, le certificat Ecert de la banque mettrice, et son certificat Ccert le terminal gnre une valeur alatoire Talea et lenvoie la carte la carte gnre une valeur alatoire Calea. Puis, elle signe Talea et Calea avec sa cl prive Cpriv. Elle envoie le rsultat de la signature et Calea au terminal. le terminal vrifie Ecert avec CApub et vrifie Ccert avec Epub. Puis, il vrifie la signature des alas avec Cpub. le terminal demande lutilisateur le code PIN et le transmet (chiffr par Cpub) la carte pour quelle le vrifie. Le code PIN est dabord concatn avec deux nouvelles valeurs alatoires fournies par la carte et le terminal, afin dviter les attaques par rejeu.
65 samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Mode de gestion des transactions

La transaction est finalise en ligne ou hors ligne, choix fait par la carte ou le terminal selon une politique de gestion de risques : slection alatoire validation en ligne pour n validations hors ligne en fonction du montant de la transaction en fonction du montant cumul des transactions dj effectues hors ligne ou dun plancher fix par le marchand.

66

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Fonctionnement en ligne et hors ligne


Une cl secrte (cl 3DES de 112bits) est utilise : unique par transaction note Ctrans calcule partir de Cmaitre et dun compteur de transactions (ATC: Application Transaction Counter) Cmaitre est une cl de la carte gnre par la banque mettrice partir dune cl matre de la banque Emaitre et des informations bancaires Cmaitre est mise dans la carte lors de la personnalisation ATC est un compteur sur deux octets gr par la carte et incrment chaque transaction.

67

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Transaction: personnalisation
metteur : Banque

Infos

Ematre

Cmatre

Cmatre

Carte bancaire

68

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Transaction: utilisation

Drivation dune cl unique par transaction:

Cmatre

Ctrans 3DES(Trans, Ctrans, ATC) ATC

Carte bancaire

Marchand

69

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Fonctionnement hors ligne

Le terminal envoie la carte les dtails de la transaction La carte produit alors un certificat de transaction TC en signant ses donnes (algorithme DES CBC-MAC) laide de Ctrans. Le terminal ne peut pas vrifier TC mais le garde pour validation ultrieure auprs de sa banque.

70

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Authentification CDA
CDA : Combined Data Authentication, variante de DDA utilise TC inclut TC dans le bloc de donnes sign par la carte Si la transaction doit tre approuve en ligne, le terminal envoie la banque mettrice le cryptogramme gnr par la carte (ARQC Authorization ReQuest Cryptogram). La banque le vrifie et gnre un cryptogramme rponse (ARPC Authorization ResPonse Cryptogramm) envoy la carte via le terminal Le terminal redemande alors la carte de lui gnrer un certifcat de transaction qui inclut lautorisation de la banque.

71

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Transaction en ligne

Drivation dune cl unique par transaction:


ARQC Cmatre Ctrans ARPC Ctrans(Trans, ARPC)

Carte bancaire

Marchand

Banque

72

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book Book3 3: :Application Applicationspecifications specifications

73

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book III : Spcification de lapplication

Partie 1: Les donnes et les commandes

Partie 2: Flux transactionnel

74

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Structure des fichiers


Les fichiers dun ICC sont vus du terminal comme une structure arborescente. Chaque branche de larbre est : Un ADF (Application Definition File) Un ADF est un point dentre pour un ou plusieurs AEF AEF (Application Elementary Files) : fichiers lmentaires ou un DDF (Directory Definition File) Un DDF est un point dentre dautres ADF ou DDF Un ADF est associ chaque application

75

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Exemple simple darborescence


MF (Master File): fichier matre, cest le rpertoire racine identifi par 3F 00

76

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Identification et nommage des fichiers


Identification par nom - un DDF ou un ADF peut tre rfrenc laide dun nom. - Le nom dun ADF correspond lAID ou bien contient lAID comme dbut du nom - Chaque nom doit tre unique au sein dune carte

Identification par SFI ( Short File Identifier) - Les SFI sont utiliss pour slectionner des AEF. - Chaque AEF dune application est identifi par un SFI 5 bits ayant des valeurs entre 1 et 30. - Un SFI doit tre unique dans une application

77

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

READ RECORD
Lit les enregistrements dun fichier structure linaire (bas sur les enregistrements) LICC retourne lenregistrement

78

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

PSE (Payment System Environment)


Un systme de paiement comprend : -Un ensemble de fichiers dans lICC -Des donnes au niveau du terminal fournies par le marchand - Un protocole dapplication compris par lICC et le terminal - Les applications sont identifies par AIDs de manire unique conformment lISO7816-5

79

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Identification dapplications de paiement


Elle dfinit la procdure denregistrement et dattribution des identifiants des applications (AID, ou Application IDentifier). Un unique AID est associ chaque application = {RID, PIX} RID : numro unique par fournisseur dapplication

Application identifier (AID) National registered application Proprietary application identifier provider (RID) extension (PIX) 5 octets 0 to 11 octets

80

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Interoprabilit
Le terminal doit tre capable de travailler avec tous les ICC supportant des PSE Conformit avec la norme ISO Les ICCs doivent tre capables de supporter des applications multiples, pas uniquement des applications de paiement

81

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Commandes conformes lISO 7816

- SELECT : slection de lapplication (spcifi dans Book 1) - READ RECORD - VERIFY : vrification hors ligne du code PIN (crypt ou en clair) - INTERNAL AUTHENTICATE - EXTERNAL AUTHENTICATE -GET CHALLENGE

82

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Commandes spcifiques lEMV

- GET PROCESSING OPTION : - GENERATE AC : produit un cryptogramme - APPLICATION BLOCK : bloque lapplication courante - APPLICATION UNBLOCK : dbloque une application bloque - CARD BLOCK : bloque la carte - PIN CHANGE/UNBLOCK: change ou dbloque le code PIN

83

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Flux dune transaction

84

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Application Selection

Le terminal choisit lapplication en slectionnant lAID de lappli (MasterCard, Visa, etc.) LADF est slectionn La carte retourne le FCI (File Control Information) de lADF

85

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Initiate Application Processing

Informe lICC que le traitement dune nouvelle transaction va commencer Opration effectue aprs la slection de lapplication Obtient de la carte le profile dchange(AIP: Application Interchange Profile) et la liste des fichiers utiliser durant la transaction : SDA ou DDA support, vrification du dtenteur de la carte, authentification de lmetteur, etc.

86

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Read Application Data

Le terminal lit les donnes contenues dans les fichiers de la carte et utilise les donnes de la carte pour vrifier lauthentification SDA ou DDA Le terminal utilise Read Record Opration effectue aprs lopration Initiate Application Processing

87

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Processing restrictions

Vrification : - du numro de version de lapplication - de lApplication Usage Control - des dates dexpiration de lapplication

88

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Application Usage Control

89

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Cardholder Verification

Vrification du dtenteur de la carte

La carte doit tre capable de supporter au moins une mthode de vrification de dtenteur de carte (CVM: Cardholder Verification Method). Ceci doit tre spcifi dans le profile dchange envoy par la carte. Le terminal doit utiliser cette mthode.

90

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Codes CVM

91

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

PIN Verification

La vrification du PIN - peut se faire en ligne ou hors ligne selon les valeurs de CVM - peut ncessiter le chiffrement du PIN - peut tre complte par une signature manuelle VERIFY PIN : vrification du code PIN (crypt ou non) hors ligne GET CHALLENGE: le terminal demande un nombre alatoire (nb) la carte

92

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Terminal Risk Management

Mcanismes utilises pour viter la fraude : - floor limit checking :vrification dinformations relatives la transaction sur le terminal (numro de compte, montant de la transaction, date de la transaction, etc.) - velocity checking : vrifier que les transactions effectues hors ligne seront compltes en ligne. - algorithmes de gestion des risques propres lmetteur de la carte

93

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Card Action Analysis

Comme consquence la gestion des risques : - la carte peut accepter une transaction hors ligne en gnrant un certificat de transaction TC. - la carte peut demander une autorisation en ligne en gnrant ARQC. - la carte peut dcider de rejeter la transaction.

94

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Online Processing

Online Processing : sert sassurer que lmetteur de la carte peut rviser, autoriser ou rejeter les transactions. EXTERNAL AUTHENTICATE : le terminal envoie les donnes dauthentification de la banque La carte vrifie les donnes dauthentification et gnre un cryptogramme.

95

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Script Processing

Script Processing : ne fait pas partie de lapplication Ensemble de commandes adresses la carte en mode administrateur : - PIN CHANGE/ UNBLOCK - APPLICATION BLOCK/UNBLOCK - CARD BLOCK.

96

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Book 4

Besoins fonctionnels et caractristiques physiques Gestion des donnes et du logiciel Interfaces utilises

97

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Sur Internet
Lutilisation des 16 chiffres visibles de la carte nest pas un protocole de paiement sr. Ce numro 16 chiffres nest plus imprim sur les facturettes 9 chiffres sont encore inscrits sur les facturettes et correspondent peu prs lala choisi par la banque. => possibilit de reconstituer le numro entier En 2001, un cryptogramme a t rajout et imprim uniquement sur la carte, appel CVV (Card Verification Value) chez Visa et CVC (Card Validation Code) chez MasterCard Ce code est gnr par la banque partir des informations bancaires du client et de donnes secrtes de la banque Ce code ne peut tre reconstruit car lalgorithme est secret Depuis 2004, le cryptogramme doit tre demand par tout site marchand en plus du numro de la carte afin de valider toute transaction distance auprs de la banque mettrice. Ce numro nest crit nulle part sauf sur la carte.

98

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Conclusion
Lauthentification DDA nest pas obligatoire et DDA est plus robuste mais plus chre En France, la majorit des cartes aujourdhui supportent DDA Lauthentification SDA : Code PIN envoy en clair Cl RSA de 1984 bits mais la donne dauthentification peut tre lue sans prsentation de code Aujourdhui, il manque des liens entre lauthentification, la vrification du code PIN et la gnration de TC : les requtes envoyes par le terminal peuvent tre interceptes en forgeant des rponses envoyer Nouvelle tendance de paiement : paiement sans contact (ISO 14443) => nouveaux systmes, nouveaux protocoles et nouvelles failles

99

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -

Bibliographie
1. Technology for smart cards: architecture and programmers guide, Zhiqun Chen, Addison Wesley, sept. 2000 2. Les Cartes puce: thorie et mise en uvre, Christian Tavernier, 2me dition, Ed. Dunod, 2007. 3. Normes EMV : http://www.emvco.com 4. Cours sur la carte puce et la norme EMV par Pierre Paradinas (CNAM) 5. Magazine MISCH, Hors Srie, Cartes puce : dcouvrez leurs fonctionnalits et et leurs limites, paru en novembre 2008. 6. Magazine Linux, Hors Srie, Cartes puce, paru en octobre 2008.

100

samia.bouzefrane@cnam.fr - CEDRIC ( CNAM) -