全球唯一密码不可取的引用

信息安全 密码 企业政策 客户端
2021-08-29 11:37:33

我正在寻找一个权威来源来支持我在密码政策上存在分歧的立场。

我与客户就系统的用户识别/身份验证过程存在分歧。关键是他们希望每个用户都有一个全局唯一的密码(即没有两个用户可以有相同的密码)。我已经提出了所有反对这一点的明显论据(这是一个安全漏洞,它将身份验证与身份验证混淆,毫无意义等),但他们坚持认为这种方法没有任何问题。

我已经进行了各种谷歌搜索,以寻找权威(或半权威,甚至只是独立)的意见,但找不到任何(主要是它只是一个如此明显的失礼,似乎不值得警告,因为据我所知)。有人可以向我指出任何这样的独立意见吗?

我找到了一篇Daily WTF 文章,但是(除了过于幽默而无法权威之外),它受到我上面提到的问题的困扰——这种方法的不可取性是如此不言而喻,以至于似乎不值得解释为什么。

澄清一下,我理解这些问题,甚至可以向客户解释它们,但客户不愿意接受它们,因此我要求独立和/或权威来源。

任何指向独立和/或权威来源确认这是一个坏主意的指针都非常感激......

4个回答

文章指出,系统泄露信息:他人密码。每次它拒绝您的密码时,您就知道系统上有人拥有该密码!!!

也许您可以从施加这种情况的代价有多大的角度来处理它,因为您只存储加盐哈希(或其他什么)而不是它们的实际密码?

如何检测用户是否共享相同的密码?这是否意味着您正在存储密码?

我认为您会得到一些更好的答案,但您需要更广泛地看待身份验证问题。从维基百科链接开始,首先了解基本问题。我真的不认为您想在中央数据库 (AAA) 中处理实际密码。

rox0r 提出了一个很好的观点——没有权威文章谈论全球唯一密码的不可取性的一个原因是它们需要结合文章涵盖的其他内容。可逆地存储用户密码

如果不存储密码,就无法判断新用户是否在复制它们——除非你做了一些棘手的事情,比如使用布隆过滤器,但这肯定会增加不必要的复杂性并增加攻击面。试图巧妙地使用身份验证或加密是一个坏主意。

他们是在谈论为每个用户分配一个全局唯一的密码,还是在用户更改密码时确保它是唯一的?

如果允许用户更改他们的密码,那么 UI 将根据他们得到的错误暴露其他密码。显然是一件坏事,并且可能违背他们的安全目标。

在相关说明中,他们可能对使用硬件或软件令牌的 RSA 两因素加密感兴趣。令牌生成一个与时间相关的唯一密码,后跟一个 PIN 码。这共同为每个用户提供了唯一的密码。

如果您使用的是 Active Directory 或 ASP.NET 成员资格,这很容易。

替代文字

如果您使用 RSA,您可以满足客户的要求,并在此过程中增加安全性。我想不出任何其他方法来处理这个解决方案,那一刻......

重新阅读您的问题后,我决定发布第二个答案:

但他们坚持认为这种方法没有错。

这是一场争论的野兽,它与宗教争论接壤。有没有办法伪造他们的主张?如果没有,请立即放弃

在这种情况下,“错误”是什么意思?几乎每一个涉及安全的决定都是一种权衡。如果他们的主要目标是确保每个人都有唯一的密码,他们可能是“正确的”。

如果他们的目标是安全,那么他们有责任展示系统如何根据要求变得更加安全。至少他们需要展示它如何不会降低系统的安全性并证明实施成本是合理的。