#1 楼
正如Thomas在评论中所指出的那样,在WPA-PSK中,各方已经有一个共享的秘密(预共享密钥),因此无需进行Diffie-Hellman密钥交换的步骤-除非您想要完美前向保密(PFS)(请参阅下面的更新)。在WPA中,客户端和访问点通过称为“ 4向握手”的步骤来验证另一方是否拥有预共享密钥并派生会话实际(加密/身份验证)用法的密钥。此步骤涉及双方的现时和一些密码计算,最终结果是:1)双方都可以验证另一方是否拥有共同的机密,并且2)双方都已导出了将使用的共享会话密钥进行实际的加密。
下图显示了此过程的步骤。请求方是客户端,而身份验证器是访问点。 PMK是共享的秘密。在典型的家庭用户设置中,PMK通常是从使用PBKDF的密码派生而来的(此密码是您在连接到无线网络时通常输入的密码)。 PTK是它们最终最终用于加密的派生密钥。
UPDATE
如注释中所述,上面的不能真正回答为什么WPA-PSK不使用DH。但是,在进行讨论之前,让我们澄清一下DH必须提供什么,而不是当前正在使用的东西,以及为什么使用预共享密钥会削弱其中一些优势。
我声称使用DH的一大优势在于,如果提供完美的前向保密性(PFS),而在同一WLAN上将用户彼此“隔离”的能力则更具争议。
首先,我们需要明确我们想要并且可以防御的攻击类型。
局外人,即不了解PSK的攻击者:如果PSK包含足够的熵(或者是从大的密钥空间完全随机抽取,或者是从足够长的/复杂的密码派生而来的),并且PSK保持安全且永不泄漏,则DH不提供当前解决方案中的所有内容。
但是,如果PSK丢失或由于弱密码而派生,则当前系统已完全损坏。原因是会话密钥完全来自PSK,因此任何知道此密钥的人都可以解密所有流量。更糟糕的是,由于它不提供PFS,因此攻击者还可以返回对以前所有流量的解密。 DH的使用将防止这种情况。由于实际上大多数家庭WLAN使用弱密码来导出PSK,因此DH确实是升级。
内部人员,即攻击者知道PSK:现在考虑攻击者知道PSK的情况。那么握手能提供什么呢?如上所述,对于当前的系统,答案是什么。那DH呢?假设在这种情况下,PSK仅用于验证DH交换(例如使用MAC),则DH仍然可以提供针对被动攻击者的安全性,而不能针对主动攻击者提供安全性。为什么?在被动情况下,攻击者必须中断DH交换,我们认为这是很难解决的。另一方面,在活动方案中,攻击者可以伪造有效的握手消息,因此可以进行经典的MitM攻击。因此,在形式安全模型中采用的典型保守方法下,我们可以得出结论,由于我们始终假定攻击者处于活动状态,因此DH在当前方案上没有任何安全利益。但是,在实践中,进行主动的MitM攻击有时可能很棘手。因此,使用DH大大增加了攻击者的成本和难度。由于它迫使他在握手过程中主动出现,因此也可以防止大规模的被动监听。
综上所述,在提供PFS的意义上,使用DH将带来巨大的好处。而且,只要攻击者保持被动,它也可以为内部攻击提供一定程度的保护。
那4WHS为什么不设计成不能使用DH?参与了IEEE 802.1i标准的设计决策。
我猜想在设计WPA(或更正确地说是IEEE 802.11 RSNA)时,PFS的价值可能还没有被完全意识到。从NSA的启示来看,我们现在当然很容易理解它的重要性,但是那时可能还不那么清楚。因此,如果您不需要PFS,并且协议中已经有可用的PSK,则不使用DH的原因很简单:效率。对称原语比公钥原语有效得多,因此,如果您仅使用它就可以摆脱困境,那么选择就是显而易见的。
*顺便说一句,IEEE 802.11标准实际上确实支持基于DH的密钥交换,该密钥交换建立在名为Dragonfly的基于密码的AKE上。但是,仅当网络处于临时模式时才使用此变体。
评论
$ \ begingroup $
如果我嗅探4向握手并知道PSK,那么我可以解密其他连接吗?如果是,那么Diffie-Hellman应该避免这种情况吗?我经常与朋友分享我的PSK密码,但我没想到他们会嗅到我的流量。
$ \ endgroup $
–迈克尔
2013年1月7日14:55
$ \ begingroup $
Michael已经提出了一种提供更强安全性的方法:Diffie-Hellman交换。这将要求攻击者主动执行中间人攻击,而不是启动Wireshark并进入PSK。我也想知道为什么他们没有那样实现它。
$ \ endgroup $
–lxgr
13年2月17日在18:30
$ \ begingroup $
我不明白为什么这是公认的答案。虽然确实提供了关键机构情况的概述,但并未回答问题。我同意@lxgr:在知道PSK的攻击者的面前,似乎不使用DH很奇怪。此时,PSK并不是秘密。
$ \ endgroup $
– Joost
15年8月6日在10:04
$ \ begingroup $
@Joost我同意你的看法。我已经相应地更新了答案。希望这是更多的重点。
$ \ endgroup $
– hakoja
2015年8月6日13:19
$ \ begingroup $
@notJim是的,这就是您要做的。假定攻击者可以访问PMK,则它与合法AP之间没有区别。至于起飞的难度,通常很难说,但是在像您提到的酒店或咖啡馆这样的场景中,WiFi Pineapple之类的东西似乎很受欢迎并且易于使用。
$ \ endgroup $
– hakoja
17年8月1日在7:45
#2 楼
这是未加密开放WIFI的同一原因。这是可行的,我们拥有技术和手段,但是问题出在我们作为人类的低效率本质上。使用Diffie-Hellman / RSA是完全合理的,但是有人决定对其进行标准化以非最佳方式。世界效率低下,标准运行速度比山脉慢,全世界各个领域都采用了许多次优解决方案,而不仅仅是密码学。
在PSK中,任何知道预共享密钥和窃听4次握手的用户将获得未加密的访问权限。使用Diffie-Hellman / RSA加密技术可以消除这种缺陷。
此外,实现WPA-Enterprise身份验证级别就像检查无线站的公钥签名一样简单。那会阻止MITM。一个简单的示例是路由器上的一个小LED屏幕,显示公共密钥签名。用户首次连接到热点时,必须确认公共密钥签名正确。如果签名将来更改,则用户会收到安全警告。 LED屏幕只是一个例子,可以通过多种方式将密钥签名传达给用户。
有些评论指出Diffie-Hellman / RSA是多余的,因为您已经有了密钥。这是一个错误的陈述,因为在这种情况下,Diffie-Hellman / RSA提供了明显的优势,因此不是多余的。阿尔伯特·爱因斯坦(Albert Einstein)会喜欢RSA / Diffie-Hellman的WPA。 -艾伯特·爱因斯坦
评论
$ \ begingroup $
使用共享机密可以使恶意成员站MITM在AP及其对等方之间进行DH密钥交换(和后续通信)。尽管执行此类MITM可能会遇到挑战(例如,您必须阻塞对等端与AP之间的合法信号),但在恶意成员站的情况下,公共密钥交换不能提供良好的密码隔离。与您的建议相反,只有WPA /企业可以提供此建议(站点之间没有共享的公共秘密)。 DH仅起到增强共享机密的作用,并迫使第三方攻击针对AP而不是离线进行主动攻击。
$ \ endgroup $
– Stubabe
2013年11月1日19:28
$ \ begingroup $
您所描述的内容是否适用于RSA?
$ \ endgroup $
– Hello World
2014年1月30日下午5:52
$ \ begingroup $
我可以从应用加密功能打开WiFi的一些研究中得到一些提示吗?
$ \ endgroup $
–琼
16-10-18在11:46
$ \ begingroup $
如果通信协议旨在提供尽可能高的安全性,那么我们将没有通信协议。无论您设计哪种加密算法,提出一个更安全的算法总是很简单的。
$ \ endgroup $
–德米特里·格里戈里耶夫(Dmitry Grigoryev)
17年4月10日在11:31
#3 楼
将DH与全网PSK签名的公共密钥一起使用不会阻止站点相互执行MITM攻击。此外,如果PSK较弱,对应用于公钥的签名进行暴力攻击可能是可行的离线策略。在确定PSK之后,未授权的第三方可以使用MITM攻击来解密合法流量。尽管从无线电角度来看这在技术上具有挑战性(从无线电角度来看),但与现有的PSK方法相比,它似乎在完美的前向保密性上几乎没有增加任何保护。当然,站点仅应在与AP的第一个关联上进行一次DH交换,但是存在开放问题,即缺少WiFi管理帧的身份验证(例如,欺骗失败的关联响应)和用户不足AP上的交互(例如,与蓝牙配对不同)会打开一个攻击向量,以按需诱导DH交换(如目前使用4向握手的方式)。总之,具有PSK签名的DH因此增加了对系统执行攻击的成本和复杂性,但是与其他设计更为安全的协议(例如IPsec)相比却相去甚远。
考虑WPA-Enterprise为每个用户提供键控和隔离功能(具有正确的EAP选择),暴力恢复能力,甚至可能在会话间提供PFS。它提供了与PSK-DH相同的所有相同功能,并具有更好的访问管理功能(可以从系统取消对用户的授权,而无需重新输入密钥,并且可以将用户限制为某些登录时间甚至特定VLAN)。我知道为什么WPA-PSK被降级为低成本/复杂性的消费者选择。很少有人关心隐私(而不是仅仅停止邻居的免费下载),他们显然可以选择更好的PSK并使用单独的访客网络。提到公关,销售和利润率的“世界”是驱动许多这些规范的原因。
#4 楼
由于WPA Krack漏洞,现在适合对此线程进行更新。当然,四向握手不足以保护诸如WPA之类的协议。展望未来,对Krack的任何补救措施都可能包括用DH替代四向握手。同样,密钥交换是密码学中的关键组成部分。评论
$ \ begingroup $
为什么需要更新答案?协议没有改变。为什么4WHS不够?为什么使用DH可以解决任何问题?
$ \ endgroup $
– SEJPM♦
17-10-16在20:21
#5 楼
WPA2或IEEE 802.11i-2004于2004年问世。当时最快的intel处理器是奔腾4。以下是2006年左右的一些基准测试: org / web / 20061201042628 / https://www.cryptopp.com/benchmarks.html
DH 2048密钥协议13.66
(每操作毫秒)
进行两方握手需要花费两倍的时间。所以27毫秒。但是,这假设您愿意为路由器使用五十瓦处理器。嵌入式处理器的功能至少要强大十分之一,因此至少要多十倍的时间。
但是,数字信号处理器广泛使用乘法器,因此可以说,如果您正在联网,还可以进行一些公钥加密。
评论
如果您已经共享了一些秘密数据(如“预共享密钥模式”所暗示的),则无需执行公共密钥交换。您可能只是交换一个随机数,以就派生的加密密钥达成共识并按自己的方式行事。@托马斯我有几个不同意。 1)密码熵通常很低,因此仅将它们用于身份验证而不用于机密性似乎是适当的。2)转发保密3)共享WiFi网络的所有用户都可以读取彼此的流量。使用结构良好的协议,攻击必须是主动的,甚至可能绑定到访问点的密钥,并在更改时发出警告。
@CodesInChaos我想澄清一下您的评论,因为它的措词似乎很容易被误解。共享WPA / WPA2 PSK WiFi网络的所有用户都无法读取彼此的流量,除非他们从另一个客户端会话的开始就进行了四次握手。 PTK是从PMK派生的,但它也通过SNonce,ANonce和双方的MAC地址添加了熵,它们在4次握手中交换。 WPA / WPA2 PSK wifi网络上的所有客户端唯一可以解密的是多/广播数据包(请参阅:GMK / GTK)。
@Steel City Hacker但是,发送伪造的DEAUTH强制另一个站点在任何时候发起另一个4向握手都是很简单的。因此,尽管您的陈述在技术上是正确的,但实际上区别并不重要。
@Stubabe同意。如果您不使用802.11w,那么取消认证就是小菜一碟。话虽这么说,但我从未真正看到公司使用802.11w。