Near Field Communication & Android

5,625 views
5,509 views

Published on

Near Field Communication and Android : phones, tools and specifications

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,625
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Near Field Communication & Android

    1. 1. NEAR FIELD COMMUNICATIONRomain MenetrierCTO @Connecthings *Connecthings - services mobiles sans contact NFC
    2. 2. Sommaire• Qu’est-ce que le NFC ?• Pourquoi le NFC ?• Historique• Fonctionnements & standards• Usages• NFC & Android
    3. 3. Qu’est-ce que leNFC ?
    4. 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. 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. 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. 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. 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
    9. 9. Pourquoi le NFC ?
    10. 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. 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 dappariement)• Wifi : moins cher, espace plus réduit plus facile à contrôler• GPS : position relative précise (<10cm)
    12. 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
    13. 13. Le NFC s’intègre aux objets physiques
    14. 14. Historique
    15. 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. 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. 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
    18. 18. Fonctionnement &standards
    19. 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. 20. RFID4 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. 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. 22. NFC = RFID + SmartCardLe NFC est une extension de SmartCard, standardisant l’utilisation decelles-ci à travers une communication RFID (ISO 18092).Un périphérique NFC combine donc l’interface d’une carte à puce et unlecteur RFID.[RFID] 13,56 MHz : compromis entre distance de lecture et sensibilité auxperturbations 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’uneSmartCard
    23. 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. 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. 25. NFC Forum : spécifications Données Puces Communication
    26. 26. NFC Forum : CommunicationLa communication entre 2 périphériques NFC est basée sur la norme ISO14443 : • débit 106 à 424 Kbps, • portée théorique jusqu’à 10 cm, mais en pratique < 4cm • half duplex ou full duplex • correction d’erreurLe NFC Forum spécifie également le support de la communication FeliCa
    27. 27. NFC Forum : CommunicationLa norme ISO 14443 se divise en 2 typesISO 14443 Amodulation sur 100% d’amplitude, le bitd’information est calculé d’après le bitprécédentISO 14443 Bmodulation sur 10% d’amplitude, lecturedirecte du bit d’information Android : • type A = NfcA • type B = NfcB
    28. 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. 29. NFC Forum : PucesLe NFC Forum prévoit 4 types de tags (gestion des données dans la mémoire etinterface 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. 30. NFC Forum : PucesExemple 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 43. Global Platform : exemple Compteur Source : http://julienb.developpez.com/tutoriels/java/introjavacard/#LV
    44. 44. Global Platform : exemple Compteur
    45. 45. Pour quels usages ?AuthentificationPaiementTicketsAccès à l’informationDéclenchement d’actionsConnexionEchange d’informations
    46. 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. 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
    48. 48. Tickets (SmartCard)• Ticket de concert• Entrée musée• Coupons de réduction
    49. 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. 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
    51. 51. Connexion (Reader)• Connexion automatique à un réseau wifi• Pairing BlueTooth
    52. 52. Echange d’information (P2P)• Echange de cartes de visite vCards• Synchronisation de niveau dans un jeu• Connexion d’utilisateurs sur Facebook, Twitter, Google+, ...
    53. 53. NFC & AndroidKit de développementSupport du NFCApplications
    54. 54. Kit de développementP2P, 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. 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. 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. 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)
    58. 58. Questions ?*Connecthings - services mobiles sans contact NFC

    ×