5. Considerazioni sull'algoritmo hash e registrazione
Esiste un'ampia varietà di algoritmi di hashing che possono essere utilizzati a fini di integrità. La scelta dell'algoritmo dipende da diversi fattori come il caso d'uso dell'integrità, le esigenze o i vincoli di implementazione o la progettazione e i flussi di lavoro dell'applicazione.
Un set iniziale di algoritmi sarà registrato presso la IANA nel registro "Hash Algorithms for HTTP Digest Fields"; vedere la Sezione 7.2. Algoritmi aggiuntivi possono essere registrati in conformità con le politiche stabilite in questa sezione.
Ogni algoritmo ha un campo di stato che ha lo scopo di fornire un aiuto alla selezione dell'implementazione.
Gli algoritmi con un valore di stato "Active" (Attivo) sono adatti a molti scopi ed è RACCOMANDATO che le applicazioni utilizzino questi algoritmi. Questi possono essere utilizzati in situazioni avversarie in cui le funzioni hash potrebbero dover fornire resistenza agli attacchi di collisione, prima preimmagine e seconda preimmagine. Per le situazioni avversarie, la selezione degli algoritmi "Active" accettabili dipenderà dal livello di protezione richiesto dalle circostanze. Ulteriori considerazioni sono presentate nella Sezione 6.6.
Gli algoritmi con un valore di stato "Deprecated" (Obsoleto) non forniscono nessuna di queste proprietà o sono noti per essere deboli (vedere [NO-MD5] e [NO-SHA]). Questi algoritmi POSSONO essere utilizzati per preservare l'integrità dalla corruzione, ma NON DEVONO essere utilizzati in un ambiente potenzialmente avversario, ad esempio, quando si firmano i valori dei campi di integrità per l'autenticità. Consentire l'uso di questi algoritmi può aiutare alcune applicazioni (come quelle che utilizzavano in precedenza [RFC3230], stanno migrando a questa specifica (Appendice E) e hanno raccolte memorizzate esistenti di valori di digest calcolati) a evitare indebiti costi operativi causati dal ricalcolo utilizzando altri algoritmi più sicuri. Tali applicazioni non sono esenti dai requisiti di questa sezione. Inoltre, le applicazioni senza tale eredità o cronologia dovrebbero seguire la guida per l'utilizzo di algoritmi con il valore di stato "Active".
La discussione sull'agilità dell'algoritmo è presentata nella Sezione 6.6.
Le richieste di registrazione per il registro "Hash Algorithms for HTTP Digest Fields" utilizzano la politica Specification Required (Sezione 4.6 di [RFC8126]). Le richieste dovrebbero utilizzare il seguente modello:
-
Algorithm Key (Chiave algoritmo): Il valore della chiave Structured Fields utilizzato nelle chiavi dei membri del Dizionario dei campi Content-Digest, Repr-Digest, Want-Content-Digest o Want-Repr-Digest.
-
Status (Stato): Lo stato dell'algoritmo. Le opzioni sono:
- "Active": Algoritmi senza problemi noti
- "Provisional": Algoritmi non provati
- "Deprecated": Algoritmi obsoleti o non sicuri
-
Description (Descrizione): Una breve descrizione dell'algoritmo.
-
Reference(s) (Riferimenti): Puntatore(i) al/i documento(i) principale(i) che definisce(ono) la Chiave algoritmo e i dettagli tecnici dell'algoritmo.
Durante la revisione delle richieste di registrazione, gli esperti designati dovrebbero prestare attenzione allo stato richiesto. Il valore dello stato dovrebbe riflettere lo stato di standardizzazione e l'opinione generale dei gruppi di interesse pertinenti come l'IETF o le organizzazioni di sviluppo degli standard (SDO) relative alla sicurezza. Lo stato "Active" non è adatto per un algoritmo noto per essere debole, rotto o sperimentale. Se una richiesta di registrazione tenta di registrare un tale algoritmo come "Active", gli esperti designati dovrebbero suggerire uno stato alternativo di "Deprecated" o "Provisional".
Durante la revisione delle richieste di registrazione, gli esperti designati non possono utilizzare uno stato di "Deprecated" o "Provisional" come motivo di rifiuto.
Sono consentite richieste di aggiornamento o modifica dei campi in una registrazione esistente. Ad esempio, ciò potrebbe consentire la transizione dello stato di un algoritmo da "Active" a "Deprecated" man mano che l'ambiente di sicurezza evolve.