Wi-Fi feature to crypto mapping
本页将 Zephyr 支持的 Wi-Fi 功能(通过基于 hostap 的 wpa_supplicant)映射到底层 MbedTLS crypto 原语。可用它查看哪些功能需要 bignum、ECDH、TLS 等,以及在启用 CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA 时,哪些代码路径使用 Legacy crypto (MbedTLS 旧版 API)而非 PSA crypto (Platform Security Architecture API)。
实现位于 hostap 模块中:crypto_mbedtls_alt.c (通用 crypto)和 tls_mbedtls_alt.c (TLS/EAP)。此处仅考虑 MbedTLS 后端。
功能集(来自 hostap Kconfig)
功能由 Kconfig 控制。相关选项包括:
CONFIG_WIFI_NM_WPA_SUPPLICANT_WEP—— WEP(旧版)CONFIG_WIFI_NM_WPA_SUPPLICANT_WPA3_COMMON—— 选择 Internal 或 External 时启用 WPA3-SAE(WIFI_NM_WPA_SUPPLICANT_WPA3_IMPLEMENTATION;默认为 Internal)。CONFIG_WIFI_NM_WPA_SUPPLICANT_WPA3没有提示,并且在选择 Internal 时启用内部 bignum SAE 路径(请在prj.conf中设置实现选择,而不是此符号)。CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP—— Wi-Fi Easy Connect(DPP)CONFIG_WIFI_NM_WPA_SUPPLICANT_WPS—— Wi-Fi Protected Setup(Wi-Fi 保护设置)CONFIG_WIFI_NM_WPA_SUPPLICANT_P2P—— P2P / Wi-Fi Direct(隐含 WPS)CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE—— EAP(EAP-TLS、EAP-TTLS-MSCHAPV2、EAP-PEAP-MSCHAPV2、EAP-PEAP-GTC、EAP-PEAP-TLS)
只要 crypto 未设置为 CRYPTO_NONE,WPA2-PSK 和 WPA2-PSK-256 就可用。
功能 → crypto 原语(MbedTLS)
备注
必须使用 CONFIG_WIFI_NM_WPA_SUPPLICANT_WEP 显式启用 WEP。它已弃用且不安全;仅用于旧版网络。
摘要:Legacy 与 PSA 对比(MbedTLS 后端)
启用 CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA 后,crypto_mbedtls_alt.c (以及 supp_psa_api.h / supp_psa_api.c)中的实现按如下方式划分。可使用此表查看哪些操作使用 PSA 而非 Legacy MbedTLS。
因此:WPA2-PSK 和 WPA2-PSK-256 的 crypto 仅使用 PSA;WPA3-SAE 、DPP 、SAE-PK 、WPS 和 Enterprise EAP 仍依赖旧版 bignum、EC 或 TLS。有关每项功能的影响,请参见上方的功能表。