Web 身份验证实际上更像是一种限制/允许访客在无需额外客户端配置即可连接的清晰网络上访问的方法。它并不意味着提供安全访问的一种方式。
因此,除非客户端仅使用加密会话(HTTPS、SSH、SFTP、VPN 等),否则使用 PSK 比使用 Web 身份验证要安全得多。
编辑扩展问题: 一般来说,以任何方式连接到网络的客户端都不会“捕获”空中的任何流量。捕获流量的攻击者将不会连接到网络。
如果客户端设备连接到没有加密的 SSID,则该区域内的任何人都可以在有数据传入/传出客户端时“监听”。任何未通过其他方式加密的数据都可以被想要这样做的人轻松解码。完全清楚,“L3 Web 身份验证”不提供加密。特别是为了回答您的问题,是的,任何人都可以使用 Web 身份验证在开放/清晰的 SSID 上捕获流量,无论他们是否拥有用户名/密码,或者是否使流量像您的示例 HTTP 或打印流量一样易受攻击。
PSK 实际上并不用于加密数据,而是用作公共参考框架(或起点)以允许设备协商用于加密的密钥材料。拥有 PSK 将不允许您解密数据。但是,正如 BatchyX 指出的那样,如果您拥有 PSK并捕获握手,因为您与其他设备(即 PSK)具有相同的“起点”,您将能够获取密钥材料并使用解密任何数据那个键控材料。这为外部人员捕获数据提供了更少的可见性,因为他们需要 PSK 和握手才能这样做。一个没有另一个是不够的。
至于通过捕获握手来获取 PSK,这有点复杂,但可以做到。基本上,这是一种“蛮力”类型的攻击,攻击者对握手使用不同的 PSK 值,直到他们找到一个允许他们理解完整握手的值。一旦他们有了这个值,他们就可以轻松地解密他们捕获握手的任何其他连接。虽然这是一个简单的描述,但如果您使用 WPA2/AES 没有“通用”、简短或字典 PSK,请知道这不太可能发生。
如果您想要一种无需客户端证书的更好方法,那么最常见的方法是使用 EAP-PEAP-MSCHAPv2 的基于 802.1X 的 WPA2-Enterprise。这仅需要服务器端证书,但配置客户端(尽管这在过去几年中对于许多设备来说已经变得更好)以针对 RADIUS 服务器进行身份验证是一个更复杂的过程。这不仅使每个用户的密钥材料不同,而且每个会话也不同。
在您的咖啡店场景中,我建议将 WPA2-Enterprise SSID 用于“公司”设备。至于客户访问,带有 Web 身份验证或 PSK 的第二个 SSID 提供了一种限制访问的机制。通常大多数公共场所都采用网络身份验证,因为它们可以有一种机制来提供“使用条款”协议,以在法律意义上涵盖自己。他们把它留给客户来提供他们自己的数据保护。