由密码建立起来的身份认证管理体系是第一代信任服务体系。最有代表性的是R.Rivest于上个世纪90年代初开发出来MD5加密,即"Message-Digest Algorithm 5(信息-摘要算法)也就是HASH算法。MD5算法是一种应用广泛的身份认证算,它的最大作用在于它是一种不可逆的算法,即把密码明文都转换成一个128位的数据,而这个数据不能通过返函数的方式推导出原来的数据。
如果要判断一个密码是否与原来的密码相等,只能把新的数据进行一次MD5变换,然后用该变换结果与原来数据的变换结果比较。但MD5完全可以信赖吗?其实从MD5诞生之日起,Van Oorschot和Wiener的两位密码学专家就发现了一个暴力搜寻冲突的函数,一直到2004国际密码学年会上,来自中国山东大学王小云教授的一篇关于“破译MD5、HAVAL-128、MD4以及RIPEMD-128算法”的报告引起了轰动,报告中提到的新破译方法几乎标志着世界通信密码标准——MD5堡垒的轰然倒塌。
我这这里暂且不再讨论MD5是如何破解的了,单单在实际管理中,以单一密码为身份认证的管理体系就漏洞具多,比如:
* 为了便于记忆,用户多选择生日、电话号码等作为密码,黑客可以通过暴力程序不断尝试并且很容易破译密码;
* 静态密码明文传输,容易被中间人程序(Sniffer工具)采用截取、重放的方式,对经过简单加密后传输的认证信息进行分辨,也可推算出用户的密码,造成密码破解;
* 利用邮件和钓鱼网站诈骗,等手段获取用户的密码;
* 网管或内部其他人员可通过合法授权取得用户密码而非法使用;
* 离职员工对于没有密码账户依然具有使用和资源访问权限。