尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
wifit3 WPS密码学三件套:DHKey、KDK与AuthKey推导链完全解析
wifit3 WPS密码学三件套DHKey、KDK与AuthKey推导链完全解析【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3Wifit3 是一款面向 USB 无线网卡的跨平台 Wi-Fi 审计工具内置完整的 WPS PIN 暴力破解与 PBC 密码捕获功能。本文带你走读它纯 Python 实现的 WPS 密码学核心从 Diffie-Hellman 共享秘密出发看DHKey → KDK → AuthKey这条密钥推导链如何一步步把 1536 位数学运算变成能解开 Wi-Fi 密码的钥匙并搞懂为什么 PIN 爆破只要约 1.1 万次。一、为什么值得拆解 WPS 密钥推导链WPSWi-Fi Protected Setup本是按一下按钮就配网的便利功能却因 PIN 校验的设计缺陷成为 Wi-Fi 审计的主战场。wifit3 对它的实现没有依赖任何第三方密码库——整个加密面DH、HMAC、KDF、AES-CBC都是纯 Python 手写锚定在 hostapd 的参考实现上。密码核心集中在 src/wifit3/dot11/wsc/crypto.py文件头注释直接写明了推导链DHKey SHA-256( zeropad(g^AB mod p, 192) ) KDK HMAC-SHA256_DHKey( N1 || EnrolleeMAC || N2 ) KDF(KDK, Wi-Fi Easy and Secure Key Derivation, 640b) - AuthKey(32) || KeyWrapKey(16) || EMSK(32)三个密钥各司其职缺一环链条就断密钥长度作用DHKey32 字节双方 DH 交换产出的共同秘密摘要是整条链的根KDKKey Derivation Key32 字节混入双方 nonce 与 Enrollee MAC防止跨会话重放AuthKey32 字节会话工作密钥算 E-Hash/R-Hash 与 Authenticator并派生 PIN 半段密钥二、第一环DHKey 从哪来wifit3 使用 RFC 3526 的 MODP group 51536 位素数、生成元为 2与 WSC 规范一致。在 crypto.py 的dh_shared_secret中共享秘密就是标准的模幂运算pow(对方公钥, 我方私钥, p)再零填充到 192 字节——这一步刻意对齐 hostapd 的wpabuf_zeropad保证与真实固件逐字节一致。随后DHKey SHA-256(共享秘密)。关键点在于AuthKey 直接由这条链推出而链的起点是只有会话双方才有的 DH 共享秘密。这正是 PBC 场景下旁路窃听没用的原因窃听者拿到的只是公钥 g^a、g^b反解私钥意味着解 1536 位 DLP 困难问题实际不可行详见 campaigns/wps/README.md 对 PBC 抢跑策略的分析。三、第二环KDK 为什么要把 MAC 拌进去KDK HMAC-SHA256_DHKey(N1 || EnrolleeMAC || N2)三个输入各有深意N1Enrollee路由器在 M1 消息里发出的 16 字节随机数EnrolleeMAC把会话绑死在这个 BSSID 上防止把 A 路由器的 DH 会话搬到 B 路由器上重放N2Registrarwifit3 扮演的外置登记方在 M2 里发出的随机数实现在derive_keys先算 DHKey再算 KDK最后用 WPS 专用 KDF 一次性吐出三段密钥。KDF 使用固定标签Wi-Fi Easy and Secure Key Derivation循环 HMAC 直到凑满 640 位再截断——AuthKey 取前 32 字节、KeyWrapKey 取中间 16 字节、EMSK 收尾 32 字节。三个密钥同源但用途分离是典型的一钥匙开多把锁、换锁不换坯设计。四、第三环AuthKey 如何判定 PIN 对错拿到 AuthKey 后PIN 爆破就变成半段对半段的 HMAC 比对PSK1 HMAC-SHA256_AuthKey(PIN前4位 ASCII)[:16] PSK2 HMAC-SHA256_AuthKey(PIN后4位 ASCII)[:16] E-Hash HMAC-SHA256_AuthKey(E-S ‖ PSK ‖ PKe ‖ PKr)对应 registrar.py 的 EAP/WSC 状态机发出 M4内含 R-S1后路由器要么回 M5前半段猜对、要么回 NACK前半段错M6 再对后半段做一次同样判定。由于第 8 位是前 7 位的校验和pin_checksum可在本地直接验算后四段实际只有 1000 种可能——10⁴ 10³ ≈ 1.1 万次而非 1 亿次。这就是 WPS PIN 攻击的全部数学根基。M7 成功时Encrypted Settings 用 KeyWrapKey 做 AES-128-CBC 加密wifit3 用同一套 KDF 产物解密SSID 与 PSK 就此落地。五、离线自证不靠硬件也能验证推导链这套纯函数实现配了完整的离线锚点测试 tests/dot11/test_wsc_crypto.pyAES 部分对齐 FIPS-197 附录 C.1 与 NIST SP800-38A 已知向量避免自己证明自己DH/KDF 部分两个合成对端各自独立推导断言共享秘密与 AuthKey 完全一致PIN 半段判定用check_pin_half验证正确半段必通过、错误半段必失败——这正是 PixieDust 离线恢复pixie.py的原始判定原语。而空口正确性则由 scripts/wps/wps_probe.py 在真机 AP 上闭环验证只要 AP 接受 M2 并继续走到 M3即证明 DHKey→KDK→AuthKey 整条链与真实固件的 WSC 栈逐字节吻合。六、小结三件套一张图g^AB mod p ──SHA-256──▶ DHKey │ N1 ‖ MAC_e ‖ N2 ▼ KDK ──KDF(640b)──▶ AuthKey ‖ KeyWrapKey ‖ EMSK │ ┌──────────────────────┼────────────────────┐ ▼ ▼ ▼ E/R-Hash 判 PIN 半段 AES-CBC 解 M7 凭据 Authenticator 防篡改理解这条链你就同时看懂了 wifit3 的三件事PIN 为什么只要约 1.1 万次、PBC 为什么必须抢跑完成握手、PixieDust 为什么拿着 M3 捆绑包PKe、PKR、E-Hash1/2、E-Nonce、AuthKey就能离线爆破。想动手演练仓库内 scripts/wps/wps_lab.py 提供了完整的硬件真值实验脚本——当然请只在自有网络上使用。【免费下载链接】wifit3Wifite but USB-only cross-platform.项目地址: https://gitcode.com/GitHub_Trending/wi/wifit3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

从Chat Completions到Responses:OpenAI接口演进与迁移实战

从Chat Completions到Responses:OpenAI接口演进与迁移实战

从去年开始帮几个团队做AI应用落地,大家问得最多的问题越来越集中:OpenAI的接口到底换成Responses了没有?我之前接的Chat Completions代码会不会报废?为什么开源框架里翻来覆去还是推荐chat/completions?说实话&#x…

📅 2026/10/5 0:28:37
如何从0到1设计一个系统?照着Awesome Architecture的8步方法论做就能落地

如何从0到1设计一个系统?照着Awesome Architecture的8步方法论做就能落地

如何从0到1设计一个系统?照着Awesome Architecture的8步方法论做就能落地 【免费下载链接】awesome-architecture 🧭 Architecture-first system design: 26 bilingual tutorials, 25 architecture templates, and 6 end-to-end cases covering distribu…

📅 2026/10/5 0:28:37
NPC 长期回忆的语义向量检索:端侧轻量 HNSW 索引与余弦相似度优化

NPC 长期回忆的语义向量检索:端侧轻量 HNSW 索引与余弦相似度优化

NPC 长期回忆的语义向量检索:端侧轻量 HNSW 索引与余弦相似度优化给游戏里的 NPC 接入长期记忆,最怕的就是把记忆检索变成卡顿的源头。 很多原型 Demo 阶段的做法简单粗暴:把几百条 NPC 的生平经历和过往对话先通过端侧 Embedding 模型转化为…

📅 2026/10/5 0:28:37
MORE NEWS

更多资讯

📰

第088篇 协程入门:suspend 到底挂起了谁

协程这题的基础门槛不高——launch、async、suspend 谁都会写。真正区分开的是"挂起"这件事到底挂起了什么:挂起的是协程(一个轻量状态机),不是线程;线程在挂起期间是空闲可复用的。这个认知一旦建立,协程的所有设计就都说得通了。这篇按"是什么 → 怎么执…

📰

机房里通电正跑大模型的芯片,亚马逊转头打包卖了八十亿美元

机房里通电正跑大模型的芯片,亚马逊转头打包卖了八十亿美元 你可能想不到,一家家底极其厚实的全球科技巨头,居然开始把自己机房里正在算数据的芯片「卖」出去了。 2026年10月2日,多家海外财经媒体披露了一条颇为反常的消息&#x…

📰

动用七百多亿参数却只让百分之四干活,欧洲这只蜂鸟专治不懂装懂

动用七百多亿参数却只让百分之四干活,欧洲这只蜂鸟专治不懂装懂 把一本厚厚的德国《基本法》全文塞进大模型,换作平时最常用的大模型,系统要把它拆成四万一千多个零件才能读懂;但有一款刚发布的欧洲模型,只用了三万五千…

📰

以前总觉得「灯够亮」,直到孩子揉眼睛的频率越来越高

你有没有过这种时刻—— 晚上九点,孩子趴在书桌前写作业,头越埋越低。你走过去说「坐直了,光线不好」,他抬头回你一句「挺亮的啊」。 你看了看头顶那盏灯,好像确实不暗。于是你走开了。 但「好像不暗」和「真的够亮…

📰

上班族备考公务员,每天只有两小时,到底够不够

我在网上看到最多的一句话就是,工作太忙了,根本没时间看书。说这话的人里,有一部分是真的忙,还有一部分是把时间花掉了却不想承认。我自己就是边上班边考过来的,每天能拿出来的完整时间也就两三个小时,周末…

📰

GEMM 与 BLAS 全解:Tensor Core、CUDA、Transformer 的关系,各家 GPU 与框架的实现逻辑,以及投资机会

GEMM 与 BLAS 全解:Tensor Core、CUDA、Transformer 的关系,各家 GPU 与框架的实现逻辑,以及投资机会声明:本文作为笔者个人备忘的文章,不喜勿喷。本文由AI辅助生成,技术参数与市场信息整理自公开资料&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬