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

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

Eu estava pensando em gerar uma senha WPA-PSK e vejo na página de manual do OpenBSD 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 caracteres de 8 bits com o bit alto não definido? São permitidos caracteres não imprimíveis?

Pensando bem... Minha abordagem de gerar aleatoriamente uma senha faz algum sentido? Seria melhor gerar apenas 64 bytes aleatórios e usar isso como chave?

Responder1

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

WikipédiaAcesso protegido por Wi-Fidiz que a senha WPA-PSK é 8 a 63caracteres ASCII imprimíveise inclui esta referência como nota de rodapé:

Cada caractere da frase secreta deve ter uma codificação no intervalo de 32 a 126 (decimal), inclusive. (IEEE Std. 802.11i-2004, Anexo H.4.1) O caractere de espaço está incluído nesta faixa.

Pensando bem... Minha abordagem de gerar aleatoriamente uma senha faz algum sentido? Seria melhor gerar apenas 64 bytes aleatórios e usar isso como chave?

Acho que ainda vou gerar 256 bits usando um RNG seguro...

O seu roteador sem fio e todos os dispositivos que você deseja conectar à sua rede sem fio permitem que você insira manualmente a chave WPA-PSK como 64 caracteres hexadecimais? Caso contrário, talvez seja necessário usar uma senha ASCII para poder inseri-la em todos os seus dispositivos.

Responder2

Dehttp://www.xs4all.nl/~rjoris/wpapsk.html- "Cálculo da chave WPA - Da senha à chave hexadecimal Detalhes do cálculo":

Para criptografia WPA-PSK, a chave binária é derivada da senha de acordo com a seguinte fórmula:

A função PBKDF2 é um método padronizado para derivar uma chave de uma senha. É especificado no RFC2898 com uma explicação clara sobre como calculá-lo. A função precisa de uma função pseudoaleatória subjacente. No caso do WPA, a função subjacente é HMAC-SHA1. SHA1 é uma função que calcula um hash de 160 bits a partir de uma quantidade arbitrária de dados de entrada. Está claramente explicado no RFC3174. HMAC é um método padronizado para transformar uma função hash criptográfica em uma função de autenticação de mensagem com chave. É especificado em RFC2104.

Para resumir, o processo de derivação de chave envolve iterar uma função HMAC-SHA1 4.096 vezes e, em seguida, fazer isso novamente para produzir mais bits de chave. A quantidade de computação envolvida é equivalente a calcular o hash SHA1 em 1 MByte de dados. Talvez isso explique porque o Javascript nesta página é tão lento.

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 deles seria muito forte, desde que você usasse todos os tipos de símbolos, números e caracteres alfabéticos aleatórios em sua senha de bytes aleatórios. A meu ver: ambos (gerados ou aleatórios) seriamimpossíveladivinhar/hackear...

informação relacionada