为游戏数据流量添加SSL加密值得吗
Is it worthwhile to add SSL encryption to game data traffic?
我只是想知道我是否应该通过TCP加密游戏数据流量(当然用户名/密码是加密的)?我听说openSSL对这类事情很好。
根据您提供的详细信息,很难给出一个绝对的答案。
但你应该记住以下几点:
- SSL会导致开销;这种开销是否显著/可接受取决于许多因素。这对于一个缓慢的外交模拟游戏来说可能是可以接受的,但对于一个实时的第一人称射击游戏来说可能不是
- SSL不仅仅是对数据进行加密,它还涉及对端点进行身份验证:也就是说,您知道自己正在连接到请求的服务器,而不是连接到想要窃取密码的恶意服务器,等等
- SSL也是为了避免重播攻击:根据游戏的不同,能够收听网络传输并重播可能是危险的(例如,攻击者可能会强迫你重复"购买订单")
虽然我认为你可以(假设游戏是通过TCP进行通信的;使用UDP,你无论如何都需要一种不同的加密方法),但很难理解为什么对这种实时数据这样做是值得的。问题是,它很快就不再对任何人有价值了。
也就是说,当通信将持续存在的信息(例如,在"游戏商店"中购买)时,更重要的是加密并确保谁在做这件事。这类事情肯定应该通过SSL(事实上,通过HTTPS运行的RESTful网络应用程序将是实现这些部分的完全合理的方式)。关键的区别在于,时机不那么关键,结果会持续下去。
-
您可能需要加密用户名、密码、聊天等机密数据。
-
你可能想对常规数据进行签名,这样其他人就不会篡改这些数据(例如,连接速度更快的攻击者会在现有连接中插入某种"移动",或在聊天连接中插入垃圾邮件)。OpenSSL也允许这样做。
相关文章:
- AES加密到解密未正确输出
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 加密++验证大文件签名
- 通过 Openssl 命令行加密,通过 c++ 解密
- 如何在加密++中将两个源组合成新的源
- 在TFHE(完全快速同态加密)上执行除法
- 使用不同算法的 PKCS1v15 填充进行加密 ++ 签名
- 加密在 Windows、C++ 和 Java 中传输中的数据
- 使用 OpenSSL 从内存中读取原始 SSL/TLS 证书
- Mongocxx无法使用SSL连接到mongoDB
- 将加密消息从 php 发送到 C++ 应用程序,然后使用 CryptoPP 进行解密
- 使用公钥加密消息:BER 解码错误
- OpenSSL API,使用GCM(伽罗瓦计数器模式)进行AES加密
- 邮件加密程序崩溃
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 如何在Mac OSX上的Qt中使用pkcs12 / pfx成功执行SSL加密?
- 从或写入boost :: asio :: ssl :: stream :: next_layer()旁路SSL解密/加密
- 为游戏数据流量添加SSL加密值得吗
- Boost asio SSL简单加密程序
- SSL与加密套接字