Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage Pascal Urien Télécom ParisTech Co-Fondateur de la société EtherTrust 1/28
Agenda L écosystème NFC Un système d identité NFC, et cas d usage 2/28
L écosystème NFC 3/28
La Carte à Puce 1980, Cartes B0 de CP8 Première carte de paiement électronique 1988, Invention de la carte SIM 1990, Normes ISO 7816 1991, Premières SIM commercialisées 1995, Premiers standards EMV 1997, Première carte java Javacard 1999, Création de Global Platform (GP) 2002, Premières cartes USIM La sécurité 3G devient une application 2009, premiers déploiements LTE 4/28
La genèse NFC 1994, Mifare 1K En 2011 Mifare représente 70% du marché du transport 2001, Standards ISO 14443 (13,56 Mhz) Type A (Mifare) Type B 2004, NFC Forum Mifare (NXP), ISO14443A, ISO14443B, Felica (Sony) 3 modes fonctionnels Reader/Writer, Card Emulation, Peer to Peer 5/28
La carte SIM devient NFC: Le Contactless Front-end (CLF) ETSI TS 102 613 Un lien physique: le Single Wire Protocol (SWP) Un protocole HDLC simplifié : SHDLC 6/28
Le Contrôleur NFC Secure Element Exemple: NXP PN544 Reader/writer ISO 14443 A-B, MIFARE, FeliCa, NFC Forum tags, ISO 15693 Card emulation ISO 14443 A-B-B, MIFARE, FeliCa RF SWP RAM 5Ko ROM 128 Ko EEPROM 52 Ko 7/28
Reader/Writer Card Emulation Reader Card Emulation 8/28
Le Mode P2P Android NDEF Push Protocol Specification Version 1, 2011-02-22 The NDEF Push Protocol (NPP) is a simple protocol built on top of LLCP which is designed to push an NDEF message from one device to another. 9/28
NFC et smartphones Nokia Supporte les modes Card et SWP NOKIA 6131 Android 2.3 (Gingerbread), Android 4.0 Supporte les modes Reader et P2P Nexus S (v2.3), Galaxy Nexus (v4.0) NXP NFC Controller PN65N RIM JDE 7.0.0 (Octobre 2011) Supporte les modes Reader et Card Emulation JSR 177 Blackberry Bold 9900, 9930 INSIDE SecuRead NFC Controller IPHONE Lecteur Externe NFC! Rumeurs pour le support de NFC NXP PN65N 10/28
Un Exemple de Secure Element: le PN532 OS JAVACARD JCOP + GP ROM 160 Ko, EEPROM 72 Ko, RAM 4Ko Crypto-processeur (3xDES, AES, RSA, ECC) Certification CC EAL5+ Security Certificates EMVCo La plupart des contrôleurs NFC embarquent un Secure Element 11/28
Mémoires SD + NFC Controller EEPROM 72 Ko 12/28
L Effet Google Fin 2010, annonce du Google Phone (NexusS) Intégration du service (MasterCard) paypass * dans le SecureElement du contrôleur NFC. Au sujet de Paypass Mode Mag Stripe (Piste Magnétique) Un CVC3 ( Card Verification Value), le code de 4 chiffres utilisé en complément du numéro de carte bancaire (PAN), est généré de manière dynamique à l aide d un calcul (3xDES) basé sur divers paramètres de la carte de paiement (PAN, le compteur ATC, etc ) Mode EMV Fin 2011, les nouveaux modèles Blackberry, mais également des mémoires SD-NFC sont certifiés Paypass * MasterCard PayPass, M/Chip, Acquirer Implementation Requirements, v.1-a4 6/06 13/28
Google I/O 2011: How to NFC 14/28
Les verrous de la technologie NFC Le stockage des applications dans les SecureElements La taille mémoire EEPROM est limitée (< 100Ko) L administration des applications Qui arbitre l allocation mémoire? Qui détient les clés de chargement GP Les multiples SecureElement Cartes SIM Contrôleur NFC SD+NFC Cartes sans contacts externes! Le facteur d échelle Comment déployer une application à grande échelle 15/28
De Multiples Secure Elements NFC APPs 16/28
Un Système d Identité NFC, et cas d usage 17/28
Un Modèle d Identité NFC (NFC-ID) SSL/TLS est LE standard de la sécurité Internet Identité NFC Une pile SSL/TLS intégrée dans un SecureElement Javacard 2.x WORE! Write Once, Run Everywhere! 20 Ko pour le mode client 25 Ko pour le mode client/server Un transport indépendant de TCP/IP: EAP-TLS Mode datagramme Décrit and un IETF draft, draft-urien-eap-smartcard Le client possède un certificat X509 Chaque SecureElement possède une identité Authentification mutuelle forte entre client et serveur Etablissement de canaux sécurisés (Secure Channel) 18/28
Le cycle de vie d une NFC-ID APP Application Server Container : information protégée par la clé publique du Secure Element et signée par une autorité de confiance SSL SE Secure Element Certificate End Of Life User Agent UserID SSL IDentity Provider (IdP) Application Certificate 19/28
Quels Services 1/3, Prépaiement Coupons Déjeuner 20/28
Quels Services 2/3, OPENID 100,000 WEB sites compliant with OPENID Identity Provider (IdP) OPENID Authentication Server (AS) autoconnect.me/pascal User Agent Proxy Software (PS) SSL/TLS Pascal s Certificate RSA Private Key SSL/TLS embedded Stack CA Certificate 21/28
Quels services 3/3, Distribution de Clés Le passage des clés de serrure, d une technologie mécanique à une technologie numérique est une application potentiellement très importante pour l internet des choses Par exemple les hôtels sont de plus en plus équipés de serrures à commande NFC Nous proposons une nouvelle architecture à quatre niveaux Le serveur de clés Des cartes NFC à doubles interfaces, ISO14443A et Mifare Un smartphone NFC (Android, ) supportant le mode Reader/Writer Des serrures NFC Mifare 22/28
Le Système Classique de Distribution de Clés Legacy Mifare Lock Mifare Key Card Key Card 4 Check Key Value Key Value = f(uid) 3 Read Key Value UID Unique IDentifier 2 Write Key Value Encoder Key Server INTERNET 1 Generate Key Value for UID Key Value = f(uid) 23/28
Une Architecture de Distribution de 2 clés basée sur NFC SSL/TLS Secure Channel NFC Card Certificate 1 NFC Card Certificate Dual Interfaces RFID SSL/TLS Stack Key Card ISO 14443 3 Key Server Key Generation 4 Legacy MIFARE Lock NFC Enabled Mobile Equipped with a Dedicated Application 24/28
Dual Interface RFID: 3 composants JavaCard Key Application TLS Stack 3 MIFARE API Key Value 2 Mifare Secure Microcontroller Emulation 1 with NFC resources equipped with a Java Virtual Machine NFC Mobile Legacy Mifare Lock 25/28
Chargement de Clés et Container Dual Interfaces RFID TLS Stack Key Card Decrypt & Check Container 1 2 https://www.keyserver.com/getkey.php Write Key Container Write Key via Mifare API Transfer SSL session NFC Enabled Mobile The Key Value is ciphered by the RFID Public Key M= {Key Value}RFID-Public-Key The Ciphered Content (M) is signed with the KeyProvider Private Key Sign= {M}KeyProvider-PrivateKey The Container is the concatenation of the two values, M & Sign Container = M Sign{M} 4 3 Download Key Container M Sign NFC Card Certificate Key Server 2A96B6FB30B4F54CFF4FB72A00C9FE61 4D338126B180B3CA1E13F87A1C9DA27A 05DA474791648607E83619DFD7B94A40 1FEB6583D8A45B9D6E793E6B8E55229A F02BC715E909EC6E4C394FDDBA096F44 3C97088A64FD4CDEC99F5F9539217A04 D1289BA1DEA4161246C38DD2178F00F2 CBC3036F722809E08009F34380931C35 476198DC513771B616D0708BB5D5B0A9 A543B083C23576EC36C38C1EAB107DB8 FB9606DFD310BDBB1A97FDC22D5543D0 C8F59F54563EA2E5C50CB086234E3671 DF33FCB797866C6B1A5DF134431C812B 3989A0CA7512845F7E3F2982CB10E38C E95BF3AE9BFECE839585FD942F182B9A BE091C93BFD4F4191CAFFB9197D8C8A1 Key Container 26/28
Une Brève Démonstration http://www.facebook.com/photo.php?v=3030751173533 CES 2012, Las Vegas 27/28
Conclusions 28/28