Passwords

WPA/WPA2中使用的加密算法

  • April 20, 2020

我想知道WPA密碼是如何被加密的

我一直在尋找,我能夠抓住:

  1. 實際密碼被轉換為一些雜湊
  2. 對雜湊應用加鹽
  3. 操作不可逆
  4. 雜湊帶有 4 次握手

那麼它轉換成什麼樣的雜湊呢?像,SHA1?MD5?以及鹽漬過程是如何完成的?比如,在散列操作之前是否將 SSID 附加到密碼中?

還是我在這裡有一些誤解?

使用基於密碼的密鑰派生函式從密碼派生密鑰,在本例中為 PBKDF2:

Key = PBKDF2(HMAC−SHA1, passphrase, ssid, 4096, 256)

PKCS#5 又描述了 PBKDF2。這些 RSA 加密標準現在又可以通過 RFC 獲得,在這種情況下是RFC 2898: PKCS #5: Password-Based Cryptography Specification Version 2.0

在這種情況下,密碼大小需要為 8 到 63 個字元。這些字元使用 ASCII 轉換為二進制,因此您只能使用 ASCII(可列印)字元範圍內的字元。

在 PBKDF2 中,二進制密碼用作 HMAC 函式的密鑰。salt 是 Wi-Fi 連接的 SSID。salt + a 計數器值用作 HMAC 函式的初始輸入。之後,之前的 HMAC 輸出用作輸入,直到達到 4096 輪 HMAC。不幸的是,它似乎輸出 256 位,而 SHA-1 僅輸出 160 位。這意味著您必須增加一次計數器並重新進行所有回合。

PBKDF2 函式的輸出是預共享密鑰或 PSK。PSK 在 4 次握手中直接用作 PMK(成對主密鑰)。

這也在第 H.4 節中有所描述:IEEE 802.11i (2004) 的建議密碼到 PSK 映射,可從 IEEE 網站下載

引用自:https://crypto.stackexchange.com/questions/28975