Vai al contenuto
100% locale · 0 KB caricatiComprimi PDF

Crittografia PDF spiegata: RC4 vs AES-128 vs AES-256

La crittografia PDF è la protezione crittografica applicata ai flussi di contenuto di un PDF così che il file non possa essere letto senza password. La specifica PDF ha supportato diversi algoritmi nella sua storia, e non tutti sono più sicuri. Questa pagina spiega cosa fa ogni algoritmo, quale versione PDF lo ha introdotto e quale dovreste scegliere proteggendo un file oggi.

Meccanismo

Come funziona la crittografia PDF

Quando un writer PDF crittografa un file, genera una chiave di crittografia del file casuale, usa questa chiave per crittografare i flussi di contenuto (e alcune altre stringhe del file), poi memorizza la chiave di crittografia del file in un dizionario di crittografia protetto dalla password dell'utente. Per aprire il file, un visualizzatore chiede la password, deriva una chiave da essa, usa questa chiave per decrittografare la chiave di crittografia del file, poi usa la chiave di crittografia del file per decrittografare il contenuto.

La conseguenza importante: la password non è memorizzata nel file. Ciò che è memorizzato è un valore crittografato con la password. Per verificare una password, il visualizzatore tenta di decrittografare questo valore e confronta il risultato con un marcatore di testo chiaro noto. È per questo che non c'è recupero di password — il file non contiene la password, solo qualcosa bloccato da essa.

Algoritmo

RC4 — obsoleto e rotto

RC4 è un cifrario di flusso progettato nel 1987 e largamente usato negli anni 90 (PDF, SSL, WEP). PDF 1.2 ha introdotto RC4 40 bit; le versioni successive lo hanno esteso a RC4 128 bit. RC4 è ora obsoleto in PDF e considerato rotto per uso di sicurezza moderno. Specificamente:

  • RC4 40 bit è banalmente rompibile con forza bruta su hardware moderno.
  • RC4 128 bit non è rompibile con forza bruta, ma RC4 ha bias statistici che trapelano informazione sul testo chiaro, e diversi attacchi pratici su PDF crittografati con RC4 sono stati pubblicati.
  • I visualizzatori moderni avvertono o rifiutano di aprire file crittografati con RC4 in alcune configurazioni.

Non create nuovi PDF crittografati con RC4. Se ne incontrate uno, decrittografatelo (con la password) e re-crittografatelo con AES-128 o AES-256.

Algoritmo

AES-128 — solido, largamente supportato

AES-128 è stato introdotto in PDF 1.5 (2003, Acrobat 6/7). AES è un cifrario a blocchi; AES-128 usa una chiave di 128 bit. La modalità AES di PDF usa CBC con un vettore di inizializzazione casuale di 16 byte per stringa. AES-128 non ha attacchi pratici contro di esso ed è largamente supportato da tutti i visualizzatori PDF moderni. È un default ragionevole quando AES-256 non è disponibile.

Algoritmo

AES-256 — lo standard attuale

AES-256 è stato introdotto in PDF 1.6 Extension Level 3 (2008, Acrobat 9). Usa una chiave di 256 bit e, nel design originale PDF 1.6 Ext Level 3, deriva la chiave dalla password con SHA-256. Una revisione successiva (PDF 2.0 / Extension Level 8) ha aggiunto una derivazione di chiave più forte usando PBKDF2 con molte iterazioni, rendendo la forza bruta molto più difficile. È talvolta chiamato «AES-256 R6» o «compatibilità Acrobat X».

Preferite AES-256 ogni volta che il vostro strumento lo offre. Se avete la scelta tra la vecchia e la nuova derivazione di chiave, scegliete la nuova (basata su PBKDF2).

Cronologia

Quale versione PDF ha introdotto quale algoritmo

  • PDF 1.2 (1996) — RC4 40 bit.
  • PDF 1.3 (1999) — RC4 128 bit.
  • PDF 1.5 (2003) — AES-128 (V4, R4).
  • PDF 1.6 Ext Level 3 (2008) — AES-256 (V5, R5).
  • PDF 2.0 / Ext Level 8 (2017) — AES-256 con derivazione di chiave PBKDF2 (V5, R6).

Pratica

Quale algoritmo scegliere

Per nuovi file: AES-256 con derivazione di chiave PBKDF2 (R6) se il firmatario e i visualizzatori destinatari lo supportano; altrimentiAES-128. Non scegliete mai RC4 per un nuovo file. La password conta più di l'algoritmo: una password di 6 caratteri su AES-256 è più debole di una password casuale di 20 caratteri su AES-128, perché la superficie di attacco è la password, non la crittografia.

Per aprire vecchi file: qualsiasi visualizzatore moderno gestirà tutti e tre. Se controllate il file, decrittografate e re-crittografate con AES-256.

Un sanity check utile: dopo aver protetto un PDF, provate ad aprirlo in un visualizzatore diverso da quello usato per crittografarlo. Se un secondo visualizzatore può aprirlo senza avvertimenti, la crittografia è largamente compatibile. Se solo lo strumento originale può aprirlo, avete forse usato una modalità non standard.

IXPDF

Capacità di crittografia di IXPDF oggi

Il motore PDF attuale di IXPDF (pdf-lib) non supporta la scrittura o la lettura di PDF crittografati. Le pagineProteggere PDF eSbloccare PDFspiegano onestamente la limitazione e sono marcate Ricerca richiesta. Stiamo valutando una libreria di crittografia compatibile con il browser che ci permetterebbe di offrire protezione AES-256 interamente nel browser, senza caricamento. Fino ad allora, consultate la nostraguida di protezione con passwordper strumenti locali affidabili.

Da leggere anche

Risorse correlate