8

任何人都知道如今 MMORPG 开发人员加密他们的客户端/服务器协议的趋势是什么?

优缺点如下。

加密协议:

  • 在一定程度上保护有关客户端/服务器协议的商业机密?
  • 机器人并没有停止,它只是改变了,因为人们将创建读取屏幕状态并触发鼠标+键盘事件的机器人然后将被开发,只是缓解机器人的发展而不是无论如何阻止它们。尽管机器人开发的供应量有所减少,但需求仍然存在,他们只是在rentacoder.com上获得更高的出价

常规纯文本:

  • 更高级的机器人,因为开发人员能够将自己的数据报注入客户端/服务器协议。(即:穿墙,传送......服务器端现在必须检查,这反过来又导致通过注入修补漏洞之间的开发竞赛(耗时)
4

7 回答 7

7

@Samuel & coxymla:

这并不完全正确。如果协议使用异步加密,其中客户端不知道服务器的私钥,则机器人无法解密客户端的出口。这意味着要修改传出数据,机器人实际上必须挂钩游戏进程并在数据加密之前拦截数据。

这在理论上很简单,但在技术上可能具有挑战性。至少你提高了攻击者的门槛。

@Zombies:除了初始密钥交换之外,大多数加密方案不需要额外的数据传输。此外,虽然使用加密时需要做额外的工作,但数据传输肯定会受到网络而不是处理器的限制。

简而言之,加密不会导致更慢/更多的数据传输。

注意事项:此 Wikipedia 页面包含有关 Phantasy Star Online 的开发人员所犯的常见加密错误的故事。值得一读。

于 2009-01-16T06:36:57.507 回答
3

为您的数据包添加加密只会使编写机器人的人慢几秒钟。您的客户端需要知道如何加密以将数据发送到服务器以及如何解密来自服务器的数据,机器人也需要知道。

关于防止通过墙壁翘曲,您应该始终进行这些检查。永远不要相信用户的输入,即使您自己编写了客户端。

正如fastcall所提到的,您仍然应该对某些数据进行加密。特别是那些包含敏感数据的,比如登录和聊天。

于 2009-01-16T05:38:42.723 回答
2

至少,MMO 的登录协议应该是加密的,这样玩家网络上的人就无法通过数据包嗅探他们的帐户信息。

这个原因可以很容易地扩展到播放器发送的其他数据。例如,与其他玩家的聊天可能包含敏感信息。如果游戏已经遇到了为登录过程设置加密协议的麻烦,那么完成后可能没有太多理由将其关闭。

于 2009-01-16T05:31:58.260 回答
0

我的印象是,主要的 MMO 都没有使用加密数据传输。正如塞缪尔所说,您并没有真正从中获得任何安全性,因为客户端也必须能够加密和解密数据。

于 2009-01-16T05:43:19.377 回答
0

这无关紧要。我想加密诸如登录信息和会话信息之类的元数据,然后以明文形式发送游戏机制数据。毕竟,服务器无论如何都不能信任客户端(没有被黑客入侵)。

大多数 hack bot 都会挂接到正在运行的游戏进程中,并且无论如何都会使用它的内存,这是完全无法检测到的——它们通常会进行一些签名识别,试图检测在内存中运行的已知 hackbot,但否则这基本上是无用的。

另一种发现黑客机器人的可能技术是从已知的游戏模式中发现游戏模式。

加密数据无济于事,因为黑客机器人在内存中攻击客户端。

于 2009-01-16T06:57:14.470 回答
0

If you have the time, this one+ hour video about netcode has a part about encryption (among other things such as client synchronization and packet compression).

The relevant quote from the video is this: CPU is cheap. Just encrypt it, you have enough CPU time to encypt and the benefit of encrypting is high (clients won't see your client's commands, increases the bar for hacking, etc).

于 2009-01-20T10:36:27.883 回答
-2

开发人员应该在他们的协议中添加加密的主要原因是营销原因。他们只需要确保他们的服务器只是一个(例如,如果他们将(或已经)想要成为付费会员)并且没有人会在发现协议后编写自己的服务器模拟器并免费提供.

于 2009-01-16T04:23:19.040 回答