José Geraldo de Moraes


05/04/2008


Algoritmo A5

O GSM (Global System Mobile) é o sistema de telefonia móvel padrão na Europa, sendo o mais utilizado em todo o mundo. Foi o primeiro sistema a oferecer serviços de segurança, como autenticação, sigilo e distribuição de chaves de sessão.

A tecnologia GSM combina os sistemas TDMA, FDMA e FDD, ou seja, usa simultaneamente o múltiplo acesso (MA) por divisão e freqüência das portadoras (FDMA), o múltiplo acesso por divisão de tempo (TDMA) de cada portadora e usa uma faixa de freqüência para cada sentio de transmissão (FDD = Freqüency Division Duplex).

As informações referentes à assinatura e identificação  do usuário não estão embutidas no aparelho celular, e sim no chip destacável denominado SIM card (

Subscriber Identity Module), onde está contida a chave secreta, conhecida somente pelo chip e pela identidade HLR (Home Location Register), que contêm toda informação sobre o assinante.

Na tecnologia GSM, após a autenticação do usuário, estabelece-se uma chave Kc conhecida por ambas as partes (BTS e MS) com a qual as mensagens transmitidas e recebidas são cifradas por um algoritmo de stream cipher – que, ao contrário dos block ciphers, encriptam cada caractere (usualmente cada bit) de uma seqüência – chamado A5.

O GSM faz uso do sistema de criptografia de chave simétrica, e utiliza como processo de autenticação um mecanismo de desafio-resposta. Para garantir a segurança na comunicação, a tecnologia GSM faz uso de três algoritmos de segurança (A3, A5 e A8), sendo o A3 empregado para gerar o desafio-resposta, o A5 para cifrar e decifrar as mensagens e o A8 para gerar a chave de sessão.

O algoritmo A5 possui duas versões : o A5/1, versão mais forte, utilizada nos EUA e Europa Ocidental; o A5/2, versão mais fraca e exportável utilizada nos outros países.

A versão A5/1 possui uma chave de 64  bits, porém faz uso efetivo de 54 bits. O A5/1 realiza a cifragem das mensagens baseado em três LFSRs (Linear Feedback Shift Register) controlados por clock, sendo que os comprimentos dos registros são 19, 22 e 23. O resultado de saída é um XOR dos três registros LFSRs.

 

Ataques ao protocolo A5

 

Os ataques praticados à tecnologia GSM ocorrem sobre as vulnerabilidades encontradas no algoritmo A5/1. Basicamente, dois tipos de ataques acontecem sobre o A5/1 :  : known ciphertext attack ou known plaintext attack .

 

No ataque do tipo known ciphertext attack, o atacante possui somente o texto cifrado e necessita obter o texto claro ou a chave simétrica para decifrar a mensagem.  As etapas para a execução do ataque são : Dada uma seqüência de frame counters Fn {0,1}22 e uma seqüência de pares de frames cifrados Cn {0,1}114 x {0,1}114, um ataque ao A5/1 tem como objetivo  descobrir informações sobre o texto claro Pn {0,1}114 x {0,1}114 ou sobre a chave de sessão Kc.

De posse destes dados, um ataque de força bruta faz uma busca no espaço de todas as chaves Kc {0,1}64 possíveis criando um conjunto de seqüências pseudo-randômicas Xn {0,1}114 x {0,1}114 para cada frame e computando os pares de texto claro Pn para cada par Cn.

Para a concretização deste ataque é necessária a utilização de um algoritmo de reconhecimento de texto claro eficiente. A dificuldade de implementar tal  algoritmo limita a possibilidade prática do ataque de força bruta. Contudo, se a seqüência computada de Pn’s formar um texto claro válido, a chave Kc candidata foi encontrada.

 

O ataque do tipo known plaintext attack, supõe-se que o atacante possua uma parte do texto cifrado e o texto claro, tentando, então, obter a chave utilizada para cifrar a mensagem. É importante salientar que cada segundo de conversação contêm aproximadamente 28 frames, sendo que os telefones GSM enviam um novo frame a cada 4.6 milissegundos.

Os ataques do tipo  known plaintext attack criam a partir de um conjunto de frames de texto cifrado e seus textos claros correspondentes, um conjunto de streams de bits de saída (bit strings y(t)|288 t=101) para o A5/1, e posteriormente, tenta-se computar o estado do A5/1 antes do embaralhamento do frame counter. Neste ataque as seguintes etapas são executadas :

1. Determinar a partir de um conjunto de streams de bit de saída o estado interno do

A5/1 para alguns ciclos t > 100.

2. Inverter o A5/1 para determinar um conjunto de estados iniciais possíveis.

3. Inverter o embaralhamento do frame counter para determinar o estado do A5/1 após o embaralhamento da chave de sessão.

O estado obtido no ultimo passo pode ser utilizado para gerar um stream de bits para qualquer frame counter desejado e então realizar ciframento e deciframento da chave de sessão.

 

Referências :

 

http://packetstormsecurity.nl/crypt/cryptanalysis/a51-pi.htm

 

http://www.tml.tkk.fi/Opinnot/Tik-110.501/2000/papers/tarkkala.pdf

 

http://cryptome.org/a51-bsw.htm

 

http://www.teleco.com.br/tutoriais/tutorialroubocel/pagina_2.asp

 

Escrito por José Geraldo às 16h08
[ ] [ envie esta mensagem ] [ ]



Histórico