哪个更强大 - 具有 2048 位密钥的 WPA2 企业版或具有 63 个字符密码的个人版?

信息安全 密码学 无线上网 wpa2 wpa2-eap wpa-企业
2021-09-07 06:49:13

以下两项中哪一项在抵御暴力攻击方面具有更强的加密强度?

  • 使用 2048 位 RSA 公钥的 WPA/WPA2 Enterprise
  • WPA/WPA2 个人使用 63 个字符的密码
1个回答

彻底搜索的安全性

忽略每个协议的优缺点,只关注暴力攻击的难度,答案是它们都是相同的。这样做的原因是两者之间的唯一区别是密钥的派生方式。使用 WPA2 Enterprise 时,会生成一个随机的 128 位密钥,并使用公钥加密进行交换。对于使用任意长度密码的 WPA2 Personal,128 位密钥是使用称为PBKDF2的密钥加强算法从密码本身派生的。*不管它是如何生成的,会话密钥的密钥空间最多为 2 128对于 63 个字符的随机密码,使用会话密钥的整个 2 128个密钥空间。

密码分析的安全性

另一方面,如果您指的是任何类型的密码分析攻击,答案是使用 RSA 2048 的 WPA2 Enterprise 选项提供的安全性较低。RSA 2048大约相当于112 位密钥。这样做的原因是攻击 RSA 不是使用蛮力完成的,而是通过尝试分解一个非常大的复合数来完成的。RSA 使用所谓的整数因式分解问题,这是一个数学问题,它指出,虽然将两个巨大的素数相乘很容易,但将得到的合数因式分解回原来的两个素数是非常非常困难的。

对大数进行因式分解的最有效算法称为GNFS,它比穷举搜索要快得多,但计算量仍然太大而无法在现实的半素数上执行。另一方面,当您使用 63 个字符的密码时,PBKDF2 使用HMAC-SHA1 的 4096 次迭代将其直接转换为 128 位密钥。如果从具有 95 个可打印键的美式键盘中随机选择 63 个字符的密码,它给出的键空间为 95 63,远大于 2 128(它具有与 log 2等效的安全性(95 63) ≈ 413.9 位)。因为会话密钥只有 128 位,所以没有使用 63 个密钥的整个密钥空间,只使用 128 位会话密钥的密钥空间。

实践中的安全

在实践中,使用公钥加密的 WPA2 Enterprise 更安全。这并不是因为使用密码分析进行攻击更难,而是因为它提供了其他安全优势,例如前向保密,这确保了破坏一个会话的攻击者将无法追溯解密先前记录的会话,因为每个密钥都是为每个会话随机生成。另一方面,WPA2 Personal 使用密码短语来派生密钥,只要密码短语保持不变,任何在该密码短语下加密的数据都可以在您知道它是什么后立即被解密。因为 WPA2 Enterprise 允许完全随机生成密钥,所以不存在使用可能被破解的不良密码的风险。

在多个设备之间维护一个完全随机的 63 个字符的密码通常并不容易。如果您正在使用从美国键盘的完整95字符集,你只需要20个随机字符,以充分利用加密的密钥空间整体,95 20仅仅略高于2 128添加更多字符仅在您希望它们不是完全随机的情况下才有用。

您应该知道WPA3 已经发布它是一种新协议,极大地提高了无线安全性。它甚至在开放网络上也提供个性化加密,让人们可以安全地使用酒店和机场热点而不必担心被动窃听,并允许人们与客人共享他们的密钥,而无需让他们读取他们的流量。它通过将用户提供的密钥与加密分离来实现这一点。换句话说,您提供的密钥用于对热点进行身份验证。公钥加密将自动生成每次使用的随机会话密钥。WPA3 还具有其他改进,例如更大的 192 位密钥。该协议将在 2018 年期间慢慢推广到新设备。

请注意,我假设 WPA2 配置为使用在CCM 模式下使用 AES128 的CCMP ,而不是使用更弱的RC4 流密码的损坏的TKIP 。

* 比这稍微复杂一些。PSK 在经过 PBKDF2 后不会直接插入密码。取而代之的是,依靠 PSK 的保密性进行4 次握手。可以说,PSK 的知识允许任何捕获流量(包括 4 次握手)的人解密会话。

整数分解是数学中的一个开放问题。有可能会发现一种经典算法,它可以在多项式时间内分解一个大的半素数。此外,运行Shor 算法的量子计算机将在多项式时间内完成这项工作。生产中没有众所周知的密码分析量子计算机。