ANTEPROYECTO FIN DE CARRERA Título del Proyecto: INGENIERO EN INFORMÁTICA SISTEMA DE ACCESOS RESTRINGIDOS A INSTALACIONES CIVILES Realizado por: Rubén Héctor García Ortega 75146116X Iván García García 75266372E Dirigido por: Andrés María Roldan Aranda Enfoque general: Este proyecto Fin de Carrera pretende desarrollar un sistema integral de acceso restringido a edificios civiles de modo que permita unificar el control de tránsito entrada/salida a las diferentes estancias existentes en un edificio civil entendiendo tanto el acceso inferior a despachos, oficinas, almacenes, salas de reuniones, laboratorios como exteriores aparcamientos, garajes, cubiertas transitables, etc. Los accesos más importantes para la gestión del tránsito de personas en el conjunto inmobiliario dispondrán de conexión a la red, de este modo permitirán ser completamente telecontrolables y configurables por un gestor administrativo a través de la Intranet de la red corporativa y por un gestor técnico que de manera remota podrá realizar tareas d actualización y mantenimiento del firmware del sistema. Del mismo modo, los terminales de control de acceso serán capaces de ejecutar rutinas de autotest para detectar fallos tanto hardware como de seguridad enviando una alerta al administrador de seguridad. Para el desarrollo del hardware se utilizará un novedoso microcontrolador cuya arquitectura avanzada permite la ejecución de una versión reducida de la máquina virtual de JAVA TM que permitirá desarrollar código tanto a alto nivel para el desarrollo de las comunicaciones vía ethernet como a bajo nivel para la programación de los diferentes dispositivos físicos (sensores/actuadotes) que controlará: pestillos eléctricos, display, lector de tarjetas inteligentes, teclados, emisores/receptores de infrarrojos, interfaz ehternet y RS232 entre otros. 1
1. Introducción Actualmente, las llamadas tarjetas inteligentes o SmartCard están en auge debido a la demanda por parte de usuarios de una mayor protección y confidencialidad de sus datos. Hoy día se usan en todo el mundo para multitud de aplicaciones diferentes, como monedero electrónico, control de accesos, sanidad, teléfonos móviles Esto se debe a las capacidades de memoria y seguridad que ofrecen. Una de las principales directrices del proyecto es conseguir centralizar todos los servicios posibles en una sola tarjeta inteligente y precisamente por la versatilidad que ofrecen, han sido elegidas como medio de autentificación ya que permitirán, en un futuro, usar las mismas tarjetas para desarrollar otras aplicaciones. El dispositivo hardware central del proyecto es la plataforma de desarrollo TINI (Tiny InterNet Interfaces) (Ilustración 1) basada en un microcontrolador que nos permite disponer de un servidor web, protocolos de redes, y una maquina virtual JAVA. A este serán conectados el resto de dispositivos necesarios. Ilustración 1: Plataforma de Desarrollo TINI 2. Objetivos En este proyecto se pretende desarrollar un sistema que permita la gestión y el control de todos los accesos a recintos de la Universidad de Granada, utilizando como medio de autentificación una tarjeta inteligente. A continuación se exponen detalladamente los objetivos: 1. Diseño e Implementación de una base de datos Relacional para gestionar eficientemente los datos de: Accesos o Puertas Con conexión a la red Sin conexión a la red o Parking Con conexión a la red Sin conexión a la red 2
Grupos de accesos Usuarios 2. Implementación de una página WEB para la gestión de la base de datos. Este dispondrá de mecanismo de autentificación para asegurar la correcta gestión de los permisos. Se implementara con las mismas herramientas usadas actualmente en el Web de la Universidad de Granada. 3. Aplicación en JAVA para la gestión de las tarjetas. Esta usará la base de datos para dos tareas diferentes: Primero, al administrativo deberá autentificarse mediante su tarjeta obteniendo así la aplicación los correspondientes permisos de las puertas a las que el administrativo puede dar acceso. Seguidamente, este podrá: - Dar de alta nuevas Tarjetas y Usuarios - Modificar/Consultar Tarjetas existentes o Modificar/Consultar datos personales o Cambiar fecha de caducidad - Imprimir Foto y datos Personales 4. Utilizando el dispositivo TINI (Descrito en la introducción) al que conectaremos un display un lector de tarjetas, una bobina y un sensor de infrarrojos para la detección del coche, y el mecanismo de apertura (ya sea del parking o de una puerta) implementar una aplicación que tras leer la tarjeta del usuario y comprobar su validez proceda a la activación del mecanismo de apertura mostrando un mensaje en el display. 5. Mejorar el dispositivo anterior añadiéndole conexión a la red para dotarlo de más autonomía: Este será capaz de auto-actualizarse obteniendo de un servidor la lista de usuarios que disponen de acceso a esa puerta. Además enviará a este servidor datos sobre su estado, usuarios que hay dentro del parking, log de accesos... Por su parte, el servidor será capaz de: Usando la base de datos, generar una lista con los cambios (inserciones, modificaciones o borrados) para una determinada puerta al recibir la petición de un TINI y usar mecanismos que aseguren la integridad de la lista en el TINI. Consultar el estado actual de una determinada puerta mediante un interfaz WEB 3
3. Método de Trabajo Para la realización del proyecto se ha elegido el modelo de prototipado porque permite la rápida obtención de programas incompletos con funcionalidades reducidas (prototipos) pero que sirven para evaluar ciertos aspectos importantes de la aplicación. Además es un modelo bien detallado, sistemático, que permite la documentación, verificación y validación de cada prototipo. Dado que el proyecto a su vez, puede dividirse en tareas bien diferenciadas que en muchos casos pueden ser llevadas en paralelo, el prototipado se aplicara sobre cada una de ellas, potenciando su interoperatividad. El número de prototipos para cada una dependerá de su importancia y dificultad. De este modo el tutor del proyecto obtendrá de manera individual cada uno de los prototipos de tareas para su evaluación. A continuación se detallan las subpartes que componen el proyecto: 1. Diseño e implementación de la base de datos a. Diagrama Entidad/Relación b. Creación de las tablas c. Implementación de la Integridad y la Concurrencia 2. Implementación de un front-end vía web para la gestión de los datos a. Diseño de la interfaz gráfica mediante HTML y CSS b. Implementación de los servlets necesarios para el acceso a la base de datos c. Implementación en JSP de parte dinámica de la WEB. 3. Aplicación en JAVA para la gestión de tarjetas a. Comunicación mediante una WebCam utilizando Java Media FrameWork b. Comunicación con el lector/escritor de tarjetas mediante OpenCard FrameWork y los drivers PC/SC y M.U.S.C.L.E. c. Comunicación con la base de datos con MySQL ODBC driver 4. Programación del microcontrolador a. Control del display b. Lectura de tarjetas inteligentes c. Apertura/Cierre de cerrojos d. Rutinas autotest e. Generador de logs del sistema 4
Especificación y análisis funcional de cada una de las partes del proyecto Software Hardware Diseño e Implementación de la Base de Datos Programación del Microcontrolador Front-End WEB para la gestión de la base de datos Display Lector de Tarjetas Aplicación JAVA para la gestión de la base de datos y las Tarjetas Servidor de Nombres y registro del Sistema Unión de todos los prototipos Esquema general del proceso de desarrollo del proyecto 4. Medios disponibles o Ordenador PC con los sistemas operativos MS Windows y GNU/Linux o Netbeans : Plataforma libre de desarrollo para JAVA multiplataforma o OpenCard Framework: Biblioteca libre para la programación de SmartCards en JAVA multiplataforma o JAVA MEDIA FRAMEWORK: Biblioteca para la programación de aplicaciones multimedia en JAVA o Microcontrolador TINI o Kit de desarrollo DSTINIm400 para TINI o Lector/Grabador de tarjetas LTC31 USB y varias tarjetas demo C3PO o Display Hitachi HD44780 o Lector de tarjetas para integración o Diversos componentes electrónicos 5. Bibliografía y referencias [1] OpenCard Framework 1.2 Programmer s Guide Fourth Edition December, 1999 Copyright OPENCARD CONSORTIUM. [2] The TINI Specification and Developer s Guide; Don Loomis; ADDISON- WESLEY [3] Pressman, R.S., "Ingeniería del Software. Un enfoque práctico.", McGraw-Hill. [4] DataSheet Tarjeta SLE4442 [5] Manual de Referencia Lector de Tarjetas LTC31 C3PO Chip Cards Computing 5