WPA/RSN四次握手和PTK

WPA/RSN使用四次握手(4-Way Handshake)的方式生成所需的密钥。

作用

四次握手通过一系列的交互,从PMK(Pairwise Master Key)生成PTK(Pairwise Transient Key)。PMK来自MSK(Master Session Key),是MSK的前256位,32字节。

本文的主要目的是讲PTK,所以暂时忽略PMK和MSK。

PTK的内容

PTK包含3个部分,KCK(Key Confirmation Key),KEK(Key Encryption Key),TK(Temporal Key)。

PTK的总长度根据加密方式不同而不同。

当加密方式是TKIP时,PTK长512位,按顺序分别为KCK占128位,KEK占128位,TK占256位。

当加密方式是CCMP时,PTK长384位,按顺序分别为KCK占128位,KEK占128位,TK占128位。

KEK和KCK是给EAPOL-Key,也就是四次握手时,加密和完整性验证用的。TK用于后续的数据加密。

四次握手的报文都是基于EAPOL-Key的。EAPOL-Key的结构如下:

PTK的生成

生成PTK,需要5个必要元素,PMK,ANonce(Nonce 1),SNonce(Nonce 2),Authenticate MAC(MAC 1),Supplicant MAC(MAC 2)。如下图:

2个Nonce分别是Authenticator和Supplicant生成的随机数。

这张图里的输出包含4个部分,其实Data Encr和Data MIC合起来就是前面提到的TK。而EAPOL Encr/MIC分别对应前面的KEK和KCK。

四次握手的交互过程

下面的交互仅仅是一个流程,对内部的一些数据的处理就不细说了。

1/4:Authenticator -> Supplicant

Authenticator把ANonce送给Supplicant。Supplicant收到1/4后,就有了生成PTK的所有元素。因为1/4里同时也包含了Authenticator的MAC地址。

2/4:Supplicant -> Authenticator

Supplicant计算出PTK,把SNonce和自己的MAC地址送给Authenticator。同时,从2/4报文开始,后面的每个报文都会有MIC。1/4没有。

3/4:Authenticator -> Supplicant

Authenticator向Supplicant证明自己有有效的,同样有MIC加入其中

4/4:Supplicant -> Authenticator

仅是对3/4的一个ACK。说明PTK已经装好,后面的数据可以加密了。

WPA/RSN四次握手和PTK相关推荐

  1. Wifi_认证 、关联 和 四次握手(WPA/WPA2)

    概述 什么是 四次握手? 四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥. Wifi的连接 让我们 从一次Wifi连接的 ...

  2. Wifi 认证,关联,四次握手(WPA/WPA2/WPA3-SAE)

    引入 WPA3-SAE也是针对四次握手的协议. 四次握手是 AP (authenticator) 和 (supplicant)进行四次信息交互,生成一个用于加密无线数据的秘钥. 这个过程发生在 WIF ...

  3. Ralink wifi driver WPA四次握手可能的问题

    测试在MT7620A上跑openwrt:router模式下,手机连接MT7620A板子就是失败. 经过分析发现: 在ralink的wifi driver中WPA成对密钥的四次握手,以及组密钥协商信令过 ...

  4. Android wpa_supplicant 四次握手 流程分析

    记录wpa_supplicant四次握手的过程. 相关log:https://www.cnblogs.com/helloworldtoyou/p/9633603.html 接收到第一次握手,会设置一个 ...

  5. wpa_supplicant的log中四次握手分析

    wpa_supplicant的log中四次握手分析 wlan的状态变化: log不全,截取的部分.用的9.0代码. 06-04 16:23:30.248 I/wpa_supplicant( 1465) ...

  6. Android Wi-Fi 四次握手简介

    1 WPA-PSK 初始化工作 使用 SSID 和passphares使用以下算法产生PSK 在WPA-PSK 中PMK=PSK PSK=PMK=pdkdf2_SHA1(passphrase,SSID ...

  7. WIFI接入之supplicant 四次握手流程

    目录 1.四次握手的目的 2.四次握手分析 2.1第一次握手:Authenticator->Supplicant 2.2第二次握手:Supplicant->Authenticator 2. ...

  8. 关于WPA/WPA2 4次握手

    简单描述一下WPA/WPA2的4次握手中的一些关键词: WPA/WPA2使用4次握手的方式来产生所需要的密钥.四次握手通过一系列的交互,从PMK(Pairwise Master Key)生成PTK(P ...

  9. WPA-PSK 4-way handshake 四次握手过程

    3.4.2 第一次握手 AP广播SSID,AP_MAC(AA)→STATION STATION端  使用接受到的SSID,AP_MAC(AA)和passphares使用同样算法产生PSK   3.4. ...

最新文章

  1. php 动态网格,php-动态更改引导网格方向(从ltr到rtl或reverese)
  2. 吴恩达机器学习(第二章)——单变量线性回归
  3. 剑指offer: 不用加减乘除做加法
  4. Hibernate sqlserver 的对象转成 Hibernate mysql 的对象时 需注意
  5. 系分 01 企业信息化战略与实施
  6. 用计算机为题目写作400字,以电脑为话题的作文
  7. linux 目录防篡改,Linux服务器下如何创建文件防篡改规则
  8. 南京大学计算机学类,并未开放计算机专业:南京大学2020年强基计划政策分析...
  9. 【算法导论】 内部排序算法总结
  10. 说透APP稳定性测试
  11. Android12 ---- Material You 应用
  12. 模拟卷Leetcode【普通】714. 买卖股票的最佳时机含手续费
  13. Easyui datagrid detailview使用简介
  14. JavaScript学习过程
  15. 关于mask蒙尘效果触发
  16. 网站分析基础概念之新近度
  17. 如何使用 Delta Lake 构建批流一体数据仓库
  18. 关于-3db截止频率
  19. c语言离散卷积编程,实验一 离散卷积的C语言编程.ppt
  20. Vue3中使用svg文件图标(TS)

热门文章

  1. (9)3DMAX之复制功能(复制属性、变换复制、阵列工具、间隔工具)
  2. 数控技术和计算机网络的区别,机器与机床的区别
  3. 2020最系统的前端面试题大全
  4. 恒生电子Java工程师_【恒生电子工资】java开发工程师待遇-看准网
  5. 城市轨道交通之线路设计(一)
  6. WebRTC Tutorial For Beginners
  7. 【转载】多光谱与高光谱遥感
  8. 中国大学MOOC创业融资题库及答案
  9. unity 三消游戏源码展示图
  10. vue时间日期 开始时间 结束时间