Proprietà per le funzioni hash crittografiche (preimage, secondo preimage e resistente alle collisioni)

-1

Durante gli studi di sicurezza informatica all'università mi è stata posta questa domanda:

Esistono tre proprietà desiderabili per le funzioni hash crittografiche: Preimage resistant, Second preimage resistant e Collision-resistente. Per ciascuna delle seguenti applicazioni di hash funzioni, spiega quali di queste tre proprietà sono necessarie e quali non sono.

1) Alice pone a Bob un duro problema di matematica e afferma di aver risolto esso. Bob vorrebbe provarlo da solo, ma vorrebbe ancora esserne sicuro che Alice non sta bluffando. Pertanto, Alice la scrive soluzione, aggiunge alcuni bit casuali, calcola il suo hash e dice a Bob il valore hash (mantenendo la soluzione segreta). In questo modo, quando Bob arriva la soluzione da solo pochi giorni dopo, Alice può verificare la sua soluzione, ma essere ancora in grado di dimostrare che aveva un soluzione precedente.

2) Le password sono memorizzate in un file password, in formato hash. A autenticare un utente, la password presentata dall'utente viene sottoposta a hash e confrontato con l'hash memorizzato. Un utente che ottiene l'accesso in lettura a il file delle password non dovrebbe essere in grado di accedere con questo metodo. (Supponiamo che l'utente dispettoso non modifichi il sistema in alcuno prima di provare ad accedere.)

3) Un amministratore di sistema, preoccupato per possibili rotture, calcoli l'hash di importanti file binari di sistema e memorizza i valori hash in un file di sola lettura. Un programma periodicamente ricalcola i valori hash dei file contenenti i file binari del sistema e li confronta con i valori memorizzati. Un utente malintenzionato che è in grado di sovrascrivere uno di i file '' protetti '' non dovrebbero essere in grado di cambiare il file senza rilevamento.

Non riesco a trovare una risposta, se qualcuno potrebbe aiutarmi sarebbe molto gentile!

    
posta user26602 31.05.2013 - 20:22
fonte

1 risposta

1

Queste domande non riguardano le proprietà matematiche delle funzioni di hashing, ma solo i requisiti del difensore e le abilità degli attaccanti. Questa è una caratteristica piuttosto comune per la modellazione dei sistemi di sicurezza; quindi è bene avere familiarità con esso.

  1. Questo è meno chiaro degli altri; ma supponiamo che ci fosse un insieme finito di possibili soluzioni, come un test a scelta multipla; e Bob vuole essere sicuro, dopo, che Alice abbia annotato quello corretto. In questo caso, ciò di cui hanno bisogno è un algoritmo resistente alle collisioni. Se riusciva facilmente a trovare le collisioni, Alice poteva semplicemente annotare ciascuna delle risposte e aggiungere bit arbitrari in modo che tutti fossero sottoposti allo stesso valore.

Questo non è solo un rischio teorico; è stato effettivamente fatto: link

  1. Il difensore qui è il proprietario della risorsa che sta effettuando l'accesso; non vuole autenticare qualcuno in modo improprio verificando un hash se non viene presentato il testo in chiaro corretto. L'attaccante ha gli hash e vuole trovare qualsiasi testo in chiaro che gli consenta di autenticarsi. Ciò significa che ha bisogno di trovare un testo in chiaro che abbia un valore particolare, un attacco pre-immagine.

  2. Il proprietario del sistema desidera assicurarsi che, se l'hash del file corrisponde, ciò garantisce che il file di sistema non è modificato. In altre parole, vuole essere sicuro che solo un testo in chiaro corrisponda a ciascun hash. L'attaccante (probabilmente) ha accesso sia ai testi in chiaro che agli hash, ma ha bisogno di trovare una pre-immagine secondo per un dato hash.

A proposito, Alice dovrebbe prendere in considerazione l'utilizzo di una prova a conoscenza zero: link

    
risposta data 31.05.2013 - 20:51
fonte

Leggi altre domande sui tag