802.11r中PTK生成过程

802.11r简述:

802.11r是为快速漫游服务的,即移动终端从一个AP切换到另一个AP后,如何在保证安全的基础上快速地计算出PTK,从而缩短漫游的时间

AP1和AP2组成了一个移动域(MD,mobile domain)

STA首先跟AP1进行WiFi连接:

报文交互过程:

sta<——>ap1

AUTH帧交互

sta<——>ap1

association request和association response

关联请求帧中携带了MDIE,里面有MDID(2个字节),该IE从ap1的beacon和probe response中都能找到

通过关联交互双方都可以算出PMK-R0、PMK-R1,计算公式如下:

R0-key-data=KDF-384(PSK, "FT-R0", SSID-Len||SSID||MDID||R0KH-ID-Len||R0KH-ID||S0KH-ID)

"FT-R0":label,固定的字符串

R0KH-ID:一般为AP上设置的字符串,从association response帧中的IE(FTE)中可以找到

S0KH-ID:sta的MAC地址

PMK-R0=L(R0-key-data, 0, 256)

从算出的R0-key-data中从位置0开始取,取出长度为256bits

PMK-R0Name-Salt=L(R0-key-data, 256, 128)

从算出的R0-key-data中从位置256开始取,取出长度为128bits

PMK-R0Name=Truncate-128(SHA256("FT-R0N"||PMK-R0Name-Salt))

PMK-R1=KDF-256(PMK-R0, "FT-R1", R1KH-ID||S1KH-ID)

R1KH-ID:ap的MAC

S1KH-ID:sta的MAC

PMK-R1Name=Truncate-128(SHA256("FT-R1N"||PMK-R0Name||R1KH-ID||S1KH-ID))

注意:AP1在计算出PMK-R1后会通过UDP广播发送给MD内的其它AP,如AP2,当STA切换到AP2时,STA和AP2基于PMK-R1算出新的PTK

PSK计算方法和802.11i即RSN中的计算方法一致:

PSK=PBKDF(SHA1, passphase, SSID, 4096, 256/8)

SHA1:采用的哈希函数

passphase:AP上设置的密码

SSID:AP的ssid

4096:经过4096轮运算

256/8:输出的PSK长度即256bits

sta<——>ap

四次握手交互,ap首先发送其随机数给sta,接着sta回复其随机数给ap

经过M1,M2交互就可以各自生成PTK,计算公式如下:

PTK=KDF-PTKLen(PMK-R1, "FT-PTK", SNonce||ANonce||BSSID||STA-MAC)

M3,M4就是确认生成的PTK是否一致

这里的PTKLen跟AKM有关

STA漫游到AP2:

报文交互过程:

AUTH交互

这里的AUTH帧中跟上面的AUTH帧中的认证算法(auth algorithm)由open变为fast bss transition,同时FTE这个IE中携带随机数。通过AUTH帧的两个报文交互就可以计算出PTK了

association交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tyson2462

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值