(Perché) un foglio di lavoro MS Office 2010 crittografato (necessario) deve avere l'hash della password "annotato"?

0

Per la mia mente ingenua, sembra che la crittografia di un documento con AES dovrebbe andare così:

HumanPassword --- | hash | - > chiave --- | AES | - > Cifrato

                       plaintext|--^

E la decifrazione come questa:

HumanPassword --- | hash | - > chiave --- | AES | - > Plaintext

                      ciphertext|--^

E come tale sembra che il pacchetto crittografato (il file excel) non debba contenere l'hash della password umana e inoltre che non sia sicuro per esso fallo .

Uno dei miei colleghi dice che "se il file non contiene l'hash, quale sarebbe il confronto con la password?"

Mi sembra che non debba fare alcun confronto. Dovrebbe decifrare con qualsiasi chiave ricavata dall'hash e, se ha funzionato, il risultato non sarà privo di senso. Se non ha funzionato, Excel dovrebbe vedere assurdità e dire "Password errata, nincompoop". Ma non dovrebbe avere l'hash nel file. Non dovrebbe essere necessario confrontare nulla.

Tuttavia, sembra che abbia l'hash nel file.

Quando il mio collega e io abbiamo scelto questo file a parte, abbiamo scoperto che esisteva effettivamente un valore hash e ora stiamo eseguendo attacchi di dizionario e forza bruta contro di esso.

Quindi suppongo che la mia domanda sia questa:

Perché un documento MS Office 2010 crittografato deve memorizzare l'hash della password?

E, se le domande secondarie sono appropriate su SE,

Se non è assolutamente necessario, perché Microsoft ha scelto di farlo? Non è meno sicuro se l'algoritmo hash non è molto buono?

    
posta H. Wilson 12.08.2017 - 00:07
fonte

1 risposta

1

Questo è un caso in cui la sicurezza è stata scarificata per l'usabilità.

L'hash funge da checksum. Se non avessero nulla da confrontare con loro non sarebbero in grado di determinare se il file è stato in realtà decodificato con la password corretta. Senza questo confronto cercherebbe ciecamente di caricare il file. Una password errata significherebbe che verrebbe caricata in modo errato. E l'utente / l'applicazione non saprebbe se questo danneggiamento fosse dovuto a una password errata o qualche altro problema.

Inoltre l'hash non è un hash diretto della chiave. In Office 2007 hash la password 50.000 volte e in Office 2010 l'hash 100.000 volte. Entrambi utilizzano SHA-1. Questo è per combattere gli strumenti che eseguono il bruto degli hash forzati per le versioni precedenti. Office 2013 utilizza la stessa strategia ma utilizza SHA-512 per impostazione predefinita. Di conseguenza, l'hash è sicuro per la ridistribuzione. Puoi trovare ulteriori informazioni sulla protezione della password qui .

Con questo detto è ancora possibile la forza bruta. In definitiva, la forza della chiave spetta all'utente finale.

    
risposta data 12.08.2017 - 00:57
fonte

Leggi altre domande sui tag