【问题标题】:Server generated passwords服务器生成的密码
【发布时间】:2016-07-24 07:05:12
【问题描述】:

让服务器在注册时为用户随机生成密码而不是让用户输入自己的密码是否更安全?当然,这些密码会被 bcrypt-ed。

我认为如果有人闯入您的网站数据库,检索到的密码在您的网站之外将毫无用处,除非用户开始将您随机生成的密码用于其他目的,我认为这 100% 不太可能。

因此,您不必担心恶意用户使用被盗密码侵入用户的电子邮件、银行帐户或他们在网络上可能拥有的任何其他内容,除非我遗漏了什么。

服务器生成的密码是否存在风险?

抱歉英语不好。

【问题讨论】:

标签: security passwords


【解决方案1】:

你不应该依赖随机性。关键是从不存储密码。您存储密码的散列和用于生成这些的盐。您应该使用加密安全的散列算法,例如 pbkdf2 或 bcrypt。看看this 的帖子。
您在处理随机密码方面有什么计划?将其发送到注册的电子邮件地址?
我相信很多人更喜欢使用自己的密码。请记住,如果不使用密钥库(例如 chromes 密码管理器)的人必须记住随机生成的密钥库,他们可能会被劝阻不要使用您的网站。

【讨论】:

  • 一般来说@LuqJensen 是正确的。用户生成的密码的潜在问题是它们可能非常糟糕。如果登录的用户可以访问他们自己的信息以外的信息,这可能是一个安全问题。用户可能不喜欢这种做法,除非他们明白这是在保护他们。就我个人而言,我会在对我无关的网站上使用可怕的密码,并且我不会承担不可接受的责任。
  • 对此的答案是对密码强制一些要求,当然它可能仍然很糟糕,但不太可能......例如。给定一个长度至少为 8 且没有重复字符、大写字母和数字,甚至可能是特殊字符的密码。另一方面,是的,它确实在某种程度上取决于用户的任务和权限,但它应该可以通过授权实现来解决
  • 假设您正在运行一个带有筛选器的网站,每个用户都可以访问电影。还要考虑流行密码的lists 以及可供攻击者使用的密码攻击程序。考虑一下,如果任何用户受到威胁,则所有内容都可用。所有 1000 多个用户都拥有“足够好”的密码的可能性微乎其微,甚至不存在。
  • 我见过的一个例子是:从医学词典中随机选择的两个词(大多数真的很奇怪)由一个非 AN 字符连接。它们是可发音的。除了上面提到的名单之外的兽医。
  • 如果最关心的问题是“恶意用户下载我的数据库”,那么您需要做的第一件事就是保护服务器。具有良好控制的第二因素的 2 因素身份验证。速率限制失败的尝试和下载,你会在几分钟内看到数千次尝试。记录并查看失败的尝试。您将不得不保留电子邮件地址以重置密码。
猜你喜欢
  • 1970-01-01
  • 2012-07-24
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
  • 2010-12-02
  • 2016-08-18
  • 2012-03-17
相关资源
最近更新 更多