基于令牌的身份验证的安全性
Posted
技术标签:
【中文标题】基于令牌的身份验证的安全性【英文标题】:Security of Token Based Authentication 【发布时间】:2011-06-08 00:00:41 【问题描述】:我对基于令牌的身份验证的理解是,在进行身份验证时(可能通过 ssl),令牌会被传递给用户,以便即时进行廉价的用户验证。一种实现方式是生成一个 cookie,该 cookie 传递给用户以进行会话管理。
但是,我的理解是,基于令牌的身份验证(至少通过 cookie)容易受到中间人攻击,例如 firesheep。
是否有其他实施方法可以绕过这个主要的安全问题,或者我对 tba 有根本的误解?
【问题讨论】:
【参考方案1】:你的理解很好。从根本上说,就应用程序如何看待它而言,令牌也可以是用户名和密码。如果有人拥有令牌,他们可以向您的应用程序验证自己的身份。 http cookie 的主要目的是避免在有人通过跨站点脚本漏洞 (XSS) 或其他方式获取 cookie 时泄露用户名和密码。是的,在适当的情况下,他们可以将这个令牌作为“中间人”“重播”到应用程序,但他们不应该从中找出用户名/密码配对,但如果令牌再次不能保证生成算法很弱,例如,如果您决定对连接在一起的用户名和密码进行 BASE64 编码并将其用作值。
通常您会在服务器端保持令牌 -> 用户映射的安全。因此,最终您的安全性完全基于保持令牌安全并确保其生命周期受到控制(例如,它过期和/或仅在从与原始凭证提供者使用的 IP 相同的 IP 提供给您时才有效 - 再次,只是一个例子)
希望这会有所帮助,
-奥辛
【讨论】:
以上是关于基于令牌的身份验证的安全性的主要内容,如果未能解决你的问题,请参考以下文章