Un ataque de repetición (o replay attack) ocurre cuando un atacante intercepta y retransmite una comunicación válida entre dos partes para ganar acceso no autorizado o realizar una transacción fraudulenta. Este tipo de ataque explota la reutilización de datos legítimos, como tokens de autenticación o firmas digitales, sin la necesidad de descifrarlos. Al repetir o retrasmitir estos datos, el atacante puede engañar al sistema haciéndole creer que la solicitud es legítima. Los ataques de repetición son particularmente peligrosos en sistemas de comunicación que no implementan medidas para verificar la unicidad y la temporalidad de cada transacción.
Para prevenir ataques de repetición, es esencial implementar medidas de seguridad que verifiquen la unicidad y la temporalidad de las transacciones. Esto puede incluir el uso de sellos de tiempo (timestamps), números de secuencia únicos o tokens de un solo uso (nonce) que aseguren que cada mensaje o transacción es único y no puede ser reutilizado. Además, la encriptación de extremo a extremo también puede ayudar a proteger la comunicación contra interceptaciones no autorizadas.
Cualquier sistema de comunicación que no implemente controles adecuados para garantizar la unicidad y la temporalidad de las transacciones es potencialmente vulnerable a ataques de repetición. Esto incluye sistemas de autenticación, redes de comunicaciones financieras, servicios en línea que utilizan tokens de autenticación o cualquier sistema que dependa de la integridad de mensajes para realizar operaciones críticas.
El impacto de un ataque de repetición puede variar desde el acceso no autorizado a sistemas y datos sensibles hasta la realización de transacciones fraudulentas. Dependiendo del sistema atacado, esto puede resultar en pérdidas financieras significativas, compromiso de datos personales, violación de la seguridad de la información y pérdida de confianza en los sistemas afectados.