Análise de Protocolo de Enlace IEEE 802.11


Flavio Malfatti Sartorato
Juliano Forster
Luiz Cezar Quaquio
Wellington Fonseca Leal

INTRODUÇÃO

Wi-Fi, abreviação de Wireless Fidelity ou Wireless é um conjunto de especificações para redes locais sem fio (WLAN - Wireless Local Area Network) baseado no padrão 802.11 instituído pelo Institute of Electrical and Electronics Engineers (IEEE). É comum encontrar o nome Wi-Fi escrito como WiFi, Wi-fi ou até mesmo wifi, mas todas essas denominações se referem à mesma tecnologia.

A WECA - Wireless Ethernet Compatibility Alliance, instituição internacional sem fins lucrativos criada em 1999 para divulgar o Wi-Fi como padrão para implementação de redes locais sem fio, hoje se chama Wi-Fi Alliance, e também é responsável pelo licenciamento de produtos baseados nessa tecnologia. Esta instituição nasceu da união de algumas empresas interessadas nesta tecnologia e que já estudavam isso há algum tempo. Essas empresas eram 3Com, Nokia, Lucent Technologies (atualmente Alcatel - Lucent) e Symbol Technologies.

Com o Wi-Fi é possível criar redes de computadores e outros periféricos que utilizam esta tecnologia como telefones celulares e impressoras, entre outros, desde que estejam dentro do limite de alcance do sinal de radiofreqüência. Com esta flexibilidade que a rede sem fio nos dá é possível montar redes com acesso à internet nos mais diversos lugares. Por isso, já é possível encontrar disponibilidade desses acessos em hotéis, shoppings, restaurantes e até mesmo em cidades, como é o caso de Manchester na Inglaterra, Mountain View e também na cidade de Sud Mennuci no interior de São Paulo, Brasil, onde a conexão é gratuita para toda a cidade.

Essas redes não exigem o uso de cabos, já que efetuam a transmissão de dados através de radiofreqüência, com isso reduzem bastante os custos e o trabalho de implementação, não precisando assim passar cabos e furar paredes. Permite também a rápida inserção de outros computadores e outros dispositivos na rede.

O padrão IEEE 802.11 não é muito diferente das especificações IEEE 802.3 esta que é conhecida pelo nome Ethernet e consiste nas tradicionais redes com fio, por isso é possível ter redes que utilizam ambos os padrões.

Apesar de muitas vantagens que a rede sem fio possui, ela também tem as suas desvantagens, que hoje é a velocidade de transmissão, que não é tão eficiente quanto à cabeada e também a questão da segurança das informações por ela transmitida. Será sobre o segundo tópico que nosso trabalho aborda mais a fundo, dizendo quais são e quão eficientes os protocolos de segurança da rede sem fio traz.


WEP

Em 1999 criou-se o protocolo WEP (Wired Equivalent Privacy) com a intenção de “igualar” a segurança da rede cabeada. Esse protocolo é utilizado na camada de enlace para autenticar e criptografar os dados que serão transmitidos. Só lembrando que é na camada de enlace que é feita a verificação de integridade dos dados (payload), a divisão em quadros (frames) e o acréscimo do endereço físico (MAC) de origem e destino.

A norma IEEE 802.11 estabelece dois tipos de autenticação WEP que são: Aberto (Open System Authentication), onde a transmissão é feita sem criptografia e permite que qualquer dispositivo entre na rede e a Chave Pré-Compartilhada (Pre-Shared Key Authentication), onde é usado o método de desafio-resposta (senha) para entrar na rede.


Fig. 1 - Autenticação WEP Aberto


Fig. 2 - Autenticação Chave Pré-Compartilhada


Ambos os tipos de autenticação WEP podem ser combinados com a filtragem de endereços MAC (MAC Filtering). Neste método, o ponto de acesso possui uma lista contendo o endereço MAC de dispositivos que podem ser autenticados. Se o endereço MAC não estiver na lista, não será possível o acesso à rede. Este método não faz parte da especificação IEEE 802.11, mas é disponibilizado por vários fabricantes de equipamentos Wi-Fi para tentar aumentar o controle de acesso à rede.

Para manter a integridade e a confidencialidade dos dados o WEP adiciona o ICV (Integrity Check Value) aos dados utilizando o CRC-32 (Cyclic Redundancy Checks) e depois os criptografa usando o algoritmo RC4(Ron´s Code #4). O cabeçalho 802.11 é passado sem criptografia.


Fig. 3 - Transmissão WEP de Dados


A senha WEP pode ser composta de 64 ou 128 bits, que na verdade são 40 ou 104 bits, porque o IV (Initialization Vector) usa 24 bits e é concatenado com a senha.


Fig. 4 - Senha WEP + IV


A essa chave composta é usado o algoritmo PRNG (Pseudo Random Number Generator) definido pelo RC4. O resultado é uma seqüência pseudo-aleatória de bits (Keystream) que é utilizado para criptografar a mensagem e o ICV através de uma operação de XOR (OU Exclusivo). O IV é transmitido em texto puro para que o receptor consiga fazer o processo inverso. Todo o processo é feito até que o último byte da mensagem seja enviado, incrementando uma unidade no IV evitando a repetição.


Fig. 5 - Encapsulamento WEP


O protocolo WEP tem algumas vulnerabilidades conhecidas e exploradas, como o tamanho da chave de 64 bits (40 bits), que pode ser quebrada através do ataque de força bruta, devido ao poder computacional das máquinas atuais.

O fato do Vetor de Inicialização ser 24 bits dá uma possibilidade de aproximadamente 16,7 milhões (2 24) de vetores diferentes. Esta quantidade de possibilidades é pequena se levarmos em conta a quantidade de tráfego gerado, com isso os IVs se repetirão e consequentemente as chaves geradas pelo RC4 também, abrindo caminho para o atacante que após capturar pacotes consegue descobrir a senha WEP.

Como o IV é transmitido sem criptografia e ele faz parte da chave inicial que codifica e decodifica o pacote, abre-se então a possibilidade de ataques como o FMS, que é um algoritmo probabilístico que descobrirá a senha WEP. A utilização desse ataque pode ser feita re-injetando pacotes na rede, aumentando o tráfego e diminuindo o tempo do ataque.

O CRC-32 é um algoritmo linear que não foi projetado pensando em segurança. O atacante pode alterar o conteúdo do pacote e apenas fazer a correção do ICV, fazendo o pacote parecer autêntico. A exploração dessa falha é chamada de Chopchop, que decodifica o pacote sem saber a senha WEP, apenas alterando o ICV.


WPA

Devido algumas vulnerabilidades, surgiu o protocolo TKIP, com o objetivo de prover maior segurança que o protocolo existente até então (o WEP), mas que ainda seja possível de se utilizar nos hardwares existentes. Portanto, era necessário que este protocolo utilizasse o algoritmo de encriptação implementado até então nos hardwares de redes sem fio: o RC4.

O funcionamento básico do RC4 não é diferente do protocolo WEP, no entanto, o TKIP introduz uma série de correções que trabalham junto com o RC4 e, portanto compatível com hardwares existentes:

Ainda no esforço de resolver os problemas em redes wireless, foi criado o modelo de segurança chamado 802.11i. Então em 2003 a Wi-Fi Alliance apresentou o padrão baseado no IEEE 802.11i chamado Wi-Fi Protected Access, conhecido como WPA.

O WPA criptografa os dados usando RC4 também, com uma chave de 128 bits, um IV de 48 bits, dessa forma mais de 280 trilhões de IVs diferentes é possível e a principal diferença é Temporal Key Integrity Protocol (TKIP), que é baseada no conceito de chave temporal, ou seja, a chave é usada por um tempo e depois usada uma nova gerada dinamicamente. Ela é uma das principais diferenças do WPA em relação ao WEP, que utiliza a mesma chave repetidamente. Esta característica do WPA também é conveniente porque não exige que se digitem manualmente as chaves de criptografia - ao contrário do WEP. Utiliza um CRC (Cyclic Redundant Check) linear, ou seja, uma chave RC4 criptografa a mensagem transmitida que será descriptografada e conferida pelo destino. Se o CRC calculado pelo destino for diferente do CRC original o pacote é descartado.


Fig. 6 - Modelo WPA autenticação e criptografia


O WPA usa dois métodos de autenticação, Pessoal onde é usada uma senha compartilhada (WPA-Pre Shared Key ou WPA-PSK) entre o Ponto de Acesso e os clientes e o Coorporativo onde é usado um servidor de autenticação, por exemplo, o servidor Radius. Esse método utiliza um protocolo de comunicação 802.1x entre o Ponto de Acesso e o servidor de autenticação em conjunto com algum tipo de EAP (Extensible Authentication Protocol).

EAP não um mecanismo específico de autenticação, mas provê algumas funções e negociam o mecanismo de autenticação desejado definida pela RFC 3748, e pode ser usado tanto em redes wireless, quanto em conexões ponto-a-ponto. Existem atualmente quarenta tipos de EAP, e os mais usados em redes wireless são: EAP-MD5, EAP-TLS (EAP-Transport Layer Security), EAP-TTLS (EAP-Tunneled Transport Layer Security) e PEAP (Protected Extensible Authentication Protocol).

As credenciais para autenticação, que podem ser biometria, certificados digitais, binômio usuário/senha, etc.; trafegam de modo seguro através de um canal lógico criado pelo EAP entre o Cliente e o Servidor de Autenticação. Fisicamente no cliente há o encapsulamento dos dados através do protocolo EAPoL (EAP over LANs) que é enviado ao Ponto de Acesso, que envia os dados através do protocolo 802.1x ao Servidor de Autenticação.

O cliente solicita autenticação ao Ponto de Acesso, que encaminha para o servidor de Autenticação. O servidor valida a credencial na sua base de dados e se positivo autentica o cliente enviando uma MSK (Master Session Key) para o Ponto de Acesso que encaminha para o cliente.


Fig. 7 – Autenticação WPA Coorporativa (802.11x/EAP)


Após a autenticação inicia-se o processo de 4-Way-Handshake. Se a autenticação foi feita através de uma PSK, então a própria PSK é a chave PMK (Pair-wise Master Key), método Pessoal. Se for o método Coorporativo o processo de autenticação EAP/802.1x provê um mecanismo de negociação seguro da chave PMK entre o cliente e o Servidor de Autenticação usando a MSK que foi trocada durante esse processo.

A PMK não é usada para nenhuma operação de segurança, mas para gerar as chaves temporárias (Pariwise Transient Key ou PTK). A PTK é gerada toda vez que o cliente se autentica na rede e é formada por um conjunto de quatro chaves: Data Encryption Key, Data Integrity Key, EAPOL-Key Encryption Key e EAPOL-Key Integrity Key.


Fig. 8 – Hierarquia do PairWise Key


Após o 4-Way-HandShake, tanto o cliente quanto o Ponto de Acesso podem trocar dados, pois possuem a mesma PTK.


Fig. 9 – 4-Way-HandShake


Como no WEP o WPA usa o ICV para manter a integridade dos dados, além disso, é adicionado o algoritmo Michael para garantir que isso aconteça. Sua escolha foi devido à simplicidade e facilidade de ser executado nos Pontos de Acesso. O Michael é um hash não linear, ou seja, utiliza a sua própria chave de integridade. São utilizados os endereços MAC de destino e origem, a prioridade (atualmente é zero, mas está reservado para futuras implementações) e o Data Integrity Key para produzir o MIC (Message Integrity Check) com oito bytes, dando um total de doze bytes utilizados para a integridade dos dados quando somado com os quatro bytes do CRC-32.


Fig. 10 – Integridade WPA


Como mencionado anteriormente o WPA usa o IV de 48 bits que é incrementado em uma unidade por quadro transmitido e iniciado a cada nova chave estabelecida, com isso o tempo para haver repetição do IV é muito longo. O IV passa então a ter uma nova característica, que é a de contador de seqüência (TSC – TKIP SequenceCounter), ou seja, sabe-se o próximo pacote, ignorando os IVs já recebidos.

O processo de criptografia do WPA e WEP são semelhantes. A diferença está na chave de entrada do algoritmo RC4, que é o resultado de um algoritmo de combinação de chaves. Esse algoritmo é dividido em duas fases, a primeira fase é alimentada pelo endereço MAC do transmissor, mais os trinta e dois bits mais significativos do IV e mais a senha escolhida pelo usuário, que passarão pelo TTAC (TKIP-mixed Transmit Address and Key), o resultado disso, mais os dezesseis bits menos significativos do IV e mais a senha escolhida pelo usuário alimentará a segunda Fase. O resultado final desse algoritmo alimenta então o RC4 e o restante do processo passa a ser idêntico ao WEP.

O WPA também possui vulnerabilidades e uma delas é que tendo algumas chaves RC4 geradas por IVs, cujos 32 bits mais significativos são os mesmos é possível achar a chave de criptografia de dados e a chave de integridade.

Ele é suscetível também a ataques de dicionário, que são derivações de palavras pertencentes a um dicionário previamente construído. Este tipo de ataque, geralmente é bem sucedido porque as pessoas têm o costume de utilizarem palavras fáceis de lembrar e que normalmente pertencem a sua língua nativa. Além do dicionário, informações capturadas durante o 4-Way-Handshake são necessárias para a quebra da PSK.

Para proteção contra ataques de força bruta, o MIC possui uma proteção, mas essa proteção pode acarretar em um DoS (Negação de Serviço) , quando doi s erros de MICs acontecem em menos de um minuto e o AP altera a chave de integridade, então com uma simples injeção de pacotes mal formados é possível fazer esse tipo de ataque.


WPA2

O WPA corrigiu vários erros do WEP, porém seu desempenho teve uma queda significativa em termos de estabilidade, por isso, surgiu o WPA2 com a promessa de ser a solução definitiva de segurança e estabilidade para as redes sem-fio do padrão Wi-Fi.

A principal mudança entre o WPA2 e o WPA é o método criptográfico utilizado.

Enquanto o WPA utiliza o TKIP com o RC4, o WPA2 utiliza o Advanced Encyptation Standart (AES) em conjunto com o TKIP com chave de 256 bits, que é um método muito mais poderoso.

A AES permite a utilização de chaves de 128, 192 e 256 bits, constituindo assim uma ferramenta poderosa de criptografia. A utilização de chave de 256 bitsno WPA2 é padrão.

Com a utilização do AES, introduziu-se também a necessidade de novo hardware, capaz de realizar o processamento criptográfico.

Os novos dispositivos WPA2 possuem um co-processador para realizar os cálculos da criptografia AES.

O AES é um cifrador emblocos que criptografa blocos de 16 bitsde cada vez, e repetindo várias vezes um conjunto definido de passos que trabalha com chave secreta que opera com um numero fixo de bytes.

O AES é reversível, o procedimento utilizado para criptografar os dados, é utilizado para decriptografá-los. O AES trabalha com operações de XOR entre os blocos e a chave, organiza o bloco em uma matriz e realiza trocas circulares em cada linha e promove uma mistura entre as colunas da matriz. Para controle de integridade e autenticação, o WPA2 trabalha como o WPA.

No Quadro 1, um comparativo entre WEP e WPA2, demonstrando o quanto o WEP é falho em relação WPA2.


Qd.1 – Comparativo WEP – WPA


Criptografia e decriptografia WPA2

O processo ocorre da forma que o Counter CBC-MAC Protocol (CCMP) do AES utilizao Cipher Block Chaining Message Authentication Code (CBC-MAC) para calcular o MIC e o modo de contador do AES para criptografar a carga do 802.11 e o MIC. Para calcular o valor de um MIC, o CBC-MAC do AES usa o seguinte processo:

1. Criptografa um bloco inicial de 128 bitscom o AES e a chave de integridade de dados. Isso produz um resultado de 128 bits(Resultado1).
2. Executa uma operação OR (XOR) exclusiva entre Resultado1 e os 128 bits de dados seguintes pelos quais o MIC está sendo calculado. Isso produz um resultado de 128 bits (XResultado1).
3. Criptografa o XResultado1 com o AES e a chave de integridade de dados. Isso produz o Resultado2.
4. Executa um XOR entre Resultado2 e os 128 bits de dados seguintes. Isso produz o XResultado2.

Os passos 3-4 se repetem para os blocos de 128 bitsadicionais dos dados. Os 64 bitsde ordem superior do resultado final são o MIC do WPA2.


Fig. 11 – Processo de cálculo do MIC


O bloco inicial é um bloco de 128 bits. O cabeçalho MAC é o cabeçalho MAC 802.11 com os valores dos campos que podem ser alterados em trânsito definidos como zero. O cabeçalho CCMP tem 8 bytes e contém o campo número do pacote de 48 bitse campos adicionais. Os bytes de preenchimento (definidos como 0) são adicionados para garantir que a parte do bloco de dados inteiro até os dados de texto sem formatação seja um númerointegral de blocos de 128 bits.

Os dados são as partes de texto sem formatação (não criptografados) da carga do 802.11. Os bytes de preenchimento (definidos como 0) são adicionados para garantir que a parte do bloco de dados do MIC que inclui os dados de texto sem formatação seja um número integral de blocos de 128 bits.

- O campo Sinalizador (8 bits) é definido como 01011001 e contém vários sinalizadores.
- O campo Prioridade (8 bits) é reservado para finalidades futuras e é definido como 0.
- O Endereço de origem (48 bits) é do cabeçalho MAC 802.11
- O Número do pacote (48 bits) é do cabeçalho CCMP.
- O comprimento dos dados de texto sem formatação em bytes (16 bits).

O algoritmo de criptografia do modo de contador do AES usa o seguinte processo:

1. Criptografa um contador inicial de 128 bitscom o AES e a chave de criptografia de dados. Resultado de 128 bits(Resultado1).
2. Executa uma operação OR (XOR) exclusiva entre Resultado1 e o primeiro bloco de 128 bitsdos dados que estão sendo criptografados. Isso produz o primeiro bloco criptografado de 128 bits.
3. Incrementa o contador e o criptografa com o AES e a chave de criptografia de dados. Isso produz o Resultado2
4. Executa um XOR entre Resultado2 e os 128 bitsde dados seguintes. Isso produz o segundo bloco criptografado de 128 bits.

O modo de contador do AES repete as etapas 3-4 para os blocos de 128 bitsadicionais de dados. Para o bloco final, o modo de contador do AES executa o XOR do contador criptografado com os bitsrestantes. Contador não é o mesmo que o valor do contador de 128 bitsusado no algoritmo de criptografia do modo de contador do AES. Para criptografar um quadro de dados em unicast, o WPA2 usa o seguinte processo:

1. Insere o bloco inicial, o cabeçalho MAC 802.11, o cabeçalho CCMP, o comprimento dos dados e campos de preenchimento no algoritmo CBC-MAC com a chave de integridade de dados para produzir o MIC.
2. Insere o valor do contador inicial e da combinação dos dados com o MIC calculado no algoritmo de criptografia do modo de contador do AES com a chave de criptografia de dados para produzir os dados criptografados e o MIC.
3. Adiciona o cabeçalho CCMP contendo o Número do pacote à parte criptografada da carga do 802.11 e encapsula o resultado com o cabeçalho e as informações finais do 802.11.

Para decriptografar um quadro de dados em unicast e verificar a integridade dos dados:

1. Determina o valor do contador inicial a partir dos valores nos cabeçalhos do 802.11 e do CCMP.
2. Insere o valor do contador inicial e a parte criptografada da carga do 802.11 no algoritmo de decriptografia do modo de contador do AES com a chave de criptografia de dados para produzir os dados decriptografados e o MIC.Para a decriptografia, o modo de contador do AES executa o XOR do valor do contador criptografado com o bloco de dados criptografados, produzindo o bloco de dados decriptografados.
3. Insere o bloco inicial, o cabeçalho MAC 802.11, o cabeçalho CCMP, o comprimento dos dados e campos de preenchimento no algoritmo CBC-MAC do AES com a chave de integridade de dados para calcular o MIC.
4. Compara o valor calculado do MIC com o valor do MIC não criptografado. Se os valores do MIC não corresponderem, o WPA2 descartará os dados silenciosamente. Se os valores do MIC corresponderem, o WPA2 passará os dados para as camadas de rede superiores para processamento.

AES

O AES (Advanced Encription Standard) é um algoritmo de encriptação de blocos de dados, ou seja, o algoritmo do AES combina uma chave e um bloco de dados de 128 bits para gerar outro bloco de 128 bits completamente diferente do original. A chave utilizada neste processo é o Data Encryption/Integrity Key de 128 bits descrito anteriormente. Uma característica interessante do AES é que o processo utilizado para encriptação dos dados é o mesmo utilizado para a desencriptação dos dados, significando que os fabricantes precisam apenas implementar o processo de encriptação (e não o de desencriptação) em seus equipamentos.

CCMP

Como já foi citado, o CCMP é o protocolo de segurança utilizado pelo WPA2. Como este protocolo utiliza o AES para criptografia dos dados, ele é responsável pela divisão dos frames em blocos de tamanhos iguais (de 128 bits), devido às características do algoritmo do AES citados na seção anterior.

O CCMP também é responsável pela inserção de um total de verificação no dado a ser enviado, que possibilita a verificação por erros que possam ocorrer durante a transmissão. Este total de verificação é calculado da seguinte maneira:

1. Pega-se o primeiro bloco (de 128 bits) da mensagem e o encripta utilizando AES;
2. Faz-se a operação XOR entre o resultado do passo anterior e o próximo bloco. O resultado deste é encriptado novamente com o AES;
3. Novamente, faz-se a operação XOR entre o resultado do passo anterior com o próximo bloco. E assim continua até o último bloco.

CONCLUSÃO

Neste artigo apresentamos uma breve introdução da Tecnologia Wi-Fi, como ela nasceu e quem foram os responsáveis pelo seu desenvolvimento. O trabalho foi desenvolvido com foco nos protocolos de enlace desta tecnologia. Descrevemos os Protocolos WEP, WPA e WPA2, onde analisamos como estes protocolos são tratados na rede, suas vulnerabilidades e como elas podem ser exploradas.

O protocolo WEP é o mais desprotegido de todos, possuindo muitas vulnerabilidades e principalmente muito fáceis de serem exploradas.

O WPA contém algumas correções das vulnerabilidades do WEP, mas ainda sim não é suficiente para ser considerado um protocolo seguro.

Já o WPA2 possui poucas vulnerabilidades, sendo assim o mais seguro dos protocolos para redes sem fio, mas devido a necessidade de aquisição de hardwares que aceitam esta tecnologia ela ainda é pouco utilizada .

Podemos concluir com este trabalho que, devido à maioria das redes sem fio utilizarem os primeiros protocolos desenvolvidos, sendo o WEP e o WPA, que as redes sem fio hoje existentes ainda são bastante vulneráveis, sendo um alvo fácil para hackers.


Referências

http://www.unibratec.com.br/jornadacientifica/diretorio/UFPEAGL.pdf http://www.teleco.com.br/tutoriais/tutorialredeswlanII/pagina_3.asp http://www.warchalking.com.br/cgi-bin/base/tutoriais2.444?22 http://www.lprad.ufpa.br/~margalho/wdeec/wlaca.pdf http://www.gta.ufrj.br/~rezende/cursos/eel879/trabalhos/srsf1/apresentacao.pdf http://mvmr.wordpress.com/2007/06/08/redes-wireless-wep-wpa-wpa2-qual-a-melhor-solucao-de-seguranca/ http://www.meiobit.com/comment/105155/Re-WPA-WEP-WPA2 http://pt.wikipedia.org/wiki/WPA http://www.infosecwriters.com/ http://informatica.hsw.uol.com.br/rede-wifi.htm http://www.notebooks-site.com/dicas/wifi-hotspot.html http://www.infowester.com/wifi.php