Đáp án
- SRP - Mật khẩu từ xa an toàn - Điều này dựa trên Diffie-Hellman. Ý tưởng là bạn có thể thực hiện kiểm tra mật khẩu lẫn nhau mà không thực sự chuyển mật khẩu hoặc bất kỳ thông tin nào có thể được sử dụng để lấy được nó. Mặc dù nó an toàn qua dây, bạn vẫn nên băm và muối mật khẩu của mình vì máy chủ của bạn không bao giờ được lưu trữ chúng trong văn bản thuần túy .
- Ưu điểm của SRP là một khi nó hoàn thành, nó cũng cung cấp cho bạn một khóa mã hóa được thương lượng lẫn nhau mà kẻ tấn công sẽ không thể suy ra được với dữ liệu bạn đã chuyển. Điều này có nghĩa là bạn có thể tự do sử dụng thuật toán mã hóa đối xứng (như AES) sau khi người dùng được xác thực.
- Giả sử bạn đang sử dụng UDP với triển khai đáng tin cậy / có trật tự (hướng kết nối) của riêng bạn trên đầu trang: mã hóa toàn bộ tải phát UDP - bao gồm cả 'số thứ tự gói' của bạn. Nếu hệ thống của bạn được thiết kế chính xác, nó sẽ tự động từ chối các tin nhắn được phát lại và kẻ xâm nhập sẽ không thể thay đổi số thứ tự gói vì nó được mã hóa (do đó có thể phát lại - nhưng nó sẽ tự động bị bỏ qua).
Suy nghĩ
Xác thực của bạn có được an toàn không? Chắc chắn rồi. Không thỏa hiệp về mặt bảo mật khi mật khẩu bị nghi vấn. Vì vậy, bạn chắc chắn nên xem xét viên đạn đầu tiên trong câu trả lời của tôi.
Dữ liệu của bạn có nên được bảo mật? Chỉ khi đó là giao dịch mua / giao dịch vi mô trong trò chơi - và tại sao không sử dụng thứ gì đó đã thử và đúng như HTTPS. Mã hóa lưu lượng trò chơi của bạn không có khả năng là một giải pháp khả thi vì những lý do sau:
- Đó là sự hoang tưởng hoàn toàn.
- Nó sẽ thêm chi phí thời gian CPU trên máy chủ của bạn, trừ khi bạn có thể mua các mô-đun mã hóa phần cứng (đắt tiền).
- Không quan trọng bạn cung cấp bao nhiêu bảo mật cho dữ liệu của mình qua mạng - ai đó có thể chiếm quyền điều khiển máy khách và chặn tin nhắn ngay trước khi chúng được mã hóa và gửi. Đây không chỉ là một khả năng nhưng vô cùng tốt hơn vì nó là đáng kể dễ dàng hơn để mã bơm so với chặn các gói dữ liệu. Nếu bạn đang làm điều này để ngăn chặn gian lận, bạn hoàn toàn lãng phí thời gian.
- Về mặt bảo mật mật khẩu, thật không may, không có gì bạn có thể làm một cách hợp lý về một hệ thống bị tấn công, máy khách đã trở nên thù địch. Blizzards WoW dongle được thiết kế để đối phó với điều này - nhưng tôi không chắc nó an toàn đến mức nào (đặc biệt nếu bạn để nó cắm vào).
Xin vui lòng, nếu bạn đang mã hóa để ngăn chặn gian lận từ bỏ nó. Bạn sẽ đến gần - Tôi đã cung cấp cho bạn thông tin trong trường hợp bạn không có. Hãy nhớ rằng bạn có thể mã hóa các gói theo byte đầu tiên trong gói và chỉ báo xem phần còn lại có được mã hóa hay không: mặc dù, một lần nữa, tôi sẽ dính vào HTTPS nếu bạn cần thực hiện những việc như giao dịch thẻ tín dụng: chúng cực kỳ không thường xuyên và HTTPS được thiết kế bởi các chuyên gia - không giống như những gì bạn hoặc tôi thiết kế.
Tất cả những gì đã nói, Blizzard thực sự mã hóa lưu lượng WoW của họ. Lý do chính khiến điều này bị phá vỡ là bởi vì một người nào đó, có khả năng là một người nghiệp dư hoàn toàn, đã quyết định rằng họ sẽ thử sức mình với một thuật toán mã hóa được trồng tại nhà; này gay gắt ra thực sự tốt . Ngay cả khi bạn sử dụng thuật toán tiêu chuẩn công nghiệp, rất có khả năng ai đó sẽ thiết kế ngược mã của bạn và mô phỏng nó - một khi khách hàng nhập mật khẩu của họ, không có thông báo nào cho biết hệ thống không được hỗ trợ được kết nối.