Autenticazione: paradigma Timestamp
Il paradigma timestamp si propone di trarre vantaggio inviando al server la versione codificata di un numero T, sempre diverso, stabilito implicitamente dalle due entità.
Per poter concordare implicitamente un comune numero T, client e server devono avere orologi interni perfettamente sincroni.
Il numero T in tal caso rappresenta il valore riportato dall’orologio interno del client al momento della richiesta di accesso al servizio (timestamp).
Il server accetta richieste di servizio solo se contengono un timestamp compatibile con il valore del proprio orologio interno.
Per semplificare la validazione del timestamp questo è generalmente una quantità discreta, incrementata a intervalli regolari ∆T.
Richieste di servizio datate vengono generalmente scartate, interpretandole come messaggi trattenuti troppo a lungo dai sistemi coinvolti e/o ritrasmessi da un hacker per tentare una forma di attacco nota come “attacco tramite trasmissione ritardata dei dati per l’autenticazione”.
Per riuscire in un attacco che prevede la trasmissione ritardata dei dati per l’autenticazione, è sufficiente che un hacker trattenga il primo messaggio inviato dal client al server.
Non giungendo il messaggio al server il client provvederà, dopo aver eventualmente ricevuto una sollecitazione esplicita dal server (o dallo stesso hacker), all’invio di un secondo messaggio codificando un timestamp aggiornato.
Il secondo messaggio viene lasciato passare dall’hacker consentendo regolare accesso al servizio.
A questo punto, l’attaccante dispone di un messaggio contenente dati per l’autenticazione, emesso regolarmente dal client, che può inviare al server nel tentativo di accedere al servizio.
Per scongiurare questa forma di attacco, il server deve accettare solo messaggi contenenti timestamp recenti (generalmente non eccedenti il ritardo medio di andata e ritorno introdotto dalla rete nella trasmissione dei dati tra client e server).
È inoltre un indizio significativo, per rilevare che il sistema è oggetto di un potenziale attacco, notificare ogni richiesta di autenticazione che propone un messaggio contenente un timestamp antecedente a quello trasportato nelle richieste del client già accettate dal server.
Il paradigma challenge/response e il paradigma timestamp eseguono trasformazioni delle credenziali utente che possono richiedere l’uso di funzioni crittografiche (algoritmi simmetrici o asimmetrici).
Per questo motivo, tali schemi di autenticazione possono risultare oggetto di limitazioni nell’uso e nell’import/export, qualora esso coinvolga paesi con leggi speciali legate alla crittografia.
Gli schemi che adottano esclusivamente funzioni di digest o il paradigma username/password, che prevede la trasmissione in chiaro delle informazioni relative all’autenticazione, non sono soggetti invece ad alcuna limitazione di circolazione e uso.