L’insicurezza e i problemi di usabilità delle password sono ben noti. Le password sono qualcosa che si conosce, quindi sono vulnerabili alla dimenticanza, un evento che si verifica frequentemente. Di conseguenza, la posta elettronica è ampiamente utilizzata come backup per il reset delle password.
Anche la posta elettronica presenta molti problemi. Similmente alle password, le persone tendono a riutilizzare lo stesso indirizzo email su numerosi servizi, creando un rischio per la privacy se l’email viene scoperta a partire da uno di tali servizi. È sempre più difficile ottenere un indirizzo email senza fornire informazioni identificative personali al server di posta. Come deterrente contro lo spam (e probabilmente anche perché rende più facile indirizzare la pubblicità agli utenti), i servizi di posta gratuiti richiedono tipicamente la fornitura di un numero di telefono, che è facile associare a una persona specifica. I servizi di posta a pagamento potrebbero non richiedere un numero di telefono, ma pagare per un servizio senza fornire informazioni identificative personali è anch’esso difficile, e affidarsi a un abbonamento a un servizio di posta a pagamento è vulnerabile a cambiamenti nelle circostanze finanziarie. Inoltre, oggi è difficile ospitare in modo affidabile un server di posta in proprio. Oltre ai problemi di privacy, la centralizzazione creata dal riutilizzo di un account email su molti servizi genera anche un rischio di sicurezza, poiché la compromissione dell’account email comporterebbe la compromissione di molti altri account.
Oggi non abbiamo bisogno né di password né di email per registrarsi o autenticarsi a un servizio. Discourse supporta già FIDO e TOTP, ma richiede ancora una password e un indirizzo email per la registrazione e l’autenticazione. Sarebbe ottimo se Discourse rendesse opzionali password ed email, favorendo invece FIDO e TOTP.
L’autenticazione a un fattore con FIDO può essere molto comoda, ma è vulnerabile alla perdita o distruzione dell’unico token FIDO, simile al problema della registrazione con una password ma senza indirizzo email. Per risolvere questo problema, propongo che gli utenti siano tenuti a fornire almeno due fattori per registrarsi, che potrebbero essere qualsiasi combinazione di FIDO, TOTP e/o password. Gli utenti che desiderano un’autenticazione senza email e senza password potrebbero semplicemente registrare due autenticatori FIDO roaming, come le Yubikey. Gli utenti potrebbero essere invitati (o potenzialmente obbligati, specialmente gli amministratori) a registrare più dei due fattori minimi necessari per evitare di perdere l’accesso ai propri account.
Poiché gli autenticatori FIDO di piattaforma sono sempre più integrati nei dispositivi grazie a Windows Hello, Apple Touch & Face ID e Android, questo sistema di registrazione senza email potrebbe essere utilizzabile anche da utenti non tecnici che non possiedono hardware specializzato di autenticatori roaming come le Yubikey. Gli utenti potrebbero registrarsi utilizzando l’autenticatore FIDO di piattaforma più una password. L’autenticazione a un fattore con l’autenticatore FIDO di piattaforma potrebbe funzionare in modo trasparente con una tale configurazione. Tuttavia, ciò creerebbe un problema di usabilità per l’autenticazione su nuovi dispositivi, poiché gli utenti non avrebbero a disposizione l’autenticatore FIDO di piattaforma su un nuovo dispositivo e affidarsi esclusivamente alla password per configurare un nuovo dispositivo non sarebbe sicuro. Per risolvere questo problema, propongo un flusso di lavoro simile a quello utilizzato da Matrix per autenticare nuovi client. L’utente potrebbe tentare di accedere su un nuovo dispositivo utilizzando l’autenticatore FIDO di piattaforma di quel dispositivo (un nuovo fattore) e la propria password (un fattore già registrato). Questo non effettuerà effettivamente l’accesso, ma genererà una richiesta per approvare il nuovo autenticatore FIDO nell’account. L’interfaccia utente sul nuovo dispositivo quindi indirizzerà l’utente a effettuare l’accesso su un dispositivo già registrato per approvare il nuovo dispositivo. Con gli autenticatori FIDO di piattaforma integrati nei dispositivi mobili, questo potrebbe essere praticamente utilizzabile per un’autenticazione sicura senza hardware specializzato di autenticatori roaming o sacrificando la possibilità di utilizzare qualsiasi dispositivo ad hoc, come un chiosco pubblico.
Ho ideato questo sistema di registrazione e autenticazione anonimo ieri, dopo aver ricevuto le mie Yubikey. Non sono a conoscenza di sistemi che lo implementino. Mi piacerebbe vedere un’applicazione web matura e già ampiamente distribuita come Discourse aprire la strada a un futuro in cui non sia richiesta l’email o altre informazioni identificative personali per utilizzare Internet.