Quanto sono efficaci i timestamp come contromisura per gli attacchi di Replay?

0

Stavo leggendo la voce Wiki per gli attacchi di Replay . Si accenna che i timestamp possono essere usati come contromisura contro tali attacchi:

Timestamping is another way of preventing a replay attack. Synchronization should be achieved using a secure protocol. For example, Bob periodically broadcasts the time on his clock together with a MAC. When Alice wants to send Bob a message, she includes her best estimate of the time on his clock in her message, which is also authenticated. Bob only accepts messages for which the timestamp is within a reasonable tolerance. The advantage of this scheme is that Bob does not need to generate (pseudo-) random numbers, with the trade-off being that replay attacks, if they are performed quickly enough i.e. within that 'reasonable' limit, could succeed.

Non sono un esperto in questo, infatti, sono molto nuovo a questi concetti ma sembra estremamente pericoloso.

  1. In realtà, quanto è facile arrivare entro i limiti ragionevoli?
  2. Quali sono le contromisure più comunemente utilizzate contro questo tipo di attacco? Gettoni?
posta turnip 27.10.2017 - 12:51
fonte

2 risposte

2
  1. Ciò dipende esclusivamente dalla tolleranza stessa. Di solito, pochi microsecondi di inclinazione sono ragionevoli da tollerare fintanto che il battito del cuore è in intervalli ragionevolmente brevi.

  2. Nonces; un particolare tipo di "token" - a proposito, i timestamp possono essere astratti anche per essere un token:)

risposta data 27.10.2017 - 13:53
fonte
1

Ho scritto un meccanismo anti replay basato su timestamp in un'ape che ho scritto. Il client genererebbe un timestamp, lo cancellerà e lo invierà al server. Quando uno dei server ha smesso di parlare con il time server e si è spostato, il sistema ha iniziato a rifiutare le richieste. Questo in realtà ti dà un vettore di attacco, se puoi cambiare il tempo, puoi creare un Denial of Service.

Il timestamp deve consentire un tempo sufficiente per passare tra macchine che li generano e convalidarle. Sembra ovvio, ma considera se la tua applicazione di ricezione deve svegliarsi a volte dopo aver dormito a causa della mancanza di richieste, che il tempo aggiuntivo potrebbe comportare il rifiuto della richiesta.

Se implementato correttamente, è efficace, è necessario assicurarsi che il timestamp non possa essere modificato durante il transito o che l'utente malintenzionato possa manipolarli.

    
risposta data 28.10.2017 - 19:51
fonte

Leggi altre domande sui tag