«A palavra-passe é a sua data de nascimento.» A frase acompanha extratos, declarações e recibos de vencimento enviados por e-mail um pouco por todo o mundo. Tranquiliza o remetente, que «protegeu» o documento, e o destinatário, que o recebe «seguro». E não protege praticamente nada.
A culpa não é do PDF. O formato sabe encriptar um documento de forma muito robusta. Mas também propõe proteções que não o são, e deixa cada um escolher uma palavra-passe curta demais. Para saber o que vale realmente um PDF protegido, é preciso distinguir três coisas: os dois tipos de palavra-passe, o algoritmo de encriptação e a força da própria palavra-passe.
Porque é que um PDF tem duas palavras-passe?
Um PDF pode ter duas, com funções muito diferentes.
A palavra-passe de abertura (dita «de utilizador») encripta realmente o conteúdo. Sem ela, o ficheiro é ilegível: as páginas não passam de uma sequência de bytes baralhados.
A palavra-passe de permissões (dita «de proprietário») serve para proibir a impressão, a cópia do texto ou a modificação. Mas essas proibições não passam de instruções dirigidas ao programa que abre o ficheiro. A documentação do qpdf, uma ferramenta de referência para manipular PDF, não deixa margem para dúvidas: não existe «fundamentalmente nenhuma forma de impedir que uma aplicação ignore as restrições de segurança de um ficheiro», que são aplicadas «exclusivamente pelo software» (qpdf). Se o PDF não tiver palavra-passe de abertura, qualquer pessoa pode obter uma cópia sem restrições, com um único comando ou através de inúmeros serviços online.
Um PDF «protegido contra cópia» só está, portanto, protegido contra os utilizadores que não sabem que essa proteção pode ser ignorada. Para um documento confidencial, só conta a palavra-passe de abertura.
Todos os tipos de encriptação são iguais?
Não. O formato PDF conheceu várias gerações de encriptação, e as mais antigas estão quebradas (Adobe, qpdf):
- RC4 de 40 bits (Acrobat 2 a 4): a chave é tão curta que pode ser descoberta por força bruta, seja qual for a palavra-passe. O qpdf resume: estes ficheiros «não são seguros, independentemente da força da palavra-passe».
- RC4 de 128 bits (Acrobat 5 e 6), depois AES de 128 bits (Acrobat 7 e 8): o qpdf considera o RC4 inseguro, e ambos são rápidos de atacar.
- AES de 256 bits, versão do Acrobat 9: um algoritmo sólido, mal aplicado. A Adobe reconheceu em 2008 que esta versão permitia testar palavras-passe mais depressa do que a anterior (Adobe). A norma PDF 2.0 declara-a agora obsoleta.
- AES de 256 bits, revisão 6 (Acrobat X e seguintes, PDF 2.0): é o método recomendado pelo qpdf, e o único que a norma PDF 2.0 não declara obsoleto.
Os programas recentes usam, em geral, AES-256 revisão 6. Mas um PDF produzido por um programa antigo, ou por uma ferramenta que ainda propõe a «compatibilidade», pode usar uma encriptação obsoleta sem que o utilizador o saiba.
Quanto tempo demora a adivinhar uma palavra-passe?
É aqui que a data de nascimento se torna um problema. Um atacante que tenha o ficheiro não precisa de se ligar a nada: experimenta palavras-passe na sua própria máquina, tão depressa quanto ela o permitir. A ANSSI, a agência nacional de cibersegurança francesa, descreve com precisão este tipo de ataque «offline», em que o atacante «tem então acesso a uma capacidade de cálculo potencialmente muito elevada» (ANSSI).
Com a ferramenta de código aberto hashcat e uma única placa gráfica de consumo recente, as medições publicadas dão cerca de 122 milhões de tentativas por segundo contra um PDF em RC4 de 128 bits, 22 mil milhões contra o AES-256 do Acrobat 9 e 427 000 contra o AES-256 revisão 6 (medições do hashcat, RTX 4090). A partir delas, calculámos ordens de grandeza:
| Palavra-passe | Combinações | AES-256 (revisão 6) | RC4 de 128 bits |
|---|---|---|---|
| Data de nascimento (DDMMAAAA) | ~36 500 | menos de um segundo | instantâneo |
| 8 letras minúsculas | ~200 mil milhões | ~6 dias | ~30 minutos |
| 8 caracteres (maiúsculas, minúsculas, algarismos) | ~218 biliões | ~16 anos | ~3 semanas |
| 12 caracteres variados | ~10²³ | milhares de milhões de anos | milhões de anos |
Cálculos para uma única placa gráfica; um atacante pode mobilizar dezenas. Além disso, as datas de nascimento são muitas vezes conhecidas ou fáceis de encontrar.
A conclusão é simples: uma encriptação forte não serve de nada com uma palavra-passe fácil de adivinhar. Uma data de nascimento representa cerca de quinze bits de entropia; a CNIL — a autoridade francesa de proteção de dados — recomenda pelo menos 80 bits, ou seja, por exemplo, doze caracteres que misturem maiúsculas, minúsculas, algarismos e caracteres especiais, ou uma frase-passe de pelo menos sete palavras (CNIL). A ANSSI acrescenta que é «muitas vezes mais eficaz aumentar o comprimento de uma palavra-passe do que tentar torná-la mais complexa».
Um PDF encriptado pode fugir de outra maneira?
Sim, e isso é menos conhecido. Em 2019, investigadores da Universidade do Ruhr, em Bochum, e da Universidade de Ciências Aplicadas de Münster mostraram que um atacante capaz de intercetar e modificar um PDF encriptado podia, sem conhecer a palavra-passe, fazer com que o conteúdo desencriptado lhe fosse enviado no momento em que a vítima o abrisse. Os 27 leitores de PDF testados eram todos vulneráveis, incluindo o Acrobat, o Foxit, o Chrome e o Firefox (Universidade do Ruhr, PDF Insecurity). A causa: a encriptação PDF não verifica a integridade do conteúdo. Vários fabricantes, entre os quais a Adobe, a Apple e a Google, corrigiram entretanto os seus programas; outros não, e a fragilidade está no próprio formato.
A mesma equipa mostrou em 2020 e 2021 que as assinaturas e certificações de PDF podiam, em muitos leitores, ser contornadas para mostrar um conteúdo diferente daquele que tinha sido assinado (PDF Insecurity). Um PDF não é um cofre; é um formato de documento com um cadeado.
Como proteger bem um PDF?
Para uma empresa que envia recibos de vencimento, extratos ou processos de clientes, não é apenas uma questão de boas práticas. O RGPD obriga a «implementar medidas de segurança técnicas e organizativas adequadas para proteger os dados pessoais contra qualquer perda, alteração, acesso não autorizado ou divulgação» (LegalPlace); as sanções administrativas podem chegar a 4% do volume de negócios anual ou a 20 milhões de euros (LegalPlace). Um PDF protegido por uma data de nascimento não é uma medida adequada.
- Use uma palavra-passe de abertura, e não apenas restrições.
- Escolha uma palavra-passe longa: doze caracteres variados no mínimo, ou uma frase-passe. Nunca uma data de nascimento, um número de cliente ou um código postal.
- Verifique o algoritmo: AES de 256 bits. Se o programa propuser uma «compatibilidade» com versões antigas do Acrobat, recuse-a.
- Transmita a palavra-passe por outro canal que não o do ficheiro. A CNIL recomenda enviar o ficheiro encriptado por e-mail e a palavra-passe por telefone ou SMS (CNIL).
- Para vários ficheiros, considere um arquivo encriptado, por exemplo no formato 7z com AES-256, cuja derivação de chave é deliberadamente lenta (7-Zip).
- E, antes de mais, reduza. A melhor forma de proteger uma informação é não a enviar. Elimine as páginas inúteis, rasure o que não é necessário e acrescente uma marca de água que indique o destinatário. Estas operações fazem-se localmente, sem envio, com o PDFKami: eliminar páginas, rasurar, pôr marca de água.
Uma última advertência: não confie um documento confidencial a um site online para o encriptar. Para o proteger, está a transmiti-lo em claro a um terceiro — exatamente o que a palavra-passe devia evitar. Os programas instalados no computador (LibreOffice, Acrobat) e as ferramentas de código aberto como o qpdf encriptam localmente.
Glossário
Palavra-passe de abertura (de utilizador): palavra-passe que encripta o conteúdo do PDF; sem ela, o ficheiro é ilegível.
Palavra-passe de permissões (de proprietário): palavra-passe que define restrições (impressão, cópia) que só os programas cumpridores aplicam.
RC4, AES: algoritmos de encriptação. O RC4 está obsoleto; o AES-256 é a referência atual.
Ataque offline: teste de palavras-passe numa cópia do ficheiro, na máquina do atacante, sem limite para o número de tentativas.
Entropia: medida, em bits, da dificuldade de adivinhar uma palavra-passe. Cada bit a mais duplica o número de possibilidades.
hashcat: programa de código aberto de recuperação de palavras-passe, usado pelos profissionais de segurança para medir a resistência das proteções.