Vedi la discussione domanda simile qui .
In conservazione digitale con orizzonte di decenni contesto, il file e il suo messaggio digest crittografico sono conservati così, immutabili, da decadades. Nessuno può cambiare i "documenti di conservazione originali". Mantenere l'originale è importante.
Scenario ipotetico
Il deposito di conservazione è stato creato nell'anno 2004 quando SHA1 era uno standard valido e affidabile. I curatori del deposito decidono di aggiungere qualcosa di più del digest SHA1 ... Invece di solo a=SHA1(file)
usano anche altri b
digest, quindi l'autenticazione richiede a
e b
simultaneamente. La decisione è stata difficile, ci sono molte scelte strane:
-
b=SHA1(concatenate(file,ID))
un secondo SHA1 ottenuto con alcune strategie come PBKDF2. -
b=otherHash(file)
, altra funzione di hash come MD5 di più strong, solo per assicurare "collisione difficile da trovare". -
b=SHA1(file2)
dove file2 è un file zippato o una "trasformazione di formato", preservando il contenuto ma modificando molto il file. (vedi questo esempio ). -
...
la domanda
Il punto è: il repository deve usare uno standard digest (al momento della creazione), e la coppia di file-digest deve essere immutabile per decenni - in nessun modo per passare a SHA2, SHA3, ecc. ogni momento in cui uno standard è sostituito da uno più sicuro.
PS: non è "l'eternità" è solo un problema nella scala dei decenni.
Un altro punto: è un repository ufficiale, ma nessuno si fida del 100% dei custodi (possono cambiare i documenti in modo che il confronto dei file bit-to-bit non sia una risoluzione finale) ... The gazzetta ufficiale pubblicata nel 2004, con la verifica dei curatori, solo gli hash e i nomi dei file (possiamo fidarci solo di essa).
Quindi la domanda qui è "qual è la scelta migliore per questo scenario?" . Non vedo mai, ma forse ci sono alcuni modi standardizzati.