基于令牌的认证安全性

Dev*_*vin 6 authentication session-cookies

我对基于令牌的身份验证的理解是,在身份验证(可能超过ssl)时,会将令牌传递给用户,以便在运行中进行廉价的用户验证.其中一个实现是生成一个cookie,该cookie被传递给用户进行会话管理.

但是,我的理解是,基于令牌的身份验证(至少通过cookie)在像firesheep这样的中间攻击中容易受到攻击.

是否有其他实施方法可以解决这一重大安全问题,或者我对tba存在根本性的误解?

x0n*_*x0n 10

你的理解很好.从根本上说,就应用程序如何看待它而言,令牌也可以是用户名和密码.如果有人拥有令牌,他们可以向您的应用程序验证自己.如果有人通过跨站点脚本漏洞(XSS)或其他方式获取cookie,则http cookie的主要目的是避免泄露用户名和密码.是的,在适当的情况下,他们可以将此令牌"重播"给应用程序作为"中间人",但他们不应该能够找出与其配对的用户名/密码,但如果令牌再次无法保证生成算法很弱,比如,如果您决定将BASE64编码的用户名和密码连接在一起并将其用作值.

通常,您在服务器端保持令牌 - >用户映射的安全性.因此,最终您的安全性都基于保持令牌安全并确保其生命周期受到控制(例如,它过期和/或仅在从与证书的原始提供者使用的IP相同的IP提供给您时才有效 - 再次,只是一个例子)

希望这可以帮助,

-Oisin