# Wired Equivalent Privacy

WEP significa Wired Equivalent Privacy, e foi introduzido na tentativa de dar segurança durante o processo de autenticação, proteção e confiabilidade na comunicação entre os dispositivos Wireless.
Wired Equivalent Privacy (WEP) é parte do padrão IEEE 802.11 (ratificado em Setembro de 1999), e é um protocolo que se utilizava para proteger redes sem fios do tipo Wi-Fi.

## Introdução

Ao longo dos últimos anos, observa-se um grande aumento no número de redes sem fios utilizadas por usuários domésticos, instituições, universidades e empresas.
Essa crescente utilização e popularização das chamadas WLANs, trouxe consigo mobilidade e praticidade para seus usuários mas também trouxe uma preocupação com a segurança destas redes. É exatamente essa preocupação com a segurança das redes sem fio que vem fazendo com que os protocolos de segurança sejam criados, desenvolvidos e atualizados com uma velocidade cada vez maior.

## WEP, a primeira barreira

O primeiro protocolo de segurança adotado, que conferia no nível do enlace uma certa segurança para as redes sem fio semelhante à segurança das redes com fio, foi o WEP (Wired Equivalent Privacy).
Este protocolo, muito usado ainda hoje, utiliza o algoritmo RC4 para criptografar os pacotes que serão trocados numa rede sem fios a fim de tentar garantir confidencialidade aos dados de cada usuário. Além disso, utiliza-se também a CRC-32 que é uma função detectora de erros que ao fazer a checksum de uma mensagem enviada gera um ICV (Integrity Check Value) que deve ser conferido pelo receptor da mensagem, no intuito de verificar se a mensagem recebida foi corrompida e/ou alterada no meio do caminho.

## Vulnerabilidades do WEP

No entanto, após vários estudos e testes realizados com este protocolo, encontraram-se algumas vulnerabilidades e falhas que fizeram com que o WEP perdesse quase toda a sua credibilidade.
Porque RC4 é uma cifra de fluxo, a mesma chave de tráfego nunca deve ser usada duas vezes. O propósito de um VI (vetor de inicialização), que é transmitido em texto puro, é para evitar a repetição, mas um VI de 24 bits não é suficientemente longo para garantir isso em uma rede ocupada. A forma como o VI foi usado também deu brecha para um ataque de chaves-relacionadas ao WEP. Para um VI de 24 bits, há uma probabilidade de 50% de que o mesmo VI irá repetir se após 5000 pacotes.
Em agosto de 2001, Scott Fluhrer, Itsik Mantin, e Adi Shamir publicaram uma criptoanálise do WEP que explora a forma como a cifra RC4 e VI são usados no WEP, resultando em um ataque passivo que pode recuperar a chave RC4 após espionagem na rede. Dependendo da quantidade de tráfego de rede, e desse modo o número de pacotes disponíveis para a inspeção, uma recuperação de chave bem-sucedida poderia levar apenas um minuto. Se um número insuficiente de pacotes está sendo enviado, existem maneiras para um atacante enviar pacotes na rede e, assim, estimular o envio de pacotes de resposta que podem então ser inspecionados para encontrar a chave. O ataque foi logo implementado, e ferramentas automatizadas já foram liberados. É possível realizar o ataque com um computador pessoal, off-the-shelf hardware e software disponíveis gratuitamente como Aircrack-ng para quebrar qualquer chave WEP em minutos. Cam-Winget et al. (2003) pesquisaram uma série de deficiências do WEP. Eles escrevem "Experimentos em campo indicam que, com equipamento adequado, é possível espionar redes protegidas WEP de distâncias de um quilômetro ou mais da meta." Eles também relataram duas fraquezas genéricas: o uso de WEP era opcional, resultando em muitas instalações nunca sequer ativá-los, e a WEP não incluía um protocolo de gerenciamento de chave, contando apenas com uma única chave compartilhada entre os usuários.
Em 2005, um grupo do Federal Bureau of Investigation EUA deu uma demonstração onde rachou uma rede WEP-protegida em três minutos usando ferramentas disponíveis publicamente. Andreas Klein apresentou outra análise da cifra de fluxo RC4. Klein mostrou que há correlação entre a chave de fluxo do RC4 e a chave do que os encontrados por Fluhrer, Mantin e Shamir, que pode ainda ser usado para quebrar WEP e modos de uso semelhantes.
Em 2006, Bittau, Handley, e Lackey mostrou que o protocolo 802.11 em si pode ser usado contra WEP para permitir ataques anteriores que antes eram tidos como impraticáveis. Depois de espionagem de um único pacote, um atacante pode rapidamente transmitir dados arbitrários. O pacote espionado pode então ser descriptografada um byte de cada vez (através da transmissão de cerca de 128 pacotes por byte para descriptografar) para descobrir os endereços IP da rede local. Finalmente, se a rede 802.11 é conectada à Internet, o invasor pode usar a fragmentação 802.11 para repetir os pacotes espionados ao criar um novo cabeçalho IP para eles. O ponto de acesso pode então ser usada para decifrar estes pacotes e retransmiti-las para um amigo na internet, permitindo em tempo real, decodificação de tráfego WEP dentro de um minuto de espionagem do primeiro pacote.
Em 2007, Erik Tews, Andrei Pychkine e Ralf-Philipp Weinmann foram capazes de estender o ataque Klein 2005 e otimizá-lo para uso contra WEP. Com o novo ataque é possível recuperar uma chave de 104 bits WEP com probabilidade de 50% usando apenas 40.000 pacotes capturados. Para 60.000 pacotes de dados disponíveis, a probabilidade de sucesso é de cerca de 80% e para 85 mil pacotes de dados cerca de 95%. Usando técnicas de ativos como deauth e re-injeção ARP, 40.000 pacotes podem ser capturados em menos de um minuto em boas condições. O cálculo real leva cerca de 3 segundos e 3 MB de memória principal em um Pentium-M 1.7 GHz e pode ser adicionalmente otimizada para dispositivos com processadores mais lentos. O mesmo ataque pode ser usado para as chaves de 40 bits com uma probabilidade de sucesso ainda maior.
Em 2008, a última atualização do Data Security Standard (DSS) pelo Payment Card Industry (PCI) Security Standards Council, proíbe o uso do WEP como parte de qualquer processamento de cartão de crédito após 30 de Junho de 2010, e proibir qualquer novo sistema a ser instalado que usa WEP após 31 de março de 2009. O uso de WEP contribuiu para a invasão da rede da empresa T.J. Maxx.

## Primeiras soluções propostas

Tendo-se em vista todas essas fraquezas do protocolo, algumas possíveis soluções foram propostas a fim de contornar e por que não acabar com tais fraquezas.
Uma das soluções que foi cogitada foi a substituição da CRC-32 por uma função de hash MD5 ou SHA-1 por exemplo. No entanto, esta seria uma solução muito cara além do que, tornaria a execução do protocolo pelos atuais processadores muito lenta.
Uma outra solução discutida foi descartar os primeiros 256 bytes da saída do gerador de números pseudo-aleatórios utilizado na criação dos vetores de inicialização. Isso seria feito devido a alta correlação dos primeiros bits exalados pelo RC4 com a chave. Porém, essa solução mostrou-se também muito cara e para muitas aplicações, inviável de ser implementada.
Então, no final do ano de 2001, o pessoal dos laboratórios RSA sugeriu que para contornar as fraquezas do WEP fosse usada uma função de hash mais leve, que usasse uma chave temporária para criar chaves diferentes para cada pacote.
Na proposta, mostra-se que essa função de hash mais simples seria composta de duas fases distintas.
Na primeira fase teríamos como entrada a chave temporária (TK) e o endereço do transmissor (TA). Ter o endereço de quem está transmitindo como parâmetro é muito vantajoso para evitar que sequências RC4 sejam repetidas. Imagine por exemplo uma estação que só se comunica com o ponto de acesso (AP). A informação trocada entre eles utiliza a mesma chave temporária TK e isso aumenta as chances da sequência se repetir, bastaria que o mesmo vetor de inicialização fosse utilizado para isso ocorrer.
No entanto agora, juntamente com a chave temporária a estação utilizará seu endereço para gerar suas sequências RC4 e da mesma forma, o AP utilizará seu próprio endereço para gerar suas sequências. Dessa forma, evita-se a repetição de sequências dificultando dessa forma alguns ataques.
Na segunda fase proposta, a entrada seria a saída da primeira fase, e o vetor de inicialização. A saída dessa segunda fase seria então o que chamaram de PPK, ou seja uma chave de 128 bits, diferente para cada pacote. Esse texto foi originalmente publicado no site Lockabit

## Tipos

* WEP64 (40 bits reais)
* WEP128 (104 bits reais)