在讲解认证的例子中的“PASSWORD”,我们称之为“常规口令(密码)”。目前各类计算资源主要靠固定口令的方式来保护。比如你需要访问一个NT系统,首先必须在这个NT上设置一个账户,并设定密码。当通过网络访问NT资源时,系统会要求输入你的账户名和密码。在账户和密码被确认了以后,你就可以访问NT上的资源了。这种以固定密码为基础的认证方式存在很多问题,最明显的是以下几种。
1)网络数据流窃听(Sniffer)
由于认证信息要通过网络传递,并且很多认证系统的口令是未经加密的明文,***者通过窃听网络数据,就很容易分辨出某种特定系统的认证数据,并提取出用户名和口令。
2)认证信息截取重放(RecordReplay)
有的系统会将认证信息进行简单加密后进行传输,如果***者无法用第一种方式推算出密码,将使用截取重放方式。
3)字典***。
由于多数用户习惯使用有意义的单词或数字作为密码,某些***者会使用字典中的单词来尝试用户的密码。所以大多数系统都建议用户在口令中加入特殊字符,以增加口令的安全性。
4)穷举尝试(BruteForce)。
这是一种特殊的字典***,它使用字符串的全集作为字典。如果用户的密码较短,很容易被穷举出来,因而很多系统都建议用户使用长口令。
5)窥探。
***者利用与被***系统接近的机会,安装监视器或亲自窥探合法用户输入口令的过程,以得到口令。
6)冒充窃取。
***者冒充合法用户发送邮件或打电话给管理人员,以骗取用户口令。
7)垃圾搜索。
***者通过搜索被***者的废弃物,得到与***系统有关的信息,如果用户将口令写在纸上又随便丢弃,则很容易成为垃圾搜索的***对象。虽然用户可以通过经常更换密码和增加密码长度来保证安全,但这同时也给用户带来了很×××烦。