银行是否以明文方式存储密码?

3
我看到一些网站,尤其是银行网站,会要求你输入这些(例如)。有时他们要求我通过电话证明身份。
  • 您的密码的第二个字符
  • 您的密码的第五个字符
  • 您的密码的第六个字符
为了做到这一点,散列算法行不通,对吗?毕竟像银行这样安全性应该非常高的机构应该有一种存储无法解密密码的方式,对吧?

如果你真的想知道,为什么不去问银行呢? - Toon Krijthe
这不是一个坏主意,但我认为在我联系到真正了解数据库设置的人之前,我可能会被转接等待至少2个小时。特别是因为我并不担心它,只是感兴趣 ;D - Connell
5个回答

5

是的,即使不持有您密码的明文版本,这个方法也能够发挥作用。在您最初设置密码时,银行会对其可能要求的各种组合进行哈希处理,并存储这些哈希值。无论您使用的是固定长度的密码(如PIN码)还是可变长度的密码,这种处理都非常简单。这些哈希值可以存储在与用户相关的表格的一系列预设列中,或者存储在一个简单的三列表格中 - ID(主键)、UserId和Hash,其中每个包含 n 个字符的密码组合都有一行。

不过,我对于这种方法的有效性存在疑虑,是否有人对此有评论?


如果攻击者知道银行总是从密码中要求5个字符,那么这不会让单个哈希更容易地被暴力破解吗? - Richlv

1
我想他们可能会有一种专门的私钥系统用于解密(甚至每个账户都有一个私钥,以提高安全性)...

1

如果(某些)银行(或其他大公司)确实存储明文密码、ROT13编码的密码,甚至是双重ROT13编码的密码,这并不会让人太吃惊...


0

这可能不是在公开论坛上讨论的好话题,但是有什么能阻止他们将您选择的字符插入到一个保存、解密、复制您记忆中短语或单词的内存中,并在适当位置进行加密并对结果执行二进制比较呢?


0

他们同样可以轻松地保留单个字符的哈希值,不是吗?

实际上,您并不一定要使用单向哈希。如果您确信密钥是安全的,您同样可以使用双向密码。在这种情况下,他们可以轻松地将密码保留在无法从网络访问的系统上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接