2011-11-01 76 views
3

什么样的安全性能使密码和用户名只能通过单一密码登录?单一密码与密码和用户名

如果用户名必须是唯一的,那么其他用户就不能有一个用户名和用户可以映射到使用该ID的用户帐户。当攻击者蛮横攻击用户名和密码时,它与攻击者一样会对单一密码进行暴力破解。但使用单一密码攻击者可以尝试访问所有具有相同密码暴力强制的帐户。

在您登录到应用程序之后,您的会话将通过单个密码进行验证,该密码是会话ID。因此,攻击者可以尝试通过强制会话ID登录到所有帐户。当然,会话ID通常很长,因此很难暴力破解。

如果应用程序自动生成的密码令牌,然后总是把什么映射到特定的用户唯一的前缀(前缀长度存储在数据库中)的密码是什么。因此,密码实际上是用户名和密码的组合,但用户不知道?这种设置是否与用​​户名和密码系统具有相同的安全性?

+0

我会投票将其迁移到security.stackexchange。com可能会得到更好的答案 - 但似乎没有这方面的选择。 (你可能会考虑在那里虽然:)) – jcoder

回答

1

在考虑一个密码的方法,我可以看到一些可能的问题,例如,如果您允许用户设置自己的密码,然后只是有密码作为登录凭据开辟了您的应用程序大量的安全漏洞。

最常见的情况是,用户注册和使用密码,如姓名,或因此其他一些常用的不安全密码因此很容易蛮力。

还要考虑的事实,随着用户数量的增加可以接受的密码的数量来访问你的网站也随之增加,这使得它更容易蛮力攻击的工作。即使使用自动生成的密码,这也是我所关心的最大问题。

第三,我和你一起,并尝试注册到您的网站,我在密码“Bob1”键入现在,如果另一个用户已经输入的密码“Bob1”?你通知我密码是否存在?两个用户无法使用相同的密码登录到不同的帐户。

这里要考虑的主要问题是用户习惯于输入用户名和密码。我个人不希望注册一个网站,我只需输入密码,最重要的是,我不想使用一个网站,我的密码是自动生成的,很难记住。

如果您担心安全问题(如您应该那样),那么我建议您执行严格的密码规则(到期时间,长度,内容),并教育用户有关不安全密码的缺陷。在创建密码,你可以检查它不符合用户输入的任何信息,如姓名/出生日期等。

总的来说,我认为用户名/密码组合比安全和可用性原因的单个密码更好。 另请参阅http://xkcd.com/936/

0

如果你只使用密码,那么有人可以键入一个像'helloworld'这样的词并登录到一个随机帐户。 因为会有人使用这个密码。

有许多人会使用熟悉的短语作为密码。它的用户很放心。

此类漏洞剂量存在于用户名 - 密码组合中。