quinta-feira, 23 de abril de 2009

ALGORITMO DE CRIPTOGRAFIA A5

1. INTRODUÇÃO

A primeira geração de telefones celulares foi caracterizada por sua tecnologia analógica e com o desenvolvimento da tecnologia a geração de telefones atualmente existentes baseiam-se na tecnologia digital. A transmissão digital tem várias vantagens em relação à analógica, particularmente pela quantidade de recursos que podem ser disponibilizados aos usuários.
Dentre diversos sistemas celulares de tecnologia digital, podemos citar o sistema GSM que é um sistema digital de segunda geração, concebido com o propósito de resolver os problemas de fragmentação dos primeiros sistemas celulares no continente europeu. Foi o primeiro sistema celular no mundo a especificar modulação digital e arquiteturas de serviços de nível de rede.
O padrão GSM obteve grande sucesso que excedeu as expectativas, tornando-se o padrão mais popular para equipamentos de comunicação pessoal e sistemas celulares em todo o mundo.
A segurança dos sistemas celulares mais antigos, como por exemplo o sistema AMPS (Advanced Mobile Phone System) possuia uma grande vulnerabilidade com relação a possibilidade de escuta e monitoração de transmissões nas freqüências utilizadas. Os algoritmos eram fracos e permitiam a escuta de conversas. No sistema digital GSM os algoritmos de segurança são usados para prover autenticação e privacidade dos usuários em uma rede GSM.
Existem três tipos de algoritmos, no sistema GSM, sendo os seguintes: A3, A5 e A8. Os algoritmos A3 e A8 são utilizados simultaneamente (conhecido como A3/A8) e são implementados no cartão SIM e nas redes GSM e usados para autenticar os assinantes e gerar uma chave para criptografia dos dados e voz. O algoritmo A5, por sua vez, embaralha a voz e dados dos usuários entre o handset e a BSU de modo a prover privacidade. Um algoritmo A5 é implementado em ambos. O algoritmo A5 é utilizado para criptografia binária de streams em comunicações, sendo específico na terceira camada GSM para criptografia de mensagens.
Nas redes GSM uma chave Kc é estabelecida entre BTS e MS, após a autenticação, e todas as mensagens são criptografadas por ambos usando a chave Kc com um algoritmo simétrico, sendo que o A5 criptografa streams ao invés de blocos. O A5 é encontrado em três versões:
- A5/2 – utilizada geralmente pelo GSM (exceto quem usa A5/1);
- A5/1 – utilizada nos EUA e Europa e é mais robusta do que o A5/2, sendo o primeiro algoritmo criado para a tecnologia GSM para gerar a máscara de criptografia para codificação do burst normal GSM. Esta criptografia garante sigilo na interface aérea (entre MS e BTS). O A5/1 possui uma chave de 64 bits, porém seus 10 últimos bits não são usados, gerando uma chave real de 54bits;
- A5/0 – utilizada por países sob sanções da ONU e não utiliza criptografia; e
- A5/3 – uma nova versão do A5, baseada no algoritmo Kasumi (que também será
usada em 3G) foi regulamentada e padronizada, porém ainda não está efetivamente em uso.


2. VANTAGENS
Por ser um algoritmo de cifra de streams, o A5 possui a propriedade de ser mais rápido que os algoritmos de cifra de blocos, além de ser indispensável em aplicações em que há pouca memória de buffer e é necessário processar e enviar os caracteres individualmente.
É bastante eficiente em hardware e possui boas características estatísticas, sendo que sua idéia pode ser melhorada com uma escolha mais adequada dos LFSR’s.

3. DESVANTAGENS
Esse algoritmo é considerado criptograficamente fraco, por causa do curto comprimento dos polinômios de conexão e por seus coeficientes estarem esparços.

4. POSSÍVEIS ATAQUES (Texto Plano Conhecido)
a. O Ataque de Shamir, Biryukov e Wagner
Este ataque consiste em preparar um ataque em 248 passos e a partir daí o ataque pode acontecer em tempo real em um PC. Este ataque requer uma amostra de 2 minutos de conversação, e o PC descobre o algoritmo em 1 segundo, outro ataque é pegando dois segundos de conversação e calcula-se a chave em poucos minutos

b. O Ataque de Goldberg e Wagner
Em 1999, Ian Goldberg e David Wagner anunciaram um ataque durante a Crypto99 no A5/2 (versão menos robusta) que requeria alguns poucos bits e apenas 216 passos, demonstrando que a versão “de exportação” do A5 é bastante insegura.

5. REFERÊNCIAS

[1] Redes GSM e GPRS
Luis Fernando B Braghetto, Sirlei Cristina da Silva, Marcelo Lotierso Brisqui
http://www.braghetto.eti.br/files/Trabalho%20Final%20GSM.pdf

[2] Uma Visão sobre Segurança nas Redes GSM, GPRS e UMTS
Penha, André; Souza, Rafael Nanya; Boldrini, Rafael
http://www.ic.unicamp.br/~980649/sec.html

[3] GSM, Global System for Mobile Communications
A5/3 and GEA3 Specifications
http://www.gsmworld.com/using/algorithms/docs/a5_3_and_gea3_specifications.pdf

[4] Mobileipworld.com
http://www.3g-generation.com/gprs_and_edge.htm

[5] Os primeiros passos do GPRS
http://www.telemoveis.com/articles/item.asp?ID=387

quarta-feira, 22 de abril de 2009

CRIPTOGRAFIA COM CURVAS ELÍPTICAS

1. ORIGENS
Em 1985, Neal Koblitz e Victor S.Miller sugeriram a utilização de curvas elípticas em processos criptográficos. Assim como outros processos criptográficos, a criptografia com Curva Elíptica é uma aproximação para a criptografia de chave pública, sendo baseada na estrutura algébrica de curvas elípticas acima de campos finitos. As Curvas Elípticas são também usadas na fatoração de algoritmos inteiros, que têm aplicações criptográficas.
O interesse pelas curvas Elípticas está baseada pelo fato de duas muitas aplicações em criptografia: fatoração de inteiros, teste de primalidade e para construção de criptosistemas.

2. FUNCIONAMENTO
A Criptografia de chave pública é baseada na criação de textos cifrados que se originam a partir da aplicação de formulas matemáticas que se utilizam de operações matemáticas com números primos. As operações com estes elementos geram uma combinação que tem como resultado uma chave pública para troca de mensagens.
A equação: y2 = x3 + a x + b define uma curva elíptica plana em que as pontas em uma curva podem ser mostradas para formar um grupo abeliano, ou seja, com o ponto infinito como a identidade do elemento. A escolha de um grande campo finito possibilita que coordenadas x e y dêem forma a um grupo abeliano finito. Há que se destacar, ainda, o problema com Logaritmo Discreto, que em tais grupos de curvas elípticas é visto como mais difícil do que o problema correspondente no campo finito subjacente. Deste modo as chaves na criptografia de curvas elípticas podem ser escolhidas para serem muito mais curtas para um nível comparável da segurança.

3. VANTAGENS
a. Os algoritmos de criptografia assimétrica com curvas elípticas, quando implementados de forma adequada, podem oferecer um nível de segurança superior ao dos métodos convencionais para um mesmo tamanho de chave.
b. É uma opção para aplicação em ambientes computacionais limitados como telefones, celulares, pagers, entre outros.
c. AS chaves para criptografia são pequenas o que implica em um ganho de velocidade do processador, de memória e de largura de banda, o que facilita sua implementação tanto do ponto de vista de software como de hardware.

4. DESVANTAGENS
a. Tendo em vista que os algoritmos, por sua natureza matemática, são computacionalmente intensivos, o método torna-se lento para o uso.
b. Para que haja a garantia da identidade e de chaves públicas confiáveis, o mesmo requer uma autoridade de certificação.

5. REFERÊNCIAS
a. http://pt.wikipedia.org/wiki/Criptografia_com_Curva_El%C3%ADptica
b. http://www.prp.unicamp.br/pibic/congressos/ixcongresso/cdrom/pdfN/389.pdf
c. http://www.ccet.unimontes.br/arquivos/monografias/261.pdf