Come funziona la concatenazione di una password utente e un YubiKey OTP?

2

Uso un Yubikey per accedere a una VPN. Al momento dell'accesso, fornisco un nome utente, quindi digito una password e senza toccare il pulsante di ritorno, tocca Yubikey.

Per quanto comprendo, e sperimentando, Yubikey si presenta come una tastiera per il sistema operativo, e aggiunge una sola volta, crittografata, una stringa, terminando con un EOL. Questo è spiegato in questa domanda

Tuttavia, ho capito che una buona autenticazione funziona inviando un hash della password dell'utente al server remoto, e questo funziona se sto inviando solo un OTP. se Se la password utente + stringa Yubikey OTP è hash sul client, in che modo viene districata per essere verificata sul server? La mia password è stata memorizzata senza hash sul server?

    
posta Gremlin 20.02.2017 - 13:11
fonte

2 risposte

2

Ti sbagli nella tua comprensione. La sicurezza di un sistema di autenticazione è definita principalmente dal tipo di attacchi che proteggerà. Hashing la password dell'utente è molto spesso parte dei sistemi di autenticazione, ma di solito non nel modo in cui hai descritto.

In genere, per memorizzare la password in un modo che è considerato sicuro (salato, hash, allungato), verrà richiesta la password per verificare che venga fornita in testo non crittografato.

La sicurezza della password effettiva durante il transito è in genere lasciata alla crittografia della connessione (solitamente TLS).

L'aggiunta di un sistema OTP non modifica quanto sopra: la convalida dell'OTP viene in genere eseguita senza coinvolgere direttamente la password.

    
risposta data 20.02.2017 - 14:52
fonte
1

Come sottolineato da @Stephane, la password che stai inserendo non è hash sul client, a meno che tu non stia facendo cose come MSChapV2.

Quindi il server di autenticazione vede una stringa di password in chiaro della password statica segreta e il valore OTP crittografato AES di yubico.

Come sa il sistema di autenticazione, per quanto tempo l'output di Yubikey è (se stai usando la modalità AES probabilmente 44 o 32 caratteri), il sistema può dividere la stringa

  1. string [32:] - > verifica yubico OTP
  2. string [: - 32] - > cancellarlo e controllare il PW statico hash nel DB.
risposta data 21.02.2017 - 00:23
fonte

Leggi altre domande sui tag