最近在调试Hostapd,尝试通过配置使能一个支持MLO的AP,不过不知道hostapd conf里面哪些选项开启后可以使能,所以对Hostapd做一个整体解析.
简介
hostapd 是用于接入点和身份验证服务器的用户空间守护程序。它实现 IEEE 802.11 接入点管理、IEEE 802.1X/WPA/WPA2/WPA3/EAP 身份验证器、RADIUS 客户端、EAP 服务器和 RADIUS 身份验证服务器。当前版本支持Linux(Host AP、madwifi、基于mac80211的驱动程序)和FreeBSD(net80211)。hostapd 被设计为一个“守护进程”程序,在后台运行并充当控制身份验证的后端组件。 hostapd 支持单独的前端程序,并且 hostapd 中包含一个基于文本的前端示例 hostapd_cli。
WPA
IEEE 802.11 标准的原始安全机制设计得并不强大,并且已被证明不足以满足大多数需要某种安全性的网络的需要。 IEEE 802.11工作组的第一任务组(安全)致力于解决基本标准的缺陷,并于2004年5月实际上完成了工作。IEEE 802.11标准的IEEE 802.11i修正案于2004年6月获得批准并于7月发布2004 年,Wi-Fi 联盟使用 IEEE 802.11i 工作的草案版本(草案 3.0)来定义可以使用现有 WLAN 硬件实现的安全增强功能的子集。这称为 Wi-Fi 保护访问 (WPA)。这现已成为 Wi-Fi 联盟进行的互操作性测试和认证的强制性组成部分。 Wi-Fi 在其网站上提供了有关 WPA 的信息。
IEEE 802.11 标准定义了用于保护无线网络的有线等效保密 (WEP) 算法。 WEP 使用具有 40 位密钥的 RC4、24 位初始化向量 (IV) 和 CRC32 来防止数据包伪造。所有这些选择都被证明是不够的:针对当前攻击,密钥空间太小,RC4密钥调度不足(应跳过伪随机流的开头),IV空间太小,IV重用使攻击更容易,没有重放保护,并且非密钥身份验证不能防止位翻转数据包数据。 WPA 是安全问题的中间解决方案。它使用临时密钥完整性协议 (TKIP) 来替代 WEP。 TKIP 是对强大的安全性和使用现有硬件的可能性的妥协。它仍然像 WEP 一样使用 RC4 进行加密,但使用每个数据包的 RC4 密钥。此外,它还实现了重放保护、密钥数据包身份验证机制(Michael MIC)。
可以使用两种不同的机制来管理密钥。 WPA 可以使用外部身份验证服务器(例如 RADIUS)和 EAP,就像 IEEE 802.1X 使用或预共享密钥一样,无需额外的服务器。 Wi-Fi 分别将其称为“WPA-Enterprise”和“WPAPersonal”。两种机制都会为身份验证器 (AP) 和请求者(客户端站)生成主会话密钥。 WPA 实现了新的密钥握手(4 次握手和组密钥握手),用于在身份验证器和请求者之间生成和交换数据加密密钥。此握手还用于验证身份验证器和请求者是否都知道主会话密钥。无论选择何种密钥管理机制(仅生成主会话密钥更改的方法),这些握手都是相同的。
IEEE 802.11i / RSN / WPA2
IEEE 802.11i 中未包含在 WPA 中的部分设计已完成(2004 年 5 月),IEEE 802.11 的修订于 2004 年 6 月获得批准。Wi-Fi 联盟正在使用最终的 IEEE 802.11i作为 WPA 的新版本,称为 WPA2。例如,这包括支持更强大的加密算法(CCMP:采用 CBC-MAC 的计数器模式下的 AES)来取代 TKIP、优化切换(减少初始密钥握手、预身份验证和 PMKSA 缓存中的消息数量)。
配置文件
hostapd 使用列出所有配置参数的文本文件进行配置。有关配置格式和支持的字段的详细信息,请参阅示例配置文件 hostapd.conf。