802.11漫游流程简单解析与笔记_Part1

21 篇文章 8 订阅
8 篇文章 0 订阅

最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包括普通漫游流程、三层秘钥原理 和802.11R漫游流程。Part2将包括wpa_supplicant有关部分解析,Part3将包括抓包分析。

首先假设一个场景,STA首次与AP1相连,物理空间上逐步远离AP1,所以打算切换到AP2上,这个过程在802.11中就被称为漫游。

普通漫游流程:

漫游步骤(要求AP1 AP2同一个ESS):

  1. STA经过auth*2 + reassociate request/response + key*4(这个是普通PSK漫游)连到AP2上
  2. STA的扫描到AP2,发现同SSID,加入AP2到待切换AP列表
  3. STA根据某些条件决定切换
  4. STA经过auth*2 + associate request/response + key*4连到AP1上

三层秘钥原理 

WEP不够安全后,推出了802.11i,内含两种加密方式协议(TKIP和CCMP)以及一组秘钥交换过程,对于不同的加密方式,秘钥是不同的,PSK加密时,秘钥为PSK,802.11X验证,秘钥为MSK;成对主密钥PMK就是由PSK或者MSK推算出来的,PTK由PMK生成的,PTK会用于EAPOL-KEY(包括KCK和KEK)或temporal(暂时的) key里面

802.11i规定的秘钥交换流程(key*4):

  1. 步骤1 key1:AP->STA,带着随机数Anonce(AP nonce)
  2. 步骤2 key2:STA用Anonce和Snonce展开PMK,获得PTK,STA->AP,带随机数Snonce
  3. 步骤3 key3:AP有了Anonce和Snonce,也用PMK展开出一个PTK,AP->STA,含Anonce和用PTK加密过的GTK
  4. 步骤4 key4:STA->AP,简单的ACK

三层秘钥介绍:

  1. PMK_R0:最高级的秘钥,PSK/MSK算出来的,由一层持有者S0KH R0KH持有
  2. PMK R1 为第二层密钥,它是由 S0KH和R0KH共同推演而来由 PMK_R1 密钥持有者保存(即 R1KH和 S1KH)。
  3. PTK为第三层密钥,它是由 S1KH和 R1KH共同推演而来。
  4. R0KH和 R1KH 为认证者端的结构,与之对应的 S0KH和 S1KH 为客户端的结构.

秘钥计算

R0

  1. R0-Key-data由PSK/MSK+SSID+mobility domain+R0KHID+S0KHID计算
  2. PMK-R0 是R0-Key-data的前256位
  3. PMK-R0Name-Salt是R0-Key-data的后128 bit
  4. PMK-R0Name由PMK-R0Name-Salt生成

R1

  1. PMK R1由PMK-R0 和R1KHID和S1KHID生成
  2. PMKRlName由PMK-R0Name和R1KHID和S1KHID生成

PTK

  1. PTK由PMK R1 SNonce ANonce BSSID STAADDR算出
  2. PTK用于KCK/KEK/TK,KCK是PTK的前128bit,KEK是128-255bit,TK分为CCMP和TKIP两种。

802.11R漫游流程

 STA首先和AP1关联走的是完整关联流程,与标准802.11i流程相同,只是多了和快速漫游有关的字段,后面在去切换到AP2时就是802.11R快速漫游,相对于普通漫游的4*key交换,ANonce和SNonce在auth request Response就完成了,所以不需要key*4,漫游更快。FT分为两种,over the air和over the ds,区别是over the air是STA直接给AP2发auth request,over the ds,把发给AP2 的auth request包到action,给AP1,AP1用有线转给AP2。

11R首次关联流程:

  1. auth*2(带capability的普通auth)
  2. asso*2(含MDIE(含mobility domain) RSNIE FTIE(含R0KHID R1KHID))
  3. key*4(与802.11i规定的秘钥交换流程(key* 4)相同)

11R的FT快速切换流程(over the air)

  1. STA发FT auth request(含RSNIE(含PMKR0NAME),含MDIE,含FTIE(含SNonce和R0KHID))
  2. AP2回FT auth response(含RSNIE(含PMKR0NAME),含MDIE,含FTIE(含ANonce SNonce R0KHID R1KHID))【在reassociation request和auth request之间的时间不能超过Reassociation deadline time】
  3. STA再发Reassociation Request到AP2(含RSNIE(含PMKR0NAME),含MDIE,含FTIE(含MIC ANonce SNonce R0KHID R1KHID )含RIC-Request)
  4. AP2回Reassociation Response(含的与Reassociation Request相同,只不过多出来加密了的GTK)

11R的FT快速切换流程(over the ds)

  • STA直接与AP2 交换的auth Request auth Response换成了STA和AP1 交换action,内容完全一致,然后AP1把ACTION用以太网转到AP2;Reassociation Request/Response相同,是STA和AP2交互的

 完整的秘钥计算示意图

参考文献:

[1]袁保磊. 基于IEEE802.11R协议的快速漫游嵌入式软件设计与实现[D].电子科技大学,2018.

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值