据我了解,这就是 WPA2 在家庭网络中的工作方式:
- PSK(Pre-Shared Key)用于生成PMK(Pairwise Master Key),与ANonce(AP Nonce)一起用于创建PTK(Pairwise Transient Key)。
- PTK分为KCK(Key Confirmation Key,128位)、KEK(Key Encryption Key,128位)和TEK(Temporal Encryption Key,128位)。
- KCK 用于在 EAPOL 数据包 2,3 和 4 中构造 MAC。
- KEK 用于加密一些发送给客户端的数据(例如 GTK)。
- TEK 用于加密客户端和 AP 之间的流量,稍后在会话期间进行。
现在 WPA 4 次握手:
- AP向客户端发送ANonse(AP Nonce),基本上是一个256位的随机整数。
- Client 使用 ANonce 和 PMK 生成 PTK(Pairwise Transient Key),并发送 CNonce(Client Nonce)和 MAC。
- AP 向客户端发送 MAC 和 GTK(组临时密钥)。
- 客户端发送带有 MAC 的 ACK。
现在,如果不使用整个 PTK(在握手期间使用 KCK 和 KEK,但不使用 TEK),握手破解如何工作(例如字典攻击)?我知道字典中的单词被用作 PSK 来生成 PMK 和 Anonce(也在握手中捕获)来生成 PTK,但是当 1/3 的密钥从未使用过时,我怎么知道 PTK 何时正确?