COS'È UNA FUNZIONE DI DERIVAZIONE DELLA CHIAVE?
Una funzione di derivazione della chiave (KDF - Key Derivation Function) è un algoritmo che trasforma una password in una chiave crittografica adatta alle operazioni di crittografia. A differenza delle funzioni hash standard, le KDF sono specificatamente progettate per resistere agli attacchi di forza bruta e di dizionario rendendo il processo intenzionalmente lento e dispendioso in termini di risorse.
PBKDF2: UNO STANDARD CONSOLIDATO
Funzionamento di PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) è una funzione di derivazione standardizzata che ha dato prova di sé per molti anni. Il suo funzionamento si basa su tre elementi chiave:
- Funzione hash sottostante: PBKDF2 utilizza una funzione come SHA-256 o HMAC per effettuare operazioni crittografiche ripetute.
- Sale crittografico: Un sale casuale unico viene aggiunto alla password per impedire l'uso di tabelle precalcolate (rainbow tables).
- Iterazioni: PBKDF2 applica la funzione hash migliaia, persino milioni di volte, il che aumenta considerevolmente il tempo necessario per testare ogni potenziale password.
Vantaggi di PBKDF2 in Sigalion Vault
- Compatibilità universale: Essendo uno standard riconosciuto (RFC 2898), PBKDF2 è supportato da praticamente tutte le piattaforme e librerie crittografiche.
- Validazione rigorosa: Utilizzato e testato per decenni, le sue proprietà di sicurezza sono ben comprese.
- Flessibilità parametrica: Il numero di iterazioni può essere regolato in funzione dell'evoluzione della potenza di calcolo.
ARGON2ID: UN'ALTERNATIVA ROBUSTA E MODERNA
Argon2 ha vinto nel 2015 la "Password Hashing Competition", una competizione internazionale volta a creare un nuovo standard di hash delle password. La variante Argon2id, utilizzata in Sigalion Vault, combina il meglio degli approcci Argon2i (resistenza agli attacchi side-channel) e Argon2d (resistenza massima agli attacchi GPU).
Funzionamento di Argon2id
Argon2id si distingue per tre parametri configurabili:
- Tempo di esecuzione: Simile alle iterazioni di PBKDF2, definisce la durata del calcolo.
- Memoria richiesta: Argon2id consuma deliberatamente una quantità significativa di RAM, rendendo gli attacchi tramite hardware specializzato molto più costosi.
- Parallelismo: Il numero di thread utilizzati, ottimizzando l'utilizzo su processori multi-core mantenendo al contempo una forte resistenza agli attacchi.
Vantaggi di Argon2id in Sigalion Vault
- Resistenza agli attacchi hardware: Grazie ai suoi requisiti di memoria, Argon2id rende gli attacchi tramite GPU, FPGA o ASIC esponenzialmente più costosi.
- Protezione contro vari metodi di attacco: La variante "id" offre un buon equilibrio tra sicurezza contro attacchi side-channel e forza bruta.
- Adattabilità: I parametri possono essere regolati per mantenere un livello di sicurezza costante di fronte all'evoluzione tecnologica.
PERCHÉ UTILIZZARE DUE FUNZIONI DI DERIVAZIONE IN SIGALION VAULT?
Sigalion Vault implementa sia PBKDF2 che Argon2id per diverse ragioni strategiche:
- Compatibilità e migrazione: PBKDF2 assicura la compatibilità con i sistemi esistenti permettendo al contempo una migrazione progressiva verso Argon2id.
- Difesa in profondità: L'utilizzo di due algoritmi differenti costituisce una protezione aggiuntiva. Se venisse scoperta una vulnerabilità in uno di essi, l'altro continuerebbe a proteggere i vostri dati.
- Adattamento ai contesti d'uso: PBKDF2 può essere più adatto ai dispositivi con risorse limitate, mentre Argon2id offre la massima sicurezza sui sistemi che dispongono di memoria sufficiente.
OTTIMIZZAZIONE ED ESPERIENZA UTENTE: UN EQUILIBRIO DELICATO
La scelta e la configurazione delle funzioni di derivazione della chiave non si limitano unicamente alla robustezza contro gli attacchi. È cruciale considerare l'impatto sulle prestazioni dell'applicazione e, di conseguenza, sull'esperienza utente.
Un numero di iterazioni troppo elevato in PBKDF2 o parametri di memoria e tempo di esecuzione troppo importanti in Argon2id possono causare ritardi notevoli durante l'autenticazione. Se questo ritardo diventa eccessivo, può degradare l'esperienza utente e potenzialmente frustrare gli utenti.
È per questo che Sigalion Vault si sforza di trovare un equilibrio ottimale. I parametri predefiniti sono scelti per offrire un alto livello di sicurezza garantendo al contempo un'autenticazione rapida per la maggior parte dei casi d'uso.
L'applicazione è progettata per far evolvere dinamicamente questi parametri nel tempo. Questo approccio proattivo permette di mantenere un livello di sicurezza ottimale di fronte all'evoluzione delle minacce e delle capacità di calcolo, assicurando al contempo che l'autenticazione rimanga rapida e fluida per un'esperienza utente ottimale.