Time-based token (TOTP)

From Carini MediaWiki
Jump to navigation Jump to search


Time-based One-Time Password (TOTP)

Il TOTP è un algoritmo standardizzato definito nella RFC 6238 che genera password temporanee basate su:

  • un segreto condiviso
  • l’orario corrente

Il codice generato è generalmente numerico (6 cifre) ed è valido per un intervallo di tempo limitato (tipicamente 30 secondi).

Sincronizzazione dell’orario

Il funzionamento del TOTP dipende direttamente dall’orario corrente utilizzato dai sistemi che generano e verificano il codice. Per questo motivo è necessario che il dispositivo dell’utente e il server di autenticazione dispongano di un orario correttamente sincronizzato.

In genere i sistemi mantengono la sincronizzazione tramite protocolli di sincronizzazione dell’ora di rete (ad esempio NTP) oppure tramite orologi interni sufficientemente precisi. Molte implementazioni prevedono una piccola tolleranza (tipicamente uno o due intervalli temporali) per compensare eventuali differenze minori tra gli orologi.

Se la differenza temporale tra i sistemi supera tale tolleranza, i codici generati non verranno considerati validi e l’autenticazione fallirà.

Il TOTP rappresenta una delle implementazioni più diffuse del fattore di possesso ed è comunemente utilizzato come secondo fattore nei sistemi di autenticazione a due fattori (2FA).

Riferimenti

Standard

  • RFC 6238Time-Based One-Time Password Algorithm

Approfondimenti