WPA-PSK 密碼有哪些技術要求?

WPA-PSK 密碼有哪些技術要求?

我正在考慮產生一個 WPA-PSK 密碼,我在 OpenBSD 手冊頁中看到wpa-psk(8)

The passphrase must be a sequence of between 8 and 63
ASCII-encoded characters.

這裡「ASCII編碼」的標準到底是什麼?只是它們必須是 8 位元字元且高位元未設定?是否允許使用不可列印的字元?

想一想......我隨機產生密碼的方法有意義嗎?只產生 64 個隨機位元組並將其用作密鑰會更好嗎?

答案1

這裡「ASCII編碼」的標準到底是什麼?只是它們必須是 8 位元字元且高位元未設定?是否允許使用不可列印的字元?

維基百科的Wi-Fi 保護存取說 WPA-PSK 密碼是 8 到 63可列印 ASCII 字符,並包含此參考作為註腳:

密碼短語中的每個字元的編碼必須在 32 到 126(十進位)範圍內(含)。 (IEEE Std. 802.11i-2004,附件 H.4.1) 空格字元包含在此範圍內。

想一想......我隨機產生密碼的方法有意義嗎?只產生 64 個隨機位元組並將其用作密鑰會更好嗎?

我想我仍然會使用安全 RNG 產生 256 位元...

您的無線路由器和您想要連接到無線網路的每台裝置是否允許您手動輸入 64 個十六進位字元形式的 WPA-PSK 金鑰?如果沒有,那麼您可能必須使用 ASCII 密碼才能在所有裝置中輸入它。

答案2

http://www.xs4all.nl/~rjoris/wpapsk.html- “WPA 金鑰計算 - 從密碼短語到十六進位密鑰計算詳細資訊”:

對於 WPA-PSK 加密,二進位金鑰是根據以下公式從密碼得出的:

函數 PBKDF2 是一種從密碼短語派生金鑰的標準化方法。 RFC2898 中對其進行了詳細說明,並明確解釋瞭如何計算它。此函數需要一個底層偽隨機函數。對於 WPA,底層功能是 HMAC-SHA1。 SHA1 是根據任意數量的輸入資料計算 160 位元雜湊值的函數。 RFC3174中解釋得很清楚。 HMAC 是一種將加密雜湊函數轉變為金鑰訊息認證函數的標準化方法。 RFC2104 中對此進行了規定。

總而言之,金鑰派生過程涉及迭代 HMAC-SHA1 函數 4096 次,然後再次執行此操作以產生更多金鑰位元。所涉及的計算量相當於計算 1 MB 資料的 SHA1 雜湊值。也許這可以解釋為什麼這個頁面上的 JavaScript 如此緩慢。

至於你的問題::Does my approach of randomly generating a passphrase make any sense? Would it be better to just generate 64 random bytes and use that as a key?只要你在隨機字節密碼中使用各種符號、數字和隨機字母字符,任何一種都非常強大。我的看法是:它們(生成的或隨機的)都是不可能的猜測/破解...

相關內容