Tôi có một nền tảng xa (2 năm trước) về hack, các gói khó nhất từng bị bẻ khóa (và những gì tôi khuyên bạn nên sử dụng) là sử dụng một phương pháp mã hóa khóa đối xứng mà Jonathan Dickinson mô tả ngắn gọn. Bạn nên sử dụng TCP + TLS như anh ấy đã đề cập. Tuy nhiên, ông nói một chuỗi phản.
Tôi đã gặp phải thời gian mà một hệ thống "chống bằng chứng" lập trình viên dễ bị giả mạo bởi vì họ có một hệ thống đếm đủ kỳ lạ để tôi có thể bẻ khóa nó mà không cần kiến thức lập trình và logic đại số năm đầu tiên. Miễn là bạn chọn một phương thức tuần tự phù hợp thì mục tiêu của bạn sẽ nhận được dữ liệu chính xác như mong đợi, cũng có nghĩa là bạn nên sử dụng TCP cho các hoạt động an toàn nhất.
Trở lại theo dõi "trong kinh nghiệm của tôi", một hệ thống tôi thấy hoạt động tuyệt vời. Một phương pháp tuần tự dựa trên thời gian gửi và thời gian dự kiến. Vì các gói phải luôn được nhận theo đúng thứ tự, nên việc giả mạo một gói gần như là không thể vì tôi không bao giờ có thể dự đoán khi nào gói sẽ được gửi và khi nào nó được mong đợi (giữa gói này và gói khác) mà không cần hack chương trình máy khách trước.
Câu trả lời ngắn
Tóm lại: Mỗi cấu trúc gói cũng sẽ có dấu thời gian như khi nó được gửi xuống mili giây. Điều đó thật đơn giản và thật dễ dàng để kiểm tra xem một thời gian là trước / sau một thời gian khác. Lý do tại sao nó có ý nghĩa tốt như vậy là bởi vì máy chủ vẫn có thể nhận các gói theo thứ tự giả mạo, mà không có thời gian để xác thực.
Đây rõ ràng không phải là phương pháp tuần tự duy nhất hoặc thậm chí là phương pháp tốt nhất trong mọi phương pháp. Nó chỉ là một cái mà tôi thấy rằng nó hoạt động rất tốt. Kết hợp với TCP + TLS, bạn không nên có quá nhiều vấn đề.