如何进行最安全的Websocket身份验证

时间:2014-03-10 17:39:12

标签: security session authentication websocket

我已经看过几次回答这个问题,但我有一个非常具体的问题。

我正在制作游戏,其中HTML5程序正在与服务器端的C ++程序进行通信。游戏还包括有价值的匹配,因此客户端和服务器之间的低延迟以及安全性应该是高优先级。

这导致了我的问题:在启动时一次性验证websocket会话(TLS加密)是否足够安全,或者我应该将每个从客户端发送的消息发送到服务器的SESSIONID吗?

1 个答案:

答案 0 :(得分:4)

这个问题非常基于意见,并不适用于StackOverflow问题的性质。

以下是我的意见:

WebSockets协议是在基于连接的TCP网络层协议之上实现的。这意味着建立连接然后保持连接直到客户端或服务器关闭它。两者之间的拦截是不太可能的。

建立TCP连接后,WebSockets将从客户端发送HTTP标头,就像任何其他HTTP请求一样,但不会关闭连接,并等待来自服务器的响应,如果用于批准HTTP协议的所有“精细”标头升级到WebSockets通信。从那时起,WebSockets可以在客户端和服务器端用于通信。由于TCP连接,它是持久连接。因此,为每个请求发送会话 - 没有意义,因为一旦建立连接就会发送。

所以不,在每条消息上发送会话详细信息并不是一个好主意。您最好确保恢复会话是安全的过程,并且只是获取客户端的cookie - 不允许以其他用户身份进行连接。