Accesso senza password usando passkey

Facendo seguito a Support passwordless login with Passkeys e dopo alcune settimane di test interni, siamo lieti di annunciare che il supporto per le passkey è ora disponibile in Discourse.

Cosa sono le passkey

Le passkey sono un’alternativa più sicura e semplice all’uso delle password per l’autenticazione. La creazione e l’utilizzo di una passkey sono ora ampiamente supportati su piattaforme e browser. Rispetto alle password, le passkey hanno una maggiore sicurezza integrata grazie a credenziali generate dalla piattaforma e alla validazione dell’identità biometrica (come TouchID, FaceID, PIN o password del dispositivo). Le passkey sono anche al sicuro da fughe di dati lato server (la parte privata della chiave non lascia mai il dispositivo) o dal phishing (ogni chiave è collegata a un solo sito web/servizio).

Distribuzione della funzionalità

Se sei un cliente ospitato, il supporto per le passkey verrà distribuito sulla tua istanza nei prossimi giorni. Se desideri abilitarle subito, contatta @team qui su meta o via email a team@discourse.org.

Se stai auto-ospitando Discourse, tieni presente che la funzionalità sarà abilitata per impostazione predefinita nel core di Discourse a breve è ora abilitata per impostazione predefinita nel core a partire da questo commit. Se desideri disabilitarla, puoi farlo tramite la console Rails:

launcher enter app
rails c
SiteSetting.enable_passkeys = false

Nota che le passkey possono essere utilizzate solo su istanze Discourse con login locali abilitati. Se la tua istanza non utilizza login locali, la funzionalità passkey non ha alcun effetto.


Una volta abilitata la funzionalità, gli utenti potranno aggiungere passkey al proprio account andando nella scheda Sicurezza delle preferenze utente:

Una volta registrata una passkey, gli utenti potranno accedere con essa tramite il menu a discesa di autocompletamento sotto il campo del nome utente (1) o facendo clic sul pulsante “Accedi con una passkey” (2).

Maggiori dettagli

Sono disponibili numerose risorse e guide sulle passkey. Ho trovato le seguenti le più utili:

Possibili miglioramenti futuri

Una volta completato il rilascio iniziale della funzionalità, potremmo prendere in considerazione i seguenti miglioramenti:

  • Consentire la configurazione di una passkey alla creazione dell’account
  • Consentire l’uso delle passkey durante la conferma di azioni sensibili (attualmente supportato nella scheda Sicurezza delle Preferenze utente ma non in alcune schermate riservate agli amministratori)
  • Consentire la rimozione completa delle password (su base per utente o per istanza?)
32 Mi Piace

Questa è un’ottima aggiunta! Tuttavia, i vantaggi di sicurezza possono essere facilmente aggirati accedendo con una password. Mi aspettavo di dover ancora inserire una passkey dopo aver inserito la mia password, ma effettua semplicemente l’accesso con la password. Questo può essere evitato registrando nuovamente le chiavi di sicurezza nelle impostazioni separate 2FA, ma non è ovvio ed è macchinoso.

3 Mi Piace

Grazie @Be0

Nella maggior parte delle implementazioni attuali, le passkey non vengono ancora distribuite in questo modo. Sono trattate come indipendenti dall’autenticazione a due fattori (2FA), vedi questo report sull’approccio di Youtube. Penso che l’industria si adatterà lentamente a questo.

Sono necessarie due modifiche affinché ciò funzioni come ti aspetti:

passaggio 1: consentire l’uso delle passkey come 2FA (attualmente, come hai notato, le chiavi di sicurezza devono essere registrate separatamente)
passaggio 2: imporre la 2FA sui login con password quando l’utente ha aggiunto una passkey

Il passaggio 1 ha senso per me e non è dirompente. Anche il passaggio 2 ha senso, ma è un po’ dirompente; se l’utente elimina la passkey dal proprio browser (o non ce l’ha su un dato dispositivo), l’accesso verrà bloccato.

Penso che valga la pena approfondire la questione.

7 Mi Piace

Ciao, quando navigo sul mio sito Discourse da mobile (Firefox), le passkey non sono supportate, è come previsto?

4 Mi Piace

Penso che Firefox stia lavorando attivamente per aggiungere il supporto per le passkey in generale, ma non è ancora al 100% se sto interpretando correttamente questo grafico.

A seconda della tua versione e del tuo sistema operativo, potrebbe non essere ancora disponibile. Ho appena fatto un rapido test su macOS e iOS, e l’autenticazione tramite passkey era disponibile e funzionante per me qui su meta.discourse.org.

5 Mi Piace

Un post è stato diviso in un nuovo argomento: Problemi nell’uso delle passkey con vaultwarden

Se la funzione di completamento automatico del browser non include la passkey per qualche motivo, puoi fare clic sul pulsante “Accedi con una passkey”.

3 Mi Piace

Puoi scrivere un PM a @team qui o inviare un’email a team@discourse.org e possiamo disabilitare questa funzionalità per te. Non consigliamo di farlo, molti servizi sul web stanno adottando le passkey come opzione più sicura per l’autenticazione.

4 Mi Piace

È previsto che in futuro sia possibile disabilitare del tutto la password (preferibilmente a livello di impostazioni dell’account, immagino che obbligare interi siti a farlo non porterebbe a buoni risultati)? Perché avere sia una passkey che una password attive limita un po’ l’utilità della passkey. Si può in qualche modo mitigare creando una password estremamente complessa e non usandola mai, ma questo aggira il punto delle passkey.

4 Mi Piace

Sì, penso che sarebbe bello (e una maggiore sicurezza per l’account). Lo aggiungo ora nella sezione “Possibili miglioramenti futuri” dell’OP.

3 Mi Piace

Questo è fondamentale per la sicurezza delle passkey. Sono poco più di una comodità se non posso disabilitare l’accesso tramite password.

2 Mi Piace

Se ho capito bene il meccanismo delle passkey, è necessario aver installato un contenitore attendibile come un gestore di password per memorizzare le chiavi di accesso. Eliminare le password presuppone che tutti gli utenti abbiano installato un tale gestore, quindi come accederanno gli utenti che non lo hanno fatto?

1 Mi Piace

Nello stesso modo in cui le persone che non usano l’autenticazione a due fattori accedono ai siti che la richiedono: non vi accedono.

Non che questa sia una preoccupazione reale, poiché Chrome, Safari, Windows, iPhone, Android, Yubi, ecc. sono tutte alternative ai gestori di password (che dovresti già usare nel 2024 indipendentemente) e funzionano tutte con le passkey.

Inoltre, non stavo suggerendo di costringere ogni utente a non avere una password (anche se per me andrebbe bene), ma se TU, l’utente della passkey, non puoi disabilitare la tua password, allora la passkey ha uno scopo molto minore e sei ancora completamente vulnerabile al phishing.

1 Mi Piace

Se scegliessi le passkey per Discourse, non userei più la mia password, quindi come potrei essere vulnerabile al phishing? Capisco che il rischio di attacchi malevoli o di forza bruta al login con password rimarrà, e il tuo suggerimento di disabilitarla per utente è valido, ma non tramite phishing?

1 Mi Piace

Ci sono aggiornamenti sul possibile supporto alla creazione di account solo con passkey e senza password? Sembra quasi inutile supportare le passkey quando è comunque richiesto di avere una password.

5 Mi Piace

È possibile scoprire quante persone (se ce ne sono) stanno utilizzando questa funzionalità?

Sarebbe utile se potesse essere disabilitata utilizzando una normale impostazione del sito.

1 Mi Piace

È possibile vedere quanti passkey sono stati creati con questo comando Rails:

UserSecurityKey.where(factor_type: 1).count
1 Mi Piace

Grazie. Scusa per la domanda banale, ma è qualcosa che si digita dopo quanto segue?

launcher enter app
rails c
2 Mi Piace

Per mio riferimento, ho usato:

  • cd /var/discourse
  • ./launcher enter app (poiché senza ./ diceva “launcher: command not found”)
  • rails c (ho aspettato un po’)
  • SiteSetting.enable_passkeys = false
  • Control-D per uscire dalla console Rails
  • Exit per uscire dall’app

Il risultato finale è stato che l’opzione per utilizzare una passkey è scomparsa, come previsto. Grazie.

1 Mi Piace

C’era una persona che aveva creato una passkey.

Ho ottenuto l’user_id con UserSecurityKey.where(factor_type: 1) e il nome utente utilizzando Data Explorer.

C’è qualcosa che dobbiamo fare per assicurarci che nulla si rompa eliminando l’opzione passkey?

L’utente verrà disconnesso, o semplicemente non sarà più in grado di accedere utilizzando la passkey dopo la disconnessione?

L’utente avrà già una password normale, o almeno ora sarà in grado di generarne una?

1 Mi Piace