IEEE 802.11i-四次握手获取共享**

四次握手获取共享**

1、**推导

IEEE 802.11i-四次握手获取共享**

 从上图可以看出,成对主钥PMK,使用申请者和认证者的MAC地址和nonce随机产生一个数值,并拆分为不同的**。

成对**层次结构中,各**的推导方法如下:

(1)      PMK:PMK由预先共享**(PSK)直接得到,或由主会话**(MSK)推导得出。如果PMK有MSK推导得出,PMK的计算使用函数L(psk,0,256),即MSK的前256位。因此,当使用MSK推导PMK时,MSK至少由256位组成。PMK的生命周期由认证服务器决定,而PTK的声明周期则要短于PMK的声明周期

PMK的获取方式:802.1X认证过程,PSK推导,PMK缓存

(2)      PTK:PTK = PRF-X(PMK,”pairwisekey expansion”,

min(AA,SPA)||MAX(AA,SPA)||MIN(ANONCE,SNonce)||max(ANonce,SNonce))

  AA:    是认证者的MAC地址

  SPA:是申请者的MAC地址

  TKIP使用X = 512,CCMP使用X= 384

(3)      KCK(keyconfirmation key):KCK=L(PTK,0,128)即PTK的前128位。**确认**用来计算**生成消息的完整性检验值。

(4)      KEK(keyencryption key):KEK=L(PTK,128,128)即PTK的128位-256位。**加***,用来加***生成消息

(5)      TK:L(PTK,256,128)或L(PTK,256,256)

CCMP使用PTK的第256位至383位计算TK:用来认证和加密

TKIP使用PTK的第256位至511位计算TK:TKIP严格区分认证和加密,TK的前半部分作为临时**,后半部分作为完整性检验

(6)      PMKID:PMKIDßHMAC-SHA1-128(PMK,”PMK Name”||AA||SPA)

2、四次握手过程

更新成对**:四道磋商

IEEE 802.11i-四次握手获取共享**

1、  认证者将nonce传给申请者;nonce是防范重放攻击的随机值。信息本身并未经过认证,但并没有被篡改的危险。如果信息遭人更改,磋商就会失败并重新执行

2、  申请者所送出的的信息中包含申请者的nonce以及初次与网络连接所取得的安全参数副本。整个信息系经过(以EAPOL**确认**计算而来的完整性检验值)的验证。

认证者取出消息中的申请者nonce,依次衍生出完整的**层次结构。

3、  此时磋商双方的**均已就绪,但仍需确认。认证者会将一个信息传给申请者;此信息代表将被加入之成对**的序号。它同时包括了目前的群组临时**,以便后续能够更新群组**。GTK以EAPOL**加***来加密,以**确认**来认证

4、  申请者最后会送出确认信息给认证者,告诉认证者已经接收到配钥信息,可以开始使用这些**。此信息系经过**确认**的认证。

更新群组**:群组**的磋商

1、  认证者送出群组临时**,并以成对**体系中的**加***进行加密。此信息亦经过**确认**计算出来的检验值的认证。

2、  申请者送出的回应信息,告诉认证者开始使用新的群组**。此信息也就是使用**确认**进行认证的。

3、如何获取PMK

1. WPA-PSK :
     PMK=PSK= pdkdf2_SHA1(passphrase,SSID,SSID lenth,4096)

     其中

  passphrase就是登陆密码

           SSID就是无线网络名

 2. 802.1X+EAP中
    PMK =L(MSK, 0, 256)
    MSK 需要通过802.1X交换获得。

 如果802.1X认证成功,认证者会发出EAP-Success表示授权使用连接端口,再接下来AP就可以立即使用EAPOL-Key消息将MSK发给申请者,以后就和WPA-PSK一样用MSK最终导出PTK(MSK,PMK就是PTK的**生成**)

IEEE 802.11i-四次握手获取共享**    

如上图所示,802.1X认证中的key1报文,带有PMKID。

IEEE 802.11i-四次握手获取共享**

上图为 PSK认证中的key1报文。