Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DESMATERIALIZACIÓN SOAT
FASECOLDA
07 04 2017
AGENDA
1. Objetivo de la reunión
2. Modelo funcional – Generador QR
3. Componente lenguaje JAVA
4. Componente lenguaje .NET
5. Protocolo de generación códigos QR
6. Generación de Llaves
7. Java doc
OBJETIVOS DE LA REUNIÓN
Entregable Descripción
Cliente_Prueba Proyecto compilado en NetBeans que implementa
el archivo “GenQr.jar”
GenQr.jar Componente que encapsula la creación del QR
Manual Cliente JAVA.docx Instrucciones para agregar el componente
“GenQr.jar” en un proyecto
COMPONENTE .NET
La lógica de generación del código QR se encuentra encapsulada dentro
del archivo “GenQr.dll”, en este se encuentran los métodos necesarios
para la generación del QR:
Entregable Descripción
Cliente_Prueba Proyecto compilado en Visual Studio que
implementa el archivo “GenQr.dll”
GenQr.dll Componente que encapsula la creación del QR
Manual Cliente NET.docx Instrucciones para agregar el componente
“GenQr.dll” en un proyecto
PROTOCOLO GENERACIÓN QR
1. Se invierte el ID asignado por aseguradora, por ejemplo “1234” seria “4321”
2. Se obtienen los dos últimos dígitos del dato obtenido en el punto 1.
3. Se multiplica el ID invertido de la aseguradora con los últimos dos dígitos
obtenidos en el punto 2.
4. Al resultado de la multiplicación, se le aplica el algoritmo SHA1 y el resultado
se convierte a hexadecimal.
5. A la cadena obtenida en hexadecimal se le agrega las letras "oxw“
6. Se cifra la cadena de datos del SOAT, usando como semilla la cadena
resultante del punto 5 mediante el algoritmo AES-256
PROTOCOLO GENERACIÓN QR
7. Se firma la información obtenida en el punto 6 usando la llave privada (.pfx).
En este mismo punto se verifica que el certificado de firma sea válido.
8. Se obtienen todos los números de la firma del punto 7 para obtener un valor
entero
9. Se obtienen los dos últimos dígitos del número obtenido en el punto 8.
10. Se toma la cadena resultante del punto 7 desde la posición 0 hasta la
posición calculada en el punto 9, se concatenan el valor obtenido en el punto 6,
el valor “IOl0X” , y el valor del punto 7 desde la posición calculada en el punto 9
hasta el fin de la cadena del punto 7.
11. Se verifica la firma.
12. Se concatena el ID de la aseguradora con el valor obtenido en el punto 10
13. Se genera el código QR con el valor obtenido en el punto 12
PROTOCOLO GENERACIÓN QR
• El estándar de firma adoptado corresponde a SHA1withRSA
• El cifrado de datos se realiza con AES-256
• El protocolo de generación garantiza confidencialidad y autenticidad de cada
uno de los códigos QR
Entregable Descripción
Anexo. Lógica de Código JAVA en donde se detalla el pasos a paso para la
Implementación.docx creación de un QR, contiene la lógica del componente
GenQr
Protocolo Generación Describe el como se genera un código QR valido de forma
QR.docx general, para su implementación en cualquier lenguaje de
programación
GENERACIÓN DE LLAVES
La verificación de los QR esta basada en la infraestructura de PKI en
donde se genera un par de llaves para la comunicación de dos
interlocutores de forma asimétrica, en el documento Manual Generación
de Llaves.docx se detalla como generar este par de llaves en base a un
certificado digital haciendo uso del Software OpenSSL, como resultado del
proceso se obtiene un nuevo archivo de extensión .PEM y .PFX
JAVADOC
07 04 2017