基于令牌的认证安全性

时间:2011-01-12 17:33:31

标签: authentication session-cookies

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

但是,我的理解是基于令牌的身份验证(至少通过cookie)容易受到火灾等中间攻击的影响。

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

1 个答案:

答案 0 :(得分:10)

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

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

希望这有帮助,

-Oisin