Firmas Electrónicas Avanzadas
Introducción
Las firmas electrónicas avanzadas son mecanismos criptográficos definidos por el ETSI (European Telecommunications Standards Institute) que permiten garantizar la autenticidad, integridad y no repudio de los documentos electrónicos. Existen tres familias principales según el formato del documento a firmar: CAdES, XAdES y PAdES.
Tipos principales de firmas electrónicas
CAdES (CMS Advanced Electronic Signatures)
- Estándar: ETSI EN 319 122 (basado en CMS / PKCS#7, RFC 5652).
- Uso: Firma de cualquier tipo de archivo binario (documentos, ejecutables, imágenes, etc.).
- Formato del resultado: Archivo binario
.p7s, .p7m o .csig.
- Modos:
- Attached / Enveloping: la firma envuelve y contiene el documento original.
- Detached: la firma se almacena en un fichero independiente del documento.
- Ventaja: Muy versátil, sirve para firmar cualquier formato.
- Inconveniente: Requiere software específico para verificar la firma.
XAdES (XML Advanced Electronic Signatures)
- Estándar: ETSI EN 319 132 (basado en XML-DSig, W3C).
- Uso: Firma de documentos XML (facturas electrónicas, formularios, etc.).
- Formato del resultado: Documento XML con la firma embebida o adjunta.
- Modos:
- Enveloped: la firma se incluye dentro del propio XML firmado.
- Enveloping: el XML firmado se incluye dentro de la estructura de firma.
- Detached: la firma se almacena por separado del documento.
- Uso típico en España: Facturae (factura electrónica), comunicaciones con la AEAT, etc.
PAdES (PDF Advanced Electronic Signatures)
- Estándar: ETSI EN 319 142 (basado en ISO 32000 / PDF).
- Uso: Firma de documentos PDF.
- Formato del resultado: El propio fichero PDF con la firma incrustada.
- Ventajas:
- La firma se visualiza directamente en lectores PDF estándar (Adobe Reader, Foxit, etc.).
- Permite firma visible (con representación gráfica) o invisible.
- Es la opción recomendada para documentos PDF en la Administración Pública.
Niveles de XAdES (perfiles según ETSI TS 101 903)
Los perfiles de XAdES son acumulativos: cada nivel añade información adicional sobre el anterior, incrementando las garantías de validez de la firma a lo largo del tiempo.
XAdES-BES (Basic Electronic Signature)
- Nivel básico: contiene únicamente la firma y el certificado del firmante.
- Garantiza integridad y autenticidad en el momento de la firma.
- No garantiza validez a largo plazo.
XAdES-EPES (Explicit Policy Electronic Signature)
- Añade una referencia explícita a la política de firma aplicada.
- Indica las reglas bajo las que se ha generado la firma.
XAdES-T (Timestamp)
- Añade un sello de tiempo (TSA – Timestamp Authority) sobre la firma.
- Demuestra que la firma existía en un momento concreto.
- Protege contra el repudio de la fecha de firma.
XAdES-C (Complete validation data references)
- Añade referencias completas a:
- La cadena de certificados utilizada.
- Los datos de revocación (CRL u OCSP).
- Permite verificar la validez de la firma en un futuro aunque los certificados ya no estén accesibles, pero no incluye los datos en sí, solo las referencias.
XAdES-X (Extended)
- Añade sellos de tiempo adicionales sobre las referencias de XAdES-C.
- Protege las referencias frente a posibles compromisos criptográficos futuros.
- Existen dos variantes:
- XAdES-X Type 1: sello de tiempo sobre la firma y las referencias.
- XAdES-X Type 2: sello de tiempo solo sobre las referencias.
XAdES-X-L (Extended Long-term)
- Añade los valores reales (no solo las referencias) de:
- Certificados de la cadena de confianza.
- Datos de revocación (CRL/OCSP).
- Permite verificar la firma sin necesidad de acceso online a las autoridades certificadoras.
- Es el primer nivel realmente preparado para validación a largo plazo.
XAdES-A (Archival)
- Nivel más alto, pensado para archivado a muy largo plazo.
- Añade sellos de tiempo de archivado periódicos que se renuevan antes de que los algoritmos criptográficos queden obsoletos.
- Garantiza la validez de la firma durante décadas, incluso si los algoritmos originales se vuelven inseguros.
Jerarquía de seguridad a largo plazo
El siguiente orden refleja, de menor a mayor garantía de validez en el tiempo:
XAdES-BES < XAdES-EPES < XAdES-T < XAdES-C < XAdES-X < XAdES-X-L < XAdES-A
| Nivel |
Sello de tiempo |
Referencias de validación |
Datos de validación |
Sellos de archivado |
Validez a largo plazo |
| XAdES-BES |
❌ |
❌ |
❌ |
❌ |
❌ |
| XAdES-EPES |
❌ |
❌ |
❌ |
❌ |
❌ |
| XAdES-T |
✅ |
❌ |
❌ |
❌ |
Parcial |
| XAdES-C |
✅ |
✅ |
❌ |
❌ |
Parcial |
| XAdES-X |
✅✅ |
✅ |
❌ |
❌ |
Media |
| XAdES-X-L |
✅✅ |
✅ |
✅ |
❌ |
Alta |
| XAdES-A |
✅✅ |
✅ |
✅ |
✅ |
Máxima |
Nota sobre la nueva normativa ETSI EN 319 132
La revisión moderna del estándar (ETSI EN 319 132) simplifica los niveles en cuatro perfiles baseline equivalentes:
- XAdES-B-B (Baseline B) ≈ BES / EPES
- XAdES-B-T (Baseline T) ≈ T
- XAdES-B-LT (Long-Term) ≈ X-L
- XAdES-B-LTA (Long-Term with Archive timestamps) ≈ A
Estos perfiles son los recomendados actualmente en los servicios de confianza conforme al Reglamento eIDAS (UE) 910/2014.
Resumen rápido
- CAdES → para ficheros binarios cualesquiera.
- XAdES → para documentos XML.
- PAdES → para documentos PDF.
- Para archivar firmas a largo plazo → usar XAdES-A (o el equivalente XAdES-B-LTA).