WPA/WPA2密钥派生与分发

WLAN安全核心:PSK认证与动态密钥生成原理详解 在无线局域网(WLAN)安全体系中,身份认证与密钥管理是保障数据传输机密性与完整性的基石。其核心原理在于通过安全的密钥协商协议,将用户输入的静态密码转化为动态的会话加密密钥。这一过程通常涉及预共享密钥(PSK)机制与四次握手协议,前者负责从口令生成主密钥,后者则基于随机数交换动态派生出临时密钥,实现了‘一次一密’的安全目标。从技术价值看,动态密钥生成有效抵御了重放攻击与密钥泄露风险,是WPA2/WPA3个人模式的安全基础。其应用场景广泛覆盖家庭无线网络、中小企业办公环境等需要便捷接入控制的场合。本文将聚焦于 阅读详情

                                AUTHOR:   Jeffrey.zhu

 

 

 

                                    BLOG:http://blog.youkuaiyun.com/gueter/

 

 

1 概述

 

WPA的密钥生成、管理系统结合了认证和数据私密功能,具有较强的健壮性,在STA和AP之间认证完成且四次握手成功后,各类密钥就产生了。在ESS网络中,RSNA定义了两类密钥层次结构:

1)            Pairwise Key层次结构,用于保护单播流量(Unicast Traffic),支持CCMP或TKIP,通过将发送地址、接收地址与Pairwise Key的绑定,可以在解密(Decapsulation)过程中,有效地检测出攻击者伪造的MPDU,即允许接收端的STA检测MAC欺骗及数据伪造,而GTK则不具备这样的能力;

2)            Group Key层次结构,用于保护多播(Multicast Traffic)和广播流量(Broadcast Traffic),由单个密钥组成。

       在ESS中,AP的BSSID就是IEEE 802.1X 认证器的AA(MAC 地址),而请求者的MAC地址(SPA)也就是STA的MAC地址,在RSN中,使用CCMP的STA在每个<TA, RA>对中,应该至少支持一个Pariwise Key,同时可以用<TA ,RA>来标识Pariwise Key。

       在复杂网络中(ESS与IBSS混合),当AP同时与使用WEP(用共享WEP密钥)的STA以及使用CCMP或TKIP(用Pairwise Key)的STA通信时,使用WEP的STA使用Default Key 0~3 作为shared WEP Key,问题在于,若AP设置成使用WEP Default Key 0与使用WEP的STA通信,那些不支持WEP Default 0但支持TKIP或者CCMP的STA将会在RSN Capabilites field里头指定为No Pairwise subfield,由此,AP也会配置成与WEP-STA及No Pairwise-STA(No Pairwise的使用仅为了在RSNA中支持WEP)通信,也就是说四次握手的时候AP不会安装Pairwise Temporal Key,而是在所有类型的通信流量中使用WEP Default Key 0。

       在复杂网络中,支持TKIP的STA都应该支持一个Pairwise Key,无论这个Pairwise Key是通过Key mapping Key(由PTK映射)方式获取,还是通过mapping to Default Key 0(由Default Key 0映射)的方式获取,这样,AP就会使用Pairwise Key用于保护AP与STA之间的单播流量,如果支持Key mapping Key的方式,那么<TA ,RA>可以用来标识pariwise Key,如果不支持,则帧中的密钥索引(Key index)将会置0,也就是说会使用Default Key 0保护通信流量。

       同时不支持TKIP和WEP Default Key 0的STA通过设置RSN IE的No Pairwise域来广播这一信息,在四次握手的message3中,AP将会清除install bit通知STA不要安装Pairwise Key,相应地,AP会发一个WEP shared Key给STA作为Default Key 0使用,这个Key将会用于STA与AP之间单播帧的传递。

       在TSN中,支持CCMP的STA将会同时支持Pairwise Keys和WEP Default Key 0,当配置使用CCMP时,STA协商为No Pairwise subfield是无效的。

       密钥层次的描述用到两个函数:

l  L(Str, F, L):从Str的左边开始,抽取从L到L+F-1的F bits;

l  PRF-n:产生n bits输出的伪随机函数。

 2 Pairwise Key层次结构

       Pairwise Key层次结构如下图所示:

         根据采用的密钥管理协议(AKMP)的不同,PMK的获取有两种情况:

l  802.1X+EAP模式下,PMK从MSK中派生而来,取MSK的前256 bits (bits 0–255)用来计算PMK :PMK =L(MSK, 0, 256),也就是说,在这种模式下,MSK的长度至少要是256bits,且PTK的的生命周期应该短于PMK的生命周期(lifetime),其中生命周期由认证服务器(AS)决定:lifetime = Session-Timeout + dot1xAuthTxPeriod 或者取MIB里头的变量: lifetime = dot11RSNAConfigPMKLifetime。

l  WPA-PSK模式下,一个256bits的PSK将会直接配置到STA和AP中,或者将pass-phrase(如用户输入的密码)配置到请求端(Supplicant)与认证器端(Authenticator),关于PSK的配置方法不属于IEEE802.11i标准的内容,其中常用的方法是系统与用户交互来完成PSK的配置(且具体实现中,应该为每一对STA之间的通信生成一个PSK),例如,如果配置了pass-phrase,则256bit的PSK将会通过下面方式派生,并当作PMK使用,利用PMK便可以派生出PTK,流程如下图所示:

 

l  SNonce 是由Supplicant端(即STA端)生成的一个伪随机数;

l  ANonce 是由Authenticator端(即AP端)生成的一个伪随机数。

       其中,pdkdf2_SHA1( ),SHA1_PRF( )在前述章节有所介绍。根据密钥套类型(TKIP/CCMP),我们将PTK的肢解进行进一步细分:

 

 

l  KCK,用于4-Way Handshake中对数据原始性认证进行保障,也就是MIC Key;

l  KEK用于4-Way Handshake和Group Key Handshake中的EAPOL-Key帧的加解密;

l  TEK,也就是TK,用于数据帧的加解密;

l  TMK则是TKIP中的MIC校验Key。

       最后,作者对Pairwise Key层次结构中不同密钥资源在不同信息安全体系中的使用进行了一个总结:

3 Group Key层次结构

       GMK的获取在前述章节有所介绍,GTK作为一个临时密钥(TK)应该是一个伪随机数,也就是说AP中的GMK(Group Master Key )应该周期性地改变,Group Key层次结构如下图所示:

 

l  Group nonce (GNonce) 是一个由IEEE 802.1X认证器生成的伪随机数;

l  AA是IEEE 802.1X 认证器MAC 地址;

       根据密钥套选择的类别,GTK被肢解为不同长度的TK(Temporal Key)用于保护多播与广播通信(Multicast / Broadcast Communication),也就是说,GTK被用于一个认证器端与多个请求端之间,其中,TKIP的X = 256, CCMP的X = 128 ,WEP的X = 40或104。

       类似地,作者也对Group Key层次结构中不同密钥资源在不同信息安全体系中的使用进行了一个总结:

                    

4 PeerKey Key 层次结构

         PeerKey Key层次结构如下图所示:

 

 

         由于PeerKey Key用在IBSS网络中,所以下面只进行简单介绍:

l  SMK为256bits;

l  STKs 用于Initiator STA与Peer STA之间,即用于IBSS中STA与STA之间;

l  TK 用于保护Initiator STA与Peer STA之间的单播通信(Unicast Communication);

l  INonce 是一个由Initiator STA产生的伪随机数;

l  PNonce 是一个由Peer STA 产生的伪随机数;

l  SKCK 用于保护4-Way STK Handshake中的认证数据;

l  SKEK 用于保障4-Way STK Handshake 中EAPOL-Key帧的保密性。

【Kali】WPA / WPA2破解 文章目录WPA / WPA2简介攻击WPA使用Aircrack-ng进行WPA破解用Cowpatty进行WPA破解使用GPU进行WPA破解PyritOclHashcatWifite WPA / WPA2简介       WPA / WPA2是Wi-Fi联盟开发的两个不同版本的安全协议,用以替代WEP作为802.11协议的安全标准。 WPA协议于2003年首次发布,并于2004年被其后继WPA2取代,作为IEEE 802.11i标准的一部分。     阅读详情

相关推荐

从EAPOL四次握手到密钥安装:一次搞懂WPA2/WPA3安全核心

本文深入解析WPA2/WPA3安全协议中的EAPOL四次握手过程,从密钥派生的原理到实战抓包分析,详细介绍了PTK和GTK的生成机制。通过实际案例和故障排查技巧,帮助网络工程师掌握无线安全核心,提升网络防护能力。

weixin_30516243的博客 247

跟一下wpa_supplicant(1) 初始化

转:http://blog.chinaunix.net/uid-20514606-id-3259402.html 环境:   android 2.3.4    wpa_supplicant 0.8   一切从 main.c 开始: (=>表示第1级, 那么==>表示下一级,类推) os_program_init => 参数解析& 获取 => wpa_supplican

╰☆╮EvilCode的专栏╭☆╯ 4381

网络安全密钥:从WPA2原理到强密码设置的全方位指南

网络安全密钥是现代Wi-Fi网络的核心安全机制,它本质上是一套融合了身份认证与数据加密的精密系统。其工作原理基于密码学协议,通过在设备和路由器之间建立安全的通信通道,确保数据传输的机密性和完整性。从技术价值看,强大的密钥体系能有效抵御蹭网、中间人攻击和数据窃听,是家庭网络和企业内网的基础防线。在应用场景上,无论是家庭路由器设置、公共Wi-Fi安全连接,还是物联网设备管理,都离不开对密钥协议的深入理解和正确配置。本文聚焦WPA2/WPA3协议,详解密钥生成机制与安全设置实践,帮助读者掌握创建抗暴力破解的强密码

weixin_34167819的博客 474

深入理解 wpa_supplicant(四)

本文为《深入理解Android Wi-Fi、NFC和GPS卷》读书笔记,Android源码为Android 5.1 android-5.1/external/wpa_supplicant_8/wpa_supplicant/wpa_supplicant.c static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,

人工智能 9949

19、无线局域网安全:认证与密钥管理详解

本文深入解析了无线局域网(WLAN)中的认证与密钥管理(AKM)机制,涵盖GTK、PTK、PMK等关键密钥的生成与作用,详细介绍了4次握手和组密钥握手流程,以及RSN信息元素在安全协商中的角色。文章对比了WPA/WPA2个人与企业模式的安全特性,强调802.1X/EAP在动态密钥管理和相互认证中的优势,并指出PSK网络的潜在风险。同时,通过复习题解析和实践建议,帮助读者掌握WLAN安全核心知识,制定合理的安全策略,淘汰不安全协议如WEP,提升整体网络防护能力。

tech5的博客 97

Wi-Fi 技术学习:一文读懂WPA2四次握手的密钥体系与交互逻辑

四次握手是接入点(认证方,authenticator)与客户端设备(请求方,supplicant)之间交换 4 条消息的过程,目的是生成加密密钥,用于对无线介质上传输的实际数据进行加密。这些通过四次握手生成的密钥源自某种原始密钥材料,我们会在后续内容中展开介绍。我们来总结一下前面讨论的全部内容:我广播了名为PRINTERS的 SSID 并尝试接入该网络。接入点在持续广播 SSID,当我点击 “PRINTERS” SSID 发起连接时,可以看到包含确认帧的完整交互过程。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 1169

wpa_supplicant 笔记

原文地址:http://hi.baidu.com/leran0222/item/a4b33b77923ecd44ef1e53fc 来自于wpa_supplicant-devel文档 2、代码结构 核心功能、通用辅助功能、加密功能、TLS库、配置、控制接口、WPA提供者、EAP点、EAPOL提供、窗口端口和测试程序。 wpa_supplicant的实现被分成几个独立的模块。核心代码功能包

hellolwl的专栏 1813

Realtek无线模式的详细介绍

该资源详细描述了Realtek的无线网卡驱动芯片原理以及无线网卡的模式,real特拉作为主要的无线网卡芯片供应商,研究其产品设计有助于更深层次的开发和学习

wpa_supplicant子系统分析 android 5.1

看在android5.1平台上看了将近半个月的wpa_supplicant子系统,还是希望能将最近的一些所学整理成文档发表到博客(在学博客过程其实也是对自己的思路的一个在整理),有误地方欢迎指正交流。 wpa_supplicant是一个开源的软件项目,它实现了Station对无线网络进行管理和控制的功能。wpa_supplicant是Android用户空间中无线网络的核心模块,所有Frame

zjngogo的博客 4659

树莓派驱动步进电机

步进电机一般由电机、驱动器构成,树莓派连接驱动器控制电机。 一、接线 DIR+/- 用于控制方向,PUL+/- 用于控制转动; 正极DIR+ 和 PUL+ 接到GPIO口,两个负极接到GPIO口或地线均可,控制的时候不使用。 实验中,DIR+ 接35口,PUL+ 接38口。 树莓派4B GPIO口如图所示 远离树莓派USB的一侧 是 1、2、3号口 二、驱动 DIR控制方向,使用高电平或低电平控制; PUL控制转动,使用脉冲驱动。 三、代码 import RPi.GPI.

weixin_42337765的博客 1万+

【软件分享】天若OCR文字识别V4.48(翻译功能免费)

软件简介 吾爱破解论坛大佬天若幽心开发的一款OCR文字识别工具。支持快速截图识别,以及文本翻译。 下载地址 蓝奏云盘:点击下载 百度网盘:点击下载(密码:4dm4) 坚果云盘:点击下载 天翼云盘:点击下载 微软云盘:点击下载 使用教程 1、下载后对压缩包进行解压 2、双击天若OCR文字识别.exe 3、发现桌面右下角出现软件图标 4、双击软件图标即可开始截图识别 原帖地址 https://www.52pojie.cn/thread-692917-1-1.html ...

XavierJ的博客 1万+

wifi是怎么连接的---四次握手(四)

在扫描、认证(Auth)、关联(Assoc)之后,四次握手是真正建立安全连接、验证你输入的WiFi密码是否正确,并生成后续用于加密数据流量的密钥的过程。核心目标: 验证双方是否拥有相同的 PMK(从而证明密码正确),并基于这个 PMK 新鲜生成一个用于实际加密单次连接数据的临时密钥——PTK(成对临时密钥),以及用于加密广播/多播数据的 GTK(组临时密钥)

m0_62218946的博客 451

在Window上安装和配置VTK9.x,并在QT项目中调试VTK是否可用

VTK+MSVC+Qt Creator + CMake配置

qq_42279379的博客 1000

WPA/WPA2安全认证加密原理详解

1.WPA加密版本介绍 WPA加密算法的的两个版本介绍 WPA = 802.1x + EAP + TKIP +MIC = Pre-shared Key + TKIP + MIC 802.11i(WPA2) = 802.1x + EAP + AES + CCMP = Pre-shared Key + AES + CCMP l802.1x + EAP,Pre-shared Key是身份校验算法(WEP没有设置有身份验证机制) lTKIP和AES是数据传输加密算法(类似于WEP加密的R...

流风回雪的博客 1万+

FP7195升降压恒流驱动IC:从AC/DC 12~24V输入到稳定输出的高效电源设计实战

本文详细解析FP7195升降压恒流驱动IC的工作原理与应用实战。该芯片支持4.5V-32V宽输入范围,能自动切换升降压模式并保持输出恒定,特别适用于车载LED照明、工业电源等电压波动场景。通过实际案例分享PCB布局、元件选型及调试技巧,帮助工程师实现高效稳定的电源设计。

vodka的博客 955

飞牛 NAS 部署 Hermes Agent 全指南:打造 24 小时在线、自我进化的 AI 智能体!

当大多数人还在把 AI 当聊天机器人使用时,我已经把它部署到了家里的飞牛 NAS 上,让它 24 小时在线工作、记忆我的习惯、自动执行任务,甚至还能不断学习新的技能。今天带你从零搭建这个真正属于自己的 AI Agent。🚀

XiaoqiangClub的博客 1225

WPA/WPA2加密分析

文章目录综述WPA加密方式分析密码字典攻击破解WPA-PSKwiresharkcowpatty加快WPA/WPA2 PSK加快速度解密WPA数据包 综述 WPA主要采用的是 临时密钥完整性协议(TKIP1) 加密算法,TKIP 旨在改进WEP,且无需依赖全新硬件来运行;WPA2则强制使用AES-CCMP算法来进行加密,比TKIP更强大、更坚固。 WPA和WPA2支持两种身份验证机制: 基于EAP...

关月的博客 9243

毕设-MobileNetV4:给YOLOv8装上轻量化“引擎”——通用瓶颈与C2f融合的实战教程

本文介绍了一种将MobileNetV4与YOLOv8结合的目标检测模型轻量化方案。MobileNetV4通过通用瓶颈(UB)结构实现多任务适配,其核心改进包括动态卷积核、注意力机制和多路径特征聚合,显著提升特征提取能力。作者详细阐述了如何在YOLOv8框架中实现MobileNetV4的通用瓶颈模块,包括"膨胀-卷积-注意力-压缩"的流程设计,并构建完整的backbone网络。该方案通过融合MobileNetV4的轻量化优势与YOLOv8的高效检测架构,在移动设备上实现了精度与速度的良好平

FJN110的博客 505

WIFI连接之WPA2-PSK介绍

通过上述步骤,WPA2-PSK密钥交换过程确保了连接设备和AP之间的通信的安全性。PSK密钥仅在连接设备和AP之间共享,因此密钥不会被非授权的第三方获取。WPA2-PSK是一种Wi-Fi连接的加密方式,它使用预共享密钥(Wi-Fi Protected Access II)(Pre-Shared Key,PSK)来保护通信的安全性。在EAPOL四次握手完成后,客户端和AP会共享一个PTK,该PTK将用于加密和解密数据传输过程中的数据包。这样,双方之间建立了安全的连接,可以进行数据的加密和保护。

szqy00的博客 5772

当C#遇见声音魔法:从麦克风到文字的0.1秒奇幻漂流

为什么选300Hz?因为人声基频通常在85-255Hz,但清脆的“啊”可能到2kHz,所以300Hz是安全区!(参考知识库[1])

墨夶的博客 365

飞腾UEFI配置GPIO—飞腾FT2000/4 (D2000/8) GPIO引脚配置及使用

讲解了在飞腾UEFI代码中如何添加GPIO配置相关代码,并以GPIO1_B0—B7为例,将这8个引脚配置为GPIO工作模式并默认输出低电平

qq_30135687的博客 5344
上一篇: 802.11概述及帧结构分析
Jeffrey.zhu
博客等级 码龄20年 618粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值