He estado leyendo Stack Overflow por bastante tiempo, pero esta es mi primera pregunta publicada.¿Cómo puedo asegurarme de que alguien no está enviando datos falsos?
Tengo este programa de seguimiento escrito en C# que recopila información sobre el uso de la computadora local y los envía a un servidor. Los datos tienen formato XML, se envían una vez cada ~ 10 minutos.
Mi problema: no importa cómo encripto los datos XML (sean simétricos o asimétricos), alguien siempre puede descompilar mi programa de seguimiento C#, descubrir las convenciones de clave/certificado/encriptación que uso y escribir otro programa que envía falsificaciones informes al servidor.
El programa de seguimiento funciona bajo la suposición de que el usuario que lo ejecuta puede estar interesado en enviar informes falsos.
Preguntas: 1) ¿Cómo puedo asegurarme (lo más seguro posible) de que los datos se envían desde el rastreador real en lugar de un clon/faker? 2) ¿cómo puedo ofuscar el código lo suficientemente mal como para recuperar las claves/certificados/convenciones de cifrado se convierte en un infierno/casi imposible?
quiero pasar poco o preferiblemente no dinero en la solución (por lo ofuscadores 500 $ están fuera de la cuestión. Soy un estudiante universitario y estoy barato :)
Gracias de antemano.
Respuesta corta: No se puede. Los editores de software dedican una cantidad extraordinaria de tiempo y esfuerzo a intentar algo similar, e invariablemente se rompe a las pocas horas de que esté disponible. –
Personalmente, no gastaría dinero en ello, porque incluso las costosas soluciones se rompen fácilmente si alguien está decidido a dar datos falsos. Nunca puede "asegurarse" de que los datos sean válidos, solo intente y disuada a las personas de intentarlo. –