Quais são os requisitos técnicos para uma senha WPA-PSK?

8

Eu estava pensando em gerar uma senha WPA-PSK, e vejo na página do OpenBSD para wpa-psk(8) :

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

Qual é exatamente o critério para "codificado em ASCII" aqui? Só que eles devem ser chars de 8 bits com o bit alto indefinido? Os caracteres não imprimíveis são permitidos?

Venha para pensar sobre isso ... A minha abordagem de gerar aleatoriamente uma frase-senha faz algum sentido? Seria melhor apenas gerar 64 bytes aleatórios e usá-los como chave?

    
por asveikau 18.12.2010 / 21:31

2 respostas

11

> Qual é exatamente o critério para "codificado em ASCII" aqui? Só que eles devem ser chars de 8 bits com o bit alto indefinido? Os caracteres não imprimíveis são permitidos?

O Wikipedia href="http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access#Security_.26_Insecurity_in_pre-shared_key_mode"> Wi-Fi Protected Access diz a frase-senha WPA-PSK é de 8 a 63 caracteres ASCII imprimíveis , e inclui essa referência como uma nota de rodapé:

Each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal), inclusive. (IEEE Std. 802.11i-2004, Annex H.4.1)
The space character is included in this range.

> Venha para pensar sobre isso ... A minha abordagem de gerar aleatoriamente uma frase-senha faz algum sentido? Seria melhor apenas gerar 64 bytes aleatórios e usá-los como chave?

> Eu acho que vou ainda apenas gerar 256 bits usando uma RNG segura ...

Será que o seu router wireless e cada dispositivo que você deseja conectar à sua rede sem fio permitem que você insira manualmente a chave WPA-PSK como caracteres 64 hex? Se não, então você pode ter que usar uma senha ASCII para ser capaz de inseri-lo em todos os seus dispositivos.

    
por 19.12.2010 / 09:52
1

De link - "Cálculo da chave WPA - De passphrase a chave hexadecimal Detalhes do cálculo ":

For WPA-PSK encryption, the binary key is derived from the passphrase according to the following formula:

The function PBKDF2 is a standardized method to derive a key from a passphrase. It is specified in RFC2898 with a clear explanation on how to compute it. The function needs an underlying pseudorandom function. In the case of WPA, the underlying function is HMAC-SHA1. SHA1 is a function that computes a 160-bit hash from an arbitrary amount of input data. It is clearly explained in RFC3174. HMAC is a standardized method to turn a cryptographic hash function into a keyed message authentication function. It is specified in RFC2104.

To summarize, the key derivation process involves iterating a HMAC-SHA1 function 4096 times, and then doing that again to produce more key bits. The amount of computation involved is equivalent to computing the SHA1 hash over 1 MByte of data. Perhaps that explains why the Javascript on this page is so slow.

Quanto à sua pergunta: 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? : qualquer um seria muito strong, contanto que você usasse todos os tipos de símbolos, números e caracteres alfabéticos aleatórios em sua frase secreta de bytes aleatórios. A maneira que eu olho: ambos (gerados ou aleatórios) seriam impossíveis de adivinhar / hackear ...

    
por 18.12.2010 / 21:38