Parlons enfin du NFC

NFC ou Near Field Communication est terme que l’on entend prononcer de plus en plus. Tous les jours, de nouveaux modèles de “mobile NFC” deviennent disponible pour le grand public, et ce depuis 2006 avec le Nokia 6163. De nombreuses initiatives, notamment Citizi en France permettent à des utilisateurs de vivre l'expérience NFC.

"nfc"

La technologie NFC permet la communication et l’échange d’information entre une puce et un lecteur. Cependant, le Bluetooth, les QR-Codes et le moins célèbre WifiDirect sont déjà déployés, alors pourquoi un système de plus ?

Avant, y’avait le RFID

Un peu d’histoire

La RFID (Radio Frequency IDentification) est basée sur une technologie apparue en 1939 pendant la 2ème guerre mondiale. Un premier brevet a été déposé en 1973 par Mario Cardullo. Il fallut attendre Charles Walton en 1983 pour que le terme RFID soit déposé sur un brevet technologique.

Mais savoir ceci ne vas pas vous aider à utiliser le bidule n’est-ce pas ? Continuons ...

La RFID, de quoi s’agit-il ?

Il s’agit d’une technologie permettant de mémoriser et récupérer des données à distance en utilisant des marqueurs appelés “radio-étiquettes” ou encore “RFID tags”. La communication et l’alimentation se font via un champ magnétique. Les fréquences d’utilisation varient du kHz au Ghz en fonction du besoin.

"NFC Tag"

Un tag RFID

Il existe différentes catégories de tags :

  • Actifs (fonctionne avec batterie, donc sans alimentation externe)
  • Passif (puissance fournie par le lecteur externe)
  • Semi passif (utilisé par exemple dans les télépéages)

Ces tags contiennent des données d’identification, de la donnée (URL, ...), et peuvent être en lecture seule ou réinscriptibles.

Donc ça, c’est ce qu’on lit. Et le lecteur, c’est quoi?

C’est un module actif contenant le matériel nécessaire pour alimenter la puce, écrire et lire des données. On en trouve au format fixe (à l'entrée d’un bâtiment par exemple) ou portable (comme pour l’identification de marchandise), sachant que certains modèles peuvent fonctionner jusqu’à 100m et que l’on peut détecter jusqu’à 200 tags par seconde et sans orientation directe vers le lecteur.

"Schema fonctionnement RFID"Schéma de fonctionnement du RFID

Et on en fait quoi?

On s’en sert principalement pour l’identification, mais les usages sont nombreux :  identification animale, dans la gestion de flux des valises dans les aéroports, la traçabilité des médicaments.

De la RFID au NFC

Identifier c’est bien mais communiquer c’est mieux, et c’est dans cette optique qu’est née le NFC sous l'impulsion du NFC Forum en 2004, principalement conduit par Nokia. Il est basé sur le même principe de fonctionnement que le RFID, en utilisant la fréquence 13,56MHz, et est donc compatible avec la majorité des tags et lecteurs déployés. Il implique généralement un maître (actif) et un esclave (passif), qui peuvent s'inverser au cours de la communication. La distance de communication se veut extrêmement courte. Si vous voulez vraiment tout savoir, Le NFC repose sur les standards ECMA-340 et ISO/IEC 18092.

Le NFC opère suivant différents modes :

  • Mode lecture

Un appareil se contente de lire les informations d’une puce NFC à proximité. Ces puces peuvent fournir des informations simples comme des URLs, des codes promotionnels, ou toute autre information partageable (similaire aux QR-Codes).

  • Mode émulation

L’appareil se fait passer pour une carte à puce sans contact, on l’utilise généralement pour le paiement. Dans ce cas, l’inclusion d’un module de sécurité est nécessaire voire obligatoire (voir partie sécurité). Des travaux d'Orange et SITA sur l'enregistrement en aéroport utilisant la technologie NFC ouvrent d'autres horizons à la technologie. Ce mode est indisponible sur Android par défaut, mais peut être mis en place avec des ROMs alternatives (Cyanogen).

  • Mode Peer 2 Peer

L’appareil lit et écrit sur un flux de données partagé avec un autre appareil NFC capable lui aussi d’être dans ce mode. Une utilisation courante est l’échange de photos ou vidéos entre deux mobiles (= Android BEAM™ et Windows Phone 8 Tap And Send).

Les messages sont échangés sous un format nommés NDEF (NFC Data Exchange Format). Ce format binaire se veut léger et peut encapsuler plusieurs enregistrement de taille variée. Par exemple, http://octo.com sera encodé ainsi : D1 01 0A 55 01 77 69 73 6B 64 2E 63 6F 6D.

Le NFC est une technologie plein d'atouts et fiable

On peut citer plusieurs avantages en comparaison des autres technologies sans contact :

  • C’est facile

A tous les points de vue, le NFC est simple à utiliser et à mettre en oeuvre, ce qui rend cette technologie très attirante.

D’abord facile à mettre en place, il s’agit d’un composant électronique que l’on peut retrouver dans les smartphones, les bornes de paiements ou même sous formes de divers objets (montres, verrous, ...) .

Côté développement aussi, la mise en place d’une écoute ou d'une interaction NFC sur une application mobile est relativement triviale (notamment avec les API d’Android).

Enfin et surtout, il propose une expérience utilisateur extrêmement simple : il suffit d’approcher deux appareils compatibles pour que la magie opère - contrairement au QRCode qui nécessite le lancement d'une application, puis le scan. On économise donc deux actions à l'utilisateur.

  • Relativement peu coûteux

Si le prix du tag NFC est supérieur à celui d'une bande magnétique, les lecteurs sont moins chers. D'ailleurs, les prix de ces tags vont diminuer au fur et à mesure que leur déploiement va se généraliser. On peut aujourd'hui acheter des tags à 0.10 euros l'unité en moyenne, le prix variant selon la mémoire disponible sur la puce.

  • Rapide

L'établissement de la connexion et la communication sont quasi instantanées. C'est clairement un avantage face au Bluetooth où la procédure d'appairage est relativement longue et retarde ainsi son adoption auprès du grand public (pour un même usage). Concernant les débits, ils peuvent atteindre les 103 ko/s (là où le Bluetooth peut monter jusqu'à 3 Mo/s) mais cela est largement suffisant pour le type d’informations transféré ; nous en détaillerons les usages plus bas.

  • Fiable

Si les QRCode nécessite aujourd'hui d'avoir son téléphone allumé, l'ajout d'une puce NFC dans le téléphone va permettre de stocker et extraire des informations avec un téléphone hors tension. Cela rassurera les utilisateurs inquiets de l'utilisation du QRCode, notamment dans le cadre de e-billets.

Le NFC pour quels usages ?

Auprès du grand public, le smartphone est clairement le porte parole du NFC. À l’heure actuelle  on le retrouve dans nombre de nouveaux appareils sous Android ou Windows Phone 8, et la communication d'un système à l'autre est tout à fait possible puisqu'elle utilise la même standardisation de messages. Apple, par contre, n’a pas jugé bon de l’inclure dans sa dernière génération d’iPhone, probablement jugeant que les usages de la technologie n'étaient pas encore suffisamment accessible aux utilisateurs. Cependant, Ingenico propose de transformer son iPhone en terminal de paiement, notamment NFC, en ajoutant un boitier.

L’utilisation du NFC peut être ludique, comme par exemple les visites interactives au musée du Quai Branly permettant un nouveau mode de navigation au sein du musée. On peut envisager des usages en marketing, en “taggant” une borne à l’entrée d’un magasin afin de bénéficier de promotions spéciales.

D'autres exemples d'utilisations dans le domaine bancaire sont notamment le Google Wallet pour le paiement rapide et sécurisé à l'aide de son téléphone, mais aussi MasterCard qui offre la technologie PayPass ayant un but similaire (et compatible avec la solution de Google), ou encore Visa avec leur système PayWave.

"google_wallet-1024x881"

Dans d'autre catégories il y a aussi des expériences de scan rapide des produits pendant que l'on fait ses courses chez Casino (en replacement des lecteurs de code barre).

"Screen Shot 2013-02-01 at 12.22.34"

Ou encore les jeux ludo-éducatifs pour enfants en bas age (vtech), suivi de jardinage, pour le transport en commun, etc.

A l’heure actuelle, les usages de cette technologie ne sont limités que par l’imagination des entreprises et développeurs. De ce fait, le NFC va très vite se retrouver partout et pour de très nombreuses applications avec la promesse d’une facilité de développement comme d’utilisation.

Mais le NFC, c'est sécurisé ?

Les enjeux de sécurité du NFC

Le protocole NFC ne fournit pas de couche de sécurisation et les messages sont échangés en clair. Bien souvent, la distance relativement faible (< 10cm) lors d’un échange est considérée comme une sécurité suffisante. Néanmoins il faut envisager les menaces de sécurités afférent à la puce NFC , ou sur le canal de communication ouvrant la voie au vol de données.

Mais quelles menaces ?

Afin d’évaluer les différentes menaces, on peut s’appuyer sur le modèle STRIDE, développé par Microsoft et recommandé par la communauté OWASP. Ce modèle dénombre six types de menaces que l’on peut appliquer au NFC :

  • Usurpation d’identité --> Clonage de tag, Man in the middle ou bien de rejeux de données (Replay attacks).
  • Falsification de données  --> modification de données pendant la communication.
  • Répudiation --> Prouver que tel personne/appareil a bien effectué un acte (en cas d’achat via mobile par exemple).
  • Divulgation d'informations --> Parvenir à obtenir des informations de manière non conventionnelle (écoute passive). Par exemple, les cartes bancaires NFC contiennent les informations de l'utilisateurs de manière non-cryptées suscitant des débat quant à la valeur de ces informations et le risque que cela implique de pouvoir les extraire facilement.
  • Refus de service --> Corrompre un système par attaque successive (jamming attack)
  • Élévation du privilège  --> Gagner des accès privilégiées

Comment je me protège ?

Pour faire face à ces risques, on va pouvoir agir sur le protocole de communication, la couche matérielle ou sur la couche applicative. On se limitera à quelques unes des solutions existantes.

Le protocole de communication

La mise en place d’un canal sécurisé est la meilleur approche pour se protéger des fuites ou modification de données au cours de la communication. Lors de l'initialisation de l'échange, on peut se baser sur des protocoles à base de clés basés sur du RSA comme Diffie-Hellman. Ensuite pendant la transmission on pourra s’appuyer sur du chiffrement symétrique (plus rapide) comme 3DES ou AES (mécanisme similaire au passage du HTTP vers le HTTPS). D’autres études font état de chiffrement via le protocole NFC en jouant sur la synchronisation des fréquences émises.

Sécurité physique : Le Secured Element (SE)

Une application majeure pour les mobiles équipés de NFC est le paiement mobile ou la billetterie, il faut donc pouvoir stocker des informations sensibles sur le téléphone. Le SE est un élément physique (une sorte de mini unité centrale) dans lequel des informations confidentielles sont stockées (numéro de compte, mot de passe, ...) et un lieu sécurisé pour l'exécution d’application (cryptage / détcryptage / signature de paquets ). La puce de la carte SIM, tout comme la puce d'une carte bancaire sont des Secures Elements. Attention, la puce NFC n’est pas sur le SE.

Dans l'univers du mobile, deux philosophies s’affrontent pour le mettre en place.

  • La carte SIM étant déjà dans tous les téléphones, les opérateurs poussent pour cette vision dite SIM Centric, où la carte SIM va jouer le rôle du SE, et donc l'opérateur pourra se substituer à la banque, ou exiger des droits sur les transactions. Une connexion sécurisée s’effectue entre le module NFC et la carte SIM grâce au Single Wire Protocol (SWP).

"nfc-architecture-nexus-s"

  • La deuxième vision implique l'ajout d'un Secure Element au téléphone, fourni par une autre entité, comme la banque. Dans ce cas, le SE pourra être interne (type smartcard chip) et intégré dès a fabrication du téléphone, ou bien une externe (carte SD fournie par votre banque par exemple).

"pn65n-nexus-s"

Les usages sont les mêmes mais les rôles sont différents. Les opérateurs telecoms poussent vers un usage SIM centric afin de plus facilement “contrôler” les applications et ainsi établir un marché dont ils pourront facturés l’usage. Ces visions qui s'affrontent ne sont pas sans rappeler la tentative d'Apple d'ajouter la carte SIM directement dans l'iPhone.

Voyons maintenant comment s'effectue le lien applicatif entre ce SE et le téléphone.

Sécurité applicative : Java à la rescousse

Sur les SE on dispose d’un environnement basé sur Java nommé “JavaCard Runtime Environnement” qui exécute des applets et permet l’isolement de code ou bien pour les calculs de cryptographies. Sur les téléphones, l’API qui permet de communiquer avec le SE se doit être robuste au attaque, elle fait l’objet de la JSR 177.  Toutefois, les API d'accès aux données contenues sur le SE sont restreintes (WP8), voir fermé aux développeurs (Android), bien que des initiatives libres existent comme seek for android mais qui nécessite la recompilation de l'OS.

Aujourd'hui, c’est un tiers de confiance, le TSM (Trusted Service Manager) qui va pouvoir installer des application sur le SE. De plus, c’est lui qui va établir le lien entre un établissement financier et l’opérateur téléphonique tout en garantissant la sécurité complète des informations bancaire de l’usager.

On réalise donc le nombre d'interlocuteur important que l'on aura si l'on souhaite réaliser une application de paiement NFC se basant sur la communication avec le Secure Element. Il faudra donc développer une application native, ainsi qu'une application JavaCard, qui sera certifiée par les laboratoires de certification des opérateurs, puis déployé par le TSM sur la carte SIM.

Conclusion

Bien que l’on associe souvent le NFC avec le paiement mobile, force est de constater que l’adoption du grand public n’est pas au rendez-vous. L’article de Nicolas Guillaume traite bien du sujet, et indique bien justement que l’adoption de cette technologie se fait à un rythme normal dans le monde bancaire. Il faut que les utilisateurs prennent confiance en cette technologie, souvent montrée comme étant peu sécurisée. Il s'agit pourtant d'une technologie fiable, sécurisée et polyvalente. Nos prévisions d’adoptions sont optimistes pour 2013, d’ailleurs le Mobile World Congress faire la part belle au NFC via son “NFC Experience” (showcase, démos, keynote, ticketing, …).

Sources