任何人都知道MMORPG开发人员最近加密他们的客户端/服务器协议的趋势是什么?
专业人士和骗子如下:
加密协议:
普通纯文字:
答案 0 :(得分:7)
@Samuel& coxymla:
这不完全正确。如果协议使用异步加密,其中服务器的私钥对于客户端是未知的,则机器人无法解密客户端的出口。这意味着要修改传出数据,机器人实际上必须挂钩游戏进程并在加密之前拦截数据。
理论上这很简单,但它在技术上具有挑战性。至少你提高了攻击者的标准。
@Zombies: 除了初始密钥交换之外,大多数加密方案不需要额外的数据传输。此外,虽然在使用加密时还有额外的工作要做,但数据传输肯定会受到网络而非处理器的限制。
明确地说,加密不会导致更慢/更多的数据传输。
警告说明:This Wikipedia page包含有关Phantasy Star Online开发人员常见加密错误的故事。值得一读。
答案 1 :(得分:3)
为您的数据包添加加密只会减慢写一个机器人的时间哦,几秒钟。您的客户端需要知道如何加密以将数据发送到服务器以及如何解密来自服务器的数据,因此机器人也是如此。
关于防止墙壁翘曲,你应该总是做这些检查。即使您自己编写了客户端,也不要相信用户的输入。
如上所述fastcall,您仍应实施某些数据的加密。特别是包含敏感数据的那些,如登录和聊天。
答案 2 :(得分:2)
至少,MMO的登录协议应该加密,以便播放器网络上的人不会嗅探他们的帐户信息。
这个原因很容易扩展到玩家发送的其他数据。例如,与其他玩家聊天可能包含敏感信息。如果游戏已经经历了为登录过程设置加密协议的麻烦,那么在完成后可能没有太多理由将其关闭。
答案 3 :(得分:0)
我的印象是没有一个主要的MMO使用加密数据传输。正如塞缪尔所说,由于客户端必须能够加密和解密数据,因此您并没有真正获得任何安全性。
答案 4 :(得分:0)
这是无关紧要的。我想象加密元数据,如登录信息和会话信息,然后明确发送游戏机制数据。毕竟,服务器无论如何都不能信任客户端(不是被黑客入侵)。
大多数黑客机器人都会陷入正在运行的游戏过程中并且无论如何都要查看它的内存,这是完全无法察觉的 - 它们经常会进行一些签名识别,试图检测在内存中运行的已知hackbots,但这基本上是无用的。
另一种可能发现hackbots的技术是发现已知的游戏模式。
加密数据无效,因为hackbots攻击内存中的客户端。
答案 5 :(得分:0)
如果你有时间,这个关于网络代码的one+ hour video有一部分关于加密(包括客户端同步和数据包压缩等)。
视频的相关引用是:CPU很便宜。只需加密它,你有足够的CPU时间来加密,加密的好处很高(客户端不会看到客户端的命令,增加黑客攻击的标准等)。
答案 6 :(得分:-2)
开发人员应在其协议中添加加密的主要原因是营销原因。他们只是需要确保他们的服务器只有一个(例如,如果他们将(或已经)想要付费会员资格)并且没有人会在发现协议后编写自己的服务器模拟器并将免费提供