«La contraseña es su fecha de nacimiento». La frase acompaña extractos, certificados y nóminas que se envían por correo electrónico en todo el mundo. Tranquiliza al remitente, que ha «protegido» el documento, y al destinatario, que lo recibe «seguro». No protege prácticamente nada.
No es culpa del PDF. El formato puede cifrar un documento de forma muy sólida. Pero también ofrece protecciones que no lo son, y deja que cada cual elija una contraseña demasiado corta. Para saber lo que vale de verdad un PDF protegido, hay que distinguir tres cosas: los dos tipos de contraseña, el algoritmo de cifrado y la solidez de la propia contraseña.
¿Por qué un PDF tiene dos contraseñas?
Un PDF puede llevar dos, con funciones muy distintas.
La contraseña de apertura de documento (la llamada contraseña «de usuario») cifra de verdad el contenido. Sin ella, el archivo es ilegible: sus páginas no son más que una sucesión de bytes sin sentido.
La contraseña de permisos (la llamada contraseña «de propietario») sirve para impedir la impresión, la copia del texto o la modificación. Pero esas prohibiciones no son más que indicaciones dirigidas al programa que abre el archivo. La documentación de qpdf, una herramienta de referencia para manipular PDF, no deja lugar a dudas: no existe «fundamentalmente ninguna manera de impedir que una aplicación haga caso omiso de las restricciones de seguridad de un archivo», cuya aplicación depende «únicamente del software» (qpdf). Si el PDF no tiene contraseña de apertura, cualquiera puede obtener una copia sin restricciones, con un solo comando o a través de numerosos servicios en línea.
Así que un PDF «protegido contra copia» solo está protegido frente a los usuarios que no saben que esa protección se puede ignorar. Para un documento confidencial, lo único que cuenta es la contraseña de apertura.
¿Todos los cifrados valen lo mismo?
No. El formato PDF ha pasado por varias generaciones de cifrado, y las antiguas están rotas (Adobe, qpdf):
- RC4 de 40 bits (Acrobat 2 a 4): la clave es tan corta que se puede recuperar por fuerza bruta, sea cual sea la contraseña. En palabras de qpdf, estos archivos «no son seguros, por muy robusta que sea la contraseña».
- RC4 de 128 bits (Acrobat 5 y 6) y, después, AES de 128 bits (Acrobat 7 y 8): qpdf considera que RC4 no es seguro, y ambos se atacan con rapidez.
- AES de 256 bits, versión de Acrobat 9: un algoritmo sólido, mal aplicado. Adobe reconoció en 2008 que esta versión permitía probar contraseñas más rápido que la anterior (Adobe). La norma PDF 2.0 la declara ahora obsoleta.
- AES de 256 bits, revisión 6 (Acrobat X y posteriores, PDF 2.0): es el método que recomienda qpdf, y el único que la norma PDF 2.0 no declara obsoleto.
Los programas recientes suelen usar AES-256 revisión 6. Pero un PDF generado por un programa antiguo, o por una herramienta que todavía ofrece la «compatibilidad», puede usar un cifrado obsoleto sin que el usuario lo sepa.
¿Cuánto se tarda en adivinar una contraseña?
Aquí es donde la fecha de nacimiento se convierte en un problema. Un atacante que tiene el archivo no necesita conectarse a nada: prueba contraseñas en su propio ordenador, tan rápido como este se lo permita. La ANSSI, la agencia nacional de ciberseguridad francesa, describe con precisión este tipo de ataque «fuera de línea», en el que el atacante «tiene entonces acceso a una potencia de cálculo potencialmente muy elevada» (ANSSI).
Con la herramienta libre hashcat y una sola tarjeta gráfica de consumo reciente, las mediciones publicadas dan unos 122 millones de intentos por segundo contra un PDF en RC4 de 128 bits, 22 000 millones contra el AES-256 de Acrobat 9 y 427 000 contra el AES-256 revisión 6 (mediciones de hashcat, RTX 4090). A partir de ellas hemos calculado algunos órdenes de magnitud:
| Contraseña | Combinaciones | AES-256 (revisión 6) | RC4 de 128 bits |
|---|---|---|---|
| Fecha de nacimiento (DDMMAAAA) | ~36 500 | menos de un segundo | instantáneo |
| 8 letras minúsculas | ~200 000 millones | ~6 días | ~30 minutos |
| 8 caracteres (mayúsculas, minúsculas, números) | ~218 billones | ~16 años | ~3 semanas |
| 12 caracteres variados | ~10²³ | miles de millones de años | millones de años |
Cálculos para una sola tarjeta gráfica; un atacante puede poner a trabajar decenas. Además, las fechas de nacimiento suelen ser conocidas o fáciles de encontrar.
La conclusión es sencilla: un cifrado fuerte no sirve de nada con una contraseña que se puede adivinar. Una fecha de nacimiento equivale a unos quince bits de entropía; la CNIL —la autoridad francesa de protección de datos— recomienda al menos 80 bits, por ejemplo doce caracteres que mezclen mayúsculas, minúsculas, números y caracteres especiales, o una frase de contraseña de al menos siete palabras (CNIL). La ANSSI añade que «a menudo es más eficaz alargar una contraseña que intentar hacerla más compleja».
¿Puede un PDF cifrado filtrarse por otra vía?
Sí, y es menos conocido. En 2019, investigadores de la Universidad del Ruhr en Bochum y de la Universidad de Ciencias Aplicadas de Münster demostraron que un atacante capaz de interceptar y modificar un PDF cifrado podía, sin conocer la contraseña, hacer que el contenido descifrado le llegara en el momento en que la víctima lo abría. Los 27 lectores de PDF probados eran vulnerables, entre ellos Acrobat, Foxit, Chrome y Firefox (Universidad del Ruhr, PDF Insecurity). La causa: el cifrado PDF no verifica la integridad del contenido. Varias empresas, entre ellas Adobe, Apple y Google, han corregido desde entonces sus programas; otras no, y la debilidad está en el propio formato.
El mismo equipo demostró en 2020 y 2021 que las firmas y certificaciones de PDF podían, en muchos lectores, eludirse para mostrar un contenido distinto del que se había firmado (PDF Insecurity). Un PDF no es una caja fuerte: es un formato de documento con un candado.
¿Cómo proteger bien un PDF?
Para una empresa que envía nóminas, extractos o expedientes de clientes, no es solo una cuestión de buenas prácticas. El RGPD obliga a «adoptar medidas de seguridad técnicas y organizativas apropiadas para proteger los datos personales contra cualquier pérdida, alteración, acceso no autorizado o divulgación» (LegalPlace); las sanciones administrativas pueden alcanzar el 4 % del volumen de negocio anual o 20 millones de euros (LegalPlace). Un PDF protegido con una fecha de nacimiento no es una medida apropiada.
- Usa una contraseña de apertura, no solo restricciones.
- Elige una contraseña larga: doce caracteres variados como mínimo, o una frase de contraseña. Nunca una fecha de nacimiento, un número de cliente o un código postal.
- Comprueba el algoritmo: AES de 256 bits. Si el programa ofrece «compatibilidad» con versiones antiguas de Acrobat, recházala.
- Envía la contraseña por un canal distinto del archivo. La CNIL recomienda enviar el archivo cifrado por correo electrónico y la contraseña por teléfono o SMS (CNIL).
- Si son varios documentos, plantéate un archivo comprimido cifrado, por ejemplo en formato 7z con AES-256, cuya derivación de clave es deliberadamente lenta (7-Zip).
- Y, antes que nada, envía menos. La mejor forma de proteger una información es no enviarla. Elimina las páginas que sobran, censura lo que no sea necesario y añade una marca de agua que indique el destinatario. Todo esto se hace en local, sin enviar nada, con PDFKami: eliminar páginas, censurar, poner marca de agua.
Una última advertencia: no confíes un documento confidencial a una web para cifrarlo. Para protegerlo, se lo entregas sin cifrar a un tercero, que es justo lo que la contraseña debía evitar. Los programas de escritorio (LibreOffice, Acrobat) y las herramientas libres como qpdf cifran en local.
Glosario
Contraseña de apertura de documento (de usuario): contraseña que cifra el contenido del PDF; sin ella, el archivo es ilegible.
Contraseña de permisos (de propietario): contraseña que fija restricciones (impresión, copia) que solo aplican los programas que las respetan.
RC4, AES: algoritmos de cifrado. RC4 está obsoleto; AES-256 es la referencia actual.
Ataque fuera de línea: prueba de contraseñas sobre una copia del archivo, en el ordenador del atacante, sin límite de intentos.
Entropía: medida, en bits, de lo difícil que es adivinar una contraseña. Cada bit adicional duplica el número de posibilidades.
hashcat: programa libre de recuperación de contraseñas, que usan los profesionales de la seguridad para medir la resistencia de las protecciones.