Passa al contenuto principale

1.2. Background (Contesto)

1.2. Background (Contesto)

Come definito in [RFC4226], l'algoritmo HOTP si basa sull'algoritmo HMAC-SHA-1 (come specificato in [RFC2104]) e applicato a un valore di contatore crescente che rappresenta il messaggio nel calcolo HMAC.

Fondamentalmente, l'output del calcolo HMAC-SHA-1 viene troncato per ottenere valori user-friendly:

HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))

dove Truncate rappresenta la funzione che può convertire un valore HMAC-SHA-1 in un valore HOTP. K e C rappresentano il segreto condiviso e il valore del contatore; vedere [RFC4226] per definizioni dettagliate.

TOTP è la variante basata sul tempo di questo algoritmo, dove un valore T, derivato da un riferimento temporale e da un passo temporale, sostituisce il contatore C nel calcolo HOTP.

Le implementazioni TOTP POSSONO utilizzare funzioni HMAC-SHA-256 o HMAC-SHA-512, basate sulle funzioni hash SHA-256 o SHA-512 [SHA2], invece della funzione HMAC-SHA-1 che è stata specificata per il calcolo HOTP in [RFC4226].