wiki:2019_mdcsl_construccion/arquitectura_sistema

Inicio > Actividades en el 2019 > MDCSL - Fase de Construcción > Arquitectura del Sistema


Arquitectura general del Sistema Murachí Versión 2


Para la versión 2 de Murachí se propone la misma arquitectura orientada a recursos con interfaces RESTful. Las modificaciones y optimización en esta nueva versión se basa en el cliente, específicamente en el plugin para el navegador con soporte a certificados digitales, sin necesidad de dispositivos criptográficos.

  1. Cliente: El cliente podrá utilizar el servicio Murachí a través del navegador, al cual se le debe instalar el plugin necesario, dependiendo si utiliza certificados en dispositivos criptográficos o solo certificados digitales.
  1. Portal Web para el servicio Murachi: Los recursos del servicio web Murachí podrán ser consumidos a través del navegador web y un sistema cliente (Portal Web), el cual puede ser escrito en distintos lenguajes de programación como Ruby, PHP, Python, Java, etc. Se utiliza el protocolo HTTP para la comunicación entre el cliente y el servicio. Los recursos disponibles del servicio web enviarán sus respuestas en formato JSON.
  1. Servicio Murachi: Es un servicio web desarrollado bajo en el framework Jersey de Java que firma documentos y verifica documentos firmados electrónicamente, actualmente soporta los formatos pdf y bdoc, además ofrece diversas herramientas para incorporar estas funcionalidades en sistemas de correo o pagina web.
  1. Base de datos postgresql: Para mantener un conjunto de estadísticas básicas como el número de firmas y verificaciones realizadas en el servicio se utiliza una base de datos SQL.

Arquitectura General del Plugin para Certificados Digitales

Para el uso de certificados digitales .p12 la interfaz Web Crypto API la cual es soportada por los siguientes navegadores:

  1. Chrome (versión > 11)
  2. Firefox (versión > 26)
  3. Internet Explorer (versión > 11)
  4. Opera (versión > 15)
  5. Safari (versión > 6.1)
  6. Edge (versión > 12)

La Web Crypto API permite la manipulación y almacenamiento de las claves privadas y secreta, la cual de intercambiar algunos datos del certificado con el navegador y el servicio Murachí, además de firmar el hash. A continuación la descripción de las acciones de la interfaz Web Crypto API durante el proceso de firmado:

  1. Cargar el documento: El usuario carga el documento a firmar y se sube a Murachí.
  2. Cargar el certificado .p12: El usuario carga su certificado .p12.
  3. Identificador único del archivo (Field_id): Se obtiene como respuesta de Murachí el identificador único del archivo cargado.
  4. Convertir el certificado .p12 en hexadecimal: La Web Crypto API convierte el certificado en hexadecimal.
  5. Enviar el certificado .p12 en hexadecimal + field_id: La Web Crypto API envía el certificado en hexadecimal + el campo field_id hacia Murachí.
  6. Hash a cifrar: Se obtiene como respuesta de Murachí el hash a cifrar.
  7. Hash firmado: La Web Crypto API firma el hash, accediendo al certificado digital y cifrando con la clave privada el hash.
  8. Terminar el proceso de firmado: Se envía a Murachí el hash firmado para completar la firma electrónica del archivo.
Last modified 5 years ago Last modified on Sep 20, 2019, 12:57:37 PM