Về mặt kỹ thuật, sự chậm trễ có chủ ý này là để ngăn chặn các cuộc tấn công như " Tấn công tuyến tính hóa" (cũng có các cuộc tấn công và lý do khác) .
Để minh họa cuộc tấn công, hãy xem xét một chương trình (không có sự chậm trễ có chủ ý này), kiểm tra một chuỗi đã nhập để xem liệu nó có khớp với chuỗi chính xác hay không, trong trường hợp này là " xyba " . Để hiệu quả, lập trình viên quyết định kiểm tra một ký tự một lần và thoát ngay khi tìm thấy một ký tự không chính xác, trước khi bắt đầu độ dài cũng được kiểm tra.
Độ dài nối tiếp chính xác sẽ mất nhiều thời gian để xử lý hơn độ dài nối tiếp không chính xác. Thậm chí tốt hơn (đối với kẻ tấn công), một số sê-ri có ký tự đầu tiên đúng sẽ mất nhiều thời gian hơn bất kỳ ký tự đầu tiên nào không chính xác. Các bước liên tiếp trong thời gian chờ là vì mỗi lần có thêm một vòng lặp, hãy so sánh để đi vào đầu vào chính xác.
- Vì vậy, kẻ tấn công có thể chọn một chuỗi gồm bốn ký tự và chuỗi bắt đầu bằng x mất nhiều thời gian nhất. (bằng cách đoán công việc)
- Attacker sau đó có thể sửa ký tự thành x và thay đổi ký tự thứ hai, trong trường hợp đó họ sẽ thấy rằng y mất nhiều thời gian nhất.
- Sau đó, Attacker có thể sửa hai ký tự đầu tiên là xy và thay đổi ký tự thứ ba, trong trường hợp đó, họ sẽ thấy rằng b mất nhiều thời gian nhất.
- Attacker sau đó có thể sửa ba ký tự đầu tiên là xyb và thay đổi ký tự thứ tư, trong trường hợp đó họ sẽ thấy rằng một ký tự dài nhất.
Do đó, những kẻ tấn công có thể phục hồi một ký tự nối tiếp tại một thời điểm.
Tuyến tính hóa.java.
Tuyến tính.docx, đầu ra mẫu
Số sê-ri là bốn ký tự và mỗi ký tự có 128 giá trị có thể. Sau đó, có 128 4 = 2 28 = 268,435,456 serial có thể . Nếu kẻ tấn công phải đoán ngẫu nhiên các số sê-ri hoàn chỉnh, cô sẽ đoán số sê-ri trong khoảng
2 27 = 134.217.728 lần thử, đây là một khối lượng công việc khổng lồ . Mặt khác, bằng cách sử dụng tấn công tuyến tính hóa ở trên, trung bình chỉ cần 128/2 = 64 lần đoán cho mỗi chữ cái, cho tổng số công việc dự kiến là khoảng 4 * 64 = 2 8 = 256 lần đoán,
đây là một số tiền không đáng kể của công việc.
Phần lớn các bài viết được chuyển thể từ điều này (lấy từ "An toàn thông tin: Nguyên tắc và thực hành" của Mark Stamp). Ngoài ra các tính toán ở trên không tính đến số lượng phỏng đoán cần thiết để tìm ra độ dài nối tiếp chính xác.