Api Token认证如何避免中间人

Rem*_*sen 4 security api rest ssl access-token

让我们假设我不使用SSL,而是在HTTP标头中发送令牌.令牌包含用户ID并已加密.

我可以想象一个中间人攻击者可以捕获令牌并使用它.如果我使用SSL,它应该足够安全吗?但如果我不使用SSL ......

我可以在令牌中添加一些内容,例如用户的IP,这样我就可以检查请求IP和令牌中的加密IP是否相同?

中间人攻击者可以伪造受害者的IP地址吗?生成令牌时,我可以使用任何其他用户相关信息吗?

谢谢!

gue*_*est 5

中间人攻击者(MITM)可以伪造受害者的IP地址吗?

既然你描述了可能的攻击"中间人",是的,攻击者可以伪造受害者的IP地址.

生成令牌时,我可以使用任何其他用户相关信息吗?

当然,让用户生成一个永远不会以明文形式发送的随机数.并且更好地确保服务器也这样做,以便中间人攻击者不能只重放旧请求.用户如何确定他与真实服务器而不是攻击者进行通信?用证书更好地证明服务器的身份.

在设计一种能够抵御中间人攻击的协议时,会出现许多这样的问题.如果你解决所有问题,你可能会想出一些与SSL非常相似的东西.对于许多开发人员来说,构建他们自己的安全传输协议是不值得的.