Em defesa de Rivest

Fernando Verissimo

Esse texto foi originalmente publicado no site Lockabit em 13 de dezembro de 2001.

Introdução

O WEP, Wired Equivalent Privacy, é um protocolo de segurança encontrado em alguns dos padrões de redes locais sem fio, as WLANs, e de redes pessoais sem fio, os WPANs. Padrões como: IEEE 802.11, IEEE 802.15, Bluetooth e HomeRF. O WEP tenta prover segurança, através dos seus mecanismos de autenticação, criptografia e integridade de dados.

Sobre criptografia, especialmente, o WEP utiliza-se de uma variação do algoritmo de Ron Rivest, o RC4, escrito em 1987 e mantido em sigilo até 1994, quando alguém enviou, anonimamente, para uma lista de discussão da internet, um algoritmo, afirmando que aquele era o RC4. E isso foi confirmado empiricamente, e o que era segredo industrial tornou-se domínio público, num piscar de olhos.

As redes sem fio são implementadas de 3 formas: Cliente-cliente, cliente-rede, rede-rede. Respectivamente, são redes formadas por conexões entre dois dispositivos móveis, entre um dispositivo móvel e um ponto de acesso de uma rede estruturada, ou duas redes estruturadas que são conectadas através do ar, com a ajuda de antenas direcionais. Em todos os casos a conexão é feita através do ar, que é um meio de propagação muito mais inseguro do que o fio, o cabo, a fibra ótica. Pode-se imaginar que, facilmente, um intruso, com um equipamento compatível ao seu padrão de rede de comunicação, pode ‘escutar’ o que está sendo transmitido, sem precisar estar na linha reta que ligam os dois pontos de acesso, ou os dois dispositivos móveis.

Imagine um cenário como este: Um escritório no oitavo andar de um prédio tem a sua rede conectada, por um desses padrões de rede sem fio, à rede instalada no quinto andar de um outro prédio do outro lado de uma praça. O que impede que os sinais se propaguem por entre os bancos dessa praça ? O intruso, com o seu notebook, pode entrar no meio dessa comunicação, ler as informações que trafegam por essa conexão, e, eventualmente, inserir outras informações, alterando, assim, dados importantes para esses escritórios.

Um cenário assim seria fácil de imaginar se não houvesse segurança nesses padrões de rede. E, como disse anteriormente, o WEP é responsável por esta segurança em alguns deles.

Artigos atacam o RC4

O ano de 2001 foi marcado pela publicação de dois artigos importantíssimos sobre a fragilidade do protocolo WEP: O Intercepting Mobile Communication, escrito pelo pessoal da Universidade da Califórnia em Berkeley, e o Weakness in the Key Scheduling Algorithm of RC4, escrito pelo pessoal da CISCO em parceria com o pessoal do Instituto Weizmann, Israel. Eu tenho uma cópia dessas publicações em formato PDF no meu site. Esses dois artigos atacam o WEP, alegando ou dando a entender que a sua maior fragilidade é o seu algoritmo de criptografia.

O primeiro artigo ensina como se consegue, sem o conhecimento prévio da chave , ter acesso às informações criptografadas. Nesse artigo Borisov, Goldman e Wagner descrevem também como se consegue construir uma base de dados com todas as chaves utilizadas nessa rede que se está escutando, como facilmente podemos nos utilizar da técnica de reter um pacote autenticado para envio posterior, conhecido como replay, e como podemos alterar, inserir ou remover pacotes em uma sessão de comunicação entre dois dispositivos de comunicação móvel.

O segundo artigo ataca o RC4 mais explicitamente, alegando que a cadeia de bits gerada na sua saída tem correlação alta com bits da chave de criptografia. Fluhrer, Martin e Shamir usam teoremas matemáticos para provar que o primeiro byte da cadeia de bits que é gerada pelo RC4, dependem exclusivamente de três bytes do vetor de bytes formado pela permutação de um outro vetor de byte que é composto pelos números que variam de 1 a 256. A forma como esses bytes são permutados depende da chave. Para entender melhor esses artigos é preciso ter conhecimento prévio do algoritmo RC4 e de como ele é implementado no WEP.

Defesa do Rivest

Rivest em resposta ao artigo escrito por Fluhrer, Martin e Shamir, fala sobre os aspectos que tornam o WEP frágil. Ele concorda que o WEP, e também o WEP2, a nova versão desse protocolo de segurança, são facilmente quebráveis.

Mas alerta para o fato de que o RC4 é utilizado em vários outros protocolos de segurança, além de banco de dados e sistemas operacionais sem apresentar qualquer problema.

O RC4 foi implementado de forma equivocada no WEP, porque a cadeia de bits que é a chave para o RC4 é composta da cadeia de bits que é a chave para o WEP mais um vetor de inicialização. O vetor de inicialização é uma cadeia de 24 bits que o padrão WEP não especificou a forma como deveria ser alterada, ou se deveria ser alterada, ou qual a freqüência em que ela deveria ser alterada. Com isso, nas implementações, parte da chave do RC4 se repete de tempos em tempos.

O protocolo SSL (Secure Sockets Layer) também é baseado no algoritmo RC4 e existe duas razões para que esse protocolo não tenha sido ainda quebrado.

Primeiro, o SSL gera a chave cifrada para o RC4 através de um processo de hashing (utilizando o MD5 e o SHA1), o que traz diferentes sessões com chaves não correlacionadas. Segundo, SSL não reinicia o vetor de estado (aquele que tem 256 bytes numerados de 1 a 256) a cada pacote, mas usa o vetor de estado do fim da transmissão do último pacote para iniciar a transmissão no novo pacote.

Conclusão

O RC4 é um algoritmo para gerar cadeias de bits pseudo-aleatórias excepcionalmente simples e de extrema eficiência, segundo Ron Rivest. Os recentes ataques aconteceram graças a defeitos na arquitetura do WEP. O RC4 foi muito injustiçado nesse ano. Os mesmo artigos que provam que o WEP é frágil, provam, nas entrelinhas, que a culpa não é do RC4, mas não deixam isso claro em suas conclusões. Aliás, frágil é o algoritmo de integridade que é utilizado no WEP, o CRC32, mas isso já é outra história.

Referência Bibliográfica

BORISOV, N., GOLDBERG, I. AND WAGNER, D. 2001. Intercepting Mobile Communications: The Insecurity of 802.11. The Seventh Annual International Conference on Mobile Computing and Networking. July 16-21, 2001, Rome, Italy

DE CARVALHO, D.B. 2000. Segurança de Dados com Criptografia: Métodos e Algoritmos. Rio de Janeiro:Book Express.

FLUHRER, S., MANTIN, I. AND SHAMIR, A. 2001. Weakness in the Key Scheduling Algorithm of RC4. Presented at 8th Annual Workshop on Selected Areas in Cryptography. 23pp.

RIVEST, R. 2001. RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4. RSA Security's Site. http://www.rsasecurity.com/rsalabs/technotes/wep.html. Last Access: 13-Dec-2001.

O Lockabit não compartilha necessariamente da mesma opinião do autor.

<Votar à página principal>

Atualizado em 13 de dezembro de 2001