E' un metodo utilizzato per l'autenticazione utente di alcuni sistemi che permette di utilizzare password sempre diverse per effettuare il login. La password una volta utilizzata per effettuare il login scade e non potrà più essere utilizzata, questo esclude la possibilità di utilizzo di password intercettate tramite sniffer o altri metodi.
Esistono molteplici modi di implementazione:
SecureID:
L'autenticazione avviene tramite lo scambio di un codice di un username tra il sistema e l'utente. Tale codice ha una validità relativamente breve, pochi secondi e viene trasmesso da un sistema centralizzato su una scheda SecureID in possesso all'utente.
Lo svantaggio risiede nei elevati costi di implementazione.
S/key:
Una delle soluzioni più utilizzate, viene implementato lato server un metodo di generazione automatica di password tramite formule matematiche. Tramite una chiave confronta la password memorizzata con quella fornita dall'utente (ovviamente sempre diversa), se il matching risulta positivo sostituisce la password memorizzata con quella fornita dall'utente.
OPIE:
Di fatto è una libreria (implementa MD5) che comprende anche un FTP server e l'utility su modificata per supportare le OTP.