Il modo per determinare IV per la crittografia AES, possibili problemi di sicurezza con questo approccio

3

Sto provando a creare una crittografia di cartella con la massima automazione (tranne l'immissione della password). All'interno di uno script bash faccio quanto segue:

echo $RANDOM | md5sum | cut -d' ' -f1 > iv

e quindi utilizzandolo:

openssl aes-128-cbc -md sha256 -iv $(cat iv) -in folder.7z -out folder.7z.enc

Supponendo che echo $RANDOM restituisca un buon valore casuale, quindi utilizzo md5sum su quel valore e md5sum ha punti deboli di collisione, quindi presumo che ci sia qualche problema di sicurezza con questo, ma questo è il modo in cui ho trovato di come produrre una stringa iv corretta per openssl . Qualcuno può indicare che cosa esattamente può essere un problema con questo approccio e può darti un consiglio su come produrre un iv pseudo-casuale in un modo migliore?

    
posta stackoverflower 24.10.2018 - 18:48
fonte

2 risposte

4

... md5sum has collision weaknesses, so assume that there is some security problem with that,

Gli attacchi di collisione sono irrilevanti qui. Tutto ciò che importa è che l'IV usato non è in alcun modo prevedibile (cioè nessun bias - tutte le uscite hanno la stessa probabilità) e lo stesso IV non è usato con lo stesso input. Per ulteriori informazioni, consultare Come fare i poveri -I vettori di inizializzazione della qualità influenzano la sicurezza della modalità CBC? .

    
risposta data 24.10.2018 - 19:39
fonte
8

Assuming that echo $RANDOM returns good random value…

Non è così. $RANDOM in bash è implementato usando un LCRNG con 32 bit di stato e un'uscita a 15 bit .

    
risposta data 24.10.2018 - 19:50
fonte

Leggi altre domande sui tag