2011-01-12 107 views
6

我对基于令牌的身份验证的理解是,通过身份验证(可能通过ssl),令牌传递给用户以便即时进行廉价的用户验证。一个这样做的实现是生成一个传递给用户进行会话管理的cookie。基于令牌的身份验证的安全性

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

是否有其他避开这个重大安全问题的实施方法,还是对tba有根本性的误解?

回答

10

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

通常你在服务器端保持令牌 - >用户映射的安全。因此,最终你的安全是基于确保令牌安全并确保它的生命周期受到控制(例如,它只会在从与原始凭证提供者所使用的IP相同的IP给予您时才有效 - 同样,只是一个例子)

希望这有助于

-Oisin

+0

很好,谢谢[287]莪。 – Devin 2011-01-12 19:35:19

相关问题