Il tuo gestore di password non cifra la cassaforte con la tua password principale. Non può: una frase digitata da una persona non ha né la forma né la robustezza di una chiave crittografica.
La fa invece passare in una funzione di derivazione della chiave, o KDF, che la trasforma in una chiave di lunghezza fissa. E quella funzione è costruita per essere lenta di proposito.
Perché la lentezza è la funzione
Se derivare la chiave richiedesse un microsecondo, un attaccante in possesso di una cassaforte rubata potrebbe provare miliardi di password candidate al secondo. Far durare la derivazione una frazione di secondo non cambia nulla per te - digiti la password una volta - e moltiplica altrettanto il costo dell'attaccante a ogni tentativo.
È tutto il progetto. Il ritardo che noti appena è quello che l'attaccante paga, di continuo.
Il numero che lo comanda
Quanto è lenta la derivazione dipende da un fattore di lavoro: iterazioni per PBKDF2, memoria e passaggi per Argon2.
L'OWASP Password Storage Cheat Sheet mette ora Argon2id in testa alle sue raccomandazioni, con un minimo di 19 MiB di memoria, 2 iterazioni e 1 grado di parallelismo. Dove è richiesta la conformità FIPS-140, raccomanda PBKDF2 con 600.000 iterazioni o più, con HMAC-SHA-256.
Sulla progressione storica vale la pena fermarsi. Il numero di iterazioni PBKDF2 raccomandato è passato da 10.000 nel 2010 a 600.000 oggi: sessanta volte tanto, perché l'hardware degli attaccanti è accelerato mentre la matematica è rimasta la stessa.
L'impostazione che nessuno rivede
Ecco la conseguenza pratica, ed è la ragione d'essere di questo articolo.
Il tuo account è stato configurato il giorno in cui l'hai creato, con il valore predefinito di quel giorno. Se l'hai aperto anni fa, il fattore di lavoro memorizzato potrebbe essere ancora quello che allora si riteneva sufficiente, non quello che si ritiene sufficiente adesso. Le raccomandazioni si sono spostate; il tuo account non le ha seguite da solo.
La maggior parte dei gestori seri espone l'impostazione, e diversi hanno migrato il proprio predefinito ad Argon2id. Cambiarla è di solito questione di un campo nelle impostazioni di sicurezza, e la chiave viene riderivata allo sblocco successivo.
Due cautele prima di toccarla. Alzare il fattore di lavoro rende lo sblocco più lento sul tuo dispositivo più lento - il vecchio telefono, non il computer fisso - quindi provalo lì. Ed esporta prima una copia della cassaforte: l'operazione ricifra, e un'interruzione al momento sbagliato non è il momento di scoprire di non avere una copia.
Che cosa protegge davvero la cassaforte
L'ordine conta più di qualsiasi singolo numero.
Una password principale lunga e unica viene per prima. Nessun fattore di lavoro salva una frase debole: moltiplica solo il tempo necessario a romperla, e il multiplo di un numero molto piccolo resta piccolo.
Poi le impostazioni del KDF, che decidono quanto costa attaccare una cassaforte rubata.
Poi tutto il resto - l'autenticazione a due fattori protegge l'account sui server del fornitore, ma non protegge un file di cassaforte esportato che l'attaccante ha già. Contro quello agiscono solo la password principale e il KDF.
In breve
La tua password principale non è la chiave; è l'ingresso di una funzione deliberatamente lenta che produce la chiave. Quella funzione ha un fattore di lavoro, la guida attuale è Argon2id o PBKDF2 a 600.000 iterazioni, e il valore sul tuo account è probabilmente quello predefinito del giorno dell'iscrizione. Vale un'occhiata, una volta.

★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Ottieni NordPassGaranzia soddisfatti o rimborsati 30 giorni · Piano gratuito disponibile→Domande frequenti
Che cos'è un KDF in un gestore di password?
Una funzione di derivazione della chiave trasforma la tua password principale in una chiave crittografica. Una frase digitata non ha la lunghezza né la robustezza per cifrare direttamente una cassaforte, quindi il gestore la fa passare in una funzione come PBKDF2 o Argon2id, che produce una chiave di lunghezza fissa. La funzione è lenta di proposito, perché è quella lentezza a rendere costoso indovinare.
Quante iterazioni KDF servono?
Le indicazioni OWASP attuali mettono Argon2id al primo posto, con un minimo di 19 MiB di memoria, 2 iterazioni e 1 grado di parallelismo. Dove è richiesta la conformità FIPS-140 raccomandano PBKDF2 con 600.000 iterazioni o più con HMAC-SHA-256. Per confronto, nel 2010 il numero raccomandato era 10.000: sale via via che l'hardware degli attaccanti accelera.
Perché una funzione lenta è un bene?
Perché tu paghi il ritardo una volta, allo sblocco, e l'attaccante lo paga a ogni password candidata. Una derivazione di una frazione di secondo per te è impercettibile e moltiplica altrettanto il costo di un attacco a forza bruta, per ciascuno di miliardi di tentativi. La velocità gioverebbe solo all'attaccante.
Devo cambiare l'impostazione KDF su un vecchio account?
Vale la pena controllare, perché il tuo account conserva il valore predefinito del giorno in cui è stato creato e le raccomandazioni sono salite parecchio da allora. Due cautele: un fattore di lavoro più alto rallenta lo sblocco sul tuo dispositivo più lento, quindi provalo lì e non su una macchina veloce, ed esporta prima una copia della cassaforte, perché la modifica la ricifra.
L'autenticazione a due fattori rende il KDF meno importante?
No, proteggono cose diverse. L'autenticazione a due fattori protegge il tuo account sui server del fornitore. Non fa nulla per un file di cassaforte esportato o rubato, su cui un attaccante può lavorare offline al proprio ritmo. Contro quel file contano solo la robustezza della password principale e il fattore di lavoro del KDF.
