Password crittografata all'interno dell'archivio compresso

7

Utilità di compressione dei file come Winrar o ZIP o 7zip codificano la password e la memorizzano all'interno dell'archivio.

Quanto è sicuro? Voglio dire che stai dando via l'archivio con la password all'interno, non è come l'autenticazione su un sito web in cui la password è archiviata da qualche parte in remoto.

Può ad esempio l'esame binario dell'archivio, dato che la struttura del formato del file rar o zip è pubblica, rivela la forma crittografata della password? Ad esempio, cerca l'intestazione che contiene la password effettiva ed estrai la stringa crittografata?

Dire che questo è plausibile, c'è qualcosa che puoi fare per estrarre la password chiara di quella cifrata?

    
posta microwth 19.02.2016 - 17:47
fonte

3 risposte

6

La password è necessaria per decrittografare l'archivio, quindi l'archiviazione di una copia della password all'interno dell'archivio sarebbe inutile - chiunque sia in grado di decodificare l'archivio ha già la password.

Le sole cose che vengono memorizzate non crittografate nell'archivio sono il tipo di crittografia e forse la struttura del file e gli attributi del file.

Forse sei confuso su come l'archivio viene bloccato e sbloccato. Sembra che tu abbia l'impressione che la password venga memorizzata all'interno dell'archivio, e quindi l'utilità di archiviazione confronta la password inserita dall'utente con la password memorizzata nell'archivio. Tuttavia, questo non è il modo in cui funziona la crittografia. Se la password fosse stata archiviata nell'archivio in modo tale che l'utilità potesse leggerla, allora chiunque avesse un semplice editor di file poteva leggerlo. Non solo, se lo schema di protezione fosse impostato per forzare semplicemente l'utilità a controllare la password memorizzata in questo modo, ma non a offuscare i dati, chiunque potrebbe semplicemente leggere il contenuto del file senza nemmeno guardare la password. Se il carico utile è stato crittografato e la password è stata memorizzata da qualche parte nella sezione non crittografata dell'archivio, chiunque può leggere la password e decrittografare rapidamente il carico utile, sconfiggendo così la crittografia.

Invece, ciò che fa la crittografia è usare una chiave e un algoritmo per manipolare alcuni dati per offuscare ciò che significa. Una volta che ha attraversato questo processo di crittografia, l'unico modo per dare un senso ai dati è elaborarlo attraverso l'algoritmo di decrittografia corrispondente. L'unico modo per farlo con successo è usando la chiave e l'algoritmo corretti. Poiché l'algoritmo è sempre noto, solo la chiave è unica. Il modo in cui sai di aver usato la chiave corretta è il fatto che i dati che ottieni dal processo di decodifica hanno un formato valido e non sono solo dati casuali. L'unica informazione che un archivio crittografato ti darà è il carico utile crittografato e l'algoritmo usato per crittografarlo. Spetta a te fornire la chiave corretta.

    
risposta data 19.02.2016 - 18:49
fonte
13

File compression utilities like Winrar or ZIP or 7zip encrypt the password and store it inside the archive.

Non so dove hai ottenuto questa informazione (i reclami senza fonte sono sempre cattivi) ma sono sicuro che ti sei sbagliato. Ciò non avrebbe alcun senso e la domanda sarebbe anche quale chiave sarebbe utilizzata per crittografare la password.

Con ZIP puoi consultare la sezione 7.2 della specifica e vedrai che la password non essere immagazzinato in alcun modo. Vengono memorizzati solo diversi dati più o meno casuali che vengono utilizzati insieme a una chiave derivata dalla password inserita dall'utente. Questi dati casuali vengono utilizzati per garantire che i file ZIP con lo stesso contenuto e la stessa password non risultino negli stessi dati crittografati.

Nella specifica RAR troverai il valore di controllo opzionale per la password. Questa non è la password crittografata, ma un valore hash (cioè irreversibile) derivato da PBKDF2 (hash con calcolo intensivo) dalla password.

Il che significa che il massimo è una versione hash della password e hash con un hash davvero lento. Mentre questo può essere usato per rilevare una password errata abbastanza veloce per un singolo tentativo, non aiuta molto con la forzatura bruta della password. Il forzamento bruto sarebbe probabilmente più efficace tentando di usare la password e controllando se i dati decodificati hanno un senso. Questo può essere fatto spesso più veloce perché la maggior parte dei formati di file contengono stringhe magiche tipiche all'inizio o hanno una tipica struttura di file. Quindi se hai qualcosa che non sembra casuale probabilmente hai infranto la password.

    
risposta data 19.02.2016 - 18:52
fonte
2

C'è già stata una discussione su qualcosa di simile che penso tu possa trovare utile. La password che protegge un file archiviato in realtà la crittografa?

Inoltre, da quello che ho letto da lì WinRar usa una chiave a 64 bit (WinRAR usa 262144 colpi di SHA-1 con un sale a 64 bit), che è piuttosto strong.

Non sono sicuro al 100% su quanto segue, quindi chiunque mi corregga se sbaglio. Da quanto ho capito quando si cripta un archivio compresso o un file zip, 7zip o winrar, i file crittografati non ti permettono di leggere una chiave se ce n'è una, così com'è, crittografata. Sarebbe come tentare di decodificare una crittografia senza la chiave, quindi sono abbastanza sicuro che non puoi ottenere la chiave dal file zippato.

Inoltre non sono sicuro che memorizzi la chiave. La crittografia RSA è una delle crittografie più potenti (se si utilizza la crittografia 2048 + bit) e alcuni archivi zip utilizzano la stessa crittografia AES. La chiave non è memorizzata nella crittografia, ma l'algoritmo utilizzato per decodificare il file. La chiave viene fornita da chi ha protetto la password / crittografato il file in primo luogo e se la chiave di decodifica corrisponde alla chiave di crittografia, l'algoritmo risolverà la decrittografia, rendendola così leggibile.

Questo risponde alla tua domanda?

Modifica: per quanto riguarda l'estrazione della stringa con la chiave di decrittografia crittografata, no. Ciò non funzionerebbe in quanto la chiave sarebbe crittografata e inutilizzabile e bisognerebbe decrittografarla per essere in grado di leggere quale sia effettivamente la chiave di decodifica, quindi si torna al punto 1.

Ad esempio, se scrivo: "pancakes", come "H01LG32H4Gg6H", non saresti in grado di estrarre quella stringa crittografata e convertirla, dato che non conosci l'algoritmo che ho usato per decodificare la parola.

    
risposta data 19.02.2016 - 18:16
fonte