81
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 UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA INGENIERÍA EN TELEMÁTICA BOGOTÁ D.C. 2018

SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

INGENIERÍA EN TELEMÁTICA

BOGOTÁ D.C.

2018

Page 2: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 3: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

3

Nota de aceptación:

______________________________

______________________________

______________________________

______________________________

______________________________

______________________________

______________________________ Firma del Tutor

______________________________ Firma del Jurado

Bogotá, D.C. 8 de agosto de 2018

Page 4: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 5: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 6: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 7: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 8: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 9: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 10: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 11: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 12: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 13: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 14: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

14

1. DEFINICIÓN DEL PROYECTO

1.1. 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

Page 15: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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,

Page 16: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 17: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 18: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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-de-documento-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-descubierto-a-mas-de-1-200-profesionales-con-titulo-falso.html [Fecha de consulta 15 Feb. 2018].

Page 19: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 20: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

20

1.6. OBJETIVOS

1.6.1. 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. MARCO TEÓRICO

1.7.1. 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

Page 21: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 22: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 23: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 24: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 25: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 26: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 27: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 28: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 29: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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).

Page 30: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 31: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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/cyber-

research/security-laboratory/article/hash-functions [Fecha de consulta: 17 Feb. 2018].

Page 32: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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].

Page 33: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

SHA-2: 16

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]

Page 34: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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]

Page 35: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 36: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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]

Page 37: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 38: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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-de-calidad/ [Fecha de consulta: 20 Feb. 2018]

Page 39: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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]

Page 40: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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 Mobile-

D, 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.

Page 41: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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:

Page 42: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 43: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

43

Ilustración 14. Cronograma del proyecto Fuente: Propia

1.10. CRONOGRAMA

Page 44: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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.

Page 45: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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-saber2016-web/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-de-vigencia-profesional-digital

Page 46: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

Page 47: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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:

Page 48: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

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

manual

- Búsqueda manual

- Disponibilidad de personal

- Horario de oficina

- Permisos (según procedimiento

Minutos, horas o

días

Page 49: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

49

interno)

- Dificultad en validación de

múltiples documentos

Formulario web - Computador con acceso a

internet

- Sujeto a errores de digitación

- Procesos de validación

adicionales (ej, captcha)

- Dificultad en validación de

múltiples documentos

30 a 40 segundos

Lectura código

QR

- Dispositivo móvil con cámara

- Aplicación instalada

- Facilidad en validación de

múltiples documentos

0.3 segundos a 1

segundo

Tabla 4. Comparación entre procesos de verificación de documentos

Fuente: Propia

Page 50: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

50

3. APLICACIÓN DE TÉCNICAS DE CIFRADO EXISTENTES EN CÓDIGOS QR

3.1. 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-are-differences [Fecha de consulta: 22 Feb. 2018]

Page 51: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

51

El cifrado asimétrico es relativamente nuevo en comparación con el cifrado

simétrico. Usa dos claves para cifrar un texto plano. Las claves secretas pueden ser

intercambiadas en una red abierta como internet, así se asegura que delincuentes

no hagan mal uso de éstas. Es importante tener en cuenta que cualquier persona

con una clave secreta puede descifrar el mensaje. Siendo ésta la razón por la que

el cifrado asimétrico utiliza dos claves relacionadas para aumentar la seguridad.

Una clave pública se puede hacer disponible para todo aquel que desea enviar un

mensaje. La clave privada es secreta, por lo cual solo la persona receptora del

mensaje la posee.

Un mensaje que se cifra usando la clave pública sólo puede ser descifrado usando

la clave privada. Del mismo modo, un mensaje cifrado usando la clave privada

puede ser descifrado usando la clave pública. La clave pública no requiere de

seguridad debido a que puede ser compartida en internet. El cifrado asimétrico

brinda mayor seguridad en la información transmitida durante una comunicación.

Así mismo, la técnica de cifrado de clave pública puede usarse mediante el

mecanismo de Firma Digital. Éste también cuenta con dos claves: la privada, que

en este caso permite cifrar o firmar un mensaje (contrario al método normal de clave

pública); y un algoritmo público de verificación (clave pública) el cual permite a

cualquier persona verificar que la firma es auténtica (descifrar el mensaje).27

El cifrado asimétrico es la técnica más usada en los canales de comunicación hoy

en día, especialmente en internet. Los algoritmos de cifrado asimétrico más

comunes incluyen ElGamal, RSA, DSA, técnicas de curvas elípticas, PKCS, la

ilustración 18 ejemplifica su funcionamiento.

27 University of Colorado Denver (2018). Digital Signature Schemes. [online] Disponible en

http://www-math.ucdenver.edu/~wcherowi/courses/m5410/dss.pdf [Fecha de consulta: Feb. 23 2018]

Page 52: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

52

Ilustración 18. Proceso de descifrado asimétrico

Fuente: https://www.ssl2buy.com

3.2. FUNCIONES HASH

Un hash es un algoritmo matemático que transforma cualquier bloque arbitrario de

datos en una nueva serie de caracteres con una longitud fija (Ver Marco teórico).

Existen varias funciones hash usadas en la actualidad, dentro de las cuales (y

quizás las más populares) se incluyen MD5 y SHA.28

MD5 es un algoritmo un poco más lento que su antecesor (MD4) pero es más

“conservativo” en su diseño. Produce un valor único de 128 bits. Se usa para

autenticar la originalidad de un mensaje. Fue diseñado para ser usado como

algoritmo de seguridad para autenticar firmas digitales. A pesar de esto, MD5 no es

considerado seguro para usarse como suma de verificación criptográfica debido a

que se ha demostrado que existen técnicas capaces de generar colisiones en el

algoritmo, lo que permite obtener tokens ilegítimos que resultan ser auténticos. Los

expertos no recomiendan su uso criptográfico.29

28 TechTarget (2017). MD5. Definition.[online]. Disponible en

http://searchsecurity.techtarget.com/definition/MD5 [Fecha de consulta: Feb. 23 2018] 29Software Engineering Institute. MD5 vulnerable to collision attacks. [online]. Disponible en

https://www.kb.cert.org/vuls/id/836068 [Fecha de consulta: Feb. 24 2018]

Page 53: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

53

Debido a lo anterior, actualmente el algoritmo se usa como suma de verificación no

criptográfica para verificar la integridad de la información y detectar daños no

intencionales en los datos. Por otra parte, SHA es una familia de funciones hash

criptográficas más robustas que MD5. Cuenta con tres variantes: SHA1, SHA2 y

SHA3. Cada una de estas, cuenta con un grupo de funciones cuya principal

diferencia radica en la cantidad de bits de salida. Es el caso, por ejemplo, de SHA2

con las funciones SHA-224, SHA-256, SHA-284, SHA-512, SHA-512/224 y SHA-

512/256

En la primera versión, SHA1, fueron descubiertos problemas de seguridad

relacionados con colisiones en el algoritmo tanto en 2005 30 como en 201231 que

hicieron necesario el desarrollo de una función más fuerte, cuyo resultado fue SHA2.

SHA2 es de uso más generalizado, principalmente en su versión SHA-256, por

muchas aplicaciones, protocolos y certificados digitales. Los expertos creen que su

ciclo de vida será similar a SHA1, pero por ahora no se ha encontrado debilidades

significativas en este algoritmo.

El algoritmo SHA3, que no es precisamente un reemplazo de SHA2, tendrá que

pasar por un largo proceso hasta que sea difundido y usado ampliamente pues, en

la actualidad, muchas aplicaciones no son aún compatibles con este algoritmo.32

30 Schneier, Bruce. (2005). Cryptanalysis of SHA-1. [online]. Disponible en

https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html [Fecha de consulta: 25 Feb. 2018] 31 Trendmicro. (2017). SHA1 Collision Signals the End of the Algorithm’s Viability [online].

Disponible en https://www.trendmicro.com/vinfo/us/security/news/vulnerabilities-and-exploits/sha-1-

collision-signals-the-end-of-the-algorithm-s-viability [Fecha de consulta: 25 Feb. 2018] 32 Rimes, Roger (2017). All you need to know about the move from SHA-1 to SHA-2

encryption.[online] Disponible en https://www.csoonline.com/article/2879073/encryption/all-you-need-to-know-about-the-move-from-sha1-to-sha2-encryption.html [Fecha de consulta: 26 Feb. 2018]

Page 54: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

54

3.3. DESCRIPCIÓN DEL PROCESO

3.3.1. Limitaciones

Los códigos QR cuentan con una limitación de espacio que se debe tener en cuenta

a la hora de almacenar información en ellos (ver Marco Teórico). Es importante

resaltar que entre mayor sea la información contenida en el código QR y el nivel de

corrección de error (ECC por sus siglas en inglés “Error Correction Code”) se

acerque a H, mayor será la concentración de símbolos (cuadrados blancos y

negros) y, por consiguiente, se dificultará tanto la impresión en papel (sería

necesario imprimir el código en gran tamaño) como la lectura (requiere de más

precisión) un ejemplo de ello se puede observar en la ilustración 19.

L

M

Q

H

Ilustración 19. Niveles de corrección de error (ECC)

Fuente: Propia

Nótese como el máximo nivel de error H tiene mayor concentración de símbolos lo

cual, en una cantidad importante de información contenida en el código QR, puede

dificultar su impresión y lectura.

Dado que los códigos a implementar en la presente propuesta requieren de un

tamaño no mayor a 3,5 cm x 3,5 cm y debido a la información que será almacenada

en el código QR, se limitará la cantidad de caracteres a un máximo de 216

(resultante del proceso de cifrado propuesto).

Page 55: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

55

Frente a las técnicas de cifrado mencionadas se ha optado por la implementación

de un algoritmo de criptografía asimétrica usando el mecanismo de Firma Digital:

RSA. Esto debido a:

● Entre los algoritmos asimétricos, RSA es uno de los más usados en la

actualidad.33

● La técnica de cifrado asimétrico de clave pública/clave privada (usada con el

mecanismo de Firma Digital) permite tener una mayor seguridad a la hora de

cifrar información, pues al requerir de una clave para cifrar y otra distinta para

descifrar, impide que se pueda falsificar información.

En relación con la función hash, la propuesta se da con el algoritmo SHA2 puesto

que su facilidad de implementación junto con su amplia difusión permite tener un

alto grado de confiabilidad

3.3.2. Cifrado

El proceso de cifrado está dado por dos subprocesos descritos a continuación:

a. Resumen de datos (hash):

La información de estudiantes y diplomas está almacenada en una base de datos.

Ésta es la fuente de la cual se sustraen todos los campos detallados en el diploma

a generar. Debido a que la información de un estudiante contenida en la base debe

ser igual a la información plasmada en el diploma, se ha decidido usar funciones

hash o funciones resumen que permitan comparar de forma segura la información

33 Rouse, Margaret (2016).asymmetric cryptography (public key cryptography) [online] Disponible

en http://searchsecurity.techtarget.com/definition/asymmetric-cryptography [Fecha de consulta: 26 Feb. 2018]

Page 56: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

56

de ambas partes. Para esto, se ejecuta la función (SHA-256) a la información del

estudiante en la base de datos y se obtiene su hash (Ilustración 20).

Ilustración 20. Creación de hash a partir de un texto

Fuente: Propia

Posteriormente, este hash es almacenado en la base de datos y concatenado a

información preliminar y básica del estudiante de la forma “Documento-Nombres-

Apellidos-Hash”.

b. Cifrado de datos preliminares:

Los datos preliminares se refieren a la información presentada en la aplicación móvil

una vez escaneado el código QR, de forma que exista una vista previa y offline de

los datos básicos del estudiante: documento, nombres y apellidos. Los datos

preliminares están concatenados junto con el hash resultante de la función

ejecutada sobre la información de un estudiante de la base de datos.

Esta cadena de información está cifrada bajo una clave privada que posteriormente

es descifrada con una clave pública incluida en la aplicación móvil.

Como resultado de este proceso, se obtiene una cadena alfanumérica que será la

contenida en el código QR. Todo este proceso se puede evidenciar en la ilustración

21.

Page 57: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

57

Ilustración 21. Cifrado de la información de los códigos QR

Fuente: Propia

3.3.3. Descifrado

El proceso de descifrado de la cadena alfanumérica comienza con la clave pública

contenida en la aplicación móvil. Ésta permite descifrar el contenido de la cadena y

hacer su división a partir de un caracter definido, quedando así:

● Documento

● Nombres

● Apellidos

● Hash

Los tres primeros valores serán presentados como vista preliminar offline en la

pantalla de la aplicación móvil. Posteriormente, y bajo la instrucción del usuario

(requiere conexión a internet) se hace la validación de que la información que está

contenida en el diploma sea la misma contenida en la base de datos mediante un

cotejamiento de los hashes (Ilustración 22).

Page 58: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

58

Ilustración 22. Proceso de descifrado de la información de un código QR

Fuente: Propia

Page 59: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

59

4. DESARROLLO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL

En este capítulo se describen las herramientas utilizadas para la creación de la

aplicación móvil y se lista cada uno de los procesos realizados para realizar la

validación de un documento, mediante la conexión a la plataforma web.

4.1. DESCRIPCIÓN DE LA APLICACIÓN MÓVIL

La aplicación móvil está desarrollada y orientada al sistema operativo Android, esto

debido a que es el sistema operativo más usado por dispositivos móviles, con esto

se asegura que la compatibilidad de la aplicación esté orientada a la gran mayoría

de dispositivos móviles del mercado. La aplicación ha sido diseñada y desarrollada

para ser utilizada por los usuarios que deseen realizar la validación de un

documento de forma rápida y segura, el manual de usuario de la aplicación podrá

ser consultado en el Anexo 2.

4.2. HERRAMIENTAS DE DESARROLLO

Para el desarrollo de la aplicación móvil se utilizó el entorno de desarrollo Android

Studio, mediante el cual se estableció que la aplicación estará dirigida a la versión

Android 4.0.3 (Icre Cream Sandwich), siendo esta una versión estandarizada en la

gran mayoría de dispositivo Android antiguos.

Se debe tener en cuenta que la aplicación esta optimizada para que funcione

también en sistemas operativos Android con versiones superiores, con esto y según

la información presentada en Android Studio, IDE desarrollado creado por el mismo

Google, la aplicación estará en la capacidad de ser instalada y utilizada por el 99,8%

de dispositivos móviles Android.

Page 60: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

60

Como lenguaje de desarrollo se utilizó Java, siendo éste el lenguaje “puro” para el

desarrollo de aplicaciones Android.

Mediante el entorno de desarrollo Android Studio, se creó una serie dispositivos

móviles virtuales, los cuales contaban con diferentes versiones de sistema operativo

Android, de tal forma que la aplicación se pudiera evaluar en diferentes entornos,

con dispositivos de diferentes especificaciones en cuanto software y hardware,

además se utilizaron dispositivos físicos reales como celulares y tablets, los cuales

a su vez contaban con diferentes versiones, lo que permitió no solo realizar pruebas

sino los ajustes necesarios para obtener como resultado una aplicación rápida,

confiable y compatible con casi cualquier dispositivo móvil Android.

4.3. PROCESO DE DESCIFRADO DE UN CÓDIGO QR MEDIANTE LA

APLICACIÓN MÓVIL

El proceso de validación de un documento debe pasar por una etapa inicial en la

cual y con ayuda de una aplicación móvil desarrollada inicialmente para dispositivos

Android, se escanea un código QR, se lee la información contenida en éste y se

descifra la información capturada con ayuda de una llave pública que ha sido

almacenada previamente en la aplicación; esto se realiza para aumentar el nivel de

seguridad, ya que al estar cifrada la información de los códigos QR, no será legible

ante cualquier escáner de códigos QR (Ilustración 23).

Ilustración 23. Proceso de descifrado de códigos QR

Fuente: Propia

Page 61: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

61

4.4. PROCESO DE VALIDACIÓN DE UN DOCUMENTO MEDIANTE LA

APLICACIÓN MÓVIL

1. La aplicación hace uso de la cámara, con la cual se escanea el código QR del

documento a validar y captura la información contenida en el código.

2. La información capturada se encuentra cifrada, por lo que mediante el uso de

una llave pública contenida en la aplicación móvil descifra la información y la

muestra en pantalla, entre los datos descifrados se encuentran el número de

identificación, nombres y apellidos de la persona a la cual pertenece el

documento. En caso de escanear un código que no contiene la información con

las características establecidas en los códigos, se mostrará un mensaje

indicando que el QR no es válido.

3. La aplicación establecerá una conexión con el servidor web, al cual enviará el

hash capturado y descifrado del documento para su validación.

4. Al obtener respuesta del servidor, descifrará el contenido de la respuesta a partir

de la llave pública almacenada en la aplicación, luego mostrará el resultado al

usuario y en caso de ser válido mostrará de forma detallada la información del

documento, de lo contrario informará que el documento no es válido.

Para comprender mejor el proceso general de validación, observar la ilustración 24.

Page 62: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

62

Ilustración 24. Proceso completo de validación de documento desde la app

Fuente: Propia

Page 63: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

63

5. DESARROLLO E IMPLEMENTACIÓN DE LA PLATAFORMA WEB

En este capítulo se describen las herramientas utilizadas para el desarrollo de la

plataforma web junto con la propuesta de funcionamiento de la misma para la

generación de diplomas o documentos académicos con códigos QR.

5.1. DESCRIPCIÓN APLICACIÓN WEB

La aplicación web es un prototipo que permite generar de forma individual o masiva

diplomas cuyo contenido incluye un código QR cifrado, para que posteriormente

éste sea escaneado mediante la aplicación móvil y permita validar la autenticidad

de dicho documento. Así mismo, el prototipo permite generar stickers QR cuyo

propósito es que puedan ser adheridos a diplomas ya existentes y que, al igual que

los diplomas generados, permitan ser validados con la aplicación móvil. El prototipo

cuenta con un editor de código html que facilita la creación de los diplomas y cuenta

además con un procedimiento que permite a una institución autorizar los diplomas

generados, evitando así la crear diplomas de personas ajenas a la institución.

El prototipo cuenta con tres componentes principales:

● Generación de diplomas nuevos.

● Modificación de datos a diplomas nuevos.

● Creación o generación de stickers para diplomas existentes.

Para el funcionamiento de este prototipo se cuentan con dos roles principales:

generador y validador. El generador es quién tiene permitido crear y descargar

diplomas para impresión. El validador es quién tiene permitido autorizar los diplomas

creados por el generador.

Page 64: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

64

Cada componente cuenta con un protocolo compuesto de tres pasos: solicitud,

autorización y descarga. La solicitud es el procedimiento que el generador realiza

en el momento de crear un diploma; esto es, solicitar que sea autorizada la descarga

de un diploma luego de realizar la verificación de los datos. Esta solicitud llega al

validador dando paso al siguiente procedimiento, la autorización. En este paso, el

validador revisa que la información de cada uno de los diplomas sea la misma que

se concertó inicialmente con el generador; esto se hace con el fin de prevenir que

por parte de este último se generen diplomas no concertados o que se altere la

información de alguno de los diplomas. Una vez autorizado el diploma, llega el tercer

paso que es la descarga. En esta, el generador se encarga de hacer la descarga de

los diplomas por una única vez.

Se realizaron pruebas de estrés al servidor para lograr medir y evaluar el

desempeño del servidor web, estos se hace teniendo en cuenta que el servidor

podrá recibir múltiples solicitudes de forma constante, las pruebas realizadas se

encuentran en el Anexo 3.

5.2. HERRAMIENTAS UTILIZADAS

La plataforma web ha sido desarrollada bajo el lenguaje de programación PHP en

su versión 7.0 y, para el manejo de la base de datos se ha optado por MySQL en

su versión 5.7.

5.3. FUNCIONES

La plataforma o servicio Web cuenta con una serie de funciones que son las que

permiten ejecutar una serie de procesos que en conjunto conforman una completa

herramienta para la administración de documentos como certificados de

instituciones académicas. Entre estas funciones se pueden encontrar:

Page 65: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

65

5.3.1. Generación de diplomas nuevos

La generación de diplomas nuevos es el proceso mediante el cual el generador crea

un nuevo diploma a partir de la información enviada (por la parte contratante, puede

ser el mismo validador). Este diploma incluye, además de la información común

encontrada en un diploma de grado, el código QR cifrado.

1. El generador crea el diploma y solicita autorización (revisión) para su descarga.

En este paso, la solicitud se realiza en texto plano.

2. El validador recibe la solicitud y cifra la autorización de creación del diploma con

llave privada (ver apartado 3.3).

3. La solicitud autorizada es enviada al generador y una vez se active la descarga

del diploma, es descifrada mediante llave pública contenida en el servidor.

4. Como resultado al descifrado, se obtiene información de los datos contenidos

en el diploma que se comparan a sí mismos con el fin de prevenir alteraciones

intencionales en la base de datos. Si la comparación resulta correcta, se permite

la descarga del diploma.

5.3.2. Modificación de datos a diplomas nuevos

La modificación de datos a diplomas nuevos es el proceso mediante el cual el

generador realiza cambios a la información contenida en un diploma a partir de la

información enviada (por la parte contratante, puede ser el mismo validador). El

cambio de alguno de los registros del diploma implica un nuevo código QR y, por

consiguiente, una nueva autorización.

1. El generador busca el diploma y realiza la modificación a alguno de los campos

permitidos y solicita autorización (revisión) para su nueva descarga. Al igual que

la creación de diplomas, la solicitud se realiza en texto plano.

2. El validador recibe la solicitud de modificaciones y cifra la autorización de la

nueva descarga del diploma con llave privada (ver apartado 3.3).

Page 66: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

66

3. La solicitud de modificación de datos autorizada es enviada al generador y una

vez se active la nueva descarga del diploma, es descifrada mediante llave

pública contenida en el servidor. Al igual que la creación de diplomas, el

descifrado permite obtener la información modificada del contenido de los

diplomas y hace una comparación que, de ser positiva, permite la descarga del

diploma modificado.

5.3.3. Generación de stickers para diplomas existentes

La generación de stickers es el proceso mediante el cual el generador crea un

código QR a partir de la información contenida en un diploma ya existente y del que

se quiere hacer una autenticación mediante estos códigos (Ilustración 24).

1. El generador crea un nuevo sticker a partir de información existente de un

diploma y genera la solicitud de autenticación. Este proceso también se realiza

en texto plano.

2. El validador recibe la solicitud de nuevo sticker y cifra la autorización de

descarga con llave privada (ver apartado 3.3).

3. La autorización de nuevo sticker es enviada al generador y una vez se active su

descarga, es descifrada mediante llave pública contenida en el servidor. Al igual

que la creación de diplomas, el descifrado permite obtener la información

modificada del contenido de los códigos QR y hace una comparación que, de

ser positiva, permite su descarga.

Ilustración 25. Componentes del servicio web

Fuente: Propia

Page 67: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

67

5.3.4. Generación de claves

El par de claves pública y privada que se usan para el cifrado y descifrado de las

solicitudes se generan para cada usuario con perfil de validador en el sistema. Una

vez el administrador del sistema cree un nuevo usuario con este perfil, se crearán

su par de llaves. La llave privada debe ser descargada ya que le permitirá al usuario

validador cifrar las solicitudes que sean realizadas por parte del usuario generador.

La llave pública es almacenada en el servidor y permitirá descifrar las solicitudes

autorizadas posteriormente.

Este proceso de cifrado con llave privada y descifrado con llave pública se hace

intencionalmente debido a que la llave privada, en el momento de su creación, es

cifrada con la contraseña propia de cada usuario, lo que permite aumentar la

seguridad en el archivo generado y que es usado para el cifrado de la solicitud.

Ilustración 26. Llaves del usuario.

Fuente: propia

Page 68: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

68

6. CONSULTA DE INFORMACIÓN ACTUALIZADA MEDIANTE CONEXIÓN A

BASE DE DATOS

La aplicación móvil cuenta con dos momentos diferentes para la consulta y

presentación de información de un estudiante: En primer lugar, la información que

se encuentra contenida dentro del código QR, una vez descifrado, permite obtener

una vista previa de la información básica que debe estar almacenada dentro del

diploma o dentro del documento académico. Esto, ya permite que exista una forma

de conocer la información contenida en el código QR y de validar a su vez que esta

información sea acorde a la que está en el documento, de una forma inmediata.

Por otra parte, la aplicación web cuenta con un pequeño servicio que permite hacer

consultas a la base de datos de forma directa y distribuida. Esto es: el servicio es

consultado desde la aplicación móvil y realiza una consulta de un índice que indica

la ruta de conexión a la base de datos (propia) de la institución. Esto permite verificar

los estudiantes (leer QR) directamente en la base de datos de la institución y permite

reducir la carga de consultas en el servidor central. El servidor a su vez retorna la

información solicitada cifrada en un texto plano, que no representa mayor carga

para la transmisión de los datos ni para la presentación de estos en la interfaz del

móvil.

Page 69: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

69

Ilustración 27. Distribución Bases de Datos Fuente: Propia

En la ilustración 27 se puede observar cómo están distribuidas las bases de datos

de las instituciones, la base de datos central y la aplicación. De esta manera la

información se encontrará distribuida y a la hora de realizar la validación de un

documento se deberá establecer conexión con bases de datos externas, en las

cuales se harán las respectivas consultas de forma directa según la institución a la

cual pertenece el código QR, esto con el objetivo de mantener la información

distribuida y que se realice la consulta en una base de datos específica, dejando así

las demás bases de datos libres de consultas innecesarias. Con este modelo se

puede evidenciar el componente telemático, el cual entra a jugar un papel

importante a la hora de establecer conexión con bases de datos externas,

manteniendo la información de las instituciones de forma distribuida y además como

se ha documentado anteriormente en este documento, cada una de las peticiones

y respuestas entre el cliente y el servidor siempre están cifrados, con el objetivo de

mantener un nivel de seguridad alto en la transmisión de la información.

Page 70: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

70

Dentro de la aplicación móvil se han efectuado diferentes pruebas que han permitido

constatar que la consulta de información a la base de datos no tiene periodos

mayores a un segundo, por lo cual, es lo suficientemente veloz para que se envíe

la consulta y se retorne la información casi de forma inmediata.

La plataforma web ha sido instalada en un servidor web de Amazon yallí está

alojada la base de datos en la cual se almacenan todos los registros de la aplicación,

la razón por la que se realizó la instalación en un servidor externo como lo es

Amazon, es que, es común tener las bases de datos alojadas en servidores en la

nube, lo que conlleva a requerir de más tiempo para realizar procesos como

consultas y el objetivo es realizar pruebas y demostraciones de la manera más real

posible.

A partir de esto, todas las peticiones realizadas desde la aplicación móvil para

realizar la validación de un documento o certificado académico, van dirigidas hacia

la plataforma web, por lo tanto se implementó un código fuente en la aplicación móvil

que mostrará el tiempo requerido para la validación desde el momento en que se

comunicó con el servidor, hasta que obtuvo una respuesta del mismo, de esta forma

se puede conocer el tiempo necesario para la consulta en la base de datos.

En la ilustración 28 se puede apreciar el código en la aplicación móvil, siendo este

un método que permite iniciar un timer, el cual aumenta cada vez que pasa un

milisegundo.

Page 71: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

71

Ilustración 28. Método que inicia el timer para el test en aplicación móvil Fuente: Propia

Existe otro método encargado de imprimir el tiempo total, el cual se puede apreciar

en la ilustración 29:

Ilustración 29. Método de impresión del tiempo requerido para la validación Fuente: Propia

Como se aprecia en la ilustración 30, el timer es iniciado cuando se establece la

conexión con la plataforma web, la cual a su vez está comunicada con la base de

datos de forma local.

Page 72: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

72

Ilustración 30. Inicialización del timer de prueba Fuente: Propia

Cuando el servidor responde a partir de la consulta realizada en la base de datos,

se ejecuta un método que valida la información recibida, pues la respuesta viene

cifrada, dentro de esto método se detiene el timer y se imprime en pantalla el tiempo

requerido para la validación del documento mediante la conexión a la base de datos

que se encuentra en un servidor externo, este proceso se puede apreciar en la

ilustración 31.

Ilustración 31. Detención del timer e impresión en pantalla del tiempo requerido Fuente: Propia

Page 73: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

73

Es de esta manera como se puede apreciar en la aplicación móvil el tiempo

necesario para establecer conexión con la base de datos y realizar la consulta, el

tiempo necesario para este caso de prueba y teniendo en cuenta que la base de

datos está en un servidor web externo, pues está alojado en Ohio Estados Unidos

es de 276 milisegundos, como se puede observar en la ilustración 32.

Ilustración 32. Tiempo requerido para establecer la conexión y consulta en la base de datos Fuente: Propia

Estas pruebas demuestran que la conexión con la base de datos es lo

suficientemente rápida para brindar información almacenada en ésta, en el

momento en que un usuario lo requiera, aun cuando la información haya sido

modificada en la base y deba ser consultada de nuevo.

Page 74: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

74

Así mismo, la tabla de la base de datos que involucra la consulta desde la aplicación

móvil (que maneja los índices) está configurada con el motor de almacenamiento

MyISAM, el cual permite que las consultas sean hechas más rápidamente que las

realizadas con el motor de almacenamiento InnoDB. Las demás tablas que

involucran la inserción masiva de información están configuradas con el motor de

almacenamiento InnoDB. Hay que tener en cuenta que las bases de datos

configuradas con MyISAM cuentan con velocidades de lectura mayores que

configuradas con InnoBD34. Esto permite a su vez que las consultas a los índices

sean mucho más veloces, y el servidor se encargará de retornar la información

cifrada.

34 (2016). MyISAM vs InnoDB [online] Disponible en http://b2evolution.net/man/myisam-vs-innodb [Fecha de consulta 2 Ago, 2018]

Page 75: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

75

7. CONCLUSIONES

La seguridad en el transporte de información es hoy en día un punto que está

tomando fuerza y no es algo que se deba dejar a un lado, pues es de gran

importancia que la comunicación establecida entre un punto A y un punto B siempre

esté blindada de intrusos, sin embargo y aunque son muchos los casos que se

presentan de intrusión en diferentes situaciones, se dejan brechas que piratas

informáticos saben aprovechar.

En el mercado existen un sin número de tecnologías desarrolladas que no se han

aprovechado del todo y con el aumento de ataques cibernéticos, es necesario

conocer las tecnologías y saberlas aplicar, un ejemplo de ello es un código QR, que

para muchos es un simple elemento que transporta información, pero lo que no se

aprecia a simple vista es que este tipo de elementos son legibles hoy en día casi

por cualquier persona que cuente con un Smartphone, es entonces necesario

analizar y comprender que aunque sea este un elemento semejante a una caja llena

de datos, siempre se podrá salvaguardar la información y evitar intrusiones.

A partir de este trabajo, se ha demostrado que la seguridad en la transferencia de

información es algo que está al alcance de todos, pues existen diferentes tipos de

cifrados que tienen un alto nivel de seguridad y que al aplicarlos, permiten que se

realice un proceso de forma segura.

Esto aplica no solamente a información que se almacena en códigos QR u otros

elementos de este tipo, es aplicable a los canales de información que son utilizados

en todo momento, es decir a la transmisión de datos, pues enviar un dato de una

lugar a otro hoy en día es bastante fácil, pero se desconoce si entre el emisor y

receptor hay intrusos y es allí donde aparecen los diferentes métodos de cifrado que

han ido mejorando en el transcurso del tiempo.

Page 76: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

76

En el presente proyecto se decidió hacer uso de una serie de tecnologías básicas

que en conjunto han llegado a formar un sistema con alto nivel de seguridad y se

ha aplicado al sector educativo para la validación de documentos o certificados

académicos, se ha demostrado que mediante el uso de un código QR con

información cifrada, se puede llegar a validar un documento en cuestión de

segundos, de forma segura y automatizando así procesos que hoy en día se llevan

a cabo en cuestión de minutos, a veces horas y podrían llegar a ser días, pues son

procesos que dependen de la intervención de múltiples personas y así como fue

aplicado al sector educativo podrá ser aplicado en cualquier sector comercial, en

cualquier tipo de documento y por qué no, en cualquier transmisión de datos.

Page 77: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

77

8. BILIOGRAFÍA

Forero, 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].

About QR-Codes (2018). [online] Disponible en: http://www.mobile-

barcodes.com/about-qr-codes/ [Fecha de consulta: 18 Feb. 2018].

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].

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].

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-de-

documento-privado.html [Fecha de consulta 15 Feb. 2018].

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-descubierto-a-

mas-de-1-200-profesionales-con-titulo-falso.html [Fecha de consulta 15 Feb.

2018].

Gartner (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].

PHP (2018). Prefacio. [online] Disponible en

http://php.net/manual/es/preface.php [Fecha de consulta 16 Feb. 2018].

Prassana Kumar Dixit. Android. India: Vikas. 2014.

Page 78: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

78

Kato, Hiroko. Tan, Keng. Chai Douglas. Barcode for Mobile Devices. UK.

Cambridge University Press. 2010.

Price, Kella. INFOLINE: QR Codes for trainers. Estados Unidos: ASTD. 2013.

Picouto, F. Lorente, Iñaki. García-Moran, J. Ramos, A. Hacking y Seguridad

en Internet. Madrid: Alfaomega. 2008.

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].

Northcutt, Stephen (2008). Hash Functions [online] Disponible en

https://www.sans.edu/cyber-research/security-laboratory/article/hash-

functions [Fecha de consulta: 17 Feb. 2018].

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].

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]

Wikipedia.Secure Hash Algorithm 3 [online]. Disponible en

https://en.wikipedia.org/wiki/SHA-3 [Fecha de consulta: 18 Feb. 2018]

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]

Techtarget (2011). Initialization Vector. [online] Disponible

http://whatis.techtarget.com/definition/initialization-vector-IV [Fecha de

consulta 20 Feb. 2018].

Page 79: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

79

QR Question (2015). Historia Código QR. [online]. Disponible en

http://www.qrquestion.info/historia-codigo-qr/ [Fecha de consulta: 20 Feb.

2018].

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].

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-de-calidad/ [Fecha de consulta:

20 Feb. 2018].

Castellanos, Luis (2016). Modelo RUP – IBM [online] Disponible en

https://dtyoc.com/2016/06/07/modelo-rup-ibm/ [Fecha de consulta 21 Feb,

2018].

ICFES (2018). Verificador académico.[online]. Disponible en

http://www2.icfesinteractivo.gov.co/resultados-saber2016-

web/pages/publicacionResultados/validantes/verificadorDiplomas.jsf#No-

back-button [Fecha de consulta 22 Feb, 2018].

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-de-vigencia-profesional-digital[Fecha de

consulta 22 Feb, 2018].

SSLTOBUY (2018). Symmetric vs. Asymmetric Encryption – What are

differences?. [online] Disponible en https://www.ssl2buy.com/wiki/symmetric-

vs-asymmetric-encryption-what-are-differences [Fecha de consulta: 22 Feb.

2018].

University of Colorado Denver (2018). Digital Signature Schemes. [online]

Disponible en http://www-

math.ucdenver.edu/~wcherowi/courses/m5410/dss.pdf [Fecha de consulta:

Feb. 23 2018].

Page 80: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

80

TechTarget (2017). MD5. Definition.[online]. Disponible en

http://searchsecurity.techtarget.com/definition/MD5 [Fecha de consulta: Feb.

23 2018].

Software Engineering Institute. MD5 vulnerable to collision attacks. [online].

Disponible en

https://www.kb.cert.org/vuls/id/836068 [Fecha de consulta: Feb. 24 2018].

Schneier, Bruce. (2005). Cryptanalysis of SHA-1. [online]. Disponible en

https://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html

[Fecha de consulta: 25 Feb. 2018].

Trendmicro. (2017). SHA1 Collision Signals the End of the Algorithm’s

Viability [online]. Disponible en

https://www.trendmicro.com/vinfo/us/security/news/vulnerabilities-and-

exploits/sha-1-collision-signals-the-end-of-the-algorithm-s-viability [Fecha de

consulta: 25 Feb. 2018].

Rimes, Roger (2017). All you need to know about the move from SHA-1 to

SHA-2 encryption.[online] Disponible en

https://www.csoonline.com/article/2879073/encryption/all-you-need-to-know-

about-the-move-from-sha1-to-sha2-encryption.html [Fecha de consulta: 26

Feb. 2018].

Rouse, Margaret (2016).asymmetric cryptography (public key cryptography)

[online] Disponible en

http://searchsecurity.techtarget.com/definition/asymmetric-cryptography

[Fecha de consulta: 26 Feb. 2018].

(2016). MyISAM vs InnoDB [online] Disponible en

http://b2evolution.net/man/myisam-vs-innodb [Fecha de consulta 2 Ago,

2018].

Page 81: SISTEMA DE VALIDACIÓN WEB DE DOCUMENTOS MEDIANTE …repository.udistrital.edu.co/bitstream/11349/14196... · cÓdigos qr haciendo uso de dispositivos mÓviles fernando alonso munevar

81

ANEXOS