出于兴趣并且因为它激怒了我,我想知道这里的SOmebody是否可能碰巧为银行工作或以其他方式知道答案.
我已经使用了一些网上银行网站(英国和N.America),他们普遍强制执行密码模式./[\w\d]{6,8}/
有时,也许你可以使用下划线,但从来没有/.{6,20}/
你得到(或多或少)与几乎所有你会遇到的银行网站.
我被告知这与存储空间有关,但数学似乎并不支持.假设银行为您的密码记录保留了影子表,让我们慷慨地说每个帐户平均10个,然后将允许的密码长度加倍,并根据8char 8bit现有格式将字符集的位宽加倍意味着额外的 11*2*8 =每个帐户176个字节,因此每1M帐户约168 MB.让我们说这是一个支持100M账户的庞大银行 - 这仍然只有16Gb!
它可以不那么简单吗?当然我的数据不合适.
或者这里的答案是,银行作为银行,他们没有更好的理由,而不是他们的恐龙.
有谁知道为什么我的www.random.com/forum密码比我银行的密码更强的技术原因?
如果我听说某些银行的故事是真的......
这是因为无论何时输入密码:
网络服务器通过半公里长的串行电缆将其发送到一个废弃的办公室中的旧386,运行UI(使用定制黑客版本的Borland C 1.0编译),1989年银行经理使用它,没有串行接口,所以它必须通过另一个模拟AT键盘上按键的设备.
此程序将您的请求(包括您使用的自定义算法加密,无法再使用,但无法在软件中禁用)插入到位于另一端的另一个废弃办公室的NetWare文件服务器上的FoxPro数据库中.建筑物(只是因为如果他们试图移动它就会掉头.)
回到第一个废弃的办公室,另一个老386,不断轮询FoxPro数据库以获取新记录,检测到此请求并通过更慢的串行电缆(这次是在EBCDIC中)将其转发到第三个办公室中的另一个模拟PDP11运行的盒子维护帐户的实际COBOL程序.
不幸的是他们还需要真正的 PDP11,因为它有另一个安全加密算法的自定义微码(他们无法提取或防篡改设备会将其删除.)PDP11无法处理所有帐户增加的工作量自从1981年(他们第一次尝试退役之后的那一年)以来(通过另一层屏幕刮刀和模拟硬盘),它被欺骗为代表主服务器执行功能的子集(包括密码验证).
因此,您的密码只能使用所有这些系统支持的字符集的公共子集,并且只能与所涉及的最短数据库字段一样长.
我实际上现在在一家银行工作,过去曾经做过很多工作.
发生这种情况的主要原因是,一般而言,最终负责做出这些决定的人不是最终实施这些决策的人.银行的"业务部门"是最终做出这些决定的非技术业务专家.在许多情况下,出于政治或商业原因,技术异议将被驳回.但这不是银行专有的.它发生在任何通常不是主要关注的技术考虑的行业中.
银行主要使用在线服务作为遗留系统的接口.您的密码可能是由Cobol编写的某个IBM大型机处理的,密码结构可能是在70年代设计的.
此外,由于银行是这样的政治结构,管理层主要看到"具体"结果,因此安全等问题在成为热点问题之前不会得到解决,然后有一个"倡议"来解决它.
在我工作的一家银行,生产密码与userid相同(与使用"root""root"登录的想法相同).用户密码可以在线重置为您姓氏的前N个字母+ SSN的最后4位数字的组合,因此任何用户都可以重置您的密码,如果他们知道您的姓名和SSN并登录您.
可能大多数银行系统是很久以前开发的,当时8个字符的密码被认为是安全的.我认为没有人会考虑从银行账户强制使用密码,8个字符仍然很多.我打赌所有银行在3次左右后都会屏蔽一个帐户.