Passa al contenuto principale

4. Applications of HKDF (Applicazioni di HKDF)

4. Applications of HKDF (Applicazioni di HKDF)

HKDF è destinato all'uso in un'ampia varietà di applicazioni KDF. Queste includono la costruzione di generatori pseudocasuali da fonti imperfette di casualità (come un generatore di numeri casuali fisico (random number generator, RNG)); la generazione di pseudocasualità da fonti deboli di casualità, come entropia raccolta da eventi di sistema, battute di tasti dell'utente, ecc.; la derivazione di chiavi crittografiche da un valore Diffie-Hellman condiviso in un protocollo di accordo di chiavi; la derivazione di chiavi simmetriche da uno schema di crittografia a chiave pubblica ibrido; la derivazione di chiavi per meccanismi di key-wrapping; e altro ancora. Tutte queste applicazioni possono beneficiare della semplicità e della natura multiuso di HKDF, così come dalla sua fondazione analitica.

D'altra parte, si prevede che alcune applicazioni non saranno in grado di utilizzare HKDF "così com'è" a causa di requisiti operativi specifici, o saranno in grado di utilizzarlo ma senza i pieni benefici dello schema. Un esempio significativo è la derivazione di chiavi crittografiche da una fonte di bassa entropia, come una password utente. Il passo di estrazione in HKDF può concentrare l'entropia esistente ma non può amplificare l'entropia. Nel caso delle KDF basate su password, un obiettivo principale è rallentare gli attacchi a dizionario utilizzando due ingredienti: un valore salt e il rallentamento intenzionale del calcolo di derivazione della chiave. HKDF accomoda naturalmente l'uso del salt; tuttavia, un meccanismo di rallentamento non fa parte di questa specifica. Le applicazioni interessate a una KDF basata su password dovrebbero considerare se, ad esempio, [PKCS5] soddisfa meglio le loro esigenze rispetto a HKDF.