Sí, los números de secuencia y las marcas de tiempo son buenas maneras de rechazar los ataques de repetición. Sin embargo, no necesita autenticidad de mensajes ni integridad de mensajes para que funcionen. El motivo es simple: la comprobación solo desactiva los mensajes que de otro modo serían aceptados.
Sin embargo, si ofrece autenticidad / integridad a lo largo del mensaje, entonces querrá incluir el número de secuencia / marca de tiempo en el cálculo. De lo contrario, un atacante puede cambiar el número de secuencia / marca de tiempo a un nuevo valor y usarlo. Y usted sí quiere ofrecer autenticidad / autenticidad para un protocolo seguro, por ejemplo, calculando una etiqueta de autenticación usando un algoritmo de MAC seguro.
Lo anterior no es oficialmente un ataque de reproducción porque es un ataque activo que altera el mensaje que se envía. Eso es, sin embargo, de poco consuelo si su protocolo está comprometido. Y sí, una vez que se valida la integridad del mensaje, solo necesita verificar el número de secuencia o la marca de tiempo. Es entonces "tan simple".
Notas:
- Verificar una marca de tiempo o almacenar un número de secuencia de manera persistente no es necesariamente fácil , por lo que pongo "tan simple" entre comillas.
- Asegúrese de no poder reproducir sus propios mensajes, por ejemplo, incluyendo un remitente / receptor en el mensaje o utilizando claves de sesión separadas para cada parte.