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 (*) |
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.