WPS PIN

什么是 WPS PIN?

Wi-Fi Protected Setup (WPS) 是一种简化无线网络安全设置的标准。WPS PIN(Personal Identification Number)是一种配置方法,用于通过输入一个静态的PIN来实现网络设备的自动配对。WPS PIN方法要求用户输入一个由路由器或接入点提供的8位PIN,来完成设备配对。

WPS PIN的工作流程

  1. 生成PIN:路由器或接入点生成一个8位PIN,并显示在设备上或通过其他方式提供给用户。
  2. 输入PIN:用户在连接设备(如计算机或智能手机)上输入该PIN。
  3. 验证:路由器或接入点验证PIN,如果PIN正确,设备将被连接到网络。

如何检查WPS PIN是否开启或关闭

1. 检查AP的WPS配置

在配置AP(接入点)时,可以通过查看配置文件或使用命令行工具检查WPS PIN是否启用。

使用 hostapd 配置文件

  1. 打开 hostapd.conf 配置文件
  2. 检查以下设置
1
2
3
wps_state=2
eap_server=1
ap_pin=0
  • wps_state=2:启用 WPS,但仅支持 PBC(Push Button Configuration)。
  • ap_pin=0:明确禁用 WPS PIN。

2. 使用Wireshark捕获并分析信标帧

Wireshark是一个网络协议分析工具,可以用来捕获和分析无线网络数据包,帮助检查WPS PIN的状态。

捕获信标帧

  1. 启动Wireshark 并选择无线接口进行捕获。
  2. 使用过滤器 wlan.fc.type_subtype == 0x08 来过滤信标帧。
  3. 找到并查看WPS信息元素

在WPS信息元素中,Selected Registrar Config Methods字段指示注册器(AP)支持的配置方法。例如:

  • 字段值 0x2388
    1
    0x2388 = 0010 0011 1000 1000

将每个位与WPS配置方法匹配:

  • Bit 0 (0x0001): Usable PIN
  • Bit 1 (0x0002): Ethernet
  • Bit 2 (0x0004): Label (设备标签上的PIN)
  • Bit 3 (0x0008): Display (显示器上显示的PIN)
  • Bit 4 (0x0010): External NFC Token
  • Bit 5 (0x0020): Integrated NFC Token
  • Bit 6 (0x0040): NFC Interface
  • Bit 7 (0x0080): Push Button Configuration (PBC)
  • Bit 8 (0x0100): Keypad (键盘输入的PIN)
  • Bit 9 (0x0200): Virtual Push Button
  • Bit 10 (0x0400): Physical Push Button
  • Bit 11 (0x0800): Virtual Display
  • Bit 12 (0x1000): Physical Display

对照上述位:

  • Bit 3 (0x0008): Display (显示器上显示的PIN) - 被设置
  • Bit 7 (0x0080): Push Button Configuration (PBC) - 被设置
  • Bit 8 (0x0100): Keypad (键盘输入的PIN) - 被设置
  • Bit 9 (0x0200): Virtual Push Button - 被设置
  • Bit 12 (0x1000): Physical Display - 被设置

0x2388 表示支持以下配置方法:

  • Display(显示器上显示的PIN)
  • **Push Button Configuration (PBC)**(PBC)
  • Keypad(键盘输入的PIN)
  • Virtual Push Button
  • Physical Display

为什么禁用WPS PIN

WPS PIN(Wi-Fi Protected Setup Personal Identification Number)在无线网络安全性方面存在多个问题,使得它不如预期的安全。以下是WPS PIN不安全的主要原因:

1. PIN长度和复杂性问题

  • 固定长度:WPS PIN固定为8位数字,这限制了密码的复杂性。
  • 小数字范围:PIN仅使用数字(0-9),这使得总的可能组合数为10,000,000(1千万),相对较少。

2. 暴力攻击的容易性

  • 简单的暴力破解:由于PIN长度固定且字符集有限,攻击者可以使用暴力破解(brute-force)来尝试所有可能的PIN组合。尽管WPS设计有机制来防止频繁的尝试(例如,在多次失败后会有延迟),但这些机制并不足以阻止高级攻击者。

3. PIN验证机制的漏洞

  • 分两部分验证:WPS PIN由8位数字组成,其中前7位和最后1位分别进行验证。攻击者可以先破解前7位,之后再破解最后1位,这样可以显著减少破解的难度。

4. 暴露在物理攻击中

  • 容易获取PIN:PIN可能通过设备上的标签或设备自身被暴露。如果设备的安全措施不足,攻击者可以直接读取或猜测PIN。

5. 设备实现问题

  • 实现不一致:不同厂商的设备在实现WPS PIN时可能存在漏洞或缺陷,这会影响WPS的安全性。部分设备可能没有正确实现WPS标准中的安全措施。

6. PIN和密钥的存储

  • PIN存储:某些设备可能在内部存储PIN而不是加密存储,这使得PIN更容易被获取。

WPS PIN
https://carl-5535.github.io/2024/11/10/工作总结/WPS PIN/
作者
Carl Chen
发布于
2024年11月10日
许可协议