Cartes Bouzefrane EMV Nov2009

Embed Size (px)

Citation preview

  • [email protected] - CEDRIC ( CNAM) -11

    La norme EMVLa norme EMV

    Samia Bouzefrane

    Matre de Confrences

    CEDRIC CNAM

    [email protected]://cedric.cnam.fr/~bouzefra

  • [email protected] - CEDRIC ( CNAM) -22

    La norme EMV : introductionLa norme EMV : introduction

  • [email protected] - CEDRIC ( CNAM) -33

    EMVCo manages, maintains and enhances the EMV Integrated Circuit CardSpecifications for chip-based payment cards and acceptance devices, includingpoint of sale (POS) terminals and ATMs. EMVCo also establishes and administerstesting 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 acceptancedevices. This objective extends to new types of payment devices as well, includingcontactless payment and mobile payment.

    Source : http://www.emvco.com (2009)

    Contexte de la normeContexte de la norme

  • [email protected] - CEDRIC ( CNAM) -44

    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.

    EMVEMV

  • [email protected] - CEDRIC ( CNAM) -55

    Structure de lorganisationStructure de lorganisation

  • [email protected] - CEDRIC ( CNAM) -66

    Spcifications EMVSpcifications EMV

    Spcifications disponibles sur http://www.emvco.com

    Longue spcification

    de lordre de 867 pages

  • [email protected] - CEDRIC ( CNAM) -77

    Plusieurs partiesPlusieurs 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

  • [email protected] - CEDRIC ( CNAM) -88

    Dploiement EMVDploiement EMV

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

  • [email protected] - CEDRIC ( CNAM) -99

    Dploiement de cartes EMVDploiement de cartes EMV

    Source : International Master Card

  • [email protected] - CEDRIC ( CNAM) -1010

    Dploiement de terminaux EMVDploiement de terminaux EMV

    Source : International Master Card

  • [email protected] - CEDRIC ( CNAM) -1111

    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.

    Dploiement de lEMV aujourdhuiDploiement de lEMV aujourdhui

  • [email protected] - CEDRIC ( CNAM) -1212

    Liability shiftles cots induits par une fraude lecteur ou terminal seront prisen charge par les banques (metteurs de la carte) ou les commerantsdont les matriels ne seraient pas conformes EMV

    Fraudediffrente selon les pays et les systmes de paiement

    Raisons de la migrationRaisons de la migration

  • [email protected] - CEDRIC ( CNAM) -1313

    Spcifications EMVSpcifications 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

  • [email protected] - CEDRIC ( CNAM) -1414

    Book 1 : Application Independent ICC to Terminal Interface Requirements

    Book 1 : Application Independent ICC to Terminal Interface Requirements

  • [email protected] - CEDRIC ( CNAM) -1515

    Book1 : la carte 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

  • [email protected] - CEDRIC ( CNAM) -1616

    Normalisation parfaiteNormalisation 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)

  • [email protected] - CEDRIC ( CNAM) -1717

    Caractristiques mcaniquesCaractristiques 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 dacierde 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.

  • [email protected] - CEDRIC ( CNAM) -1818

    Comme dans la norme ISO 7816-1Comme dans la norme ISO 7816-1

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

  • [email protected] - CEDRIC ( CNAM) -1919

    Comme dans lISO 7816-2Comme dans lISO 7816-2

    Valeurs en mm

  • [email protected] - CEDRIC ( CNAM) -2020

    Les diffrents contactsLes diffrents contacts

    Vcc: tension lectrique (5 V)RST: cest le reset , initialise le microprocesseur (warm reset)

    cold reset = coupure et rtablissement de lalimentationCLK: signal dhorloge car pas dhorloge sur la carteGND: masseVpp: utilis dans les anciens modles pour avoir une autre source dalimentationI/O: utilis pour le transfert des donnes et des commandes entre la carte et le terminal. La communication est half-duplex.

    USB USB

    SWP (Single Wire Protocol)

  • [email protected] - CEDRIC ( CNAM) -2121

    Vcc : tension dalimentation positive de la carte fournie par le terminalVcc=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)

    Signification des contactsSignification des contacts

  • [email protected] - CEDRIC ( CNAM) -2222

    Synoptique interne dune carte circuit intgrSynoptique interne dune carte circuit intgr

  • [email protected] - CEDRIC ( CNAM) -2323

    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

    Insertion de la carte dans un terminalInsertion de la carte dans un terminal

  • [email protected] - CEDRIC ( CNAM) -2424

    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.

    ATR (Answer to Reset)ATR (Answer to Reset)

  • [email protected] - CEDRIC ( CNAM) -2525

    Comportements de la carte et du terminal lors dun ResetComportements de la carte et du terminal lors dun Reset

  • [email protected] - CEDRIC ( CNAM) -2626

    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

    Caractristiques de lATRCaractristiques de lATR

  • [email protected] - CEDRIC ( CNAM) -2727

    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

    Chronogramme de la rponse resetChronogramme de la rponse reset

  • [email protected] - CEDRIC ( CNAM) -2828

    Si protocole T=0 est utilis :

    Procdure de dtection derreursProcdure de dtection derreurs

    ICC (Carte) Terminal

    11 etu

    12me etu : Si I/O = tat H => car. correctSi I/O = tat L => car. erron

    Signal dindication derreur

    Envoi du caractre

    Dlai=2 etu

    Si parit fausse

    Envoi signal derreur (forcer un L pendant la dure de TG = 1 ou 2 etu)Si mcanisme de gestion

    derreur non trait, la carteignore le signal

    Acceptation de lATR

  • [email protected] - CEDRIC ( CNAM) -2929

    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 faibleTS = 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 fortTS = 3B (en hxa)

    Caractre initial de lATRCaractre initial de lATR

  • [email protected] - CEDRIC ( CNAM) -3030

    appel aussi caractre T02me caractre de lATRcompos de :

    -Partie Y1 (b8 b5) -Partie K (b1 b4) facultative (nest pas normalise, caractres dhistorique)

    Caractre de formatCaractre de format

    Y1 K

    Prsence ou non de TA1

    Prsence ou non de TB1Prsence ou non de TC1

    Prsence ou non de TD1

    (=6x)

    (=Ex)

  • [email protected] - CEDRIC ( CNAM) -3131

    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

    Caractre de format (suite)Caractre de format (suite)

  • [email protected] - CEDRIC ( CNAM) -3232

    Caractre TA1Caractre TA1

  • [email protected] - CEDRIC ( CNAM) -3333

    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)

    Caractre TA1 (suite)Caractre TA1 (suite)

  • [email protected] - CEDRIC ( CNAM) -3434

    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 supplmentaireSi 0 254 254 254 254 (FE en Hexa), TG=N*etuSi 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

    Caractre TB1 / TC1Caractre TB1 / TC1

  • [email protected] - CEDRIC ( CNAM) -3535

    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

    Caractre TD1Caractre TD1

    protocole

    Prsence deTA2, TB2, TC2, TD2

    =(81)

  • [email protected] - CEDRIC ( CNAM) -3636

    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

    ATR par dfautATR par dfaut

    372 1TA1

    TB1

    0TC1

    1TD1

    F D

    N

    protocole

    Nexiste pas dans les cartes EMV

  • [email protected] - CEDRIC ( CNAM) -3737

    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)

    Ngociation de vitesse de dialogueNgociation de vitesse de dialogue

  • [email protected] - CEDRIC ( CNAM) -3838

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

    Caractre TA2Caractre TA2

  • [email protected] - CEDRIC ( CNAM) -3939

    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

    Caractres TB2 et TC2Caractres TB2 et TC2

  • [email protected] - CEDRIC ( CNAM) -4040

    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.

    Caractres TD2Caractres TD2

  • [email protected] - CEDRIC ( CNAM) -4141

    Les protocoles de transmissionTPDU/APDU Les protocoles de transmissionTPDU/APDU

  • [email protected] - CEDRIC ( CNAM) -4242

    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

    Protocoles de transportProtocoles de transport

  • [email protected] - CEDRIC ( CNAM) -4343

    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

    Protocoles TPDUProtocoles TPDU

  • [email protected] - CEDRIC ( CNAM) -4444

    Les changesLes changes

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

    Les changes seffectuent en mode client-serveur,

    Le terminal est toujours linitiateur de la communication.

  • [email protected] - CEDRIC ( CNAM) -4545

    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 commandeP1 (1 octet) et P2 (1 octet): paramtres de linstruction Lc (1 octet): nombre doctets prsents dans le champ donnes de la commandeAvec Le=0, - Si cde dcriture => pas de donnes utiles

    - Si cde de lecture => la cde doit retourner 256 octets de donnes utilesData field (octets dont le nombre est gal la valeur de Lc): une squence doctets dans le champ donnes de la commande

    LeData fieldLcP2P1INSCLA

    Corps optionnelEntte obligatoire

    Commande APDU

    Format des commandes APDUFormat des commandes APDU

  • [email protected] - CEDRIC ( CNAM) -4646

    C-APDUC-APDU

  • [email protected] - CEDRIC ( CNAM) -4747

    Format des rponses APDUFormat des rponses APDU

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

    SW2SW1Data field

    Partie obligatoireCorps optionnel

    Rponse APDU

  • [email protected] - CEDRIC ( CNAM) -4848

    contient Lc octets (octets crire, PIN vrifier, etc.)Data

    longueur prvue pour la rponse ou bien longueur de largument de linstruction

    Lc

    paramtres contenant des adresses lireP1, P2

    20 = prsentation du code PIN,40 = validation (ratification du code PIN)B0 = LectureB2 = Lecture de recordD0 = critureDC = criture de recordA4 = Slection du rpertoire (directory)C0 = Demander une rponse (get an answer)

    INS

    00 = cartes Mono (porte-monnaie en France), Mastercard, VisaCLA

    ValeursChamp de la commande

    APDU

    Exemples de cartesExemples de cartes

  • [email protected] - CEDRIC ( CNAM) -4949

    Couche ApplicationCouche Application

  • [email protected] - CEDRIC ( CNAM) -5050

    Le protocole T=1 (ISO7816-3)Le protocole T=1 (ISO7816-3)

  • [email protected] - CEDRIC ( CNAM) -5151

    Protocole ambitieux

    Protocole peu utilis

    Protocole plus proche du modle OSI

    change de blocs structurs

    Protocole T=1Protocole T=1

  • [email protected] - CEDRIC ( CNAM) -5252

    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

    Structure dun blocStructure dun bloc

  • [email protected] - CEDRIC ( CNAM) -5353

    Book 2 : Security and Key Management Book 2 : Security and Key Management

  • [email protected] - CEDRIC ( CNAM) -5454

    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

    Book 2Book 2

  • [email protected] - CEDRIC ( CNAM) -5555

    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

    Acteurs du protocole EMVActeurs du protocole EMV

  • [email protected] - CEDRIC ( CNAM) -5656

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

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

    Mcanismes dauthentificationMcanismes dauthentification

  • [email protected] - CEDRIC ( CNAM) -5757

    SDA : Static Data AuthenticationSDA : Static Data Authentication

  • [email protected] - CEDRIC ( CNAM) -5858

    (Epub, Epriv)

    Marchand

    Autorit de Certification

    (CApriv, CApub)

    Infos

    metteur (Banque)

    Organisation des acteurs dans SDAOrganisation des acteurs dans SDA

    Carte bancaire

    CApub

    Transactions

    (Infos,VA,Epub, Ecert)

    SigCApriv(Epub)SigEpriv(Infos)

    Valeur dAuthentification

    Certificat (Ecert)

  • [email protected] - CEDRIC ( CNAM) -5959

    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 dInformationsgnre 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.

    SDA : la personnalisationSDA : la personnalisation

  • [email protected] - CEDRIC ( CNAM) -6060

    Marchand

    Lors de lutilisationLors de lutilisation

    Carte bancaire

    CApub

    (Infos,VA,Epub, Ecert)Code PIN

    Ecert = SigCApriv(Epub)VA= SigEpriv(Infos)

    (Infos, VA, Ecert)

    RSA(Ecert, CApub)=Epub

    RSA(VA, Epub)=Infos ?= Infos

    Demande du code PIN

    Code PIN en clair

    (Infos, VA, Ecert)

  • [email protected] - CEDRIC ( CNAM) -6161

    Avant toute transaction :

    la carte fournit au terminal Informations, le certificat Ecert de la banquemettrice, 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.

    SDA : la lutilisationSDA : la lutilisation

  • [email protected] - CEDRIC ( CNAM) -6262

    (Epub, Epriv)

    Marchand

    Autorit de Certification

    (CApriv, CApub)Infos

    metteur (Banque)

    Carte bancaire

    CApub

    Transactions

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

    SigCApriv(Epub)SigEpriv(Cpub)

    Certificat (Ccert)Certificat (Ecert)

    Dynamic Data Authentication : DDADynamic Data Authentication : DDA

    (Cpriv, Cpub)

  • [email protected] - CEDRIC ( CNAM) -6363

    DDA : la personnalisationDDA : 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.

  • [email protected] - CEDRIC ( CNAM) -6464

    Marchand

    Lors de lutilisationLors de lutilisation

    Carte bancaire

    CApub(Infos,Cpub, Cpriv, Ccert, Epub, Ecert)Code PIN

    Ecert = SigCApriv(Epub)Ccert= SigEpriv(Cpub)

    (Infos, Ccert, Ecert)

    RSA(Ecert, CApub)=Epub

    RSA(Ccert, Epub)=Cpub

    Demande du code PIN

    CryptCpub(Code PIN, alea1, alea2)

    Talea

    Res=SigCpriv(Calea, Talea), Calea

    (Infos, Ccert, Ecert)

    Dcrypt(Res, Cpub) ?= Calea, Talea

  • [email protected] - CEDRIC ( CNAM) -6565

    Avant toute transaction :

    la carte fournit au terminal Informations, le certificat Ecert de la banquemettrice, 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 deuxnouvelles valeurs alatoires fournies par la carte et le terminal, afin dviter les attaques par rejeu.

    DDA : la lutilisationDDA : la lutilisation

  • [email protected] - CEDRIC ( CNAM) -6666

    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 oudun plancher fix par le marchand.

    Mode de gestion des transactionsMode de gestion des transactions

  • [email protected] - CEDRIC ( CNAM) -6767

    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 partirdune 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.

    Fonctionnement en ligne et hors ligneFonctionnement en ligne et hors ligne

  • [email protected] - CEDRIC ( CNAM) -6868

    Ematre

    Carte bancaire

    Cmatre

    Cmatre

    metteur : Banque

    Infos

    Transaction: personnalisationTransaction: personnalisation

  • [email protected] - CEDRIC ( CNAM) -6969

    Carte bancaire

    Cmatre

    Transaction: utilisationTransaction: utilisation

    Marchand

    Ctrans

    ATC3DES(Trans, Ctrans, ATC)

    Drivation dune cl unique par transaction:

  • [email protected] - CEDRIC ( CNAM) -7070

    Le terminal envoie la carte les dtails de la transaction

    La carte produit alors un certificat de transaction TC en signant sesdonnes (algorithme DES CBC-MAC) laide de Ctrans.

    Le terminal ne peut pas vrifier TC mais le garde pour validation ultrieure auprs de sa banque.

    Fonctionnement hors ligneFonctionnement hors ligne

  • [email protected] - CEDRIC ( CNAM) -7171

    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 (ARPCAuthorization 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.

    Authentification CDAAuthentification CDA

  • [email protected] - CEDRIC ( CNAM) -7272

    Carte bancaire

    Cmatre

    Transaction en ligneTransaction en ligne

    Marchand

    CtransARQC

    Drivation dune cl unique par transaction:

    Banque

    ARPC

    Ctrans(Trans, ARPC)

  • [email protected] - CEDRIC ( CNAM) -7373

    Book 3 : Application specificationsBook 3 : Application specifications

  • [email protected] - CEDRIC ( CNAM) -7474

    Book III : Spcification de lapplication

    Partie 1: Les donnes et les commandes

    Partie 2: Flux transactionnel

  • [email protected] - CEDRIC ( CNAM) -7575

    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 AEFAEF (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

    Structure des fichiersStructure des fichiers

  • [email protected] - CEDRIC ( CNAM) -7676

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

    Exemple simple darborescenceExemple simple darborescence

  • [email protected] - CEDRIC ( CNAM) -7777

    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

    Identification et nommage des fichiersIdentification et nommage des fichiers

  • [email protected] - CEDRIC ( CNAM) -7878

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

    READ RECORDREAD RECORD

  • [email protected] - CEDRIC ( CNAM) -7979

    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

    PSE (Payment System Environment)PSE (Payment System Environment)

  • [email protected] - CEDRIC ( CNAM) -8080

    0 to 11 octets5 octets

    Proprietary application identifier extension (PIX)

    National registered application provider (RID)

    Application identifier (AID)

    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

    Identification dapplications de paiementIdentification dapplications de paiement

  • [email protected] - CEDRIC ( CNAM) -8181

    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

    InteroprabilitInteroprabilit

  • [email protected] - CEDRIC ( CNAM) -8282

    - 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

    Commandes conformes lISO 7816

  • [email protected] - CEDRIC ( CNAM) -8383

    - 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

    Commandes spcifiques lEMV

  • [email protected] - CEDRIC ( CNAM) -8484

    Flux dune transactionFlux dune transaction

  • [email protected] - CEDRIC ( CNAM) -8585

    Application SelectionApplication 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

  • [email protected] - CEDRIC ( CNAM) -8686

    Initiate Application ProcessingInitiate 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 InterchangeProfile) et la liste des fichiers utiliser durant la transaction : SDA ou DDA support, vrification du dtenteur de la carte, authentification de lmetteur, etc.

  • [email protected] - CEDRIC ( CNAM) -8787

    Read Application DataRead 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

  • [email protected] - CEDRIC ( CNAM) -8888

    Processing restrictionsProcessing restrictions

    Vrification :

    - du numro de version de lapplication

    - de lApplication Usage Control

    - des dates dexpiration de lapplication

  • [email protected] - CEDRIC ( CNAM) -8989

    Application Usage ControlApplication Usage Control

  • [email protected] - CEDRIC ( CNAM) -9090

    Cardholder VerificationCardholder 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.

  • [email protected] - CEDRIC ( CNAM) -9191

    Codes CVMCodes CVM

  • [email protected] - CEDRIC ( CNAM) -9292

    PIN VerificationPIN 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

  • [email protected] - CEDRIC ( CNAM) -9393

    Terminal Risk ManagementTerminal 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

  • [email protected] - CEDRIC ( CNAM) -9494

    Card Action AnalysisCard 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.

  • [email protected] - CEDRIC ( CNAM) -9595

    Online ProcessingOnline 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.

  • [email protected] - CEDRIC ( CNAM) -9696

    Script ProcessingScript 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.

  • [email protected] - CEDRIC ( CNAM) -9797

    Book 4Book 4

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

  • [email protected] - CEDRIC ( CNAM) -9898

    Sur InternetSur 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 (CardValidation 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.

  • [email protected] - CEDRIC ( CNAM) -9999

    ConclusionConclusion

    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 clairCl 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

  • [email protected] - CEDRIC ( CNAM) -100100

    1. Technology for smart cards: architecture and programmers guide, ZhiqunChen, 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.

    BibliographieBibliographie