Je lis Stack Overflow depuis un certain temps, mais c'est ma première question postée.Comment puis-je m'assurer que quelqu'un n'envoie pas de fausses données?
J'ai ce programme de suivi écrit en C# qui recueille des informations sur l'utilisation de l'ordinateur local et les envoie à un serveur. Les données sont au format XML, envoyées une fois par ~ 10 minutes. Mon problème: peu importe comment je crypte les données XML (symétriques ou asymétriques), quelqu'un peut toujours décompiler mon programme de suivi C#, déterminer les conventions clé/certificat/cryptage que j'utilise et écrire un autre programme qui envoie de faux rapports au serveur.
Le programme de suivi fonctionne sous l'hypothèse que l'utilisateur qui l'exécute peut être intéressé par l'envoi de faux rapports. 1) Comment puis-je m'assurer (aussi sûrement que possible) que les données sont envoyées par le vrai tracker au lieu d'un clone/faker? 2) comment est-ce que je peux assez obscurcir le code assez pour que la récupération de clés/certificats/conventions de chiffrement devienne un enfer/presque impossible?
Je veux passer peu ou, de préférence pas d'argent sur la solution (donc 500 $ obfuscators sont hors de question. Je suis un étudiant à l'université et je suis pas cher :)
Merci à l'avance.
Réponse courte: Vous ne pouvez pas. Les éditeurs de logiciels consacrent énormément de temps et d'efforts à essayer quelque chose de similaire, et il est invariablement cassé dans les heures qui suivent sa disponibilité. –
Personnellement, je ne dépenserais pas d'argent dessus, car même les solutions coûteuses sont facilement brisées si quelqu'un est déterminé à donner de fausses données. Vous ne pouvez jamais "vous assurer" que les données sont valides, seulement essayer et dissuader les gens de les essayer. –