Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12692|Risposta: 0

Differenza dinamica tra token OTP, TOTP e HOTP

[Copiato link]
Pubblicato su 25/07/2020 16:41:17 | | | |
Panoramica

L'autenticazione a due fattori (nota anche come 2FA) è un meccanismo che combina due diversi metodi di autenticazione per autenticare gli utenti. Nel marzo 2011, Google annunciò l'uso dell'autenticazione a due fattori online, seguita da MSN e Yahoo.

Oltre a verificare nome utente e password, l'autenticazione a due fattori richiede anche la combinazione di un altro dispositivo fisico, come un token RSA o un telefono cellulare.
I prodotti certificati a due fattori possono essere ampiamente suddivisi in due categorie:

Dispositivi hardware in grado di generare token
App per smartphone

OTP

La password utilizzata nella verifica in due fasi è una password monouso (OTP), nota anche come password dinamica. Si tratta di una tecnologia di autenticazione potente che utilizza la crittografia per condividere le chiavi tra client e server, ed è un mezzo tecnico molto comodo per migliorare l'attuale autenticazione statica con password, ed è una tecnologia di autenticazione per verifica in due fasi importante.

OTP è l'abbreviazione di One-Time Password, che significa one-use password. È suddiviso nei seguenti due tipi:

HOTP (Algoritmo di Password Uni-Uso Basato su HMAC)

HOTP è una password monouso generata basandosi sull'algoritmo HMAC, noto anche come password dinamica per la sincronizzazione degli eventi, che è una specifica dell'algoritmo pubblicata da ITEF, e il pseudocodice è il seguente:



Il client e il server negoziano in anticipo una chiave K per la generazione di una password monouso. Il client e il server hanno ciascuno un contatore eventi C e sincronizzano i valori del conteggio in anticipo. Troncare è un algoritmo che converte una stringa di 20 byte generata da HMAC-SHA-1 in diverse cifre decimali.

TOTP (Algoritmo di Password Uni-Uso Basato sul Tempo)

TOTP è una versione migliorata di HOTP che utilizza il tempo per sostituire il contatore eventi C di HOTP, noto anche come cifrario dinamico per la sincronizzazione temporale. Pseudocodice:


T0 è il tempo iniziale del test, che di default è 0  
X è il passo temporale, che di default è di 30 secondi
La documentazione ufficiale fornisce una nota in testa, assumendo l'ora unix attuale = 59, T0 = 0, X = 30, poi T=1
Assumendo l'attuale tempo unix = 60, T0 = 0, X = 30, poi T=2
Cioè, il valore di T viene arrotondato verso il basso e il decimale viene scartato



Dalla figura sopra, possiamo vedere che ci sono due elementi principali dell'algoritmo di input: uno è la chiave condivisa (nota anche come seed), e l'altro è il conteggio (o fattore tempo), calcolato da un algoritmo specifico. Se entrambi gli elementi sono coerenti, il lato server e il lato client calcoleranno lo stesso risultato, abilitando la funzionalità di autenticazione.





Precedente:Angular 9 series (XII) genera token dinamici basati su OTP
Prossimo:.NET/C# genera password monouso basate su TOTP
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com