Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Instituto Politécnico Nacional Unidad Profesional Adolfo López Mateos Escuela Superior de Ingeniería Mecánica y Eléctrica CONTROL DE ACCESO MEDIANTE NFC TESIS QUE PARA OBTENER EL TÍTULO DE INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA PRESENTAN: BENJAMÍN AGUSTÍN ARROYO BRIONES GONZALO ANTONIO CONTRERAS BERNAL ERICK ANTONIO ESPÍRITU DE LA PAZ ASESORES: M. EN C. JAFETH ASCENSIÓN ALONSO CARREÓN M. EN C. GABRIELA SÁNCHEZ MELÉNDEZ CUIDAD DE MÉXICO 2016 IPN – ESIME Zacatenco Control de Acceso Mediante NFC A AGRADECIMIENTOS De todo corazón agradezco a mi familia y a dios por siempre estar tanto en las buenas como en las malas. A mi papá Benjamín Agustín Arroyo García, a mi mamá Antonia Briones Rivera y a mi hermana Nancy Mireya Arroyo Briones que gracias a ellos soy lo que soy y estoy donde estoy. También a todos mis amigos, a los Mikes y a mis profesores por esos momentos que definieron mi presente y me convirtieron en el hombre que ahora soy DEDICATORIAS Les dedico esta tesis a mi papá, a mi mamá, a mi hermana, a mis amigos, a los Mikes ya todas las personas que en mi formación profesional me apoyaron incondicionalmente para concluir mis estudios, gracias a ellos alcance lograr mis metas, aprendí a siempre perseverar y ser constante en mi formación como profesionista y como persona. Benjamín Arroyo IPN – ESIME Zacatenco Control de Acceso Mediante NFC B AGRADECIMIENTOS Es para mí un verdadero placer utilizar este espacio para expresar mis agradecimientos a las personas que me ayudaron, dieron sus consejos y me guiaron en este camino lleno de retos y obstáculos. Me gustaría agradecer de manera especial y sincera al profesor Jafeth Alonso por haber creído en nosotros para realizar esta tesis y quien nos guió a través de este proyecto. Le agradezco también el habernos facilitado siempre los medios suficientes para llevar a cabo todas las actividades propuestas durante el desarrollo de esta tesis. Muchas gracias profesor. Quiero expresar también mi más sincero agradecimiento a la profesora Gabriela Sánchez por su importante aporte y participación activa en el desarrollo de esta tesis. Le agradezco también por sus siempre atentas y rápidas respuestas a las diferentes inquietudes surgidas durante el desarrollo de este trabajo, lo cual se ha visto también reflejado en los buenos resultados obtenidos. Quiero agradecer a todos los amigos y compañeros de clase, que hemos sufrido juntos los problemas que hacer una tesis conlleva, pero sobre todo hemos disfrutado la mejor etapa en la formación profesional. El agradecimiento más profundo y sentido va para mi familia, sin su apoyo, colaboración e inspiración habría sido imposible llevar a cabo este duro desafío. A mi madre, Estela, por su ejemplo de lucha y honestidad; a mis abuelas Estela y Luchi por darme su consejo; a mi hermano Miguel por su tenacidad y superación, a mi compañera de vida Fabiola por su maravillosa forma de alentarme a seguir adelante…por ellos y para ellos. Finalmente debo agradecer a la Escuela Superior de Ingeniería Mecánica y Eléctrica campus Zacatenco por haber abierto sus puertas para poder culminar mis estudios y haber apoyado para la realización de esta tesis. DEDICATORIAS La presente tesis se la dedico a mi madre, por ayudarme a superar esta etapa en mi formación como profesional, por hacer de mí una mejor persona, por enseñarme que con esfuerzo todo es posible, por darme aliento cuando estaba cansado, a levantarme cuando caía, a darme su consejo en momentos de necesidad, por alumbrar mi camino, por guiarme en el sendero correcto, pero, sobre todo, por haber creído en mí y darme su plena confianza. También quiero dedicar esta tesis a mi hija Romina, por darme ese empuje y fuerza necesarias para seguir adelante y nunca darme por vencido en realizar mis sueños y cumplir mis metas, por enseñarme lo que en verdad importa y, sobre todo, por llegar a iluminar mi vida. Gonzalo Contreras IPN – ESIME Zacatenco Control de Acceso Mediante NFC C AGRADECIMIENTOS Al M. en C. Jafeth Alonso y la M. en C. Gabriela Sánchez por su gran apoyo, su paciencia y su confianza, siempre estuvieron para apoyarnos y sin ustedes no lo habríamos logrado. GRACIAS. Al Instituto Politécnico Nacional, mi Alma Mater, institución que me formó, forjó y me permitió cumplir mi sueño, ser ingeniero politécnico. Huélum. A la ESIME Zacatenco que me enseñó tanto y cada día me hizo mejorar. Nuestros colores son verde y blanco porque el rojo lo llevamos en la sangre… A mi familia, mis tías que fueron mi segunda madre, mis tíos y mis primos que me cobijaron y apoyaron siempre. A mi tía Juanita por su enorme apoyo, jamás podré pagarle todo lo que hizo por mí. A mi tía Ruth, mi inspiración, quien me demostró que siempre hay que luchar y no existen imposibles. A mis padres por su apoyo incondicional y nunca me negaron mi sueño, les debo todo. A mis hermanas Cynthia y Nancy que me escucharon y me poyaron cuando más lo necesité. Los amo a los 4. Espíritu de la Paz, combinación única para una familia única… A Nayelli quien me ha empujado a luchar y siempre superarme, te admiro, te amo. A Gonzalo y Benjamín, mis amigos universitarios, con quienes luche hombro con hombro por 4 años. Lo logramos… DEDICATORIAS A mis sobrinas Andi, Pao y Auro, mis princesas, el motor de mi vida, el motivo para luchar cada día, las amo. A mi sobrino Vicente, no logré conocerte y sin embargo te amo. A mi nuevo sobrino, quien aún espero con ansia para jugar. A mis abuelas Anita y Aurea que desde el cielo me cuidan, sé que pueden ver este logro que también es su logro. A mis hermanas Cynthia y Nancy, guerreras incansables. Erick Espíritu No te rindas, aún estás a tiempo de alcanzar y comenzar de nuevo, aceptar tus sombras, enterrar tus miedos, liberar el lastre, retomar el vuelo. No te rindas que la vida es eso, continuar el viaje, perseguir tus sueños, destrabar el tiempo, correr los escombros y destapar el cielo. No te rindas, por favor no cedas, aunque el frío queme, aunque el miedo muerda, aunque el sol se esconda y se calle el viento, aún hay fuego en tu alma, aún hay vida en tus sueños Porque la vida es tuya y tuyo también el deseo, porque lo has querido y porque te quiero, porque existe el vino y el amor, es cierto; porque no hay heridas que no cure el tiempo. Abrir las puertas, quitar los cerrojos, abandonar las murallas que te protegieron, vivir la vida y aceptar el reto, recuperar la risa, ensayar un canto, bajar la guardia y extender las manos, desplegar las alas e intentar de nuevo, celebrar la vida y retomar los cielos. No te rindas, por favor no cedas, aunque el frío queme, aunque el miedo muerda, aunque el sol se ponga y se calle el viento, aún hay fuego en tu alma, aún hay vida en tus sueños Porque cada día es un comienzo nuevo, porque esta es la hora y el mejor momento; porque no estás solo... Mario Benedetti IPN – ESIME Zacatenco Control de Acceso Mediante NFC i TABLA DE CONTENIDO Objetivos 1 Objetivo General 1 Objetivo Específicos 1 Justificación 1 1 Capítulo I: El Control de acceso 2 1.1 Seguridad física 2 1.2 Funcionamiento del sistema de control de acceso 3 1.3 Credenciales 3 1.4 Acceso a los componentes del sistema de control 3 1.5 Tipos de lectores 4 1.6 Riesgos de seguridad 5 1.7 Tecnología NFC 5 1.7.1 El Sistema RFID 5 1.7.1.1 Funcionamiento y componentes 5 1.7.1.2 Mejoras mediante RFID 7 1.7.1.3 Usos y limitaciones del RFID 8 1.7.1.4 La evolución hacia el NFC9 1.8 Aspectos Generales 10 1.8.1 Definición del NFC 10 1.8.2 Características 10 1.8.3 Estandarización 10 1.8.4 Modos de operación 11 1.8.5 Arquitecturas de un dispositivo NFC 12 1.8.6 Aplicaciones de NFC 12 IPN – ESIME Zacatenco Control de Acceso Mediante NFC ii 1.9 NFC Forum 14 1.10 Etiquetas NFC 14 1.11 Establecimiento de la comunicación NFC 15 1.12 Formato de datos 15 1.12.1 NFC Data Exchange Format NDEF 15 1.12.2 Definición de Tipos de Registros (RTD) 16 2 Capitulo II: Requerimientos Técnicos para Desarrollo del Prototipo 17 2.1 Arduino 17 2.1.1 ¿Por qué Arduino? 17 2.1.2 Hardware 18 2.1.2.1 Placas E/S 18 2.1.3 Arduino UNO 19 2.1.3.1 Características técnicas del Arduino UNO 19 2.2 PN532 22 2.2.1 Descripción General 22 2.3 Eclipse 27 2.3.1 Arquitectura 27 2.3.2 Características 28 2.3.3 Historia 28 2.3.4 Radiografía 29 2.4 Android 30 2.4.1 Historia 30 2.4.2 Logos 31 2.4.3 Tipografía 31 2.4.4 ¿Qué significan las versiones de Android? 33 2.4.5 ¿Por qué utilizar Android y no iOS? 37 IPN – ESIME Zacatenco Control de Acceso Mediante NFC iii 2.4.6 ¿Qué desventajas existen en Android a comparación de iOS? 37 2.5 Análisis y programación de actividades del Proyecto 38 3 Capitulo III: Diseño del Prototipo 39 3.1 Aplicación Android 39 3.1.1 Aplicación para Usuario Estándar 39 3.1.1.1 Módulo 1 39 3.1.1.2 Módulo 2 40 3.1.2 Aplicación para Administrador 43 3.1.3 Desarrollo 45 3.2 Software para Arduino Uno y PN532 49 3.2.1 Entorno de desarrollo de Arduino 49 3.2.2 Estructuras de un código para Arduino 50 3.2.2.1 Variables y constantes 50 3.2.3 Desarrollo de aplicación Arduino para lectura de dispositivos 51 3.2.3.1 Fase 1: Librerías y Configuración 51 3.2.3.1.1 SPI.h 51 3.2.3.1.2 PN532_SPI.h 51 3.2.3.1.3 Llcp.h 52 3.2.3.1.4 Snep.h 52 3.2.3.2 Fase 2: Algoritmo de lectura 52 3.2.3.2.1 Recepción del mensaje NDEF 52 3.2.3.2.2 Lectura de etiquetas NFC 53 3.2.4 Desarrollo de aplicación Arduino para escritura de TAG’s NFC 54 3.3 Implementación 55 3.3.1 Prototipo NFC 55 3.3.2 Puerta 57 IPN – ESIME Zacatenco Control de Acceso Mediante NFC iv 3.4 Costos del Prototipo 61 3.5 Análisis del Prototipo 62 4 Capitulo IV: Pruebas y Resultados 63 Conclusiones 66 ANEXO I: Código Aplicación de Lectura para Arduino UNO 67 ANEXO II: Código para Escritura de TAG´s usando Arduino UNO 68 ANEXO III: Código de App “Control NFC” 69 ANEXO IV: Código App “Admin-Control NFC” 70 ANEXO V: Licencia BSD 71 ANEXO VI: Hojas de especificaciones del TRIAC MAC 12D 73 ANEXO VII: Hojas de Especificaciones del Optoacoplador MOC 3011 74 ANEXO VIII: Manual de la cerradura eléctrica Lloyd’s modelo LCH-1056 75 ANEXO IX: Artículo Publicado en “The SciTech, International Journal of Engineering Sciences” 80 REFERENCIAS 91 IPN – ESIME Zacatenco Control de Acceso Mediante NFC v ÍNDICE DE FIGURAS Figura I.1. Funcionamiento del sistema RFID 6 Figura I.2. Elementos de un sistema RFID 7 Figura I.3. Modos de operación 11 Figura I.4. Logo del NFC Forum 14 Figura II.1. Arduino UNO 19 Figura II.2. Descripción del Arduino UNO 20 Figura II.3. Esquemático del Arduino UNO 21 Figura II.4. Diagrama de Bloques 23 Figura II.5. Esquemático del PN532 25 Figura II.6. Módulo PN532 25 Figura II.7. Módulo PN532. Vista lateral 26 Figura II.8. Llaveros con módulo NFC 26 Figura II.9. Módulo PN532. Vista frontal 26 Figura III.1. Módulo 1 de la App Control NFC 40 Figura III.2. Módulo 2 de la App “Control NFC” 40 Figura III.3. Guía de usuario 41 Figura III.4. Aplicación “Control NFC Admin” 43 Figura III.5. IDE Arduino 49 Figura III.6. Esquemático del circuito de control 55 Figura III.7. Esquemático del prototipo 56 Figura III.8. Parte trasera del circuito 56 Figura III.9. Circuito montado y conectado 56 Figura III.10. Prototipo montado y conectado en la puerta 57 Figura III.11. Perforación vertical para cableado 57 Figura III.12. Perforación para cerradura 58 Figura III.13. Instalación de la cerradura eléctrica 58 IPN – ESIME Zacatenco Control de Acceso Mediante NFC vi Figura III.14. Conexión interna del circuito 60 Figura III.15. Puerta y sus conexiones internas 60 Figura III.16. Proceso de pintado 60 Figura III.17. Puerta y prototipo terminados y montados, vista exterior 63 Figura III.18. Puerta y prototipo terminados y montados, vista interior 64 Figura IV.1. Momento de acercamiento de una TAG NFC 64 Figura IV.2. Acceso aceptado y apertura de la puerta 65 Figura IV.3. Momento de acercamiento de un dispositivo Android con NFC 65 Figura IV.4. Android BEAM y apertura de la puerta 61 Figura IV.5. Puerta y prototipo terminados y montados, vista ángulo superior 61 IPN – ESIME Zacatenco Control de Acceso Mediante NFC vii ÍNDICE DE TABLAS Tabla I.1. Comparativo Código de Barras/RFID 8 Tabla I.2. Tipos de etiquetas NFC 14 Tabla II.1. Características Técnicas 20 Tabla II.2. Datos de referencia 23 Tabla II.3. Descripción de los pines 24 Tabla II.4. Versiones de Eclipse 29 Tabla II.5. Características y especificaciones 31 Tabla II.6. Funciones de las versiones de Android 34 Tabla III.1. Tipos de Datos 50 Tabla III.2. Costo de desarrollo del proyecto 61 Tabla III.3. Costo aproximado de comercialización del prototipo 61 IPN – ESIME Zacatenco Control de Acceso Mediante NFC viii ÍNDICE DE DIAGRAMAS Diagrama II.1. Diagrama de Gantt del Proyecto 38 Diagrama III.1. Diagrama de Flujo de la App “Control NFC” 42 Diagrama III.2. Diagrama de Flujo de la App “Control NFC Admin” 44 Diagrama III.3. Diagrama de Flujo del Prototipo 62 IPN – ESIME Zacatenco Control de Acceso Mediante NFC 1 OBJETIVOS OBJETIVO GENERAL Desarrollar un sistema de control de acceso usando la tecnología NFC (Near Field Communication). OBJETIVOS ESPECÍFICOS Analizar la tecnología NFC y sus características. Establecer una comunicación con la tecnología NFC. Programar una aplicación Android para establecer comunicación con la tecnología NFC por medio de un teléfono móvil. Implementar el prototipo usando etiquetas NFC como llaves. JUSTIFICACIÓN La tecnología inalámbrica NFC (Near Field Communication) cumplió 10 años en 2013 ya que el estándar ISO/IEC se aprobó el 8 de diciembre del 2003. Sin embargo, ha pasado mucho sin que se aclarara su validez práctica a pesar de la información de los consorcios cuyos fabricantes de equipos móviles trataron de comenzar a impulsar esta tecnología. El aprovechamiento de la tecnología NFC y explotación de ella en el campo de los accesos restringidos es una de las principales características de este proyecto. Debido a que esta tecnología a pesar de que se implementó desde el año 2003 no se le ha dado la atención necesaria para su estudio. Entre otros aspectos, la tecnología NFC nos proporciona numerosas ventajas y cabe mencionar algunos ejemplos de su aplicación como lo es transferir fotos, videos o música, tener una identificación y control del coche, teneruna sesión en cajeros automáticos 2.0, realizar compras más allá de los códigos QR, poder identificarse en eventos, efectuar pagos móviles, el uso de etiquetas NFC, etc. La implementación de accesos restringidos nos facilita tener costos pequeños y accesibles a toda persona. Ciertamente el hablar de su seguridad es un tema importante el cual es necesario tocar debido a que esta tecnología nos proporciona seguridad, confiabilidad y confidencialidad, sin mencionar que es ecológico ya que evita el uso de metales en la producción de llaves. Por medio de la radiofrecuencia o el sistema RFID se aplica su transmisión y básicamente la tecnología NFC nos permite realizar una comunicación simple, segura e intuitiva entre dispositivos. Los dispositivos móviles que cuentan con esta tecnología internamente tienen una antena y un circuito para su funcionamiento. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 2 Capítulo I: El control de acceso El control de acceso es la restricción selectiva de acceso a un lugar u otro recurso. El hecho de acceder a puede significar mucho, entrar, o usar. El permiso para acceder a un recurso se llama autorización. Las herraduras y credenciales de inicio de sesión son dos mecanismos análogos de control de acceso. 1.1 La seguridad física El control de acceso geográfico puede ser ejecutado por personal, o con un dispositivo, como un torniquete. Una alternativa de control de acceso en sentido estricto, es un sistema de control de presencia autorizada. Una variante es el control de salida, por ejemplo, de una tienda o de un país. El control de acceso se refiere a la práctica de restringir la entrada a una propiedad, un edificio o una habitación a las personas no autorizadas. Control de acceso físico puede lograrse por un ser humano, a través de medios mecánicos, tales como cerraduras y llaves, o por medios tecnológicos tales como los sistemas de control de acceso como los lectores dactilares. Dentro de estos entornos, la gestión de claves físicas también puede ser empleada como un medio de gestión y seguimiento del acceso a las zonas con llaves mecánicas. El control de acceso físico es una cuestión de ¿Quién? ¿Dónde? y ¿Cuándo? Un sistema de control de acceso determina quién tiene permiso para entrar o salir, donde se les permite salir o entrar, y cuando se les permite entrar o salir. Históricamente esto se logró parcialmente a través de llaves y cerraduras: Cuando una puerta se cierra sólo alguien con una llave puede entrar por la puerta en función de cómo esté configurado el bloqueo. Cerraduras mecánicas y llaves: no permiten la restricción de la entrega de llaves a los nuevos tiempos o fechas específicas. No proporcionan registros de la clave utilizada en cualquier puerta específica y las llaves pueden ser fácilmente copiados o transferidos a una persona no autorizada. Cuando una llave mecánica se pierde o el titular de la clave ya no está autorizado a utilizar el área protegida, los bloqueos deben ser re-codificados. El control de acceso electrónico utiliza computadoras para resolver las limitaciones de las cerraduras mecánicas y llaves. Una amplia gama de credenciales pueden ser usadas para reemplazar llaves mecánicas. Cuando se conceda acceso, la puerta estará abierta durante un tiempo predeterminado y la transacción se registrará. Cuando una solicitud sea denegada, la puerta debe permanecer cerrada y se registrará el intento de acceso. El sistema también hará un seguimiento de la puerta y de la alarma (de ser el caso), si la puerta es abierta a la fuerza o se mantiene abierta demasiado tiempo después de haber sido desbloqueado mandará una alerta. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 3 1.2 El funcionamiento del sistema de control de acceso Cuando se presenta una credencial a un lector, el lector envía la información de la credencial (por lo general un número) a un panel de control. El panel de control compara el número de la credencial con una lista de control de acceso, concede o deniega la solicitud presentada y envía un registro de transacciones de una base de datos. Cuando se niega el acceso basado en la lista de control de acceso, la puerta permanece bloqueada. Si hay una coincidencia entre la credencial y la lista de control de acceso, el panel de control opera un relevador (por ejemplo) que a su vez abre la puerta. El panel de control también hace caso omiso de una señal cuando la puerta está abierta para evitar una alarma. A menudo, el lector proporciona retroalimentación, tal como un LED rojo para un acceso denegado y un LED verde para un acceso concedido. La descripción anterior ilustra una operación de un solo factor. Las credenciales se pueden transferir, subvirtiendo así la lista de control de acceso. Por ejemplo, Alicia tiene derechos de acceso a la sala de servidores, pero Juan no lo tiene. Alicia le da su credencial a Juan por lo que ahora tiene acceso a la sala de servidores. Para evitar esto, la autenticación de dos factores puede ser utilizada. En una transacción de dos factores, se necesitan la credencial presentada y un segundo factor para el acceso a determinados; otro factor puede ser un PIN, una segunda credencial, la intervención del operador, o una entrada biométrica. Hay tres tipos de autenticación de la información: Algo que el usuario sabe, por ejemplo, una contraseña, frase de paso o PIN Algo que el usuario tiene, como tarjetas inteligentes Algo que el usuario es, tales como huellas dactilares, verificada por la medición biométrica 1.3 Credencial Una credencial es un objeto físico, un conocimiento o una faceta de la existencia física de una persona, que permite a una persona el acceso a una instalación física determinada o a un sistema de información basado en computadora. Normalmente, las credenciales pueden ser algo que usted sabe, algo que tiene, algo que es o alguna combinación de estos elementos. La credencial más típica es una tarjeta de acceso, llavero, u otro dispositivo. Hay muchas tecnologías de tarjetas incluyendo banda magnética, código de barras, proximidad a 13,56 MHz, tarjeta magnética de 26 bits, tarjetas inteligentes de contacto y tarjetas inteligentes sin contacto, tecnologías biométricas típicas (incluyen huellas dactilares, reconocimiento facial, reconocimiento de iris, escáner de retina, voz y geometría de la mano). 1.4 Acceso a los componentes del sistema de control Un punto de acceso (que puede ser una puerta, torniquete, puerta de estacionamiento, ascensor, u otra barrera física) es donde la concesión de acceso puede ser controlada electrónicamente. Normalmente, el punto de acceso es una puerta. Una puerta de control de acceso electrónico puede contener varios elementos. En su forma más básica hay una IPN – ESIME Zacatenco Control de Acceso Mediante NFC 4 cerradura eléctrica independiente. La cerradura se desbloquea por un operador con un interruptor. Para automatizar este sistema, la intervención del operador se sustituye por un lector. El lector puede ser un teclado, donde se introduce un código, podría ser un lector de tarjetas, o podría ser un lector biométrico. Los lectores no suelen hacer una decisión de acceso, pero envían un número de tarjeta a un panel de control de acceso que verifica el número con una lista de acceso. Para controlar la posición de la puerta se utiliza un interruptor magnético. En concepto del interruptor de la puerta no es diferente a las de los refrigeradores o las puertas del coche. En general, sólo se controla la entrada, y la salida no está controlada. En los casos en que la salida se controla, un segundo lector se utiliza en el lado opuesto de la puerta. En los casos en que no se controla la salida (salida libre) un dispositivo manda una solicitud para salir, los dispositivos de salida puede ser un botón pulsadoro un detector de movimiento. Cuando se pulsa el botón o el detector de movimiento es activado, la alarma de la puerta se ignora temporalmente mientras se abre dicha puerta. La acción de salir de una puerta sin tener que abrir dicha puerta eléctrica se llama “salida libre mecánica”. Esta es una característica de seguridad importante. En los casos en que el seguro debe estar desbloqueado eléctricamente a la salida. 1.5 Tipos de lectores Lectores de control de acceso pueden ser clasificados por las funciones que son capaces de realizar: Lectores básicos: basta con leer el número de tarjeta o PIN y lo remitirá a un panel de control. Este es el tipo más popular de los lectores de control de acceso. Ejemplos de estos lectores son Tiny RF RFLOGICS, ProxPoint por HID, etc. Lectores semi-inteligentes: son todas las entradas y salidas necesarias para el control de hardware de la puerta, pero no toman ninguna decisión de acceso. Cuando un usuario presenta una tarjeta o PIN entra, el lector envía información al controlador principal y espera su respuesta. Si se interrumpe la conexión con el controlador principal, estos lectores dejan de funcionar o funcionan en modo degradado. Por lo general, los lectores semi-inteligentes están conectados a un panel de control a través de un bus RS-485. Ejemplos de estos lectores son InfoProx Lite IPL200 por CEM Systems y AP-510 por Apolo. Lectores inteligentes: son todas las entradas y salidas necesarias para el control de hardware de la puerta, también tienen memoria y potencia de procesamiento necesaria para tomar decisiones de acceso independiente. Igual que los lectores semi- inteligentes que se conectan a un panel de control a través de un bus RS-485. El panel de control envía actualizaciones de configuración y recupera los eventos de los lectores. Ejemplos de estos lectores podrían ser InfoProx IPO200 por CEM Systems y AP-500 por Apolo. También hay una nueva generación de lectores inteligentes que se refiere como "lectores IP". Los sistemas con lectores de propiedad intelectual por lo general no tienen paneles de control tradicionales y los lectores se comunican directamente al PC que actúa como anfitrión. Lectores de control de acceso también se pueden clasificados por el tipo de tecnología de identificación. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 5 1.6. Riesgos de seguridad El riesgo de seguridad más común de la intrusión de un sistema de control de acceso es simplemente seguir un usuario legítimo a través de una puerta. A menudo, el usuario legítimo sostiene la puerta para el intruso. Este riesgo se puede minimizar mediante la capacitación y concienciación sobre la seguridad a usuarios. En las aplicaciones de seguridad donde es muy alto este riesgo se reduce al mínimo mediante el uso de un puerto de salida, a veces llamado un vestíbulo de seguridad donde se requiere la intervención del operador para asegurar una identificación válida. El hardware de bloqueo de suplantación es bastante simple. Un imán fuerte puede operar el solenoide de control de los pernos en el hardware de bloqueo eléctrico. Las cerraduras de motor también son susceptibles a este ataque con un imán. También es posible manipular el poder de la cerradura ya sea mediante la eliminación o la adición de corriente. 1.7 Tecnología NFC La tecnología conocida como Near Field Communication o NFC puede considerarse como un avance del RFID o Radio Frequency Identification. Básicamente, NFC permite realizar una comunicación simple, segura e intuitiva entre dispositivos. NFC aparece como una evolución en el uso de aplicaciones dentro del teléfono móvil, pues se presenta como un sistema de comunicación sencilla, una alternativa para el manejo de pagos y una opción para el almacenamiento de datos de forma más segura para los dispositivos electrónicos móviles. La principal característica que hace que la tecnología NFC sea interesante y atractiva, es que complementa a otras tecnologías inalámbricas como el Bluetooth, WiFi y el mismo RFID. La principal diferencia entre NFC y los otros esquemas sin contacto, es que no está pensada para la transmisión masiva de datos, pero sí para un intercambio casi instantáneo de una poca cantidad de información y no necesita de un emparejamiento previo. Para la mejor comprensión de la tecnología NFC, debemos primeramente conocer los principios de su antepasado, el sistema RFID. 1.7.1 El sistema RFID 1.7.1.1 Funcionamiento y componentes El RFID ya empezaba a tomar forma durante la Segunda Guerra Mundial, en donde se utilizaba la identificación por radiofrecuencia de manera masiva por los británicos para distinguir entre aeronaves propias o enemigas. Actualmente RFID, ya como una tecnología bien constituida, puede definirse como aquel sistema que tiene como principal función la identificación de determinados objetos a distancia, utilizando para tal efecto las ondas de radio. Para conseguirlo, esta tecnología proporciona soporte para el almacenamiento y la recuperación remota de datos en etiquetas o tarjetas RFID que contienen la información necesaria para el reconocimiento [1]. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 6 El funcionamiento de los sistemas de RFID es sencillo. Básicamente consta de tres partes como se ve en la Figura 1. Existe un lector RFID que de manera periódica busca en su zona de alcance la información contenida en las señales que son emitidas por alguna etiqueta RFID [1][2]. Estas etiquetas poseen la capacidad de adherirse a productos, personas o animales que necesitan ser identificados o seguidos. Una vez que se hayan recibido los datos, el lector los transfiere a un subsistema de procesamiento para la interpretación y el tratamiento correspondiente. Figura I.1. Funcionamiento del sistema RFID La onda tiene potencia suficiente como para despertar las etiquetas que se encuentren en la onda de interrogación; los parámetros de esta onda (frecuencia, amplitud, comandos, velocidades, entre otros) están definidos por el protocolo de comunicación. En otras palabras, el protocolo fija el lenguaje entre el lector y las etiquetas, así que ambos deben utilizar el mismo protocolo. Cuando la etiqueta despierta responde al lector enviando su UID (identificador único). Como la etiqueta no tiene batería, la única forma que tiene de transmitir información es reflejar la onda que recibe, de forma similar a un heliógrafo reflejando la luz solar [2]. Una vez que se ha establecido la comunicación, el lector puede enviar comandos a la etiqueta para leer su memoria, grabar nueva información o incluso destruir la etiqueta. Elegir correctamente cada uno de estos elementos es esencial para garantizar el correcto funcionamiento de la instalación. Hay muchos tipos de lectores dependiendo del uso que vayan a tener: desde lectores fijos de largo alcance (para cintas de transporte, carretillas elevadoras o muelles de almacenes) a dispositivos portátiles para lectura manual [2][3]. Los lectores industriales suelen trabajar con varias antenas multiplexadas para asegurar una óptima cobertura en la zona de interrogación. Todos ellos se pueden conectar a la red local directamente, o bien a través de un ordenador puente. Con respecto a las etiquetas, de nuevo hay múltiples opciones: desde los simples inlays (etiqueta RFID desnuda, en la que tanto la antena como el chip están desprotegidos), pasando por las etiquetas térmicas estándar (se pueden imprimir y a la vez grabar como RFID) hasta etiquetas robustas para ambientes industriales. Incluso hay etiquetas que soportan operación en entornos metálicos, líquidos o agresivos químicamente [3]. El protocolo de comunicación debe ser capaz de cumplir los requerimientos de la aplicación en términos de velocidad de lectura y escritura, lectura de varias etiquetas simultáneamente y radio de alcance.IPN – ESIME Zacatenco Control de Acceso Mediante NFC 7 Figura I.2. Elementos de un sistema RFID Considerando las etiquetas RFID, se puede decir que se componen principalmente por una antena, un transductor de radio y un material encapsulado o chip. Podemos clasificar a las etiquetas tomando en cuenta la fuente de alimentación, considerando esto, existen básicamente tres tipos [2]: Etiquetas pasivas: Son las más económicas. No poseen fuente de alimentación propia, por lo que utilizan la pequeña corriente eléctrica inducida por la energía que reciben del lector, misma que es suficiente para poner en marcha su circuito y para realizar la transmisión de datos. Etiquetas semi-pasivas: Reciben parte de su energía de una fuente propia de alimentación. Esta batería les sirve para alimentar solo sus circuitos, para la transmisión de información, utiliza la energía del lector. Etiquetas activas: Son menos económicas que las anteriores pero poseen mayor capacidad de almacenamiento tanto para sus circuitos, como la transmisión de la información. 1.7.1.2 Mejoras mediante RFID RFID no pretende sustituir los códigos de barras, ya que en muchos casos ambas tecnologías son complementarias. La decisión de implementar RFID debe venir determinada por una mejora en la eficiencia de los procesos de la compañía, para lo cual es necesario sacar partido de las ventajas de esta tecnología sobre el código de barras: IPN – ESIME Zacatenco Control de Acceso Mediante NFC 8 Tabla I.1. Comparativo Código de Barras/RFID 1.7.1.3 Usos y limitaciones del RFID Existe un amplio abanico de necesidades de identificación que se cubren perfectamente mediante la utilización de RFID [2] [3]: Identificación de activos: cada activo tiene una etiqueta con el número de inventario, descripción, usuario y estado de mantenimiento. Trazabilidad en la alimentación: la etiqueta de cada unidad de almacenamiento (SKU) tiene el número de lote, fabricante, fecha de caducidad y referencia del cliente. Control de proceso: la etiqueta contiene datos de identificación (lote y referencia) y parámetros de proceso. Identificación personal: los nuevos pasaportes y DNI contienen información encriptada que permite evitar falsificaciones. Prevención de copias ilegales: los artículos originales contienen el número de serie en el chip, de forma que cuando se van a utilizar es posible comprobar este dato. Identificación de animales en granjas y mascotas. Aunque tiene muchas ventajas, también tiene limitaciones: Limitaciones intrínsecas a la tecnología: o Radio de lectura entre 10 cm y 10 m, dependiendo de la potencia del lector, y de la sensibilidad de la etiqueta. o Las ondas de radio se atenúan al pasar por ciertos medios (en particular el agua) y se reflejan al chocar con metales, lo cual reduce notablemente el radio de lectura. Esto se traduce en que hay que ser cautelosos al identificar contenedores con metales o líquidos en su interior. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 9 Amortización de la inversión (ROI): antes de implantar esta tecnología es necesario realizar un estudio detallado de las mejoras que el usuario va a obtener de ella, y si es posible, calcular el ahorro que supone. Los usuarios tienen que familiarizarse con la tecnología. Aunque es muy sencilla y fiable, implica un cambio en la forma de trabajo, y los usuarios tienen que confiar en una etiqueta que contiene la información pero esta no es visible si no es mediante un lector apropiado. 1.7.1.4 La evolución hacia el NFC El Near Field Communication brinda nuevas funciones a la tecnología RFID. Esto se debe a la combinación de un lector y una etiqueta RFID en un mismo equipo NFC [3][4]. De esta manera se facilita la comunicación en ambas direcciones entre dos dispositivos y se quiebra la separación funcional de los esquemas RFID, es decir, el lector por un lado y las etiquetas por el otro. Es necesario considerar que la tecnología NFC tiene algunas diferencias con RFID, a pesar de que ambas utilizan el mismo tipo de chip y que deriva de la otra. Lo que debe quedar claro es que aunque NFC es un nuevo estándar que aparece a raíz de RFID, su misión no es reemplazarlo, más bien, complementarlo aumentando sus funciones. Realizando una comparación entre NFC y RFID, encontramos que la primera posee la capacidad de cómputo necesaria para ejecutar operaciones, hecho que hace fácil su integración en dispositivos como teléfonos móviles. Además NFC provee una comunicación peer to peer, medio que permite intercambiar información entre dos dispositivos. Otra cuestión que tiene NFC es que permite rangos pequeños de comunicación, y por ende posee una seguridad inherente, punto que lo hace preferible para cuestiones de comunicación que requieren seguridad como los medios de pago o intercambio de información personal. Además NFC no puede ser activado de forma remota, involuntariamente o por accidente. El teléfono obliga a que deba existir un acercamiento entre dispositivos antes de iniciar una comunicación. Con todo esto, cabe mencionar que se hace necesaria la evolución hacia el NFC para aprovechar la robusta seguridad, la versatilidad por el hecho de que puede utilizarse en dispositivos móviles, la facilidad en el uso y la posibilidad de servir como una tecnología que brinde al usuario información útil y le permita interactuar con su ambiente. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 10 1.8 Aspectos Generales 1.8.1 Definición del NFC Near Field Communication (NFC), es una tecnología de comunicación de corto alcance, que permite el intercambio de datos entre dos dispositivos de manera inalámbrica. Es compatible con infraestructuras RFID, debido a que es un derivado del mismo [4]. El NFC fue creado en el año 2002 como un proyecto encabezado por Nokia, Philips y Sony, mismas empresas que componen la asociación NFC Forum, para promover la utilización de este sistema en dispositivos móviles. En el 2003 fue aprobada como estándar ISO/IEC [4]. El sistema de corto alcance se compone de dos elementos: un iniciador y un objetivo, en donde cualquier dispositivo con NFC puede adoptar las funciones o el comportamiento de una de estas partes. El NFC puede ser instalado en cámaras fotográficas, reproductores, televisores, teléfonos celulares y hasta en controles remotos. 1.8.2 Características El NFC proporciona la comunicación inalámbrica de corto alcance mediante un campo magnético que permite el intercambio de datos, y opera en un ambiente en donde los dispositivos se encuentran separados una distancia de 4 centímetros como máximo. El sistema se maneja en la banda de frecuencias no licenciada de fc=13.56 MHz, y un ancho de banda que oscila a 7 kHz a cada lado de fc. Las comunicaciones pueden ser half o full dúplex [4][5]. Se utiliza el esquema de modulación Amplitud Shift Keying (ASK) y la codificación Manchester. Se disponen de tres velocidades de transmisión 106, 212 y 404 Kbps que son fijadas por el dispositivo que inicia la conexión. Un dispositivo NFC que comienza la comunicación y controla el intercambio de información es conocido como iniciador (similar al lector RFID), y el que responde al iniciador es conocido como objetivo. La comunicación puede realizarse en modo activo o bien en modo pasivo. 1.8.3 Estandarización Existen diferentes estándares para el NFC, como los detenidos por ISO /IEC (International Organization for Standarization/ International Electrotechnical Comision), el ETSI (European Telecommunications Standards Institute) y también el ECMA (European Computer Manufacturers Association). Estos especifican aspectos importantes en los sistemas NFC como la tasa de transferencia, el esquema para la codificación y modulación así como otros parámetros. El ECMA-340(ISO/IEC 18092) define la interfaz y modo de operación (NFCIP-1). El estándar ECMA- 352 (ISO/IEC 21481) define una segunda versión de la interfaz y modo de operación en NFC (NFCIP-2). Además, el ECMA- 356 (ISO/IEC 22536) y el ECMA-362 (ISO/IEC DIS 23917) definen la interfaz RF y el protocolo de comunicaciones [4]. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 11 1.8.4 Modos de operación Teniendo en cuenta el modo de operación, el NFCIP-1 y el NFCIP-2 son los protocolos más significativos. A continuación se describen brevemente [5]: NFCIP-1: Combina dos protocolos de comunicación que pertenecen al RFID, tales como el MIFARE y el FeliCa, e incluye en ellos nuevos protocolos de transporte. NFCIP-2: Hace posible la combinación del NFC con lectores RFID logrando así una compatibilidad. Como se mencionó anteriormente, para establecer una comunicación existen dos modos [5][6]: Modo pasivo: Debe existir un dispositivo que reciba y otro que emita, este último dispone de fuente eléctrica propia para funcionar, y debe generar una señal para el intercambio de datos. Por el otro lado el dispositivo receptor no posee baterías y debe aprovechar el campo incidente del emisor para el funcionamiento de sus circuitos. Modo Activo: Los dispositivos poseen energía propia, por lo que ambos son capaces de generar el campo electromagnético para la transferencia de datos. Para los dispositivos NFC es posible hacer la comunicación en el aire con otro, actuando como etiqueta o haciendo de lector / escritor. Referente a esto, el NFC Forum define los siguientes modos de operación: Peer to peer: Es utilizado cuando surge la necesidad de transmitir una reducida cantidad de datos (unos pocos kilobytes). Si se desea elevar la cantidad de datos en la transmisión, la tecnología NFC es utilizada para concretar una conexión inalámbrica con el soporte necesario para la comunicación, como por ejemplo Bluetooth. Lectura/escritura: En este modo, se tiene la capacidad de leer y escribir las etiquetas. El dispositivo puede leer cuatro tipos de etiquetas, mismas que fueron definidas en el NFC Forum. Una vez establecida la comunicación es posible el intercambio de texto (en pequeñas cantidades), una dirección de internet o un número de teléfono. Emulación de tarjeta inteligente: Un lector puede identificar a un dispositivo NFC, como si este fuera una etiqueta NFC o una tarjeta inteligente. Este modo puede ser usado para medios de pago, transacciones bancarias, pagos rápidos y control de acceso. Figura I.3. Modos de operación IPN – ESIME Zacatenco Control de Acceso Mediante NFC 12 1.8.5 Arquitectura de un dispositivo NFC En un dispositivo móvil NFC, es posible distinguir entre dos componentes fundamentales [6]: Chip NFC y antena: Este conjunto permite la comunicación y el intercambio de datos entre los sistemas NFC a muy poca distancia, por medio de un campo magnético. El chip se encuentra conectado al controlador banda base del teléfono, que es el encargado de la comunicación del móvil. Elemento seguro (SE): Es un chip independiente que contiene las aplicaciones basadas en claves de seguridad, tiene como propósito permitir las transacciones seguras. Existen varias implementaciones para este elemento y se diferencian en su ubicación dentro del móvil. A continuación se detallan las implementaciones para el elemento seguro [5] [6]: o SE incorporado en el circuito del móvil: Es la arquitectura más utilizada en los proyectos a nivel mundial. En este caso el SE puede ser un chip ya montado en la placa base o conectado a ella de alguna manera. Su ventaja principal es que ya posee todas las certificaciones hardware y software necesarios, sin embargo, este modelo acarrea todo un problema cuando el usuario quiera cambiar de teléfono y deba de gestionar las credenciales de pago. o Tarjeta de memoria utilizada como SE: En esta implementación una tarjeta de memoria incorpora un chip con un micro controlador y una memoria flash. o Tarjeta SIM como SE: Esta solución es más llamativa para las operadoras, porque de esta forma toda la gestión de la información estará a su cargo. En este modelo, la tarjeta SIM incorpora la aplicación de pago, dicha aplicación puede cargarse en la propia tarjeta SIM. 1.8.6 Aplicaciones de NFC Pagos mediante móvil Esta aplicación es la más conocida de la tecnología NFC, y es que pasando el terminal móvil por un sensor se puede producir una transacción de manera cómoda y ágil. Para esta transmisión se requiere un terminal NFC y además disponer de una SIM NFC insertada en el terminal que contiene los datos bancarios de forma segura. Según una encuesta realizada a más de 1.000 expertos el NFC superará en el 2020 a los pagos con la tarjeta de crédito. De hecho a finales de 2010, Telefónica, la Caixa y Visa finalizaron la fase de prueba del Mobile Shopping Sitges que consistía en pequeños pagos en comercios, bares o restaurantes a través del móvil con NFC. Cabe decir que el piloto tuvo buena acogida y se espera que se implante definitivamente. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 13 Otra de las grandes empresas que se ha lanzado a este sistema es Google, a través de su Google Wallet. Este producto es sencillamente un widget que se puede descargar en el teléfono móvil y autorizar la conexión con la SIM NFC. A partir de allí se pueden realizar pagos pasando el terminal por un punto de pago CitiPass y solo será necesario un click para confirmar e insertar el número PIN de la tarjeta bancaria. Este sistema funciona con cualquiera de las tarjetas MasterCard asociadas con Citipass. Una empresa como Carrefour también quiere pasarse al nuevo sistema NFC mediante el servicio “Mon Panier”, esta aplicación móvil permite realizar los pedidos y pagos en estos supermercados a través del terminal, luego el personal de Carrefour prepara la compra y la dejan lista para que el usuario se persone en el kiosko Mon Panier y se lleve su compra. Acceso a instalaciones con acreditación: Un ejemplo de esta aplicación es el piloto que se realiza en la Universidad Católica de Murcia donde los estudiantes utilizan el NFC del terminal para acceder a las instalaciones del campus y además esta acreditación permite realizar un control de asistencia automático. Se prevé también que este piloto se amplíe y se pueda llegar a utilizar para que los estudiantes se muevan a través de la red de transporte gracias al bono electrónico de NFC. Este piloto está financiado por Banco Santander y Vodafone. Carteles NFC-Publicidad: Una empresa australiana de telecomunicaciones (Telstra) ha lanzado una campaña de posters que incorporan NFC. El usuario acercando el móvil a la etiqueta NFC que se encuentra en el poster publicitario puede de esta manera descargarse aplicaciones, muestras gratuitas del servicio de música que ofrece la compañía e incluso recargarse la tarjeta prepago. Ya se han distribuido 20 cabinas de teléfono en Melbourne y Sydney que incorporan estas etiquetas tan particulares. Libros con contenidos Multimedia: La tecnología NFC puede incluirse en los libros a través de etiquetas que se encuentran en las hojas del interior. Gracias a acercar el terminal móvil a estas etiquetas existe la posibilidad de descargarse archivos multimedia que complementan las lecturas. Catch the Sun, un libro sobre los vuelos en globo, integra este sistema. Integración en automóviles: Orange y la empresa de Ingeniería AMD- Concept han creado un coche (Opel Ampera) el cual se puede abrir mediante el móvil prescindiendo de la tradicional llave a través de un lector de NFC que se encuentra insertado en el automóvil y previo enrolamiento automóvil-usuario. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 14 Además recientementeBlackBerry y Porche 911 han realizado la integración del terminal móvil con el automóvil a través de una simple etiqueta NFC. Esta integración permite poder acceder a través del display del coche a la música de la BlackBerry, o llamar a través del micrófono instalado en el coche de entre otras posibilidades. 1.9 NFC Forum En el año 2004, se constituye el NFC Forum, definiéndose como una organización sin fines de lucro que busca promocionar la utilización del NFC en dispositivos a través del desarrollo de ciertas especificaciones que intentan unificar los sistemas NFC [4]. El NFC Forum fue creado por las tres entidades pioneras en el NFC, Philips, Sony y Nokia, y ahora ya cuenta con más de una centena de miembros, entre ellos, empresas del rubro tecnológico, organismos económicos y otras organizaciones sin fines de lucro. Esta asociación fomenta el desarrollo de un ambiente en donde se consiga que las aplicaciones para el NFC sean seguras y puedan funcionar unas con otras sin problema. Para lograr esto se definen especificaciones tanto para la arquitectura de los sistemas, como los protocolos para lograr la operatividad en conjunto. Figura I. 4. Logo del NFC Forum 1.10 Etiquetas NFC Constituyen una parte importante de la tecnología NFC, implementan un almacenamiento pasivo en la espera de que algún lector NFC requiera la información que retienen. El NFC Forum ha definido cuatro tipos de etiquetas [4] [6]. En las especificaciones de las etiquetas se establecen las características de cada uno de los cuatro tipos, de manera tal a lograr la compatibilidad y operatividad de los dispositivos en sus diferentes modos de lectura o escritura. En estas especificaciones se fijan varios parámetros como los que se muestran a continuación en la Tabla I.2. Tabla I.2. Tipos de etiquetas NFC IPN – ESIME Zacatenco Control de Acceso Mediante NFC 15 1.11 Establecimiento de la comunicación NFC En los sistemas NFC se pueden distinguir cinco etapas importantes que están presentes durante el establecimiento de la transacción [6]. Estas fases son: Descubrimiento: En esta fase inicial, los dispositivos se rastrean mutuamente y luego inician el reconocimiento. Autenticación: Cada uno de los dispositivos verifican si en el otro extremo su par está autorizado o si deben establecer una conexión segura a través de un cifrado correspondiente. Negociación: Hasta este punto se definen parámetros como la tasa de transmisión, la identidad del dispositivo, la aplicación, y si es el caso, también la acción que van a solicitar. Transferencia: En esta fase ya puede realizarse el intercambio de datos. Confirmación: El receptor confirma el establecimiento de la comunicación y la transferencia de los datos. Un aspecto que no debe pasarse por alto durante las transacciones, es la seguridad. Teniendo en cuenta esto, es posible utilizar un cifrado AES y triple DES para emular la protección que ofrece una tarjeta bancaria inteligente. 1.12 Formato de datos Para que las etiquetas y los dispositivos puedan comunicarse entre sí, y se pueda conseguir la compatibilidad entre dispositivos NFC y RFID de los diferentes fabricantes, el NFC Forum definió un formato de datos estandarizado. 1.12.1 NFC Data Exchange Format NDEF Se define un formato de encapsulación de mensaje para intercambiar información entre dispositivos NFC, ya sea de un dispositivo a una etiqueta o entre dos dispositivos NFC activos, también se especifican las reglas para construir un mensaje NDEF correcto, así como una cadena ordenada de registros NDEF. NDEF no hace referencia a ningún circuito, ni arquitectura de conexión, ni se debe pensar que especifique el intercambio de información, es solamente un formato de mensaje. Este formato es el mismo para tarjetas, así como para dispositivos NFC, de esto se concluye que la información de NDEF no guarda relación con el tipo de dispositivo que participa en una comunicación. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 16 Con este formato pueden transmitirse varios tipos de información, como: Documentos o fragmentos XML, imágenes de diversos formatos y datos encriptados. Cadenas de información encapsulada. Documentos múltiples que guardan alguna relación lógica. 1.12.2 Definición de Tipos de Registros (RTD) Proporciona las pautas para la especificación de los tipos de registros, que pueden ser incluidos en mensaje NDEF. Esta especificación soporta aplicaciones específicas NFC [4]. El NFC Forum define dos tipos: NFC Forum External Types y NFC Forum Well-Known Types, siendo el primero creado para dar a otros organismos la posibilidad de especificar sus propios tipos de forma independiente. Con respecto al NFC Forum Well-Known Types, es necesario decir que fue estandarizado por las especificaciones del NFC Forum, que proporciona la pauta para el procesamiento y representación de los datos. Ellos son: Text Record Type: Sólo texto simple, ninguna aplicación específica asignada. Uniform Resource Identifier (URI) Record Type: Correo electrónico, direcciones de Internet, números de teléfono u otros códigos de identificación. Smart Poster Record Type: Es una extensión del tipo de registro URI, que proporciona información adicional acerca del URI, como iconos o acciones recomendadas. Generic Control Record Type: Proporciona una estructura para cualquier actividad de control. Signature Record Type: Una firma está prevista para certificar la veracidad de los datos. Connection Handover: Ofrece traspaso de una conexión NFC a otra tecnología de comunicación con mayor rendimiento de datos (por ejemplo, Bluetooth). En el siguiente capítulo se expondrán todos los requerimientos técnicos para la realización del prototipo. Se utilizó un micro-controlador ATmega en una tarjeta Arduino, la cual se conectará al módulo de transmisión PN532, el cual, contiene un módulo NFC que servirá para comunicar los dispositivos móviles y TAG’s a configurar. La interfaz informática que nos permitirá configurar los dispositivos NFC y administrar el control de acceso será programada en el lenguaje de programación orientada a objetos C#, utilizando Microsoft Visual Studio 2012. La aplicación móvil para sistema operativo Android será desarrollada en el compilador Eclipse 4.3 que es un compilador que da soporte a diversos lenguajes de programación, entre ellos Java y Android. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 17 Capítulo II: Requerimientos Técnicos para Desarrollo del Prototipo NFC es un avance de otra tecnología llamada RFID, la cual está compuesta principalmente por un Tag o etiqueta, un lector y un sistema de procesamiento. NFC combina un lector y una etiqueta RFID en un mismo equipo. Permite rangos pequeños de comunicación, por ello, posee una seguridad inherente, no puede ser activado de forma remota o involuntaria, es obligatoria la existencia de un acercamiento entre dispositivos antes de iniciar la comunicación. El sistema se maneja en la banda de frecuencias no licenciada de 13.56 MHz. NFC tiene diversos modos de operación, como son: peer to peer (transmisión de una cantidad reducida de datos), lectura/escritura (leer y escribir tarjetas o TAG’s) y emulación de tarjeta (método de pago, transacciones, etc.). Para establecer una comunicación entre dispositivos NFC se necesitan ciertos requerimientos técnicos tanto de hardware como de software, en este capítulo se mostrarán estos requerimientos, además se programarán las actividades a realizar para la elaboración del proyecto, esto se verá reflejado en un diagrama de Gantt. 2.1 Arduino Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal[7]. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa. Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyectos de Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). El software es de código abierto. El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia. 2.1.1 ¿Por qué Arduino? Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fáciles de usar. Arduino, además de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs [7]: IPN – ESIME Zacatenco Control de Acceso Mediante NFC 18 Asequible - Las placas Arduino son más asequibles comparadas con otras plataformas de microcontroladores. La versiones más caras de los módulos de Arduino no superan los 60€. Multi-Plataforma - El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos para microcontroladores están limitados a Windows. Entorno de programación simple y directo - El entorno de programación de Arduino es fácil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino está basado en el entorno de programación de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentirá familiarizado con el entorno de desarrollo Arduino. Software ampliable y de código abierto- El software Arduino está publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado. De igual modo se puede añadir directamente código en AVR C en los desarrollos. Hardware ampliable y de Código abierto - Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo. 2.1.2 Hardware Hay múltiples versiones de la placa Arduino. La mayoría usan el ATmega168 de Atmel, mientras que las placas más antiguas usan el ATmega8 [7] [9]. Nota: Los diseños de referencia para Arduino se distribuyen bajo licencia Creative Commons Attribution-ShareAlike 2.5. 2.1.2.1 Placas E/S Diecimila: Esta es la placa Arduino más popular. Se conecta al ordenador con un cable estándar USB y contiene todo lo que necesitas para programar y usar la placa. Puede ser ampliada con variedad de dispositivos: placas hijas con características específicas. Nano: Una placa compacta diseñada para uso como tabla de pruebas, el Nano se conecta al ordenador usando un cable USB Mini-B. Bluetooth: El Arduino BT contiene un módulo bluetooth que permite comunicación y programación sin cables. Es compatible con los dispositivos Arduino. LilyPad: Diseñada para “aplicaciones listas para llevar”. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 19 Mini: Esta es la placa más pequeña de Arduino. Trabaja bien en tabla de pruebas o para aplicaciones en las que prima el espacio. Se conecta al ordenador usando el cable Mini USB. Serial: Es una placa básica que usa RS232 como un interfaz con el ordenador para programación y comunicación. Esta placa es fácil de ensamblar incluso como ejercicio de aprendizaje. 2.1.3 Arduino UNO Arduino Uno es una placa electrónica basada en el microcontrolador ATmega328. Cuenta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulación por ancho de pulsos) y otras 6 son entradas analógicas. Además, incluye un resonador cerámico de 16 MHz, un conector USB, un conector de alimentación, una cabecera ICSP y un botón de reseteado. La placa incluye todo lo necesario para que el microcontrolador haga su trabajo, basta conectarla a un ordenador con un cable USB o a la corriente eléctrica a través de un transformador [7]. Figura II.1. Arduino UNO 2.1.3.1 Características técnicas del Arduino UNO Un sistema electrónico es cualquier disposición de componentes electrónicos con un conjunto definido de entradas y salidas. Una placa Arduino, por tanto, puede pensarse de forma simplificada como un sistema que acepta información en forma de señal de entrada, desarrolla ciertas operaciones sobre ésta y luego produce señales de salida. En los sistemas electrónicos, una magnitud física variable se representa generalmente mediante una señal eléctrica que varía de manera tal que describe esa magnitud. Por lo general, se hace referencia a las señales continuas como señales analógicas, mientras que asociamos las señales discretas a señales digitales: el ejemplo más claro es el de las señales binarias, donde la señal sólo pueden tomar dos niveles, 0 o 1. Arduino incorpora terminales digitales (señales discretas) pero de tal forma que tenemos un gran abanico de valores con los que trabajar (por ejemplo, 255 valores de luz en un fotosensor, siendo 0 ausencia de luz y 255 el máximo valor lumínico). IPN – ESIME Zacatenco Control de Acceso Mediante NFC 20 Tabla II.1. Características Técnicas Figura II.2. Descripción del Arduino UNO Empezando según las agujas del reloj [7] [10]: Terminal de referencia analógica (naranja) Tierra digital (verde claro) Terminales digitales 2-13 (verde) Terminales digitales 0-1/ E/S serie - TX/RX (verde oscuro) - Estos pines no se pueden utilizar como e/s digitales (digitalRead () y digitalWrite ()) si estás utilizando comunicación serie (por ejemplo Serial.begin). Botón de reinicio - S1 (azul oscuro) Programador serie en circuito "In-circuit Serial Programmer" o "ICSP" (azul celeste). Terminales de entrada analógica 0-5 (azul claro) IPN – ESIME Zacatenco Control de Acceso Mediante NFC 21 Terminales de alimentación y tierra (alimentación: naranja, tierras: naranja claro) Entrada de alimentación externa (9-12VDC) - X1 (rosa) Selector de alimentación externa o por USB (coloca un jumper en los dos pines más cercanos de la alimentación que quieras) - SV1 (púrpura). En las versiones nuevas de Arduino la selección de alimentación es automática por lo que puede que no tengas este selector. USB (utilizado para subir programas a la placa y para comunicaciones serie entre la placa y el ordenador; puede utilizarse como alimentación de la placa) (amarillo) Figura II.3. Esquemático del Arduino UNO IPN – ESIME Zacatenco Control de Acceso Mediante NFC 22 2.2 PN532 2.2.1 Descripción General El PN532 es un módulo de transmisión integrado para comunicaciones inalámbricas que trabaja en la frecuencia de 13.56 MHZ que incluye un microcontrolador basado en el núcleo 80C52. El módulo de transmisión utiliza el concepto de modulación y demodulación completamente integrada para las diferentesclases de métodos de comunicación inalámbrica y los protocolos en la banda de 13.56 MHZ [8]. El PN532 soporta 4 diferentes modos de operación: Lectura/escritura con soporte de ISO 14443A/MIRAFE® y el esquema de FeliCa™. ISO 14443B solo en modo de lectura/escritura. Modo de interface de tarjeta soportando ISO 14443A/MIFARE® y el esquema de FeliCa™. Modo NFCIP-1. Activando el modo de lectura/escritura para el lector ISO 14443A/MIRAFE® y el modo de lectura/escritura para el modo ISO 14443B, el transmisor interno de PN532 es capaz de manejar una antena de lectura/escritura diseñada para la comunicación con las tarjetas ISO14443A / MIFARE ® y transpondedores sin la necesidad de circuitería activa adicional. La parte de recepción proporciona una implementación robusta y eficiente de una circuitería de demodulación y decodificación de las señales compatibles de tarjetas y transpondedores ISO 14443 / MIFARE ® e ISO 14443B. La parte digital se encarga de la elaboración de tramas ISO14443A y detección de errores (Paridad y CRC). Activando el modo de lectura/escritura de FeliCa™, el módulo de transmisión del PN532 soporta el esquema de comunicaciones de FeliCa™. El receptor provee una robusta y eficiente implementación de circuitería de demodulación y decodificado de señales de FeliCa™. La parte digital maneja las tramas FeliCa™ y la detección de errores CRC. El PN532 soporta comunicaciones inalámbricas de velocidades de más de 424 Kbps en ambas direcciones usando el modo de FeliCa™. Adicionalmente, el módulo de transmisión del PN532 ofrece la posibilidad de comunicarse directamente con un segundo dispositivo NFCIP-1 con el modo NFCIP-1. El modo NFCIP-1 ofrece diferentes velocidades de transmisión por encima de los 424 Kbit/s de acuerdo al estándar ECMA 240 NFCIP-1. La parte digital maneja la creación completa de tramas NFCIP-1 y la detección de errores. Para el intercambio de datos se implementaron diferentes interfaces: Interface SPI. Interface I2C. IPN – ESIME Zacatenco Control de Acceso Mediante NFC 23 Serial UART (similar al RS232 con niveles de voltajes de 0 a PVDD). El PN532 implementa un regulador de bajo voltaje, permitiéndole ser conectado directamente a una batería, así como un interruptor de potencia media para suministrar y controlar la potencia del chip seguro incluido. Figura II.4. Diagrama de Bloques Tabla II.2.Datos de referencia IPN – ESIME Zacatenco Control de Acceso Mediante NFC 24 Tabla II.3. Descripción de los pines IPN – ESIME Zacatenco Control de Acceso Mediante NFC 25 Figura II.5. Esquemático del PN532 Figura II.6. Módulo PN532 IPN – ESIME Zacatenco Control de Acceso Mediante NFC 26 Figura II.7. Módulo PN532. Vista lateral Figura II.8. Llaveros con módulo NFC Figura II.9. Módulo PN532. Vista frontal IPN – ESIME Zacatenco Control de Acceso Mediante NFC 27 2.3 Eclipse Eclipse es un programa informático compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus. Eclipse es también una comunidad de usuarios. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering. Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios. Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re- licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL) [11]. 2.3.1 Arquitectura La base para Eclipse es la Plataforma de cliente enriquecido (del Inglés Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido [11]: Plataforma principal - inicio de Eclipse, ejecución de plugins. OSGi - una plataforma para bundling estándar. El Standard Widget Toolkit (SWT) - Un widget toolkit portable. JFace - manejo de archivos, manejo de texto, editores de texto . El Workbench de Eclipse - vistas, editores, perspectivas, asistentes Los widgets de Eclipse están implementados por una herramienta de widget para Java llamada Standard Widget Toolkit, a diferencia de la mayoría de las aplicaciones Java, que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse también tiene una capa GUI intermedia llamada JFace, la cual simplifica la construcción de aplicaciones basadas en SWT. http://es.wikipedia.org/wiki/Programa_inform%C3%A1tico http://es.wikipedia.org/wiki/C%C3%B3digo_abierto http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java http://es.wikipedia.org/wiki/BitTorrent_%28programa%29 http://es.wikipedia.org/wiki/Vuze http://es.wikipedia.org/w/index.php?title=Eclipse_Modeling_Project&action=edit&redlink=1 http://es.wikipedia.org/w/index.php?title=Eclipse_Modeling_Project&action=edit&redlink=1 http://es.wikipedia.org/wiki/Model_Driven_Engineering http://es.wikipedia.org/wiki/IBM http://es.wikipedia.org/w/index.php?title=VisualAge&action=edit&redlink=1 http://es.wikipedia.org/wiki/Fundaci%C3%B3n_Eclipse http://es.wikipedia.org/wiki/Licencia_P%C3%BAblica_Com%C3%BAn http://es.wikipedia.org/wiki/Eclipse_Public_License http://es.wikipedia.org/wiki/Free_Software_Foundation http://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNU http://es.wikipedia.org/wiki/Licencia_p%C3%BAblica_general_de_GNU http://es.wikipedia.org/w/index.php?title=Rich_Client_Platform&action=edit&redlink=1 http://es.wikipedia.org/wiki/OSGi http://es.wikipedia.org/wiki/SWT http://es.wikipedia.org/w/index.php?title=Widget_toolkit&action=edit&redlink=1 http://es.wikipedia.org/wiki/JFace http://es.wikipedia.org/wiki/SWT http://es.wikipedia.org/wiki/Abstract_Window_Toolkit http://es.wikipedia.org/wiki/Swing_%28biblioteca_gr%C3%A1fica%29 http://es.wikipedia.org/wiki/Interfaz http://es.wikipedia.org/wiki/GUI http://es.wikipedia.org/wiki/JFace IPN – ESIME Zacatenco Control de Acceso Mediante NFC 28 El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a diferencia de otros entornos monolíticos donde las funcionalidades están todas incluidas, las necesite el usuario o no. Este mecanismo de módulos es una plataforma ligera para componentes de software. Adicionalmente le permite a Eclipse extenderse usando otros lenguajes de programación como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos. La arquitectura plugin permite escribir cualquier extensión deseada en el ambiente, como sería Gestión de la configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente con estos lenguajes, ya que soporta otroslenguajes de programación. La definición que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular". En cuanto a las aplicaciones clientes, Eclipse provee al programador con frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y manipulación de modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edición gráfica) es un plugin de Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, además de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz gráfica personalizable y profesional. 2.3.2 Características Eclipse dispone de un Editor de texto con resaltado de sintaxis. La compilación es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc., y refactorización. Asimismo, a través de "plugins" libremente disponibles es posible añadir control de versiones con Subversion e integración con Hibernate [11]. 2.3.3 Historia Eclipse comenzó como un proyecto de IBM Canadá. Fue desarrollado por OTI (Object Technology International) como reemplazo de VisualAge también desarrollado por OTI. En noviembre del 2001, se formó un consorcio para el desarrollo futuro de Eclipse como código abierto. En 2003, fue creada la fundación independiente de IBM [11] [12]. http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_C http://es.wikipedia.org/wiki/C%2B%2B http://es.wikipedia.org/wiki/Python http://es.wikipedia.org/wiki/LaTeX http://es.wikipedia.org/wiki/Telnet http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_base_de_datos http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_base_de_datos http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_la_configuraci%C3%B3n http://es.wikipedia.org/wiki/CVS http://es.wikipedia.org/wiki/Framework http://es.wikipedia.org/wiki/Wysiwyg http://es.wikipedia.org/wiki/GUI http://es.wikipedia.org/wiki/Editor_de_texto http://es.wikipedia.org/wiki/JUnit http://es.wikipedia.org/wiki/CVS http://es.wikipedia.org/wiki/Ant http://es.wikipedia.org/wiki/Refactorizaci%C3%B3n http://es.wikipedia.org/wiki/Subversion http://es.wikipedia.org/wiki/Hibernate http://es.wikipedia.org/wiki/IBM http://es.wikipedia.org/wiki/Canad%C3%A1 http://es.wikipedia.org/w/index.php?title=Object_Technology_International&action=edit&redlink=1 http://es.wikipedia.org/w/index.php?title=Object_Technology_International&action=edit&redlink=1 http://es.wikipedia.org/w/index.php?title=VisualAge&action=edit&redlink=1 http://es.wikipedia.org/wiki/2001 http://es.wikipedia.org/wiki/2003 IPN – ESIME Zacatenco Control de Acceso Mediante NFC 29 Tabla II.4. Versiones de Eclipse Versión Fecha de lanzamiento Versión de plataforma Proyectos Mars Junio de 2015 - Mars projects Luna 25 Junio 2014 4.4 Luna projects Kepler 26 de junio de 2013 4.3 Kepler projects Juno 27 de junio de 2012 4.2 Juno projects Índigo 22 de junio de 2011 3.7 Índigo projects Helios 23 junio de 2010 3.6 Helios projects Galileo 24 de junio de 2009 3.5 Galileo projects Ganymede 25 junio de 2008 3.4 Ganymede projects Europa 29 de junio de 2007 3.3 Europa projects Callisto 30 de junio de 2006 3.2 Callisto projects Eclipse 3.1 28 de junio 2005 3.1 Eclipse 3.0 28 de junio de 2004 3.0 2.3.4 Radiografía Los datos y cifras relacionados con Eclipse, mostrados a continuación, permitirán profundizar un poco más en el producto. Como puede verse en la tabla siguiente, la versión 3.2.1 posee más de 2 millones de líneas de código (para el proyecto Eclipse). Estos datos son de acuerdo a SLOCCount.6 Utilizando esta cifra y aplicando el modelo COCOMO, podemos ver que requeriría un esfuerzo para producir un software de este tamaño de 604 persona-año (para ello se ha utilizado la fórmula 2.4*(KSLOC ** 1.05)). Para tener un estimado de los costes se toma en consideración el salario de 56.286 $/año, que es el salario promedio de un programador en los Estados Unidos, y luego se multiplica ese resultado por 2,40, que incluye cualquier gasto extra diferente de los programadores como pueden ser luz, teléfono, papelería, etc. [12]. http://wiki.eclipse.org/Mars http://wiki.eclipse.org/Luna http://wiki.eclipse.org/Kepler http://wiki.eclipse.org/Juno http://wiki.eclipse.org/Indigo http://wiki.eclipse.org/index.php/Helios http://wiki.eclipse.org/Galileo http://wiki.eclipse.org/index.php/Ganymede_Simultaneous_Release http://wiki.eclipse.org/index.php/Europa_Simultaneous_Release http://www.eclipse.org/callisto/callistoprojects.php http://es.wikipedia.org/wiki/Eclipse_%28software%29#cite_note-6 http://es.wikipedia.org/wiki/COCOMO IPN – ESIME Zacatenco Control de Acceso Mediante NFC 30 2.4 Android Es un sistema operativo basado en el kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas, inicialmente desarrollado por Android, Inc. Google respaldó económicamente y más tarde compró esta empresa en 2005. Android fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se vendió en octubre de 2008 [13]. 2.4.1 Historia Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005. Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se ha llegado ya al 1.000.000 de aplicaciones (de las cuales, dos tercios son gratuitas y en comparación con la App Store más baratas) disponibles para la tienda de aplicaciones oficial de Android: Google Play, sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android como la tienda de aplicaciones Samsung Apps de Samsung, slideme de java y Amazon appstore. No es un sistema operativo libre de malware, aunque la mayoría de ello es descargado de sitios de terceros. El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2.8 millones de líneas de lenguaje C, 2.1 millones de líneas de Java y 1.75 millones de líneas de C++. Tanto el nombre Android (androide en español) como Nexus One hacen alusión a la novela de Philip K. Dick ¿Sueñan los androides con ovejas eléctricas?, que posteriormente fue adaptada al cine como Blade Runner. Tanto el libro
Compartir