加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【WPA2密码加密过程详解】

(2014-06-08 01:32:19)
分类: 〖我的网易Blog〗

我们平时说的WPA密码其实叫PSK(pre-shared key),长度一般是8-63字节,它加上ssid通过一定的算法可以得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的长度是定长的,都是64字节。由于计算PMK的过程开销比较大,是我们破解花费时间长的关键,所以采用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表(生成PMK的算法是一种哈希),这个工作就是用airlib-ng这个工具来完成的,我们的快速破解就是这么来的。

认证的时候会生成一个PTK(pairwise temporary), 这是一组密钥,具体细节不详细说了,它的生成方法也是采用的哈希,参数是连接的客户端MAC地址、AP的BSSID、A-NONCE、S-NONCE、 PMK,其中A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK。PTK的计算消耗很小。PTK加上报文数据采用一定的算法 (AES或TKIP),得到密文,同时会得到一个签名,叫做MIC(message integrality check)tkip之所以被破解和这个mic有很大关系


四次握手包中含有以上的哪些东西呢?客户端的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC,最关键的PMK和PTK是不包含在握手包里的!
        认证的原理是在获得以上的所有参数后,客户端算出一个MIC,把原文连同MIC一起发给AP,AP采用相同的参数与算法计算出MIC,并与客户端发过来的比较,如果一致,则认证通过,否则失败。
目前的破解方法是我们获得握手包后,用我们字典中的PSK+ssid先生成PMK(如果有HASH表则略过),然后结合握手包中的(客户端MAC,AP的 BSSID,A-NONCE,S-NONCE)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。- U# {6 B& ^; [% H3 ~  |" A9 t
目前最耗时的就是算PMK,可谓破解的瓶颈。即使搞定了运算量的问题,海量的密钥存储也是个问题(PMK都是64字节长度)!




如果想进一步了解如何破解无线路由器密码请转到此处:http://www.52js8.com/forum.php?mod=viewthread&tid=671&page=1&extra=#pid4984

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有