最近在学Hacking,网络知识渣渣的我看一堆英文缩写真真是头晕目眩真的好渴……
破解wifi密码之前,原理神马的还是要学习一下啊。

WPA/PWA2 PSK是现在家庭无线网络流行的,也比较牢靠的加密模式。咱就来探探它的加密流程。

定义

从定义开始吧,捋捋这些个缩写啊专业名词啊啥的。

WPA/WPA2 口令(passphrase): 由网络所有者选择和输入的8~63个ASCII字符的字符串。该口令是配置在接入点(AP, Access Point)的,从连接到APs无线网络的客户端设备通过手动输入。

请求者(Supplicant): 任何企图接入APs服务集的设备。

PSK(Pre-Shared Key, 预共享密钥): 口令(passphrase)经PSK映射转换算法处理后得到的结果。

PMK(Pairwise Master Key, 成对主密钥): 密钥大师(master)哈哈,最高等级的密钥,由PSK生成。

GMK(Group Master Key, 组主密钥): 由认证器(接入点)生成,是组临时密钥 (GTK)的种子。

4次握手: 使用伪随机函数来创建和分发动态加密密钥的过程。

Nonce: 一个随机生成的值,只使用一次。

PTK(Pairwise Transient Key, 成对临时密钥): 最终用于加密单播数据流的加密密钥。

GTK (Group Temporal Key, 组临时密钥):最终用于加密广播和组播数据流的加密密钥。

加密流程分步解说

下面这张图是我觉得比较好看……也比较清楚的密钥加密流程图。

下面一步一步解说:

1. 选择口令(passphrase)

第一步是选择一个口令(passphrase)并在路由器管理界面里输入口令。要注意口令 (passphrase)不同于密码 (password)。应避免使用字典中有的单词、你的名字、地址、电话号码、宠物名字、等等等等等……最好是选择一个完全随机生成的口令,这里有一个随机口令生成器 挺好使。

WPA/WPA2 口令是静态的,容易受离线字典攻击(就是拿字典里的词去匹配你的口令),所以使其完全随机才能最大限度的保证无线网络的安全。

2. 口令 (passphrase) - PSK映射

口令需在要连接APs的客户端设备上手动输入来验证该设备,并在后台经“口令-PSK映射”函数,转换成一个256位的预共享密钥 (PSK)。
PBKDF2 (Passphrase-Based Key Derivation Function 2):

PSK = PBKDF2(PassPhrase, ssid, ssidLength, 4096, 256)

口令 - PSK映射的意义在于简化普通家庭网络用户的网络配置。毕竟相较于一个256位的PSK码,8~63个字符长的口令更好记吧!(尽管本人老忘记密码……ORZ)

3. 生成主密钥

PSK会转化成PMK,本质上讲PMK就是PSK。
认证器(也就是接入点APs)还生成GMK,它将用来产生GTK。GTK将被AP和所有已认证的客户端用于加密组播和广播数据流。

4. 四次握手(重头戏来了!)

先上图:

4次握手就是认证器(Authenticator)和请求者(Supplicant)之间的4次消息交换的过程(不包括确认)。“4次握手”用一个伪随机函数(PRF, pseudo-random function)来生成PTK,参数包括PMK、认证器Nonce(ANonce)、请求者Nonce(SNonce)、认证器的MAC地址(AA)和请求者的MAC地址(SPA)。

PTK = PRF (PMK + ANonce + SNonce + AA + SPA)

消息1

4次握手开始于验证器(AP),它产生一个随机的值(ANonce)。ANonce作为重放保护,必须是这个PMK之前没用过的值。验证器在消息1中发送ANonce给请求者。

消息2

请求者也产生了它自己的随机SNonce,然后用这两个Nonces以及PMK生成了PTK。请求者回复消息2给验证器,即它自己的Nonce,还有一个MIC(message integrity code,消息验证码)作为PMK的验证。

消息3

现在认证器也有了2个Nonces,可以生成PTK了,它先要验证请求者在消息2中发来的MIC等信息,验证成功后,如果需要就生成GTK。然后发送消息3,包括:GTK、告诉请求者安装PTK和GTK、接收顺序计数器(RSC,receive sequence counter)——即当前GTK的顺序号,并允许请求者检测重播的广播消息。

消息4

请求者收到消息3,验证MIC,安装密钥,发送消息4,一个确认信息。验证器收到消息4,验证MIC,安装相同的密钥。此时,双方安装了相同的PTK和GTK,并且确认了对方知道PMK。


好了,至此,请求者和接入点之间的通路打通了,可以安全的收发数据流了……好累……

抓握手包破解wifi密码前传:WPA/WPA2加密小结相关推荐

  1. kali破解WiFi时wlan0没有变wlan0mon_黑客入门干货:黑客使用 Aircrack-ng 破解 Wi-Fi 密码

    1.首先请不要使用此方法去搞破坏,去蹭Wi-Fi,我认为技术本身的价值很大,尤其是在学习这个技术的过程中解决遇到的问题,当经过重重困难最后终于成功之后的喜悦又怎么能拿去蹭网呢.我在此过程中都是用自己路 ...

  2. 如何使用aircrack破解wifi密码

    使用aircrack破解wifi密码 0 准备工作 0.1 选取wifi抓包网卡 0.2 paket-injection 测试 1 抓取空口报文 2 执行deauthentication攻击促使sta ...

  3. 使用AirCrack破解wifi密码(wpa/wpa2)

    本文使用的是Kali Linux,该系统主要以渗透测试及'破解wifi密码'闻名. 如果你使用Macbook,看这里:使用macbook破解WPA/WPA2 wifi密码 要求: 安装有Kali Li ...

  4. 使用Kali Linux虚拟机破解WiFi密码的一波三折及详细操作步骤

    使用Kali Linux虚拟机破解WiFi密码的一波三折 声明:此篇使用自己的WiFi作为学习和测试.私自破解他人WiFi属于违法行为!仅供参考学习~望周知! 目录概要 使用Kali Linux虚拟机 ...

  5. 【转】利用kali破解wifi密码全过程

    原文地址:http://www.secbox.cn/hacker/wireless/4877.html?utm_source=tuicool&utm_medium=referral 作者:黑色 ...

  6. kalilinux破解WiFi密码(仅供学习使用)

    kalilinux破解WiFi密码(仅供学习使用) (严禁商业使用,只能用于个人学习使用) 一.安装kalilinux 这部分请详细去看我之前的博客,kalilinux的安装教程,完成安装后,便可以开 ...

  7. NO.28——Kali Linux无线渗透暴力破解WIFI密码

    近期放暑假在家闲来无事,前几天在手机上下载了腾讯wifi管家,意外地链接上了隔壁邻居的WIFI,但是在手机端无法看到密码明文,因此在考虑是否能通过Kali暴力破解wifi密码. Kali Linux常 ...

  8. 【2】Kali破解家用WI-FI密码 - WPA/WPA2加密

    [学习记录] 本人小白一枚,文章用来记录自己目前的学习进度,希望能够用最通俗易懂的语言和命令来为大家讲清楚我的实验过程和经验,同时期待我的学习经验也可以帮助到大家.还望各位大佬能不吝朱玉,指出我的错误 ...

  9. 学习linux下破解wifi密码

    本文的最终目的是介绍相关网络安全知识, 提高大家的防范意识, 正所谓知己知彼百战不殆. 破解他人wifi的行为都是违法的, 与本文无关, 请知悉. 一. 软硬件环境 硬件: cubieboard2 系 ...

  10. MIS WiFi安全相关-aircrack-ng破解WiFi密码

    MIS WiFi安全相关-aircrack-ng破解WiFi密码 这篇文章基本按照Aircrack-ng破解无线WIFI密码这篇文章进行复现,同时记录了笔者遇到的.此文中没有记录的一些问题,作为学习笔 ...

最新文章

  1. Windows和Linux下通用的线程接口
  2. 核显也能玩游戏,OS X Yosemite优化指南
  3. 影子场vs.属性访问器接口第2轮
  4. 第十七期:2019人工智能统计数字和一些重要事实
  5. Maxcompute造数据-方法详解
  6. 软件测试java三角形形状判定,软件测试技术基础实验——Junit 安装与 三角形问题的测试...
  7. 在mysql命令行下执行sql文件
  8. Docker发布镜像至Docker Hub
  9. Xshell/Xftp个人完全免费版
  10. 科学计算机病毒代码大全,有哪些计算机病毒代码
  11. Diffusion model—扩散模型
  12. 形象标识 新松机器人_新松SIASUN工业机器人标志logo设计,品牌设计vi策划
  13. time库:Python的时间时钟处理
  14. 参考文献名称怎么复制_论文格式之注释:脚注、尾注、参考文献怎么弄?
  15. python写入excel文件出现nan_在python中使用Pandas ExcelWriter时处理Nan
  16. oracle,通过plsql创建用户表空间和所属用户示例
  17. 百度搜索问答卡API提交
  18. 机器学习--逻辑回归模型(Logistic Regression)
  19. lucas定理(学习笔记)
  20. 原创 【我的OpenGL学习进阶之旅】介绍一下OpenGL ES的 遮挡查询

热门文章

  1. 微信小程序豆瓣电影(上)
  2. APK Multi-Tool(反编译工具)教程
  3. 行内元素之间产生的间隙
  4. 网页版在线公式编辑器
  5. kru生成树变种 poj3522 bzoj 1196
  6. git 清除用户名密码
  7. DSP TMS320操作加密芯片源代码
  8. 近期几篇有关All-Pay论文总结(博弈论+机制设计)
  9. android串口调试源码,android串口调试助手源代码
  10. 简易版扫雷(C语言实现)