1. 802.11 Security Technology
Wi-Fi安全加密的演进下图所示,当前最新的加密方式是WPA3。WPA3对现有网络提供了全方位的安全防护,增强了公共网络、家庭网络和802.1X企业网的安全性。
1.1 加密机制
1.1.1 加密认证机制
WEP
WEP 64-bit/128-bit Passphrase
WPA2-Personal
WPA2-Enterprise
WPA3-Personal
WPA3-Personal only mode
WPA3-Personal transition mode
WPA3-Enterprise
WPA3-Enterprise only mode
WPA3-Enterprise transition mode
1.1.2 企业级加密证书政策
EAP-TLS
EAP-TTLS/MSCHAPv2
PEAPv0/EAP-MSCHAPv2
PEAPv1/EAP-GTC
EAP-SIM
EAP-AKA
EAP-AKA-Prime
1.2 加密算法
ARC4算法(流密码)
WEP/TKIP加密协议均采用ARC4算法
AES算法(分组密码)
CCMP加密协议采用AES算法
SM4算法
WAPI加密协议采用SM4算法
1.3 静态WEP加密
WEP是一种使用ARC4流密码的二层加密机制。有64-bit和128-bit两种,64-bit WEP称为WEP-40,128-bit WEP称为WEP-104。64位的WEP由40位的静态密钥和24位的初始化向量(IV)构成。无线接口的驱动程序负责选择IV,并以明文形式发送,每一帧都会创建一个新的IV。由于总共只有2^24(16777216)种不同的IV组合,因此所有的IV值在重复一段时间后必定重复。对于64位WEP而言,40位的静态密钥与24位的IV混合后的有效密钥长度位64位;对128位WEP而言,104位的静态密钥与24位的IV混合后的有效密钥长度位128位。
静态WEP密钥通常为十六进制字符或ASCII字符,接入点和客户端的静态密钥必须匹配。40位的静态密钥由10个十六进制字符或者5个ASCII字符构成,而104位的静态密钥由26个十六进制字符或者13个ASCII字符构成。
1.3.1 WEP工作原理
WEP不需要四步握手,WEP的工作原理具体如下所示:
WEP对需要加密的明文数据执行循环冗余校验(CRC),然后将完整性校验值(ICV)附加到明文数据的末尾;
WEP生成一个24位的明文IV,并于静态密钥混合;
WEP使用静态密钥和IV作为种子,通过伪随机算法产生一系列密钥流的随机数据比特,密钥流的长度与需要加密的明文数据相同;
对密钥流与明文数据比特进行异或运算,输出即为WEP密文,也就是加密数据;
为加密数据添加明文IV作为前缀。
2. 强健安全机制-RSN
802.11标准
WiFi联盟认证
身份验证机制
加密机制
密码算法
密钥生成
Pre-RSNA
Open System
开放系统(Open System Anthentication)
WEP
开放系统(Open System Anthentication)
WEP64
WEP128
ARC4
ARC4
静态
共享密钥(Shared Key Authentication)
WEP64
WEP128
ARC4
ARC4
静态
RSNA
WPA-Personal
Pre-shared Key Authentication
TKIP
CCMP
ARC4
ARC4
动态
WPA2-Personal
Pre-shared Key Authentication
TKIP(可选)
CCMP(强制)
ARC4(可选)
AES(强制)
动态
WPA3-Personal
Simultaneous Authentication of Equals(对等实体同时验证)
CCMP(强制)
AES(强制)
动态
WAPI
WAPI
Pre-shared Key Authentication
SMS4
ECC192
2.1 预共享密钥身份验证(WPA/WPA2-PSK)
WPA/WPA2-Personal使用预共享密钥机制,支持终端用户输入长度为8~63个字符的ASCII字符串为密码,而系统的密码短语-预共享密钥映射(passphrase-to-PSK mapping)函数负责将密码转换为256位的预共享密钥。其函数如下所示:
PSK = PBKDF2(passPhrase, ssid, 4096, 256/8), 将passPhrase与SSID混合后再进行4096次散列运算,生成256位(64个字符)的预共享密钥。
WPA/WPA2-Personal的成对主密钥(PMK)等于预共享密钥(PSK)。
2.2 对等实体同时验证(WPA3-SAE)
WPA3-Personal用“对等实体同时验证(Simultaneous Authentication of Equals,简称SAE)”替换了WPA2-Personal中使用的“预共享密钥(Pre-Shared Key,简称PSK)”,从而提供了更加可靠的基于密码的身份验证。WPA3-Personal通过SAE握手,为每个客户端协商一个新的“成对主密钥(Pairwise Master Key,简称PMK)” ,然后将其用于传统的Wi-Fi四步握手,以生成会话密钥。WPA3-Personal通过证实密码信息,利用密码进行身份验证,而不是利用密码进行密钥派生,从而为用户提供了更加强大的安全保护。
WiFi联盟推出针对SAE的互操作认证项目,部分内容如下:
SAE禁止使用WEP和TKIP;
出于过渡方面的考虑,同一个BSS必须支持WPA2个人版和SAE;
出于过渡方面的考虑,WPA2个人版设备和SAE设备应使用相同的密码短语。
2.2.1 WPA3-SAE
SAE的握手协议又称为蜻蜓(Dragonfy)协议,蜻蜓协议的核心算法是迪菲 一 赫尔曼密钥交换(Diffe-Hellman Key Exchange, DHKE)协议,该协议是美国密码学家惠特菲尔德·迪菲和马丁·赫尔曼在1976年合作发明并公开的,它被广泛用于多种计算机通信协议中,比如SSH、VPN、HTTPS等,堪称现代密码基石。在介绍SAE协议之前,先看下迪菲 — 赫尔曼密钥交换协议交换生成过程,如下图所示:
Note: 关于DHKE日后再专门单独介绍。
2.2.1.1 WPA3 SAE Message Flow
WPA2: Password -> PMK -> PTK
WPA3 v1: Password -> PWE -> PMK -> PTK
WPA3 r3: Password -> PT -> PWE -> PMK -> PTK
2.2.1.1.1 beacon frame
Cipher suite selectors:
2.2.1.1.2 Algorithm number
Note that Authentication Algorithm number is 3, which is used for SAE. Below shows different Auth Algorithm numbers used in WiFi(hostapd.conf auth_algs).
AP and client both need each other’s Scalar and Finite Field values to generate PMK, and the first Auth Sequence carries these information on behalf of the client.
2.2.1.3 OWE Message Fow
2.3 无线局域网加密
IEEE 802.11标准定义了适合数据链路层的4种加密机制,他们是WEP、TKIP、CCMP、GCMP。这些二层机密机制用于保护第三~七层的数据。
2.3.1 AKMP(Authentication and Key Management Protocol, 身份验证和密钥管理协议)
加密类型如下图所示,下图来自hostapd code:
2.3.2 加密机制
机密机制如下图所示,下图来自hostapd code:
3. 4-way handshake
扫描,scan
认证,authentication
关联,association
EAPOL 4次握手,4-way handshake
3.1 Key层次
3.2 4-way handshake
RSN和RSNA要求两台终端必须验证彼此的身份并建立关联,然后通过四次握手生成动态加密密钥。如图是四次握手的过程:
动态加密密钥生成与身份验证之间存在共生关系。PMK为四次握手提供种子,而四次握手将生成任何两个802.11无线接口使用的唯一动态加密密钥。
RSNA过程会主动创建两把主密钥:组主密钥(GMK)和成对主密钥(PMK)。GMK和PMK作为种子材料,用于生成实际加密和解密数据所需的动态密钥。最终的加密密钥称为成对临时密钥(PTK)和组临时密钥(GTK)。PTK用于加密并解密单播流量,而GTK用于加密并解密广播和多播流量。
3.2.1 4-way handshake Sniffer
[注意]:
Probe Request, Probe Response, Authentication, Association Request, Association Response均为管理帧;EAPOL Key Message 1-4均为数据帧。
3.2.2 PTK
最终的加密密钥称为成对临时密钥(PTK)。
3.2.3 GTK
GTK是由GMK生成的,长度位128位。每次SAT连接SAP时都要重新生成。
3.3 group key handshake
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_47877869/article/details/136297808