2013-02-26 210 views
0

遵循以下逻辑进行身份验证的主要缺陷是什么?身份验证令牌安全

用户登录到a.example.com并点击“登录到b.example.com”。该链接生成一个随机字符串并将其保存在b.example.com数据库中。然后它重定向到b.example.com/remotelogin.php?token=therandomstring,它检查数据库中的该字符串并将用户记入日志中。

我能想到的唯一问题就是它需要的安全性是令牌有效的时间限制,可能是30几秒钟什么的。

+0

我认为这将是更好的http://security.stackexchange.com/ – Mike 2013-02-26 20:57:53

+0

你读过关于OAuth吗?这将是一个更安全的方法 – JamesHalsall 2013-02-26 20:58:43

+0

如果令牌有时间限制,我发现问题的可能性很小。 – deceze 2013-02-26 21:00:04

回答

0

这几乎不是用户认证方案。用户身份验证是关于用户是谁。这也不是很实际。

例如如果在30秒内到期并且用户在40秒内刷新?然后怎样呢?

恶意用户发送链接并让用户登录该网页如何?或者恶意用户用loggins淹没你的数据库呢?

您是否打算拥有ssl或在30秒内打开重播攻击?你提出的方案并不好,还有很多更多的东西可能会出错。

我猜我说的大多是这样的(但不尝试冒犯):

如果你为什么要费心鉴别不保留任何用户相关的信息?反对谁在做什么?例如,您不能在社交网络应用程序或银行应用程序或此类论坛中使用此方案。如果你不做任何安全敏感的话,那么你的计划没有安全流量,但它没有缺陷,因为它没有保存敏感信息。

+0

*“40秒”*:通过选择适当的超时进行修复; *“恶意用户发送链接”*:由服务器 - 服务器通信在幕后和时间限制内阻止; *“泛滥数据库”*:请解释这是如何非常有问题的; *“SSL”*:是的,让我们假设这是通过SSL,那么几乎没有问题的机会。你的批评似乎有点过于激进,没有什么实质可以证明。 – deceze 2013-02-26 21:07:11

+0

30秒到期是针对登录请求的。一旦发出登录请求,他们就会为该网站获得一个具有自己到期时间的会话,但用于身份验证的令牌不再有效。 – 2013-02-26 21:31:10

+0

如果我听起来凶悍,我很抱歉。不是我的意图。虽然认证是关于谁的用户不是关于它的(是它的)遵循链接的能力。如果认证无法保存用户相关信息,认证是否有用。另外,如果你使僵尸网络变得如此简单,恶意用户就可以通过简单地按照数百万的链接填充数据库中的千兆字节。此外,你的意思是“被幕后的服务器 - 服务器通信阻止”? – idipous 2013-02-26 21:35:37