Download - Nfc en móviles
Curso de Especialización en Dispositivos móvilesA Coruña
NFC(Near Field Communication)
Autor: Jesús González Tejería21 de Junio del 2012Contacto: [email protected]
Twitter: @JesusGonT
Curso de Especialización en Dispositivos móvilesA Coruña
¿Quién soy?
• Ingeniero de Telecomunicaciones: especialidad en Telemática y Radiocomunicaciones
• Master de Seguridad de las TIC en la Universidad Europea de Madrid
• Proyecto fin de Master: plataforma de identificación basada en NFC y Bluetooth
¿Dónde trabajo?
• ClowoD: start up headquarted in Hong Kong that has currently activities in Shanghai (P.R. China), Shenzhen (P.R.China) and Santander.
• ClowoD develops and manufactures platforms for homes (home automation)
• Providing the users a secure personal cloud framework
Curso de Especialización en Dispositivos móvilesA Coruña
NDEF RTD
SNEP
LLCP
Reader/Writer
Peer to Peer
Mifare
Felica
Tags
Smart Poster
Card EmulationGoogle Wallet
Dispositivo ActivoDispositivo Pasivo
Android
Telefónica
RIM
TSM
Secure Element
NXP
SIM
Yale
Android Beam
Topaz
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Tabla de contenidos
• Introducción• Historia• NFC• Arquitectura• Android• Seguridad• Aplicaciones• Conclusiones
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
• Amplia diversidad de tecnologías inalámbricas
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
• ¿En verdad es necesaria otra tecnología inalámbrica?– Veremos que si, una parte del mercado no está cubierta– RFID no cubre todas las necesidades del mercado– Tampoco Bluetooth– WiFi no está pensado para la interacción con el entorno– Zigbee está diseñado para domótica
• La evolución de la tecnología móvil hace que ahora sea el momento
• Nuevos dispositivos con más de un interfaz inalámbrico: Bluetooth, WiFi, NFC, incluso Zigbee
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
RFID
• Radio Frequency IDentification• Permite la identificación automática de objetos con la ayuda
de etiquetas inteligentes (smart tags)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
RFID: tipos de tags
Tipos de Tags Pasivo Semiactivo Activo
CaracterísticasAlimentación a
partir de la señal del lector
Alimentación híbrida: batería y señal del lector
Alimentación por batería
Rango de lectura Corto Medio Alto
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
RFID: frecuencias de funcionamiento
Frecuencia LF (135KHz) HF(13,56MHz) UHF(868MHz) Microondas (2,4/5,8GHz)
Rango lectura Varios cm < 1m <5m <10m
Tipo de tag Pasivo Pasivo Pasivo/Activo Pasivo/Activo
Tasa de datos Baja Baja-Moderada Moderada-Alta Alta
AplicacionesIdentificación
animal, etiquetado en
producciónSmart Cards EPC Varias
Precio tag 1$ 0,50$ 0,15$ (pasivo) 25$ (activo)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
RFID: aplicaciones
• El principal valor añadido se encuentra en la información almacenada
• Así una etiqueta se pueden colocar en cualquier objeto, dando lugar a múltiples aplicaciones:– Cadena de suministro y logística– Seguridad y calidad del producto– Control de acceso y localización– Turismo, ocio y deportes– Transporte– Pasaporte
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
RFID: limitaciones
• A pesar de sus ventajas tiene limitaciones:Los precios actuales suponen una barreraEl código de barras supone “coste cero”Suplantación de etiquetasAtaques MiMAccesos no permitidos a los tags
• Además es un sistema demasiado rígidoÚnicamente se establece una conexión entre lector y tagEl lector es un dispositivo caro Orientado a la industria, no al sector servicios
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
Bluetooth: características generales
• Opera en el rango de 2.4 a 2.48GHz (banda ISM)• Velocidad (versión 2): 3Mbit/s. Alcance: 10 metros• Comunicación cliente-servidor (Similar a TCP/IP)• Dos topologías de red:
– Enlace punto a punto– Enlace punto multipunto
• Proceso:– Discovering– Pairing– Socket al servicio
• Arquitectura tipo OSI– Hardware– Software
• L2CAP• RFCOMM
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
Bluetooth: aplicaciones
• Intercambio de información entre dispositivos
• Periféricos Bluetooth
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
Bluetooth: aplicaciones
• Manos libres
• Sistemas de navegación GPS
• Marketing de proximidad
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesCurso de Especialización en Dispositivos móvilesA Coruña
Bluetooth: desventajas
• A pesar de ser una tecnología muy conocida tiene varios inconvenientes:
Elevado consumo de bateríaSensación de inseguridad
Autenticación– Clave necesaria para el pairing– Clave común mediante algoritmo E22: clave de pairing, longitud de ésta y MAC
Autorización– Al añadir un dispositivo se establecen niveles de confianza
Cifrado (opcional)Hacer invisible el dispositivo
La tecnología no ha calado en la población
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
¿Por qué NFC?
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
¿Por qué NFC?• Mejora de la experiencia de usuario• Paradigma “ABC” (Always Best Connected)• Añade múltiples facilidades a la vida diaria
– Interacción con el medio– Notificación de ofertas– Pago con móvil– Identificación
• NFC: tecnología en crecimiento– Grandes compañías– Comunidad científica
• Compatibilidad de NFC con tecnologías equivalentes: RFID• Bridging the physical and the virtual worlds
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Noticias
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Introducción• Tecnología inalámbrica de muy corto alcance• Estándar ISO 18092 (aprobado en 2003)• Tecnología basada en RFID y compatible en la banda de
13,56MHz• Orientado a la comunicación entre dispositivos iguales• Tecnología desarrollada por el NFC Forum, formado en 2004• Cuenta con más de 160 miembros de todos los sectores• Han publicado 16 especificaciones• Aún continúan generando especificaciones
– Bluetooth Secure Simple Pairing using NFC [01/11/2011]
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Características técnicas• Opera en la banda de 13.56MHz (banda ISM)• Velocidad: 106Kbit/s, 212Kbit/s y 424Kbit/s. • Alcance: 10 cm• Compatible con RFID• No soporta detección ni corrección de errores• Comunicación punto a punto entre dos dispositivos• Sin descubrimiento ni pairing• Permite establecer dos tipos de comunicación:
– Orientado a la conexión, como TCP– No orientado a la conexión como UDP
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Tipos de dispositivos• Dos tipos de dispositivos:
– Pasivo
– Activo
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Modos de comunicación• Lectura/escritura: un dispositivo es activo (lector/escritor) y el
otro pasivo (tarjetas RFID)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Modos de comunicación• Peer to Peer (P2P): dos dispositivos activos comunicándose
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Modos de comunicación• Card Emulation: un dispositivo activo actúa como pasivo.
– ¿Ventajas?– Puede emular varias tarjetas
Mejora la experiencia del usuarioServicio más personalizado al cliente
• Utiliza un elemento de seguridad (secure element)– Chip integrado– SIM
• ¿Qué tecnología emulamos?• Recursos limitados en el SE
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Modos de comunicación
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Modos de comunicación• Elemento seguro basado en chip integrado:
– Fabricante NXP, principal impulsor– Chip integrado con Java Card OS– Solución implementada por Google y Samsung
• Elemento seguro basado en SIM:– Inicialmente acceso por RIL (Radio Interface Layer)– Propietaria– GSMA impulsa SWP (Single Wire Protocol)– Chip para comunicarse con la SIM (también debe soportarlo)– Telefónica y RIM implementan esta solución
• En cualquier caso:– Sólo aplicaciones confiables (TTP) tendrán acceso– No tendrán acceso a todos los recursos
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Capas de NFC
Android Beam
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
RTD (Record Type Definition)
• Los tipos de datos que permite enviar NFC son:– MIME– URI– RTD
• 2 tipos de RTDs:– Well-Known types: se utilizan cuando no hay MIME o URI equivalente.
Hay varios:• Text• Generic Control• Smart Poster• Signature
– External types: utilizado por las empresas para definir su propio espacio de nombres
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
RTD: text
• No pretende sustituir al objeto MIME text/plain• Puede tener varios usos:– Añadir información de algún servicio– Si aparece en un único registro entonces la aplicación de
usuario lo interpreta
• Buenas prácticas: no interpretar este campo, considerarle únicamente como campo de información
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
RTD: text (estructura)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
NDEF (NFC Data Echange Format)
• Define el intercambio de información entre dos dispositivos– P2P– Reader/Writer
• La información viaja en mensajes• Cada mensaje se compone de varios registros
• Cada registro se compone de varios campos– Longitud– Tipo– Identificador– Payload
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
NDEF (NFC Data Echange Format)
Registro de un mensaje NDEF• Header
• MB• ME• CF• SR• IL• TNF
• Tipo• Longitud• Valor
• ID• Longitud• Valor
• Payload• Longitud• Valor
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
SNEP (Simple NDEF Exchange Protocol)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
SNEP (Simple NDEF Exchange Protocol)
• Protocolo de petición/respuesta• Define como se realiza el intercambio de mensajes NDEF• Fue aprobado a finales de 2011. Implementa• Procedimiento:
– Cliente envía petición– Servidor responde
• Admite fragmentación
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
NFC Tag Types
• Tag 1 Type– Basado en ISO-14443A– Escritura/lectura (se pueden configurar de sólo lectura)– Tamaño memoria: 96bytes-2Kbytes– Velocidad: 106kbits/s– No soporta anticolisión– Ejemplo: topaz
• Tag 2 Type (similares a las anteriores)– Basado en ISO-14443A– Escritura/lectura (se pueden configurar de sólo lectura)– Tamaño memoria: 96bytes-2Kbytes– Velocidad: 106kbits/s– Soporta anticolisión– Ejemplo: NXP Mifare Ultralight
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
NFC Tag Types
• Tag 3 Type– Basado en X 6319-4 (estándar Japonés)– Configurado de fábrica para escritura y/o lectura– Tamaño memoria: hasta 1MB– Velocidad: 212 o 424Kbits/s– Soporta anticolisión– Ejemplo: Sony-Felica
• Tag 4 Type– Basado en ISO-14443A– Configurado de fábrica para escritura y/o lectura– Tamaño memoria: hasta 32KB– Velocidad: 106, 212 o 424Kbits/s– Soporta anticolisión– Ejemplo: NXP Desfire
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Otros tags
• Mifare Classic– No son estándar– Soportados por móviles con chip de NXP– Basado en ISO-14443A– Escritura/lectura (se puede configurar de sólo lectura)– Tamaño memoria: 192, 768 o 3584Bytes– Velocidad: 106Kbits/s– Soporta anticolisión– Ejemplo: NXP Mifare Classic
• Todos estos Tags se pueden leer/escribir mediante NDEF
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Non-NDEF tags
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
API NFC
• Soporta dos modos de comunicación:– Lectura/escritura de tags– Android Beam– Card Emulation no está abierto a desarrolladores
• Soporta la mayoría de mensajes NDEF definidos en el estándar– No soporta el modo Generic
• Soporta mensajes propietarios, no NDEF– Android.nfc.tech.package
• Cada aplicación debe filtrar el tipo de información que desea recibir
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Funcionamiento básico
1. Una aplicación de usuario envía varios documentos– Por ejemplo: un contacto, una URL y/o una nota
2. Cada documento es encapsulado en un registro (en el payload) distinto
3. NDEF conforma el mensaje agrupando todos los registros4. Envía el mensaje a través del enlace establecido5. El mensaje es recibido y parseado por un dispositivo activo6. Se escribe el mensaje en un tag, que luego será leído por un
dispositivo activo7. Finalmente la aplicación de usuario recibe el mensaje
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Leer/escribir tags1. Tag Dispatch System
1. Llega un mensaje NDEF2. Se parsea el mensaje, analizando el campo TNF:
1. Si contiene un mensaje NDEF: ACTION_NDEF_DISCOVERED2. Si no contiene un mensaje NDEF: ACTION_TECH_DISCOVERED
3. Dispatch
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Leer/escribir tags• Diseño de la aplicación
– Filtrado mediante intents en el Manifest– Se recomienda filtrar por tipo de mensaje NDEF. Ejemplo:<intent-filter><action android:name="android.nfc.action.NDEF_DISCOVERED"/><category android:name="android.intent.category.DEFAULT"/><data android:mimeType="text/plain" /></intent-filter>
– También se puede filtrar por tipo de tecnología. Ejemplo:<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><tech-list><tech>android.nfc.tech.IsoDep</tech><tech>android.nfc.tech.NfcA</tech><tech>android.nfc.tech.Ndef</tech><tech>android.nfc.tech.NdefFormatable</tech><tech>android.nfc.tech.MifareClassic</tech><tech>android.nfc.tech.MifareUltralight</tech></tech-list></resources>
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Android Beam
• Plataforma para la comunicación P2P• La aplicación que haga uso de la plataforma debe estar en
primer plano• Ambos dispositivos no deben estar bloqueados• Permite compartir:
– Videos de youtube– Contactos– URLs
• También permite comunicaciones P2P con dispositivos que no sean móviles
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Samsung Galaxy Nexus
• Primer dispositivo con Ice Cream Sandwich• La antena NFC viene integrada en la batería• PN65n de NXP. Soporta:
– Elemento seguro embebido (SmartMX)– Elemento seguro en la SIM
• Pero:– No existe una API para desarrolladores
• Google, de momento, ha optado por SmartMX
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Seguridad
• Seguridad en las comunicaciones (Sniffing o eavesdropping):El alcance tan corto complica los ataquesNFC está apagado si el móvil esta bloqueadoNFC no cifra
• Seguridad en los dispositivos:– Etiquetas
URL SpoofingSuperposición de tagsComprobar la URL antes de cargarFirmar mensaje (RTD Signature)
Record Composition AttackRecord Hidden
– MóvilesAplicaciones maliciosas del marketSecure element
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
• Sistema de control de accesos• Aplicación Android:
– NFC– Bluetooth
• Terminal Bluetooth– Monitorización
• Acceso web– Apertura
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Microcontrolador principal Microchip
• Controla NFC Bluetooth Display Relés
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Módulo NFC Arygon RS232 Alimentación 5v
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Módulo Bluetooth Alibaba RS232 Alimentación 3.3v
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Display Acceso de usuarios
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Relés Actúan como
interruptor Pueden trabajar a 220v
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Hardware
• Microcontrolador secundario Microchip
• Controla TCP/IP
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
AndroidActividad inicial Actividad de Login
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
AndroidActividad Preferencias Actividad de historialActividad ayuda
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Simulaciones
• 3 escenarios de una empresa– Acceso NFC y tarjetas RFID
• Empleado (identificación)• Encargado (identificación)• No autorizado (identificación)
– Acceso Bluetooth• Empleado (identificación)• Encargado (identificación)• No autorizado (identificación)
– Monitorización del encargado mediante Bluetooth– Acceso TCP/IP
• Encargado (gestión de accesos)
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
• Tecnología más segura que RFID– NFC se desactiva al bloquear la pantalla
• NFC no sustituye a otras tecnologías, es complementaria:– [01/11/2011] Bluetooth Secure Simple Pairing Using NFC– Autenticación a una red WiFi
• Mejora de la experiencia de usuario• Fidelización y nuevas campañas de marketing
– Ofertas personalizadas a cada usuario
• Todas las plataformas móviles comienzan a integrarlo– Nokia, Android, Windows Phone, iOS?
• Tecnología en constante crecimiento– Periodo de adaptación largo: educar al usuario
• Bridging the physical and the virtual worlds
Introducción Historia NFC Arquitectura Android Seguridad Aplicaciones Conclusiones
Curso de Especialización en Dispositivos móvilesA Coruña
Bibliografía
• Especificaciones del NFC-Forum. Fuente: www.nfc-forum.org• NFC and Mobile Technology provided by professionals. Fuente: www.nfc.cc• Google, How to NFC. Fuente:
www.google.com/events/io/2011/sessions/how-to-nfc.html• NFC Rumors. Fuente:
www.google.com/events/io/2011/sessions/how-to-nfc.html• Android Developers. Fuente: https://developers.google.com/android/• GSMA. Fuente: www.gsma.com/mobilenfc/• NFCTimes. Fuente: http://nfctimes.com
Curso de Especialización en Dispositivos móvilesA Coruña
Autor: Jesús González Tejería21 de Junio del 2012
¿Cuestiones?
Contacto: [email protected]: @JesusGonT