4.2 Vantaggi e svantaggi di OTP
Il vantaggio fondamentale di OTP è che l'autenticazione è basata su password che variano in continuazione, il che rende impossibile l'attacco reply. Un altro elemento a favore, consiste nel fatto che le informazioni importanti ai fini della generazione delle password one-time non vengono mai trasmesse su canali insicuri: ciò perché per autenticare tali password, il server deve disporre soltanto dell'ultima trasmessa e questa non è utile per generare la successiva; per questo motivo OTP è invulnerabile agli attacchi di tipo passivo ed a quelli basati sul furto del database delle password. D'altro canto per generare nuove password one-time si deve conoscere la passphrase e, se quest'ultima rimane segreta, si può essere abbastanza sicuri che nessuno possa entrare illecitamente.
In realtà non è neppure necessario che gli utenti perdano la passphrase, perché il sistema possa essere violato; ad esempio, è possibile cercare di trovare una password one-time che, elaborata per mezzo della funzione hash, fornisca quella conservata nel database delle password; una tale password one-time consentirebbe di accedere al sito, estromettendone per di più l'utente legittimo. Da questo punto di vista la sicurezza del sistema si gioca tutto sulla non invertibilità della funzione hash scelta.
I sistemi protetti da OTP sono vulnerabili allo snooping; in altre parole, anche se l'accesso fosse possibile soltanto agli utenti che ne hanno il diritto, nulla vieta agli altri di intercettare le comunicazioni tra il server e questi ultimi e di avere così una visione indiretta del sito; quello che serve è garantire la confidenzialità dei messaggi e ciò è possibile soltanto per mezzo della crittografia. Gli attacchi attivi sono una forma d'attacco a cui OTP è particolarmente vulnerabile. Tra questi spicca l'attacco race, che consiste nell'intercettazione della prima parte del response e nel tentativo di completarlo e trasmetterlo prima che ci riesca l'utente legittimo. Per bloccare questo tipo di attacco, il server può impedire che un utente abbia due o più sessioni di autenticazione contemporanee. E' anche vero che gli utenti potrebbero considerare l'autenticazione tramite OTP un po' troppo macchinosa, ma è possibile farla apparire molto simile all'autenticazione tramite password statiche automatizzando il procedimento challange-response.