1、窃听
入侵者搭线窃听,试图从正在进行的通信中获得有用的信息。
2、重放
入侵者记录过去通信中的消息并在以后的通信中重放它们。
3、中间人攻击
入侵拦截各主体之间的消息,并用自己的消息来取代它们。在向服务器发送的消息中他假冒用户的身份,同样,在向用户发送的消息中他假冒服务器的身份。
4、口令猜测攻击
假设入侵者拥有一个相对较小的口令字典,其中包含了许多普通的口令。利用该口令字典,入侵者主要用以下两种方法进行攻击,它们是:
(a) 离线攻击
入侵者记录过去的通信,然后遍历口令字典,查找与所记录的通信相一致的口令。如果发现了这样的口令,那么入侵者就能够断定这是某个用户的口令。
(b) 在线攻击
入侵者重复地从口令字典中选取口令并用它来假冒合法用户。如果假冒失败了,入侵者就把这个口令从口令字典中删除,再用其它的口令进行尝试。在实践中,防止这种在线攻击的标准方法是限制口令到期之前允许用户登录失败的次数,或降低允许用户登录的频率。
5、内部人员辅助攻击
很多时候入侵者可能得到内部人员的帮助进行攻击。实际上,入侵者往往就是系统中的一个用户,因此我们应该考虑到这种可能性,即入侵者拥有自己的账户及相应的合法口令。我们应该确保在这种情况下,协议能够防止入侵者用合法的账户来攻击别人的账户。
6、秘密揭露
入侵者可能会偶尔得到应该被参与协议的主体保持为秘密的敏感数据(如当服务器或用户被损害时)。在这种情况下,协议的目标就是使得密钥或文件的泄露对整个系统的影响最小化。特别是,在口令机制的环境中,我们需要考虑泄露的密钥对导出的会话密钥(反之亦然)的影响以及损害口令文件或服务器密钥所产生的影响。