Funcionamiento de la firma en un PDF

En este tutorial, se verá el funcionamiento de la firma digital en un archivo PDF y las precauciones a tener en cuenta.

  • Portable document format.- El estándar utilizado para manipulación de archivos PDF disponible en PDF
  • PDF association.- Una asociación dedicada al tratamiento de PDFs PDF association

En esecia se había comentado que la firma digital es un hash de un documento encriptado con la clave privada del signatario, acompañada del certificado de firma digital para poder identificarlo. Sin embargo en los documentos esto puede complicarse un poco debido a los siguientes puntos:

  • Almacenamiento de la firma.- La firma digital y el certificado se deben almacenar en el documento lo que a su vez modifica el archivo que contendrá la firma digital.
  • Estándar utilizado para la firma digital.- Existen diferentes estándares para aplicar la firma digital a un documento el más utilizado en documentos PDF es el PADES.

Por esto al momento de firmar un documento se debe considerar el estándar utilizado para la firma digital y el estándar utilizado para la creación del documento.

Lo mismo ocurre al momento de validar la firma digital de un documento y en este caso nos vamos a centrar en la validación de la firma digital para tomar en consideración algunos aspectos importantes.

Estructura de un documento PDF.- Un documento PDF está formado por una cabecera, el cuerpo, la tabla de referencia cruzada (opcional) y el trailer (opcional) como se muestra en la imagen.

  • Header.- La cabecera almacena la versión del PDF utilizada para crear el documento.
  • Body.- El cuerpo contiene los objetos que forman el contenido del archivo.
  • Cross-reference table.- Tabla de referencias cruzadas a los objetos indirectos que contiene el documento.
  • Trailer.- La ubicación de la tabla de referencias cruzadas y ciertos objetos especiales dentro del cuerpo del archivo.

La firma se realiza sobre el cuerpo, la tabla de referencia cruzada y el remolque.

El almacenamiento de la firma se lo realiza sobre el mismo archivo, para esto se crea un body update que en realidad es un nuevo body a continuación del archivo, acompañado de un cross-reference section y un updated trailer.

En caso de que se cree una nueva firma, la misma se la realiza sobre el body, el cross-reference table, el trailer, el body update, el cross-reference section y el updated trailer.

Esto no invalida la firma, sin embargo crea revisiones o versiones, lo que puede en algún caso confundir al receptor del documento. Para evitar esto vamos a ver algunos ejemplos prácticos, para lo cual es necesario descargar e instalar el Jacobitus Total.

Seguidamente vamos a descargar el siguiente PDF y lo abrimos con el Jacobitus Total.

Se puede observar que la firma es válida, sin embargo haciendo con doble clic sobre el documento podemos ver su contenido.

Seguidamente en el Jacobitus Total hacemos clic derecho sobre el documento y abrimos los detalles de la validación.

En este caso la herramienta nos alerta sobre un cambio al documento después de la firma. La firma es válida pero se agregó un body update, un cross-reference section y un updated trailer. Podemos hacer doble clic sobre el nombre del signatario y se abrirá la revisión firmada.

Comparando podemos ver que al documento final se agregó un resaltado en el texto.

© ADSIB 2019 Bolivia