Trong hình thức tấn công phát lại thông điệp, Trudy chặn thông điệp của Alice gửi cho Bob, và sau đó một thời gian gửi lại thông điệp này cho Bob. Như vậy Bob sẽ nghĩ rằng Alice gửi thông điệp hai lần khác nhaụ Tuy nhiên thực sự thì Alice chỉ gửi một lần. Chỉ sử dụng mã hóa đối xứng và mã hóa khóa công khai thì không thể ngăn cản hình thức tấn công nàỵ Để chống lại reply attack có 3 phương pháp:
1) Dùngsốđịnhdanh: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào đó một con số định danh thông điệp S. Mỗi thông điệp ứng với một S khác nhaụ
|| là phép nối dãy bít
Do đó nếu Trudy phát lại thông điệp, Bob biết được hai thông điệp có cùng số định danh và loại bỏ thông điệp thứ haị Tuy nhiên, phương pháp này có hạn chế là Bob phải lưu trữ số định danh của Alice để có cơ sở so sánh. Do đó phương pháp này thường chỉ sử dụng cho một phiên làm việc (connection oriented).
2) Dùng timestamp: trong mỗi thông điệp gửi cho Bob, Alice nhúng vào một timestampT xác định thời điểm gửị Bob chỉ chấp nhận thông điệp nếu nó đến được Bob trong một giới hạn thời gian nào đó kể từ lúc gửị Tuy nhiên phương pháp này yêu cầu đồng hồ của Alice và của Bob phải đồng bộ, không được sai lệch đáng kể. Ngoài ra độ trễ của việc truyền tin trên mạng cũng là một trở ngại đối với phương pháp nàỵ
3) Dùngcơchếchallenge/response: để bảo đảm thông điệp từ Alice không phải là replay, Bob gửi 1 số ngẫu nhiênN cho Alice (gọi là nounce). Alice sẽ nhúng N trong thông điệp gửi cho Bob.
N
A C=E(P||N,KAB) B Mãhóađốixứng
A
N
A C=E(M||N,KUB) B Mãhóakhóacôngkhai
A
100
Khi Bob giải mã thì sẽ kiểm tra N mà Bob nhận được xem có trùng khớp với N Bob gửi đi không. Như vậy Trudy không thể replay thông điệp E(P||N, KAB) được vì mỗi lần Bob sẽ gửi một sốN khác nhaụ Tuy nhiên phương pháp này đòi hỏi thêm một bước là Bob
phải gửiN trước cho Alicẹ Vì vậy trong thực tế tùy trường hợp mà người ta sẽ sử dụng một trong 3 kỹ thuật trên cho hợp lý.