Bhinish Dhiman

Como colocar senha em um PDF sem fazer upload

Traduzido do original em inglês. Ler o original

Adicione o PDF à ferramenta Protect PDF, digite uma senha no único campo, pressione o botão e baixe a cópia protegida; depois abra essa cópia uma vez para conferir se a senha funciona. A criptografia acontece no seu navegador com AES-256, a cifra especificada pela ISO 32000-2, então a senha nunca é enviada a lugar nenhum. Pelo mesmo motivo, ninguém consegue recuperá-la para você se ela for perdida.

O jeito comum de colocar senha num PDF on-line é mandar o documento e a senha para o servidor de outra pessoa. Aqui a criptografia roda na aba, o que elimina esse risco e transfere outro para você: depois, não há a quem pedir ajuda. Fazer isso direito é, na maior parte, questão de alguns segundos de cuidado antes e depois de pressionar o botão.

Senha de usuário e senha de proprietário

Senha de usuário é aquela que o leitor de PDF pede antes de mostrar qualquer coisa do documento. Senha de proprietário só restringe ações como imprimir ou copiar depois que o documento está aberto; os leitores deveriam respeitar essas restrições, e muitos não respeitam.

A ferramenta define uma única senha e a grava como as duas. Na função protect em src/lib/pdf/ops.ts, a senha de proprietário assume o valor da senha de usuário quando nenhuma é informada, e a página não oferece um segundo campo. Então trate a senha como a proteção, e qualquer restrição de impressão ou cópia, desta ferramenta ou de outra, como um pedido educado.

Protegendo um PDF passo a passo

  1. Guarde a senha num lugar onde você vá encontrá-la, antes de começar. Não há redefinição nem suporte.
  2. Abra o Protect PDF e escolha Add a PDF (adicionar um PDF). Se o arquivo já tiver senha, ela é pedida primeiro, e a cópia protegida passa a ter só a nova, o que faz deste também o jeito de trocar a senha de um PDF.
  3. Digite a senha em Password to set (senha a definir). Não há campo de confirmação, então um erro de digitação aqui vira a senha.
  4. Pressione Protect PDF. Uma nota confirma o AES-256 e lembra que ninguém consegue recuperar a senha. Baixe a cópia, que tem -protected acrescentado ao nome.
  5. Abra o arquivo baixado no seu leitor de sempre e digite a senha. Essa conferência é a única proteção contra um erro no passo 3, e leva dez segundos.

O que é a criptografia

A ferramenta criptografa por meio do @cantoo/pdf-lib, cujo padrão é o AES-256: revisão 6 do manipulador de segurança padrão do PDF, com o filtro de criptografia AESV3. Ela sorteia uma chave aleatória de 32 bytes, ou seja, 32 × 8 = 256 bits, criptografa o documento com ela e guarda essa chave no arquivo só em forma embrulhada, selada pela senha. Arquivos feitos assim abrem nas versões atuais do Acrobat, do Preview, do Chrome e do Firefox.

O RC4, a cifra mais antiga, é recusado. A biblioteca não o usa a menos que o código peça explicitamente, e a mensagem de erro dá o motivo: “RC4 is broken and was removed from ISO 32000-2.” (o RC4 está quebrado e foi removido da ISO 32000-2). A ferramenta nunca pede. Alguns serviços de upload ainda produzem arquivos protegidos com RC4, que pedem senha exatamente do mesmo jeito, então o pedido de senha sozinho não diz nada sobre a cifra por trás dele.

A criptografia cobre as strings e os streams do arquivo, que guardam o texto e os dados de desenho, e deixa a estrutura de objetos legível. Um leitor ainda consegue saber quantas páginas um PDF protegido tem e qual o tamanho delas; o que ele não consegue fazer sem a senha é transformar o conteúdo das páginas em algo legível.

Comparação dos métodos

Esta ferramenta qpdf na linha de comando Um serviço típico de upload
Onde a senha é usada No seu navegador No seu computador No servidor deles
Cifra AES-256 AES-256, com 256 no comando Varia; alguns ainda usam RC4
Documento guardado em outro lugar Nunca é recebido Nunca é enviado Guardado por 1–2 horas
Recuperação se a senha for perdida Nenhuma Nenhuma Nenhuma, e raramente informado

As duas formas de a proteção falhar

A senha se perde

Um PDF protegido cuja senha se perdeu está perdido. A senha nunca chega a este site, que é justamente o objetivo de fazer isso no navegador, e isso também significa que não há porta dos fundos, nem redefinição, nem ninguém que possa ajudar. O passo 1 existe por esse motivo.

Uma edição posterior remove a proteção sem avisar

Toda ferramenta de edição deste site que recebe um arquivo protegido pede a senha, trabalha numa cópia descriptografada e devolve um resultado sem senha: cortar, numerar páginas, marca d’água, juntar e as demais. O código-fonte da bancada de trabalho diz isso com todas as letras, descriptografando o documento uma vez para que cada operação de edição receba bytes às claras. Isso torna a ordem simples: termine todas as edições e só então proteja o arquivo final.

Algumas ferramentas por aí falham de um jeito pior. Um programa de juntar PDFs que pula a descriptografia copia as páginas protegidas ainda criptografadas; na nossa medição da junção de PDFs criptografados, as três páginas protegidas saíram em branco e só 49 de 373 caracteres sobreviveram, sem nenhum erro exibido.

Outras formas de proteger um PDF

Com o qpdf, este comando grava uma cópia com AES-256, em que USERPW abre o arquivo e OWNERPW é a senha de proprietário:

qpdf --encrypt USERPW OWNERPW 256 -- input.pdf locked.pdf

Esse é o caminho se você quiser que as duas senhas sejam diferentes. No Mac, File → Export (Arquivo → Exportar) no Preview salva uma cópia, e as opções de exportação podem adicionar uma senha.

Como confirmar que a senha ficou no seu computador

A criptografia é local, e você pode ver isso acontecendo. Abra a aba Network nas ferramentas de desenvolvedor do navegador e depois adicione o PDF; o código de PDF da ferramenta é baixado nesse momento. Digite a senha e pressione o botão: nenhuma requisição aparece levando o documento ou a senha. Ficar off-line depois de adicionar o arquivo e protegê-lo mesmo assim mostra a mesma coisa.

Proteja a cópia final

O Protect PDF criptografa com AES-256 e mantém a senha na sua aba. Se depois você precisar tirar a proteção de um arquivo cuja senha você tem, o Unlock PDF faz isso, e como tirar a senha de um PDF que você já consegue abrir explica o que essa cópia mantém.