3.3.2. Replay Protection (Protezione contro il replay)
3.3.2. Replay Protection (Protezione contro il replay)
La protezione sicura contro il replay (replay protection) è possibile solo quando è presente la protezione dell'integrità (integrity protection). È RACCOMANDATO utilizzare la protezione contro il replay, sia per RTP che per RTCP, poiché la sola protezione dell'integrità non può garantire la sicurezza contro gli attacchi di replay.
Un pacchetto viene "riprodotto" (replayed) quando viene memorizzato da un avversario e poi reiniettato nella rete. Quando viene fornita l'autenticazione del messaggio, SRTP protegge da tali attacchi attraverso una lista di replay (Replay List). Ogni ricevitore SRTP mantiene una lista di replay, che concettualmente contiene gli indici di tutti i pacchetti che sono stati ricevuti e autenticati. In pratica, la lista può utilizzare un approccio a "finestra scorrevole" (sliding window), in modo che una quantità fissa di memoria sia sufficiente per la protezione contro il replay. Gli indici dei pacchetti che restano indietro rispetto all'indice del pacchetto nel contesto di più di SRTP-WINDOW-SIZE possono essere considerati come ricevuti, dove SRTP-WINDOW-SIZE è un parametro lato ricevitore, dipendente dall'implementazione e DEVE essere almeno 64, ma PUÒ essere impostato su un valore più alto.
Il ricevitore controlla l'indice di un pacchetto in arrivo rispetto alla lista di replay e alla finestra. Solo i pacchetti con indice davanti alla finestra, o, all'interno della finestra ma non ancora ricevuti, DEVONO essere accettati.
Dopo che il pacchetto è stato autenticato (se necessario la finestra viene prima spostata in avanti), la lista di replay DEVE essere aggiornata con il nuovo indice.
La lista di replay può essere implementata in modo efficiente utilizzando una bitmap per rappresentare quali pacchetti sono stati ricevuti, come descritto nell'architettura di sicurezza per IP (Security Architecture for IP) [RFC2401].