Domanda:
La crittografia AES di 7-Zip è sicura quanto la versione di TrueCrypt?
superuser
2013-01-20 15:45:47 UTC
view on stackexchange narkive permalink

La differenza principale è che TrueCrypt crea contenitori e 7-Zip crittografa il file stesso, quindi è possibile indovinare le dimensioni dei file. Ora parliamo solo della forza e della fragilità della crittografia.

Aggiornamento: http://forums.truecrypt.org/viewtopic.php?p=107396

"La differenza principale è che TrueCrypt crea contenitori e 7-Zip crittografa il file stesso, in modo da poter indovinare le dimensioni dei file." Come lo immagina? Certo, la dimensione di un file ZIP sarà più strettamente correlata alla dimensione totale di tutti i file che contiene. Ma i file ZIP sono ancora solo un altro tipo di contenitore: data la possibilità che contengano un numero qualsiasi di file, è effettivamente impossibile indovinare in modo affidabile la dimensione di ogni singolo file all'interno del contenitore.
7Zip potrebbe non essere più una buona scelta per la crittografia.Tuttavia, per la riduzione dei file va bene. https://twitter.com/3lbios/status/1087848040583626753
Bene 7Zip da allora ha risolto la loro debole sicurezza (come riportato nel tweet sopra) ma TrueCrypt è fondamentalmente defunto.VeraCrypt è il successore consigliato.
Vedi https://security.stackexchange.com/questions/100650/how-secure-is-7z-encryption/233813#233813 per alcune letture interessanti su alcuni bug che sono stati trovati nelle versioni recenti di 7zip relativi a RNG e IVgenerazione in quelle versioni.
Cinque risposte:
#1
+59
tylerl
2013-01-21 03:58:58 UTC
view on stackexchange narkive permalink

Se implementato correttamente, AES è AES; l'output tra due diverse implementazioni è identico e quindi non è possibile alcuna distinzione nel confronto dopo il fatto: se eseguito correttamente, l'una è esattamente uguale dell'altra.

Ma ci sono alcuni punti in cui le differenze possono essere rilevate:

Modalità operativa
Truecrypt implementa una modalità contatore modificata chiamata XTS. È abbastanza ben controllato e ha resistito ad alcuni gravi abusi da parte di alcuni potenti aggressori (come il governo degli Stati Uniti).

Dall'esame del codice sorgente di p7zip, sembra che la codifica AES per il formato 7-zip funzioni in modalità CBC. Questo non è certamente necessariamente insicuro; è la modalità più comunemente utilizzata in protocolli come TLS, ma è potenzialmente vulnerabile agli attacchi di padding Oracle. Vedi questa discussione sulle modalità operative per ulteriori informazioni.

Derivazione della chiave
Truecrypt utilizza PBKDF2 per trasformare la tua password in una chiave di crittografia. È difficile trovare un'alternativa migliore di quella. p7zip utilizza un hash SHA256 salato ripetuto per un numero configurabile di iterazioni. PBKDF2 è un po 'più configurabile, ma l'alternativa a 7-zip è funzionalmente simile e presumibilmente raggiunge gli stessi obiettivi.

Implementazione controllata
Questa è probabilmente la differenza più grande: il codice di TrueCrypt ha è stato versato dai crittografi e attentamente esaminato per errori di implementazione. 7-zip non ha (almeno non nella stessa misura). Ciò significa che esiste una maggiore probabilità che il codice di 7-zip contenga una sorta di errore che potrebbe consentire una sorta di attacco ancora sconosciuto. Questo non vuol dire che esista un tale errore, e questo non vuol dire che un tale errore non possa essere trovato invece in TrueCrypt. Ma questa è una questione di probabilità, non di certezza.

Tutto sommato, le differenze sono minori e per la maggior parte dei casi d'uso non dovresti aspettarti alcuna differenza dal punto di vista della sicurezza. Se è una questione di vita o di morte, probabilmente sceglierei TrueCrypt. Ma per questioni di mera segretezza, consiglierei di scegliere la soluzione che meglio si adatta al tuo problema.

La differenza nel fattore lavoro è un punto significativo a favore di 7z.
@CodesInChaos, potresti approfondire questo?
@Adnan 7z utilizza più cicli di hash di true. Truecrypt utilizza PBKDF2 mentre 7zip lo fa manualmente; ma lo standard di 7zip è fare di più.
Hai qualcosa a sostegno delle affermazioni secondo cui TrueCrypt è stato rivisto in modo più approfondito rispetto a 7-Zip? Entrambe le soluzioni sono open source. Anche se ciò significa che chiunque * può * rivederli, non significa necessariamente che chiunque * abbia *. (Il figlio del poster per questo in questi giorni è OpenSSL e Heartbleed.) C'è un progetto finanziato dal crowdfunding attualmente in corso su http://istruecryptauditedyet.com ma non sono ancora passati attraverso l'audit di implementazione della crittografia.
@Iszi Sono sicuro che hai già sentito i miei pensieri su OpenSSL: il codice * resiste attivamente all'auditing. * È come se fosse stato progettato per impedire il controllo. E sto dicendo che molto prima che la cosa del sanguinamento si manifestasse. TrueCrypt ha contrastato le agenzie di intelligence statunitensi in diversi casi riportati dalle notizie; ma questo * non significa che sia necessariamente più sicuro. * 7-zip non ha una cronologia * per niente * per quanto riesco a trovare - non va bene, non è male.
Se è una questione di vita o di morte, sceglierei quello più difficile per i bravi ragazzi da F-up. :)
Se è una questione di vita o di morte, impilerei la crittografia. Lo dico solo per la cronaca.
@EKanadily In realtà è una cattiva idea.È meglio usare un livello con il doppio della dimensione della chiave rispetto a due livelli con la stessa dimensione della chiave.IOW, due livelli di AES con una password di 10 caratteri è di gran lunga peggiore di uno strato di AES con una password di 20 caratteri.
@tylerl Ricordo di aver sentito che 7zip in realtà non usa un sale.
@forest hai ragione, tuttavia intendo qualcos'altro: AES è progettato in modo che possa essere rotto (attraverso la crittoanalisi) se necessario.la crittografia dello stacking è l'antidoto.
@EKanadily Mi dispiace, ma hai sbagliato.AES non è progettato per essere rotto attraverso la crittoanalisi.
@forest questo è ciò che tutte le persone hanno detto sui cifrari non funzionanti conosciuti.
@EKanadily Le persone sapevano da sempre che il DES alla fine sarebbe stato rotto a causa delle sue piccole dimensioni della chiave.Quasi immediatamente dopo l'uscita di RC4, le persone hanno notato dei pregiudizi nel suo output.Ecc. Per non parlare del fatto che nessuno di questi è stato "progettato per essere rotto".L'unica cosa che era era un PRNG, e fu subito notato che stava succedendo qualcosa di abbozzato.
#2
+22
Cristian Dobre
2013-01-20 16:29:21 UTC
view on stackexchange narkive permalink

La sicurezza di un codice dipende dalla sua specifica implementazione in un'utilità software. Per quanto ne so, non sono noti problemi di implementazione di AES in 7-Zip o TrueCrypt.

AES è un cifrario veloce e le funzionalità di accelerazione hardware come AES-NI rendono è molto più veloce. Quindi la protezione contro la forza bruta richiede il rafforzamento della chiave attraverso meccanismi di estensione della chiave .

Esistono strumenti di forzatura bruta sia per 7-Zip e TrueCrypt e supportano l'accelerazione hardware.

7 -Zip utilizza l'estensione della chiave per aumentare il tempo per la forza bruta. La password utente viene sottoposta ad hashing da 130.000 a 524.288 volte (a seconda della versione) utilizzando SHA256.

TrueCrypt utilizza anche PBKDF2 per l'estensione della chiave con 1000 iterazioni che è di 2 ordini di grandezza inferiore a 7-Zip. Un problema è che TrueCrypt utilizza il numero minimo di iterazioni consigliato 10 anni fa.

Quando lo standard PBKDF2 è stato scritto nel 2000, il numero minimo consigliato di iterazioni era 1000, ma il parametro è destinato a essere aumentata nel tempo all'aumentare della velocità della CPU.

Utilizza anche il salting a 512 bit che riduce le vulnerabilità agli attacchi di dizionari e tabelle arcobaleno.

Quindi da una prospettiva di forza bruta , 7-Zip è leggermente migliore di TrueCrypt, ma entrambi sono considerati abbastanza resistenti agli attacchi di forza bruta.

C'è una storia in cui l ' FBI ha tentato di crackare un volume TrueCrypt per 12 mesi e non è riuscito.

Dimenticavo se era 7z o rar, ma uno di loro utilizzava la modalità ECB. Questo non è un grosso problema per i file compressi, ma per i file non compressi la debolezza di ECB può far trapelare qualcosa.
@CodesInChaos L'originale 7-zip non è open source, ma lo è p7zip (compatibile e dello stesso autore). Scavando nel sorgente per p7zip mostra che utilizza CBC per i file 7z. Poiché sono compatibili con l'originale 7-zip, ciò suggerirebbe che anche l'originale 7-zip utilizzi CBC.
@tylerl Sembra essere stato .rar con AES-ECB http://blog.zorinaq.com/?e=15
@tylerl: [L'unica parte che non è open-source è il supporto per l'estrazione RAR] (http://7-zip.org/license.txt), che non è rilevante per questo. Il resto è LGPL.
Al ragazzo qui che ha menzionato "L'FBI ha provato a decifrare un software di questo tipo con questo livello di implementazione e PR (era disponibile per Windows, Linux e Mac da molto tempo, se qualcuno conosce la programmazione del software sa quanto sia difficile è quello di mantenere diversi pacchetti con questa efficienza a questo livello), non può essere senza fondi. Se qualche organizzazione ombra lo ha implementato, allora perché vorrebbero condividere la backdoor con la polizia !!! Rovinerebbe il loro progetto. È solo per loro e per loro Il potere dell'FBI di svolgere operazioni all'estero non li rende un braccio top / segreto.
Il vero braccio top secret è sempre nascosto, ecco perché viene chiamato "segreto", e di sicuro non è un'agenzia governativa, la CIA può averlo ma non l'FBI. Quando parlo di un'agenzia privata segreta, intendo un'agenzia che cerca qualcuno che abbia la capacità e l'interesse nel finanziare i migliori college, fare pressioni sui governi del mondo, ecc. Per i propri interessi privati.
C'è un errore di battitura: "Problemi".
7Zip non è più sicuro per la crittografia. https://twitter.com/3lbios/status/1087848040583626753
7zip v. 19.00 corregge i problemi con RNG e IV.L'hashing delle password apparentemente rimane debole (1000 iterazioni) per motivi di compatibilità con il metodo WinZip-AES.https://sourceforge.net/p/sevenzip/bugs/2176/
#3
+11
Jander
2016-03-12 02:08:03 UTC
view on stackexchange narkive permalink

Salvo bug di implementazione, la crittografia di 7-Zip è più robusta di quella di TrueCrypt, perché TrueCrypt ha un lavoro molto più difficile.

La crittografia dell'intero disco a livello di settore è difficile :

  • Hai una quantità fissa di spazio, qualsiasi parte del quale può essere modificata in qualsiasi momento.
  • Hai solo una quantità relativamente piccola di spazio da risparmiare per i metadati. Se conservi più di pochi bit di dati di tracciamento per settore, probabilmente stai consumando troppo spazio e l'utente si opporrà.
  • Non puoi permetterti di cambiare materiale chiave: c'è troppo da crittografare nuovamente.
  • Devi assicurarti che un utente malintenzionato non possa copiare un settore su un altro.
  • Devi assicurarti che uno snooper non possa leggere il disco più volte su diversi giorni e ottenere informazioni dalle modifiche.

In confronto, il lavoro di 7-Zip è facile. Scrive il file una volta ed è fatto. Se è necessario modificare qualcosa, può crittografare nuovamente l'intero file utilizzando un IV diverso (anche se la chiave è la stessa) e il nuovo file crittografato avrà un aspetto completamente diverso da quello precedente.

Cosa questo significa che 7-Zip può permettersi di utilizzare le ben note modalità di cifratura a blocchi CTR o CBC. Nel frattempo, TrueCrypt deve utilizzare XTS, che fa una serie di compromessi al fine di soddisfare i vincoli aggiuntivi della crittografia dell'intero disco.

Per maggiori dettagli, vedere questo articolo sui limiti di full- crittografia del disco.

Buona risposta, ma "escludere bug di implementazione" è metà del problema.
È vero.L'ho incluso perché so molto poco sui dettagli di entrambe le implementazioni.Forse invece di escluderli, dovrei sostenere che a causa della complessità extra, c'è molto più spazio per i bug in TrueCrypt e una migliore possibilità che tali bug siano sfruttabili.
#4
+6
taltman
2014-06-02 21:25:01 UTC
view on stackexchange narkive permalink

Sarei diverso dalla risposta di tylerl in quanto, al momento della stesura della domanda e della risposta, il codice sorgente di TrueCrypt NON era stato verificato dai crittografi. In effetti, al momento, è stato completato solo un audit parziale da parte di crittografi rispettati.

Quindi, attualmente le routine crittografiche principali di entrambi i progetti hanno lo stesso livello di revisione da parte di crittografi esperti: nessuno. Si spera che ciò cambierà presto per entrambi i codebase, ma non sono in corso sforzi per controllare il codice di 7zip, AFAICT.

I binari di tc windows erano sospetti, non l'origine;l'intestazione del contenitore di Windows conteneva / trapelava alcuni dati (ma non sul contenitore di Linux).Nessun altro è stato in grado di creare i binari di Windows perché aveva bisogno di molti compilatori MS diversi.La licenza tc ha impedito a chiunque altro di distribuire i binari ma tc wesbite.
#5
+6
Luisg123v
2016-03-11 02:44:36 UTC
view on stackexchange narkive permalink

Aggiornamento marzo 2016:

Sembra che TrueCrypt non sia più sviluppato, il che porterà a futuri bug di sicurezza non risolti.

Viene visualizzato all'apertura del sito Web di TrueCrypt: "ATTENZIONE: l'utilizzo di TrueCrypt non è sicuro in quanto potrebbe contenere problemi di sicurezza non risolti. Questa pagina esiste solo per facilitare la migrazione dei dati esistenti crittografati da TrueCrypt. Lo sviluppo di TrueCrypt è stato interrotto nel 5/2014 dopo che Microsoft ha interrotto il supporto di Windows XP. "

Questo non sembra rispondere in alcun modo alla domanda di OP.
Perchè no? Penso che il fatto che TrueCrypt non sia più sviluppato e che i problemi di sicurezza riscontrati in futuro non verranno risolti è un fatto rilevante e dovrebbe essere preso in considerazione quando si sceglie un'implementazione. Di solito, il software non è "immutabile" e il supporto è una questione importante.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...