Tôi đã đọc Stack Overflow trong một thời gian, nhưng đây là câu hỏi đầu tiên được đăng của tôi.Làm cách nào để đảm bảo ai đó không gửi dữ liệu giả mạo?
Tôi có chương trình theo dõi này được viết bằng C# thu thập thông tin về cách sử dụng máy tính cục bộ và gửi chúng đến máy chủ. Dữ liệu được định dạng XML, được gửi một lần trong khoảng ~ 10 phút.
Vấn đề của tôi: bất kể cách tôi mã hóa dữ liệu XML (có thể đối xứng hoặc không đối xứng), ai đó luôn có thể dịch ngược chương trình theo dõi C# của tôi, tìm ra khóa/chứng chỉ/quy ước mã hóa mà tôi sử dụng và viết chương trình khác gửi giả mạo báo cáo cho máy chủ.
Chương trình theo dõi hoạt động với giả định rằng người dùng đang chạy ứng dụng có thể quan tâm đến việc gửi báo cáo giả mạo.
Câu hỏi: 1) làm cách nào tôi có thể đảm bảo (chắc chắn nhất có thể) dữ liệu được gửi từ trình theo dõi thực thay vì bản sao/trình tạo bản sao? 2) làm thế nào tôi có thể làm xáo trộn mã quá đủ để khôi phục khóa/chứng chỉ/quy ước mã hóa trở thành địa ngục/bên cạnh không thể?
tôi muốn dành ít hoặc tốt nhất là không có tiền về các giải pháp (để 500 $ bộ obfuscate là ra câu hỏi. Tôi là một sinh viên đại học và tôi là rẻ :)
Cảm ơn trước.
Câu trả lời ngắn gọn: Bạn không thể. Các nhà xuất bản phần mềm đặt một lượng thời gian và nỗ lực phi thường vào việc cố gắng một cái gì đó tương tự, và nó luôn bị phá vỡ trong vòng vài giờ sau khi nó trở nên có sẵn. –
Cá nhân tôi sẽ không chi tiêu tiền vào nó, bởi vì ngay cả những giải pháp đắt tiền cũng dễ bị hỏng nếu ai đó quyết tâm cung cấp dữ liệu giả mạo. Bạn không bao giờ có thể "đảm bảo" dữ liệu hợp lệ, chỉ thử và ngăn mọi người cố gắng. –