银行密码为何如此薄弱?

时间:2008-12-04 16:50:10

标签: passwords onlinebanking

出于兴趣并且因为它激怒了我,我想知道这里的SOmebody是否可能碰巧为银行工作或以其他方式知道答案。

我使用了一些网上银行网站(英国和N.America),他们普遍强制执行/[\w\d]{6,8}/的密码模式。有时,也许你可以使用下划线,但从来没有使用{ {1}}你得到(或多或少)你将遇到的几乎所有!银行网站。

我被告知这与存储空间有关,但数学似乎并不支持。假设银行为您的密码记录保留了影子表,让我们慷慨地说每个帐户平均10个,然后将允许的密码长度加倍,并根据8char 8bit现有格式加倍字符集的位宽意味着额外的 11 * 2 * 8 =每个帐户176个字节,因此每1M帐户约为168 MB。让我们说它是一个支持100M账户的庞大银行 - 这仍然只有16Gb!

它不能那么简单吗?当然我的数字不合适了。

或者在这里的答案是,银行是银行,他们没有更好的理由,而不是他们正在捣乱恐龙。

有谁知道为什么我的www.random.com/forum密码比我银行的密码更强的技术原因?

5 个答案:

答案 0 :(得分:39)

如果我听说某些银行的故事是真的......

这是因为无论何时输入密码:

  • 网络服务器通过半公里长的串行电缆将其发送到废弃办公室中的旧386,运行UI(使用定制黑客版本的Borland C 1.0编译),1989年银行经理使用,它没有串行接口,所以它必须通过另一个模拟AT键盘上按键的设备。
  • 此程序将您的请求(包括使用自定义算法加密,无法再使用,但无法在软件中禁用)插入到另一个废弃办公室中NetWare文件服务器上的FoxPro数据库中。建筑物的尽头(只是因为如果他们试图移动它就会掉到位。)
  • 回到第一个废弃的办公室,另一个旧的386,不断轮询FoxPro数据库以获取新记录,检测到此请求并通过更慢的串行电缆(这次是在EBCDIC中)将其转发到正在模拟的第三个办公室中的另一个盒子PDP11运行实际的COBOL程序来维护帐户。
  • 不幸的是他们还需要真正的 PDP11,因为它有另一个安全加密算法的自定义微码(他们无法提取或反篡改设备会将其删除。)PDP11可以处理自1981年(他们第一次尝试退休后不成功的那一年)开设的所有帐户增加的工作量,所以现在(通过另一层屏幕刮板和模拟硬盘),它被欺骗执行一系列功能(包括密码)验证)代表主服务器。

因此,您的密码只能使用所有这些系统支持的字符集的公共子集,并且只能与所涉及的最短数据库字段一样长。

答案 1 :(得分:33)

我实际上现在在银行工作,过去曾经做过很多工作。

发生这种情况的主要原因是,一般而言,最终负责做出这些决定的人不是最终实施这些决策的人。 银行的“业务部门”是最终做出这些决定的非技术业务专家。 在许多情况下,出于政治或商业原因,技术异议将被驳回。但这不是银行专有的。它发生在任何通常不是主要关注技术考虑的行业中。

答案 2 :(得分:10)

银行主要使用在线服务作为遗留系统的接口。您的密码可能是由Cobol编写的某个IBM大型机处理的,密码结构可能是在70年代设计的。

此外,由于银行是这样的政治结构,管理层主要看到“具体”结果,因此安全等问题在成为热点问题之前不会得到解决,然后有一个“倡议”来解决它。

在我工作的一家银行,生产密码与用户ID相同(与使用“root”“root”登录的想法相同)。用户密码可以在线重置为您姓氏的前N个字母+ SSN的最后4位数字的组合,因此任何用户如果知道您的姓名和SSN并登录就可以重置密码。

答案 3 :(得分:7)

可能大多数银行系统是很久以前开发的,当时8个字符的密码被认为是安全的。我认为没有人会考虑从银行账户强制使用密码,8个字符仍然很多。我打赌所有银行在3次尝试后都会屏蔽账户。

答案 4 :(得分:2)

这是一个“bug”我在Bugzilla中登录了一个我最近为客户建立的网站(不是银行,谢天谢地!):

  

“似乎用户被迫在他们的密码*中使用!或_,这对我来说似乎有点奇怪。这可以更新,以便它是一个只能使用字母数字的6到8位密码吗?”

  • 实际上,它至少是一个非字母数字字符