RSN(Robust Security Network,强健安全网络)

  • TKIP 和 CCMP只能解决数据完整和机密性问题;为解决认证问题,IEEE 802.11借鉴了802.1X,引入RSNA(Robust Secure Network Association),包括密钥派生、缓存等内容。
  • RSNA是 IEEE 802.11i 定义的 保护无线网络安全的过程,主要定义了密钥的产生与传递方式。

WPA 认证

  • WPA Enterprise (WPA - 企业 ):采用802.1x认证 (EAP-TLS, EAP-TTLS),企业用户采用。
  • WPA Personal(WPA - 个人 ): 采用PSK(预共享密钥),普通用户采用。
认证协议 构成
WPA - 企业 802.1X + EAP + TKIP
WPA2 - 企业 802.1X + EAP + TKIP / CCMP
WPA - 个人 PSK + TKIP
WPA2 - 个人 PSK + TKIP / CCMP
PSK(Pre-Share Key), 预先共享用密钥模式。
  • PSK 是设计给家庭/办公室网络用的,每个使用者必须输入密码来取用网络。
  • PSK表示预设的密码,即无线路由器中设置的密码,可以是 8 到 63 个 ASCII 字符、或是 64 个16进位数字。
EAP(Extensible Authentication Protocol),可扩展的身份认证协议
  • EAP 是一种认证协议框架,允许协议设计人员打造自己的EAP 认证方式(EAP method)。
  • EAP 包括认证的客户请求和服务器对认证的处理,其数据包类型如下
    (1)EAPOL 报文 —— 用于穿越局域网传送 EAP 报文的容器。
    (2)EAPOL 开始 —— 被客户端用以通知网络的认证者。
    (3)EAPOL 注销 —— 通知认证者客户端正在离开网络。
    (4)EAPOL 密钥 —— 802.1x 中用于密钥分发的。

IEEE 802.11i 密钥阶层体系

  • 在WEP中,所有STA都使用同一个WEP Key进行数据加密,安全性较差。
  • 在RSN中,STA和AP关联后,不同的STA使用不同的Key进行数据加密,这就是Pairwise Key的来历。

  • IEEE 802.11i 链路层加密协议使用了两种密钥。
    成对密钥(pairwise keys):用来保护STA与AP 间单播数据。
    群组密钥(group keys):用来保护AP与所有STA间的广播 / 组播数据。
    通过密钥分级(key hierarchy)来衍生用来保护数据传输的临时密钥。
PMK(Pairwise Master Key) 成对的主密钥
  • PMK:主钥,扮演着根密钥(root secret)的角色,所有配钥素材均衍生于主钥,长度为256位。

  • 在个人网络环境(WPA Personal)中,PMK来源于预共享密钥 PSK,即无线路由器中设置的密码,无须专门的验证服务器。
    WPA-Personal模式不需要RADIUS服务器参与,AP和STA双方的Key属于PSK,事先就配置好了的。

  • 在企业级环境(WPA Enterprise)中,PMK和Authenticator Server(如RADIUS服务器)有关,需要通过EAPOL消息和后台AS经过多次交互来获取。
    WPA-Enterprise模式下,STA、AP和RAIDUS的PMK通过多次EAPOL消息来获取,获取的方法和具体的EAP Method有关。
    因此,WPA-Enterprise模式式更加安全,但其耗费的时间也较长。

PTK(Pairwise Transient Key) 成对的临时密钥
  • STA和AP得到PMK后,将进行密匙展开以得到PTK,PTK被设置到硬件中,用于数据的加解密。
  • STA每次关联都需要重新展开这些Key,所以称为PTK(成对的临时密钥)。
  • TKIP 与CCMP使用准随机函式(Pseudo Random Function),展开PMK,得到临时密钥PTK。
  • 输入
    PMK: 主密钥
    Supplicant MAC:请求认证者MAC地址
    Authenticator MAC:认证者MAC地址
    ANonce / SNonce:四次握手中的随机Nonce值
  • 输出
    Data Encr / Data MIC: TKIP和CCMP中的临时密钥TK(Temporal key),确保数据完整性.。
    EAPOL Encr:对应四次握手中的KEK(EAPOL Key Encryption Key),密钥加密密钥,用来加密密钥生成消息。
    EAPOL MIC:对应四次握手中的KCK(EAPOL Key Confirmation Key),密钥确认密钥,用来计算密钥生成消息的完整性校验值。

  • 加密方式为TKIP时,PTK为512位,其中KCK(128位),KEK(128位),TK(128位),MIC key(128位)。
  • 加密方式为CCMP时,PTK为384位,其中KCK(128位),KEK(128位),TK(128位),因为CCMP只使用一把128 位密钥来进行认证与加密。

GTK(Group Transient Key) 全局加密密钥
  • 认证者(Authenticator )拥有群组主钥(Group Master Key,GMK),以作为临时密钥的基础。

  • 通过准随机函式,群组主钥会被展开成全局加密密钥GTK。

  • 当有STA离开网络后,网络系统可以更新群组密钥。此过程并未产生密钥加密(KEK)或密钥确认(KCK)密钥,因为密钥交换是通过Pairwise EAPOL Keys 来传递密钥。

  • 当加密方式是TKIP时,GTK为256位,Group temporal Key作为构造全局报的基础密钥,Group MIC Key 作为计算和检验WPA数据报文的MIC的密钥。

  • 当加密方式是CCMP时,PTK为128位,因为CCMP只使用一把128 位元密钥来进行认证与加密。

RSN网络的连接过程

  • RSNA网络发现阶段

    1. AP通过Beacons、Probe Response帧广播AP的信息,MAC帧中包含了RSNE信息元素,如加密算法和安全配置等信息。
    2. STA扫描时,检查Beacon或Probe Response中是否有RSNE信息元素。
    3. STA选择合适的AP, 并请求加入该网络。
  • 认证阶段

    1. 支持WPA的AP工作在开放系统认证方式(Open System Authentication)
    2. STA发出的Association Request 和 Re-Association Request 帧中 包括了选择的安全配置信息。
    3. STA完成Authentication和Association,与AP建立关联。
    4. 如果网络中有RADIUS服务器作为认证服务器,STA就使用802.1x方式进行认证;如果网络中没有RADIUS,STA与AP就会采用预共享密钥方式进行认证。
    5. STA通过了802.1x身份验证后,AP会得到一个与STA相同的Session Key, AP与STA将该Session Key作为PMK(对于使用预共享密钥的方式来说,PSK就是PMK)。
  • RSNA通过 4-Way Handshake 和 Group Key Handshake 完成RSNA中的密钥管理工作

  • 4-Way Handshake阶段

    1. AP和STA均持有一把共享的成对主钥 PMK,需要确认对方是否持有与自己一致的PMK,如不一致,四次握手过程就告失败。
    2. 在四次握手的过程中,AP与STA通过PMK计算出一个512位的PTK。
    3. PTK分解出来的密钥是AP与该STA之间使用的密钥(用户密钥,用于AP与STA之间的单播报文的加密),这些密钥永远也不会以任何形式出现在无线网络上。
    4. 在确认双方所持的PMK一致后, AP会根据自身是否支持用户密钥的能力来指示STA是否安装并使用这个用户密钥。IEEE 802.11协议规定AP可以不采用PTK方式,而是利用GTK作为AP向STA发送单播报文时的密钥。
    5. 如果AP通知STA安装并使用PTK,那么STA在向AP发送一个EAPOL-KEY相应报文后,再把相应的密钥安装到无线网卡中。
    6. 为了保证传输的完整性,在握手过程中使用了 MIC(Message Integrity Code)的检验码。
    7. AP与STA只有通过四次握手协商产生临时密钥,并且确认双方均已准备就绪后,才可以开始进行加密传输。
  • Group Key Handshake阶段

    1. 四次握手成功后,AP会生成一个256位的GTK(Group Transient Key)
    2. GTK是一组全局加密密钥,所有与该AP建立关联的STA均使用相同的GTK,AP通过GTK来加密所有关联的STA的报文,STA使用GTK来解密由AP发送的报文并检验其MIC。
    3. AP通过EAPOL-KEY加密密钥将GTK加密并发送给STA,并指明该GTK是否允许STA用作发送报文所使用。
    4. STA成功接收到该报文,将GTK解密后,向AP发送应答报文,并根据AP所指示的Key Index将其安装无线网卡的相应位置。
    5. 如果AP使用GTK作为向某一STA单播传输的密钥,则该STA也需要使用GTK作为向AP发送单播报文的密钥。
  • 数据传输阶段

    1. 传输数据时,TKIP并不直接使用由PTK/GTK分解出来的密钥作为加密报文的密钥。
    2. TKIP将PTK和GTK作为基础密钥(Base Key),经过两个阶段的密钥混合过程,为每帧生成不一样的密钥来加密数据,通过这种方式来增强WLAN的安全性。

Wi-Fi 安全协议 - RSN相关推荐

  1. wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰

    龙源期刊网 http://www.qikan.com.cn 浅谈 ZigBee 和 Wi - Fi 的共存和干扰 作者:姜伟 朱凯 刘童 来源:<科技视界> 2013 年第 16 期 [摘 ...

  2. 比较802.11ac(Wi‑Fi 5)和802.11ax(Wi‑Fi 6)

    MIMO 802.11ac仅在下行模式下,支持多用户MIMO. 802.11ax不仅下行链路:也在上行链路支持MIMO功能,因此多个用户可以同时上传视频. 调制方法 802.11ax具有更高的调制方案 ...

  3. android环境监测,基于Wi―Fi和Android家居环境监测与实现

    摘 要 为了人们生活环境健康安全,实现家居环境检测,利用现在手持智能设备,设计出一种基于Android的家居检测系统.本文采用了具有Android操作系统的智能手机或平板电脑作为家居设备终端,以STM ...

  4. 行车记录仪全国产化电子元件推荐方案

    方案概述: 行车记录仪一般由摄像头. CMOS传感.重力传感.处理器.存储.麦克风.显示屏等组成.行车记录仪已在我国较大范围应用,其约束驾驶人违法驾驶行为.记录车辆行驶过程 的作用也初步显现.随着现代 ...

  5. 小米wifi智能家居android,小米智能家居:米家智能插座的无线协议——Wi-Fi与Zigbee...

    随着科技的发展,智能插座或音箱,就可以开启你的智能家居生活. 那Wi-Fi和ZigBee到底是什么? 首先,Wi-Fi和ZigBee是两种不同的无线协议.Wi-Fi无线协议:全称Wireless Fi ...

  6. nRF51系列的Gazell协议

    介绍: Gazell是一种协议,它可以在一个主机和多达8个设备的星型网络拓扑结构中建立一个强大的无线链路.它的设计目的是减少功率敏感的无线桌面产品的功耗,也适用于一系列其他的无线应用程序. 为了尽量减 ...

  7. # 一个礼拜学习Ios7816协议 第二天

    编程参数P和I 编程参数P和I分别是编程电压和最大编程电流,他们定义了接触点VPP上的编程状态编程电压:VPP = PV最大编程电流 Ipp = ImA在5 到 25 范围内,PI1给出了P的值,单位 ...

  8. 路由选择协议在哪一层_米家智能插座背后的两种无线协议——Wi-Fi与ZigBee区别体现在哪?...

    随着科技的发展,智能家居的概念深入人心,人们利用智慧不断开创新的生活.比尔盖茨是第一个智能家居的使用者,也许很多人会认为智能家居的高端性符合像比尔盖茨那样有"钱"的人,其实不然,随 ...

  9. 启明云端分享| 乐鑫刚发布的 ESP32-C2与今年五月份量产的ESP32-C3有哪些不同呢?作为两颗升级替代ESP8286的芯片,我们在应用时怎么去选择呢

    提示:提示:启明云端从2013年起就作为Espressif(乐鑫科技)大中华区合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程.同时也用心推出了基于乐鑫的相关应用方案! ...

最新文章

  1. 算法导论课后习题解析 第四章 上
  2. 推荐一个非常火爆的电商开源项目!
  3. 《系统集成项目管理工程师》必背100个知识点-45质量管理
  4. Spanning Tree with One Fixed Degree
  5. 安装centos 6.7
  6. pdf 奇数页插入页码_如何在Word 2013中的奇数页码上启动新部分
  7. Hadoop分布式集群安装配置
  8. 快递取件码生成软件_一种自动生成取件码的快递柜及其使用方法与流程
  9. C 数据类型 常量 变量
  10. 图书馆管理系统前景与范围文档
  11. 动态规划之背包问题(优化版)
  12. 【设计模式】05模板方法模式学习笔记
  13. java表格边框问题_Java 设置Word表格边框
  14. SQL中的comment语法
  15. python切片步长为负数_Python切片知识解析
  16. 我在著名的外企工作多年
  17. Ubuntu18.04 realsenseD435i深度摄像头外参标定的问题
  18. ios 渐变透明背景_PS教程丨扣出透明的玻璃瓶
  19. [论文阅读笔记45]ChineseBLUE[MC-BERT]
  20. 高性能mysql学习笔记--复制

热门文章

  1. python开源web项目-30 个惊艳的Python开源项目
  2. 为什么CDMA需要对整个网络同步
  3. 一键装linux系统安装,有什么可以在windows下一键安装的linux系统
  4. 政务云系统——亿网软通“互联网+”政务云解决方案
  5. 当前时间实时刷新js
  6. Apriori算法找出频繁项集(python)
  7. 注册表桌面显示计算机,电脑开机后不显示桌面图标怎么办?修改注册表解决开机后不显示桌面图标的3种方法...
  8. pssa系统 中台_神州云动:PaaS赋能企业 打造超级业务中台
  9. c语言数据结构及算法实现代码,数据结构算法实现及解析―配合严蔚敏_吴伟民编著的数据结构(C语言版和C++版)(作者 高一凡)源代码...
  10. S1000D 5.0 中文版