我目前正在开发一个基于浏览器的多人游戏,正在使用WebSockets。我的最高优先级是低延迟和与广泛的平台和网络设置的兼容性。
但我正在做密码认证。我也有一个聊天功能,我认为我的球员的隐私很重要。因此,我想我可以通过切换到websockets而不是TLS来提高安全性和隐私。我的问题是:
或者对我的用例来说,在应用程序级别上实现加密会更明智吗?
发布于 2012-09-11 10:21:24
由于代理和其他中介不理解或主动阻止WebSocket,WSS将在比WS大得多的网络环境中工作。
关于TLS引入的额外延迟,我预计与您从WAN连接获得的延迟相比(大约是10-250ms的RTT),它是微不足道的。
关于带宽,因为TLS使用对称密码来进行有效载荷加密,所以我不需要任何开销。
TLS显然会消耗CPU周期,但考虑到今天的CPU能力,它通常不是一个问题。
实现自己的加密是没有意义的。除非你关心端到端的隐私..。但是,无论如何,您将无法在服务器端执行任何操作(除了发送给其他客户端)。
简而言之:跟WSS一起去吧。
我写了一篇关于WebSocket开销的博文。与TLS和非TLS的比较:http://tavendo.com/blog/post/dissecting-websocket-overhead/
发布于 2012-09-11 07:40:01
几年前,我做了一项性能研究,结果显示Internet上的SSL仅比明文慢3倍。我预计,由于硬件速度的提高,这一差距将从那时起缩小。
当SSL已经存在时,我肯定不会建议您实现自己的加密。您没有理由相信它将比SSL更快,而且您几乎肯定会引入SSL中不存在的安全漏洞。
https://stackoverflow.com/questions/12364698
复制相似问题