Ho implementato l'aspetto di accesso / verifica di un sistema di autenticazione a due fattori come per RFC 6238 .
Funziona bene con Google Authenticator, che è fantastico.
Ora sto rivolgendo la mia attenzione ai codici di backup, forniti dai servizi che implementano 2FA come Google e GitHub.
Ho notato che hanno una lunghezza e / o un formato diversi dal solito codice di autenticazione diretta a 6 cifre.
Quindi, io:
- Genera un numero arbitrario di codici quando un utente imposta 2FA
- memorizzali nel DB accanto all'utente
- Usa il fatto che hanno una lunghezza o un formato diversi per decidere come controllarli?
Dovrebbero essere casuali o generati in base a un hash dell'utente?