4. Qu’est-ce que le NFC ?
Pour les pessimistes : NFC = Not Currently Found
Pour les optimistes : NFC = New Future is Coming
(copyright @PierreMetivier)
5. 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
6. 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, ...
7. 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
8. 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
10. 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
11. 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)
12. 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
15. 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, ...
16. 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
17. Téléphones
2004 2008
Nokia Field Force NFC Shell Nokia 6212 NFC
coque NFC pour 5140 successeur du 6131, largement utilisé
par les développeurs
2005 2010
Nokia 3220 + NFC Shell Samsung Nexus S
premier téléphone Android NFC
2005 2011
Samsung SGH-D500E NFC Samsung Galaxy SII
premier téléphone NFC, utilisé pour le Fonctionnalités NFC uniquement en
pilote de Caen fin 2005 Corée du sud (France : oct 2011)
2006
Nokia 6131 NFC ‣NXP prévoit 40M de téléphone équipés en 2011
premier téléphone NFC disponible
? ‣Sortie des premiers téléphones NFC
BlackBerry, HTC (Android), LG (Android), ...
commercialement
19. 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)
20. RFID
4 bandes de fréquences utilisées :
125-135KHz 13,56MHz UHF GHz
Portée de 1m
Tolérance aux
Identification proche Portée de 10m
perturbations
Pas de problème de La fréquence dépend du Coût faible des puces
Standardisé au niveau
lecture pays
mondial (ISO 14443, ISO
15693)
Tracabilité : livres de bibliothèques, anti-vol dans les magasins,
Identification d’animaux, ... NFC !
péages d’autoroute ...
21. 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, ...
22. 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
23. 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
24. 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
25. NFC Forum : spécifications
Données
Puces
Communication
26. 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
27. 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
28. 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...)
29. 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 A Topaz (Innovision/Broadcom)
Type 2 48 à 192 octets ISO 14443 A tags Mifare Ultra Light de NXP
Type 3 256 octets à 9 Ko Non ISO 14443 mais semblable tags 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
30. 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
Capacités du
block 3 CC0 CC1 CC2 CC3
Contenant Identifiant du tag
block 4 Données Data0 Data1 Data2 Data3
Blocage en écriture
block 5 Données Data4 Data5 Data6 Data7
Données
block 6 Données Data8 Data9 Data10 Data11
... Données ... ... ... ...
block 15 Données ... ... ... ...
31. 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
32. 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)
E1h 10h 06h 00h
• 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»
33. 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
1 = indique le début d’un
5 CF (Chunk Flag)
enregistrement parcellaire
1 = format d’enregistrement
4 SR (Short Record)
court, simplifié
1 = l’enregistrement a un
3 IL (Id Length)
identifiant (optionnel)
2
TNF (Type Name Type de données sur 3
1
Format) octets
0
34. 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)
type inchangé (utilisé pour les messages
0x06
parcellaires)
0x07 type réservé pour un usage futur
35. 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)
36. 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:»
37. 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
38. NFC Forum : Exemple d’enregistrement NDEF
Position Contenu Longueur Explication
Entête NDEF : TNF = 0x01 (type NFC Forum), MB=1, ME=1 (1 seul
0 0xD1 1
message)
1 0x02 1 Longueur du type (2 octets)
2 0x0E 1 Longueur des données (14 octets)
3 «Sp» 2 type SmartPoster
Entête NDEF : TNF = 0x01 (type NFC Forum), MB=1, ME=1 (1 seul
5 0xD1 1
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
39. 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
40. 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)
41. 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
42. 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
43. Global Platform : exemple Compteur
Source : http://julienb.developpez.com/tutoriels/java/introjavacard/#LV
45. Pour quels usages ?
Authentification
Paiement
Tickets
Accès à l’information
Déclenchement d’actions
Connexion
Echange d’informations
46. 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)
47. 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
49. 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
50. 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
52. Echange d’information (P2P)
• Echange de cartes de visite vCards
• Synchronisation de niveau dans un jeu
• Connexion d’utilisateurs sur Facebook, Twitter, Google+, ...
54. 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.nfctagstore.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€)
55. 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 !
56. Applications NFC Android
Market Android / applications NFC : 2 en janvier 2011, 135 maintenant
NFC Reader & Writer
Lecture et écriture de tags NFC
https://market.android.com/details?id=com.connecthings.tagwriter
NFC TagInfo
Information détaillée sur les tags lus par l’application
https://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
57. Crédits images
http://www.flickr.com/photos/wheatfields/4946287200
http://www.flickr.com/photos/michel_langendijk/3403952323
http://www.flickr.com/photos/chewie/65493124
http://www.flickr.com/photos/timo/
http://www.flickr.com/photos/nnova/2891151531
http://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_creation
http://www.nfc-forum.org
http://www.nexperts.com
http://www.ics.com/company/news/nfc_hackathon/
http://www.connecthings.com
http://www.cityzi.fr
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.
Les images Flicker utilisées sont soumises à la licence Creative Commons CC-BY-SA (http://creativecommons.org/
licenses/by-sa/3.0/deed.fr)