Cada que firmas un contrato o cualquier otro documento en Mifiel, una vez que todas las partes firman se generan dos archivos: un contenedor XML con validez legal y una representación visual en PDF. Este último incluye al final algo conocido como “Hoja de firmas”. Dependiendo la cantidad de firmantes (y por ende de firmas), puede aumentar el número de hojas o páginas de firmas incluidas en el PDF.
Si has firmado con nosotros, o si tus clientes o alguna otra persona te han presentado un documento de Mifiel, probablemente al examinar dicha página del PDF te has preguntado qué significa “hash”, qué es la constancia de conservación, por qué no ves firmas autógrafas digitalizadas, entre otras dudas.
Por ello, a continuación explicaremos los elementos que conforman a la hoja de firmas en Mifiel, la relación de cada uno con el XML y para comprenderlo mejor, algunas nociones sobre el funcionamiento de la firma electrónica avanzada.
El encabezado de la hoja de firmas en Mifiel
Al llegar a la página de firmas, lo primero que verás será el logotipo de Mifiel y la frase “Firma en línea con solidez jurídica”. Esto te indicará que el documento se firmó en Mifiel. Debajo la hoja incluye un párrafo que indica cómo se firmó el documento y el porqué de la solidez jurídica previamente mencionada.
Mifiel está diseñado para trabajar con certificados de firma electrónica avanzada, por lo que dicho párrafo comienza haciendo referencia a las disposiciones legales de nuestro país que indican las características de una firma electrónica avanzada y su equivalencia con la firma autógrafa: la Ley de Firma Electrónica Avanzada y al Código de Comercio.
El PSC que menciona dicha introducción puede ser una dependencia gubernamental o una empresa acreditada para, entre otras facultades, emitir certificados de firmas electrónicas avanzadas. Mifiel trabaja nativamente con certificados del Servicio de Administración Tributaria (SAT).
Un PSC puede estar acreditado para uno o más de los siguientes fines: emitir certificados de firma electrónica avanzada, emitir constancias de conservación, colocar sellos digitales de tiempo y digitalizar debidamente documentos físicos.
Por su parte, las presunciones legales indicadas en el párrafo en cuestión son las que en caso de juicio permiten garantizar que el documento no se alteró (presunción de integridad) y que los autores de las firmas son quienes aparecen como tal (presunción de atribución).
La información del documento firmado y la constancia de conservación en la hoja de firmas de Mifiel
Esta sección de la hoja comienza con un enunciado que hace referencia a algo llamado Constancia de Conservación NOM-151, emitido por un PSC acreditado para dicho fin, y que al incluirse en el documento este goza de presunción legal de integridad. Después se incluye una breve lista a dos columnas, donde los elementos 1, 2, 6 y 7 son relativos al documento y los elementos 3, 4 y 5 a la constancia de conservación, interpretándose de la siguiente manera:
1. Nombre del documento
Es el nombre original del documento y su extensión —que invariablemente sera .pdf—, incluido para que no existan dudas sobre qué documento se firmó. En el XML aparece como “file name”.
2. Hash del documento
Es el identificador único o huella digital del documento, pero ¿qué es en sí, cómo se obtiene y por qué se utiliza?
La criptografía es la base del funcionamiento de la firma electrónica avanzada y lo que la rodea. Hay dos conceptos clave al respecto: el hash y la criptografía asimétrica.
El hash es una cadena de caracteres de longitud específica, obtenida a partir de un mensaje de datos, en este caso un documento PDF. Cada mensaje o documento tiene un hash único. Dos documentos distintos no pueden tener el mismo hash, sin importar que la diferencia sea de un solo caracter (letra, dígito, espacio, punto, coma o lo que sea). Entonces el hash es irrepetible.
Cuando firmamos un documento con la FIEL, no firmamos directamente el documento sino su hash, de ahí su relevancia. En el XML aparece como “originalHash”.
3. Emisor de la constancia de conservación
La constancia de conservación es similar a colocar un sello con fecha y hora y una rúbrica en un documento para asegurar que su contenido no fue modificado. En este caso son un sello digital de tiempo y una firma digital realizada con firma electrónica avanzada, cumpliendo con la NOM 151, garantizando que el documento no se alteró tras firmar.
Únicamente un PSC acreditado para tal fin puede emitirla. Por ello, el tercer elemento de la sección es el nombre de dicho emisor. En el XML aparece como “caCertificate name”.
4. Fecha de la constancia
Esta indica la fecha y hora en que el PSC con el que Mifiel trabaja emitió la constancia de conservación para el documento firmado. Su equivalente en el XML es el sello de tiempo, que aparece como “conservancyRecord […] timestamp”. La constancia utiliza la hora coordinada universal (UTC) para evitar que se presenten confusiones cuando los firmantes se encuentran en diferentes husos horarios.
5. Número del certificado del emisor de la constancia
El quinto elemento es el número de certificado de firma electrónica avanzada que usó el emisor de la constancia para firmar. No se muestra en el XML. Por practicidad, no se incluye en el PDF la cadena de caracteres completa que conforma la constancia de conservación que sí está en el XML dentro de la etiqueta “conservancyRecord”.
6. Creador del documento
El penúltimo elemento de dicha sección dice “Documento creado por” y a continuación se indica el correo electrónico asociado a la persona u organización que subió el documento a Mifiel y solicitó su firma y, de contar con él, el nombre o razón social del solicitante. Al ser información interna de Mifiel, no cuenta con equivalente en el XML.
7. Número de páginas
Al final de la sección se indica el número de páginas del documento original para orientar al usuario. Tampoco se incluye en el XML.
Las firmas y su información identificadora en la hoja de firmas de Mifiel
Al igual que la anterior, esta sección tiene una breve introducción. En este caso indica que las firmas son atribuibles y únicas gracias a que se realizaron mediante certificados emitidos por un PSC acreditado para tal fin. La hoja de firmas muestra esta información en orden cronológico descendente, es decir, la primera firma será la de la última persona en haber firmado. La información listada es sobre el firmante, el certificado que utilizó y la firma realizada.
Información del firmante
Los primeros elementos son el nombre completo del firmante (o razón social en caso de ser persona moral) y su RFC. En el XML aparecen con el atributo “signer id” (el RFC) y “name” (el nombre o razón social).
Información del certificado
Los elementos a la mitad de esta sección son el número del certificado y el nombre del emisor. En el XML se identifican como “certificate number” e “issuer” respectivamente. Recuerda que Mifiel trabaja nativamente con certificados del SAT, así que generalmente el número de certificado será de 20 dígitos y como emisor aparecerá “Servicio de Administración Tributaria”.
Información de la firma realizada
Los últimos dos elementos de la sección son la firma electrónica y la fecha de firma
Firma electrónica
Aquí es donde puede haber un poco de confusión al no encontrar la imagen del garabato que conforma una firma manuscrita. Dicha representación visual de la firma autógrafa no se incluye porque Mifiel en ningún momento pide a sus usuarios generar una versión gráfica digitalizada de su firma o algo similar, pues su función sería meramente estética. En su lugar se incluye una cadena de caracteres que en el XML aparece dentro de la etiqueta “<signature>”.
¿De dónde sale esa cadena de caracteres, la firma en sí? Debemos comprender a grandes rasgos la criptografía asimétrica. La FIEL/e.firma del SAT implica el uso de dos archivos criptográficos:
- .CER, un certificado que incluye una llave pública emitida por un PSC acreditado para ello
- .KEY, una llave privada bajo exclusivo control de su dueño y protegida por una contraseña.
Cuando decimos que “firmamos con la FIEL en Mifiel”, lo que en realidad hacemos es cifrar el hash del documento usando nuestra llave privada y su contraseña, enviando a Mifiel el resultado de ello (la cadena de caracteres que conforma la firma).
Después Mifiel usa la llave pública contenida en el certificado (al que cualquier persona puede tener acceso) para descifrar o desencriptar el mensaje. Si este coincide con el hash inicialmente obtenido, Mifiel sabrá que fue el poseedor del certificado quien “firmó” expresando así su voluntad.
Fecha de firma
Es la fecha y hora exacta en que la persona firmó el documento. En el XML aparece con el atributo “signedAt”. También se muestra con el huso horario UTC.
El pie de página en la hoja de firmas de Mifiel
Al final de cada página de firmas en un PDF firmado en Mifiel, verás un código QR y un enlace que te permitirán verificar la integridad del documento de acuerdo a los datos internos de Mifiel.
Si requieres verificar no solo la integridad del documento sino la atribución de las firmas y además hacerlo de manera independiente con una herramienta auditable de código abierto, también se incluye un enlace al Verificador de Mifiel.
Por último, verás un recordatorio indicando que el PDF solo es una representación impresa y que de requerir presentar el documento firmado en juicio, también deberás presentar el XML. Además, en la esquina inferior derecha, podrás visualizar en qué página de firmas te encuentras, lo que es de utilidad cuando hay diversos firmantes y por lo tanto dos o más páginas de firmas.
En Conclusión
Las páginas de firmas presentan la información más relevante y condensada sobre el documento firmado en Mifiel, con el fin de guiar al usuario o a cualquier persona que visualice el PDF.
¿Tienes alguna duda adicional sobre la hoja de firmas o sobre el XML de los documentos firmados en Mifiel? Contáctanos por medio del siguiente botón.