Nfc en móviles

Preview:

DESCRIPTION

Charla: NFC en móviles, impartida por Jesús González en el curso Especialización en Dispositivos Móviles que tuvo lugar en la Facultad de Informática de la Universidad de A Coruña del 20 al 22 de Junio de 2012.

Citation preview

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: jesus.gonzalez.tejeria@gmail.com

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: jesus.gonzalez.tejeria@gmail.comTwitter: @JesusGonT

Recommended