Vì sao chỉ mã hóa không chặn được gói tin bị phát lại
Một gói tin cũ vẫn giữ thẻ xác thực hợp lệ, nên tính toàn vẹn không bao giờ chứng minh được độ mới. Trạng thái tuần tự và cửa sổ của bên nhận làm việc đó.
Các gói tin được bảo vệ không hết hạn về mặt mật mã, nên một gói hợp lệ năm phút trước vẫn hợp lệ bây giờ, vì mã hóa và bảo vệ toàn vẹn không nói gì về thời điểm các byte được tạo ra. Kẻ tấn công có thể bắt và gửi lại lưu lượng không cần phá mã. Đó là lý do mọi giao thức đường hầm nghiêm túc đều mang trạng thái tuần tự bên cạnh khóa của nó.
Cơ chế nhỏ, và các kiểu hỏng của nó dễ bị nhầm với mất gói.
Bản mã hợp lệ không phải bản mã mới
Xác thực trả lời một câu hỏi: các byte này có đến từ người giữ khóa mà không bị sửa đổi không. Nó không trả lời liệu đây có phải lần đầu bên nhận thấy chúng. Một gói bị phát lại vượt qua bài kiểm tra đầu tiên một cách hoàn hảo, và chính vì thế chỉ kiểm tra toàn vẹn không thể chặn phát lại và giao thức cần quy tắc thứ hai về việc chấp nhận. Bên nhận chỉ xác thực không có phòng vệ trước kẻ tấn công nắm bản ghi.
Quy tắc đó rẻ để triển khai và rẻ để phát biểu: chấp nhận một gói được bảo vệ nhất định một lần, dưới một khóa nhất định. Mọi thứ khác trong lĩnh vực này suy ra từ cách triển khai theo dõi lần duy nhất đó.
Đọc việc loại bỏ do phát lại như lỗi giải mã sẽ đưa bạn vào hoàn toàn sai hệ thống con.
Một số tuần tự và một cửa sổ
IPsec ESP mang một số tuần tự và bên nhận giữ một cửa sổ trượt các giá trị vừa được chấp nhận, trong khi đặc tả ESP mô tả kích thước cửa sổ mặc định và tùy chọn mở rộng nó. WireGuard đi đường khác với bộ đếm cho mỗi khóa và kiểm tra rõ ràng đối chiếu nó. Không thiết kế nào giả định gói đến theo thứ tự, vì mạng thực tế sắp xếp lại chúng. Cả hai chịu được sắp xếp lại, và không cái nào chịu được lặp lại.
Chính cửa sổ làm cho khả năng chịu đựng đó thành hiện thực. Một gói hơi lùi sau giá trị cao nhất đã thấy vẫn có thể được chấp nhận nếu trước đó chưa được chấp nhận; một gói lùi xa, hoặc một gói mà vị trí đã được đánh dấu, sẽ bị loại. Tăng cửa sổ lên và bạn chịu được nhiều sắp xếp lại hơn với cái giá là nhiều trạng thái hơn cho mỗi hiệp hội.
Các bộ đếm chẩn đoán cho bạn biết đang ở trường hợp nào. Việc loại bỏ do phát lại tăng một bộ đếm cụ thể chứ không phải lỗi chung, và đọc bộ đếm đó là quan sát hữu ích đầu tiên.
nstat -az | grep -i XfrmIn
ip -s xfrm state | head -n 30
wg show wg0 transfer
Trạng thái thuộc về khóa, không thuộc về máy
Trạng thái bộ đếm gắn với một hiệp hội bảo mật hoặc một kỷ nguyên khóa, nên việc đổi khóa tạo ra ngữ cảnh mới và không gian tuần tự riêng. Xóa bộ đếm mà không thay khóa, hoặc dùng lại hiệp hội sau khi đặt lại bằng tay, phá vỡ giả định mà cửa sổ của bên nhận dựa vào. Đó là lý do có việc đổi khóa do giao thức điều khiển thay vì nút đặt lại mà người vận hành nhìn thấy.
Khi đường hầm hoạt động sai sau can thiệp thủ công, hãy hỏi xem can thiệp có chạm vào trạng thái tuần tự không. Một cấu hình trông giống hệt có thể hành xử khác vì trạng thái nó thừa hưởng không phải trạng thái nó mong đợi.
Chẩn đoán nguyên nhân trước khi tắt bất cứ thứ gì
Mất gói, sắp xếp lại, lưu lượng trùng lặp và khiếm khuyết triển khai đều xuất hiện như truyền lại, và chỉ một trong số đó là vấn đề phát lại. Tắt kiểm tra để dập tiếng ồn sẽ loại bỏ thuộc tính bạn đang dựa vào và khiến nguyên nhân gốc khó tìm hơn, vì giờ các lần truyền lại không còn lời giải thích nào.
Thu thập bằng chứng có phạm vi: định danh hiệp hội, số tuần tự và bộ đếm, không gồm tải trọng. Thế là đủ để phân biệt bản trùng với một lần đến bị sắp xếp lại, và nó không biến tệp chẩn đoán của bạn thành bản sao lưu lượng của người dùng.
Điều mà kiểm tra không hứa
Bảo vệ chống phát lại là thuộc tính của xử lý gói tin bên trong một giao thức. Nó không có nghĩa là người vận hành không giữ nhật ký, rằng một trang web không thể nhận ra tài khoản, hay rằng một phiên là ẩn danh. Đó là những câu hỏi riêng về những hệ thống riêng, và một thiết kế chống phát lại mạnh không trả lời bất kỳ điều nào trong số đó.
Phần mềm được duy trì với cài đặt được hỗ trợ là biện pháp kiểm soát thực tế mà người dùng có. Giao thức xử lý gói tin; mọi thứ khác vẫn là quyết định vận hành.