Registrazione e autenticazione senza email e senza password

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.

3 Mi Piace

Probabilmente è vero. Ma è difficile immaginare che chiunque utilizzerebbe il sistema che proponi non sappia cosa sia un gestore di password. Uso un gestore di password da circa un decennio, possiedo diverse chiavi FIDO, uso Google Authenticator e non capisco molto bene cosa stai proponendo.

Sembra improbabile che un sistema del genere venga aggiunto a meno che almeno alcuni clienti aziendali non lo richiedano. Credo che si tratti di almeno 50 ore di lavoro per qualcuno che conosce bene il sistema di autenticazione, e probabilmente il doppio se si includono specifiche adeguate. Qualche tempo fa c’è stato un tentativo di integrazione con Keybase, che avrebbe potuto fare parte di ciò che desideri, ma non credo sia andato molto lontano.

È comunque un’idea interessante. Forse è più semplice di quanto penso.

1 Mi Piace

Chiunque abbia un dispositivo recente con un autenticatore FIDO integrato potrebbe utilizzarlo molto facilmente. Tra qualche anno, questo potrebbe riguardare quasi tutti.

L’ho detto nel titolo: rendi l’email opzionale. Sarebbe ottimo rendere anche le password opzionali.

Sono sicuro che richiederebbe un lavoro considerevole per essere implementato. Penso che la parte più difficile sia rendere il design dell’esperienza utente davvero chiaro. Discourse ha già gli elementi di base in place, con l’autenticazione a due fattori che supporta FIDO e TOTP.

1 Mi Piace

Un primo piccolo passo verso l’implementazione di ciò potrebbe consistere nell’aggiungere l’interfaccia utente per la registrazione FIDO e TOTP direttamente nella schermata di registrazione, in modo da non doverla configurare come passaggio aggiuntivo nelle preferenze dopo il primo accesso. In seguito, il design dell’interfaccia potrebbe essere ulteriormente migliorato per rendere opzionali l’email e la password.

1 Mi Piace

Sono curioso di sapere cosa ne pensa @codinghorror, considerando i suoi vari post sul blog riguardanti le password.

3 Mi Piace

L’e-mail dovrebbe essere facoltativo. L’uso dell’e-mail sta diventando sempre più inaffidabile, impossibile a causa del grande oligopolio dei provider di posta elettronica.

Ora improvvisamente gmail sta bloccando il mio nome di dominio.

  • Anche dopo aver configurato perfettamente tutta la sicurezza e-mail (SPF, DKIM, DMARC, …) per anni
  • Cosa intendo per perfetto? Tutti gli strumenti di test e reporting della sicurezza e-mail mostrano “100% OK” e
  • il nome di dominio non è stato in nessuna lista di spam (spamhouse…) per anni.

Ma puoi contattare gmail? Certo…

Citazione Sender Contact Form - Gmail Help

Utilizzeremo le informazioni fornite per indagare e migliorare i nostri sistemi di rilevamento spam e abusi. Sfortunatamente, non possiamo fornire dettagli sui nostri risultati durante o dopo l’indagine.

Quindi probabilmente la risposta sarà simile a “sì, ci abbiamo guardato, non l’abbiamo risolto, il problema è dalla tua parte ma tu non condividi alcun esempio di spam e noi non ti diciamo qual è il problema”… Cioè, se c’è un problema.

Ho comunque utilizzato quel modulo di contatto. Ci vogliono due settimane per ricevere una risposta via e-mail, ha detto il modulo alla fine. Questo rende l’e-mail praticamente inaffidabile e troppo complicata da gestire.

Non è solo la mia esperienza.

Molte altre persone hanno scritto esperienze simili.

Questi imbrogli si aggiungono a tutte le difficoltà tecniche dell’auto-ospitare il proprio server di posta elettronica.

Potresti rendere l’e-mail facoltativa?

  • Al momento dell’iscrizione con indirizzo e-mail: sarà possibile il recupero della password.
  • Al momento dell’iscrizione senza indirizzo e-mail: il recupero della password sarà impossibile.
  • Se consentito dall’amministratore del sito (impostazione opzionale), avvisa l’utente ma consenti l’iscrizione senza indirizzo e-mail.
  • Solo nome utente + password.

Argomenti simili:

1 Mi Piace

Una soluzione rapida e semplice è utilizzare un altro sistema per l’autenticazione utilizzando Discourse Connect.

La mia precedente stima di quanto sarebbe stato difficile creare un sistema senza email è ampiamente errata. Utilizzare un altro identificatore con un nome host not-email.invalid per tali email dovrebbe essere fattibile. Penso che il plugin Sign-In with Ethereum possa fare ciò che desideri, se sei disposto a far utilizzare Ethereum alle persone, ma anche qualcosa di simile potrebbe funzionare. Hai bisogno di un modo per stabilire l’identità.

Hai bisogno di un modo per stabilire l’identità.

Solo nome utente + password.

Quindi chiunque (o qualsiasi bot) su tutta Internet può venire sul tuo forum e creare un numero infinito di account inventando un nome utente e una password?

Sì.

Nella mia esperienza con varie webapp, i bot spam non hanno molti problemi a creare indirizzi Gmail e di posta elettronica. Sul mio sito, inoltre, non escludiamo gli indirizzi email temporanei usa e getta. Esistono anche altri software per forum / forum che consentono la registrazione senza un indirizzo email (o senza uno valido) e anche questo non ha causato problemi, per quanto ho potuto vedere. Quindi, non vedo gli indirizzi email come una grande barriera per evitare un’inondazione di account bot / attacchi DOS.

Ma capisco da dove potresti venire. Consentire agli utenti di registrarsi senza indirizzo email potrebbe espandersi in molti problemi di follow-up. Cosa succede se c’è un’enorme inondazione di attacchi bot e/o attacchi DOS in cui viene creato un numero pazzesco di account del forum?

In tal caso, sarebbero necessarie misure di prevenzione antispam. Ma queste non sarebbero specifiche per quelle istanze di forum in cui l’email è opzionale rispetto a quelle in cui l’email è obbligatoria.

Questo perché gli spammer oggi hanno anche accesso a molti indirizzi email creati o hackerati. Potrebbero anche utilizzare provider di posta elettronica temporanea. Oppure acquistare/rubare un nome di dominio e configurare il proprio server di posta elettronica solo allo scopo di configurazioni di forum spam.

Le stesse domande sorgerebbero da entrambi, utenti che usano/non usano l’email. Ai fini di questa discussione, domande teoriche.

  • Come visualizzare tutti gli account creati da X giorni, che hanno effettuato l’accesso meno di X minuti fa, che hanno 0 post? Probabilmente account bot. Voglio trovarli e cancellarli tutti.
  • Come aggiungere una domanda personalizzata / puzzle / captcha / qualunque cosa prima di accettare una registrazione?
  • Il pannello di amministrazione potrebbe avere un pulsante facile con cui gli amministratori possono approvare/non approvare facilmente le nuove registrazioni in grado di gestire lo spam di massa?

Sembra che Google abbia trovato una soluzione interessante per questo utilizzando codici QR e Bluetooth:

1 Mi Piace

Correlato: Users logging with SSO, without email address

1 Mi Piace

Ora che le passkey sono così diffuse, molti servizi offrono la registrazione senza password, dove non è mai necessario creare una password. Avere una password vanifica i vantaggi di sicurezza delle passkey. Allo stesso modo, utilizzare l’email come metodo di recupero significa che la sicurezza di tutti i tuoi account dipende dalla sicurezza del tuo account email. Richiedere password/email è dannoso per la sicurezza e la privacy degli utenti, per non parlare di quanto sia facile creare nuovi account email. Posso dire per esperienza che il requisito dell’email non impedisce affatto ai bot di inviare spam al tuo forum. Uno dei motivi principali per cui i servizi hanno storicamente richiesto un’email è per consentirti di recuperare il tuo account in caso di dimenticanza della password, ma con le passkey queste vengono memorizzate nel tuo gestore di password e sincronizzate su più dispositivi. Puoi persino aggiungere più passkey a un account, eliminando quasi del tutto il problema delle persone che dimenticano la password. Ecco alcuni esempi di siti che implementano la registrazione senza password:

https://app.uninbox.com/ Questo, secondo me, è particolarmente valido poiché non richiede un’email
https://www.kayak.com/

1 Mi Piace

Per favore, spiegamelo come se avessi 80 anni.

Target offre la registrazione utilizzando solo passkey con opzione email/password) e Discourse impone l’uso di email o email tramite SSO. Kayak (tra l’altro, non mi piace affatto quel nome di dominio :smirking_face:) utilizza solo Google SSO, e Discourse lo offre già.

Quindi la domanda aperta qui è se esista un’opzione simile a quella che usa Target, perché l’opzione Kayak è già presente (non limiterei la registrazione solo agli utenti Google, ma questo sono solo io).

Cosa succede quando un utente Target passa, ad esempio, da iPhone ad Android?

Kayak in realtà ti permette di registrarti con una passkey se inserisci la tua email. Sfortunatamente l’email è ancora richiesta.

Le tue passkey dovrebbero essere sincronizzate con il tuo gestore di password in modo che siano disponibili. Puoi anche aggiungere più passkey a un account in modo da poterne creare una nuova anche con il nuovo telefono. Attualmente stanno lavorando per renderle esportabili in modo da poter passare più facilmente tra i gestori di password.

1 Mi Piace