构架之美-前传 阿里巴巴忘了密码 芝麻的问题
在系统中,由于不同的应用系统,不同的应用服务器,不同层次的许可权限,甚至不同的数据库,都可能会建立多套用户帐号系统。
这种一个人帐号的现象,一直困扰着开发人员和普通操作者。
有一次,我们的系统在需要领导批复时,打开一个签章系统,而签章系统需要一套独立的用户名和口令,这对于操作者来讲,需要记住2套口令,我们正要进行统一的处理前,销售人员却对此提出了无需改动的决定。销售人员希望系统仍然保持2套口令,无需做任何改动,然后他跑到用户那里,开始大讲安全:
我们每个人都会有很多钥匙,办公室的钥匙,抽屉的钥匙,保险柜的钥匙等等,这些钥匙各司其责,一把钥匙开一把锁,否则一把钥匙如果能打开所有的门和柜子,就会非常不安全,如果它被其他人利用,后果不堪设想...所以,我们的系统在领导签字环节,也设计成单独的口令,需要领导再次确认口令,这样即使非法入侵者破解了系统的第一道关口(普通用户登录),这第二道关口也会阻挡入侵者...
其实,我们知道,如果单单使用登录名和口令这样简单的验证方式,即使再多100道关口,对于非法入侵者也是无济于事的,唯一的区别就是增加了一点点重复劳动而已。而且,对于要记住这2到100个口令的人来说,可能会因为记不住这么多的口令,在使用时造成非常多的麻烦。更直接的后果,就是使用者为了省事,将所有的口令都设为一个非常好记的数字,更加让非法入侵者破解口令易如反掌。
所以,对于增强口令系统的安全性,不是设多少道关口的是,而是提高安全手段的问题。增强了安全性,一道关口就可以了。而且,用户只需要记住一套口令,那他可以将口令设置得更复杂一些,或者更改的频度更高一些,更加可以增加系统的安全性。