WiFi WPS的来龙去脉

article/2025/10/9 9:53:29

WiFi WPS的来龙去脉

    • 1 什么是WPS
    • 2 系统构成
    • 3 协议流程
      • 3.1 PIN方式
      • 3.2 PBC方式
      • 3.3 帧类型
      • 3.4 M1~M8功能说明
    • 4 数据格式
    • 5 总结

1 什么是WPS

WPS(WiFi Protected Setup),又称为WSC(WiFi Simple Configuration)。诞生于2010年,目前最新版本为V2.0.8。主要目的是用简单的操作实现大多数人不懂的WiFi配置,保证WiFi上网的安全性。其本身是一个配置协议,不是一种WiFi的接入方式。它只是用一种黑盒子的方式以简单操作实现了复杂的配置的下发和生效,之后终端会用这些配置参数进行WiFi的连接,从而避免不懂行的用户在页面乱配参数。

此协议核心内容为两部分:1)配置数据的一般表达形式;2)协议流程。

目前使用最多的是PIN码方式和PBC按键方式,均属于带内方式。使用NFC是带外方式,不常见,本文档只对带内方式作详解。

2 系统构成

如下图,WPS系统由三部分构成:管理者(Registrar)、登录者(enrollee)、热点(AP)。这是按功能逻辑分类,实际上可以Registrar和AP在同一台设备上实现。
在这里插入图片描述

Registrar可能是独立的设备或是与AP在同一设备上的逻辑功能模块。如果Registrar是独立的设备,则与AP可以通过WiFi或以太网进行连接。

Enrollee是wifi STA设备。与AP的接口A是基于WiFi连接实现的。这里所说的WiFi连接,是WPS协议定义的特殊的WiFi连接过程,其目的是传递配置参数。当参数传递完毕后,这个连接将会断开。

Enrollee和Registrar之间的接口E,是认证和配置传递的接口。认证是通过PIN码实现的。

Registrar和AP之间的接口M,原理和接口E类似,实现Registrar对AP的配置,这时的AP角色与Enrollee类似。

下面举个例子,说明这三个角色的工作过程。
1)首先,AP上电启动,使用默认的WiFi参数工作。因为当前没有与Registrar连接过,所以WiFi Simple Configuration State为“Not Configured”(0x01);

2)AP定期发送beacon帧,帧中带WSC IE信息,其中的WiFi Simple Configuration State为“Not Configured”(0x01);

3)Registrar在扫描时,发现有一个AP支持WSC(带WSC IE),并且state为“Not Configured”,则触发配置流程;

4)Registrar需要知道此AP的PIN码,用户(维护人员)通过在AP上读取标签上的PIN码,并输入到Registrar中;

5)Registrar将按照下面流程与AP进行交互操作;在M8中下发了对AP的配置参数。包括SSID、加密类型(WEP、WPA、WPA2、Mixed)、加密算法(TKIP、AES)、密码等信息。这里的SSID/密码是Registrar根据AP的特征参数(如MAC)和随机数自动生成,生成的算法可以自行定义。
在这里插入图片描述

6)AP在接收到Registrar的配置后,断开与Registrar的连接,并启用新的参数;这时WiFi Simple Configuration State变为“Configured”(0x02);

7)Registrar使用新的SSID和密码与AP建立新的安全连接,用于后续对Enrollee的认证和配置。

3 协议流程

在上一节的例子中,已经给出了一个Registrar和AP之间的交互流程。本节,主要讲一下Enrollee(STA)通过WSC获取配置的流程。可分为PIN方式和PBC方式两种。

3.1 PIN方式

分Registrar触发和Enrollee触发两种情况,分别如下面两个图所示:
在这里插入图片描述
在这里插入图片描述
两种情况大同小异,触发方在beacon或Probe Request帧中带WSC IE信息,其中有configuration methods字段,此字段定义如下:
在这里插入图片描述
当Bit2为1时,即代表PIN码来自于标签(Label),Registrar界面上输入当前接入的Enrollee设备标签上印有的PIN码,即可完成WSC配置。

3.2 PBC方式

PBC即按键方式,分为Registrar先按键和Enrollee先按键两种情况。
在这里插入图片描述
在这里插入图片描述
两种情况类似,WSC IE信息中的configuration methods字段Bit7为1时,表示使用PBC方式。

PBC方式其实是PIN方式的一个变种,为了简化操作,不需要输入PIN码,而是使用全0作为PIN码。

3.3 帧类型

上述流程中,主要涉及两类帧:1)802.11协议定义的WiFi连接过程使用的beacon、probe、authentication、association帧;2)EAP和EAPOL帧。

从过程的角度看,与帧类型对应,分为发现过程和配置过程。发现过程的帧格式是802.11管理帧,可参考802.11协议。EAPOL帧是802.1X协议中定义。

EAPoL帧格式中各字段含义如下:
在这里插入图片描述
WSC中EAP帧格式如下:
在这里插入图片描述
在这里插入图片描述

  • 流程中EAP-request/identity、EAP-response/identity帧,即RFC3748中定义type=1的identity帧。
  • 流程中EAP-request(start) 帧,Op-Code为0x01(WSC_Start)。
  • 流程中M1-M8帧,Op-Code为0x04(WSC_MSG)。
  • 流程中Done帧,Op-Code为0x05(WSC_Done)。
  • 流程中EAP-fail帧,为Code=4的帧。

3.4 M1~M8功能说明

在这里插入图片描述
1)M1和M2是双方建立加密连接的过程,分别向对方发送公共密钥(PKE和PKR)。结合随机数N1和N2,生成之后通信的加密/解密密钥。

2)M3~M7是认证过程,通过对E-Hash1和E-Hash2、R-Hash1和R-Hash2的计算,确认双方所使用的PIN码一致。

3)M8携带configData,用于最终的配置。

在特殊情况下,可以在M2中携带configData,并省略M3~M8的过程。

对于PBC方式而言,M3~M7有点多余,因为PIN码为全0,认证是没有意义的。不过为了处理流程的一致性,依然保留这个过程。

4 数据格式

WSC IE结构和M1~M8帧里的数据,均使用以下格式:
在这里插入图片描述
数据类型汇总表如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 总结

WPS功能是为了让不懂行的小伙伴能简便快捷地接入到WiFi的热点,并且保证连接的安全性。使用PIN码方式比PBC方式更安全,但也相对麻烦一点。WPS流程首先是让AP和STA相互发现,确认对方支持WPS功能,并进入WPS的配置流程。配置流程中,先通过双方交换公共密钥,建立加密连接,然后通过交换用PIN生成的Hash码,进行校验,认证对方身份,最后通过传递configData,实现配置参数的下发。WPS流程结束时,STA与AP连接先断开,然后STA用新的配置参数重新与AP建立安全连接。

关于802.11协议认证、关联相关内容,可参考wifi认证过程wpa/wpa2


http://chatgpt.dhexx.cn/article/ncxb0ftQ.shtml

相关文章

AJDK-Wisp协程

李三红在接受采访时表示:“如果没有我们的尝试,Johannes Kepler University(JKU) Linz在HotSpot TM JVM 上的协程实现,或许要在相当长的一段时间被束之高阁。Alibaba JVM的Wisp协程技术,基于JKU 的协程实现,在上面做了…

无线路由器的AP、Client、WDS、WISP使用功能图解(清晰明了)

原文链接:http://www.anywlan.com/article-4180-1.html 先从有线路由器说起。现在的家用有线路由器,一般都有一个 WAN 口和几个 LAN 口,可以等效看成是三个部分组成:一个有一个 WAN 口和一个 LAN 口的路由器,一个有几个…

使用 NVIDIA Kaolin Wisp 重建3D场景

使用 NVIDIA Kaolin Wisp 重建3D场景 近年来,神经领域的研究已经成为计算机图形学和计算机视觉领域越来越热门的话题。 神经域可以通过使用以坐标为输入并在该位置输出相应数据的神经网络来表示形状、外观、运动和其他物理量等 3D 数据。 这些表示已被证明在生成建…

【网络】无线路由器的AP、Client、WDS、WISP使用功能图解(清晰明了)

1、有线路由器 有线路由器组成:一个有一个 WAN 口和一个 LAN 口的路由器、一个有几个 LAN 口的网络交换机,一个接在 LAN 口的 DHCP 服务器。如下图所示 2、无线路由器:AP模式 在路由器的 LAN 口上,接了一个无线交换机。这个无…

WISP模式

WISP模式是什么意思?用户在设置无线路由器桥接的时候,发现有一个WISP模式;但是不少用户都不知道WISP模式是什么意思,本文将对WISP模式进行一些简单的介绍。 WISP是Wireless Internet Service Provider的简称,中文名称是…

FAT32文件系统格式详解(图文针对具体文件存储,分析fat32 SD卡)

一. 用winhex工具分析SD卡(FAT32) WinHex.exe -> 工具 -> 打开磁盘 -> 选中SD卡设备 图(1) 打开后主界面如下: 图(2) 二. FAT32磁盘格式分析 当磁盘有多个分区时: fat32磁盘是…

Linux笔记七 常用分区格式 文件系统类型详解 挂载

目录 概念描述一、磁盘介绍二、分区介绍三、常用文件系统四、挂载实际运用一、lsblk 查看系统硬盘信息二、df 查看分区使用情况三、blkid查看块设备属性四、MBR分区格式五、格式化文件系统六、mount挂载七、umount卸载八、开机自动挂载九、GPT分区格式 概念描述 当我们本机空间…

概念-文件系统及文件类型

概念-文件系统及文件类型 Linux 文件系统的特点Linux 目录结构规范Linux 文件系统目录文件应用程序的组成部分文件路径Linux 文件类型文件的相关信息文件元数据和节点表结构inode 表和目录cp 和inoderm 和inodemv 和inode Linux 文件系统的特点 1 文件和目录被组织成一个单根倒…

Linux 支持 U盘 NTFS 文件系统格式

Linux 支持 U盘 NTFS 文件系统格式 1、在线(可以连接外网)方式: 1.1、RHEL/CentOS/Anolis/openEuler yum install ntfs-3g1.2、Debian/Ubuntu/Deepin apt install ntfs-3g2、离线方式 下载 ntfs-3g 安装包,离线环境安装 ntfs…

文件系统格式FAT16、FAT32、NTFS、exFAT的区别

前言正文 问题四种文件系统比较 小结 前言 我们在用U盘存储大文件的时候总会遇见这样一个问题,提示文件太大,U盘拷贝时提示文件过大问题 其实这跟U盘的磁盘格式有关,目前市面上常用的U盘大都是FAT32格式,那么FAT32是什么呢&#x…

【Linux】文件系统详解

😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享C/C相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…

Linux磁盘挂载及格式化文件系统格式为xfs

注释:重新空白挂载磁盘及重新格式化磁盘文件系统格式第一步需解除磁盘挂载,否则从下面第一步开始做 [rootp-master ~]# umount /dev/sdb 1、查看未挂载的磁盘: [rootp-master ~]# lsblk -f 2、磁盘新建分区 3、新建目录,准备将…

windows下文件系统格式介绍

三种文件系统(格式)类型 :FAT、NTFS、exFAT。 1、FAT 最通用的的是FAT32,很多U盘上都是FAT32格式,有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式…

Linux文件系统的格式化操作

前言:本节将来探索仓库的划分,即什么地方存放仓库的管理信息,什么地方存放进程的“劳动成果”(也就是文件),对应于文件系统的格式化操作。 先来实现文件系统设备驱动,接着建立文件系统超级块&am…

【文件系统】

一、文件系统的功能规划 第一点,文件系统要有严格的组织形式,使得文件能够以块为单位进行存储。 第二点,文件系统中也要有索引区,用来方便查找一个文件分成的多个块都存放在了什么位置。 第三点,如果文件系统中有的文…

Linux系统中常见文件系统格式

Linux系统中常见文件系统格式 Windows常用的分区格式有三种,分别是FAT16、FAT32、NTFS格式。 在Linux操作系统里有Ext2、Ext3、Linux swap和VFAT四种格式。 FAT16: 作为一种文件名称,FAT(File Allocation Table,文件分…

ffmpeg——TS流解析

RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP…

网页视频下载(TS流下载合成)

前言 最近《流浪地球》比较火,想找资源下载看看,无奈只找到了网址 http://m.tlyy.tv/【现已变成不良网站】 ,但是我的chrome插件也嗅探不到网页上的视频。。于是乎,右击页面,inspect 走起… 步骤 首先发现 m3u8文件…

TS流分析

一 从TS流开始 数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。因此,我们首先需要了…

ts流中的时间概念: pcr,pts,dts 实例解说

ts流中的时间概念: pcr,pts,dts 实例解说 ---------------------------------------- PCR OPCR ---------------------------------------- ts流包头4字节,第5字节为适配域长度,若不为0,第六字节为适配域标志. 适配域有5个标志,这里先说两个,节目参考时钟…