Utilizzo di più hash per verificare un file

0

Sto sognando un servizio in cui un client invia al mio servizio un hash di un file che generano localmente da quel file. L'idea è che avere un tale hash sarebbe sufficiente per mostrare che l'utente è effettivamente in possesso di quel file.

Il mio servizio si baserebbe su nessuno in grado di creare collisioni hash, preferibilmente anche in futuro. In altre parole, nessuno dovrebbe essere in grado di creare un file leggermente modificato (cioè cambiare una parola in un pdf o in un'immagine) che genererebbe lo stesso hash di un altro file. Semplici elementi di sicurezza hash che possono gestire tutte le funzioni hash non rotte, ma quello che mi preoccupa è la longevità. Un hash generato oggi sarebbe ancora al sicuro tra 10 anni?

Quindi, la mia domanda è, non sarebbe una buona idea progettare l'API in modo che l'utente avrebbe bisogno di generare e inviare più hash con diverse funzioni hash? Non sarebbe molto più difficile (anche tra 10 anni) progettare collisioni di hash che si scontrano in tutte quelle funzioni di hash? Il mio istinto è che il mio modo di pensare è sbagliato, ma non riesco a capire perché sarebbe.

    
posta vegai 27.04.2018 - 18:54
fonte

1 risposta

4

Dato che nessuno degli hash comuni ha in realtà una resistenza provata matematicamente contro gli attacchi, non è una cattiva idea utilizzare contemporaneamente più hash con algoritmi diversi. Questa idea non è nuova e ci sono già dei punti in cui è usata. Per ottenere il miglior miglioramento della sicurezza potrebbe essere utile utilizzare algoritmi basati su idee molto diverse, come SHA-2 (vale a dire SHA-256, SHA-384) e SHA-3.

    
risposta data 27.04.2018 - 19:03
fonte

Leggi altre domande sui tag