« Dchar-Amjad NFC Protocole-EMV » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 41 : Ligne 41 :
* Générer un CVV dynamique par le terminal de payment.
* Générer un CVV dynamique par le terminal de payment.
* Envoie au processeur de payement pour le verifier.
* Envoie au processeur de payement pour le verifier.

[[Fichier:uns.png]]

L'idée est de générer tous les UN possible et de les mettre dans un dictionnaire que nous allons parcourir par la suite. On commence tous d'abord par définir la taille de l'UN:

Length of UN = NumBitsSet( Ktrack ) - Ttrack
Ktrack : Le nombre de bit à 1 dans le « track map ».
Ttrack : Le nombre de chiffres de l'ATC.

Les étapes à suivre pour cloner les transactions sont les suivantes:
# Lire et copier les données de la carte via un simple lecteur NFC
# Échanger l'ordre des bits dans la mémoire sans y accéder ( M/Ship ).
# Rejouer les transactions enregistrer au terminal.
# Vérifier l'UN retourner dans le terminal.




== Dépassement du plafond autorise ==
== Dépassement du plafond autorise ==

En 2014, des chercheurs de l'université de Newcastle ont repéré une énorme faille dans le protocole EMV permettant de dépasser le plafond de 20 euro ( en France ). Il suffit de faire la transaction dans une devise étrangère et le tour est joué, on peut donc atteindre un plafond de 999.999,99$ et le vérifier au près de l'autorité de payment.

Les chercheurs ont développé une application Android qui simule un terminal de paiement. Quand le smartphone arrive à proximité d’une carte NFC, elle génère automatiquement une transaction sans que le porteur ne s’en rende compte. Cela est possible car les transactions sans contact ne nécessitent pas de code PIN pour être validées. Cette transaction est certes créée, mais pas encore envoyée à la banque. Elle est d’abord stockée dans le terminal en mode offline. L’avantage, c’est que le pirate peut collecter tranquillement des transactions auprès de ses victimes et se focaliser sur la récupération des fonds dans un second temps.






Version du 20 mars 2016 à 15:27

Comment marche le NFC ?

Généralités

Avant de parler du NFC, il faut faire une petit tour du coté du RFID qui englobe plusieurs types de puces et d'antennes. Ce qui différencie ces derniers c'est : Le type de codage des données, Méthodes de lecture et d’écritures ainsi que la distance nécessaire à la lecture de ces données.

La NFC, ou Near Field Communication (Communication dans un champ proche), est une technologie simple qui permet d'utiliser un téléphone portable, une carte ou un badge à des fins divers et varié . Un tag NFC peut être relié à des informations telles qu’une page Web, des réseaux sociaux et toutes sortes d'autres informations en général. Les autres domaines dans lesquels la NFC commence à évoluer sont le paiement, l'ouverture de porte avec des serrures sécurisées sans contact, la connexion à des ordinateurs et bien d'autres encore.

Contrairement au Bluetooth et au WiFi, la NFC permet de faire un lien entre une fonctionnalité virtuelle et un objet physique de tous les jours, facilement sans couplage préalable. Ce qui ouvre le champs à plusieurs applications mais aussi à de très gros problèmes de sécurité

Protocole EMV

Europay Mastercard Visa, abrégé par le sigle EMV, est depuis 1995 le standard international de sécurité des cartes de paiement (cartes à puce). Il tire son nom des organismes fondateurs :

  • Europay International (absorbé par Mastercard en 2002)
  • MasterCard International
  • Visa International

La norme EMV spécifie l'interopérabilité entre les cartes EMV à puces et les terminaux de paiement EMV à travers le monde. Le passage à la Norme EMV sur les cartes de paiement apporte les deux avantages suivants :

  • Amélioration de la sécurité.
  • Un contrôle plus précis pour les transactions par carte bancaire «hors ligne».

A son époque, on le considérait comme un protocole d'échange fiable et sécurisé d’où son utilisation dans le payement NFC partout dans le monde. De nos jours ce protocole est remis en questions trop souvent, chaque année plusieurs failles sont découverte. On en détaillera un exemple dans le chapitre suivants ainsi que les différents moyens trouvé pour s'en prémunir.


Vulnérabilités

Les failles les plus dangereuse viennent du protocole EMV utilisé pour sécuriser l'échange entre la carte NFC et le terminal de payement. Le type de carte est aussi important puisque chaque carte implémente des protocoles légèrement différents : PayWave créé par Visa qui se décline en :

  • MSD pour le sans-contact en mode piste (ISO)
  • qVSDC pour le sans-contact en mode puce (EMV)
  • VSDC pour le sans-contact en mode puce : ce mode est optionnel PayPass créé par Mastercard qui se décline en :
  • MagStripe pour le sans-contact en mode piste (ISO) • M/Chip pour le sans-contact en mode puce (EMV)

Génération de nombres imprévisibles

Apparu en 2012, des chercheurs de l'université de Cambridge ont repéré des vulnérabilités dans le protocole EMV permettant le clonage de cartes bancaires. La faille réside dans la génération de nombres aléatoire correcte au niveau des DAB et des points de ventes, requis par le protocole EMV pour gérer les transactions.

Cette faille permet à une personne mal intentionné d'envoyer des demandes de transactions frauduleuses aux banques à partir de cartes piratées.

Dans le cas du Magstripe de Mastercard, cela fonctionne de la manière suivante :

  • Générer un CVV dynamique par le terminal de payment.
  • Envoie au processeur de payement pour le verifier.

Uns.png

L'idée est de générer tous les UN possible et de les mettre dans un dictionnaire que nous allons parcourir par la suite. On commence tous d'abord par définir la taille de l'UN:

Length of UN = NumBitsSet( Ktrack ) - Ttrack Ktrack : Le nombre de bit à 1 dans le « track map ». Ttrack : Le nombre de chiffres de l'ATC.

Les étapes à suivre pour cloner les transactions sont les suivantes:

  1. Lire et copier les données de la carte via un simple lecteur NFC
  2. Échanger l'ordre des bits dans la mémoire sans y accéder ( M/Ship ).
  3. Rejouer les transactions enregistrer au terminal.
  4. Vérifier l'UN retourner dans le terminal.


Dépassement du plafond autorise

En 2014, des chercheurs de l'université de Newcastle ont repéré une énorme faille dans le protocole EMV permettant de dépasser le plafond de 20 euro ( en France ). Il suffit de faire la transaction dans une devise étrangère et le tour est joué, on peut donc atteindre un plafond de 999.999,99$ et le vérifier au près de l'autorité de payment.

Les chercheurs ont développé une application Android qui simule un terminal de paiement. Quand le smartphone arrive à proximité d’une carte NFC, elle génère automatiquement une transaction sans que le porteur ne s’en rende compte. Cela est possible car les transactions sans contact ne nécessitent pas de code PIN pour être validées. Cette transaction est certes créée, mais pas encore envoyée à la banque. Elle est d’abord stockée dans le terminal en mode offline. L’avantage, c’est que le pirate peut collecter tranquillement des transactions auprès de ses victimes et se focaliser sur la récupération des fonds dans un second temps.


Comment se prémunir des risques du NFC ?

Conclusion