如何确保有人不发送虚假数据?

Bog*_*cse 9 c# security obfuscation

我已经阅读了Stack Overflow很长一段时间了,但这是我发布的第一个问题.

我有这个用C#编写的跟踪程序,它收集有关本地计算机使用情况的信息并将它们发送到服务器.数据是XML格式的,每10分钟发送一次.

我的问题:无论我如何加密XML数据(无论是对称的还是非对称的),总有人可以反编译我的C#跟踪程序,找出我使用的密钥/证书/加密约定,并编写另一个向服务器发送虚假报告的程序.

跟踪程序在假设运行它的用户可能有兴趣发送虚假报告的情况下工作.

问题:1)我如何确保(尽可能确保)数据是从真实的跟踪器而不是克隆/ faker发送的?2)如何对代码进行严格的混淆,以至于恢复密钥/证书/加密约定变得难以置信?

我想在解决方案上花费很少或者最好没有钱(所以500美元的混淆器是不可能的.我是一名大学生,我很便宜:)

提前致谢.

Viv*_*ard 0

1.另一种方法:假设您不经常更改可执行文件。对您的客户端可执行文件映像进行 DigSig(哈希+加密)并将其一起发送,这会将您的客户端验证为真实客户端而不是修改版本。

但这不能阻止数据由完全不同的客户端发送,该客户端可以获取可执行映像的 Digsig。