2.1. La Persistenza delle Password
Come discusso da Herley, van Oorschot e Patrick, le password persistono grazie al loro basso costo, semplicità e familiarità per l'utente. Le tecnologie sostitutive come FIDO/UAF affrontano ostacoli all'adozione.
Questo articolo affronta la sfida cruciale della gestione delle password negli ecosistemi digitali moderni. Nonostante le diffuse preoccupazioni sulla sicurezza, le password rimangono la forma dominante di autenticazione utente. Esploriamo i generatori di password come alternativa ai tradizionali gestori di password, proponendo il primo modello generale per tali sistemi e valutando criticamente le opzioni di implementazione esistenti e innovative.
L'insostenibile onere per gli utenti di memorizzare numerose password forti e univoche è il principale motore di questa ricerca. Gli studi indicano che gli utenti gestiscono dozzine di account, un numero che è solo cresciuto dal lavoro fondamentale di Florêncio e Herley (2007).
Come discusso da Herley, van Oorschot e Patrick, le password persistono grazie al loro basso costo, semplicità e familiarità per l'utente. Le tecnologie sostitutive come FIDO/UAF affrontano ostacoli all'adozione.
I gestori di password, sebbene popolari, presentano difetti significativi. I gestori con archiviazione locale ostacolano la mobilità, mentre quelli basati su cloud introducono punti centrali di fallimento, come evidenziato da violazioni reali [3, 13, 18, 19].
Proponiamo un modello unificato in cui una password specifica per sito $P_{site}$ viene generata on-demand tramite una funzione deterministica $G$.
La funzione di generazione principale può essere formalizzata come: $P_{site} = G(M, C, S, Aux)$. Dove:
Un generatore di password robusto deve fornire: Determinismo (stessi input producono la stessa password), Univocità (siti diversi producono password diverse), Resistenza agli Attacchi (preimmagine, collisione) e Usabilità.
Gli schemi precedenti (es. PwdHash, SuperGenPass) vengono analizzati all'interno del modello proposto, evidenziando le loro implementazioni di $M$, $C$, $S$ e $G$.
Gli schemi possono essere categorizzati per:
Una scoperta chiave è la tensione intrinseca. Gli schemi che privilegiano l'usabilità (input utente minimo) spesso indeboliscono la sicurezza contro attacchi mirati. Gli schemi che richiedono più sforzo all'utente (es. inserire un contatore) riducono la praticità.
Alta Usabilità / Sicurezza Inferiore: Schemi come le prime varianti di PwdHash sono suscettibili al phishing se l'estrazione del dominio viene falsificata.
Alta Sicurezza / Usabilità Inferiore: Gli schemi che richiedono l'inserimento manuale di un contatore variabile ($Aux$) sono soggetti a errori utente e desincronizzazione.
Guidati dal modello e dall'analisi, abbozziamo AutoPass, un progetto che mira a sintetizzare i punti di forza e mitigare le debolezze dello stato dell'arte precedente.
AutoPass prevede un componente lato client che interagisce con un servizio di sincronizzazione (opzionale) attendibile. La funzione di generazione $G_{AutoPass}$ incorporerebbe un elemento basato sul tempo o su una sfida del server per fornire resistenza agli attacchi di replay senza gravare sull'utente.
Un generatore di password robusto può essere visto come una KDF specializzata. Una potenziale costruzione per schemi ispirati ad AutoPass: $$P_{site} = Truncate( HMAC( K_{derived}, S \, || \, C_{sync} \, || \, Challenge ) )$$ Dove: $K_{derived} = KDF(M, Salt, iterations)$, $C_{sync}$ è uno stato client sincronizzato, e $Challenge$ è un nonce dal server o una fetta temporale. La funzione $Truncate$ adatta l'output a specifiche politiche di password (lunghezza, set di caratteri).
Il modello deve difendersi da:
Approfondimento Fondamentale: Il lavoro di Al Maqbali e Mitchell è una cruciale e lungamente attesa sistematizzazione della conoscenza (SoK) per i generatori di password. Il campo ha sofferto di proposte ad-hoc e isolate. Stabilendo un modello formale $P_{site} = G(M, C, S, Aux)$, forniscono la lente essenziale attraverso cui valutare le affermazioni di sicurezza e le promesse di usabilità. Ciò rispecchia il ruolo fondamentale che i modelli formali hanno avuto nell'avanzare altri domini crittografici, come i framework di indistinguibilità per la cifratura.
Flusso Logico & Contributo: La logica del documento è impeccabile: 1) Riconoscere l'immutabilità del problema delle password, 2) Esporre i difetti nella soluzione attuale (gestori di password), 3) Proporre un modello unificante per l'alternativa (generatori), 4) Utilizzare il modello per sezionare lo stato dell'arte precedente, rivelando i loro spesso trascurati compromessi, e 5) Abbozzare un nuovo design (AutoPass) che il modello stesso suggerisce. L'AutoPass proposto, sebbene non completamente specificato, identifica correttamente il pezzo critico mancante: la gestione sicura e automatizzata dello stato. I generatori attuali sono o stateless (vulnerabili al phishing) o mettono la gestione dello stato sull'utente (vulnerabili all'errore). La visione di AutoPass di una sincronizzazione trasparente affronta questo problema direttamente.
Punti di Forza & Difetti: Il punto di forza principale è il modello stesso: è semplice ma espressivo. L'analisi del parametro $S$ (sito) è particolarmente acuta, evidenziando come gli attacchi di phishing minino fondamentalmente gli schemi che si basano esclusivamente sul nome di dominio visibile. Il difetto del documento, riconosciuto dagli autori, è la natura preliminare di AutoPass. È uno schizzo di design, non una specifica. Inoltre, l'analisi si basa pesantemente sulla sicurezza logica; manca uno studio empirico rigoroso sull'usabilità che confronti gli schemi generatori. Come si confronta il carico cognitivo di gestire un segreto principale per un generatore con l'utilizzo di un gestore basato su cloud come 1Password? Studi come quello di Pearman et al. (CHI 2017) sull'usabilità dei gestori di password suggeriscono che questa è una domanda non banale.
Approfondimenti Pratici: Per gli architetti della sicurezza, questo documento è un mandato: smettete di valutare i generatori di password in isolamento. Usate il modello $G(M, C, S, Aux)$ come checklist. Qual è l'esatta implementazione di $S$? È vulnerabile al phishing? Come viene gestito $Aux$, e chi sostiene il costo del fallimento? Per i ricercatori, la strada da seguire è chiara. Il lavoro di maggior valore consiste nel concretizzare la visione di AutoPass, in particolare il meccanismo di sincronizzazione. Può essere fatto in modo decentralizzato e rispettoso della privacy utilizzando dispositivi personali, simile a iCloud Keychain di Apple ma per password generate? Un'altra strada è l'integrazione con il paradigma WebAuthn/FIDO2: potrebbe una $P_{site}$ del generatore essere derivata da una credenziale supportata da hardware, creando un "generatore di passkey"? Il documento sposta con successo la conversazione dal "se" i generatori siano fattibili al "come" costruirne uno fattibile, che è il suo contributo più significativo.
Caso: Valutazione di un ipotetico plugin browser "SimpleHash".