Como o pareamento do Bluetooth funciona

Pareamento Bluetooth
Standard

Um dispositivo Bluetooth transmite dados sobre uma rede composta  de sinais de rádio de muito baixa potência em uma frequência entre 2.402Ghz e  2.480 GHz, decidida em um acordo internacional. Esta banda é conhecida como ISM e foi reservada para uso em dispositivos médicos e científicos e é utilizada, por muitos dispositivos domésticos, médicos e científicos de grande importância como acionadores remotos de portão de garagem. O que poderia tornar o Bluetooth suscetível a interferência

Para evitar interferências, os dispositivos Bluetooth utilizam uma técnica chamada  FHSS (spread-spectrum frequency hopping). Para simplificar, a banda de transmissão está dividida em 79 canais e existe uma sequência de chaveamento entre canais, pseudorrandômica fazendo com que a transmissão fique mudando em uma forma aleatória, mas previsível, entre canais. Ou seja, a cada intervalo de tempo o canal do transmissor e receptor mudam mas, ambos sabem para que frequência devem ir. Diminuindo a possibilidade de interferência.

Além do FHSS os dispositivos Bluetooth emitem sinais de rádio extraordinariamente fracos, na ordem de 1miliwatt de potência ou, aproximadamente, 3000 vezes mais fracos que o sinal que o seu celular emite. Esta restrição de potência limita o alcance dos dispositivos  Bluetooth a aproximadamente 10ms e garante uma imunidade extra a interferência.

Voltando ao FHSS, é interessante observar que utilizando apenas os 79 canais disponíveis, um dispositivo Bluetooth muda de frequência de transmissão 1600 vezes a cada segundo. Ou seja, a chance que dois dispositivos estejam transmitindo no mesmo canal ao mesmo tempo é minima.  Principalmente se consideramos que o número de dispositivos que podem ser conectados é limitado.

A rede formada por dispositivos Bluetooth é baseada no modelo máster/slave e conhecida como piconet. Um mestre, ou master, pode se conectar com até 7 escravos, ou slaves, simultaneamente, desde que estes estejam no mesmo range de 10m. E existe um limite máximo de 10 piconets em uma determinada área de cobertura.

By The original uploader was THA-Zp at French Wikipedia [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

Estenda estes limites de conexão até 256 dispositivos se a rede estiver em modo parked. Dispositivos em uma piconet têm um endereço de 3 bits, o que limita o número de dispositivos. O mesmo não acontece em modo parked simplesmente, por que neste modo os dispositivos não são sincronizados.

De verdade, se é que se pode falar em verdade… graças ao FHSS, a cada instante dado, o mestre, está conecetado a um único dispositivo escravo. Quando um dispositivo Bluetooth invade a área de  outro existe um diálogo, relativamente complexo, que permite a identificação e o estabelecimento da conexão e segue os seguintes passos:

  • Modo Passivo;
  • Requisição: procurar por pontos ativos;
  • Paging: sincronização com os pontos de acesso;
  • Descoberta dos serviços de um ponto de acesso;
  • Criação de um canal com o ponto de acesso;
  • Pareamento, usando o código de segurança (PIN)
  • Uso da rede.

 

Durante o uso normal, sem conexão, os dispositivos estão em modo passivo (passive mode). Neste modo o dispositivo só escuta o que está acontecendo nos seus canais em busca de algo interessante. Mais ou menos, como a sua tia chata, que escuta tudo o que você fala o tempo todo.

O processo de conexão começa na fase chamada requisição (inquiry) durante a qual o dispositivo mestre envia requisições para todos os dispositivos que estejam dentro do range permitido, chamdos de pontos de acesso, ou escravos. Todos os dispositivos que recebem a requisição respondem com seus endereços. O dispositivo mestre escolhe um dos endereços recebidos e tenta sicronizar, transmissores e receptores, com o ponto de acesso com uma técnica chamada paging.

Neste ponto, uma conexão com o ponto de acesso é estabelecida, permitindo que o master iniciar a fase de descoberta de serviços do ponto de acesso. Para isso ele usa um protocolo especial chamado de SDP (Service Discovery Protocol). No final desta fase, o mestre estará pronto para criar um canal de comunicação com o ponto de acesso usando outro protocolo específico: L2CAP.

Neste momento, dependendo dos serviços necessários a rede, pode ser que seja necessário utilizar o protocolo RFCOMM sobre o L2CAP, notadamente quando o dispositivo ponto de acesso vai precisar utilizar uma porta serial padrão. Outro caso comum de uso deste protocolo são os dispositivos GPS.

Se tudo correu bem até aqui… Graças ao bom deus das interfaces, o ponto de acesso pode, se desejar, iniciar uma rotina de segurança conhecida como pareamento (pairing). Esta rotina restringe o acesso apenas a dispositivos autorizados. O pareamento é realizado sobre uma chave de criptografia conhecida como PIN, ou número de informação pessoal em inglês. Para tal o ponto de acesso solicita o PIN ao dispositivo master. Se o número for recebido corretamente, o dispositivo pareia e permite a comunicação na rede.

Parece simples mas, não é. Espero que o artigo ajude algum aluno desesperado pelo sumobot..:)

A imagem de destaque deste artigo é de: Matt Stratton