WirelessBR

WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade  comercial,  feito por voluntários, para divulgação de tecnologia em telecomunicações 

SOBRE SEGURANÇA, CÓDIGOS, ESCUTAS E AUTENTICAÇÃO

Autora: Maria Luiza Melo (*)



Nota do Coordenador do WirelessBR: 
Esta matéria é uma mensagem veiculada no Grupo WirelessBR e está transcrita a nosso pedido, numa cortesia especial da autora.
Foi escrita de modo informal, sem maiores pretensões a não ser a de compartilhar conhecimentos.
A autora aceita comentários e sugestões.
Obrigado, Maria!
Helio Rosa

Sobre segurança, códigos, escutas e autenticação...

O que é uma rede segura?

Uma rede segura é aquela onde o usuário é quem diz ser (autêntico), que as informações do usuários são entendidas apenas pelo destino correto (segura) sem escutas (privacidade), e que a informação transmitida é exatamente a mesma que a recebida (confiável).

Autenticação

Em redes celulares, a autenticação é relacionada com a clonagem dos aparelhos.
Além da identidade do terminal móvel na interface aérea (IMSI, MIN, TMSI, etc) e do número serial do aparelho (ESN) existem outras informações guardadas pelos terminais e pelos centros de autenticação AuC (maioria localizados no HLR) atualizadas de maneira dinâmica e que não são acessíveis para quem manipula os aparelhos. O algoritmo de autenticação dos sistemas CDMA e GSM é o mesmo, variam alguns parâmetros, mas a ETSI torna obrigatório que todos os fabricantes de elemento de rede e de terminais GSM/GPRS tenham a autenticação, cabendo a operadora utilizá-la ou não. Por que não utilizar? Pura performance! A autenticação torna o processamento de chamadas um pouco mais lento e isto pode influenciar negativamente os índices de desempenho da operadora. O resto é lucro.

Confiabilidade

A confiabilidade da informação é fornecida garantindo-se detecção e correção de erros e para isto existem dezenas de milhares de códigos conhecidos, cada qual com sua aplicação.
Qual o melhor código para um sistema? Depende!
Segundo Claude Shannon (1949/1950), para a máxima taxa de transmissão de um canal a transmissão sem erro é sempre possível, mas esta dependerá da complexidade computacional.
Resumindo ao básico, a complexidade computacional pode ser mapeada diretamente no tempo esperado para a resposta do decodificador. Se é possível espera, é possível corrigir-se mais erros e a informação é mais precisa.

Os serviços em tempo real (voz, videoconferência), não suportam este tipo de decodificação lenta e perfeccionista.
Todos os sistemas celulares utilizam a codificação convolucional com decodificação de Viterbi (o mesmo cara que "inventou o CDMA", junto com o Jacobs, CEO da Qualcomm) para voz. Variam um pouco os parâmetros de cada codificador e decodificador.
Aqueles abomináveis picotes que ouvimos ao falar no celular ocorrem quando o número de erros de transmissão excede a capacidade do código. Todo código tem um limite de correção de erros.
Além dos códigos convolucionais, todos os sistemas celulares utilizam uma maneira de detectar erros adicionais que é através da verificação de consistência, os chamados códigos CRC onde os mais simples são os códigos de verificação de paridade.
A regra é a seguinte, se houver erro detectado, apaga-se um pedaço da informação (voz), e aí vem o picote de voz. Os CRC tem uma capacidade de detecção e podem ocorrer erros que este código não detecte. Estes erros causam distorções na voz, como o famoso efeito de "falar de boca cheia", "serra elétrica"...
Quando trata-se de transmissão de dados, as soluções são muito variadas, pois tem-se uma variedade de algoritmos enorme, que inclusive podem ser residentes nas aplicações. Os erros podem causar aquele detestável X em sua página WEB.

Privacidade

Os métodos de proteção da informação acima não garantem que outro usuário possa ouvir a sua conversa e se este outro for "ruinzinho" pode ainda plantar informações falsas em sua transmissão de dados ou voz, como por exemplo usar o número do seu cartão de crédito. Quem lembra das linhas cruzadas nos telefones analógicos? Caso clássico de escuta. E para a rede ser totalmente segura, as informações trocadas entre origem e destino devem ser privadas. Há dois tipos de privacidade a ser considerado para estes casos. A privacidade inerente ao método de acesso e a privacidade inserida ou intencional, que é obtida através do uso de algoritmos de criptografia.

A privacidade inerente ao acesso depende do método utilizado. Os métodos de acesso mais comuns para sistemas sem fio são:
- por divisão em tempo, como por exemplo dos sistemas GSM, PDC e TIA/EIA136;
- por divisão em código onde citamos os sistemas TIA/EIA 95-B, que é o sistema CDMA padrão, IS-2000 (cdma 1xRTT), UMTS (3G) e
- os sistemas CSMA, (Carrier Sense Multiple Access) que são muito usados em redes de computadores, incluindo as WLAN IEEE 802.11.
Colocar escutas nestas redes é relativamente fácil, pois o algoritmo de acesso é de domínio público.
Portanto basta colocar um receptor e "treiná-lo" para ouvir o canal que todos eles são inseguros.
O grande problema é o "treinamento do receptor". Para cada usuário que deseja-se ouvir é necessário o treinamento. Como os sistemas são móveis, isto já é um problema.
Outro ponto é o quanto se demora para treinar o receptor, que pode levar segundos, dias ou anos. Neste ponto é que reside a grande vantagem de todos os sistemas CDMA, pois para treinar um receptor, ou seja um único telefone, o mínimo tempo necessário é da ordem de 40 dias. Os outros métodos levam apenas algumas horas, no máximo.
Assim se pode afirmar que os sistemas celulares com acesso baseado em códigos (CDMA) são menos invadidos que os demais.

Segurança

É sempre possível inserir-se privacidade no sistemas em níveis superiores. Lembrando do modelo OSI, a privacidade do método de acesso está na camada física, sobram seis camadas onde pode-se ainda atacar o problema da escuta, através de algoritmos de criptografia. Se estes não existissem, as comunicações de guerra não seriam seguras e não se fariam transações bancárias a distância. Todos os sistemas celulares têm padronizados algoritmos de criptografia para evitar a escuta, tanto para a transmissão de dados do usuários (denominados algoritmos de Voice Privacy ou User Privacy) como para as mensagens de controle que circulam na rede. Ao acessar via Wap o site de seu banco, você poderá notar o símbolo de um cadeado em seu aparelho ou semelhante, e isto indica que as informações trocadas entre as duas partes são seguras. Esta segurança é obtida porque antes de se iniciar as transmissões as duas partes "combinaram" como iriam decodificar as informações. Esta combinação é feita a través de operações matemáticas sobre a informação que têm uma propriedade muito especial, a operação é muito fácil de se fazer, mas para se desfazer é demasiadamente complexa se você não conhece alguns parâmetros que são específicos dos usuários autorizados (login, senha, confirmação de idade, frase secreta, letras e números de acesso, etc), ou armadilhas. Este ato de desfazer a operação é o truque. Existe uma maneira fácil de desfazer, mas esta maneira só os receptores autorizados pelo sistema conhecem, pois os parâmetros foram trocados para o início da transação. Quem escuta o sistema não consegue desfazer a operação e conseqüentemente, "ouve dados errados".

O pior problema de segurança é quando algumas pessoas mal intencionadas querem apenas bagunçar o sistema. Uma maneira fácil para celulares é inserir transmissores de alta potência (>100W) nas bandas de transmissão ou recepção. Isto irá tirar fora do ar as estações de rádio base da área. Em redes, os UDP Flows são famosos. Estes, porém são casos de polícia e não de tecnologia portanto os esforços modernos dirigem-se para identificar a criatura que produziu estes eventos


A autora, Maria Luiza Melo (mlmmelo@yahoo.com)  é Coordenadora da Seção Cell Planning do site WirelessBR, participa ativamente dos Grupos de debates WirelessBr e Celld-group e  trabalhou com códigos de 1992 a 1994, no laboratório de Criptografia e Códigos (CODEC) da UFPE.

Home WirelessBR