在每个 WebSocket(或 TCP)请求中发送令牌

Posted

技术标签:

【中文标题】在每个 WebSocket(或 TCP)请求中发送令牌【英文标题】:Send token in every WebSocket (or TCP) request 【发布时间】:2016-04-02 14:33:26 【问题描述】:

我正在开发一个使用 WebSocket 的客户端-服务器应用程序。我已经使用 JWT 实现了基于令牌的身份验证。一旦我的客户拥有一个有效的令牌,一个 WebSocket 连接就会无限期地打开

在每个请求中发送令牌是个好主意吗?有没有人可以劫持连接?

我的问题实际上适用于任何需要身份验证的基于 TCP 的连接。

【问题讨论】:

没有加密的身份验证充其量是有问题的。 【参考方案1】:

是否有任何人劫持连接? ...我的问题实际上适用于任何需要身份验证的基于 TCP 的连接。

是的,可以劫持现有的 TCP 连接,或者在您启动新连接时充当中间人。对此的保护措施不是在每条消息中发送身份验证,因为攻击者可以简单地复制这些身份验证。而是使用加密,即 wss:// 在 WebSocket 或 TLS 的情况下,IPSec 或其他情况下的类似情况。这些可以防止主动中间人攻击(劫持)和被动嗅探。

【讨论】:

以上是关于在每个 WebSocket(或 TCP)请求中发送令牌的主要内容,如果未能解决你的问题,请参考以下文章

请教怎样发送socket请求包,并获得返回数据

Websocket

如何理解 TCP/IP,SPDY,WebSocket 三者之间的关系

浅析WebSocket协议及其实现

WebSocket消息推送

tcpsocket/tmp很慢