Tutte le storie di password finiscono allo stesso modo: qualcuno teneva il tuo segreto da qualche parte, e l’ha perso.
L’anno non conta. All’inizio stava in un file di testo in chiaro su un computer condiviso, ed è bastato chiedere al sistema di stamparlo. Nel 1979, Morris e Thompson hanno spiegato come salare e rendere più costoso il calcolo dell’hash, perché una lista rubata non si trasformasse all’istante in una lista di password: un progresso enorme. Poi sono arrivate le regole di composizione che ci hanno convinti a mettere un simbolo in fondo. Ma la forma del problema non si è spostata di un millimetro in tutto questo tempo: c’è un segreto, tu lo conosci, il server può verificarlo, e quindi il server ha qualcosa da perdere.
Tutto quello che abbiamo fatto da allora consiste nel rendere quel segreto più lungo, più strano, più salato, più lento da spezzare. Nessuno si è fatto la domanda che veniva prima: e se non ci fosse nessun segreto condiviso?
1976 l’idea che un segreto possa avere due metà
Nel 1976, Whitfield Diffie e Martin Hellman pubblicarono New Directions in Cryptography. L’idea era quasi offensiva per quanto era semplice: una chiave si può spezzare in due pezzi che non sono intercambiabili. Uno lo distribuisci ai quattro venti; l’altro non esce di casa tua. Quello che firmi con la privata si verifica con la pubblica, ma la pubblica non serve a firmare niente.
Rileggilo pensando a un server: il sito non ha più bisogno di custodire qualcosa con cui si possa entrare. Solo la metà che non apre nulla.
Che quell’idea abbia impiegato quasi mezzo secolo ad arrivare sullo schermo della tua banca non depone granché a favore del nostro settore. I certificati client esistevano e funzionavano; quello che non esisteva era un modo di usarli che non richiedesse un master. La crittografia era risolta. L’usabilità, no.
2013 qualcuno si mette d’accordo, tanto per cambiare
Nel 2013 nasce la FIDO Alliance, un consorzio industriale con un obiettivo dichiarato e per niente modesto: ridurre la dipendenza dalle password. La cosa importante non fu la tecnologia —quella c’era già— ma che produttori, browser e servizi si sedessero a concordare uno stesso protocollo. Sembra burocrazia ed era esattamente ciò che mancava: un meccanismo di autenticazione che funziona su un solo browser e con un solo servizio non è un meccanismo, è un aneddoto.
2019 il browser impara a fare crittografia
A marzo 2019 WebAuthn è diventato raccomandazione del W3C. Tradotto: qualsiasi pagina poteva ormai chiedere al browser —con un’API standard, senza plugin né driver— di generare una coppia di chiavi e di firmare con quella.
Il flusso, senza fronzoli, è questo. Quando ti registri, il tuo dispositivo crea una coppia di chiavi nuova, specifica per quel sito. Manda la pubblica. Si tiene la privata, custodita dal dispositivo stesso e protetta dalla tua impronta, dal tuo volto o dal suo PIN. Quando torni, il sito ti manda una sfida casuale, il tuo dispositivo la firma, e il sito verifica la firma con la pubblica che aveva già.
Guarda bene cosa non succede: non viaggia nessun segreto. Il server non ha mai avuto la tua chiave privata, quindi non può perderla. Se domani gli sfilano il database intero, quello che si portano via è un elenco di chiavi pubbliche —più o meno come rubare l’elenco telefonico—. Non ci sono hash da dare in pasto a una GPU né dizionari da provare. Non è che sia difficile: è che lì non c’è niente che valga.
L’effetto collaterale è più grande dell’idea
Quando il tuo dispositivo crea quella coppia di chiavi, la lega al dominio. La
chiave che ha salvato per latuabanca.it viene offerta solo a latuabanca.it.
Non è una policy, né un avvertimento, né un avviso rosso nella barra: è che la
chiave per latuabanc4-sicurezza.com non esiste. Il browser non la trova perché
non è mai stata creata.
Questo ammazza il phishing. Non lo riduce: lo lascia senza meccanismo. Tutto il business del phishing si regge sul fatto che tu puoi digitare la tua password sul sito sbagliato, e sono anni che proviamo a rimediare con la formazione degli utenti e le campagne di sensibilizzazione. Era tutto curare il sintomo. Il tuo occhio si fa fregare da un URL somigliante; il tuo telefono no. Non legge: confronta stringhe.
Per la stessa strada se ne va anche il riuso, che era l’altro peccato capitale. Ogni sito ha la sua coppia di chiavi. Non c’è niente da riusare nemmeno volendo.
2022 i tre che comandano firmano la pace
A maggio 2022, Apple, Google e Microsoft hanno annunciato congiuntamente che avrebbero ampliato il supporto alle credenziali FIDO —le passkey— sulle loro piattaforme e nei loro browser.
È quello che ha trasformato la faccenda da nota tecnica a qualcosa che puoi spiegare a tua madre. Fino ad allora, WebAuthn voleva dire quasi sempre una chiave fisica USB: eccellente, e per tre persone in tutto. La passkey vive dove hai già il telefono in mano e si sblocca guardandolo in faccia.
Cosa non risolve
Adesso le clausole in piccolo, perché il settore passerà i prossimi anni fingendo che non esistano.
Il recupero resta il punto molle. Il buco non è sparito: si è spostato. Se perdi il dispositivo, qualcuno deve decidere che sei tu, e quella decisione si prende quasi sempre via email, via SMS o parlando con un essere umano in un call center. Quell’essere umano è esattamente lo stesso bersaglio di prima. Hai blindato la porta d’ingresso e quella sul retro è rimasta dov’era.
La sincronizzazione ti lega a un ecosistema. Le passkey sono comode perché la tua piattaforma le replica fra i tuoi apparecchi. Che è un altro modo di dire che le tue chiavi vivono nel portachiavi di un’azienda precisa. Uscirne non è impossibile, ma non è nemmeno un pulsante. Hai scambiato il problema di ricordare con quello di appartenere.
E ti serve comunque entrare se perdi il telefono. Il che in pratica significa che quasi nessun sito ha tolto la password: l’ha nascosta dietro a un «problemi di accesso?». Finché quel link esiste, esiste la password, ed è brutta esattamente come è sempre stata. La catena si spezza sul metodo più debole che accetti, non su quello più elegante che offri.
Cosa fare nel frattempo
Attiva le passkey dove te le offrono e comincia da quello che fa più male se cade: la posta, la banca, l’account che usi per entrare in tutti gli altri. È una delle poche migliorie di sicurezza che per giunta ti toglie lavoro.
E non illuderti: avrai password ancora per anni, foss’anche solo come piano B. Che siano lunghe, diverse su ogni sito e dentro un gestore. Se ne vuoi una che non esca dalla tua testa, usa il generatore; se vuoi sapere se quella che hai regge qualcosa, passala dal controllo.
La vecchia domanda della sentinella —sei dei nostri?— ha finalmente una risposta diversa. Per decenni abbiamo risposto pronunciando una parola che si poteva origliare. Adesso rispondiamo con una firma che può fare solo il tuo dispositivo, senza che la parola arrivi mai a esistere. È la prima volta che cambiamo la domanda invece della parola.
Fonti: W. Diffie e M. Hellman, «New Directions in Cryptography», IEEE Transactions on Information Theory, 1976 · R. Morris e K. Thompson, «Password Security: A Case History», Communications of the ACM, 1979 · FIDO Alliance, costituita nel 2013 · «Web Authentication: An API for accessing Public Key Credentials», raccomandazione del W3C, marzo 2019 · annuncio congiunto di Apple, Google e Microsoft sul supporto alle passkey, maggio 2022.