当前位置: 首页 > news >正文

Linux Wlan-四次握手(eapol)框架流程

协议基础

基于 IEEE 802.1X 标准实现的协议

抓包基础

使用上一章文章的TPLINK wn722n v1网卡在2.4G 频段抓包(v2、v3是不支持混杂模式的)

eapol的四个交互流程

在这里插入图片描述

  • 根据不同的认证模式不同,两者的Auth流程有所不同,但是握手流程基本相似
    在这里插入图片描述
    这个可以作为后面的文章方向,这里暂时不做拓展,当前只考虑PSK模式下的eapol

流程梳理前我们先需要流程图,不然看完还是忘

在这里插入图片描述

  • 粉色填充为说明
  • 蓝色填充为流程
  • 紫色填充为密钥生成与安装

四次握手(eapol)流程

  1. message 1
    在这里插入图片描述
    四次握手的第一条消息,由AP发送给客户端,携带AP生成的ANonce
    此帧的核心作用:传递AP的ANonce

  2. message 2
    在这里插入图片描述
    客户端收到AP的ANonce后,结合自己的SNonce和PMK计算出PTK,并用KCK生成MIC
    此帧的核心作用:传递客户端的SNonce和MIC,完成PTK的协商

  3. message 3
    在这里插入图片描述
    验证MIC并生成GTK(组密钥)
    此帧的核心作用:要求客户端安装PTK(通过Install=1标志)和GTK,下发加密的GTK(组密钥)供客户端解密使用
    GTK加密:使用PTK的子密钥 KEK(Key Encryption Key) 加密GTK,确保组密钥传输安全
    客户端收到Msg3后的流程:
    1)验证MIC
    2)解密GTK(使用KEK)
    3)安装PTK和GTK
    4)发送Msg4(确认帧)完成握手

  4. message 4
    在这里插入图片描述
    AP收到Msg4后,确认握手完成,双方开始使用PTK/GTK加密所有数据流量
    此帧的核心作用::通过MIC验证Msg3的完整性,通知AP已成功安装密钥(PTK和GTK)

  5. 客户端回复Msg4后,双方开始使用PTK/GTK加密所有流量

一个小的流程图说明一下

完整的四次握手流程如下:

  1. Msg1:AP → 客户端(ANonce)
  2. Msg2:客户端 → AP(SNonce + MIC)
  3. Msg3:AP → 客户端(GTK + MIC + 安装指令)
  4. Msg4:客户端 → AP(最终确认)

至此,WPA2-PSK认证流程全部完成,安全通信通道建立

疑问

  1. 当client把wifi密码输入错误,eapol流程会在第几个流程报错?
    抓包分析:
    在这里插入图片描述
    只有这两个流程,并未触发mesg 3
    错误原因
    密码错误 → 客户端计算的PMK与AP的PMK不同 → 派生出的PTK不一致 → MIC校验失败
    所以只有一二阶段,无法正常进行第三次握手
  2. 为什么二三四的握手包,里面的MIC值都不一样?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    原因分析:MIC 值不同是因为每条消息的内容和用途不同,使用PTK的子密钥 KCK(Key Confirmation Key) 对帧内容生成哈希,所以值会不同
  3. 用户态和内核态在eapol中起的作用是什么?
    1)EAPOL 流程控制主要在 wpa_supplicant(用户态),负责协议逻辑和密钥管理
    2)驱动(内核态)仅负责执行硬件操作(如安装密钥、收发帧)

http://www.mrgr.cn/news/99273.html

相关文章:

  • 本地搭建一个简易版本的 Web3 服务
  • 可穿戴设备待机功耗需降至μA级但需保持实时响应(2万字长文深度解析)
  • python测试框架之pytest
  • Cypress EZ-USB CX3 适配输出imx586相机
  • 【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例
  • 数据结构--并查集-高效处理连通性问题
  • python——函数
  • 【C++篇】string类的终章:深浅拷贝 + 模拟实现string类的深度解析(附源码)
  • SQL Server基础
  • Python+Word实现周报自动化的完整流程
  • 【22】Strongswan sa ——IKE_SA task_manager_v1
  • 计算机组成与体系结构:内存接口(Memory Interface)
  • (五)机器学习---决策树和随机森林
  • Kubernetes集群超配节点容量
  • el-select+vue-virtual-scroller解决数据量大卡顿问题
  • 深度学习3.5 图像分类数据集
  • Ubuntu下展锐刷机工具spd_dump使用说明
  • Transformer中Post-Norm和Pre-Norm如何选择?
  • 机器学习-08-推荐算法-案例
  • 《相对论中相对性原理的实验验证与分析》