80211r原理明细
更新时间:2024-06-08 06:52:01 阅读量: 综合文库 文档下载
- 80211r快速漫游推荐度:
- 相关推荐
NUDT 杨磊
总述
IEEE802.11r(Fast BSSTransition)定义了STA在同一移动域(MD)中的AP 之
间漫游时的交互细则,提供了实现BSS快速转换的标准。协议描述的主要方法 为:STA第一次与MD内的AP关联时,利用802.1x认证获得的主会话密钥(MSK,由于该密钥为认证者和申请者共享,也成为成对主密钥(PMK))和MD内各个AP的R1KH_ID计算出不同的 PMK R1分发给MD内的其它AP;发生切换时,STA直接利用发送到目标AP上的PMK R1协商出 成对临时密钥
(PTK)和组临时密钥(GTK),以此缩短切换时间,避免再进行耗时的802.1x认证。
协议主要描述了四个部分的内容:密钥管理、新增的信息元素、FT初始化关联和快速切换协议。密钥管理部分提出了三层密钥结构及其计算方法;新增的信 息元素部分给出了MDIE、FTIE、TIE等元素的定义;FT初始化关联部分描述了 第一次关联时密钥生成和分发的过程;快速切换协议部分描述了快速漫游过程和 由PMKR1计算PTK和GTK的过程。初始化关联部分和快速切换协议部分分为RSN(Robust SecurityNet)网络和non RSN网络进行描述。快速切换协议分为 两种,FT协议(FT Protocol)和带资源请求的FT协议(FT Resource Request Protoc01)。每种协议的切换方式又可以分为两种,Over-the-Air方式和Over-the—DS 方式。
一.提示
1.本文档主要研究支持RSN(802.11i)的无线局域网下的快速切换为主。 2.IEEE文档里提到的802.11r标准是基于自治式WLAN,而不是集中式WLAN,因此实现时会和标准有一定差别
3.同样的,HostAPD模块里对802.11r的实现也会标准不同。
1
NUDT 杨磊
二.802.11i:强健安全性网络
2.1:RSN简介
除了TKIP和CCMP,80211i还定义了强健安全性网络(RSN)的标准,主要定义密钥的产生与分配方式.
链路层加密协议使用了两种密钥.成对密钥(pairwise key) 用来保护工作站与AP;间往来的数据.组密钥(group key) 用来保护AP和所关联的工作站之间的广播帧或组播帧 成对主密钥产生于身份验证(802.1x或者PSK),组密钥则是AP动态产生并分配给工作站的。
2.2:TKIP与CCMP
80211i定义了两种RSNA数据的加密与完整校验协议:TKIP和CCMP。
CCMP对RSN网络来说是默认执行的协议,而TKIP则是可选项。TKIP的主要设计目的,在于大部分旧式硬件只支持WEP加密,而TKIP则可在保持WEP基本架构的情况下,提升其安全性。
需要注意的是,TKIP的加密与完整性校验并不像CCMP那样健壮可靠。一般情况下,仅适用于那些老式的,不支持CCMP的硬件。
2.2.1:TKIP临时密钥完整性协议
正如前一节所说,TKIP是一套用于在旧式硬件上加强WEP协议的加密机
制,在尽量保留WEP基本结构的前提下,TKIP对WEP做了如下修改。
(1)TKIP使用了一种新的完整性校验(Message integrity check,简称MIC)算法:Michael完整性校验散列算法取代WEP的线性散列算法。源地址和目的地址都会受到MIC保护,检测伪造帧也相对容易,而WEP是不保护80211帧头的,WEP的CRC也不具备密码学上的安全性。
(2)TKIP使用TKIP sequence counter(TSC)来为MPDU(Mac protocol data unit)发出的帧进行计数,次序错乱的帧会被丢弃。可由此应对重放攻击
(3)TKIP使用一种密钥混合函数将临时密钥,TSC和TA(发送者地址)联合到WEP seed(wep 随机数种子)中,WEP SEED由wep密钥(或者说secret key)和初始向量(IV)组成,WEP长度为40,104或128位初始向量为24位。如何选取初始向量802.11并未规范。
2
NUDT 杨磊
RC4 key由IV和WEP密钥组成,但IV本身放在帧内,也没有加密。IV本身只有24位长,使用空间约为1600万个,在繁忙的网络里容易出现重复。
TKIP则将IV扩张到了48位,保证了IV的不可重复性。
而对于WEP seed第二部分 secret key,TKIP使用了密钥混合来处理(key mixing),通过密钥混合,用来加密的secret key可以完全避免重复性。也就说,每个帧的加密密钥都是不同的。
3
NUDT 杨磊
2.2.2:CCMP链消息认证码协议
和TKIP一样,CCMP也支持对明文进行加密和完整性保护,加密过程如下图:
4
NUDT 杨磊
2.3:成对密钥的产生和结构
成对密钥的产生取决于身份验证所采用的方式,如果进行的时PSK验证,则获得的密钥为PSK,如果进行的是802.1x验证,则获得的是MSK。计算出密钥后,MSK由Radius服务器传送给验证者和工作站,由于该密钥为验证者和工作站共享,故又称为PMK(成对主密钥)。
TKIP与CCMP均使用单一主密钥来产生帧保护操作所需要的其他密钥。利用派生密钥,工作站可以更新加密密钥而无需重新执行整个认证过程.主密钥本身扮演着秘密根源根源 (root secret) 的角色,必须小心保护 因为所有密钥材料
5
NUDT 杨磊
(keying material)都衍生于此.秘钥分级(key hierarchy)的目的部分是为了派生用来保护临时密钥的传送的密钥.。
由PMK展开为PTK
如果采用CCMP,则展开函数为PRF(伪随机函数)-384,如果采用TKIP,则展开函数为PRF-256,PTK可分为三部分:KCK(确认密钥),KEK(加密密钥)和Temporal Key(临时密钥)。
由GMK展开为GTK。
PTK和GTK的生成的具体过程,会在四次握手一章里详细讲。
6
NUDT 杨磊
2.4:EAPOL-KEY 帧
IEEE802.11标准使用EAPOL-KEY帧在申请者(STA)和认证者之间交换信息,格式如下:
EAPOL-key的具体内容请参考80211.i相关文档。 在进行四次握手时,EAPOL用到以下标记。
S:该标志为1代表初始密钥交换已经完成,该位是Key Information的secure位。
Key Information字段组成
M:该标志位置1代表MIC可用,在四次握手中除了步骤一,其他步骤该位全置1。该位是Key Information中的key MIC位。
7
NUDT 杨磊
A:该标志置1代表要求接收者发送回复。是Key information字段中的Key ACK I:代表成对密钥是否安装好,为Key information字段中Install位。
K:密钥类型,P为PTK,G为GTK或SMK,为Key Information中的Key type。 SM:SMK标志位。
KeyRSC:密钥接收队列计数器,详情请参考80211i文档 Anonce/Snonce:认证者或申请者的随机值。
MIC: 消息完整性检查,是Eapol—key中的Key MIC字段,一般用KCK计算而来。
DataDS:该字段可能包含0或多个信息元素与KDS(比如RSNIE和GTK)
2.5:80211i的四次握手
在进行四次握手前,工作站先要进行802.1x认证或者PSK认证,认证成功则授权服务器会将PSK(对应PSK认证)或MSK(802.1x)发给认证者和工作者,由于该密钥是认证者和工作站共享,又称为成对主密钥(PMK)。
8
NUDT 杨磊
步骤一:AP向工作站发送EAPOL-KEY,帧内带上了AP计算出的随机值Anonce,同时Key Ack位置1,表示要求应答,该帧不受MIC保护,但无需担,心被篡改,一旦Anonce被篡改,AP端和STA端计算出的PTK一定不一样从而导致握手失败。
步骤二:STA收到AP的Anonce之后,加上之前计算出的自身的随机值Snonce,用PRF(参见2.3或者附录)对PMK进行展开,计算出PTK,并回复一个EAPOL-KEY帧,附带STA端的随机值,该帧受消息完整性校验码校验过(该校验码由KCK计算而来)
步骤三:验证者收到Snonce后,计算出PTK。再发送一个EAPOL-KEY帧给STA,该帧除了携带GTK,还携带Anonce用于STA进行确认(检查Anonce和步骤一是否相同)。该帧经过TKIP或CCMP临时密钥加密。此时双方都拥有同样的临时密钥。
步骤四:申请者对第三个帧进行应答。四次握手完成。802.1x受控端口打开。
三.802.11r的密钥管理
3.1密钥结构
在RSN(802.11i)的基础上,802.11r提出了三层密钥结构和计算方法.而RSN则是一层.RSN通过认证者(对于自治式wlan而言就是AP),申请者(无线工作站)共享的主会话密钥(MSK,在进行802.1X验证时获得)进行展开,获得组临时密钥(GTK)和PTK.因此,80211i的密钥只分一层:除了作为秘密根源的PMK,就是通过PMK计算而来的PTK。
802.11r则将密钥管理部分分为三层,三层密钥分别为PMK_R0,PMK_R1,PTK。PMK_R0和PMK_R1的计算则是80211r特有的。PTK的计算方式与80211i的计算方式也不同,80211i是通过伪随机函数(PRF)展开PMK来获得
9
NUDT 杨磊
PTK,而80211i则是通过密钥派生函数(KDF)来展开PMK,KDF函数实际上是PRF的变种。
R0KH(PMK R0 Key holder)和R1KH为认证者一端的密钥管理实体,PMK_R0和PMK_R1的计算由R0KH控制.R0KH同时还要负责提供PMK_R1给R1KH,PTK的计算由R1KH控制.
S0KH和S1KH为申请者(无线工作站)一端的密钥管理实体,S0KH与S1KH的功能与R0KH,R1KH相对应
R0KH-ID是R0KH的标识(NAS—ID),按IEEE标准为1-48字节长,可由厂商自定义,R1KH-ID是认证者的MAC地址.
S0KH-ID和S1KH-ID都为申请者(无线工作站)的MAC地址.
密钥计算流程如下:
10
NUDT 杨磊
如果采用的是802.1X认证方式,R0KH就根据认证交互过程中从radius认证服务器 那得到的主绘话密钥(MSK)计算出PMK_R0;如果是采用PSK方式则直接根据 PSK进行计算。当认证成功后,R0KH删除MD中以前存有的与S0KH有关的 PMK_R0的安全关联,以及由它计算出来的PMK_R1的安全关联。
R0KH同时根据MD内的不同R1KH_ID计算出PMK_R1, 并将它传给同一MD中的所有R1KHs。PMK Rls是用来计算成对临时密钥(PTK)的。R1KH接收到PMK—R1时就会删除以前的 PMK_R1的安全关联,以及它所计算出的PTKSAs
PMK_R0,PMK_R1,PTK的生命周期取决于进行802.1x验证时得到的MSK,长度不能超过MSK本身的生命周期
密钥的计算公式参见下一节
11
NUDT 杨磊
3.2密钥计算公式
具体计算方法请参考IEEE802.11r-2008
3.3密钥的分发和索取
为了实现工作站切换AP时的快速漫游,802.11r规定,在工作站初次与MD进行初始化关联后,认证者在合适的时候(对此802.11r文档没有明确说明,从状态机上看应该是计算出PTK之后,再为其他R1KH计算分发PMK_R1),需要遍历MD中的所有R1KH_ID并计算出相关的PMK_R1发往MD内的所有R1KHs,此后工作站在进行漫游时,可以通过事先配发的PMK_R1计算出PTK,避免再进行费时的802.1x认证。
PMK_R1的计算分发由R0KH完成,所用的计算公式为3-5和3-6,
12
NUDT 杨磊
计算过程如下图所示:
由于每个R1KH_ID在MD中的唯一性,计算出的PMK_R1是不同的,因此对于每一个STA,在不同的R1KH里保存的PMK_R1也是唯一的。但对应的PMK_R0则是一样的。
密钥的索取机制发生的条件为快速漫游时目的AP的R1KH密钥管理实体上没 有找到STA要求的PMK R1。这种情况可能是MD中临时添加了新的AP,或者 R0KH密钥管理实体分发密钥时MD中的某个AP没有启动,而不是因为链路不通,或链路不安全。此时R1KH密钥管理实体会根据STA发出的R0KH_ID字段找到 R0KH密钥管理实体索取PMK_R1。此时R0KH密钥管理实体会根据发出请求的 R1KH_ID推演出PMK_R1和PMKRlName存储在R1KH密钥管理实
13
NUDT 杨磊
体中。
四.802.11r新增的数据结构
4.1:MDIE(移动域元素)
一般来说,可将一个ESS看做一个移动域(MD),具体到实现,可将一个AC与其控制下的所有AP及所有关联到这些AP上的STA看做一个移动域.MDIE用于标识该移动域ID与性能.如果MD支持802.11r,那这个元素应该添加到Beacon帧和Probe resp帧里,该元素格式如下
14
NUDT 杨磊
EID用于标识MDIE自身,长度字段设置为3,MDID标识MD,最后一个字段标识MD的性能,格式如下:
B0置1,代表该MD通过over_the_DS的方法执行快速转换; B0置0,代表该MD通过over_the_Air的方式执行快速转换; B1置1,代表“带资源请求的FT协议” B2保留。
4.2:FTIE(快速转换信息元素)
FTIE元素传递与密钥协商有关的信息,如完整性校验值(MIC)、认证者端的 随机数(ANonce)、STA端的随机数(SNonce)、GTK、 R1KH—ID和R0KH—ID。这个信息元素的格式如下图:
15
NUDT 杨磊
Subelement ID取值表
GTK字段为已经加密的组临时密钥,格式如下图:
16
NUDT 杨磊
4.3:TIE(超时间隔信息元素)
17
NUDT 杨磊
4.4:Action帧
802.11r规定的Action帧分为四类:请求(request),回复(response),确认(confirm),应答(Ack),Action帧主要用于Over_the_DS类型的快速切换,代替Over_the_Air模式下的Auth帧,
一.FT Request 帧:
该帧用于STA发给Current AP,用于进行Over_the_DS的切换,Current AP收到该帧后会将其转发给Target AP。格式如下:
Category字段:
18
NUDT 杨磊
Action字段:
STAADDR:工作站的mac地址;
Target AP address:要切换的AP的mac地址; 帧主体组成:
二.FT response帧:
FT response帧作为Target AP对于FT Request帧的应答,由Target AP发给Current AP,再转发给STA。格式如下:
19
NUDT 杨磊
前四个字段格式同上,status code字段用于通报检查结果,格式如下:
如果status code数值为0,表示检查没有问题,帧主体将包含以下三个字段:
20
NUDT 杨磊
36
NUDT 杨磊
七.附录
7.1:R0KH状态机
FT_PMK_R1_SA_PUSH即是遍历MD中每个R1KH_ID,计算出不同PMK_R1后进行分发,但802.11r并没有明说什么时候PUSH—PMK—R1设置为true,应该是当前AP和STA计算出PTK后。
7.2:R1KH状态机
状态一:初始化关联:
37
NUDT 杨磊
38
NUDT 杨磊
状态二:快速切换
39
NUDT 杨磊
7.3:S0KH状态机
7.4:S1KH状态机
状态一:初始化关联
40
正在阅读:
80211r原理明细06-08
长安大学桥梁工程复试经典必背试题11-19
挽回爱情之为什么要做好冷冻才能挽回05-17
8.8济南市文庄片区马武寨山破损山体绿化工程施工竞争性谈判文件 - 图文01-03
霸王别姬剧情介绍 - 图文01-11
2018秋季地大《税法》在线作业一05-28
小学生三年级游长城作文400字06-13
一份感谢作文400字07-01
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 明细
- 原理
- 80211r
- 安全防事故教育教案
- 智能温度测量仪开题报告
- 《中国注册会计师审计准则第1602_号——验资》指南
- 作文语言中的对偶和排比
- 关于内部控制专题培训的会议纪要1
- 宜宾市人民政府办公室关于印发《宜宾市城市房屋拆迁管理实施细则
- 施工现场的机械设备情况及布置方案
- 广东省幼儿园教育指南(试行)
- 浅谈民族地区的音乐课改
- 粤教版八年级地理下册教案
- 论税收在国家财政中的地位与作用_maodouzhy
- 大学语文课后习题答案
- 数学建模——投篮命中率的数学模型
- 2、大体积混凝土工程专项施工方案(目录、正文)
- 现代控制理论课程教学大纲
- 无锡产业结构分析
- 《Java程序设计》练习九
- 超星泛雅中国当代经济学答案
- 药物分析 问答和选择
- 中国在建已建十大水电站排名1