¿Es seguro usar la e.firma en Mifiel?

Una preocupación común entre usuarios finales y empresas que integran nuestra solución en sus procesos es ¿los datos sensibles de mi e.firma están seguros al firmar documentos en Mifiel? Sin duda es una inquietud legítima, dadas las implicaciones de compartir la FIEL con terceros.

La respuesta corta es sí. Como firmante de un documento, tu Firma Electrónica Avanzada está segura durante todo el proceso. A continuación explicamos paso a paso cómo se firma un documento en Mifiel y la manera en que tu e.firma se mantiene segura. Sin embargo, es conveniente definir algunos conceptos en este contexto que pueden ser confusos para comprender el proceso.

Conceptos clave de firmas electrónicas

Los términos que causan mayor confusión son aquellos que utilizan la frase “firma electrónica” indistintamente —incluso en la legislación mexicana— para llamar tanto al acto de firmar como a los datos que se utilizan para dicha acción sin importar que se trate de una Firma Electrónica Simple o una Avanzada.

Primero, Firma Electrónica Avanzada o Fiable (FEA) es la combinación de un certificado de llave pública (archivo *.cer), una llave privada (archivo *.key) y la contraseña de dicha llave, que permiten generar firmas irrepudiables. El certificado público no es sensible, en cambio la llave privada y la contraseña que la protege sí lo son.

FIEL o e.firma son nombres que recibe la Firma Electrónica Avanzada que emite el Servicio de Administración Tributaria (SAT), y es con la que Mifiel trabaja nativamente.

Cuando hablamos de firmar electrónicamente un documento (crear o generar una firma), nos referimos a calcular el hash del mismo y posteriormente cifrarlo con una llave privada *.key.

Pero ¿qué es un hash? Se trata de una serie de caracteres que funcionan como huella digital única de algún conjunto de datos—un documento PDF en el caso de Mifiel. Se obtiene mediante un algoritmo de cifrado o encripción como SHA-256.

Definidos estos conceptos, podemos conocer cómo se mantiene segura tu llave privada durante el proceso de firma de documentos en Mifiel.

Proceso de firma en Mifiel

Todo comienza al subir documentos a la plataforma. Cuando nuestro servidor recibe el PDF, calculamos su hash y lo almacenamos (si el cliente integra nuestra API, es posible solo enviar el hash). A los firmantes se les notifica por correo electrónico que su firma es requerida y mediante un enlace único, llegan a nuestro motor de firmas, un pequeño widget o aplicativo que se ejecuta dentro del navegador del usuario (Chrome, Firefox, Safari, etc.).

Este widget muestra el PDF y el botón “Firmar documento”. Tras hacer clic en el botón, se solicita al usuario cargar el certificado público (*.cer), así como la llave privada (*.key) y la contraseña de esta. Como sabes, el certificado es un dato público, de hecho puedes descargar en la página del SAT el de cualquier persona física o moral que tenga o haya tenido FIEL.

Pero ¿dónde está la seguridad si también piden los datos sensibles? La clave está en que todo se carga y ejecuta de manera local en tu dispositivo, no se envía a nuestros servidores.

No esperamos que tengas fe en nuestra palabra, por ello te invitamos a utilizar la función “Inspeccionar” o la consola de tu navegador para auditar todo el proceso y constatar que en ningún momento se envían a Mifiel ni la llave privada ni su contraseña.

Entonces, en lugar de enviar la llave privada, el aplicativo firma electrónicamente de manera local, es decir, encripta el hash en tu PC o smartphone. Este hash cifrado (la firma en sí) y el certificado público se envían a los servidores de Mifiel, impidiendo así exponer la llave privada.

Al recibir el certificado, verificamos ante la registradora del SAT que no esté expirado ni revocado. Si no es válido, se muestra un error al firmante, pero de no haber inconvenientes, Mifiel toma la llave pública contenida en este y descifra la firma generada anteriormente. Lo siguiente es comprobar que el hash obtenido sea correcto. Para ello, comparamos el hash obtenido al inicio con el hash recién descifrado. Si no coinciden, se muestra un error al firmante y cuando sí coinciden, Mifiel coloca la firma generada en un XML. Este archivo se envía a un PSC para que agregue una constancia de conservación.

El proceso finaliza enviando el documento firmado y con constancia de conservación a los firmantes y espectadores, tanto el XML —el documento con validez legal— como el PDF—la representación impresa del documento con una hoja de firmas.

Verificación posterior

Si después de haber firmado el documento requieres verificar su integridad y la autenticidad de sus firmas, ponemos a tu disposición dos métodos. El primero es el más sencillo, consiste en ingresar al enlace único mostrado en la hoja de firmas del PDF a nuestro validador interno.

El segundo agrega un paso —seleccionar el XML firmado—, pero es auditable y equivalente a un perito criptográfico en caso de juicio, se trata de nuestra herramienta de código abierto, el Verificador de Mifiel.

En conclusión

Generar la firma electrónica de un documento o mensaje de datos mediante Firma Electrónica Avanzada, es el proceso computacional de cifrarlo para obtener su hash y posteriormente cifrar ese mismo hash.

Por seguridad del usuario y por disposición de ley, los datos de creación de la firma electrónica, es decir, el archivo *.key (llave privada) y su contraseña no deben compartirse con nadie por ningún motivo.

Es por esto que en Mifiel desarrollamos nuestro producto de tal forma que las operaciones de firma se ejecutan localmente en tu dispositivo, enviándonos únicamente el resultado y el certificado de llave pública, por lo que no tienes de qué preocuparte.


Si quieres conocer más sobre el tema y quieres implementar la firma electrónica en tus procesos, puedes contactarnos a través del siguiente botón.

Scroll al inicio