Sécurité des cartes de paiement Université de Montréal mars 2011 Nicolas Guay Directeur de pratique, Monétique Groupe GFI Solutions
Au menu Le paiement par carte, les risques et objectifs de sécurité Carte à bande magnétique Carte à puce (standard EMV) Conclusion 2
Le paiement par carte, les risques et objectifs de sécurité 3
Les cartes de paiement au Canada Cartes de crédit MasterCard et Visa (2010) Cartes 71 millions Valeur des achats 280 milliards $ 27,7 millions de canadiens âgés de plus de 15 ans (2008) 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 Environ 700 000 terminaux de paiement Environ 58 000 guichets automatiques Sources: Association des banquiers canadiens, Interac et Statistique Canada 4
Processus typique de paiement par carte (autorisation) $ Compte du détenteur Émetteur Réseau de paiement Détenteur Acquéreur $ Compte du commerçant Commerçant 5
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 6
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. 7
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 8
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. 9
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. 10
Carte à bande magnétique 11
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). 12
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 = F K ( PAN, EXP ) où F est une fonction utilisant 3DES. PAN, EXP, CVC CVC vérifié? Émetteur Cependant: Il s agit d une donnée statique, donc «clonable». 13
Authentification du détenteur Méthodes possibles: Aucune. Signature. Numéro d identification personnel (NIP). 14
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 = F K ( 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! 15
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. Zone de l acquéreur Zone du réseau Zone de l émetteur Acquéreur HSM HSM Émetteur HSM Saisie et chiffrement du NIP (K A ) Traduction du NIP(K A à K R ) Traduction du NIP(K R à K E ) Vérification du NIP (K E ) 16
Carte à puce (EMV) 17
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. 18
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 19
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. 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
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 22
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. 23
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. 24
Authentification statique de la carte (SDA) Fonctionnement /1 La Banque Populaire inc. ACME Merchant Services Issuer Private Key S I Issuer Public Key P I CA Private Key S CA CA Public Key P CA CA Public Key P CA Static Card Data Issuer PK Certificate Static Card Data Signature Issuer PK Certificate Émetteur Autorité de certification (CA) Acquéreur 25
Authentification statique de la carte (SDA) Fonctionnement /2 Static Card Data CA Public Key P CA Static Card Data Signature Issuer PK Certificate Issuer Public Key P I Le terminal Obtient les données pertinentes de la carte. Utilise la clé publique de l autorité de certification (P CA ) pour vérifier que la clé publique de l émetteur (P I ) a été certifiée par l autorité de certification (CA). Utilise la clé publique de l émetteur (P I ) 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é. 26
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 (S CA ). 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. 27
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». 28
Authentification dynamique de la carte (DDA) Fonctionnement /1 La Banque Populaire inc. ACME Merchant Services IC Card Private Key S ICC IC Card Public Key P ICC Issuer Private Key S I Issuer Public Key P I CA Private Key S CA CA Public Key P CA CA Public Key P CA Static Card Data Issuer PK Certificate IC Card PK Certificate Issuer PK Certificate Émetteur Autorité de certification (CA) Acquéreur 29
Authentification dynamique de la carte (DDA) Fonctionnement /2 Lecture des données Nombre aléatoire Signature dynamique Le terminal Utilise la clé publique de l autorité de certification (P CA ) pour vérifier que la clé publique de l émetteur (P I ) a été certifiée par l autorité de certification (CA). Utilise la clé publique de l émetteur (P I ) pour vérifier que les données de la carte et la clé publique de la carte (P ICC ) 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 (S ICC ) une signature dynamique sur des données dynamiques qui incluent le nombre aléatoire. Le terminal Utilise la clé publique de la carte (P ICC ) pour vérifier la signature dynamique. 30
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 (S ICC ), 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»). 31
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. 32
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. 33
NIP hors ligne présenté chiffré à la carte Quelle beau cas d espèce pour le chiffrement à clé publique! Clé S ICC PIN Sources du diagramme: VISA 34
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). 35
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. 36
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. 37
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. SVP, générer cryptogramme (ma proposition) Cryptogramme correspondant à ma volonté 38
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. Générer cryptogramme ARQC valide? ARPC valide? ARQC Générer cryptogramme, ARPC AAC ou TC Requête autor., ARQC Réponse autor., ARPC Émetteur 39
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 40
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 41
Conclusion 42
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 }? 43
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 44
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/ 45