WPA3---SAE原理介绍

发布时间 2023-10-17 18:04:01作者: petercao

WPA3简介

WPA3---SAE原理介绍_wpa3-sae-CSDN博客

WIFI联盟2018.4月发布WPA3 V1.0版本,详细参见WIFI联盟官网 https://www.wi-fi.org/zh-hans/discover-wi-fi/security
背景:2017年10月份,有安全研究者公布了WPA2协议的一个弱点,会遭受到KRACK( Key Reinstallation AttaCK)攻击;攻击者可以获取STA和AP之间传输的数据,许多厂家已经发布相关补丁修复此漏洞;但是WPA2的形象和名声还是受到损害,因而WIFI联盟迅速推出了WPA3

WPA3对于个人和企业网络提供不同模式

  • WPA3-SAE 个人网络
  • WPA3-Enterprise 企业网络

WPA3优势:

  • 加密一致性:通过强制执行同时使用“先进加密标准(Advanced Encryption Standard,简称AES)”和传统协议(例如“临时密钥完整性协议(Temporal Key Integrity Protocol,简称TKIP)”)的政策,降低了网络遭受攻击的可能性;
  • 网络弹性:通过启用受保护的管理帧(Protected Management Frames,简称PMF)机制,防止窃听和假冒管理帧的行为,提供了可靠的保护。一致地使用这类保护措施可提高关键任务型网络的弹性。

WPA3-Personal
应用于个人网络的WPA3定义两种模式

WPA3-SAE Mode
其特点如下:

  • “对等实体同时验证(Simultaneous Authentication of Equals,简称SAE)”取代了“预共享密钥(Pre-Shared Key,简称PSK)”,提供更可靠的、基于密码的验证。WPA3-Personal通过证实密码信息,用密码进行身份验证,而不是进行密钥导出,从而为用户提供了增强的安全保护;
  • 要求AP和客户端支持PMF(管理帧保护),RSN IE中的必须支持管理帧保护(Management Frame Protection Required)”位=1

WPA3-SAE Transition Mode
其特点如下:

  • 过渡模式,允许逐步向WPA3-Personal网络迁移,同时保持与WPA2-Personal设备的互操作性,且不会干扰到用户;
  • 网络配置为能够支持PMF(“能够支持管理帧保护(Management Frame Protection Capable)”位=1和“必须支持管理帧保护(Management Frame Protection Required)”位=0),而不是必须支持PMF。
  • 过渡模式中,WPA3-Personal接入点(AP)在单个“基本服务集(Basic Service Set,简称BSS)”上同时支持WPA2-Personal和WPA3-Personal

WPA3-Enterprise
应用于企业网络
主要特点如下:

  • WPA3-Enterprise主要是定义并执行了提高一致性的政策,没有从根本上改变或取代WPA2-Enterprise中定义的协议
  • 对于PMF,同样存在必须支持或者能够支持两种配置
  • WPA3-Enterprise提供一种可选的192位安全模式,该模式规定了每一个加密组件的配置,以使网络的总体安全性保持一致
  • WPA3-Enterprise 192位安全模式采用:GCMP-256(256位Galois/Counter Mode Protocol),此时PMF是必选项

WPA3-Enterprise 192-bit Mode下运行的EAP加密认证方法

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    -ECDHE and ECDSA using the 384-bit prime modulus curve P-384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    -ECDHE using the 384-bit prime modulus curve P-384
    -RSA≥3072-bit modulus
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    -RSA≥3072-bit modulus
    -DHE ≥3072-bit modulus

不同字段的理解如下图:
在这里插入图片描述

PMF( Protected Management Frames)
IEEE802.11w定义了PMF,针对窃听和假冒为管理帧的行为提供可靠的保护
2012年,Wi-Fi Alliance首次推出PMF,当时PMF是WPA2的可选功能,后来成为所有Wi-Fi CERTIFIED™ ac设备的必选功能。现在,随着WPA3的推出,Wi-Fi Alliance规定在所有WPA3模式必须使用PMF,从而为包括“行动(Action)”帧、“断开关联(Disassociate)”帧和“解除验证(Deauthenticate)”帧在内的单播和组播管理帧提供了可靠的安全保护。

PMF对部分影响网络健壮性的管理帧和Action帧进行保护

  • Disassociation and deauthentication
  • Radio measurement action for infrastructure BSS (802.11k frames)
  • QoS action frame (802.11e frames)
  • 11v management frames (802.11v frames)

PMF的好处

  • 提供deauth/ Disassociation的保护。这防止一未经授权的用户通过伪装合法用户MAC地址启动服务拒绝(DoS)攻击和发送deauth/Disassociation帧。

WPA-SAE
SAE-对等实体同时验证,特点如下:

  • WPA3-Personal基于IEEE Std 802.11-2016中定义的SAE。SAE采用了“互联网工程任务组(IETF)”RFC7664规范中定义的“蜻蜓(Dragonfly)”握手协议,将其应用于Wi-Fi网络以进行基于密码的身份验证
  • Wi-Fi Alliance WPA3规范针对以SAE模式运行的设备定义了更多要求。SAE是一种密钥交换协议,仅用密码对两个对等实体进行身份验证,在两个对等实体之间产生一个共享密钥,通过公用网络交换数据时,该密钥可用来进行加密通信。这种方法可以安全地替代使用证书的验证方法,或者在不提供集中式验证机制时采用这种方法。
  • 在Wi-Fi基础设施网络中,SAE握手协议针对每个客户端设备协商新的“成对主密钥(Pairwise Master Key,简称PMK)”,然后该PMK用于传统Wi-Fi四路握手协议,以产生会话密钥。
  • 无论是SAE交换中使用的PMK还是密码证书,被动型攻击、主动型攻击或离线字典式攻击都不可能得到。
  • 密码恢复仅有可能通过重复进行主动型攻击实现,而且一次仅能猜测一个密码。
  • 提供了前向安全性;也就是说即使攻击者拿到密钥,也无法用于破解过去截获到的加密报文。

SAE的简单原理和实现描述:

  • 在Wi-Fi基础设施网络中,SAE握手协议针对每个客户端设备协商新的PMK,然后新的PMK用于传统Wi-Fi四路握手协议,以产生会话密钥。注意:以往都是直接用PMK进行四路握手协议,SAE会在PMK基础上产生新的PMK。
  • Beacon消息RSN IE中AKM取值为8,代表AP支持SAE Authentication 交互会发生2次,用来产生PMK
  • 提供前向安全,如果密码被破解,SAE握手协议确保PMK不能被恢复。如下图中,即使攻击者拿到密码算出R,也无法从vR或uR反推出v或u(此处的vR或uR的运算不是简单乘法,而是定义在有限域上的运算,这个无法反推u或v的性质是SAE协议的安全性的关键所在),因此无法合成出uvR; SAE的实现原理类似于下图:
    在这里插入图片描述

SAE:交互过程

  • 两次Authencation交互,产生的PMK用于后续的4-way握手
  • 双向commit/Confirm;commit用于提交计算PMK的素材,Confirm用于确认和验证双方计算正确;

在这里插入图片描述

SAE:PMK产生过程
以椭圆曲线ECC为例,注意下面的运算 * 是基于椭圆曲线的运算,而不是简单的加减乘除

  • 首先AP和STA都通过用户的密码映射到椭圆曲线的一个点element PWE
  • STA通过Authentication1 携带scalar(rand1+mask1),以及Element(-mask1 * PWE);注意:此处传递的rand1和PWE,相当于上面例子中的u和R,但是都通过mask给掩码了,所以攻击者无法直接读出u或R,接收着可以直接计算出u * R;
  • AP接收到消息后,先生成自己的rand2,然后使用KEY计算公式KEY=rand2 * ((rand1+mask1) * PWE-mask1 * PWE) =rand2 * rand1 * PWE;注意 rand2 * rand1 * PWE;相当于上面例子中的u * v * R;
  • AP再通过HASH_512函数F(KEY),生成最后的PMK和KCK;
  • 同样AP响应给STA的Authentication2消息携带类似的内容,帮助STA算出相同的PMK,KCK
  • STA再次发送Authentication3,携带confirm字段,内容是对双方之间交互过的信息(scalar1+element1+scalar2+element2+KCK)的HASH_256值
  • AP收到后,执行相同算法验证,确认STA使用的KCK是否正确;
  • AP也会发送Authentication4供STA验证;由于scalar/element计算顺序不一样,双方消息携带的confirme字段内容看起来不一样。

在这里插入图片描述

 


alps\packages\modules\Wifi\framework\java\android\net\wifi\WifiConfiguration.java
/** Security type for an open network. */
public static final int SECURITY_TYPE_OPEN = 0;
/** Security type for a WEP network. */
public static final int SECURITY_TYPE_WEP = 1;
/** Security type for a PSK network. */
public static final int SECURITY_TYPE_PSK = 2;
/** Security type for an EAP network. */
public static final int SECURITY_TYPE_EAP = 3;
/** Security type for an SAE network. */
public static final int SECURITY_TYPE_SAE = 4;
/** Security type for an EAP Suite B network. */
public static final int SECURITY_TYPE_EAP_SUITE_B = 5;
/** Security type for an OWE network. */
public static final int SECURITY_TYPE_OWE = 6;
/** Security type for a WAPI PSK network. */
public static final int SECURITY_TYPE_WAPI_PSK = 7;
/** Security type for a WAPI Certificate network. */
public static final int SECURITY_TYPE_WAPI_CERT = 8;


WPA3对于个人和企业网络提供不同模式

WPA3-SAE 个人网络
WPA3-Enterprise 企业网络


WPA3-SAE Transition Mode
其特点如下:

过渡模式,允许逐步向WPA3-Personal网络迁移,同时保持与WPA2-Personal设备的互操作性,且不会干扰到用户;
网络配置为能够支持PMF(“能够支持管理帧保护(Management Frame Protection Capable)”位=1和“必须支持管理帧保护(Management Frame Protection Required)”位=0),而不是必须支持PMF。
过渡模式中,WPA3-Personal接入点(AP)在单个“基本服务集(Basic Service Set,简称BSS)”上同时支持WPA2-Personal和WPA3-Personal