安全的数据加密和验证

时间:2011-03-18 16:28:05

标签: algorithm security encryption

想象一下一个玩家的游戏,其中包含许多测试。完成所有测试后,玩家可以选择将结果上传到服务器 - 获得最佳结果的玩家将获得大奖。服务器需要能够验证结果数据,以查看它是否已被黑客攻击或甚至是垃圾邮件。关于如何可以强有力地实施的任何想法?

2 个答案:

答案 0 :(得分:4)

基本上你不能。甚至没有加密,代码混淆或其他任何东西。 “永远不要相信客户”!

确保不涉及操纵的唯一方法是在服务器上使用每一点游戏逻辑并仅向用户公开GUI。然后,您可以将播放器发出的命令(按键,按钮点击等)发送到服务器,在那里验证它们(即使这并不容易!),处理所有必要的游戏逻辑并发回结果。

当然,如果你的游戏涉及与时间相关的任何事情,这是不可行的,因为对于每个玩家的动作都会有延迟,直到玩家收回结果并看到效果。

对于大多数游戏来说,所有这些都是矫枉过正的,你只是确保它们难以操纵。

答案 1 :(得分:0)

可以使用反黑客工具,无休止地使服务器和客户端之间的通信复杂化,混淆内存和例程,每次运行时自行修改,等等。

麻烦的是,大多数反黑客工具经常被黑客入侵,如果奖金足够大,你的可能也会受到攻击。甚至rootkit也可以扎根。更不用说这种行为看起来就像一种病毒,它会引发警告,并且可能最终导致许多沮丧的前客户。

如果它是像iPhone一样的围墙花园,我相信有一些工具可以确保手机不会被越狱,我不确定它们是否可以被愚弄,但这仍然存在任何人都可以解码通信的问题完全从别的东西上传他们自己。