Jakie są wymagania techniczne dla hasła WPA-PSK?


8

Myślałem o wygenerowaniu hasła WPA-PSK i na stronie OpenBSD widzę wpa-psk(8):

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

Jakie dokładnie są tutaj kryteria „zakodowane w ASCII”? Tylko, że muszą to być 8-bitowe znaki z ustawionym wysokim bitem? Czy znaki niedrukowalne są dozwolone?

Pomyśl o tym ... Czy moje podejście do losowego generowania hasła ma jakiś sens? Czy lepiej byłoby wygenerować 64 losowe bajty i użyć tego jako klucza?

Odpowiedzi:


12

> Jakie dokładnie są tutaj kryteria „zakodowane w ASCII”? Tylko, że muszą to być 8-bitowe znaki z ustawionym wysokim bitem? Czy znaki niedrukowalne są dozwolone?

Chroniony dostęp do Wi-Fi w Wikipedii mówi, że hasło WPA-PSK ma od 8 do 63 znaków ASCII do wydrukowania i zawiera ten odnośnik jako przypis:

Każdy znak w zdaniu musi mieć kodowanie w zakresie od 32 do 126 (dziesiętnie) włącznie. (IEEE Std. 802.11i-2004, załącznik H.4.1)
Znak spacji jest zawarty w tym zakresie.

> Pomyśl o tym ... Czy moje podejście do losowego generowania hasła ma jakiś sens? Czy lepiej byłoby wygenerować 64 losowe bajty i użyć tego jako klucza?

> Myślę, że nadal wygeneruję 256 bitów przy użyciu bezpiecznego RNG ...

Czy router bezprzewodowy i każde urządzenie, które chcesz podłączyć do sieci bezprzewodowej, pozwala ręcznie wprowadzić klucz WPA-PSK w postaci 64 znaków szesnastkowych? Jeśli nie, być może będziesz musiał użyć hasła ASCII, aby móc wprowadzić je na wszystkich swoich urządzeniach.


Z dokumentu RFC2898 cytowanego przez @studiohack - W całym tym dokumencie hasło jest traktowane jako ciąg oktetu o dowolnej długości, którego interpretacja jako ciąg tekstowy jest nieokreślona. W trosce o interoperacyjność zaleca się jednak, aby aplikacje przestrzegały wspólnych reguł kodowania tekstu. ASCII i UTF-8 [27] to dwie możliwości. (ASCII jest podzbiorem UTF-8.)
asveikau,

Wygląda również na to, że OpenBSD, Linux, Windows i Mac OS X obsługują klucze szesnastkowe. Jedynym problemem, jaki napotkałem, jest to, że interfejs Maemo go nie lubi - ale plik XML wspierający konfigurację go obsługuje.
asveikau,

OK, widzę tę część 802.11i-2004, która to mówi. Masz rację.
asveikau,

1

From http://www.xs4all.nl/~rjoris/wpapsk.html - „Obliczanie klucza WPA - Od hasła do klucza szesnastkowego Szczegóły obliczeń”:

W przypadku szyfrowania WPA-PSK klucz binarny pochodzi z hasła zgodnie z następującą formułą:

Funkcja PBKDF2 jest znormalizowaną metodą uzyskiwania klucza z hasła. Jest określony w RFC2898 z jasnym wyjaśnieniem, jak go obliczyć. Ta funkcja wymaga podstawowej funkcji pseudolosowej. W przypadku WPA podstawową funkcją jest HMAC-SHA1. SHA1 to funkcja obliczająca 160-bitowy skrót z dowolnej ilości danych wejściowych. Jest to jasno wyjaśnione w RFC3174. HMAC to znormalizowana metoda przekształcania funkcji skrótu kryptograficznego w funkcję uwierzytelniania wiadomości z kluczem. Jest określony w RFC2104.

Podsumowując, proces wyprowadzania klucza obejmuje iterację funkcji HMAC-SHA1 4096 razy, a następnie powtórzenie tej czynności w celu wygenerowania większej liczby bitów klucza. Ilość zastosowanych obliczeń jest równoważna z obliczeniem wartości skrótu SHA1 na poziomie 1 MB danych. Być może to wyjaśnia, dlaczego Javascript na tej stronie jest tak wolny.

Jeśli chodzi o twoje pytanie: 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?Każdy z nich byłby bardzo silny, o ile używałbyś wszelkiego rodzaju symboli, liczb i losowych znaków alfabetu w swoim losowym haśle bajtów. Sposób, w jaki na to patrzę: oba (generowane lub losowe) byłyby niemożliwe do odgadnięcia / zhakowania ...


1
Hm Na podstawie mojego odczytu RFC wydaje się więc, że funkcja PBKDF2 nie zależy od tego, czy jest to drukowalna postać ASCII i powinna dobrze sobie radzić z danymi binarnymi. Myślę, że nadal wygeneruję 256 bitów przy użyciu bezpiecznego RNG ... (Nie jestem jednak pewien, że nie można zgadnąć. Są małe szanse, że w rezultacie wygeneruje to coś, co zderzy się ze słabym
passphrase
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.