Perché esiste affatto una funzione di derivazione
Le credenziali umane provengono da uno spazio molto più piccolo e prevedibile delle chiavi di crittografia casuali. Una funzione di derivazione delle chiavi colma quel divario combinando ciò che digiti con un salt unico e un costo computazionale deliberato.
Il costo è lo scopo. Rende ogni tentativo costoso, così che un attaccante che prova un elenco di credenziali probabili paghi quel prezzo a ogni tentativo anziché testarne milioni al secondo.
Cosa fa effettivamente ogni funzione
PBKDF2 è ampiamente standardizzato, ben compreso e disponibile quasi ovunque. Aumenta il costo principalmente tramite il calcolo ripetuto: un alto numero di iterazioni applicato a una funzione di hash.
Argon2id aggiunge un costo di memoria regolabile insieme al calcolo. Richiedere una quantità sostanziale di memoria per ogni tentativo riduce il vantaggio dell'hardware parallelo specializzato, che è dove il tentativo di indovinare su larga scala trova la sua convenienza economica.
Perché i conteggi delle iterazioni non sono confrontabili tra algoritmi
È allettante confrontare un conteggio di iterazioni PBKDF2 con un parametro temporale di Argon2id, ma misurano cose diverse e i numeri non sono intercambiabili.
Ciò che conta è il costo totale imposto per tentativo su hardware d'attacco realistico, che dipende da memoria, parallelismo e parametri temporali insieme. Un insieme di parametri pubblicato può essere valutato; un singolo numero citato senza contesto no.
Le parti che contano quanto l'algoritmo
- Un salt casuale unico per credenziale, così che il precalcolo non guadagni nulla.
- Parametri pubblicati, e un percorso di migrazione dichiarato quando vengono aumentati.
- Versionamento, così che gli utenti esistenti possano essere aggiornati anziché isolati.
- Dove la chiave derivata è memorizzata tra le sessioni, che è un controllo del tutto separato.
- La robustezza della credenziale stessa, che nessuna funzione di derivazione può fabbricare.
Leggere l'affermazione
- Confrontare i numeri di iterazione tra algoritmi diversi come se fossero equivalenti.
- Chiamare forte un qualsiasi PIN umano corto perché è coinvolta una funzione di derivazione.
- Presumere che un algoritmo moderno compensi una credenziale debole o riutilizzata.
Il riassunto pratico
Argon2id con parametri di memoria e tempo sensati è il default migliore per i nuovi design, e un PBKDF2 correttamente configurato con un alto numero di iterazioni rimane difendibile.
Entrambe le scelte sono minate da una credenziale a quattro cifre. La funzione di derivazione aumenta il costo per tentativo; non riduce quanto pochi tentativi ci siano.
Maya inizia con un test non sensibile: «Cerca parametri pubblicati e strategia di migrazione». Poi, Maya segue la seconda verifica: «Conferma i salt casuali unici». Questo scenario fittizio illustra il processo decisionale; non è un resoconto di test di prodotto.
- Confrontare direttamente i numeri di iterazione tra algoritmi diversi
- Chiamare forte un qualsiasi PIN umano perché esiste una KDF
Cosa usa NullVault?
Il design su Android specifica la derivazione delle chiavi Argon2id a memoria intensiva.
Che cosa dovrei verificare prima di affidarmi a «pbkdf2 contro argon2id per le password della cassaforte»?
Per «pbkdf2 contro argon2id per le password della cassaforte», verifica l'elemento protetto dopo un blocco completo, identifica ogni copia rimanente e conferma il recupero prima di eliminare un originale insostituibile. I controlli esatti dipendono dal dispositivo, dalla versione del sistema operativo e dal modello di archiviazione descritti in questa guida.
«PBKDF2 contro argon2id per le password della cassaforte» rimuove ogni altra copia?
No. Quando consideri «pbkdf2 contro argon2id per le password della cassaforte», tratta esportazioni, librerie cloud, messaggi, download, destinatari, backup e cartelle di elementi eliminati come copie o confini di archiviazione separati che richiedono il proprio esame.