Wi-Fi 新标准 WPA3 蜻蜓 (Dragonfly) 密钥交换协议剖析

访客4年前黑客文章1065

在2018年1月8日英国拉斯维加的国际性电子展会(CES)上,Wi-Fi联盟公布了全新的WPA3数据加密协议,做为WPA2技术性的的事后版本号,并在2018年6月26日,WiFi联盟公布WPA3协议已最后进行。与WPA3有关的最关键的文本文档为RFC7664,在其中叙述的是WPA3中较大 的改善,便是将原先的四次挥手协议换为了新的“蜻蜓密匙交换协议”(Dragonfly Key Exchange),该协议将认证和密匙交换2个作用生成于一个协议。称为能够处理WPA2中未处理的好多个安全隐患:

1.线下密码破解工具——得到WPA2的四次握手包就可以开展线下词典进攻,破译无线密码。

2.分享安全性(Forward Secracy)——已经知道4次挥手和无线密码的状况下,能够破译总体目标的全部通讯总流量。

3.KRACK等别的已经知道进攻方式。

因为WPA3还并未普及化,要来现阶段不管群众還是有关科学研究工作人员对WPA3的协议的执行关键点孰知应当并不是很多,因此 小编在认真阅读RFC7664文本文档后,在此篇里将做详尽的剖析探讨,及其强调很有可能的进攻方式,供别的有关科学研究工作人员参照。

WPA3介绍

这节中大家简易介绍一下WPA3有关的基础知识,在WPA2的基本上探讨在WPA3协议中干了什么重要改善及其改善后在安全性层面会有什么提高。

依据Wi-Fi联盟官方发布的文本文档,WPA3依然分成WPA3个人级和WPA3公司级二种规范,在其中,WPA3公司级认证与WPA2对比区别并不大,只是将密钥长短提升到192位(WPA2应用的是128位的数据加密密钥)依然选用EAP-SSL,EAP-SIM/EAP-AKA这类的根据认证 *** 服务器的认证方式。

那麼本次协议改善较大 的地区在哪儿呢?没有错,修改较大 的地区便是WPA3个人级相对性于WPA2本人级的改善,依据官方网的叫法,WPA3个人级有以下好多个提高:

1.更强的根据登陆密码的认证安全性(官方网宣称即便 客户应用明文密码,依然能够获得优良的维护。)

2.应用相等同歩认证——一种更安全性的机器设备间密钥交换协议,即蜻蜓协议,能够避免 通通讯总流量被监听,即便 被 *** 攻击获得了挥手全过程,也没法破译总流量。

3.密钥长短拓展到192位。

在其中官方网声称的之一点创建的基本便是由于引进了蜻蜓密匙交换协议,该协议创作者在该协议的表明中宣称能够防止线下词典进攻,这一点应当便是之上之一上述的可维护明文密码的基本原理。对于3,实际上128位的对称性密钥早已充足,这里提高只是有理论上的安全性提高。来看WPA3上最显著的改善便是更换了密钥交换优化算法,在下面的章节目录中大家就主要剖析一下这一蜻蜓优化算法。

WPA2-PSK回望

在逐渐剖析蜻蜓优化算法以前,为了更好地更合理的比照WPA2和WPA3密钥交换优化算法的差别,这儿先简易介绍一下WPA2协议中机器设备入网许可证认证的全过程,见下面的图。

实际上一次详细的WPA2入网许可证全过程中,在图中上述的密钥交换全过程以前还必须3次互动,分别是手机客户端发送Probe Request, *** 服务器回复Probe Response,手机客户端发送Authentication Request *** 服务器回复Authentication Response,然后手机客户端发送Association Request, *** 服务器回复Association Response,然后逐渐图中所显示密钥交换全过程。密钥交换全过程分成以下两步:

1.AP发送一个随机数字AP Nonce给STA,STA根据AP的ESSID,及其自身的MAC地址,AP的MAC地址,PSK,AP发送的随机数字及其自身形成的STA Nonce,这6个主要参数形成PMK和PTK。

2.STA发送之一步形成的随机数字STA Nonce给AP,并应用上一步形成的PTK形成该数据文件的信息校检值MIC附在数据文件后边发送给AP,AP根据包含STA Nonce以内的一样6个主要参数形成自身的PMK和PTK,并且用PTK校检STA发送的数据文件的MIC值是不是搭配,假如搭配则表明PSK恰当认证根据。

3.AP将组密钥(即GTK用以数据加密广播节目及其组播包的密钥)用PMK数据加密并另附MIC发送给STA。

4.STA校检MIC后装进GTK并回应ACK,密钥交换完毕逐渐数据加密通讯。

如果你觉得之上写的太担心,为了更好地照料大伙儿专此另附编码:

#!/usr/bin/env python

import hmac

from hashlib import pbkdf2_hmac,sha1,md5

def PRF(key,A,B):

nByte=48

i=0

R=''

while ( i 8 159)/160)):

hmacsha1=hmac.new(key,A "\\x00" B chr(i),sha1)

R =hmacsha1.digest()

i =1

return R[0:nByte]

def MakeAB(aNonce,sNonce,apMac,cliMac):

A="Pairwise key expansion"

B=min(apMac,cliMac) max(apMac,cliMac) min(aNonce, sNonce) max(aNonce, sNonce)

return (A,B)

def MakeMIC(pwd,ssid,A,B,data,wpa=False):

pmk=pbkdf2_hmac('sha1',pwd,ssid,4096,32)

ptk=PRF(pmk,A,B)

hmacFunc=md5 if wpa else sha1

mics=[hmac.new(ptk[0:16],i,hmacFunc).digest() for i in data]

return (mics,ptk,pmk)

def calcKey(essid,psk,apMac,cliMac,data0,data1,data2,data3):

ssid=essid

#print ssid

aNonce=data0[17:17 32]

#print aNonce.encode('hex')

sNonce=data1[17:17 32]

#print sNonce.encode('hex')

apMac=apMac.replace(':','').decode("hex")

cliMac=cliMac.replace(':','').decode("hex")

相关文章

微信自媒体怎么赚钱?自媒体是如何赚钱的

微信自媒体怎么赚钱?自媒体是如何赚钱的

很多人想通过自媒体赚钱,因为自媒体能让我们迅速变成高富帅,以微信公众号为首的自媒体人在过去的三四年里,更是涌现出了很多百万富翁,仅仅依靠粉丝经济一年的收入都是非常高的。   而如今却是一片红海...

生石灰是什么?土壤撒生石灰是为了什么?

生石灰是什么?土壤撒生石灰是为了什么?

生石灰是什么(土壤撒生石灰是为了什么?)提要:生石灰是如何给土壤消毒的? 土壤连茬种植,不进行轮作倒茬,会使土壤中的病菌和虫害地卵连续积累,严重影响了种植的发展,尤其是大棚种植,棚内长期处于高温、高...

做SEO优化如何挖掘关键词

做SEO优化如何挖掘关键词

我们在做SEO优化的时候,最基本的就是挖掘自己需要的关键词,然后更具自己需要的关键词来优化。那么我们做SEO优化如何挖掘关键词呢?我在这里整理了几个细节,希望文章对做SEO的朋友有所帮助。 一、确定...

天猫国际海外旗舰店是正品吗(深度评测其商品质量)

天猫国际海外旗舰店是正品吗(深度评测其商品质量)

本性疑神疑鬼的同学们能够忽略文中。终究,做什么事情全是有风险性的,收益一般 是给敢于抢鲜的人的奖赏。 海外购发展趋势了那么两年,很多电子商务海淘我国的受欢迎场景沒有如想像中进行,反倒是多了许...

黑客的大写怎么写(黑客帝国拼音大写)

黑客的大写怎么写(黑客帝国拼音大写)

本文目录一览: 1、黑客,红客,骇客的英文怎么写?拜托各位了 3Q 2、设置密码用8一18位数字,字母,小写字母,符号至少三种,怎样写? 3、黑客的英文缩写? 4、黑客是什么 黑客,红客...

俄罗斯黑客星(白俄罗斯黑客)

俄罗斯黑客星(白俄罗斯黑客)

本文导读目录: 1、俄罗斯黑客超级厉害,为什么整体IT业却不发达? 2、给我介绍一下世界各国的有名黑客事迹 3、为什么俄罗斯盛产黑客,到底是怎么回事呢? 4、俄罗斯的黑客是不是很牛?...