PAdES (Firmas electrónicas avanzadas en PDF) es el estándar para aplicar firmas electrónicas a documentos PDF. Dentro de este estándar, Firma de hash PAdES es un método específico que se centra en la firma de una criptografía picadillo del documento—no el documento completo en sí.
Analicemos cómo funciona, a qué hay que prestar atención y cómo interactúa con los proveedores de servicios de confianza (TSP) y las normativas de firma electrónica cualificadas, como eIDAS.
¿Qué sucede durante la firma de hash de PAdES?
Al realizar la firma de hash de PAdES:
- El El archivo PDF está modificado para incluir un diccionario de firmas.
- Este diccionario contiene metadatos como la hora, la ubicación, el motivo de la firma y, opcionalmente, un widget de firma visible.
- El firma en sí está codificado mediante el CMS formato, que puede ser:
ETSI.CADES.Separado
(compatible con eIDAS), oadbe.pkcs7.separado
(un formato de Adobe anterior)
Los dos tipos de resumen crítico (¡no los mezcle!)
Para firmar correctamente un documento con PAdES, debes saber que hay dos resúmenes diferentes implicado. Si se mezclan, la firma fallará debido a errores criptográficos.
1. Resumen del contenido que se está firmando
- Este es el hash del PDF sin los datos de firma reales.
- Para calcularlo:
- Tome el PDF donde ya está creado el diccionario de firmas.
- Eliminar todos los personajes del
Contenido de ByteRange
sección (entre<
y>
). - Haga un hash del flujo de bytes resultante mediante SHA256 o SHA512.
- Este método se puede usar para crear una firma CADes sin necesidad del certificado público del firmante por adelantado.
2. Resumen de contenido + atributos firmados (DTBSR)
- También se llama Representación de datos a firmar (DTBSR).
- Incluye:
- Resumen del PDF
- Del firmante certificado público
- Atributos firmados adicionales
- Para crear esto, el TSP debe proporcionar un API que permite recuperar el certificado público del firmante antemano.
¿Cómo afecta esto al flujo de trabajo del proveedor de servicios de confianza (TSP)?
Según el resumen que se envíe al TSP, es posible obtener diferentes resultados:
Si TSP recibe el Resumen del contenido que se está firmando:
- Devuelve un CMS firma, como CADEs.
- Para eIDAS, se permite el uso de CMS/CADes en PAdES, pero:
- Es no debe contienen el
Hora de firma
atributo. - Los validadores relajados pueden ignorar esto, pero los estrictos rechazarán la firma.
- Es no debe contienen el
Si TSP recibe el DTBSR:
- Devuelve un Firma PKCS #1, que es el componente básico sin procesar para:
- XAdes
- CADEs
- PAEs
- ASIC
- Este método es preferido, especialmente en entornos transfronterizos o con estándares múltiples.
Por qué DTBSR es el método preferido
Los diferentes países y marcos regulatorios reconocen diferentes formatos de firma digital. Mediante el uso del DTBSR y la recepción de un documento sin procesar Firma PKCS #1, el resultado se puede moldear en cualquier formato de nivel superior que sea necesario, incluyendo:
- Perfil de referencia de XAdEs — ETSI TS 103171 v.2.1.1
- Perfil de referencia de CADE — ETSI TS 103173 v.2.2.1
- Perfil de referencia de PAdES — ETSI TS 103172 v.2.2.2
- Perfil básico de ASIC — ETSI TS 103174 v.2.2.1
Lectura adicional
Para entender la estructura subyacente detrás de las firmas de CMS, consulta el RFC oficial: RFC 5652 — Sintaxis de mensajes criptográficos (CMS)