it-swarm.it

Quanto è sicuro un file Zip protetto da password di Windows?

Devo inviare alcune informazioni sensibili a un cliente. Ho pensato di inviare per e-mail un file Zip protetto da password che ho creato usando Windows XP e quindi chiamarli con la password. Presumendo che scelgo una buona password, quanto è sicuro questo approccio? In particolare, quanto è difficile per decrittografare un file zip protetto da password?

40
Dave Aaron Smith

Quando si crea un file Zip protetto da password (con l'utilità "cartella compressa" integrata nel sistema operativo), Windows XP utilizza l'algoritmo di crittografia "standard" per i file Zip. Si tratta di un codice di flusso casalingo ed è debole . Con 13 byte di testo in chiaro noto, la complessità dell'attacco è di circa 238 operazioni, che è fattibile in poche ore su un PC. 13 byte sono relativamente facili da ottenere (ad esempio se uno dei file nell'archivio è un'immagine, probabilmente non sarà compresso e inizierà con un'intestazione nota). Il risultato è stato persino migliorato , in particolare perché i file in un archivio sono crittografati separatamente ma senza una corretta diversificazione delle chiavi. Alcuni anni fa (un bel po 'ora, tempus fugit), ho visto un software per decifrare la password di Ivan Golubev che ha messo a frutto questa scienza utilizzare e potrebbe rompere la crittografia Zip in un'ora.

L'attacco alla crittografia Zip è in realtà:

  • una bella introduzione alla crittoanalisi;
  • un buon esercizio di programmazione;
  • un promemoria che non dovresti lanciare la tua crittografia . Phil Katz era molto bravo nel suo dominio, ma i migliori crittografi del mondo ti diranno che ci vuole molto più di un crittografo estremamente bravo per creare un algoritmo sicuro - ci vogliono molti crittografi che proporre febbrilmente dei progetti e provare a rompere i disegni degli altri, per alcuni anni, fino a quando non emerge un design apparentemente robusto (dove "robusto" significa "nessuno potrebbe trovare il minimo argomento per sostenere l'idea che potrebbero, eventualmente, ammaccare in esso ad una data non specificata ").

Ora, se si utilizza uno strumento che supporta la più recente crittografia basata su AES, le cose sembreranno migliori, a condizione che il formato e l'implementazione non siano stati compromessi e che la password abbia un'entropia sufficiente. Tuttavia, tali file Zip non verranno aperti da WinXP Explorer di serie.

Se è necessario uno strumento esterno, si può anche fare affidamento su uno strumento che è stato accuratamente analizzato per la sicurezza, sia nella specifica del formato che nell'implementazione; in altre parole, come @ D.W. suggerisce: GnuPG .


Per quanto riguarda archivi auto-decodificanti , sono tutti sbagliati, poiché fanno affidamento sul fatto che l'utente faccia esattamente ciò che non dovrebbe mai essere fatto, cioè lanciando un eseguibile che lui ricevuto via email. Se lui lo fa apre un archivio auto-decodificante che gli viene inviato, allora, con questa azione, dimostrerà che è vulnerabile alla miriade di virus/worm/whatevers che vagano su Internet selvaggio e probabilmente è già stato infettato da vari malware, inclusi keylogger.

Tuttavia, c'è un modo, nella tua situazione specifico, di rendere ragionevole un archivio auto-decodificante. Ha ancora bisogno del tuo client per installare un nuovo software, ma almeno è direttamente da Microsoft: il File Checksum Integrity Verifier - un nome pomposo per uno strumento che calcola il file hash. Invia l'archivio auto-decodificante al tuo client e chiedigli di salvarlo come file ( senza eseguendolo, ovviamente). Quindi, fargli eseguire FCIV su di esso, per ottenere l'hash SHA-1 del file. Fai lo stesso dalla tua parte. Infine, confronta i due hash per telefono (non è difficile dettare 40 caratteri esadecimali). Se i due hash corrispondono, il tuo client saprà che il file non è stato modificato durante il trasferimento e sarà in grado di eseguirlo con sicurezza.

(Cioè, se il tuo client si fida di te e si fida che la macchina la tua non sia piena di virus che potrebbe aver infettato l'archivio mentre usciva.)

46
Thomas Pornin

Per i dati sensibili, sarei un po 'riluttante a utilizzare archivi Zip o 7Zip protetti da password. Le attuali versioni di crittografia che usano non sono state ben studiate o controllate da ricercatori indipendenti. Le versioni precedenti del software presentavano punti deboli in termini di sicurezza, motivo di lieve preoccupazione. Le versioni più recenti potrebbero essere OK, ma poiché non sono state riviste in modo indipendente, sono riluttante a riporre molta fiducia in esse. Idealmente, qualcosa come GPG o PGP è meglio.

Si informa che la crittografia con una password tende ad essere debole. Molte persone scelgono password che non hanno abbastanza entropia per essere sicure contro la ricerca offline (ad es. Attacco con dizionario, ricerca esaustiva). Inoltre, le password lunghe e forti sono scomode da usare, fornendo un ulteriore disincentivo nei loro confronti.

Ti consiglio di evitare di inviare file .exe autoestraenti. Questo è un rischio per la sicurezza. Quando invii alle persone file .exe autoestraenti, le stai insegnando a ricevere un allegato .exe tramite e-mail ed eseguirlo. Questa è una pratica molto pericolosa, dal punto di vista della sicurezza. Penso che il fatto che Zip e 7Zip incoraggino questa pratica sia un segno di disprezzo per la sicurezza.

Se è necessario utilizzare la crittografia basata su password, si consiglia di: Utilizzare GPG o PGP (ad es. gpg -c). La sicurezza della crittografia di GPG è stata ben studiata ed è forte. Utilizzare una password lunga e sicura: ad esempio, utilizzare un'utilità per generare una password crittograficamente casuale. Volete una password lunga circa 14-16 caratteri casuali, senza schemi di sorta.

Questa sarà probabilmente l'opzione più semplice da usare per il tuo client, che fornisce anche una forte protezione.

Se desideri maggiore sicurezza, archivia i dati crittografati su un CD o DVD, quindi invia il CD o il DVD tramite Fedex (anziché tramite e-mail). In questo modo, si ottengono due livelli di sicurezza: qualcuno può rubare i dati solo se possono accedere al CD o al DVD e se dispongono della password per decrittografarli.

Se i tuoi clienti riscontrano problemi nell'uso di PGP o GPG, puoi utilizzare una versione recente della crittografia della password di Zip o 7Zip. In tal caso, eviterei un file .exe autoestraente e probabilmente sarei più propenso a inviare i dati crittografati attraverso la posta (su un CD o un DVD) piuttosto che su Internet.

In alternativa: Se il tuo cliente è tecnicamente esperto e hai comunicazioni frequenti con loro, un'altra opzione è di farli usare GPG o PGP per generare una coppia di chiavi pubblica casuale, inviarti la loro chiave pubblica e quindi puoi crittografare i dati con la loro chiave pubblica. Ciò fornirà una maggiore sicurezza, se sanno come usare GPG o PGP. Tuttavia, è meno intuitivo e quindi probabilmente non fattibile per l'invio di un dato a un cliente medio.

6
D.W.

Non è difficile decrittografare un file Zip protetto da password. Ci sono molte app là fuori per capire la password o semplicemente rimuovere la password.

Le probabilità sono che nessuno intercetterà l'e-mail tra te e loro. I server di posta elettronica pubblici hanno un'enorme quantità di dati che fluiscono tra di loro. Inserire una password nell'e-mail è probabilmente abbastanza buono. Se hai bisogno di qualcosa di più sicuro, cerca di crittografare l'e-mail attraverso la quale l'allegato viene inviato o pubblica il file in una posizione di rilascio sicura come la casella di riepilogo (sì, sono a conoscenza del problema che avevano un paio di settimane fa) e inviali il link.

4
mrdenny

Ho usato i file Zip protetti da password come meccanismo di crittografia ad hoc (anche se preferisco usare GPG quando possibile). Molto è fatto di recupero della password per i file Zip, ma finché si utilizza una versione corrente, l'unico meccanismo di recupero pratico è la forza bruta. Credo che sia 7-Zip che Winzip supportino entrambi AES-256. Se il tuo client ha già Winzip, lo userei (assicurati solo di usare la crittografia AES e non "Legacy").

L'aspetto più importante dell'utilizzo di questa è la tua password (consiglierei una passphrase, almeno 16 caratteri, inserendo alcuni caratteri speciali). La passphrase ha il vantaggio che la forza bruta è difficile e puoi scambiarla al telefono con relativa facilità.

Questo non è un meccanismo perfetto in alcun modo, ma potrebbe essere abbastanza buono per i tuoi scopi (a seconda della sensibilità dei dati).

4
Andrew

Con la doppia GTX 295 è possibile recuperare una password di 4 caratteri in meno di un'ora.

http://is.hut.vn/~phongph/uploads/publications/1277074631.pdf

1
Jodie C