Université de Montréal - Sécurité des cartes de paiementsalvail/securite/notes2014/...Le...

Post on 15-Sep-2020

0 views 0 download

Transcript of Université de Montréal - Sécurité des cartes de paiementsalvail/securite/notes2014/...Le...

Sécurité des cartes de paiement

Université de Montréal

mars 2011

Nicolas Guay

Directeur de pratique, Monétique

Groupe GFI Solutions

2

Au menu

• Le paiement par carte, les risques et objectifs

de sécurité

• Carte à bande magnétique

• Carte à puce (standard EMV)

• Conclusion

3

Le paiement par carte, les risques et objectifs

de sécurité

4

Les cartes de paiement au Canada

• Environ 700 000 terminaux de paiement

• Environ 58 000 guichets automatiques

Sources: Association des banquiers canadiens, Interac et Statistique Canada

Cartes de crédit MasterCard et Visa (2010)

Cartes 71 millions

Valeur des achats 280 milliards $

Nombre d’achats 2,7 milliards

Paiement Direct Interac (2009)

Valeur des achats 171 milliards $

Nombre d’achats 3,9 milliards

Opérations aux guichets automatiques bancaires (2008)

Nombre d’opérations (retrait,

dépôt, paiement et transfert)

> 1 milliard

27,7 millions de

canadiens âgés de

plus de 15 ans (2008)

6

Degré zéro de la transaction par carte

• À la base, une transaction par carte requiert

– Numéro de compte + date d’expiration

• L’émetteur produit un numéro d’autorisation

qui fait foi de son acceptation de la

compensation éventuelle des fonds.

Montant, PAN, EXP

Numéro d’autorisation

Émetteur

7

Le contexte de la transaction et le risque

• Point de vente traditionnel.

• Automate libre-service.

• « Carte non présente »:

– Commande postale ou téléphonique

– Internet

• Capacité ou non d’obtenir une autorisation de

l’émetteur:

– En ligne avec l’émetteur ou non.

8

Objectifs de sécurité /1

• Qualification du risque associé au marchand

et au détenteur.

• Intégrité.

• Authentification des parties:

– En particulier, de la carte et du détenteur.

• …Non répudiation…

9

Objectifs de sécurité /2

• Unicité de la transaction:

– Compteur de transaction dans le protocole.

• Gestion du risque lors de l’autorisation:

– En ligne (online):

• L’émetteur peut faire toutes les vérifications requises au niveau

du compte.

• Analyse comportementale.

– Hors ligne (offline) : heuristiques pour gérer le risque.

• Montant limite.

• Nombre limite de transactions hors ligne sur une carte.

• Liste noire de cartes déclarées en problème.

10

Principaux scénarios de fraude

• Contrefaçon.

• Duplication de carte (clonage).

• Utilisation de cartes perdues ou volées.

• Utilisation illégitime des données de carte

dans un contexte de carte non présente.

• Les effets de la fraude:

– Perte financière.

– Perte de confiance.

11

Carte à bande magnétique

12

Transaction avec lecture de la bande

magnétique

• La bande magnétique contient entre autres:

– Numéro de compte primaire (PAN).

– Date d’expiration (EXP).

– Code vérificateur (CVC).

13

Authentification de la carte :

Code vérificateur (CVC)

• Donnée statique qui ne peut être contrefaite: caractéristiques d’une donnée aléatoire.

• Vérifié lors de l’autorisation en ligne.

• Pour des raisons pratiques, il s’agira typiquement d’un cryptogramme calculé sur des données présentes sur la piste magnétique. Ex.:

CVC = FK( PAN, EXP )

où F est une fonction utilisant 3DES.

CVC

vérifié ?PAN, EXP, CVC

Émetteur

• Cependant: Il s’agit d’une donnée statique, donc « clonable ».

14

Authentification du détenteur

• Méthodes possibles:

– Aucune.

– Signature.

– Numéro d’identification personnel (NIP).

15

Authentification du détenteur par un NIP

• Le NIP est chiffré par le terminal et vérifié par l’émetteur.

• Chiffrement Triple DES:

PIN_BLOCK = FK( PAN, PIN )

où F est une fonction utilisant 3DES

• Problèmes: – Tous les terminaux doivent-ils contenir les clés secrètes de

tous les émetteurs ?

– Le NIP est secret, et devrait l’être aussi pour l’émetteur !

16

Zone du réseauZone de l’acquéreur Zone de l’émetteur

PIN Translation

• Concept de traduction du NIP : déchiffrement, puis chiffrement sur une nouvelle clé pour passer le relais entre l’acquéreur, le réseau et l’émetteur.

• La traduction du NIP et la vérification est faite de façon à ce que le NIP en clair ne soit pas accessible.– Les clés sont conservées dans les boîtes de sécurité

(Hardware Security Module) qui font les calculs cryptographiques.

Acquéreur ÉmetteurHSM

Traduction du

NIP(KA à KR)

HSMHSM

Traduction du

NIP(KR à KE)Vérification

du NIP (KE)

Saisie et

chiffrement

du NIP (KA)

17

Carte à puce (EMV)

18

Objectifs

• Permettre à l’émetteur de gérer le risque des

transactions hors ligne (sans connexion à l’émetteur).

• Renforcer le niveau de sécurité associé à:

– Intégrité.

– Authentification des parties (carte, détenteur, émetteur).

• « EMV »

– Acronymes des corporations fondatrices:

Europay, MasterCard, Visa.

– Aujourd’hui: American Express, JCB, MasterCard, Visa.

19

Dialogue terminal/carte

• Protocole d’échange de terminal à carte basé

sur un modèle requête/réponse (ISO 7816).

• Le terminal a toujours l’initiative:

Requête

Réponse

20

Principales étapes du traitement d’une

transaction EMV

1. Démarrage de la transaction au terminal.

2. Authentification hors ligne de la carte.

3. Authentification du détenteur.

4. Gestion du risque par le terminal.

5. Gestion du risque par la carte.

6. Autorisation en ligne (si applicable).

7. Finalisation de la transaction.

21

Principales étapes du traitement d’une

transaction EMV

1. Démarrage de la transaction au terminal.

2. Authentification hors ligne de la carte.

3. Authentification du détenteur.

4. Gestion du risque par le terminal.

5. Gestion du risque par la carte.

6. Autorisation en ligne (si applicable).

7. Finalisation de la transaction.

22

Authentification hors ligne de la carte

• 4 options possibles:

– Pas d’authentification par le terminal;

• Acceptable pour terminaux avec capacité en ligne

seulement, car authentification par l’émetteur lors de la

requête en ligne (ex.: guichet automatique).

– SDA – Static Data Authentication;

– DDA – Dynamic Data Authentication;

– CDA – Combined Data Authentication.

• Examinons SDA et DDA plus en détail…

23

Authentification statique de la carte (SDA)

– Principe

• Au moment de la création de la carte, l’émetteur calcule une signature sur des données critiques de la carte. Exemple de données critiques :– No de compte (PAN).

– Dates de validité et d’expiration.

• Au moment de la transaction, le terminal vérifie que cette signature correspond bien aux données dans la carte.

• Objectifs : – Assurer l’intégrité des données critiques de la carte et

qu’elles proviennent bien d’un émetteur légitime.

Comment réaliser ceci ?

– Problème: on ne peut pas installer dans tous les terminaux du monde des clés secrètes de tous les émetteurs du monde.

Solution: Crypto à clés publiques.

24

Authentification statique de la carte (SDA)

– Fonctions requises

• Génération d’une signature:

– Hachage SHA-1 et déchiffrement RSA sur une clé

secrète.

• Vérification d’une signature:

– Hachage SHA-1 et chiffrement RSA sur une clé

publique.

• Normes actuelles: Utilisation de clés de 1024

à 1984, à la discrétion de l’émetteur.

25

Authentification statique de la carte (SDA) –

Fonctionnement /1

Émetteur

Autorité

de

certification

(CA) Acquéreur

Issuer

Public Key

PI

Issuer

Private Key

SI

CA

Private Key

SCA

Issuer PK

Certificate

Static Card

Data

Static Card

Data

Signature

CA

Public Key

PCA

Issuer PK

Certificate

CA

Public Key

PCA

ACME Merchant Services

La Banque Populaire

inc.

26

Authentification statique de la carte (SDA) –

Fonctionnement /2

CA

Public Key

PCA

• Le terminal– Obtient les données pertinentes de la carte.

– Utilise la clé publique de l’autorité de certification (PCA) pour vérifier que la clé publique de l’émetteur (PI) a été certifiée par l’autorité de certification (CA).

– Utilise la clé publique de l’émetteur (PI) pour vérifier la signature des données de la carte (Static Card Data Signature).

• Si la vérification est réussie, le terminal peut faire confiance aux données de la carte– Elle sont intègres et proviennent bien d’un émetteur certifié.

Issuer

Public Key

PI

Issuer PK

Certificate

Static Card

Data

Static Card

Data

Signature

27

Authentification statique de la carte (SDA)

– Conclusion

• L’objectif est rempli:

– Si on change des données critiques sur la carte, la signature

ne sera pas vérifiée.

– Si on tente de créer une carte de toute pièce, on ne pourra

pas créer un certificat de clé publique valide, puisqu’on n’a

pas accès à la clé secrète de l’autorité de certification (SCA).

• Protège contre la contrefaçon.

• Cependant:

– Si on clone parfaitement la carte, le terminal n’y verra que du

feu.

– Les transactions hors ligne sont vulnérables.

28

Authentification dynamique de la carte

(DDA) – Principe

• On va protéger les données critiques, mais

aussi faire intervenir des données

dynamiques, pour éviter les redites.

• La carte génère une signature dynamique au

moment de la transaction.

• Les données dynamiques signées incluent un

nombre aléatoire fournit par le terminal

pendant la transaction.

– C’est un « challenge ».

29

Authentification dynamique de la carte (DDA) –

Fonctionnement /1

Émetteur

Autorité

de

certification

(CA) Acquéreur

Issuer

Public Key

PI

Issuer

Private Key

SI

CA

Private Key

SCA

Issuer PK

Certificate

Static Card

Data

IC Card PK

Certificate

CA

Public Key

PCA

Issuer PK

Certificate

La Banque Populaire

inc.

ACME Merchant Services

CA

Public Key

PCA

IC Card

Public Key

PICC

IC Card

Private Key

SICC

30

• Le terminal– Utilise la clé publique de l’autorité de certification (PCA) pour vérifier

que la clé publique de l’émetteur (PI) a été certifiée par l’autorité de certification (CA).

– Utilise la clé publique de l’émetteur (PI) pour vérifier que les données de la carte et la clé publique de la carte (PICC) ont été certifiés par l’émetteur.

– Fournit à la carte un nombre aléatoire de son cru.

• La carte– Calcule à l’aide de sa clé secrète (SICC) une signature dynamique

sur des données dynamiques qui incluent le nombre aléatoire.

• Le terminal – Utilise la clé publique de la carte (PICC) pour vérifier la signature

dynamique.

Lecture des données

Nombre aléatoire

Signature dynamique

Authentification dynamique de la carte (DDA) –

Fonctionnement /2

31

Authentification dynamique de la carte

(DDA) – Conclusion

• Le « challenge »:– Assure que les données signées sont dynamiques, ce qui

évite les redites, et donne confiance au terminal.

• Le clonage n’est plus possible: il faudrait cloner ou découvrir la clé secrète de la carte (SICC), ce qui est considéré comme virtuellement impossible.

• Cependant: – Requiert une carte avec processeur crypto à clé publique:

plus coûteuse.

– Transaction potentiellement plus lente (temps de calcul de la carte).

– Ce protocole est encore vulnérable à une attaque par un intermédiaire entre la carte et le terminal (« man in the middle »).

32

Principales étapes du traitement d’une

transaction EMV

1. Démarrage de la transaction au terminal.

2. Authentification hors ligne de la carte.

3. Authentification du détenteur.

4. Gestion du risque par le terminal.

5. Gestion du risque par la carte.

6. Autorisation en ligne (si applicable).

7. Finalisation de la transaction.

33

Authentification du détenteur

• Méthodes d’authentification du détenteur:– Aucune;

– Signature;

– NIP en ligne (vérifié par l’émetteur);

– NIP hors ligne (vérifié par la carte): présenté chiffré ou présenté en clair.

• Méthode choisie selon les exigences de la carte et capacité du terminal.

• NIP en ligne: – Mêmes pratiques qu’avec les cartes à piste (expliqué plus

tôt).

– Requiert que la transaction soit autorisée en ligne avec l’émetteur.

34

NIP hors ligne présenté chiffré à la carte

• Quelle beau cas d’espèce pour le chiffrement

à clé publique!

Clé SICC

PIN

Sources du diagramme: VISA

35

NIP hors ligne présenté en clair à la carte

• La présentation chiffrée du NIP implique:– Carte à crypto processeur RSA, plus coûteuse.

– Des transactions potentiellement plus lentes.

• L’alternative est la présentation en clair.– Le terminal doit saisir le NIP et l’acheminer à la carte de

façon sécuritaire (sécurité physique et logique).

• Attaque « simple »: un équipement entre la carte et le lecteur écoute le NIP en clair. Balisé par:– Les normes applicables à la sécurité physique des claviers

NIP et à l’interface physiques entre la carte à puce et le lecteur.

– La sécurité de l’environnement opérationnel au point de service.

– D’autres éléments du protocole (traitements de la carte, autorisation par l’émetteur).

36

Principales étapes du traitement d’une

transaction EMV

1. Démarrage de la transaction au terminal.

2. Authentification hors ligne de la carte.

3. Authentification du détenteur.

4. Gestion du risque par le terminal.

5. Gestion du risque par la carte.

6. Autorisation en ligne (si applicable).

7. Finalisation de la transaction.

37

Cryptogramme de la transaction

• Il « scelle » le résultat de la transaction.

• Il s’agit d’un MAC calculé par la carte à l’aide de 3DES sur des données critiques de la transaction:

– Type de transaction;

– Montant;

– Date;

– Compteur de transaction;

– Statuts des diverses étapes de traitement de la transaction;

– Etc.

• Utilise une clé DES à cet effet inscrites dans la carte par l’émetteur au moment de la création de la carte.

38

Gestion de risque par le terminal, puis par

la carte

• Le terminal évalue le risque de la transaction et

propose à la carte comment traiter la transaction en

lui demandant de générer un cryptogramme.

• La carte évalue le risque de la transaction et

retourne un cryptogramme du type correspondant à

sa volonté.

– AAC: Refuser la transaction.

– ARQC: Demander une autorisation en ligne à l’émetteur.

– TC: Autoriser la transaction hors ligne.

Cryptogramme correspondant à ma volonté

SVP, générer cryptogramme (ma proposition)

39

Autorisation en ligne

• Si la transaction doit être autorisée en ligne (ARQC)…

• En plus des traitement d’autorisation traditionnels, l’émetteur valide le cryptogramme de la carte et retourne un cryptogramme de son cru (ARPC); par exemple calculé sur:

– l’ARQC et ;

– le code de statut de la transaction (indique si autorisé ou non).

• Authentification mutuelle carte – émetteur.

• Un cryptogramme final est généré après la communication avec l’émetteur.

ARQC

Générer cryptogramme

Émetteur

Requête autor., ARQC

Réponse autor., ARPC

AAC ou TC

Générer cryptogramme,

ARPC

ARQC

valide?

ARPC valide?

40

Cryptogramme de la transaction

et non répudiation

• Le cryptogramme généré par la carte fait foi de la transaction.– Y compris si la transaction a été autorisée hors ligne par la

carte (TC).

• Comme le cryptogramme protège les données de la transaction, y compris le statut de l’authentification du détenteur, et qu’il relie la transaction à la carte, c’est un outil de non répudiation puissant.

• En cas de contestation:– Entre les émetteurs et les acquéreurs, ce type de preuve est

de facto recevable: ils sont parties prenantes dans les mécanismes techniques.

– Face à un détenteur qui conteste une transaction, en pratique, c’est une autre histoire…

41

Non répudiation EMV…

Non, monsieur, il n’est pas

question que nous vous

remboursions. Nous avons la

preuve que vous avez bel et bien

fait cette transaction. Je vois très

bien dans nos systèmes que: TC = 1F6A82A07C951E33

42

Conclusion

43

Conclusion /1

• Le système de paiement par carte est soumis à plusieurs contraintes:– Rétrocompatibilité.

– Interopérabilité.

– Évolution ordonnée.

– Pratiques d’industrie.

• En particulier, la rétrocompatiblité affaiblit les mécanismes sécuritaires « dernier cri » :– Pourquoi se donner la peine de cloner une puce quand on

peut cloner la bande magnétique d’une carte à puce?

– Pourquoi se donner la peine de cloner la bande magnétique d’une carte de crédit quand on peut faire des achats sur le Web avec { numéro de compte, date d’expiration }?

44

Conclusion /2

• Diverses normes complémentaires viennent ajouter à

la sécurité, par exemple:

– PCI PED : Sécurité physique des terminaux et claviers NIP.

– PCI DSS : Sécurité des données sensibles (numéro de

compte primaire, données de bande magnétique et NIP).

• Aussi, des technologies permettent de sécuriser les

paiements sur le web:

– 3-D Secure, alias Verified by Visa et MasterCard Secure

Code.

• Et le jeu du chat et de la souris se poursuit…

45

Pistes bibliographiques…

• Paiement par carte à puce (EMV)

– Spécifications EMVCo : Book 1 à 4:

www.emvco.com

• Vision critique des standards et application

bancaires par l’équipe de Ross Anderson à

l’Université de Cambridge:

– http://www.cl.cam.ac.uk/research/security/banking/