gpt4 book ai didi

c# - 我怎样才能确保有人没有发送虚假数据?

转载 作者:太空狗 更新时间:2023-10-29 17:54:17 25 4
gpt4 key购买 nike

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

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

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

跟踪程序的运行假设运行它的用户可能对发送虚假报告感兴趣。

问题:1)我如何确保(尽可能确定)数据是从真实跟踪器而不是克隆/伪造者发送的?2) 我怎样才能将代码混淆得足够严重以至于恢复 key /证书/加密约定变得 hell /几乎不可能?

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

提前致谢。

最佳答案

作为Raph Koster once put it , 写关于在客户端-服务器在线游戏中对抗黑客的战斗,

Never trust the client. Never put anything on the client. The client is in the hands of the enemy. Never ever ever forget this.

不幸的是,对于几乎所有需要使用客户端处理能力的真实世界应用程序,某些东西 必须放在客户端上,因此恶意攻击者可以使用。与任何安全措施一样,必须要问的问题是您准备花多少时间和金钱来降低这种风险?

有些人喜欢向询问混淆或客户端许可机制的人指出,“哦,没有意义,它最终会被打破”。但这没有捕获要点:此类措施的目的是将“最终”推向更远的 future ,以至于对于没有足够决心的攻击者来说,这将是“永远不会”。

例如:如果您的应用程序通过纯文本电子邮件发送数据,那么几乎可以击败零个攻击者。用 rot13 电子邮件发送它可能会击败 5% 的攻击者。使用用户名作为 key 加密发送它会失败更多。使用免费的混淆器混淆发送代码会失败更多。使用商业级混淆器进行混淆会打败更多。正如人们喜欢说的那样,要求每个客户端都有一个硬件加密狗会打败“除了最坚定的”攻击者之外的所有攻击者 - 但这可能是无法忍受的成本。

从“我是一名大学生”开始,我猜这不是有史以来最敏感的项目。使用免费的混淆器并使用一些用户特定的信息作为 key 来加密发送的数据。可能就可以了。

关于c# - 我怎样才能确保有人没有发送虚假数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3200088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com