HCE : Host Card Emulation

La communication réalisée par le Groupement des Cartes Bancaires, l’émission massive de cartes sans contact et les failles s’y rapportant ont contribué à la notoriété du paiement sans contact NFC. Comme pour un paiement EMV, le paiement mobile NFC actuel se base sur un élément sécurisé dit Secure Element (SE) : la carte SIM majoritairement. Cette dernière, propriété de l’opérateur mobile, est source de contraintes pour les fournisseurs de solutions de paiements mobiles. Pour y remédier, les acteurs monétiques ont créé l’émulation de cartes hébergées plus connue sous le sigle anglais HCE (Host Card Emulation). Cet article expliquera le fonctionnement du mode HCE.

Présentation rapide du paiement mobile NFC SIM-centric

Pour bien comprendre le fonctionnement du HCE, il est important de rappeler celui du modèle actuel : le SE est embarqué dans le mobile.

Déjà abordé très brièvement ici, le paiement mobile NFC « classique » est un paiement où le smartphone fait office de carte bancaire. L’antenne NFC permet au smartphone de dialoguer avec le terminal de paiement électronique (TPE). Le contrôleur NFC sollicitera le SE (souvent la carte SIM, on parle alors de « SIM-centric ») qui contient les données bancaires sensibles (numéro de carte appelé aussi PAN, clés cryptographiques, …). À aucun moment, le système d’exploitation n’a donc connaissance de ces données. C’est là que réside la robustesse du NFC SE.

L’installation de l’application de paiement au sein de la carte SIM a fait émerger de nouveaux acteurs comme les tiers de confiance (Trusted Service Manager : TSM) ; implique les opérateurs mobiles (Mobile Network Operator : MNO) ; et d’une manière plus générale complique l’écosystème NFC, aussi bien pour les acteurs que pour les porteurs.

Schéma NFC SE
Schéma NFC SE

Fonctionnement du HCE

Spécifié initialement par la startup SimplyTapp en 2012, le Host Card Emulation a fait son apparition sur le marché avec le firmware CyanogenMod. Mais c’est l’adoption par Google au sein du système d’exploitation Android 4.4 KitKat qui l’a rendu populaire.

Conceptuellement, la technologie du HCE permet la désynchronisation du NFC avec le SE hébergé par le mobile ; le système d’exploitation (OS) pilote ainsi directement le NFC. Ainsi sous sa forme la plus primitive, l’application mobile installée dans l’OS peut embarquer les données bancaires. Mais la technologie permet des choses bien plus intéressantes comme le stockage des données dans le cloud, plus connue sous le sobriquet « SE-in-the-cloud ». À tel point que cette dernière est souvent assimilée au HCE. Par la suite, on traitera uniquement la virtualisation des données dans le cloud.

Par ailleurs, afin de limiter le risque de récupération des données sensibles par un malware exécuté dans la mémoire du téléphone, les ingénieurs ont eu l’idée de générer des numéros de cartes jetables. Cette sécurité est appelée « tokenisation ». Cette dernière a fait l’objet d’une spécification par l’organisme EMVCo permettant d’assurer l’interopérabilité.

Dans un premier temps, nous allons expliquer comment fonctionne le HCE lorsque le smartphone est connecté au réseau, c’est-à-dire lorsqu’il peut aller chercher les données dans le cloud. Par la suite, nous verrons comment cela fonctionne en mode « non connecté ».

Mode connecté

Schéma paiement NFC en mode HCE

À l’approche du TPE, le smartphone sollicitera, via l’antenne NFC, le contrôleur NFC qui utilisera sa table de gestion des identifiants d’application (AID) afin de savoir où envoyer la requête sans contact. Si l’AID est présent dans la table, la requête sera envoyée directement au SE (cas du modèle « SIM-centric »). Sinon, elle sera transmise à l’application hébergée dans le système d’exploitation du téléphone. C’est l’application qui gère ensuite l’appel éventuel du SE dans le cloud afin d’envoyer les données sensibles au contrôleur qui les transmettra en NFC au TPE. Pour plus de sécurité, certaines données, comme le numéro de carte, peuvent être issues d’un serveur de tokenisation. Ce dernier génère des numéros jetables empêchant ainsi toute réutilisation des mêmes données (rejeu). La suite est classique. HCE ne concerne en effet que l’acquisition sans contact des données de la carte virtuelle. Le reste de la transaction est traitée comme pour un paiement « puce ».

Note : si vous souhaitez connaître comment se déroule la partie classique, vous pouvez lire cet article et celui-ci.

Mode déconnecté

La cinématique précédente présuppose que le téléphone capte le réseau, sinon le cloud ne sera pas accessible. Afin de toujours permettre l’utilisation du paiement via HCE, la gestion du mode déconnecté a fait son apparition. Pour cela, l’application communique, en amont, avec le serveur de tokenisation afin de télécharger des numéros de cartes qui pourront être utilisés lorsque le réseau sera inaccessible.

Installation

Contrairement au paiement mobile présenté dans le premier chapitre, la souscription d’un porteur à une application se basant sur la technologie HCE est aisée. En effet, avec le HCE, il n’y a pas nécessairement besoin de TSM pour installer une application dans le SE. Un simple téléchargement classique depuis le store suffira.

Autres utilisations

À noter que la virtualisation des cartes grâce à HCE ne se restreint pas aux cartes de paiements. Cette technologie permet en effet la fidélisation des clients, le contrôle d’accès à des locaux, etc. La centralisation des cartes au sein d’un appareil dont il est de plus en plus difficile de se passer aujourd’hui, risquent ainsi d’intéresser fortement les porteurs.

Et la sécurité ?

Le fait que les données sensibles remontent au système d’exploitation est dangereux d’un point de vue sécuritaire. En effet, l’apparition d’un malware au sein du smartphone permettrait la récupération desdites données. Des mécanismes de sécurité participent ainsi à la sécurité du HCE comme la tokenisation que l’on a déjà abordée. Mais il y a d’autres mécanismes comme les scoring afin de savoir si une autorisation EMV doit être émise ou non. La sécurité peut également être renforcée en authentifiant biométriquement le porteur avant tout paiement. Cette dernière apparaît généralement sous 3 formes :

  • empreinte digitale,
  • analyse faciale,
  • analyse vocale.

Reste à voir si la technologie HCE sera suffisamment robuste face à l’épreuve du temps. L’imagination débordante des hackeurs parviendra-t-elle à fissurer cette technologie ? Autant de questions qui referont surface au fur et à mesure de l’émergence de l’émulation de cartes hébergées.

0 Replies to “HCE : Host Card Emulation”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*