admin 管理员组

文章数量: 887021

目录

1 基本概念

1.1 名词说明

1.2 组网架构

1.2.1 FAT AP

1.2.2 FIT AP

1.2.3 Mesh

1.3 无线通信原理

1.3.1 射频频段

1.3.2 信道与干扰

1.3.3 多入多出(MIMO)

2 标准协议(802.11)

2.1 帧结构

2.2 帧类型

2.2.1 数据帧

2.2.2 管理帧

2.2.3 控制帧

2.3 报文交互

2.3.1 接入过程

2.3.2 漫游过程

2.3.2.1 802.11k

2.3.2.2 802.11v

2.3.3.3 802.11r

3 组网协议(CAPWAP)

3.1 报文说明

3.2 工作模式

3.3 交互过程

3.3.1 地址获取

3.3.2 隧道建立阶段

3.3.3 隧道维持阶段

3.3.4 配置更新

4 安全策略

4.1 链路认证

4.1.1 开放系统认证

4.1.2 共享秘钥认证

4.2 接入认证

4.2.1 802.1x认证

4.2.2 MAC认证

4.2.3 PSK认证

4.2.4 Portal认证

4.3 加密方式

4.3.1 WEP加密

4.3.2 WPA加密

4.3.2.1 WPA

4.3.2.2 WPA2

4.3.2.3 WPA3

WPA3-SAE

WPA3-SAE transition

WPA3 Open System(OWE)

WPA3 Easy Connect(DDP)

4.4 小结

5 参考资料



【摘要】WLAN(Wireless Local Area Network,无线局域网),指使用无线通信技术进行互联的计算机网络。Wi-Fi(Wireless Fidelity,无线保真)为实现WLAN的一种技术,又称移动热点,基于IEEE 802.11标准,目前应用最为广泛。

【关键词】AC;AP;5G;802.11kvr漫游;802.1x认证;WPA加密

【编辑/整理】网洞


1 基本概念

1.1 名词说明                                                                                                                                     

名词全称说明
STAStation,站点主机或终端(平板、手机、电脑)等接入设备。
APAccess Point,接入点使用无线网络为站点提供连接的设备(路由器、网关)。
VAPVirtual Access Point,虚拟接入点AP设备上虚拟出来的业务功能。用户可在一个AP上创建不同VAP为不同群体提供无线接入服务(表现为可以创建设置多个不同的WiFi)。
BSSBasic Service Set,基本服务集一组相互通信的移动设备,通常由一个AP和若干STA组成。
ESSExtended Service Set,拓展服务集由多个使用相同SSID的BSS组成。为解决BSS覆盖有限的问题,使用DS(Distribution System,分布式系统)将多个BSS连接起来形成ESS。
SSIDService Set Identifier,服务集标识符即无线网络的名称。用于标识一个或一组无线网络,通常为一个不超过32个字符的字符串。
BSSIDBasic Service Set Identifier,基本服务集标识符本质为AP的MAC地址。用于在链路层上区分同一个AP上的不同VAP,也可用以区分同一个ESS中的不同BSS。
ESSIDExtended Service Set Identifier,扩展服务集标识符指代多个AP都使用的相同SSID。

1.2 组网架构                                                                                                                                     

1.2.1 FAT AP

FAT AP(FAT Access Point)又称胖接入点,为自治式网络架构。胖AP提供无线信号接入,并支持安全加密、用户认证和管理等功能。

独立自治是胖AP的特点,它部署管理设备方便,适用于小型WLAN使用场景,家庭无线路由器即采用FAT AP架构。

1.2.2 FIT AP

FIT AP(FIT Access Point)又称瘦接入点,为集中式网络架构。瘦AP只提供无线信号接入,不具备管理功能。

瘦AP适用于中大型WLAN使用场景。对大场景如候车厅,由于单AP无法做到信号完全覆盖,需使用多AP配合。每个AP自身无管理功能,依靠一个统一的控制设备AC(Access Controller)进行管理。

1.2.3 Mesh

Mesh组网又称多跳组网,由Controller(主路由)搭配Agent(从路由)组网,可通过有线、无线、混联的方式进行组网,且在组网成功后,形成一个统一的网络。Controller负责管理整个网络,所有Agent都直接或间接与它相连,且各Agent互相连通并提供无线接口。

目前各个厂家对于Mesh组网的实现各不相同,起的名字自然也不同。一般情况下,不同厂家的路由器之间是不能组Mesh的。

Controller和Agent之间是通过“Backhaul”,也就是回程连接起来的。

  • 有线回程:是指子路由WAN口与主路由LAN口之间通过网线连接,在Controller和Agent之间形成有线链路。
  • 无线回程:是让Agent通过一个特殊的隐藏BSS连接到Controller,形成无线链路。

Controller上的BSSID分为前端BSS(Fronthaul BSS)和后端BSS(Backhaul BSS)。

  • Fronthaul BSS:路由器上设置的,能够直接搜到的那些,一般会有一个2.4G频段的和一个5G频段的。有些路由器还具备多SSID功能,可以开启更多的Fronthaul BSS,一般会用它们来做访客WiFi一类的功能。
  • Backhaul BSS:专门用于建立无线链路的隐藏BSS,其SSID和密码一般由厂商依据设备MAC地址通过一定的算法生成,对用户是不可见的。在进行无线EasyMesh组网的时候,主路由会通过WPS将自己Backhaul BSS的SSID和密码发给子路由,子路由再根据收到的信息去连接Backhaul BSS,再经过一些配置同步之类的过程,EasyMesh组网就能够建立起来了。

【AC+AP组网 VS Mesh组网】

①无论是Mesh组网还是AC+AP,都可以达到全屋覆盖和无线漫游的效果。Mesh组网在全部使用有线回程的情况下,基本上等同于AC+AP。

②Mesh组网更为灵活,可用无线回程,也可用有线回程,还可以混合使用,而AC+AP则只能使用有线连接,需要提前规划布线。

③AC+AP方案中的AC可以置于弱电箱,AP使用面板式也不占空间,所有设备没有任何的网线和电源线外露,非常清爽美观。而Mesh方案则需拖着拉网线和电源线,美观性上要差得多。

④AC+AP需要购置至少一台路由/AC/PoE一体机和两台AP才有意义,如果要支持千兆网口和Wi-Fi6,这些设备都不便宜;而Mesh组网则亲民多了,两台路由的价格远低于AC+AP。

1.3 无线通信原理                                                                                                                             

1.3.1 射频频段

WLAN使用电磁波作为信号载体。通过射频发射器产生一个变化的电流(交流电),再由铜导线传输到天线,以电磁波形式辐射出来,此电磁波即射频。

射频频段有两个,分别在2.4GHz与5GHz附近。该频段属于ISM频段,专门开放给工业(Industrial)、科学(Scientific)与医疗(Medical)机构使用,只要设备功率符合限制,无需申请许可证即可使用该频段。无线通信传输介质是无线电波,连接了不可见的空口,该空口也被称为空中接口或空间接口。

1.3.2 信道与干扰

WLAN使用的2.4GHz频段具体范围为2.4~2.4835GHz,频宽为83.5MHz。为合理使用该频段,WLAN标准协议将2其划分出13个相互交叠的信道(802.11g和802.11n每个信道占20MHz,而802.11b每个信道占22MHz)。这13个信道中可以找出3个独立信道,如下图1、6、11为互不交叠的独立信道。

同频波相遇时会产生干扰,进行相位的叠加或衰减。部署AP时,采用蜂窝式信道布局,相邻AP使用独立信道,可以避免同频干扰。

WLAN 标准协议将 5GHz 频段分为 24 个 20MHz 宽的信道,且每个信道都为独立信道。802.11n 支持通过将相邻的两个 20MHz 信道绑定成 40MHz,使传输速率成倍提高。

图中,黑色的半圆表示独立信道,红色的半圆表示标准协议推荐的信道绑定,UNII-2e 为5GHz 新增频段,该频段中国尚未放开使用。目前中国已放开使用的信道有 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165。各个国家开放的信道不一样,可以参照国家信道顺从表。

1.3.3 多入多出(MIMO)

天线为电磁波发射和接收的重要单元,增加天线数量一定程度能提高传输的速率和稳定性。天线的理想尺寸为电磁波波长的1/4。

根据发射和接收天线数情况,分为四种类型:

  • SISO(Single-Input,Single-Output):单输入单输出。

  • SIMO(Single-Input,Multiple-Output):单输入多输出。

  • MISO(Multiple-Input,Single-Output):多输入单输出。

  • MIMO(Multiple-Input,Multiple-Output):多输入多输出。

SISO收发都只使用单根天线,情况最简单。SIMO和MISO分别只在接收端和发射端增加天线数量,数据传输容量不变,但可靠性得到提高。MIMO为多发多收,能提高传输速率(若收发天线同时增加为2,则速率翻倍)。

可用AxB:C MIMO(A:发射天线数,B:接受天线数,C:空间流数)来描述MIMO系统。如下图为2x2:4 MIMO系统。

802.11a/b/g不支持MIMO技术。

802.11.n的MIMO最多支持4条空间流。仅支持单用户MIMO。

802.11ac的MIMO最多支持8条空间流。支持多用户MIMO。

MIMO有两个概念,传输分集和空间复用。

  • 传输分集:不同天线发送相同内容。速率不变,可靠性和信号覆盖范围提升。

  • 空间复用:不同天线发送不同内容。可靠性和信号覆盖范围不变,速率提升。


2 标准协议802.11

目前被大规模推广和商用的是IEEE 802.11系列标准协议。2.4GHz频段支持802.11b/g/n/ax标准,5GHz频段支持802.11a/n/ac/ax标准。

2.1 帧结构                                                                                                                                     

  • Protocol Version:帧使用的MAC层协议(目前只有0,表示802.11)。

  • Type:帧类型(00为管理帧,01为控制帧,10为数据帧)。

  • Subtype:帧子类型。

  • To DS、Frome DS:表示帧是否去往或来自一个分布式系统(DS可理解为AP)。

  • More Frag:是否有更多的分片(0表示为最后一个)。

  • Retry:是否为重传帧。

  • Pwr Mamt:表示发完当前帧后要进入的模式(1表示进入省电模式,0表示进入活动状态)。

  • More Data:表示AP上是否有缓存报文需要传递给省电状态的终端。

  • Protected Frame:表示帧是否加密(1表示加密)。

  • Order:表示帧是否按顺序传输。

2.2 帧类型                                                                                                                                     

802.11 标准将所有的数据包分为 3 种:数据、管理、控制。管理帧的Type值为00,控制帧的Type值为01,数据帧的Type值为10。

2.2.1 数据帧

数据帧的作用是携带更高层次的数据 (如 IP 数据包,ISO7 层协议)。它负责在工作站之间传输数据。

  • Null function(subtype 0x24):空帧,STA休眠时定期向外发送空帧信息。

  • EAPOL-Key

2.2.2 管理帧

管理帧主要用于管理STA扫描、连接、退出无线网络以及连接点之间的转移,总共12个管理帧。

wireshark过滤:wlan.fc.type_subtype == 0x08

  • 一级帧(初步交互阶段)

    • Beacon (subtype 0x08):信标帧,用于STA被动扫描。AP定时广播发送信标帧(类似心跳包),可以让附近的STA找到自己,里面包含了SSID,Channel等重要信息。

    • Probe request (subtype 0x04):探测帧,用于STA主动扫描。STA发送探测帧主动寻找附近的AP。

    • Probe response (subtype 0x05):AP对STA发送探测请求进行回应,里面包含SSID等信息。

    • Authentication (subtype 0x0B):STA在扫描结束后,使用此帧请求进行加入Wi-Fi前的链路认证。

    • ATIM (subtype 0x09):Announcement Traffic Indication Message,通知传输指示消息。AP用于通知处于休眠模式的设备(低功耗的物联网设备会通过休眠来省电)有信息待传。

    • Action (subtype 0x0d) :802.11h新增。AP进行信道切换时,用于对周围无线信号发射功率测量并进行信道切换宣告。

  • 二级帧(加入阶段)

    • Association request (subtype 0x00):STA认证成功后,使用关联请求加入到Wi-Fi网络。

    • Association response (subtype 0x01): AP如果接受STA的关联请求,使用该帧进行回应,将为该 STA 分配资源。

    • Reassociation request (subtype 0x02):当 STA 远离原 AP, 并发现相同的 BSS里有另一个信号更强的 AP 时, STA 将发送重关联请求给新AP。这个行为也就是我们常说的漫游。

    • Reassociation response (subtype 0x03):新AP 接受漫游请求,由此AP 提供服务为STA分配资源。在快速漫游时STA不需要重新认证,减少四次握手过程。

  • 三级帧(退出阶段)

    • Disassociation (subtype 0x0A):STA连接到AP后,任何一方都可以通过发送取消关帧来中断连接。

    • Deauthentication (subtype 0x0C):STA和AP都可发送取消认证帧来取消认证,由于认证是关联的先决条件,取消认证也会导致STA断开网络。在STA主动断开SSID会发送该报文。

2.2.3 控制帧

控制帧通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。控制帧用于STA未加入的初步阶段。

  1. RTS (Request To Send,subtype 0x1B) :请求发送数据帧。数据发送之前的请求帧,用于申请信道,取得物理信道控制权。当A要向B发送数据,申请预约,以避免多人向B发送数据导致冲突。

  2. CTS (Clear To Send,subtype 0x1C) :清除发送数据帧。RTS的回复帧,用于暂停发送数据以释放信道。B同意预约后,通过CTS宣告其他人暂停向自己发送数据,避免冲突。

  3. ACK (Acknowledgement,subtype 0x1D) :确认收到数据帧。如收到的数据帧校验错误,则不发送ACK,等待重传。

2.3 报文交互                                                                                                                                     

2.3.1 接入过程

STA接入无线网络分为六个阶段:扫描、链路认证、关联、接入认证、地址分配、用户认证。

  1. 扫描阶段:STA发现AP可以通过主动扫描和被动扫描两种方式。

    AP广播发送Beacon(信标帧)

    STA向AP发送携带有指定SSID的Probe Request(探测请求帧)

    AP向STA发送Probe Response(探测回应帧)

  2. 链路认证阶段:确认双方是否是802.11设备。包括开放系统认证和共享密钥认证,若为前者则无需进行中间的两步挑战认证。

    STA对AP发送Authentication Request(认证请求帧)

    AP向STA发送Authentiction Response (Challenge)(加密认证)

    STA对AP发送Authentication Response (Encrypted Challenge)(加密认证)

    AP向STA发送Authentiction Response(认证应答帧)

  3. 关联阶段:终端关联实质就是链路服务协商的过程,协商内容包括支持的速率、信道,以及接入认证和加密算法等。

    STA向AP发送Association Request(关联请求帧)

    AP向STA发送Association Response(关联应答帧)

  4. 接入认证阶段:对用户进行区分,并可限制访问权限。分为PSK认证和802.1X认证。

  5. 地址分配阶段:STA通过DHCP或其他方式获取到IP地址。

  6. 用户认证阶段:分为802.1X认证、MAC认证和Portal认证。

正常数据传输(浏览网页、看视屏等)

2.3.2 漫游过程

漫游即STA不断选择最合适的AP进行接入的过程,传统漫游(STA自主漫游)有以下问题:

  • 丢包严重:STA无整个无线网络的视角,选择AP切换耗时长,丢包严重。

  • 终端粘滞:某些STA对漫游迟钝,表现为当前连接AP信号没有衰减到不可用的地步,不会主动进行切换。

  • 漫游目标不佳:STA自主漫游通常连接最强信号的AP,容易导致同一个AP连接过多的终端,无线网络质量下降。

  • 重关联慢:AP使用WPA/WPA2加密或802.1x认证时,STA接入需要进行合法性校验,漫游时间长。

802.11k/v/r为快速漫游三协议,用以解决漫游问题。

  • 802.11k协议能够把附近节点的信息告知客户端,指导客户端从速度慢的节点连接到速度较快的节点。

  • 802.11v协议能让节点负载均衡。

  • 802.11r协议能减少客户端切换节点的等待时间,尽量不让用户感觉到切换节点。

2.3.2.1 802.11k

过滤字段:wlan.fixed.action_code == 8

802.11k,无线局域网的无线电资源测量(Radio Resource Measurement of Wireless LANs,简称是RRM)。可以提前告知无线终端可以选择的AP,提供可以漫游的AP列表及相关信息。终端远离时能根据终端周围AP信息和自己邻居AP信息推荐合适漫游的AP。

802.11k包含11种测量方法:Beacon、Frame、Channel Load、Noise Histogram、STA Statistics、Location Configuration Information (LCI)、Neighbor Report、Link Measurement、Transmit Stream/Category Measurement。

2.3.2.2 802.11v

过滤字段:wlan.fixed.action_code == 7

802.11v,无线网络管理协议(Wireless Network Management,WNM)。可以向无线终端发送信息使信号不好的终端更换AP,实现负载均衡。

  • 对于支持802.11v的终端,AP通过802.11v协议的BSS Transition机制,促使STA漫游到目标AP上。

  • 对于不支持802.11v的终端,AP通过将该STA强制下线,并抑制STA的关联请求。

2.3.3.3 802.11r

802.11r,快速漫游协议(Fast Roaming)。该协议重新简化了安全握手协议,省略了802.1x认证和四次握手(EPAPOL-KEY)过程,可以理解为“不加密状态的漫游”。降低漫游产生的延时,使用户感知不到业务中断。

802.11r根据认证不同分Over-the-Air和Over-the-DS两种方式。

  • Over-the-Air方式:STA直接与FAP(AP_2)进行FT认证。

  • Over-the-DS方式:STA通过HAP(AP_1)与FAP(AP_2)进行FT认证。


3 组网协议(CAPWAP)

CAPWAP(Control And Provisioning of Wireless Access Points 无线接入点的控制和配置协议),是解决大规模组网交互的协议。IETF为了解决隧道协议不兼容问题造成的A厂家的AP和B厂家的AC无法进行互通,在2005年成立了CAPWAP工作组以标准化AP和AC间的隧道协议,遵循该协议的不同厂商其AC与AP之间能实现互通。

3.1 报文说明                                                                                                                                     

CAPWAP报文包括控制报文和数据报文,两者均使用UDP协议,并可通过DTLS进行加密。

空口包过滤802.11kvr报文。过滤关键字:capwap.control.message_element.vsp.vendor_element_id == 500

vendor element ID:500表示ap上报的11k,55是终端上线ap报的上线消息,24是ac下发给ap的11v消息

3.2 工作模式                                                                                                                                     

包括Split MAC和Local MAC两种工作模式。

  • Split MAC:在split MAC模式下,所有二层的无线数据和管理帧都会被CAPWAP协议封装,然后在AC和WTP之间交换。

  • Local MAC:本地转发模式允许数据帧可以用本地桥或者使用802.3的帧形式用隧道转发。在这种情况下,二层无线管理帧在WTP本地已经处理,然后转发给AC。

无线的数据转发方式有两种,一种是本地转发,第二种是集中转发。

  • 本地转发:用户的报文不经过AC,直接在AP侧进行本地转发。

  • 集中转发:用户的所有报文需要经过AC进行转发。

3.3 交互过程                                                                                                                                     

AP和AC交互全过程分为:获取地址、发现AC、配置下发、隧道维持、配置更新几个过程。

3.3.1 地址获取

在没有预配置AC IP列表时,则启动AP动态AC发现机制。通过DHCP获取IP地址,并通过DHCP协议中的option返回AC地址列表。

  1. 首先是AP发送discover广播报文,请求DHCP server响应。

  2. 在DHCP服务器侦听到discover报文后,它会从没有租约的地址范围中,选择最前面的空置IP,连同其他TCP/IP设定,响应AP一个DHCP offer报文,该报文中会包含一个租约期限的信息。

  3. 由于DHCP offer报文既可以是单播报文,也可以是广播报文,当AP端收到多台DHCP Server的响应时,只会挑选其中一个offer(通常是最先抵达的那个),然后向网络中发送一个DHCP request广播报文,告诉所有的offer,并重新发送DHCP,DHCP server它将指定接收哪一台服务器提供的IP地址。

    同时,AP也会向网络发送一个ARP封包,查询网络上面有没有其他机器使用该IP地址,如果发现该IP已被占用,AP会发送出一个DHCP Decline封包给DHCP服务器,拒绝接收其DHCP discover 报文。

  4. 当DHCP Server接收到AP的request报文之后,会向AP发送一个DHCP Ack响应,该报文中携带的信息包括了AP的IP地址,租约期限,网关信息,以及DNS server IP等,以此确定租约的正式生效,就此完成DHCP的四步交互工作。

3.3.2 隧道建立阶段

Discovery

  1. AP启动CAPWAP协议的发现机制,以单播或广播的形式发送发现请求报文试图关联AC。

  2. AC收到AP的discovery request以后,会发送一个单播discover response 给AP。

  3. AP可以通过discover response中所带的AC优先级或者AC上当前AP的个数等,确定与哪个AC建立会话。

AP如果长时间未AC收到回复(如30s),还可以询问DHCP服务器是否知道AC存在。若DHCP服务器知道AC存在,可以在DHCP报文中的option15字段附带AC的域名或在option43字段中附带AC的IP地址。

DTLS (可选)

这个阶段可以选择CAPWAP隧道是否采用DTLS加密传输UDP报文。

join

在完成DTLS握手后,AC与AP开始建立控制通道。

  • AC回应的Join response报文中会携带用户配置的升级版本号,握手报文间隔/超时时间,控制报文优先级等信息。

    • 如果AP的版本无法与AC要求的相匹配时,AP和AC会进入Image Data状态做固件升级,以此来更新AP的版本;

    • 如果AP的版本符合要求,则进入configuration状态。

image date (可选)

AP根据协商参数判断当前版本是否是最新版本,如果不是最新版本,则AP将在CAPWAP隧道上开始更新软件版本。

AP在软件版本更新完成后重新启动,重复进行AC发现、建立CAPWAP隧道、加入过程。

configure

进入Configuration状态后是为了做AP的现有配置和AC设定配置的匹配检查。

  1. AP发送configuration request到AC,该信息中包含了现有AP的配置。

  2. 当AP的当前配置与AC要求不符合时,AC会通过configuration response通知AP。

date check

  1. AP发送change state event request信息,其中包含了radio,result,code等信息

  2. 当AC接收到change state event request后,开始回应change state event response 。

至此完成data check 后,已经完成管理隧道建立的过程,开始进入run状态。

3.3.3 隧道维持阶段

CAPWAP隧道两端设备通过交互Keepalive(UDP端口号为5247)报文来检测数据隧道的连通状态,通过交互Echo(UDP端口号为5246)报文来检测控制隧道的连通状态。

run (date)

  1. AP发送keepalive到AC。

  2. AC收到keepalive后表示数据隧道建立,AC回应keepalive。

  3. AP进入“normal”状态,开始正常工作。

run (control)

  1. AP进入run状态,发送echo request报文给AC,宣布建立好CAPWAP管理隧道并启动echo发送定时器和隧道检测超时定时以检测管理隧道时候异常。

  2. AC收到echo request报文后,同样进入run状态,并回应echo response报文给AP,启动隧道超时定时器。

  3. AP收到echo response报文后,会重设检验隧道超时的定时器。

3.3.4 配置更新

  1. 当AC在运行状态时需要对AP进行配置更新操作时,AC通过发送“Configure update request”报文给AP

  2. AP收到该消息后将发送“Configure update Response”报文给AC,并进入配置更新过程。


4 安全策略

设备链路认证、接入认证以及数据加密均属于WLAN的安全策略。认证是确保只有被许可的用户才能连接无线网络,加密则是为了保证数据不会被窃听和篡改。

4.1 链路认证                                                                                                                                     

链路认证是一种低级身份验证,该过程在接入认证前,可以分为开放系统认证和共享秘钥认证。

4.1.1 开放系统认证

开放认证(Open System Authentication)也是不认证(Open/None),任何AP发送认证请求都会成功。开放认证使用明文方式进行,适合安全要求较低的场所。

4.1.2 共享秘钥认证

共享密钥认证(Shared Key Autheentication)是一种挑战认证,STA和AP预置相同的共享密钥,验证两边密钥配置是否相同。如果一致则认证成功,否则认证失败。

SKA认证流程:

  1. STA先向AP发送认证请求。

  2. AP随机产生一个Challenge包(即一个字符串)返回给STA。

  3. STA将受到的字符串用密钥加密后再发送给AP。

  4. AP用密钥将消息解密,并于原字符串比较。若相同说明STA拥有与AP相同的共享密钥,则通过认证,否则认证失败。

4.2 接入认证                                                                                                                                     

接入认证包括802.1x认证、MAC认证、PSK认证、Portal认证。

4.2.1 802.1x认证

802.1x认证又称为EAPOE(Extensible Authentication Protocol Over Ethernet)认证,通过用户名+密码的方式进行认证。802.1x认证是基于端口的网络访问控制。

802.1x认证规定使用EAPoL(EAP over LANs,局域网可扩展认证协议)进行报文交互,EAPoL为802.1x定义的一种封装格式,使EAP可以在有线、无线及其他网络传输。802.1x认证只对交互报文协议进行了规定,具体认证还需通过其他认证协议,如 PAP、 CHAP、 EAP、PEAP协议。

802.1x认证需要在网络侧部署认证服务器RADIUS(Remote Authentication Dial In User Service),认证服务器也被称为Authentication Server,而接入的设备(STA)被称为Supplicant,负责转发认证信息的设备(AP)被称为Authenticator。

详细交互流程如下,在STA关联后,会先进行PEAP认证,分为认证初始化、建立TLS通道、通道内进行无线认证三个阶段。认证成功后,STA再通过EAPOL-KEY报文与AP交互,进行四次握手生成密钥。

  1. 认证初始化:启动认证流程

    STA发送EAPoL-Start请求发起认证

    AP发送EAP-Request (Identity)请求提供用户名

    STA发送EAP-Response (Identity)提供用户名

    AP将STA的用户名发送给Radius,并将Radius的建立隧道请求报文(Radius使用PEAP进行接入认证)重封装为EAP-Request发送回STA,后续认证过程AP都仅负责STA与Radius之间的消息转发

  2. 建立TLS通道:建立一个安全隧道保证后续认证的安全

    STA发送TLS-Client-Hello提供自身支持的加密集等信息,以协商要使用的加密算法的TLS隧道

    Radius发送TLS-Server-Hello选择双方都支持的最好加密算法,并提供自身服务器证书

    STA校验证书合法后,用证书的公钥加密一个随机密钥串发送给Radius

    Radius通过私钥解密密钥串,并计算出加密密钥,告诉STA使用此密钥

    STA发送EAP-Response (PEAP)表示同意,TLS通道建立成功

  3. 通道内进行无线认证:这里选择CHAPv2协议进行认证(所有EAP认证协议流程都差不多,包括认证开始、用户名认证、密码校验和证书认证)

    Radius发送EAP-Request (Identity)请求提供用户名

    STA发送EAP-Response (Identity)提供用户名

    Radius发送EAP-Request (MS-CHAPv2 Challenge)提供一个随机生成的16字节随机数A1

    STA发送EAP-Response (MS-CHAPv2 Response)回复一个自己生成的随机数A2,以及根据随机数A1和A2及自身用户名密码计算出一个的24字节密文B1

    Radius发送EAP-Request (MS-CHAPv2 Success)回复自己计算的密文C2(Radius会根据收到随机数A和B及STA用户名密码也计算一次密文得到B2,与收到的密文B1对比,一致则说明用户合法,然后将B2密文再进行一次计算得到C2)

    STA发送EAP-Response (MS-CHAPv2 Success)表明认证通过(STA也对密文再计算得到C1,与Radius的C2密文对比,若一致则说明服务器合法)

  4. 生成加密密钥:通过四次握手,根据STA和AP两边生成的随机数以及MAC、SSID等信息生成密钥。

    Radius发送EAP-Success表明认证完成,提供MPPE密钥。而后AP与STA进行PTK和GTK密钥协商。

    【名词说明】

    ANonce:AP产生的随机值;SNonce:STA产生的随机值

    PTK(Pairwise Transient Key):成对传输秘钥,用于单播数据帧加密和解密

    GTK(Group Temporal Key):组临时秘钥,用于组播、广播数据帧加密和解密

    1/4 EAPoL Key:AP发送EAPoL-Key (ANonce)提供ANonce随机数

    2/4 EAPoL Key:STA发送EAPoL-Key (SNonce, MIC)提供SNonce随机数,并根据ANonce、SNonce等信息计算得到PTK

    3/4 EAPoL Key:AP发送EAPoL-Key (Encrypted GTK, MIC)提供GTK密钥,也根据ANonce、SNonce等信息计算得到PTK

    4/4 EAPoL Key:STA发送EAPoL-Key (MIC)表明已将PTK安装到网卡,AP收到消息也将安装PTK

    【密钥生成材料】

         STA获取地址,进行上网业务

4.2.2 MAC认证

MAC认证即通过MAC触发的802.1x认证,认证不需要用户名和密码,且认证过程直接由AP发起并进行。

在802.1x认证中,STA需主动发送EAPOL-Start报文触发认证,而后与Radius交互进行认证过程。但在MAC认证中,在STA发起DHCP请求后,会触发AP直接将设备MAC信息作为账号密码发送给Radius发起认证,并完成认证过程。MAC认证相较802.1x认证更便捷,但安全性不如802.1x认证,因为MAC地址可以伪造。

4.2.3 PSK认证

PSK(Pre-Shared Key,预共享密钥)认证,主要用于中小型企业和个人用户认证。对中小型企业网络和家庭用户,部署和维护认证服务器并不方便,引入预共享密钥模式,不需要专门的认证服务器。

PSK认证需事先在STA和AC端预置相同的共享密钥,通过对是否对协商的消息成功解密,来确定两侧密钥是否相同。如相同则接入认证成功,否则接入认证失败。这个密钥只用于认证过程,不用于加密过程。

4.2.4 Portal认证

Portal认证也称为Web认证,通过网站形式进行身份认证(一般将Portal认证网站称为门户网站)。校园网即此类认证。

Portal认证需要部署Portal服务器(提供门户服务和验证接口)和AAA服务器(认证、计费、授权)。

4.3 加密方式                                                                                                                                     

4.3.1 WEP加密

WEP(Wired Equivalent Privacy),有线等效加密。WEP是最早(1999)的无线网络安全协议,采用RC4流密码算法,使用固定的密钥进行认证和加密。

WEP存在多个严重安全漏洞,同时WEP采用落后的802.11技术,速率低,在2003年已被WPA加密淘汰。

WEP的安全漏洞

  • (缺乏密钥管理)WEP使用相同的密钥对所有数据加密,密钥被破解风险高。

  • (弱密钥生成)WEP存在弱密钥生成问题,攻击者可以通过捕获少量数据包破解密钥。

  • (易受重放攻击)WEP不具备有效的完整性检查机制,攻击者可以捕获并重放数据包。

4.3.2 WPA加密

WPA(Wi-Fi Protected Access),WIFI保护接入。WPA是为解决WEP漏洞问题出现的。

4.3.2.1 WPA

WPA(2003)采用TKIP(Temporal Key Integrity Protocol)作为加密算法,提供更强的密钥管理和数据完整性保护,但仍使用了基于RC4的加密算法,依旧存在一定安全隐患。

TKIP是包裹在已有WEP密码外围的一层外壳,相当于WEP的补丁。TKIP使用与WEP相同的加密引擎和RC4算法,但密码密钥长度由40位提升到128位,并为每个帧构造独特密钥,同时支持MIC(Message Integrity Check,信息完整校验)和Countermeasure防止重放攻击功能。

4.3.2.2 WPA2

WPA2(2004)在WPA基础上进行改进。用公认安全的CCMP校验算法取代了Michael校验算法,同时用AES加密算法取代了RC4加密算法。

  • 更强的加密算法:WPA2引入了基于AES(Advanced Encryption Standard)的加密算法取代了WPA基于RC4的TKIP加密算法。

  • 强化的认证过程:WPA2支持两种认证方式,基于PSK认证的个人模式(WPA2-PSK)和基于802.1X认证的企业模式(WPA2-Enterprise)。

  • 改进的密钥管理:WPA2通过四次握手过程生成会话密钥,确保每个会话之间的数据加密具有唯一性,减少密钥被破解的风险。

  • 数据完整性保护:WPA2引入了更严格的数据完整性保护措施,如CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol),有效防止重放攻击。

4.3.2.3 WPA3

WPA3(2018)在WPA2基础上继续改进。使用SAE认证方式取代了PSK认证方式。

  • 强化密码安全性:WPA3引入SAE(Simultaneous Authentication of Equals,对等实体同时验证)算法取代了WPA2的PSK(Pre-Share Key)认证方式,提高了抵抗暴力破解攻击(字典攻击、无线监听攻击)的能力。

  • 更强的加密标准:WPA3支持192位加密密钥,相较于WPA2最高仅支持128位加密密钥,更适合政府、金融和医疗等对数据安全性要求更高的行业。

  • 开放连接的安全:WPA3引入了OWE(Opportunistic Wireless Encryption),为开放网络提供了基本的加密功能,即使WiFi网络没有密码也可以提供加密保护,降低中间人攻击风险。

  • 快捷连接的支持:WPA3引入Easy Connect功能,使物联网设备可以通过扫描二维码或其他简单方式添加到网络,简化了输入密码的过程。

  • 完善的前向保密:WPA3提供了完善的前向保密,即使长期密钥被泄露,攻击者也无法通过解密已捕获的数据包来访问过去的通信内容。

  • 优化的组播安全:WPA3引入了更安全的广播和多播数据传输方式,提高了组播通信的保密性和可靠性。

WPA3-SAE

WPA3分成个人版(Personal)及企业版(Enterprise)。WPA3个人版以SAE(Simultaneous Authentication of Equals,对等实体同步验证)标准取代之前使用的PSK(Pre-shared Key),更能抵御离线字典攻击,防止骇客破解密码,这表示用户不再需要设定繁复而难记的密码。

WPA3—sae修改了认证的流程,变为了4次交互。两次Authencation交互,产生的PMK用于后续的4-way握手。双向commit/Confirm,commit用于提交计算PMK的素材,Confirm用于确认和验证双方计算正确。

  1. (STA->AP)手机将生成的PMK需要信息,通过SAE auth commit Message中的value字段传送给热点网络,热点网络结合接收到手机的信息生成PMK和KCK。
  2. (AP->STA)热点网络通过SAE Auth commit message响应连接手机发送的SAE Auth commit message,并将连接手机需要生成PMK需要的信息通过value字段传输。
  3. (STA->AP)经过第一次交换后,连接手机将计算生成的信息通过Auth Confirm Message传输给热点网络。
  4. (AP->STA)热点网络收到连接手机的 Auth Confirm Message,获取连接手机提供的信息,按原约定计算方式确认是否正确。确认完成后,发送SAE Auth Confirm Message 携带信息给连接手机,连接手机确认信息是否正确。
WPA3-SAE transition

WPA3-SAE模式仅支持SAE认证,WPA3-SAE transition模式支持SAE和PSK认证(混合加密,wap2+wpa3)。WPA3-SAE transition为过渡模式,允许逐步向WPA3-Personal网络迁移,同时保持与WPA2-Personal设备的互操作性,且不会干扰到用户。

WPA3 Open System(OWE)

OWE(Opportunistic Wireless Encryption,机会性无线加密)是新一代Wi-Fi(WiFi)加密协议WPA3在开放认证方式(Open)基础上提出的一种增强型开放网络认证方式(Enhanced Open)。传统开放式Wi-Fi网络是存在风险的,所有用户都无需输入密码即可接入Wi-Fi网络,增加了非法攻击者接入网络的风险。WPA3在开放认证的基础上提出了增强型开放式网络认证,即OWE认证。OWE认证方式下,用户仍然无需输入密码即可接入网络。OWE采用Diffie-Hellman密钥交换算法在用户和AP之间交换密钥,为用户与Wi-Fi网络的数据传输进行加密,保护用户数据的安全性。

AP采用OWE认证,包括OWE Discovery和OWE Association两个阶段。

  • OWE Discovery阶段:
  1. Authentication Request:终端向AP请求认证。
  2. Authentication Response:AP采用OWE认证,终端请求认证通过,返回认证结果。认证结果中包含AKM(Authentication and Key Management)字段,向终端宣称自己支持OWE认证。支持OWE认证的终端收到认证结果后,进入OWE Association阶段,不支持OWE认证的终端将以开放认证的方式接入。
  • OWE Association阶段
  1. Association Request:终端向AP发起关联请求,并在Diffie-Hellman Parameter字段中添加终端侧公钥(Public Key)。
  2. Association Response:AP向终端返回关联结果,并在Diffie-Hellman Parameter字段中并添加AP侧公钥(Public Key)。终端和AP完成公钥交换后生成PMK(Pairwise Master Key,成对主密钥)。
  3. 4-Way Handshake:终端和AP进行四次握手,确定双方通信所要采用的密钥。
WPA3 Easy Connect(DDP)

Wi-Fi Easy Connect是由Wi-Fi联盟提出的一个解决方案,其目标是让任何的Wi-Fi设备都可以便捷、安全地连接到Wi-Fi网络。可以认为是WPS(Wi-Fi Protected Setup )的升级版。Wi-Fi Easy Connect是一种适用于WPA2和WPA3网络的新型连接协议,用户可以通过扫描QR码的形式将没有显示界面的设备添加至网络,消除了手动输入的负担

Wi-Fi Easy Connect中包含两个角色类型:Configurator 和 Enrollee。

  • Configurator,可以是手机、平板等移动设备上的应用程序,AP的Web接口或应用程序接口。
  • Enrollee,除Configurator外的其他都是Enrollee

Wi-Fi Easy Connect的连接过程如下:

  1. 配置AP:首先用户可以使用手机等设备扫描AP上的二维码,通过设备配置协议(Device Provisioning Protocol,DPP)来配置AP使其创建网络。
  2. 配置设备:当网络建立后,就可以开始配置其他客户端设备了。同样可以通过扫描二维码的形式,每个设备都将获得自己特有的配置用以加入网络。同时,会生成属于该设备与网络间独特的安全证书,保护双方的通信。
  3. 设备连接到网络:一旦配置完成,设备就会使用得到的配置信息去尝试连接目标无线网络。

4.4 小结                                                                                                                                     

加密算法

  • RC4(Rivest Cipher 4)是应用最广泛的流加密算法,属于对称加密算法。

  • AES(Advanced Encryption Standard,高级加密标准)是块密码,属于对称加密算法,相比TKIP具有更高级别的安全性。在WPA2中AES是通过CCMP协议实现的。

加密机制

  • TKIP(Temporal Key Integrity Protocol,临时密钥完整性协议),是一种基于RC4加密算法的加密协议。TKIP最初由WPA引入使用,也适用于WPA2,但已逐渐被安全性更高的AES替代。

  • CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol,计数器模式密码块链消息完整码协议),基于AES加密算法的加密协议。

安全规范链路认证接入认证加密方式校验方式密钥生成方式
WEP(802.11传统)OSA本身无接入认证,可配合MAC认证和Portal认证不加密或RC4加密CRC-32-
WEP(802.11传统)SKA不涉及WEP加密(RC4算法)CRC-32静态
WPAOSAPSK/802.1x认证TKIP加密(RC4算法)Michael动态
WPA2OSAPSK/802.1x认证CCMP加密(AES算法)/TKIP加密(RC4算法)CBC算法动态


5 参考资料

对WiFi发动取消认证攻击(Deauthentication) - 哔哩哔哩

【WIFI】WiFi-交互过程分析_连接无线报文交互-CSDN博客

百度安全验证

https://www.zhihu/question/37182696/answer/3135244332

WiFi中AP和STA建立连接(Association)的过程_wifi ap mac sta mac配对-CSDN博客

Wifi 认证,关联,四次握手(WPA/WPA2/WPA3-SAE)_android wifi 四次握手-CSDN博客

WIFI系列协议--802.11h--5GHz频段扩展频谱和传输功率管理--欧洲-CSDN博客

WiFi基本知识总结 --- 通信框架及基础概念说明_wifi基础知识-CSDN博客

WiFi连接过程简要分析-CSDN博客

https://zhuanlan.zhihu/p/662983717

Wlan——STA上线流程与802.11MAC帧讲解以及报文转发路径_.sta上下线:正常情况下,sta下线时会发解关联报文通告vac sta下线。当sta无故下线(-CSDN博客

https://zhuanlan.zhihu/p/645394651

无线技术:什么是MIMO?-腾讯云开发者社区-腾讯云

https://www.zhihu/question/389179142/answer/1167001002

一文看懂 5G、天线、后盖的关系

Wlan安全——认证与加密方式(WPA/WPA2)_tkip加密和完整性检测机制-CSDN博客

身份认证——Portal组网架构、协议报文、用户认证流程讲解_portal认证-CSDN博客

https://zhuanlan.zhihu/p/627994017

https://zhuanlan.zhihu/p/605555739

https://wwwblogs/konjac-wjh/p/17543438.html

WIFI 认证加密模式介绍 理解无线安全_802.1xeapol-key包-CSDN博客

WIFI 安全总论_某安 wifi csdn-CSDN博客

Wlan——射频和天线基础知识_射频天线基础-CSDN博客

wifi连接的4次握手的过程_wifi四次握手流程-CSDN博客

Wlan安全——STA如何通过802.1x接入网络_802.1x怎么连接-CSDN博客

WIFI接入之supplicant 四次握手流程_wifi四次握手流程-CSDN博客

身份认证——802.1x认证和MAC认证讲解-CSDN博客

https://zhuanlan.zhihu/p/653814009

https://www.zhihu/question/334929380

无线加密技术_wpa3-sae transition-CSDN博客

WPA3---SAE原理介绍_wpa3-sae transition-CSDN博客

初探WPA3中的Wi-Fi Easy Connect-安全客 - 安全资讯平台

什么是OWE(Opportunistic Wireless Encryption)?OWE解决了什么问题? - 华为

WiFi 的认证方法_open system、shared key-CSDN博客

什么是瘦AP、胖AP、AP+AC、Mesh?-CSDN博客

EasyMesh功能介绍

https://www.zhihu/question/388374718/answer/1653004106

https://zhuanlan.zhihu/p/629245410

2.3capwap工作原理_哔哩哔哩_bilibili

https://support.huawei/enterprise/zh/doc/EDOC1100304764/2471df23

https://zhuanlan.zhihu/p/579004499

https://wwwblogs/frost-descent/articles/16817760.html

百度安全验证

本文标签: 无线通信 最全 基本原理 详解 协议