21

出于兴趣,因为它激怒了我,我想知道这里的某人是否会碰巧为一家银行工作,或者知道这个问题的答案。

我使用了一些在线银行网站(英国和北美),它们普遍强制执行密码模式/[\w\d]{6,8}/有时,也许你可以使用下划线,但你永远不会得到/.{6,20}/你得到的(或多或少)几乎所有您会遇到的 !banking 网站。

有人告诉我这与存储空间有关,但数学似乎不支持这一点。假设银行为您的密码记录保留影子表,假设每个帐户平均 10 个,那么密码的允许长度加倍,并且基于 8char 8bit 现有格式的字符集的位宽加倍意味着额外的11* 2*8 = 每个账户 176 字节,因此每 1M 账户约 168Mb。假设它是一个支持 100M 帐户的巨型银行 - 仍然只有 16Gb!

不可能这么简单吧?我的数字肯定是离谱的。

或者这里的答案是,银行是银行,他们没有比他们笨拙的恐龙更好的理由。

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

4

5 回答 5

39

如果我听说的关于某些银行的故事是真的……

这是因为每当您输入密码时:

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

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

于 2009-07-21T11:43:29.347 回答
34

我现在实际上在一家银行工作,过去也工作过不少。

发生这种情况的主要原因是,通常最终负责做出这些决定的人不是最终实施这些决定的人。银行的“业务部门”是最终做出这些决策的非技术业务专家。在许多情况下,出于政治或商业原因,技术异议会被否决。但这并不是银行业独有的。它发生在技术考虑通常不是主要问题的任何行业。

于 2008-12-04T16:54:14.810 回答
10

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

此外,由于银行是这样的政治结构,管理层主要看到的是“具体”结果,因此安全等问题直到成为热点问题后才有“主动性”解决。

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

于 2009-07-21T12:07:51.527 回答
7

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

于 2008-12-04T17:03:07.833 回答
2

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

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

  • 实际上,它至少是一个非字母数字字符
于 2009-07-21T11:49:45.073 回答