Quale metodo di crittografia viene utilizzato dal programma zip in macOS?

5

Per inviare un file in modo sicuro ho intenzione di crittografare / proteggere con password un file zip. ( Perché lo sto facendo ). Sto usando macOS Sierra 10.12.6 e attraverso la mia ricerca I Ho concluso che la crittografia di un file zip viene eseguita come segue su macOS,

zip -e [newzip].zip [myFile].[extension]

Funziona perfettamente, ma mi piacerebbe assicurarmi che l'algoritmo / metodo usato per crittografare lo zip sia sicuro. Sfortunatamente, non riesco a trovare alcuna documentazione su quale algoritmo / metodo il comando zip usi per crittografare, sia che si tratti di AES-256bit, AES-128bit, o qualcosa di completamente diverso.

La pagina man di zip non è di aiuto:

-e
       --encrypt
              Encrypt the contents of the zip archive using a  password  which
              is  entered  on  the terminal in response to a prompt (this will
              not be echoed; if standard error is not a  tty,  zip  will  exit
              with  an  error).   The  password prompt is repeated to save the
              user from typing errors.

Includere nella risposta l'algoritmo utilizzato, una possibile fonte per queste informazioni, e se non è AES-256bit / AES-128bit, allora quanto è sicuro l'algoritmo / metodo.

    
posta JBis 20.05.2018 - 02:27
fonte

1 risposta

5

Sta utilizzando la crittografia PKZIP 2.0 originale (in vario modo denominata crittografia "tradizionale" o "legacy"), descritta nella sezione 6 di specifica del formato di file .ZIP . Si basa sull'utilizzo di CRC32 per mescolare la password, un seme (si spera) casuale e il file compresso. Non è considerato sicuro; per lo meno, ha gravi vulnerabilità agli attacchi con testo normale (vedi questa cripto .se rispondi per un sommario).

Questo è basato su: guardando il codice sorgente di Apple per ZIP . README.CR dice:

The encryption code is a direct transcription of the algorithm from Roger Schlafly, described by Phil Katz in the file appnote.txt. This file is distributed with the PKZIP program (even in the version without encryption capabilities). Note that the encryption will probably resist attacks by amateurs if the password is well chosen and long enough (at least 8 characters) but it will probably not resist attacks by experts. Paul Kocher has made available information concerning a known-plaintext attack for the PKWARE encryption scheme; see http://www.cryptography.com/ for details.) Short passwords consisting of lowercase letters only can be recovered in a few hours on any workstation. But for casual cryptography designed to keep your mother from reading your mail, it's OK.

Si noti che il file dice che è stato aggiornato l'ultima volta nel 2008, quindi quando parla di recupero della password "in poche ore su qualsiasi workstation", si parla di hardware vecchio di decenni. Sono un po 'confuso su quale versione di Zip Apple stia effettivamente utilizzando. README.CR sembra indicare che è v2.31, ma WHATSNEW elenca nuove funzionalità in Zip v3.0 beta (e dice che AES è pianificato per v3.1). In ogni caso, è piuttosto vecchio.

Come ulteriore supporto, il file crypto.c (anche se un po 'difficile da seguire) usa chiaramente CRC32 per i processi di crittografia / decrittografia, e le uniche menzioni di AES sono in diversi file che dicono che è previsto per una versione successiva.

Oh, e ho anche provato a creare un file crittografato con esso, quindi ho esaminato un dump esadecimale. Non contiene 0x0017, che è l'ID dell'intestazione per una "intestazione di crittografia avanzata". ha ha 12 byte extra di dati seme (parte del formato "legacy") insieme a ciascun file. In modo che corrisponda al codice sorgente e README.

Riepilogo: non usarlo. Cercherei utility Zip di terze parti che supportino una crittografia più moderna, ma non conosco abbastanza bene nessuno di loro per fare raccomandazioni.

    
risposta data 20.05.2018 - 10:20
fonte

Leggi altre domande sui tag