密码学漏洞(密码破解简介及防护手段)(1)

暴力破解法,或称为穷举法,是一种密码分析的方法,即将密码进行逐个推算直到找出真正的密码为止。例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试9999次就能找到正确的密码。理论上除了具有完善保密性的密码以外,利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间。有些人运用计算机来增加效率,有些人辅以字典来缩小密码组合的范围。

本文介绍的是密码学上的暴力破解方法。关于数学上的穷举法,请见“穷举法”。

字符类型

字符类型一般可以分为4以下5种

数字型0、1、2、...9等(10个)

大写字母A、B、C、...Z等(26个)

小写字母a、b、c、...z等(26个)

特殊字符~、$、#、@、&、*等(33个)一般较少用

  • 防护手段

  • 最重要的手段是在构建系统时要将系统设计目标定为即便受到暴力破解的攻击也难以被攻破。以下列举了一些常用的防护手段:

    增加密码的长度与复杂度

    1. 在系统中限制密码试错的次数

    密码验证时,将验证结果不是立即返回而是延时若干秒后返回。

    限制允许发起请求的客户端的范围

    禁止密码输入频率过高的请求

    将密码设置为类似安全令牌那样每隔一定时间就发生变化的形式

    当同一来源的密码输入出错次数超过一定阈值,立即通过邮件或短信等方式通知系统管理员

    人为监视系统,确认有无异常的密码试错。

    ,