Sistema de validación WEB de documentos mediante escaneo de códigos QR haciendo uso de dispositivos móviles
Texto completo
(2) SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE ESCANEO DE CÓDIGOS QR HACIENDO USO DE DISPOSITIVOS MÓVILES. FERNANDO ALONSO MUNEVAR BEJARANO Cód. 20152678030 JOHN KENEDY CHAVARRO MUÑOZ Cód. 20152678024. Proyecto de grado para optar al título de: Ingenieros en Telemática. DIRECTOR INTERNO: MIGUEL ÁNGEL LEGUIZAMÓN PÁEZ. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA INGENIERÍA EN TELEMÁTICA BOGOTÁ D.C. 2018. 2.
(3) Nota de aceptación:. ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________. ______________________________ Firma del Tutor. ______________________________ Firma del Jurado. Bogotá, D.C. 8 de agosto de 2018. 3.
(4) TABLA DE CONTENIDO. INTRODUCCIÓN ................................................................................................... 12 1. DEFINICIÓN DEL PROYECTO....................................................................... 14 1.1.. TÍTULO ..................................................................................................... 14. 1.2.. PLANTEAMIENTO DEL PROBLEMA ....................................................... 14. 1.3.. FORMULACIÓN DEL PROBLEMA .......................................................... 15. 1.4.. JUSTIFICACIÓN ....................................................................................... 15. 1.5.. ALCANCES Y DELIMITACIONES ............................................................ 18. 1.6.. OBJETIVOS.............................................................................................. 20. 1.6.1.. Objetivo general ................................................................................. 20. 1.6.2.. Objetivos específicos ......................................................................... 20. 1.7.. MARCO TEÓRICO ................................................................................... 20. 1.7.1.. PHP .................................................................................................... 20. 1.7.2.. Android ............................................................................................... 21. 1.7.3.. Código QR ........................................................................................ 21. 1.7.4.. Encriptación ...................................................................................... 30. 1.7.5.. Función Hash ..................................................................................... 31. 1.7.6.. SHA .................................................................................................... 32. 1.7.7.. Vector de inicialización ...................................................................... 34. 1.8.. MARCO HISTÓRICO................................................................................ 35. 1.9.. METODOLOGÍA ....................................................................................... 37. 1.9.1.. PHVA ................................................................................................ 38. 1.9.2.. FACTIBILIDAD ECONÓMICA ............................................................ 41. 1.10.. CRONOGRAMA .................................................................................... 43. 2. CONSULTA Y VALIDACIÓN DE DOCUMENTOS MEDIANTE CÓDIGOS QR Y SERVICIOS WEB ............................................................................................... 44 2.1.. ANTECEDENTES ..................................................................................... 44. 2.2.. VALIDACIÓN POR CÓDIGO QR ............................................................. 46. 4.
(5) 3. APLICACIÓN DE TÉCNICAS DE CIFRADO EXISTENTES EN CÓDIGOS QR 50 3.1.. TÉCNICAS DE CIFRADO ........................................................................ 50. 3.2.. FUNCIONES HASH .................................................................................. 52. 3.3.. DESCRIPCIÓN DEL PROCESO .............................................................. 54. 3.3.1.. Limitaciones ....................................................................................... 54. 3.3.2.. Cifrado................................................................................................ 55. 3.3.3.. Descifrado .......................................................................................... 57. 4. DESARROLLO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL ............. 59 4.1.. DESCRIPCIÓN DE LA APLICACIÓN MÓVIL ........................................... 59. 4.2.. HERRAMIENTAS DE DESARROLLO ...................................................... 59. 4.3. PROCESO DE DESCIFRADO DE UN CÓDIGO QR MEDIANTE LA APLICACIÓN MÓVIL .......................................................................................... 60 4.4. PROCESO DE VALIDACIÓN DE UN DOCUMENTO MEDIANTE LA APLICACIÓN MÓVIL .......................................................................................... 61 5. DESARROLLO E IMPLEMENTACIÓN DE LA PLATAFORMA WEB .............. 63 5.1.. DESCRIPCIÓN APLICACIÓN WEB ......................................................... 63. 5.2.. HERRAMIENTAS UTILIZADAS ................................................................ 64. 5.3.. FUNCIONEs ............................................................................................. 64. 5.3.1.. Generación de diplomas nuevos ........................................................ 65. 5.3.2.. Modificación de datos a diplomas nuevos .......................................... 65. 5.3.3.. Generación de stickers para diplomas existentes .............................. 66. 5.3.4.. Generación de claves ............................................................................ 67. 6. CONSULTA DE INFORMACIÓN ACTUALIZADA MEDIANTE CONEXIÓN A BASE DE DATOS .................................................................................................. 68 7. CONCLUSIONES ............................................................................................ 75 8. BILIOGRAFÍA .................................................................................................. 77. 5.
(6) TABLA DE ILUSTRACIONES. Ilustración 1. Estructura del código QR .................................................................. 22 Ilustración 2. Patrón de búsqueda ......................................................................... 23 Ilustración 3. Patrón de tiempo .............................................................................. 23 Ilustración 4. Corrección del error .......................................................................... 25 Ilustración 5. Flexibilidad en códigos QR ............................................................... 26 Ilustración 6. Patrones de enmascaramiento ......................................................... 27 Ilustración 7. Enmascaramiento de códigos QR .................................................... 28 Ilustración 8. Localización de los patrones de búsqueda ....................................... 29 Ilustración 9. Cálculo del tamaño del módulo ........................................................ 29 Ilustración 10. Información del formato .................................................................. 30 Ilustración 11. Decodificación QR .......................................................................... 30 Ilustración 12. Ciclo PHVA ..................................................................................... 38 Ilustración 13. Fases del método RUP ................................................................... 39 Ilustración 14. Cronograma del proyecto ............................................................... 43 Ilustración 15. Verificación de diplomas por el ICFES ........................................... 45 Ilustración 16. Verificación de diplomas por el CPNAA .......................................... 46 Ilustración 17. Proceso de descifrado simétrico ..................................................... 50 Ilustración 18. Proceso de descifrado asimétrico ................................................... 52 Ilustración 19. Niveles de corrección de error (ECC) ............................................. 54 Ilustración 20. Creación de hash a partir de un texto ............................................. 56 Ilustración 21. Cifrado de la información de los códigos QR .................................. 57 Ilustración 22. Proceso de descifrado de la información de un código QR ............ 58 Ilustración 23. Proceso de descifrado de códigos QR ........................................... 60 Ilustración 24. Proceso completo de validación de documento desde la app ........ 62 Ilustración 25. Componentes del servicio web ....................................................... 66 Ilustración 26. Llaves del usuario. .......................................................................... 67 Ilustración 27. Distribución Bases de Datos ........................................................... 69 Ilustración 28. Método que inicia el timer para el test en aplicación móvil ............. 71 Ilustración 29. Método de impresión del tiempo requerido para la validación ........ 71 Ilustración 30. Inicialización del timer de prueba.................................................... 72 Ilustración 31. Detención del timer e impresión en pantalla del tiempo requerido . 72 Ilustración 32. Tiempo requerido para establecer la conexión y consulta en la base de datos ................................................................................................................. 73. 6.
(7) TABLAS. Tabla 1. Recursos humanos. ................................................................................. 42 Tabla 2. Recursos técnicos. ................................................................................... 42 Tabla 3. Gastos necesarios. .................................................................................. 42 Tabla 4. Comparación entre procesos de verificación de documentos. ................. 49. 7.
(8) RESUMEN La falsificación de documentos es un tema que hay que tomar muy en serio. Sin embargo, cuando se trata de temas académicos, este problema es mucho más común de lo que pensamos. En Colombia existen empresas que se especializan en la falsificación de documentos y ofrecen sus servicios por internet con diferentes “planes” o “paquetes”. Esto es un problema muy grave cuando se trata de contratación de personal, pues las empresas están contratando personas con documentos académicos falsos.. Uno de los mayores problemas con la falsificación de documentos es que las personas están pagando sumas altísimas para falsificar diplomas o actas de grado de diferentes colegios e incluso universidades para poder acceder a ciertos puestos. Esto es más grave cuando se trata de contratación de profesionales de la salud donde es un campo cuya falsificación de diploma es también se lleva a cabo y, según Jairo Cifuentes, secretario General de la Universidad Javeriana, es en el área donde más falsificación de diplomas hay.. Además se sabe que no solo hay empresas que falsifican documentos, como diplomas de grado, sino que además hay personas al interior de las universidades que están falsificando información dentro de las mismas bases de datos de las universidades, lo que lo que agrava el problema porque este tipo de corrupción está permeando las áreas administrativas de estas instituciones.. A partir de esto, la presente propuesta quiere contribuir a la solución de este problema de falsificación de documentos mediante la implementación de una aplicación web y de la utilización de códigos QR (enfocada hacia los diplomas de grado) que permita, a través del escaneo de un código QR incrustado en el diploma, validar que la información contenida en un diploma sea acorde a las bases de datos. 8.
(9) de las instituciones; esto, implementando técnicas de cifrado que aseguren la información contenida en los códigos QR y a su vez, la creación de los diplomas.. Este prototipo comprende dos elementos principales: uno, que es una aplicación web que permite la generación de diplomas, y dos, una aplicación móvil desarrollada para sistemas Android que permite escanear con la ayuda de la cámara de un celular los códigos QR de los documentos y así validar que la información contenida el documento corresponde a las bases de datos de las instituciones.. Para el desarrollo de este prototipo se ha optado por la implementación de criptografía asimétrica (con los pares de llaves pública y privada) con el fin de mejorar la seguridad a la hora de cifrar la información.. 9.
(10) ABSTRACT The falsification of documents is a matter that must be taken very seriously. However, when it comes to academic topics, this problem is much more common than we think. In Colombia there are specialized companies in falsifying documents and offer their services over internet with different "plans" or "offers". This is a very serious problem when it comes to hiring personnel, because companies are hiring people with false academic documents.. One of the biggest problems with falsifying documents is that people are paying lots of money to falsify diplomas or degree certificates from different schools and even universities to be able to access certain positions. This is more serious when it comes to hiring health professionals where it is a field whose counterfeit diploma is also carried out and, according to Jairo Cifuentes, General Secretary of the Javeriana University, is in this area where more falsification of diplomas there are.. In addition it is known that not only there are companies that falsify documents, such as diplomas of degree. There are people inside the universities who are falsifying information within the same data bases of the universities, which aggravates the problem because this kind of corruption is permeating the administrative areas of these institutions.. From this, the present proposal wants to contribute to the solution of this problem of forgery of documents through the implementation of a web application and the use of QR codes (focused on the degree diplomas) that allows, through the scanning of a QR code embedded in the diploma, validate that the information contained in a diploma is in accordance with the databases of the institutions; this, implementing encryption techniques that ensure the information contained in QR codes and in turn, the creation of diplomas.. 10.
(11) This prototype includes two main elements: one, which is a web application that allows the generation of diplomas, and two, a mobile application developed for Android systems that allows scanning the QR codes of documents with the help of a cell phone camera thus validate that the information contained in the document corresponds to the databases of the institutions.. For the development of this prototype, we have opted for the implementation of asymmetric cryptography (with public and private key pairs) in order to improve security when encrypting information.. 11.
(12) INTRODUCCIÓN. El desarrollo de las tecnologías de la información junto con la posibilidad de adquisición (a bajos costos) de cualquier dispositivo de impresión y/o escaneo ha permitido que personas con conocimientos realicen copias idénticas de documentos académicos tales como diplomas, actas de grado, certificados de estudio, etc., haciendo que la falsificación de documentos académicos vaya en aumento.. En Colombia, por ejemplo, existen empresas dedicadas a la fabricación y expedición de diplomas falsos que tienen en alerta a las universidades y área de recursos humanos de las empresas, las cuales reciben documentos falsos para las solicitudes de empleo. Según Edgar Zamudio, director de procesos académicos del Politécnico Grancolombiano, de cien solicitudes de verificación de documentos, 35 resultan falsas.1. Esto, ha traído consigo una serie de retos para las instituciones académicas que les sugiere desarrollar métodos de verificación de la autenticidad de documentos expedidos, que son solicitados por terceros para actividades como la contratación de personal en organizaciones, entre otros.. Si bien es cierto que el desarrollo tecnológico permite que el ser humano realice tareas de forma ágil y precisa, es necesario que la verificación de autenticidad de documentos sea realizada de esta misma forma.. Por lo anterior, el presente proyecto ofrece una propuesta de un sistema telemático que realiza la validación de documentos mediante el uso de códigos de respuesta. 1Forero, Oriana. Mafia de falsificación de diplomas se infiltra en las universidades. (2014). [online] Disponible. en: http://www.eltiempo.com/archivo/documento/CMS-13475997 [Fecha de consulta: 18 Feb. 2018].. 12.
(13) rápida o QR (Quick Response) permitiendo de forma rápida y precisa verificar la autenticidad de un documento expedido por una institución académica.. Un código QR es un código de barras de dos dimensiones diseñado para decodificar su contenido a una alta velocidad. Tiene la capacidad de almacenar hasta 7.089 caracteres numéricos y 4.296 caracteres alfanuméricos. Está definido por el estándar ISO/IEC 18004:2006. Puede ser leído con la ayuda de un dispositivo móvil que posea un cámara y un software de lectura de códigos QR que decodifica la información contenida en éste y, una vez leído, puede realizar acciones: desde mostrar un simple texto plano hasta redireccionar a una página web. 2. Este sistema está basado en una aplicación web que permite la generación e inserción de un código QR tanto a imágenes como a archivos en formato PDF implementando técnicas de cifrado existentes que garanticen la seguridad y confiabilidad de la información contenida en el código y a su vez, evite la falsificación de los mismos.. El sistema está apoyado en una aplicación móvil que realiza el escaneo óptico (mediante la cámara del dispositivo) de los códigos QR generados y, con una conexión a internet, presente la información contenida en el documento a validar.. La aplicación web del sistema está desarrollado bajo el lenguaje PHP en su versión 7.0, base de datos en MySQL 5.7. La aplicación móvil está desarrollada en lenguaje Android.. 2. About QR-Codes (2018). [online] Disponible en: http://www.mobile-barcodes.com/about-qr-codes/ [Fecha de consulta: 18 Feb. 2018].. 13.
(14) 1.. 1.1.. DEFINICIÓN DEL PROYECTO. TÍTULO. Sistema de validación web de documentos mediante escaneo de códigos QR haciendo uso de dispositivos móviles.. 1.2.. PLANTEAMIENTO DEL PROBLEMA. Actualmente la validación de documentos tiene un papel importante en cualquier organización sin importar su naturaleza, y es que es totalmente normal ver que una organización expida un documento ya sea para certificar o validar que una persona u organización tiene algún tipo de relación con ésta. Sin embargo, esto ha traído consigo una serie de prácticas que afectan este proceso como lo es la falsificación; es allí donde las organizaciones han venido investigando y aplicando diferentes técnicas de autenticación para sus documentos, de tal manera que la información en el momento en el que llegue a un tercero sea tomada de forma veraz.. Por ejemplo, los colegios, universidades y demás entidades manejan diferentes documentos importantes como actas de grado, boletines, diplomas, carnés, entre otros; que debido a su importancia dentro de diferentes trámites legales, son muchas veces falsificados por personas inescrupulosas con el objetivo de adquirir cualquier beneficio.. Estos documentos muchas veces son requeridos por otras entidades para constatar la veracidad de la información presentada por una persona dentro de un procedimiento legal, un ejemplo de esto es la solicitud por parte de una empresa del diploma o acta de grado para verificar los estudios que un candidato a un trabajo posee. Un problema presente en la actualidad es la falsificación de estos. 14.
(15) documentos, que es usada por incautos que los presentan como prueba legal para tales trámites.. Para evitar esta falsificación, las entidades generan sus propios sistemas de verificación (ya sea de forma manual o digital). Es el caso, por ejemplo, de instituciones educativas cuyo personal humano es el encargado de constatar la validez de sus documentos. Para este caso, muchas veces los empleadores envían personal o realizan llamadas a las instituciones relacionadas en los documentos para cotejar la información presentada por las personas, lo cual requiere más tiempo de lo que debería ser y solamente para conocer si la documentación es real o no. Las entidades estatales, por su parte, poseen sistemas personalizados de verificación (como el portal de validación de documentos generados por el Sistema de Información DACN) para tal fin; sin embargo, la validación se realiza desde un portal web al que se debe ingresar y luego digitar el número del documento. Esto hace engorroso el sistema de validación de documentos digitales debido a que se debe contar con un equipo de cómputo e ingresar manualmente la información a buscar. Por otra parte, las entidades que no posean un sistema de validación están supeditadas a que el personal humano verifique su autenticidad.. 1.3.. FORMULACIÓN DEL PROBLEMA. ¿De qué manera verificar la autenticidad de certificados académicos de forma ágil?. 1.4.. JUSTIFICACIÓN. La falsificación de documentos es un problema que ha aquejado no solo a Colombia sino al mundo entero, sin embargo, basta con levantar la cabeza y observar lo que ha sucedido en nuestro país con temas de falsificación para lograr darse cuenta que esta es una práctica muy común en nuestra sociedad, esta mala práctica ha ocasionado problemas graves en el país y ha llegado a comprometer muchas vidas,. 15.
(16) es lo que ha salido a la luz en muchos noticieros nacionales y de lo que ha llegado a hablar Jairo Cifuentes, secretario General de la Universidad Javeriana en un diálogo con KyenYKe medio digital de información “Esto se convierte en un gran inconveniente, sobre todo por personas que falsifican títulos en el sector salud, que es en el que más casos hay… por eso es que las IPS y EPS deben ser muy rigurosos en los procesos de verificación”3.. Según una investigación realizada por este mismo medio, existen varios sitios web que ofrecen sus servicios de falsificación de títulos de diferentes carreras y universidad, todo a elección del cliente, sin embargo, todo apunta a que es una red organizada de falsificadores, pues en varias páginas web se muestran los mismos ejemplos de los cartones que pueden llegar a imprimir con el objetivo de demostrar su calidad de impresión y junto a éstos muestran algunas de las impresoras que son utilizadas para llevar a cabo este proceso.. Otro dato curioso es que ofrecen además distintos paquetes según las necesidades del clientes, llegando a ofrecer así un primer paquete básico que tiene un valor de aproximadamente un millón de pesos y otro más completo que tiene un valor poco mayor a los dos millones de pesos; en el primero de éstos entregan al cliente únicamente el diploma y acta de grado, mientras que en el segundo paquete ofrecen todos los documentos requeridos que certifiquen frente a cualquier órgano de control cualquier estudio realizado, los documentos en este paquete según el vendedor son totalmente verificables en la institución académica, de tal forma que se creará un registro con toda la información académica del cliente como si éste hubiera realizado realmente todos sus estudios en la institución, aseguran los vendedores que cuentan con tramitadores que tienen relación con las instituciones las cuales les permiten registrar toda la información requerida de su cliente y así. 3. Chacón, Mateo (2016). Así funciona el mercado negro de los diplomas falsos en Colombia. [online] Disponible en: https://www.kienyke.com/historias/diplomas-falsos-colombia [Fecha de consulta 15 Feb. 2018].. 16.
(17) puede llegar a ofrecer lo que ellos llaman “diplomas legales”, de esta forma y según este vendedor existen varios testimonios de sus clientes, los cuales afirman que gracias a sus “títulos legales” han podido acceder a puestos de trabajo sin que las empresas se hayan dado cuenta de la falsificación de los títulos presentados. Los precios según información de este portal web pueden llegar a variar según el título y la universidad de la cual se quiera “certificar” el cliente.. La falsificación de títulos ha sido una gran fuente de ingresos para toda red de falsificadores, ya que hay títulos de las más prestigiosas universidades del país que pueden llegar a costar unos nueve millones de pesos, sin embargo existen otros lugares que falsifican y ofrecen títulos por un valor más asequible, en Bogotá por ejemplo, es posible dirigirse al centro de la ciudad por los alrededores de la carrera 9 con calle 11 y encontrar multitud de sitios que ofrecen estos servicios, el cliente podrá adquirir títulos desde cuatrocientos mil pesos y llegan a ofrecer títulos de maestría por valores que no superan los dos millones de pesos.. En Colombia existe una ley que busca controlar la falsificación de documentos, pero esta ley tiene algunos huecos que permiten que las falsificaciones se sigan creando día tras día, pues el artículo 289 de la ley 599 del 2000 dice: “ARTÍCULO 289. FALSEDAD EN DOCUMENTO PRIVADO. El que falsifique documento privado que pueda servir de prueba, incurrirá, si lo usa, en prisión de uno (1) a seis (6) años.”4. A partir del artículo citado se puede analizar que para que se configure el delito, primero que todo se debe presentar el documento falsificado como prueba y segundo debe ser utilizado el documento falsificado para un fin. En conclusión si se 4. Corte constitucional de Colombia (2009). Sentencia C-637/09.- Demanda de inconstitucionalidad por omisión legislativa relativa [online] Disponible en: http://www.corteconstitucional.gov.co/RELATORIA/2009/C-637-09.htm [Fecha de consulta 15 Feb. 2018].. 17.
(18) obtiene un falso título en una de estas organizaciones y nunca es utilizado, no podrá ser procesada la persona por falsificación.5 Esto conlleva a que las falsificaciones de documentos se sigan creando y ya será el cliente quien determine si va a utilizar o no el título que ha adquirido de forma fraudulenta.. Según el diario El País en el Valle del Cauca hay decenas de denuncias por falsos ingenieros que están ejerciendo sus supuestas profesiones, según cifras en las universidades, instituciones de formación y fiscalía en el año 2014, se descubrieron allí más de 1200 profesionales de papel6.. A raíz de esta problemática empresas de seguridad como el Grupo Atlas Seguridad Integral, diseñó un servicio en el cuál se encargan de la verificación de hojas de vida, el jefe del área de investigaciones de esta empresa en un diálogo con el diario El País dijo “Hemos encontrado en hojas de vida que no sólo falsifican títulos, sino el lugar de residencia y los antecedentes laborales. Encontramos casos como el de una empresa constructora muy importante del Valle que tenía un ingeniero al frente de una obra y resulta que solo estudió el primer semestre en Manizales y no volvió; o un administrador de un hotel que le hicieron el título en San Nicolás. También varios casos de médicos que llegan del exterior y no son ciertos sus títulos y varias enfermeras falsas”.. 1.5.. ALCANCES Y DELIMITACIONES. Debido a su forma de implementación (web) el sistema para la generación de los códigos QR puede ser accedido desde cualquier lugar con acceso a internet. Así. 5. Gerencie (2017). ¿Cuándo se configura el delito de falsificación de documento privado? [online] Disponible en: https://www.gerencie.com/cuando-se-configura-el-delito-de-falsificacion-dedocumento-privado.html [Fecha de consulta 15 Feb. 2018]. 6 El País de Cali (2015). En el Valle ya han descubierto a más de 1.200 profesionales con título falso. [online] Disponible en http://www.elpais.com.co/cali/exclusivo-en-el-valle-ya-han-descubiertoa-mas-de-1-200-profesionales-con-titulo-falso.html [Fecha de consulta 15 Feb. 2018].. 18.
(19) mismo, la lectura y descifrado de estos debe hacerse mediante un dispositivo móvil que incorpore cámara y un software de lectura de códigos QR.. Por su parte, este sistema está enfocado en instituciones académicas quienes son las principales afectadas en la falsificación de documentos, y específicamente en la generación de diplomas de grado. Sin embargo, el uso de los códigos QR para la validación de documentos puede aplicarse a diferentes sectores (como entidades gubernamentales) por su facilidad de lectura y la versatilidad en su configuración, siendo esto último, junto con la popularidad que los códigos QR poseen, la razón por la cual este tipo de código ha sido seleccionado entre los demás tipos de código de dos dimensiones (2D) (como TrillCode, BeeTagg, ShotCode, entre otros) para que sirva de apoyo en la validación de documentos.. Así mismo, la aplicación móvil está desarrollada en lenguaje Android, debido a su amplia difusión y popularidad. Según Gartner (2017) el sistema operativo Android alcanza el 82% del total del mercado.7. Para la instalación del sistema, se requiere PHP en su versión 7.0 y motor de bases de datos PosgreSQL. La aplicación móvil requiere de sistema operativo Android 4.1 o mayor.. 7Gartner. (2017). Fierce Battle Between Apple and Samsung to Hold the No. 1 Global Smartphone Ranking. [online] Disponible en: https://www.gartner.com/newsroom/id/3609817 [Fecha de consulta 16 Feb. 2018].. 19.
(20) 1.6.. 1.6.1.. OBJETIVOS. Objetivo general. Desarrollar un sistema telemático basado en un servicio web que permita validar la autenticidad de certificados académicos mediante el escaneo de un código QR con la ayuda de una plataforma móvil, asegurando la información contenida en el código mediante técnicas de cifrado.. 1.6.2.. Objetivos específicos. ● Agilizar la consulta y validación de certificados académicos mediante servicios web a partir de la lectura de un código QR. ● Implementar técnicas de cifrado existentes para garantizar la seguridad de la información contenida en el código QR. ● Desarrollar una plataforma móvil que permita hacer lectura y descifrado de un código QR cuyo resultado sea la presentación de información específica de una persona. ● Desarrollar un servicio web que permita generar e integrar códigos QR a imágenes o documentos académicos en PDF. ● Establecer una conexión con la base de datos que permita obtener información en tiempo real sobre los datos a consultar.. 1.7.. 1.7.1.. MARCO TEÓRICO. PHP. PHP es el acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje de 'scripting' de propósito general y de código abierto que está especialmente pensado para el desarrollo web y que puede ser embebido en páginas HTML. Su sintaxis recurre a. 20.
(21) C, Java y Perl, siendo así sencillo de aprender. El objetivo principal de este lenguaje es permitir a los desarrolladores web escribir dinámica y rápidamente páginas web generadas.8. 1.7.2.. Android. Es una pila de software para dispositivos móviles compuesto por: Sistema Operativo, Middleware, y Aplicaciones clave. Es un sistema operativo basado en Linux diseñado para dispositivos móviles touchscreen como teléfonos inteligentes y tabletas. Es una tecnología de código abierto que permite al software ser modificado y distribuido libremente por fabricantes y desarrolladores. Fue dado a conocer a lo largo del 2007 con la inauguración del Open Handset Alliance, quienes son los encargados de sistema operativo.9. 1.7.3.. Código QR 10. Es el acrónimo de Quick Response (respuesta rápida). Un código QR es código de barras de dos dimensiones cuya lectura se debe hacer por lectores de código QR (como las cámaras de celulares). Son similares a los códigos de barras usados en inventarios y en productos vendidos al por menor, con la excepción que pueden contener más información. De hecho, los códigos QR pueden contener miles de caracteres alfanuméricos (hasta 4000 caracteres en un solo código) haciéndolos muy útiles para cualquier organización. Generalmente, consisten en cuadrados de color negro organizados en un fondo blanco. Sin embargo, los cuadros pueden ser de colores diferentes al negro, y el fondo no debe ser necesariamente blanco. 11. 8. PHP (2018). Prefacio. [online] Disponible en http://php.net/manual/es/preface.php [Fecha de consulta 16 Feb. 2018]. 9 Prassana Kumar Dixit. Android. India: Vikas. 2014 10 Kato, Hiroko. Tan, Keng. Chai Douglas. Barcode for Mobile Devices. UK. Cambridge University Press. 2010. 11 Price, Kella. INFOLINE: QR Codes for trainers. Estados Unidos: ASTD. 2013.. 21.
(22) Fue desarrollado por Denso Wave en 1994. El código QR consta de una matriz de dos dimensiones que posee patrones de detección de posición en tres esquinas. Como su nombre indica, fue diseñado para ser leído rápidamente en cualquier dirección. Así pues, el código QR fue desarrollado para mejorar la velocidad de lectura de códigos de barra de dos dimensiones (2D). Entre otras características del código QR está la alta capacidad de información contenida y la habilidad de seleccionar diferentes niveles para corrección de errores. El código QR ha sido aprobado como un estándar internacional, el ISO/IEC 18004.. 1.7.3.1.. Estructura. El código QR consiste en siete elementos conocidos como: patrón de búsqueda, patrón de tiempo, patrón de alineamiento, zona reservada, información de formato, área de información y separador, como se muestra en la Ilustración 1.. Ilustración 1. Estructura del código QR Fuente: Barcode for Mobile Devices. 1.7.3.1.1.. Patrón de búsqueda. Está localizado en tres esquinas (Ilustración 2). Cuando el código es escaneado, estos patrones son los primeros en ser localizados por por el lector (cámara de dispositivo móvil), que localiza la posición del código muy rápidamente. Los radios de los espacios en blanco y negro en una línea que atraviesa el centro del patrón. 22.
(23) son 1 : 1 : 3 : 1 : 1, en cualquier ángulo. Este conjunto de radios permite la rápida detección de los tres patrones de búsqueda. Una vez la posición del código es encontrada, el tamaño L, el ángulo y la orientación son calculados a partir de la posición de los tres patrones de búsqueda. Esto permite que el código QR sea leído en cualquier dirección.. Ilustración 2. Patrón de búsqueda Fuente: Barcode for Mobile Devices. 1.7.3.1.2.. Patrón de tiempo. Consiste en un par de bordes (horizontal y vertical) ubicados entre los patrones de búsqueda (Ilustración 3). Dichos bordes se usan para calcular el centroide de cada celda y modificarlo cuando se encuentren distorsiones en el código QR o cambios en el campo de la celda.. Ilustración 3. Patrón de tiempo Fuente: Barcode for Mobile Devices. 23.
(24) 1.7.3.1.3.. Patrón de alineamiento. Permite la corrección de cualquier distorsión. Esto es posible determinando las coordenadas centrales de cada patrón de alineamiento y ajustando los centroides de las celdas. La celda negra aislada dentro de cada patrón de alineamiento permite calcular rápidamente la coordenada central del patrón.. 1.7.3.1.4.. Información de formato. Indica la versión de código QR, el nivel de corrección de error y la máscara usada para el código QR. Además, ésta área es la primera en ser leída en el proceso de decodificación.. 1.7.3.1.5.. Área de información. Aquí es donde la información original y el código Reed-Solomon son codificados. El código Reed-Solomon es método matemático de corrección de errores desarrollado inicialmente para sondas planetarias y satélites artificiales como una medida para mitigar el ruido en las comunicaciones. Tiene la capacidad de hacer corrección a nivel de byte.. 1.7.3.1.6.. Zona Reservada. El código QR requiere una zona reservada o margen. Ésta zona permite que el código sea distinguido de su color de fondo, lo cual produce una lectura precisa de forma rápida.. 24.
(25) 1.7.3.2.. Corrección del error. El código QR tiene la capacidad de corrección del error, restaurando la información original si el código está sucio o dañado. Hasta el 30% del código puede ser restaurado incluso si el código QR está dañado como lo muestra la ilustración 4.. Ilustración 4. Corrección del error Fuente: Barcode for Mobile Devices. La corrección de errores se realiza mediante la implementación del código Reed Solomon a la información original. Hay cuatro niveles de corrección de error: ● L, aproximadamente el 7% ● M, aproximadamente el 15% ● Q, aproximadamente el 25% ● H, aproximadamente el 30%. El usuario puede seleccionar esta opción de acuerdo a sus necesidades. Entre más alta sea la corrección de error más incrementa la cantidad de información a ser codificada, lo cual implica un código QR más grande. La opción M es la más usada.. El nivel de corrección de error debe ser escogido de acuerdo a la cantidad de información que lo necesita. Por ejemplo, por cada 50 de 100 palabras (en código) que necesitan corrección, se requieren 100 palabras del código Reed Solomon. Por lo tanto, el número total de palabras es de 200. Quiere decir que 50 palabras (en. 25.
(26) código) de 200 pueden ser corregidas. Esto es una tasa del 25% de corrección de error en relación con el total de palabras, que corresponde al nivel de corrección de error Q.. 1.7.3.3.. Ventajas. ● Flexibilidad en el formato del símbolo: una funcionalidad de color inverso permite que los símbolos sean impresos de la forma blanco en negro, o negro en blanco. Además, el código QR puede codificar y decodificar celdas redondas. Esto es una gran ventaja para impresión en materiales que no necesariamente tienen un color de fondo (o blanco). En algunos casos, dependiendo de la técnica implementada, las celdas pueden aparecer redondas. Cuando el código QR es impreso en material como vidrio, puede ser decodificado desde color negro, para verlo más claramente remitirse a la ilustración 5.. Ilustración 5. Flexibilidad en códigos QR Fuente: Barcode for Mobile Devices. ● Enmascaramiento: Como se muestra en las ilustraciones 6 y 7 es una técnica usada para permitir la lectura fácil y rápida del código. Esta técnica asigna puntos blancos y negros de forma uniforme y ayuda a prevenir la duplicación de patrones. Así mismo, ayuda a prevenir que el área de información tenga los mismos patrones en blanco y negro como el patrón de búsqueda, ya que puede confundir el programa de lectura y afectar su rendimiento. Existen ocho patrones de enmascaramiento que son escogidos por el codificador, quién selecciona. 26.
(27) cuál es el mejor de acuerdo a la salida (seleccionando la mejor distribución posible).. Ilustración 6. Patrones de enmascaramiento Fuente: Barcode for Mobile Devices. 27.
(28) Ilustración 7. Enmascaramiento de códigos QR Fuente: Barcode for Mobile Devices. ● Función de adición estructurada: mejora la escalabilidad del código QR dividiéndolo hasta en 16 áreas. De esta forma, un código QR muy grande puede ser dividido en pequeñas partes, así el tamaño de la celda (símbolo) y la capacidad de información puede ser manipulada para manejar restricciones de espacio y limitaciones de las aplicaciones del dispositivo móvil. Un software lector puede reconstruir la información almacenada en varios códigos QR como una sola.. 28.
(29) 1.7.3.4.. Decodificación. El proceso de decodificación se compone de cuatro pasos: a. Se localizan los patrones de búsqueda, y se calcula el centro de cada uno (Ilustración 8).. Ilustración 8. Localización de los patrones de búsqueda Fuente: Barcode for Mobile Devices. b. Se determina el tamaño del módulo del símbolo mediante la medición de Wul y Wur; y se determina el tamaño del símbolo mediante el cálculo del tamaño de D (Ilustración 9).. Ilustración 9. Cálculo del tamaño del módulo Fuente: Barcode for Mobile Devices. c. La información de formato es decodificada y se definen el nivel de corrección de error y el patrón de enmascaramiento a usar (Ilustración 10).. 29.
(30) Ilustración 10. Información del formato Fuente: Barcode for Mobile Devices. d. Se detecta el bloque de información y las palabras usadas para la corrección de error son removidas. La información no procesada es decodificada de acuerdo al nivel de corrección de error y al patrón de enmascaramiento definidos. Como resultado, se obtiene el texto en plano (Ilustración 11).. Ilustración 11. Decodificación QR Fuente: Barcode for Mobile Devices. 1.7.4.. Encriptación 12. Es el proceso por el cual se puede transformar un mensaje en texto normal o plaintext en texto encriptado o codificado, lo que asegura que dicho texto no puede ser leído sin utilizar un proceso contrario denominado desencriptación que da lugar. 12. Picouto, F. Lorente, Iñaki. García-Moran, J. Ramos, A. Hacking y Seguridad en Internet. Madrid: Alfaomega. 2008.. 30.
(31) a la conversión del texto encriptado en texto normal. Para realizar estos procesos es requerido un algoritmo de encriptación (función matemática), llaves de encriptación (contraseña de encriptación) y la longitud de la llave. Esto, debería usarse para conseguir cosas como: protección de datos que se transmiten a través de redes de comunicaciones, para que éstos no puedan ser interceptados, leídos o manipulados; detectar alteraciones que se puedan producir en los datos; verificar la autenticidad de una transacción, documento o mensaje; entre otras.. 1.7.5.. Función Hash. Es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada, el valor hash de salida tendrá siempre la misma longitud.13. A diferencia de las claves públicas o las contraseñas, una función hash no posee clave, pues es una encripción en una sola dirección. La principal aplicación de las funciones hash en criptografía es la integridad de los mensajes. El valor hash proporciona una huella digital del contenido de un mensaje, la cual asegura que el mensaje no ha sido alterado por algún intruso, virus u otros medios. Los algoritmos hash son efectivos debido a que existe una muy baja probabilidad que existan dos mensajes (en texto plano) con el mismo hash resultante. Funciones hash que más se usan actualmente:14 ● HMAC (Hashed Message Authtentication Code) ● MD2 (Message Digest 2) 13. Kaspersky (2014). ¿Qué Es Un Hash Y Cómo Funciona? [online] Disponible en https://latam.kaspersky.com/blog/que-es-un-hash-y-como-funciona/2806/ [Fecha de consulta 17 Feb. 2018]. 14 Northcutt, Stephen (2008). Hash Functions [online] Disponible en https://www.sans.edu/cyberresearch/security-laboratory/article/hash-functions [Fecha de consulta: 17 Feb. 2018].. 31.
(32) ● MD4 (similar a MD2) ● MD5 (similar a MD4) ● SHA (Secure Hash Algorithm). 1.7.6.. SHA. La familia SHA es un sistema de funciones hash criptográficas relacionadas con la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National Institute of Standards and Technology (NIST). Presenta una metodología de operación muy similar a la de MD5, aunque con la variación de ofrecer un resumen de 160 bits, lo que lo hace más robusto. El primero en salir fue SHA (posteriormente renombrado SHA-0 para evitar confusiones). Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. Hoy en día existen cuatro variantes más publicadas bajo el nombre de SHA-2, cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512. En la actualidad empieza a dibujarse el SHA-3 15. SHA-1:. Fue creado por la NSA (US National Security Agency) en 1995, después de la primera versión de SHA (que también se conoció como SHA-0) en 1993, y es parte del DSS (Digital Signature Standard).. Produce un hash de 160 bits de la entrada seleccionada, que se asemeja al hash del algoritmo MD5. Usa 80 rondas de operaciones criptográficas para cifrar y asegurar un objeto de información. Algunos de los protocolos que usan SHA-1 son:. 15. Paths. Eleven (2013) MD5: vulnerabilidades y evoluciones. [online] Disponible en http://blog.elevenpaths.com/2013/11/md5-vulnerabilidades-y-evoluciones-i.html [Fecha de consulta: 17 Feb. 2018].. 32.
(33) ● TLS (Transport Layer Security) ● SSL (Secure Socket Layer) ● PGP (Pretty Good Privacy) ● SSH (Secure Shell) ● S/MIME (Secure/Multipurpose Internet Mail Extensions) ● IPSec (Internet Protocol Security). SHA-1 suele usarse en aplicaciones criptográficas y entornos que requieren una integridad de datos alta. También es usado para identificar errores en la transmisión de datos y errores en suma de verificación. 16. SHA-2:. Al igual que SHA-1, fue creado por la NSA (US National Security Agency) en colaboración con el NIST (National Institute of Science and Technology) como una mejora al algoritmo SHA-1. SHA-2 tiene seis variantes, las cuales difieren en proporción con el tamaño del bit usado para cifrar la información: ● SHA-224 ● SHA-256 ● SHA-284 ● SHA-512 ● SHA-512/224 ● SHA-512/256. El número en cada variante representa el valor del bit. SHA-2 proporciona mejor prevención frente a colisiones, lo que significa que la misma información siempre. 16. Techopedia (2018).Secure Hash Algorithm 2 (SHA-2) [online]. Disponible en https://www.techopedia.com/definition/30571/secure-hash-algorithm-2-sha-2 [Fecha de consulta: 18 17 Feb. 2018]. 33.
(34) tiene un hash diferente. SHA-2 usa de 64 a 80 rondas de operaciones criptográficas, y suele usarse para validar y firmar certificados de seguridad digital y documentos.. SHA-3:. Es el último de toda la familia de algoritmos SHA, lanzado por la NIST (National Institute of Science and Technology) el 5 de agosto de 2015. Aunque pertenece a la misma familia SHA, es muy diferente de la estructura de SHA-1 y SHA-2. SHA-3 es un subconjunto de la familia criptográfica Keccak (algoritmo seleccionado por la NIST en una competición de algoritmos criptográficos).17 SHA-3 consiste en cuatro funciones hash criptográficas:18 ● SHA3-224 ● SHA3-256 ● SHA3-384 ● SHA3-512. 1.7.7.. Vector de inicialización 19. Es un número arbitrario que puede ser usado junto con una clave secreta para el cifrado de información. Este número es implementado una única vez en una sesión.. 17. Wikipedia.Secure Hash Algorithm 3 [online]. Disponible en https://en.wikipedia.org/wiki/SHA-3 [Fecha de consulta: 18 Feb. 2018] 18. Information Technology Laboratory (2015). SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions [online] Disponible en https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf [Fecha de consulta: 18 Feb. 2018] 19 Techtarget (2011). Initialization Vector. [online] Disponible http://whatis.techtarget.com/definition/initialization-vector-IV [Fecha de consulta 20 Feb. 2018]. 34.
(35) El uso de un vector de inicialización previene la repetición en el cifrado de información, lo que hace que sea más difícil vulnerarlo mediante ataques de diccionario que permitan encontrar patrones y se rompa el cifrado. Por ejemplo, una secuencia puede aparecer dos o más veces dentro del cuerpo de un mensaje. Si hay secuencias repetidas en la información cifrada, un atacante puede asumir que las secuencias correspondientes en el mensaje también fueron idénticas. El vector de inicialización previene que aparezcan secuencias de caracteres duplicadas en el texto cifrado.. El vector de inicialización ideal es que sea un número aleatorio que sea conocido por el destinatario para facilitar el descifrado de información cuando ésta sea recibida. El vector de inicialización puede transmitirse de forma independiente, tramitarse por adelantado o ser incluido como parte de la sesión antes de intercambiar la información. El tamaño del vector de inicialización (el número de bits o de bytes que contiene) depende del método de cifrado. Usualmente, el vector de inicialización se compara con el tamaño de la clave de cifrado o del bloque de cifrado en uso.. 1.8.. MARCO HISTÓRICO. El código QR ha tenido una amplia difusión debido a la facilidad de uso y las diferentes aplicaciones que se le han dado. En el momento de su lanzamiento, en 1994, su propósito era ayudar a rastrear vehículos durante su fabricación. Desde ahí se empezó a implementar en otros sectores (alimentario, farmacéutico, etc.) y se convirtió en un elemento indispensable en la sociedad japonesa para almacenar información. En el año 2002, su tendencia y distribución se facilitó gracias a los dispositivos móviles con función de lectura de códigos QR y acceso a internet.. En 2012, el código QR ganó el premio al mejor diseño otorgado por el "Japan. 35.
(36) Institute of Design" mediante votación de los Medios de Comunicación sobre Asuntos Industriales de Japón.20. En lo concerniente a la validación de documentos, varias instituciones han implementado diferentes métodos que ayudan a verificar la autenticidad de documentos. Sin embargo, en este campo la implementación de códigos QR no ha tenido una amplia difusión.. La Registraduría Nacional del Estado, por ejemplo, realiza la validación de la cédula cuando se encuentra en trámite mediante haciendo uso de un código QR, siendo implementado en las contraseñas de duplicados de cédulas, con el objetivo de validar que la persona se encuentra realizando el trámite de duplicado.. El INVIMA por su parte, no implementa códigos QR en la validación de documentos, pero tiene en su página web un servicio para la consulta y verificación de documentos firmados. Tal servicio funciona para Certificados de Inspección Sanitaria en Puerto y documentos con firma digital. Para el primer caso, se debe contar con el número de documento y número de radicado, dirigirse a una determinada página web y efectuar la consulta llenando el formulario con los dos números descritos anteriormente; para el segundo caso, se debe ingresar el número de documento y seguir una serie de pasos para verificar la firma digital (a partir de certificados digitales).. La Superintendencia De Notariado y Registro hace uso de códigos QR para la validación de papel de seguridad de los instrumentos públicos sometidos a registro. Esto con el fin de confirmar la validez de un documento pasado por papel de seguridad dentro del proceso de validación del papel de seguridad de escrituras públicas. 20. QR Question (2015). Historia Código QR. [online]. Disponible en http://www.qrquestion.info/historia-codigo-qr/ [Fecha de consulta: 20 Feb. 2018]. 36.
(37) Desde el 2013, la alcaldía municipal de Barrancabermeja implementa códigos QR para garantizar la validez del certificado de territorialidad. Esto, a causa de manipulaciones fraudulentas de este tipo de documento. Para el año 2015, un artículo publicado por en la IEEE titulado “Real-time Printed Document Authentication Using Watermarked QR Code” presenta una propuesta técnica de autenticación de documentos impresos mediante el uso de códigos QR con una marca de agua.. Los anteriores son algunos de los casos que muestran uno de los usos útiles que puede darse a los códigos QR. Así mismo, se evidencia en cada uno la necesidad de validar diferentes tipos de documento a causa de la importancia de la información tratada y de su riesgo de falsificación.. 1.9.. METODOLOGÍA. El desarrollo del proyecto se llevará a cabo siguiendo una serie de fases determinadas por el ciclo de mejora continua PHVA, el cual permitirá mantener de forma constante un progreso positivo para el proyecto, pues se estará verificando cada actividad o fase realizada para detectar los posibles problemas y luego se realizarán los ajustes necesarios para cubrir los posibles problemas encontrados en la verificación.. En relación al desarrollo propio de la plataforma web, se llevará a cabo siguiendo los parámetros de la metodología RUP y el desarrollo de la aplicación móvil se realizará aplicando la metodología Mobile-D.. 37.
(38) 1.9.1.. PHVA 21. El ciclo PHVA (Planear, Hacer, Verificar, Actuar), que también es conocido como Ciclo de mejora continua o Círculo de Deming, describe los cuatro pasos esenciales que se deben llevar a cabo de forma sistemática para lograr la mejora continua, entendiendo como tal al mejoramiento continuado de la calidad (disminución de fallos, aumento de la eficacia y eficiencia, solución de problemas, previsión y eliminación de riesgos potenciales, etc.).. Está compuesta de cuatro etapas cíclicas, de forma que una vez acabada la etapa final se debe volver a la primera y repetir el ciclo de nuevo, de forma que las actividades son reevaluadas periódicamente para incorporar nuevas mejoras.22. Ilustración 12. Ciclo PHVA Fuente: Calidad - El ciclo PHVA. 21. Jimeno, Jorge (2013). Ciclo PDCA (Planificar, Hacer, Verificar y Actuar): El círculo de Deming de mejora continua. [online] Disponible en https://www.pdcahome.com/5202/ciclo-pdca/ [Fecha de consulta: 20 Feb. 2018] 22 Blog-Top. (2014). El ciclo PHVA Ejemplo de Aplicación de esta Herramienta de Calidad. [online] Disponible en http://www.blog-top.com/el-ciclo-phva-ejemplo-de-aplicacion-de-esta-herramienta-decalidad/ [Fecha de consulta: 20 Feb. 2018]. 38.
(39) Enfocadas en el actual proyecto, las cuatro etapas describen: ● Planear: inicialmente, se establecerán las metas propuestas y el dominio que tendrá el sistema de validación de documentos, permitiendo conocer así cuáles serán las posibles aplicaciones para el sistema que se desarrollará, qué se espera como resultado del sistema de validación y cuáles y cómo se realizarán cada uno de los procesos que intervienen en la validación de documentos tanto en la plataforma web como en los dispositivos móviles. ● Hacer: en esta fase se iniciará con el desarrollo del sistema de validación. Con base en la fase anterior se crearán las interfaces para los usuarios tanto móviles como web, se realizará el desarrollo del core del sistema de tal forma que se cumplan los objetivos planteados en la fase inicial y se hará uso de la tecnología necesaria para que el código QR pueda ser leído por móviles y se logre establecer la comunicación entre los clientes y el servidor, quien consultará a su vez la base de datos para realizar la validación y responder a los clientes con toda la información relacionada al documento validado. El desarrollo del sistema se llevará a cabo siguiendo la metodología RUP (Proceso Unificado Racional) y cumpliendo con cada una de sus fases:23. Ilustración 13. Fases del método RUP Fuente: dtyoc.com – Modelo RUP – Luis Catellanos 23. Castellanos, Luis (2016). Modelo RUP – IBM [online] Disponible en https://dtyoc.com/2016/06/07/modelo-rup-ibm/ [Fecha de consulta 21 Feb, 2018]. 39.
(40) ○ Inicio: se realiza el levantamiento de información, con el objetivo de determinar el alcance del proyecto teniendo en cuenta factores como: concurrencia de usuarios, tecnologías a implementar (S.O. móvil), mecanismos de seguridad (algoritmos de cifrado), presentación de la información, entre otros. ○ Elaboración: se realizan todos los casos de uso y diagramas necesarios para poder establecer cada uno de los actores y procesos de la plataforma WEB y la plataforma móvil. ○ Construcción: se desarrolla la funcionalidad del sistema, ultimando todos los requerimientos establecidos en la fase inicial. ○ Transición: se realiza el despliegue del sistema y se realizan pruebas en la plataforma WEB y la plataforma móvil para, posteriormente, hacer las correcciones requeridas.. Para realizar el desarrollo de la aplicación móvil se aplicará la metodología MobileD, siguiendo las siguientes fases: o Exploración: Se realiza la planeación de la aplicación móvil para verificar los códigos QR, definiendo las características que tendrá, los dispositivos para los cuales será creada la aplicación y los procesos que será capaz de realizar. o Iniciación: Se establecen los recursos físicos y técnicos necesarios para desarrollar y poner en funcionamiento la aplicación móvil lectora de códigos QR, además se establecen los días en los que se realizarán las pruebas iniciales y pruebas finales. o Producción: Se pone en marcha el desarrollo de la aplicación según los requerimientos y la planificación realizada, se llevarán a cabo tantos ciclos como sean necesarios de planificación, trabajo y liberación (con la realización de pruebas de la integración), hasta que se dé por finalizado el desarrollo de la aplicación.. 40.
(41) o Estabilización: Se lleva a cabo la integración total de todos los avances en desarrollo y se realizan todas las pruebas de funcionamiento necesarias para asegurar que la aplicación es capaz de leer lo códigos QR y realizar la validación de los documentos con ayuda de la aplicación web desarrollada. o Prueba y reparación del sistema: Después de tener todos los avances de desarrollo integrados, se realizan las pruebas finales y las correcciones de los errores encontrados, el objetivo será obtener una versión estable y que cumpla con todos los requerimientos, en este caso que sea capaz de llevar a cabo la lectura de los códigos QR, descifrar la información capturada y establecer la comunicación con el servidor web para realizar la validación de los documentos. ● Verificar: después de lograr avances en el desarrollo del sistema de validación, se realizan pruebas periódicas en el servidor y los dispositivos móviles, tanto estáticas como dinámicas. Se realizan pruebas de rendimiento, carga, estrés y usabilidad, de tal forma que el sistema de validación reciba todas las correcciones necesarias para su optimización. ● Actuar: a partir de la información recolectada en la fase anterior, se realizan las correcciones necesarias para que el sistema de validación quede finalmente optimizado, que realice la validación de forma correcta desde diferentes dispositivos móviles, que la base de datos y el servidor tengan un buen rendimiento y que el sistema en general funcione de forma adecuada.. 1.9.2.. FACTIBILIDAD ECONÓMICA. Para la ejecución del proyecto, se debe contar con los recursos humanos y técnicos descritos en las tablas 1 y 2:. 41.
(42) Tabla 1. Recursos humanos Fuente: Propia. Tabla 2. Recursos técnicos Fuente: Propia. La tabla 3 muestra el total de gastos incluyendo gastos de papelería e imprevistos que se deben tener en cuenta en cualquier proyecto.. Tabla 3. Gastos necesarios Fuente: Propia. 42.
(43) 1.10.. CRONOGRAMA. Ilustración 14. Cronograma del proyecto Fuente: Propia. 43.
(44) 2.. CONSULTA Y VALIDACIÓN DE DOCUMENTOS MEDIANTE CÓDIGOS QR Y SERVICIOS WEB. 2.1.. ANTECEDENTES. La validación de documentos cuya verificación es requerida por diferentes entidades pasa por procesos que, en ocasiones, requiere un tiempo largo de espera dependiendo de la institución de la cual proceda dicho documento.. En los casos más comunes, el proceso de validación consiste en que, la entidad que requiere verificar la autenticidad de un documento, realiza una llamada (la vía más rápida) a la institución que lo expidió esperando obtener información acerca de la persona cuyos datos están contenidos en dicho documento (graduando). Esto a su vez requiere que la persona que recibió la llamada tenga autorización para revisar el folio y libro donde está la información del graduando (de forma física o digital), o tenga autorización de ingreso a las bases de datos de estudiantes que pertenecieron y se graduaron en dicha institución. Este proceso puede demorar algunos minutos o hasta días, dependiendo de los procesos internos de cada institución.. Esta situación es común principalmente en colegios, donde no cuentan con sistemas de validación electrónicos que faciliten esta tarea. La secretaría académica es la encargada de la verificación manual. Por otra parte, en el mejor de los casos, los documentos a verificar cuentan con un código único de seguridad que, para su validación, se requiere de acceso a internet e ingresar a una página web y, posteriormente, ingresar dicho código en un formulario. Si bien comparado con el caso anterior hay una mejora significativa en el proceso, requiere pasos adicionales que pueden volver engorroso el procedimiento, pues los pasos de verificación en el formulario pueden incluir validaciones, errores humanos en digitación, entre otros.. 44.
(45) Esto, por ejemplo, es realizado por la plataforma del ICFES (Ilustración 15) para verificación de títulos expedidos por esta entidad (aplica para títulos expedidos del año 2006 en adelante).24. Ilustración 15. Verificación de diplomas por el ICFES Fuente: www.icfesintersactivo.org. Así mismo, instituciones como el CPNAA (Consejo Profesional Nacional de Arquitectura y sus profesiones Auxiliares) cuentan con un formulario digital de validación de autenticidad del certificado de vigencia profesional (Ilustración 16). 25. 24. ICFES (2018). Verificador académico.[online]. Disponible en http://www2.icfesinteractivo.gov.co/resultados-saber2016web/pages/publicacionResultados/validantes/verificadorDiplomas.jsf#No-back-button 25 CPNAA (2018). Validación de autenticidad del certificado de vigencia profesional digital. Disponible en https://cpnaa.gov.co/es/content/validacion-de-autenticidad-del-certificado-devigencia-profesional-digital. 45.
(46) Ilustración 16. Verificación de diplomas por el CPNAA Fuente: cpnaa.gov.co. 2.2.. VALIDACIÓN POR CÓDIGO QR. La propuesta presentada en este proyecto hace uso de la versatilidad y popularidad de los códigos QR (así como la masificación de dispositivos móviles que cuentan con cámara fotográfica) para realizar la validación de documentos de forma ágil. El prototipo presentado incluye una aplicación móvil que permite hacer decodificación de un código QR que cuenta con dos fases de verificación: una, mediante la información presentada en la aplicación móvil (cuyo acceso a internet no es requerido) y otra que requiere acceso a internet y permite validar o constatar que el documento, en efecto, pertenece a una institución académica y los datos que éste contiene son correctos.. Después de tener la aplicación instalada en el dispositivo móvil, solo son necesarios unos segundos para hacer verificación de un documento que contenga el código QR impreso. Esto es posible gracias al servicio web que, junto con mecanismos de seguridad implementados, permite consultar en tiempo real las bases de datos que almacenan la información de los graduados, cotejando que tanto la información. 46.
(47) contenida en la base como en el documento sean iguales. A partir de los procesos utilizados en los diferentes escenarios, podemos evidenciar una mejora en los tiempos de verificación de documentos con la implementación de códigos QR.. Agilizar la consulta en la validación de este tipo de documentos puede ayudar a que, por ejemplo, se incentive un proceso de contratación de personal en las empresas más transparente y se normalice la validación de documentos, generando un gran impacto en el mercado laboral.. En un ejercicio comparativo a partir de los antecedentes, se tomaron tres escenarios posibles de verificación de documentos: la verificación manual, ingreso de datos en una página web, lectura de un código QR.. En el primer escenario, existen diferentes factores que pueden hacer mucho más demorado el proceso de validación, desde permisos de acceso a la información, hasta el día de la semana en que se realice el proceso (en días feriados o vacaciones del personal encargado no podría llevarse a cabo); por tal motivo este escenario, que aún se lleva a cabo principalmente en instituciones de educación secundaria, es el que más tiempo puede tomar, desde minutos hasta días.. El segundo escenario, que ya hace uso de tecnologías de la información, mejora sustancialmente los tiempos de validación de documentos con respecto al primer escenario. Sin embargo, existen algunos factores que pueden retrasar este proceso, que incluyen el ingreso al sitio web de la institución que permita esta validación, así como ingresar los datos en el formulario: ambos procesos sujetos a errores de digitación. Así mismo, este proceso tiene diferentes tiempos de demora dependiendo de las medidas de seguridad implementadas en el formulario de validación. Por ejemplo, para la validación de autenticidad del certificado de vigencia profesional digital del Consejo Profesional Nacional de Arquitectura y sus Profesionales Auxiliares – CPNAA un usuario debe realizar las siguientes acciones:. 47.
(48) a. Ingresar en un navegador web a la página https://cpnaa.gov.co/. b. Buscar la opción “TRÁMITES Y SERVICIOS”. c. Buscar la opción “CERTIFICADO DE VIGENCIA PROFESIONAL”. d. Ingresar a la opción “VALIDACIÓN DE AUTENTICIDAD”. e. Ingresar en el formulario la información de “Código único de seguridad”, “Tipo Documento” y “Número de Identificación”. f. Validar el sistema de validación CAPTCHA.. El proceso anterior toma alrededor de 30 a 40 segundos sin error de digitación de datos. Pero, por otra parte, ¿qué ocurre cuando la validación debe hacerse de múltiples documentos? En un caso como este se puede evidenciar con más detalle los tiempos de demora en la validación de documentos.. El tercer escenario, que es tratado en esta propuesta y que hace uso de tecnologías de la información, cuenta con mejoras en los tiempos de respuesta de validación frente a los escenarios anteriores. Si bien las implicaciones de este escenario (requiere un dispositivo móvil con cámara y, en lo posible, con acceso a internet) son similares al anterior (requiere de un dispositivo con un navegador web instalado y con acceso a internet), en este escenario la mejora en los tiempos de respuesta es notoria: de 0.3 segundos a 1 segundo. Esto, incluso, en la validación de múltiples documentos, presenta una mejora sustancial en el proceso.. Proceso. Implicaciones. Tiempo estimado. Verificación. - Búsqueda manual. Minutos, horas o. manual. - Disponibilidad de personal. días. - Horario de oficina - Permisos (según procedimiento. 48.
(49) interno) - Dificultad en validación de múltiples documentos Formulario web. - Computador con acceso a. 30 a 40 segundos. internet - Sujeto a errores de digitación - Procesos de validación adicionales (ej, captcha) - Dificultad en validación de múltiples documentos Lectura código. - Dispositivo móvil con cámara. 0.3 segundos a 1. QR. - Aplicación instalada. segundo. - Facilidad en validación de múltiples documentos Tabla 4. Comparación entre procesos de verificación de documentos Fuente: Propia. 49.
(50) 3.. 3.1.. APLICACIÓN DE TÉCNICAS DE CIFRADO EXISTENTES EN CÓDIGOS QR TÉCNICAS DE CIFRADO 26. Existen dos técnicas básicas para el cifrado de información: cifrado simétrico (también llamado “cifrado de clave secreta”) y cifrado asimétrico (también llamado “cifrado de clave pública”).. El cifrado simétrico es la técnica de cifrado más antigua y más conocida. Consiste en la aplicación de una clave secreta, que puede ser un número, una palabra, o una cadena de caracteres aleatorios, al texto de un mensaje para cambiar el contenido de forma particular. Mientras el emisor y el receptor conozcan la clave secreta, pueden cifrar y descifrar todos los mensajes que usen dicha clave, como se muestra en la lustración 17.. Blowfish, AES, RC4, DES, RC5, y RC6 son ejemplos de cifrados simétricos. El cifrado simétrico más usado es AES-128, AES-192, y AES-256.. Ilustración 17. Proceso de descifrado simétrico Fuente: https://www.ssl2buy.com. 26. SSLTOBUY (2018). Symmetric vs. Asymmetric Encryption – What are differences?. [online] Disponible en https://www.ssl2buy.com/wiki/symmetric-vs-asymmetric-encryption-what-aredifferences [Fecha de consulta: 22 Feb. 2018]. 50.
Figure
Documento similar
Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..
La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de
dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,
Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos
Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun
Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre
(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,
o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la