58
NEAR FIELD COMMUNICATION Romain Menetrier CTO @Connecthings

Norme NFC - Romain Menetrier PAUG

Embed Size (px)

Citation preview

Page 1: Norme NFC - Romain Menetrier PAUG

NEAR FIELD COMMUNICATION

Romain MenetrierCTO @Connecthings

Page 2: Norme NFC - Romain Menetrier PAUG

Sommaire

• Qu’est-ce que le NFC ?

• Pourquoi le NFC ?

• Historique

• Fonctionnements & standards

• Usages

• NFC & Android

Page 3: Norme NFC - Romain Menetrier PAUG

Qu’est-ce que le NFC ?

Page 4: Norme NFC - Romain Menetrier PAUG

Qu’est-ce que le NFC ?

Pour les pessimistes : NFC = Not Currently Found

Pour les optimistes : NFC = New Future is Coming

(copyright @PierreMetivier)

Page 5: Norme NFC - Romain Menetrier PAUG

Qu’est-ce que le NFC ?

• NFC = Near Field Communication, communication en champs proche

• Interaction/sélection physique : on approche le téléphone du tag NFC pour déclencher l’interaction (toucher, pointer).

• Sécurité (présence de l’utilisateur), Contexte (localisation), Intention (toucher)

• Création en 2004 du NFC Forum, mais basée sur une technologie existante et éprouvée : RFID (premier brevet 1983)

• Interopérable avec l’infrastructure SmartCard (cartes à puces) existante

• Technologie destinée aux téléphones portables

Page 6: Norme NFC - Romain Menetrier PAUG

Utilisation

• on approche son téléphone du tag NFC

• le téléphone réagit à la lecture des données en déclenchant l’action correspondante : lecture d’information, paiement, ...

Page 7: Norme NFC - Romain Menetrier PAUG

Pourquoi s’y intéresser dès à présent ?

• Vous avez peut-être déjà un object équipé :

• carte sans contact : transport (Navigo, Oyster, Octopus, ...) ou entreprise (ouverture de porte, restaurant, ...),

• téléphones Nexus S, Galaxy SII, BlackBerry Bold 9900, Nokia C7 (env. 20 modèles commercialisés) ...

• carte SIM Orange > juin 2011

• «FeliCa Port» sur les PC portables Sony

Page 8: Norme NFC - Romain Menetrier PAUG

Pourquoi s’y intéresser dès à présent ?

• Les villes déploient les tags sur leurs arrêts de transport en commun ou lieux culturels: Nice, Caen, Marseille, ...

• Un appel à projet du gouvernement pour le déploiement de services mobiles NFC (20M€)

• Lancement de téléphones équipés par les fabricants : Nokia, Samsung, ... (150 000 téléphones en France)

• Support logiciel sur les téléphones Symbian, Meego, Android, Windows phone, ...

• => Fin des expérimentations et lancement à grande échelle

Page 9: Norme NFC - Romain Menetrier PAUG

Pourquoi le NFC ?

Page 10: Norme NFC - Romain Menetrier PAUG

Avantages / Inconvénients

• Interaction sans lancement de logiciel au préalable

• Facilité du geste

• Coût du lecteur = 10€, mais tag = 0,1->1€

• Stockage de données relativement faible (jusqu’à 8Ko, mais souvent une centaine d’octets), mais supérieur à un code barre 2D

Page 11: Norme NFC - Romain Menetrier PAUG

NFC et les autres technologies sans contact

• Codes barre 2D : volume de données plus important, pas de problème de lecture lié à la caméra, NFC peut écrire des données

• Bluetooth : moins cher, connexion plus facile (pas d'appariement)

• Wifi : moins cher, espace plus réduit plus facile à contrôler

• GPS : position relative précise (<10cm)

Page 12: Norme NFC - Romain Menetrier PAUG

NFC : aperçu des usages possibles

• Obtenir de l’information en touchant une affiche

• Utiliser son téléphone comme ticket pour un concert

• Rejoindre un réseau WiFi en approchant son téléphone d’une borne

• Valider son titre de transport avec son téléphone

• Payer

• Partager des cartes de visites en approchant 2 téléphones

Page 13: Norme NFC - Romain Menetrier PAUG

Le NFC s’intègre aux objets physiques

Page 14: Norme NFC - Romain Menetrier PAUG

Historique

Page 15: Norme NFC - Romain Menetrier PAUG

NFC est basé sur la RFID

• RFID = Radio Frequency Identification

• Un lecteur RFID peut lire et écrire à distance sur une puce RFID

• La distance entre le lecteur et le tag peuvent être de plusieurs dizaines de mètres

• Technologie éprouvée : premier brevet en 1983

• Utilisation pour l’identification animale, les passeports, le suivi des prêts dans les bibliothèques, le passage automatisé de péages d’autoroute, ...

Page 16: Norme NFC - Romain Menetrier PAUG

NFC : Historique

• 2004 : Nokia, Philips (NXP) et Sony créent le NFC Forum

• 2006 : premières spécifications pour les tags NFC, premier téléphone NFC : Nokia 6131, API NFC pour J2ME

• 2009 : standard P2P, communication pair à pair entre périphériques NFC (ce mode n’existe pas en RFID), pour le transfert de données

• 2010 : premier téléphone NFC Android : Samsung Nexus S, API NFC pour Android

Page 17: Norme NFC - Romain Menetrier PAUG

Téléphones

2004

Nokia Field Force NFC Shellcoque NFC pour 5140

2008

Nokia 6212 NFCsuccesseur du 6131, largement utilisé par les développeurs

2005

Nokia 3220 + NFC Shell2010

Samsung Nexus Spremier téléphone Android NFC

2005

Samsung SGH-D500E NFCpremier téléphone NFC, utilisé pour le pilote de Caen fin 2005

2011

Samsung Galaxy SIIFonctionnalités NFC uniquement en Corée du sud (France : oct 2011)

2006

Nokia 6131 NFCpremier téléphone NFC disponible commercialement

?‣NXP prévoit 40M de téléphone équipés en 2011‣Sortie des premiers téléphones NFC BlackBerry, HTC (Android), LG (Android), ...

Page 18: Norme NFC - Romain Menetrier PAUG

Fonctionnement & standards

Page 19: Norme NFC - Romain Menetrier PAUG

RFID

• Un tag RFID est composé d’une antenne (couplage avec le lecteur) et d’une puce (modulation du champ magnétique)

• Les puces RFID peuvent être :

➡ passives : le courant nécessaire au fonctionnement est fourni par le champ magnétique généré par le lecteur

➡ actives : une alimentation est présente pour augmenter la portée => le tag émet en permanence, problème de sécurité

➡ semi actives : une alimentation est présente mais n’est utilisé que pour l’enregistrement de données de traçabilité (sonde de température par exemple)

Page 20: Norme NFC - Romain Menetrier PAUG

RFID

4 bandes de fréquences utilisées :

125-135KHz 13,56MHz UHF GHz

Identification prochePas de problème de

lecture

Portée de 1mTolérance aux perturbations

Standardisé au niveau mondial (ISO 14443,

ISO 15693)

Portée de 10mLa fréquence dépend

du paysCoût faible des puces

Identification d’animaux, ... NFC !Tracabilité : livres de bibliothèques, anti-vol dans les

magasins, péages d’autoroute ...

Page 21: Norme NFC - Romain Menetrier PAUG

NFC est compatible avec SmartCard

• SmartCard = carte à puce

• Technologie répandue : premier déploiement massif en 1983 pour la carte de téléphone «Télécarte»

• Utilisé pour l’identification, l’authentification, le stockage de données et d’applications

• Communication par contact entre le lecteur et la puce

• Utilisation pour les cartes bleues, les cartes SIM de nos téléphones portables, ...

Page 22: Norme NFC - Romain Menetrier PAUG

NFC = RFID + SmartCard

Le NFC est une extension de SmartCard, standardisant l’utilisation de celles-ci à travers une communication RFID (ISO 18092).

Un périphérique NFC combine donc l’interface d’une carte à puce et un lecteur RFID.

[RFID] 13,56 MHz : compromis entre distance de lecture et sensibilité aux perturbations environnementales (métal, autres champs magnétiques), standard mondial (contrairement aux autres fréquences)

[SmartCard] ISO 14443-4 : standard pour l’utilisation sans contact d’une SmartCard

Page 23: Norme NFC - Romain Menetrier PAUG

NFC Forum

• Fondé en 2004 par Philips, Nokia et Sony

• 140 membres, dont Microsoft, Visa, Samsung, Google, France Telecom, Texas Instrument, Inside Secure, PayPal, ...

• Mission : assurer l’interopérabilité entre tous les périphériques et les services NFC, développer l’écosystème

• Définit des standards et des certifications pour les périphériques et services compatibles

Page 24: Norme NFC - Romain Menetrier PAUG

NFC Forum : spécifications

Le NFC Forum prévoit 3 modes de fonctionnement : • Reader/Writer : lecture et écriture de l’information contenue dans un

tag• Card emulation : émulation logicielle d’un tag ou d’une interface de

carte à puce• P2P : (non défini dans la norme RFID) transfert pair à pair, pour le

transfert de fichiers ou l’appariement BlueTooth par exemple

Page 25: Norme NFC - Romain Menetrier PAUG

NFC Forum : spécifications

CommunicationCommunication

PucesPuces

DonnéesDonnées

Page 26: Norme NFC - Romain Menetrier PAUG

NFC Forum : Communication

La communication entre 2 périphériques NFC est basée sur la norme ISO 14443 :

• débit 106 à 424 Kbps,

• portée théorique jusqu’à 10 cm, mais en pratique < 4cm

• half duplex ou full duplex

• correction d’erreur

Le NFC Forum spécifie également le support de la communication FeliCa

Page 27: Norme NFC - Romain Menetrier PAUG

NFC Forum : Communication

La norme ISO 14443 se divise en 2 types

➡ ISO 14443 A : modulation sur 100% d’amplitude, le bit d’information est calculé d’après le bit précédent

➡ ISO 14443 B : modulation sur 10% d’amplitude, lecture directe du bit d’information

Android : • type A = NfcA• type B = NfcB

Page 28: Norme NFC - Romain Menetrier PAUG

NFC Forum : Communication

Felica (Sony)

Norme de communication supportée par le NFC Forum mais non standardisée ISO

Usage plutôt au Japon

Android : • Felica = NfcF• ISO15693 = NfcV

ISO 15693

Norme de communication non supportée par le NFC Forum mais standardisée ISO

Supporté par Android

Lecture théorique jusqu’à 1m (pas avec une antenne RFID d’un téléphone...)

Page 29: Norme NFC - Romain Menetrier PAUG

NFC Forum : Puces

Le NFC Forum prévoit 4 types de tags (gestion des données dans la mémoire et interface de commande) :

Type Taille mémoire Type communication Exemple tag

Type 1 96 à 512 octets ISO 14443 ATopaz

(Innovision/Broadcom)

Type 2 48 à 192 octets ISO 14443 Atags Mifare Ultra Light de

NXP

Type 3 256 octets à 9 KoNon ISO 14443 mais

semblabletags FeliCa de Sony

Type 4 1 à 8 Ko ISO 14443 A ou B tags DesFire de NXP

Android : • type 1 et 2 = NfcA• type 3 = NfcF• type 4 = NfcA ou NfcB

Page 30: Norme NFC - Romain Menetrier PAUG

NFC Forum : Puces

Exemple de structure mémoire (tag type 2)

Octet 1 Octet 2 Octet 3 Octet 4

block 0 Serial number UID0 UID1 UID2 Internal0

block 1 Serial number UID3 UID4 UID5 UID6

block 2 Interne /blocage Internal1 Internal2 Lock0 Lock1

block 3Capacités du

ContenantCC0 CC1 CC2 CC3

block 4 Données Data0 Data1 Data2 Data3

block 5 Données Data4 Data5 Data6 Data7

block 6 Données Data8 Data9 Data10 Data11

... Données ... ... ... ...

block 15 Données ... ... ... ...

Identifiant du tag

Blocage en écriture

Données

Page 31: Norme NFC - Romain Menetrier PAUG

NFC Forum : NDEF

• NDEF = NFC Data Exchange Format

• Spécifications utilisée pour l’échange de données entres périphériques NFC (tags ou lecteurs)

• Encapsulation : un bloc NDEF peut contenir un ou plusieurs enregistrements NDEF

Page 32: Norme NFC - Romain Menetrier PAUG

NFC Forum : Stockage NDEF dans un tag

• Un tag NFC Forum doit contenir un en-tête décrivant le contenu : le Capability Container (CC, sur 4 octets)

• Premier octet : décrit la présence ou non d’un enregistrement NDEF dans le tag (E1h = données présentes)

• Deuxième octet : donne la version de la spécification NFC Forum (10h = version 1.0)

• Troisième octet : donne la taille mémoire totale du tag en nombre de blocs de 8 octets (ex type 2: 06h = 6 blocs de 8 octets = 48 octets)

• Quatrième octet : donne la capacité de lecture et d’écriture sur l’espace de données (ex 00h = le premier ‘0’ indique une lecture sans restrictions, le deuxième ‘0’ indique une écriture possible sans restrictions)

Un tag dans lequel est présent cet entête est dit «formaté NDEF»

E1h 10h 06h 00h

Page 33: Norme NFC - Romain Menetrier PAUG

NFC Forum : message NDEF

• Le premier bloc de 8 octets est un entête décrivant l’enregistrement :

7 MB (Message Begin) 1 = début du message NDEF

6 ME (Message End) 1 = fin du message NDEF

5 CF (Chunk Flag)1 = indique le début d’un enregistrement parcellaire

4 SR (Short Record)1 = format d’enregistrement court, simplifié

3 IL (Id Length)1 = l’enregistrement a un identifiant (optionnel)

2

TNF (Type Name Format)

Type de données sur 3 octets

1

0

Page 34: Norme NFC - Romain Menetrier PAUG

NFC Forum : type NDEF

• Les 3 octets du TNF décrivent le type de format des données

0x00 Vide

0x01 type NFC Forum

0x02 Media type (MIME)

0x03 URI absolue

0x04 type externe (non géré par le NFC Forum)

0x05 type inconnu (= MIME application/octet-stream)

0x06type inchangé (utilisé pour les messages parcellaires)

0x07 type réservé pour un usage futur

Page 35: Norme NFC - Romain Menetrier PAUG

NFC Forum : type NDEF NFC Forum

• Un type NFC Forum est utilisé quand il n’existe pas d’équivalent MIME ou que l’espace de stockage réduit implique l’utilisation d’une identification de type plus courte

Format : «urn:nfc:wkt:U»

Uniform Resource Name espace de nom NFC Well Know Type (=type NFC Forum) Url

• Le type NFC Forum peut être raccourci pour être écrit dans sa version courte (ici : U)

Page 36: Norme NFC - Romain Menetrier PAUG

NFC Forum : types NFC Forum

URL (type «U»)

Le contenu est défini par un octet précisant le préfixe :

‣ 0x00 pour aucun préfixe,

‣ 0x01 pour «http://www.»,

‣ 0x05 pour «tel:»

‣ 0x06 pour «mailto:»

Page 37: Norme NFC - Romain Menetrier PAUG

NFC Forum : types NFC Forum

Smart Poster (type «Sp»)

Le contenu est composé de plusieurs enregistrements NDEF :

‣ URI : obligatoire, 1 seul enregistrement

‣ Title : optionnel, titre affiché lors de lecture

‣ Action : optionnel, indique comment doit être traité l’enregistrement par le lecteur : enregistrement, ouverture, ...

‣ Icon : image

‣ Size : taille du contenu ciblé par l’url

‣ Type : type du contenu ciblé par l’url

Page 38: Norme NFC - Romain Menetrier PAUG

NFC Forum : Exemple d’enregistrement NDEF

Position Contenu Longueur Explication

0 0xD1 1Entête NDEF : TNF = 0x01 (type NFC Forum), MB=1, ME=1 (1 seul

message)

1 0x02 1 Longueur du type (2 octets)

2 0x0E 1 Longueur des données (14 octets)

3 «Sp» 2 type SmartPoster

5 0xD1 1Entête NDEF : TNF = 0x01 (type NFC Forum), MB=1, ME=1 (1 seul

message)

6 0x01 1 Longueur du type (1 octets)

7 0x09 1 Longueur des données (9 octets)

8 «U» 1 type Url

9 0x01 1 Préfixe «http://www.»

10«google.fr

»9 contenu URL

Page 39: Norme NFC - Romain Menetrier PAUG

NFC Forum : Exemples NDEF

Type Name Format Type Name Description

MIME text/x-vCard Carte de visite vCard

MIME text/x-vCalendar RDV calendrier

NFC Forum RTD urn:nfc:wkt:Sp Smart Poster

NFC Forum RTD urn:nfc:wkt:U URI

Page 40: Norme NFC - Romain Menetrier PAUG

Global Platform : SmartCard

‣ SmartCard = espace sécurisé (besoin de s’authentifier pour communiquer)

‣ espace de stockage réduit (souvent 4Ko)

‣ Comme pour SSL, nécessité de passer par une autorité de certification pour avoir accès (Opérateur mobile, TSM = Trusted Security Manager)

Page 41: Norme NFC - Romain Menetrier PAUG

Global Platform : communication SmartCard

‣ Protocole de communication ISO 14443-4, entre une applet (SmartCard) et un lecteur

‣ Messages APDU (Application Protocol Data Unit) = suite d’octets

‣ séquence de communication : envoi de commande suivi d’une réponse

Exemples d’utilisation

‣increménte 2 dans l’application 1

=> réponse OK

‣lit la valeur de l’application 1

=> réponse OK 2

Exemples d’utilisation

‣increménte 2 dans l’application 1

=> réponse OK

‣lit la valeur de l’application 1

=> réponse OK 2

Page 42: Norme NFC - Romain Menetrier PAUG

Global Platform : applet SmartCard

‣ application SmartCard = applet (standard JavaCard)

‣ la taille disponible pour l’applet est très réduit

‣ l’espace doit être partagé avec les autres applications

Page 43: Norme NFC - Romain Menetrier PAUG

Global Platform : exemple Compteur

Source : http://julienb.developpez.com/tutoriels/java/introjavacard/#LV

Page 44: Norme NFC - Romain Menetrier PAUG

Global Platform : exemple Compteur

Page 45: Norme NFC - Romain Menetrier PAUG

Pour quels usages ?

AuthentificationPaiementTicketsAccès à l’informationDéclenchement d’actionsConnexionEchange d’informations

Page 46: Norme NFC - Romain Menetrier PAUG

Authentification (SmartCard)

• Contrôle d’accès : ouverture de porte, suivi de tournée

• Authentification sur un service ou un programme : Intranet entreprise, réseau social, ...

Bénéfice : un seul objet stocke nos identités, objet que l’on possède toujours avec soi (téléphone)

Page 47: Norme NFC - Romain Menetrier PAUG

Paiement (SmartCard)

• Acheter son pain à la boulangerie

• Acheter son titre de transport dans le bus ou à l’arrêt

• Acheter son entrée à la piscine

Bénéfice : pas de file d’attente, pas de monnaie

Page 48: Norme NFC - Romain Menetrier PAUG

Tickets (SmartCard)

• Ticket de concert

• Entrée musée

• Coupons de réduction

Page 49: Norme NFC - Romain Menetrier PAUG

Accès à l’information (Reader)

• SmartPoster ou Url

• Accès au horaires temps réel sur un arrêt de bus

• Lecture vidéo, audio sur des cartels dans les musées

• Magasins les plus proches pour acheter un produit présent sur une affiche

Page 50: Norme NFC - Romain Menetrier PAUG

Déclenchement d’actions (Reader)

• Appel téléphonique

• SMS (destinataire + message prérempli)

• Email

• Déblocage de niveau secret dans un jeu (Angry Bird)

• Demande d’ajout d’ami Facebook

Page 51: Norme NFC - Romain Menetrier PAUG

Connexion (Reader)

• Connexion automatique à un réseau wifi

• Pairing BlueTooth

Page 52: Norme NFC - Romain Menetrier PAUG

Echange d’information (P2P)

• Echange de cartes de visite vCards

• Synchronisation de niveau dans un jeu

• Connexion d’utilisateurs sur Facebook, Twitter, Google+, ...

Page 53: Norme NFC - Romain Menetrier PAUG

NFC & Android

Kit de développementSupport du NFCApplications

Page 54: Norme NFC - Romain Menetrier PAUG

Kit de développement

P2P, Reader : • SDK : SDK Android

• tags & lecteurs NFC : (entre 1 et 5€ par tag, lecteur entre 40 et 100€)

➡ http://www.tagstore.com ➡ http://www.rfidshop.com ➡ http://www.identivenfc.com ➡ http://www.toptunniste.fi➡ http://www.smartcardfocus.com

• téléphone NFC : Samsung Nexus S (env 500€), Samsung Galaxy SII (très bientôt...)

Card Emulation : • SDK : SmartCard API for Android http://code.google.com/p/seek-for-android/

• Developer kit : https://www.cardsolutions-shop.com/shop/gi-de/ (69€) et un téléphone Android compatible (http://code.google.com/p/seek-for-android/wiki/Devices)

• Lecteur NFC USB conseillé : ACR122 http://www.smartcardfocus.com/shop/ilp/id~242/ACR122/p/index.shtml (env 46€)

Page 55: Norme NFC - Romain Menetrier PAUG

Android : Support du NFC

Mode Reader/writer : supporté

Mode Card Emulation :

• Pour le moment, Android ne peut émuler que des tags NFC (limité), pas des SmartCard

• besoin de l’accès à l’élément sécurisé (puce SmartCard)

• mais le téléphone peut avoir 2 élément sécurisé (puce SmartCard interne + SIM)

• Téléphones Google : Google Wallet utilise l’élément sécurisé interne du téléphone => pas d’accès au mode émulation de carte

• Téléphones Cityzi : basé sur la SIM, accès via SDK Cityzi pour les éditeurs de service Cityzi

P2P :

• le SDK Android implémente une version différente de celle préconisée par le NFC Forum

• mais l’émission/réception de messages NDEF fonctionne sans soucis !

Page 56: Norme NFC - Romain Menetrier PAUG

Applications NFC Android

NFC Reader & Writer

Lecture et écriture de tags NFChttps://market.android.com/details?id=com.connecthings.tagwriter

NFC TagInfo

Information détaillée sur les tags lus par l’applicationhttps://market.android.com/details?id=at.mroland.android.apps.nfctaginfo

NFC Task Launcher

Automatiser le système Android à l’aide de tags (activer/désactiver wifi ou GPS, ...)https://market.android.com/details?id=com.jwsoft.nfcactionlauncher

Market Android / applications NFC : 2 en janvier 2011, 135 maintenant

Page 57: Norme NFC - Romain Menetrier PAUG

Crédits images

http://www.flickr.com/photos/wheatfields/4946287200http://www.flickr.com/photos/michel_langendijk/3403952323http://www.flickr.com/photos/chewie/65493124http://www.flickr.com/photos/timo/http://www.flickr.com/photos/nnova/2891151531http://www.flickr.com/photos/feuilllu/http://www.flickr.com/photos/74845103@N00/344484735/http://www.flickr.com/photos/electrolux-design-lab/6035579292/http://www.dailymotion.com/video/xfk9cz_studio-13-16-smart-muse_creationhttp://www.nfc-forum.orghttp://www.nexperts.comhttp://www.ics.com/company/news/nfc_hackathon/

Android skaters image is reproduced from work created and shared by Google and used according to terms described in theCreative Commons 3.0 Attribution License.

NFC Forum N-Mark is a registered Trademark of NFC Forum.

Sauf mentions contraires, les images Flicker utilisées sont soumises à la licence Creative Commons CC-BY-SA (http://creativecommons.org/licenses/by-sa/3.0/deed.fr)

Page 58: Norme NFC - Romain Menetrier PAUG

Questions ?

ContactEmail : [email protected] : @romemore

ContactEmail : [email protected] : @romemore