Université de Montréal - Sécurité des cartes de paiementsalvail/securite/notes2014/...Le...
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)
5
Processus typique de paiement par carte (autorisation)
Détenteur
Commerçant
$
Compte du
détenteur
Acquéreur
Émetteur Réseau
de
paiement
$
Compte du
commerçant
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/