Aspectos de Segurança em Comunicações Utilizando a Tecnologia Bluetooth

1. Visão Geral

A tecnologia sem fio Bluetooth provê, dentro de um pequeno intervalo, a conectividade sem fio de dispositivos. Aplicações com características bastante diferenciadas podem ser construídas com base neste tipo de rede ad-hoc, i.e., que não possui um único ponto de acesso, na qual todos os terminais funcionam como roteadores (qualquer um pode ser dispositivo mestre). Os requerimentos de segurança para aplicações Bluetooth são baseados na sensibilidade da informação envolvida, mercado e necessidades do usuário. Existem algumas aplicações que não requerem qualquer medida de segurança e outras que requerem obrigatoriamente altos níveis de segurança. Análises de risco e estudos de caso precisam ser conduzidos prioritariamente para implementar novas aplicações utilizando a tecnologia sem fio Bluetooth.

O Bluetooth é uma tecnologia para redes sem fio que alia a mobilidade na interconexão de dispositivos, fornecendo rapidez e agilidade nas comunicações. Contudo, a comunicação neste tipo de redes é estabelecida por ondas de rádio, o que a torna mais vulnerável a diversas ameaças de segurança da informação em comparação a outras tecnologias.

O sistema de tecnologia sem fio Bluetooth contém uma série de perfis. Um perfil define uma seleção de mensagens e procedimentos (geralmente chamados de capacidades) de especificações Bluetooth SIG (Special Interest Group).

Segurança pode ser definida por quatro elementos fundamentais, que são seus principais requisitos: disponibilidade, acesso, integridade e confidencialidade, que podem ser aplicados em diversos níveis. Neste trabalho, a abordagem se restringirá à camada de enlace de dados.

O espalhamento espectral por saltos em freqüência (Frequency Hopping Spread Spectrum – FH-SS) é uma técnica utilizada na qual uma seqüência de símbolos faz uma modulação numa portadora variante em função de uma seqüência pseudo-aleatória. A transmissão do sinal, espalhado numa vasta largura de faixa, permite a um dado momento ser mais facilmente detectável e reconhecível para uma combinação específica de freqüências. No início, quando não era reconhecível a combinação de freqüência onde se estabelecia a transmissão, a “segurança pela obscuridade” garantia certa proteção dos dados (uma espécie de técnica criptográfica). No entanto, atualmente há um padrão da seqüência de freqüências utilizada, logo não há mais segurança na proteção dos dados. Cumpre ressaltar o objetivo principal do espalhamento espectral por saltos em freqüência não era a criptografia em si, mas sim reduzir interferências entre as transmissões de uma mesma célula (ainda atual).

2. Criptografia: uma visão geral

Todo e qualquer indivíduo, a todo o momento, é emissor e receptor de informações, i.e., alguém que freqüentemente emite mensagens claras, originais ou texto normal (plaintexts) para um ou vários receptores previamente definidos, os quais, por sua vez, recuperam a mensagem original e interpretam-na. Quando esta informação é transmitida pessoalmente, é possível escolher algumas formas bem peculiares de preservar o acesso da informação apenas para os receptores desejados (falando em tom mais baixo, e.g.), mas quando essa informação é transmitida através de uma rede multiusuário, como a Internet, é altamente recomendável recorrer a algoritmos de criptografia (cryptography algorithms) para proteger as mensagens.

O processo de encriptação se dá basicamente da seguinte forma: a mensagem original recebe uma espécie de senha, que é uma chave de encriptação (encryption key), formando uma mensagem cifrada ou criptograma (ciphertext), a qual é ilegível para acessos não-autorizados; ao chegar ao receptor, o mesmo utiliza uma chave de decriptação (decryption key) para recuperar a mensagem original (estas chaves não são necessariamente diferentes). De uma forma geral, existem três tipos de algoritmos de criptografia: chave secreta (simétrico), chave pública (assimétrico) e hashing. No caso da criptografia simétrica, os usuários compartilham uma única chave que deve ser mantida secreta, e por isso existe um esforço substancial para efetuar o gerenciamento das chaves (key management), processo que inclui algumas etapas relativamente complexas (geração, distribuição, armazenamento, uso, mudança e destruição de chaves). Um dos algoritmos mais conhecidos deste tipo de encriptação é o Padrão de Encriptação de Dados (DES – Data Encryption Standard).

No caso da criptografia de chave pública, cada participante envolvido tem uma chave secreta, que não é compartilhada com nenhum outro usuário, e uma chave pública, a qual todos têm acesso. Para o emitente enviar uma mensagem segura para um dado participante, esta é encriptada utilizando uma chave pública, e então o destinatário decripta-a utilizando uma chave privada, e.g., o algoritmo RSA.

Por fim, o terceiro tipo de criptografia é a função de hash ou mensagem condensada (“message digest”); ao contrário dos dois algoritmos anteriores, as funções de hash criptográfico não envolvem o uso de chaves, i.e., a chave não é um argumento; no lugar disso, a idéia é condensar uma mensagem grande e aleatória de forma a fixar seu tamanho. Este tipo de função calcula um teste de verificação por soma (checksum) de uma mensagem: se um checksum comum protege o receptor de mudanças acidentais da mensagem, protegendo sua integridade, um checksum criptográfico protege o receptor de uma mudança maliciosa da mensagem. Isso acontece porque todos os algoritmos de hash criptográfico são cuidadosamente selecionados por funções irreversíveis, i.e., dado um checksum criptográfico para uma mensagem, é impossível recuperar a mensagem original a partir do checksum, e.g., MD5.

Ao conjunto de mensagem cifrada, chaves e algoritmo de criptografia denomina-se criptosistema (cryptosystem) e à capacidade de interpretá-lo, análise criptográfica (cryptanalysis). Juntas, a criptografia e a criptanálise formam a criptologia, que pode ser definida como a ciência das comunicações secretas. O sistema criptográfico (cifrado) é um conjunto de transformações irreversíveis do espaço (conjunto de todas essas mensagens possíveis) de texto normal no espaço do criptograma, expresso matematicamente por:

Y=F(X,Z)=FZ(X),

Onde Y é o criptograma, FZ(X) é uma transformação irreversível do espaço de texto normal no espaço do criptograma, X é a mensagem original e Z é a chave.

O caráter irreversível da transformação implica que só é possível recuperar a mensagem original a partir do criptograma, dado adicionalmente o conhecimento da chave. Por isso, o criptanalista tem a árdua tarefa de descobrir a chave para interpretar o texto plano.

Na extremidade receptora tem-se:

F-1(Y,Z)=F-1Z(Y)=F-1Z(FZ(X))=X,

Onde F-1(Y,Z) é a função inversa do espaço do criptograma no espaço do texto normal, em função do criptograma e da chave.

Entre as várias vantagens da criptografia, destaca-se a autenticidade, i.e., a capacidade de identificar o emissor das mensagens, que por sua vez possibilita o não-repúdio do emissor sobre a autoria das mesmas; além disso, a garantia de envio da mensagem original ao receptor pré-definido sem alterações (integridade), além do envio da mensagem apenas para pessoas autorizadas a conhecer seu teor (confidencialidade). Contudo, o objetivo principal da criptografia, seja utilizando a mesma chave secreta para cifrar a mensagem emitida e recebida (criptografia de chave secreta, simétrica ou convencional), seja utilizando chaves diferentes, uma pública e outra privada (criptografia de chave pública ou assimétrica), é alcançar a segurança perfeita, i.e. estar certo de que mesmo que um invasor intercepte a mensagem cifrada, será impossível interpretá-la (indistinguishability), ou é o sistema no qual a mensagem original e o criptograma não dependem estatisticamente um do outro (não se pode obter qualquer informação a respeito da mensagem original dado o criptograma). Além disso, é preferível a utilização de cifras computacionalmente seguras, que implica que admitindo a utilização máxima dos recursos computacionais disponíveis, não seja possível ainda assim decifrá-la, o que na prática significa que não é viável para o criptanalista utilizar os recursos de que dispõe (computacionais, financeiros, tempo) para quebrar a cifra (seja porque não valerá o esforço, seja porque mesmo utilizando os recursos de que dispõe não terá o êxito desejado). Alguns bancos utilizam tokens para acesso da conta bancária pela Internet.  Estes dispositivos geram chaves randômicas de 8 caracteres que mudam a cada intervalo especificado de tempo, muito curto (muitas vezes menos de 1 min), que devem ser informadas no site após a informação da senha para acesso web. Para o criptanalista encontrar esta chave por força bruta, existem 108 possibilidades para serem testadas em menos de 1 min; fato que a depender da potência computacional de se disponha, pode fazer com que não se obtenha o êxito desejado.

Neste ínterim, a chave é considerada a única peça da informação verdadeiramente privada e secreta; assim, admite-se que é impossível decodificar uma mensagem sem conhecimento de sua chave.

3. Ameaças, ataques e vulnerabilidades de segurança da informação

Um ataque pode ser definido como uma violação intencional de um objetivo de segurança. Para que ele possa surgir, é necessário haver uma vulnerabilidade, i.e, a oportunidade de se causar uma ameaça, que por sua vez é definida como a tentativa de um criptanalista encontrar e explorar uma vulnerabilidade do sistema para causar um dano (este termo também se aplica a explorações incidentais ou não-intencionais).

Existem vários tipos de ataques a redes sem fio Bluetooth, causados por ameaças deliberadas; estes ataques são geralmente motivados por benefícios financeiros para os atacantes. Alguns exemplos são:

  • Bluetracking: quando o atacante obtém o identificador MAC de um dispositivo e então pode rastrear seus movimentos;
  • Bluesnarfing: geralmente o ataque é feito sem que o usuário perceba. É feita a cópia não autorizada de diversos dados;
  • Bluebugging: quando o atacante envia comandos executáveis a dispositivos Bluetooth. Este ataque permite acesso a comandos de configuração, fazendo se passar por usuário proprietário do dispositivo;
  • Bluejacking: quando o atacante envia pequenas mensagens de texto (quando dispositivos Bluetooth iniciam o handshake, no processo de pairing, estabelecendo comunicação ponto-a-ponto, são enviadas pequenas mensagens, de até 248 caracteres no campo “nome do dispositivo”) dentro de um raio de 10 metros. Se o usuário receptor não verificar o conteúdo da mensagem, poderá permitir a adição desse contato à agenda e acabar recebendo mensagens com relação às quais não será aplicado nenhum filtro de segurança, pois advêm de um contato conhecido.

4. Arquitetura de Segurança de dados

Os requisitos de segurança desejáveis para o Bluetooth abrangem a confidencialidade, integridade e disponibilidade.

O esquema de gerenciamento de chaves se inicia com uma chave de inicialização, também chamada de chave de link.

A autenticação dos usuários é realizada por meio de um sistema desafio-resposta, o qual é uma ferramenta criptográfica, onde uma chave secreta é compartilhada entre emissor e receptor. Para autenticar o emissor, e.g., o receptor envia um número randômico como desafio. Se o emissor for realmente aquele que fora determinado anteriormente, ele terá acesso à chave secreta e encriptará a mensagem (fará um cálculo de hash criptográfico) de uma forma correta única. Então, o emissor envia a resposta de volta ao receptor, o qual decripta o criptograma utilizando a mesma chave secreta e recupera a mensagem original enviada pelo emissor. Finalmente, faz a comparação da mensagem clara recebida com a enviada por ele mesmo ao emissor como desafio, e caso o resultado seja idêntico, a autenticação é concluída.

O pairing possibilita o compartilhamento da chave de inicialização entre os dispositivos, sendo uma etapa anterior à autenticação e encriptação de mensagens.

Uma arquitetura de segurança define os protocolos e funcionalidades requeridas para implementar os quatro elementos de segurança com a especificação de uma categoria de aplicação. As regras para determinar os direitos de acesso a diferentes recursos nos dispositivos são chamadas de política de acesso. Esta juntamente com a descrição dos mecanismos básicos de segurança utilizados, como autenticação e encriptação de dados, formam a política de segurança. Esta, por sua vez, é uma parte da arquitetura de segurança para um perfil de aplicação Bluetooth.

As arquiteturas de segurança podem ser implementadas em muitos caminhos diferentes, e.g., utilizando diferentes protocolos e cifras.

5.0. Melhorias de segurança

5.1. Processo de autenticação

Implementação do processo de autenticação de forma mútua, transmitindo componentes de maneira clara pelo meio, baseado no algoritmo RC4.

O algoritmo RC4, projetado por Ronald Rivest, em 1987, é um algoritmo de fluxo, i.e., o algoritmo criptografa os dados à medida que eles são transmitidos, aumentando assim o seu desempenho.

Para enviar uma mensagem, a estação transmissora, inicialmente, concatena a sua chave secreta (shared key) a um vetor de inicialização (IV). O resultado serve de entrada para o algoritmo gerador de números pseudo-aleatórios (PRNG) definido pelo RC4. O PRNG (Pseudo Random Number Generator) gera uma seqüência de bits do mesmo tamanho que a informação a ser cifrada, ou seja, o frame MAC incluindo o CRC (Cyclic Redundancy Check). Uma operação XOR (OU exclusivo) é realizada entre o frame e a seqüência de bits, gerando o frame cifrado. Finalmente, o frame é enviado juntamente com o IV para que o receptor possa fazer o processo inverso.

O WEP utiliza o IV de 24 bits para proteger a chave secreta utilizada no processo de criptografia. A cada frame enviado, o IV é gerado e concatenado à chave secreta, fazendo com que a chave utilizada na cifragem do frame (keystream) mude a cada novo frame. Porém, quanto maior o tamanho da chave criptográfica, mais seguro é o processo de criptografia.

Este esquema de autenticação trabalha da seguinte forma:

  1. O dispositivo verificador gera um número randômico de128 bits.
  2. Este número é criptografado através do algoritmo RC4 descrito anteriormente, utilizando a chave de link como chave de encriptação.
  3. O emissor do desafio-resposta envia um número randômico criptografado para o receptor;
  4. Enquanto o emissor espera a resposta, faz o cálculo de hash para comparar o valor resposta;
  5. O receptor envia a resposta cujo valor é criptografado;
  6. O emissor comparar o valor enviado com o calculado, e caso sejam iguais, o processo de autenticação é validado e o valor enviado armazenado para utilização na criptografia do pacote de dados;
  7. O processo é repetido com a troca de papéis entre emissor e receptor (garantia da autenticação mútua).

6.0. Considerações Finais

A tecnologia Bluetooth tem avançado consideravelmente desde que foi criada, sendo considerada uma excelente alternativa (quanto à mobilidade e confiabilidade) em redes sem fio de pequeno alcance. Contudo, os aspectos de segurança da informação não acompanharam o crescimento e avanço desta tecnologia, fato que também afeta diretamente a confiabilidade e disponibilidade das comunicações. Sendo assim, propõem-se melhorias para autenticidade e encriptação de dados, não prevista no padrão de comunicação de redes sem fio.

Referências

  1. Bluetooth Security White Paper (Confidencial Bluetooth SIG)
  2. Estudo e análise de vulnerabilidades de segurança na tecnologia Bluetooth. Link: http://www.sbc.org.br/bibliotecadigital/download.php?paper=953
  3. STALLINGS, William. Cryptography and network security: principles and practice. Prentice-Hall, 2. ed. 1999.
  4. HAYKIN, Simon. Sistemas de comunicação analógicos e digitais. 4. ed. Bookman, 2004. Cap. 09, apêndice V.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s