|
原文链接:网络安全攻防:密码技术之穷举密钥攻击
1. 穷举攻击基本思想
穷举攻击是最基本的密码分析方法,它是其他攻击方法的基础,其他的密码分析方法都是穷举攻击的变形、推广和简化。穷举攻击是攻击者依次试用密钥空间中的密钥逐个对截获的密文进行脱密测试,从而找出正确密钥的一种攻击方法。
密码分析者的已知条件为:
(1)所需密文
(2)明文统计特性
(3)密码算法
(4)密钥空间及其统计特性
对密码分析者来说,只有密钥是保密的。
分析者利用假设的密钥k对密文进行脱密:
k为正确密钥→D(c,k)=m
k为错误密钥→D(c,k)=m以很小的概率成立
判决方法如下:
D(c,k)≠m→k一定不是正确密钥
D(c,k)=m→k可能是正确密钥
分析者利用假设的密钥k对明文进行加密:
k为正确密钥→E(k,m)=c
k为错误密钥→E(k,m)=c以概率p成立
判决方法如下:
E(k,m)≠c→k一定不是正确密钥
E(k,m)=c→k可能是正确密钥
缺点:
(1)时间长,代价大
(2)密码算法可以通过增大密钥位数或加大解密(加密)算法的复杂性来对抗穷举攻击
(3)验证机制会限制穷举及追踪攻击者身份
2. 古典密码的穷举分析
(1)单表代替密码分析
加法密码:
因为f(ai)=bi=aj,j=i+kmodn,所以k=1,2,…,n-1,共n-1种可能,密钥空间太小。以英文为例,只有25种密钥,经不起穷举攻击。
(2)密钥词语代替密码
因为密钥词语的选取是随机的,所以密文字母表完全可能穷尽明文字母表的全排列。
以英文字母表为例,n=26,所以共有26!种可能的密文字母表。
26!=403 291 461 126 605 635 584 000 000,用计算机也不可能穷举攻击。
注意,穷举不是攻击密钥词语代替密码的唯一方法。
由于网络用户通常采用某些英文单词或自己姓名的缩写作为密码,所以就先建立一个包含海量英语词汇和短语、短句的可能的密码词汇字典,然后使用破解软件。破解时,字典里的密码逐一碰撞握手分组里的信息,一旦匹配,黑客即可获知密码,黑客字典里会包含常见的密码组合,如12345678,出生年月日格式的数字段如19900101。这也就是密码设置越复杂越好的原因。类似12345678的弱密码,将会被黑客字典优先尝试匹配,破解时间仅需几秒。这种破解密码方法的效率远高于穷举法,因此,大多数密码破解软件都支持这种破解方法。
zip、rar密码破解:使用Advanced Archive Password Recovery。
SAM密码破解:Windows系统可以设置开机密码,这个开机密码是以散列值的形式储存在SAM文件里。那么储存在SAM文件里会带来的问题就是,一旦某人找到了SAM文件的位置,把里面的散列值变为空白,这样开机密码就清空了。
|
|