Integridade e criptografia de dados do WPA
Publicado em: 1 de novembro de 2004
Por The Cable Guy
Para obter uma lista e informações adicionais sobre todas as colunas The Cable Guy, clique aqui.
Nesta página
Introdução
Recursos de criptografia de TKIP e Michael
Chaves temporais WPA
Processo de criptografia e descriptografia do WPA
Para obter mais informações
Introdução
O WPA (Acesso Protegido Wi-Fi), conforme encontra-se descrito no artigo do Cable Guy intituladoVisão Geral do WPA (Acesso Protegido Wi-Fi), é um padrão provisório do mercado que torna seguras as redes locais sem fio 802.11 por meio de uma atualização de firmware para adaptadores de rede baseados em 802.11 e pontos de acesso sem fio (APs).
O WPA substitui o WEP (Wired Equivalent Privacy) com a combinação de TKIP (Temporal Key Integrity Protocol), que oferece confidencialidade de dados por meio de criptografia, e Michael, que fornece integridade de dados. Este artigo descreve os detalhes do processo de criptografia e descriptografia TKIP, Michael e WPA.
Recursos de criptografia de TKIP e Michael
O WEP no padrão original IEEE 802.11 possui as seguintes desvantagens criptográficas:
-
O vetor de inicialização (IV) é muito pequeno
O WEP usa o vetor de inicialização em conjunto com a chave de criptografia WEP como entrada ao PRNG (gerador de números pseudo-aleatório) do RC4, que produz um keystream usado para criptografar a carga de quadros 802.11. Com um vetor de inicialização WEP de 24 bits, é fácil capturar múltiplos quadros WEP com o mesmo valor de vetor, facilitando a descriptografia em tempo real.
-
Integridade de dados frágil
A integridade de dados WEP consiste na realização de uma soma de comprovação CRC-32 (verificação de redundância cíclica - 32) nos bytes na carga 802.11 sem criptografia e, em seguida, criptografando seu valor com WEP. Mesmo criptografados, é relativamente fácil alterar bits na carga criptografada e atualizar adequadamente o resultado CRC-32 criptografado, evitando que o nós receptores detectem que o conteúdo do quadro foi alterado.
-
Usa a chave mestre em vez de uma chave derivada
A chave de criptografia WEP, tanto configurada manualmente ou determinada pela autenticação 802.1X, é o único material de chave disponível. Portanto, a chave de criptografia WEP é a chave mestre. O uso de uma chave mestre para criptografar dados é menos seguro que o uso de uma chave derivada da chave mestre.
-
Sem rechaveamento
A chave WEP não fornece um método para atualizar as chaves de criptografia.
-
Sem proteção contra repetição
A chave WEP não fornece nenhuma proteção contra ataques repetidos, no qual um invasor envia antes uma série de quadros capturados em uma tentativa de obter acesso ou modificar dados.
A seguinte tabela mostra como o TKIP e Michael endereçam as desvantagens criptográficas da WEP.
|
Desvantagens da WEP
|
Como a desvantagem é endereçada pelo WPA
|
|
O IV é muito pequeno
|
No TKIP, o IV foi duplicado em tamanho para 48 bits.
|
|
Integridade de dados frágil
|
O cálculo da soma de verificação do CRC-32 criptografado por WEP foi substituído por Michael, um algoritmo criado para fornecer integridade de dados forte. O algoritmo Michael calcula um valor de codificação da integridade da mensagem (MIC) de 64 bits, que é criptografado com TKIP.
|
|
Usa a chave mestre em vez de uma chave derivada
|
TKIP e Michael usam um conjunto de chaves temporais derivadas de uma chave mestre e outros valores. A chave mestre é derivada do processo de autenticação do protocolo EAP-TLS ou EAP protegido (PEAP) 802.1X. Além disso, a parte secreta da entrada para o RC4 PRNG é alterada com cada quadro através da função de combinação de pacote.
|
|
Sem rechaveamento
|
O WPA executa o rechaveamento automaticamente para derivar novos conjuntos de chaves temporais.
|
|
Sem proteção contra repetição
|
O WEP usa o vetor de inicialização como um contador de quadros para fornecer proteção contra repetição.
|
Chaves temporais WPA
Ao contrário do WEP, que usa uma única chave para a criptografia de dados em unicast e, normalmente, uma chave separada para a criptografia de dados em multicast e de difusão, o WPA usa um conjunto de quatro chaves diferentes para cada par de AP com conexão sem fio com o cliente (conhecidas como chaves temporais emparelhadas) e um conjunto de duas chaves diferentes para o tráfego em multicast e difusão.
O conjunto de chaves emparelhadas usado em dados em unicast e o EAP sobre mensagens de chave LAN (EAPOL) consistem em:
-
Chave de criptografia de dados Uma chave de 128 bits usada para criptografar quadros em unicast.
-
Chave de integridade de dados Uma chave de 128 bits usada para calcular o MIC em quadros em unicast.
-
Chave de criptografia EAPOL Uma chave de 128 bits usada para criptografar mensagens da chave EAPOL.
-
Chave de integridade EAPOL Uma chave de 128 bits usada para calcular o MIC das mensagens da chave EAPOL.
Para derivar as chaves temporais emparelhadas, o WPA usa os seguintes valores:
-
PMK (Pairwise Master Key) Uma chave de 256 bits derivada do processo de autenticação do EAP-TLS ou do PEAP.
-
Nonce 1 Um número aleatório determinado pelo AP sem fio.
-
MAC 1 O endereço MAC do AP sem fio.
-
Nonce 2 Um número aleatório determinado pelo cliente com conexão sem fio.
-
MAC 2 O endereço MAC do cliente com conexão sem fio.
Para a autenticação 802.1X que usa um servidor RADIUS, o PMK é mutuamente determinado pelo cliente com conexão sem fio e pelo servidor RADIUS, que conduz o PMK para o AP sem fio na mensagem de aceitação de acesso ao RADIUS. Depois de receber o PMK, o AP sem fio inicia a troca de mensagem da chave temporal, que consiste em:
-
A mensagem da chave EAPOL enviada pelo AP sem fio que contém Nonce 1 e MAC 1. Como as chaves temporais em unicast ainda não estão determinadas, essa mensagem é enviada como texto não criptografado e sem proteção de integridade da mensagem. O cliente com conexão sem fio agora tem todos os elementos necessários para calcular as chaves temporais emparelhadas.
-
A mensagem da chave EAPOL enviada pelo cliente com conexão sem fio que contém Nonce 2, MAC 2 e MIC. Como o cliente com conexão sem fio calculou as chaves temporais emparelhadas, ele calcula um MIC usando a chave de integridade EAPOL derivada. O AP sem fio usa os valores Nonce 2 e MAC 2 para derivar as chaves temporais emparelhadas e validar o valor do MIC.
-
A mensagem da chave EAPOL enviada pelo AP sem fio que contém um MIC e um número inicial em seqüência, indicando que o AP sem fio está pronto para começar a enviar quadros criptografados em unicast e da chave EAPOL.
-
A mensagem da chave EAPOL enviada pelo cliente com conexão sem fio que contém um MIC e um número inicial em seqüência, indicando que o cliente com conexão sem fio está pronto para começar a enviar quadros criptografados em unicast e da chave EAPOL.
Esse conjunto de mensagens troca os valores necessários para determinar as chaves temporais emparelhadas, verifica se cada item de mesmo nível tem conhecimento do PMK (verificando o valor do MIC) e indica que cada item de mesmo nível sem fio está pronto para começar a criptografar e a fornecer a proteção de integridade da mensagem para quadros de dados em unicast subseqüentes e mensagens da chave EAPOL.
No tráfego em multicast e de difusão, o AP sem fio deriva uma chave de criptografia de grupo de 128 bits, uma chave de integridade de grupo de 128 bits e envia esses valores para o cliente com conexão sem fio usando a mensagem da chave EAPOL, criptografada com a chave de criptografia EAPOL e a integridade protegida com a chave de integridade EAPOL. O cliente com conexão sem fio confirma o recebimento da mensagem da chave EAPOL com uma mensagem da chave EAPOL.
Processo de criptografia e descriptografia do WPA
O WPA precisa dos seguintes valores para criptografar e proteger a integridade de um quadro de dados sem fio:
-
O IV, que é iniciado em 0 e incrementado para cada quadro subseqüente
-
A chave de criptografia de dados (para tráfego em unicast) ou a chave de criptografia de grupo (tráfego em multicast ou de difusão)
-
O endereço de destino (DA) e o endereço de origem (SA) do quadro sem fio
-
O valor do campo Priority (Prioridade), que é definido como 0 e é reservado para objetivos futuros
-
A chave de integridade de dados (para tráfego em unicast) ou a chave de integridade de grupo (tráfego em multicast ou de difusão)
A seguinte figura mostra o processo de criptografia do WPA para um quadro de dados em unicast.
-
O IV, o DA e a chave de criptografia de dados são inseridos em uma função de combinação de chave WPA, que calcula a chave de criptografia por pacote.
-
O DA, SA, Priority (Prioridade), os dados (a carga 802.11 não criptografada), e a chave de integridade de dados são inseridos no algoritmo de integridade de dados Michael para produzir o MIC.
-
O ICV é calculado da soma de verificação do CRC-32.
-
O IV e a chave de criptografia por pacote são inseridos na função RC4 PRNG para produzir um keystream do mesmo tamanho que os dados, o MIC e o ICV.
-
O keystream é ORed (XORed) exclusivamente com a combinação de dados, do MIC e do ICV para produzir a parte criptografada da carga 802.11.
-
O IV é adicionado à parte criptografada da carga 802.11 nos campos IV e Extended IV (IV Estendido) e o resultado é encapsulado com o cabeçalho e informações finais sobre o 802.11.
A seguinte figura mostra o processo de descriptografia do WPA para um quadro de dados em unicast.
-
O valor IV é extraído dos campos IV e Extended IV (IV Estendido) na carga do quadro 802.11 e inserido junto com o DA e a chave de criptografia de dados na função de combinação de chave, produzindo a chave de criptografia por pacote.
-
O IV e a chave de criptografia por pacote são inseridos na função RC4 PRNG para produzir um keystream do mesmo tamanho que os dados criptografados, o MIC e o ICV.
-
O keystream é XORed com dados criptografados, MIC e ICV para produzir dados não criptografados, MIC e ICV.
-
O ICV é calculado e comparado ao valor do ICV não criptografado. Se os valores do ICV não coincidirem, os dados serão descartados silenciosamente.
-
O DA, o SA, os dados e a chave de integridade de dados são inseridos no algoritmo de integridade Michael para produzir o MIC.
-
O valor calculado do MIC é comparado ao valor do MIC não criptografado. Se os valores do MIC não coincidirem, os dados serão descartados silenciosamente. Se os valores do MIC coincidirem, os dados serão passados para as camadas de rede superiores para processamento.
Para obter mais informações
Para obter mais informações sobre o WPA e a segurança na rede local sem fio 802.11, consulte os seguintes recursos:
Para fazer comentários sobre o conteúdo desta coluna, escreva para Microsoft TechNet. Esteja ciente de que isso não é um alias de suporte e uma resposta não é garantida.
Para obter uma lista e informações adicionais sobre todas as colunas de The Cable Guy, clique aqui.