为游戏数据流量添加SSL加密值得吗

Is it worthwhile to add SSL encryption to game data traffic?

本文关键字:SSL 加密 值得 添加 流量 游戏 数据 数据流      更新时间:2023-10-16

我只是想知道我是否应该通过TCP加密游戏数据流量(当然用户名/密码是加密的)?我听说openSSL对这类事情很好。

根据您提供的详细信息,很难给出一个绝对的答案。

但你应该记住以下几点:

  • SSL会导致开销;这种开销是否显著/可接受取决于许多因素。这对于一个缓慢的外交模拟游戏来说可能是可以接受的,但对于一个实时的第一人称射击游戏来说可能不是
  • SSL不仅仅是对数据进行加密,它还涉及端点进行身份验证:也就是说,您知道自己正在连接到请求的服务器,而不是连接到想要窃取密码的恶意服务器,等等
  • SSL也是为了避免重播攻击:根据游戏的不同,能够收听网络传输并重播可能是危险的(例如,攻击者可能会强迫你重复"购买订单")

虽然我认为你可以(假设游戏是通过TCP进行通信的;使用UDP,你无论如何都需要一种不同的加密方法),但很难理解为什么对这种实时数据这样做是值得的。问题是,它很快就不再对任何人有价值了。

也就是说,当通信将持续存在的信息(例如,在"游戏商店"中购买)时,更重要的是加密并确保谁在做这件事。这类事情肯定应该通过SSL(事实上,通过HTTPS运行的RESTful网络应用程序将是实现这些部分的完全合理的方式)。关键的区别在于,时机不那么关键,结果会持续下去。

  1. 您可能需要加密用户名、密码、聊天等机密数据。

  2. 你可能想对常规数据进行签名,这样其他人就不会篡改这些数据(例如,连接速度更快的攻击者会在现有连接中插入某种"移动",或在聊天连接中插入垃圾邮件)。OpenSSL也允许这样做。