802.11i密鑰層次結構
鏈路層加密協議使用了兩種密鑰。成對密鑰(pairwise key)用來保護工作站和AP之間往來的數據。組密鑰(group key)用來保護AP至所關聯的工作站之間的廣播或組播數據。
密鑰生成從主密鑰開始。在成對密鑰體系中,主密鑰稱為成對主密鑰(pairwise master key,簡稱PMK).
長度為256位。
TKIP和CCMP均會使用偽隨機函數將256位的PMK展開成為臨時密鑰(pairwise transient key,簡稱PTK)。
在TKIP和CCMP體系中,臨時密鑰的兩組128位塊在分配過程中被用來包含臨時密鑰。
這兩種密鑰體系均始於兩個EAPOL-Key消息來包含密鑰材料的傳送安全。其中使用了兩個128位的密鑰。第一個是EAPOL密鑰確認密鑰(EAPOL Key Confirmation Key, 簡稱KCK),用來計算密鑰生成消息(keying message)的完整性校驗值。第二個是EAPOL 密鑰加密密鑰(EAPOL Key Encryption Key, 簡稱KEK),用來加密密鑰生成消息。
更新成對密鑰:四次握手
成對(pairwise)或單播(unicast)密鑰是通過所謂的四次握手(four-way handshake)加以分配。
更新組密鑰:組密鑰握手
在進行組密鑰握手之前,四次握手必須已經完成。包含了兩個步驟:
(1)認證者送出組臨時密鑰(GTK)以成對密鑰層次結構中的密鑰加密密鑰進行加密。此消息也經過密鑰確認密鑰計算出來的校驗值的認證。
(2)申請者送出確認消息,告訴認證者開始使用新的組密鑰。此消息也是使用密鑰確認密鑰進行認證的。