Dispositivo Bluetooth de baixa energia (BLE)

A implementação do Serviço de Pareamento rápido do Google (GFPS) para dispositivos BLE é compatíveis com a especificação Bluetooth Core v4.2 ou mais recente.

O adendo a seguir à especificação Pareamento rápido permite que o suporte somente para dispositivos de baixa energia (LE) e de áudio de baixa energia (LEA) no GPPS.

Níveis de conformidade

As palavras-chave "deve", "deve", "deve", "deve", "pode" e "pode" mencionadas na especificação são explicadas abaixo:

Termo Descrição
dever is required to: usada para definir requisitos.
precisa é usada para expressar:
uma consequência natural de um requisito obrigatório declarado anteriormente
OU
uma declaração de fato indiscutível (que é sempre verdadeira, independentemente das circunstâncias).
vai é verdade que - usado apenas em declarações de fatos.
deveria é recomendado que - é usado para indicar que, entre várias possibilidades, um é recomendado como particularmente adequado, mas não obrigatório.
podem is allowed to: usado para permitir opções.
pode pode: usado para relacionar uma declaração de maneira causal.

Característica de pareamento com base em chaves

Mensagem do buscador para o provedor

O type 0x00 da solicitação bruta da característica de pareamento baseado em chaves usa o Bit 4. para indicar se o candidato é compatível com a especificação do dispositivo BLE e usa o Parte 5 para indicar se o Seeker oferece suporte a LE Audio.

Octeto Tipo de dado Descrição Valor Obrigatório?
0 uint8 Tipo de mensagem 0x00 = solicitação de pareamento baseado em chaves Obrigatório
1 uint8 Sinalizações
  • Bit 0 (MSB): descontinuado e ignorado pelo Seeker.
  • Bit 1: 1 se o solicitante solicitar que o provedor inicie o vínculo, e essa solicitação tiver o endereço BR/EDR do buscador. 0 caso contrário.
  • Bit 2: 1, se o solicitante solicitar que o Provedor notifique o nome atual. 0 caso contrário.
  • Bit 3: 1, se for para Gravar a chave da conta retroativamente. 0 caso contrário.
  • Bit 4: 1, se o buscador oferecer suporte à Especificação de dispositivo BLE. 0 caso contrário.
  • Bit 5: 1, se o Seeker oferecer suporte a LE Audio. 0 caso contrário.
  • Os bits 6 a 7 são reservados para uso futuro e serão ignorados.
varia Obrigatório
2 a 7 uint48 Você pode:
  • Endereço BLE atual do provedor
  • Endereço de identidade do provedor
varia Obrigatório
8 a 13 uint48 Endereço BR/EDR do usuário que fez a busca varia Presente apenas se as flags 1 ou 3 estiverem definidas
n a 15 Valor aleatório (sal) varia Obrigatório

Mensagem do provedor ao buscador

Quando o bit 4 da solicitação é definido, a nova mensagem de resposta type 0x02 para A característica de pareamento baseado em chaves pode ser usada para fornecer mais ligações ao Seeker.

Octeto Tipo de dado Descrição Valor
0 uint8 Tipo de mensagem 0x02 = resposta estendida do pareamento baseado em chaves
1 uint8 Sinalizações
  • Bit 0 (MSB): 1 se o provedor for apenas um dispositivo LE. Caso contrário, será 0. Se o bit 0 estiver definido como 1, o buscador vai presumir que o Bit 1 está definido como 1.
  • Bit 1: 1 se o provedor preferir o vínculo LE. Caso contrário, será 0.
  • Bit 2: 1 se o tipo de endereço do segundo endereço for aleatório, 0 se for público.
  • Os bits 3 a 7 são reservados para uso futuro e serão ignorados.
varia
2 uint8 Número de endereços do provedor
(na versão atual, o número é 1 ou 2, porque precisamos modificar o modo de cifra de bloco para AES-CTR se o número for maior ou igual a 3)
varia
3 a 8 ou
3 a 14
  • O primeiro endereço deve ser o endereço de identidade do principal e passível de fiança se a ligação BR/EDR for preferida
  • O segundo endereço deverá ser um endereço de ligação da secundária se ela estiver disponível
varia
9 a 15 ou 15 Valor aleatório (sal) varia

Um provedor compatível com a Especificação de dispositivo BLE deve ler os bits 4 e 5. compreender as capacidades do buscador

  • Quando o bit 4 for 0, o provedor ignorará o bit 5 e responderá com o formato type 0x01.
  • Quando o bit 4 é 1,
    • Para um provedor somente de LE, ele responderá com type 0x02 para indicar LE. preferência de vínculo.
    • Para o provedor de modo dual, ele pode responder com type 0x02 para indicar Preferência de ligação BR/EDR ou LE.
  • Para casos de provedores de dual modo de LE Audio (LEA), consulte Exemplo: pareamento com provedor de modo duplo de LEA para referência

Característica do Message Stream PSM (multiplexor de serviço de protocolo)

Para oferecer suporte ao stream de mensagens em dispositivos BLE, o Pareamento rápido estabelece e manter um canal BLE L2CAP para enviar e receber mensagens. Pareamento rápido O servidor L2CAP deve implementar o controle de fluxo baseado em crédito de LE.

Essa característica permite que o buscador leia o valor do PSM e estabeleça conexão L2CAP segura pelo valor PSM.

Característica do serviço de Pareamento rápido Criptografado Permissões UUID
PSM de stream de mensagens Sim Ler FE2C1239-8366-4814-8EB0-01DE32100BEA
Octeto Tipo de dado Descrição Valor
0 uint8 Estado
  • 0x00 = desconhecido. O usuário que fez a busca de FP vai fazer várias tentativas
  • 0x01 = Pronto para conectar
  • 0x02 = indisponível. O FP Seeker não usará esse componente para se conectar desta vez
varia
1 - 2 uint16 O valor do PSM precisa estar no intervalo entre 0x80 e 0xFF varia

Observação:para o TWS, há duas componentes: primário e secundário. A função desses componentes é intercambiáveis em certas condições. Supondo que A seja o componente principal e B seja componente secundário, devido ao consumo da bateria no componente A , o componente B precisa para assumir o papel do componente principal, e esse cenário é chamado de role switch.

Depois de role switch, se o provedor não consegue processar o fluxo de mensagens de Pareamento rápido, ele vai desconectar proativamente o conexão L2CAP atual. O usuário que busca o Pareamento rápido pode restabelecer o L2CAP conexão de stream de mensagens com o novo componente principal.

Característica adicional da chave de acesso

Essa característica é fornecer proteção MITM na componentes de solução.

Proteção do MITM de membro falso do CSIS

O Pareamento rápido exige a proteção MITM como parte do procedimento. Como CSIS não fornece proteção MITM, o projeto atual para FP para múltiplos precisam ser estendidos para fornecer proteção contra MITM nos demais componentes de solução.

Definição da característica

Característica do serviço de Pareamento rápido Criptografado Permissão UUID
Chave de acesso adicional Sim Ler,gravar,notificar FE2C123A-8366-4814-8EB0-01DE32100BEA

Mensagens

O formato da mensagem é aplicado às operações de leitura, gravação e notificação.

Formato de dados criptografados

Os dados criptografados são enviados usando a conexão GATT de Pareamento rápido.

Octeto Tipo de dado Descrição Valor
0-15 uint128 Bloqueio de chave de acesso extra criptografado varia
Formato de dados brutos

Depois de descriptografar os dados criptografados com o secret compartilhado, o formato é o seguinte:

Octeto Tipo de dado Descrição Valor
0 uint8 Tipo de mensagem um de
  • 0x00 = Chave de acesso do usuário
  • 0x01 = Chave de acesso do provedor
1-3 uint24 Chave de acesso de seis dígitos varia
4-9 uint48 Endereço do componente de vinculação desejada varia
10 uint8 Código de status, usado apenas pela operação de leitura Um de
  • 0x00 = Sucesso
  • 0x01 = Pendente. Nova tentativa até o tempo limite para o usuário que busca FP
  • 0x02 = Falha. Nova tentativa de parada do usuário que busca FP
11-15 Valor aleatório (sal) varia

O primário (primeiro componente vinculado) é a ponte entre o Pareamento rápido Seeker e outros componentes de ligação. A característica deve siga as diretrizes:

  • Ao receber uma solicitação de gravação do buscador de pareamento rápido, o provedor deve
    • Define o endereço do componente que está sendo vinculado.
    • Enviar a chave de acesso para o componente que está sendo vinculado
    • Definir código de status como Pendente, 0x01
  • Ao receber qualquer solicitação de leitura antes de receber a chave de acesso do componente está vinculado, o Provedor retornará uma mensagem com
    • Chave de acesso, qualquer valor
    • Endereço do componente que está sendo vinculado
    • Código de status pendente, 0x01
  • Antes que o provedor envie uma notificação ao buscador de pareamento rápido, define o resultado para a solicitação de leitura
    • Chave de acesso do componente que está sendo vinculado
    • Endereço do componente que está sendo vinculado
    • Código de status de sucesso, 0x00
  • Se houver algum erro irrecuperável por parte do provedor, defina o resultado
    • Chave de acesso, qualquer valor
    • Endereço do componente que está sendo vinculado
    • Código de status de falha, 0x02

Consulte o diagrama 1 do MITM e Diagrama MITM 2 para mais detalhes.

Requisitos para dispositivos LE

Publicidade de LE

Para o modo detectável ou não detectável, o Provedor deve usar o RPA para anunciar dados do Pareamento rápido.

Capacidade de ligação

Para dispositivos compatíveis com LE, o Seeker precisa criar vínculos com o LE. Depois de passar pela verificação do Pareamento rápido baseado em chaves, o O provedor vai permitir o vínculo com RPA e definir a capacidade de pedido de inserção como DisplayYesNo para a verificação da chave de acesso de Pareamento rápido.

Requisitos para dispositivos LEA

Publicidade LEA

Para dispositivos de modo dual: Para o modo detectável, o Provedor precisa anunciar os dados do Pareamento rápido com o Identity endereço IP. Para o modo não detectável, o provedor precisa anunciar dados de Pareamento rápido com o RPA. É altamente recomendável usar publicidade legada (BT 4.2) para dar suporte a para compatibilidade com versões anteriores. É necessário mudar a IRK sempre que o dispositivo for redefinido para a configuração original.

Para dispositivos que não são de modo dual: Para o modo detectável ou não detectável, o Provedor deve usar o publicidade on-line (BT 5.0) com RPA para anunciar dados do Pareamento rápido.

O anúncio LE conectável que contém dados de serviço de FP deve incluir UUID de CAS em conformidade com o Perfil de adaptador Bluetooth (BAP 1.0.1) e Perfil de áudio comum requisito fundamental. Para anúncios não detectáveis, se não houver espaço suficiente disponível em publicidade legada devido à inclusão de dados de bateria e SASS, é obrigatório incluir o UUID do CAS na resposta de verificação nesse caso.

Capacidade de ligação de LEA

O candidato precisa criar um vínculo com a conexão de LE atual. Depois de passar Verificação de pareamento baseado em chaves de Pareamento rápido, o provedor de modo duplo deve permitir vinculação com o endereço de identidade e RPA, enquanto o provedor não dual modo deve permitir vinculação com RPA e definir a capacidade de E/S como DisplayYesNo para Pareamento rápido Verificação da chave de acesso.

Canal de comunicação interno entre componentes

A conexão GATT existente é mantida para executar a proteção MITM no componentes extras. O componente vinculado principal processa a mensagem entregas entre o Fast Pair Seeker e os componentes restantes.

A comunicação interna é usada para Initial Pair e Subsequent Pair

  • Quando o procedimento de pareamento baseado em chaves passa para o componente principal, o componente deverá enviar uma mensagem para alterar a capacidade de IO de seus componentes
  • Quando o Pareamento rápido for concluído, o componente principal vai enviar uma mensagem para ser redefinido Capacidade de E/S dos componentes restantes
  • Ao executar o procedimento "Chave de acesso adicional", o componente principal deve processar entregas de chaves de acesso entre o Fast Pair Seeker e os componentes restantes

Tempo para alterar o recurso de E/S

  • Alteração do recurso de E/S para DisplayYesNo quando o procedimento de pareamento baseado em chave for aprovado
    • Se o dispositivo tiver vários componentes, todos eles deverão ser definidos como DisplayYesNo
    • Uma exceção que o Provedor deve não muda o recurso de E/S para DisplayYesNo Retroactive Pair, com o Bit 3 da solicitação de pareamento baseado em chaves for definido como 1, consulte Mensagem do Seeker para o provedor
  • Alterar o recurso de E/S para a configuração padrão
    • Pareamento inicial
      • Se a conexão de LE estiver desconectada, encerre a sessão de Pareamento rápido
      • Após a vinculação da instância principal, se não houver outras gravações de chaves de acesso solicitação em 15 segundos, encerrar a sessão de Pareamento rápido
      • Após o recebimento da solicitação de gravação da chave de acesso extra, se o componente a ligação não acontece em até 15 segundos, encerra a sessão de Pareamento rápido
      • Depois que todos os componentes estiverem vinculados, se não houver uma chave de conta, grave solicitação dentro de 15 segundos, encerrar a sessão de Pareamento rápido
      • Após receber a solicitação de gravação de chave da conta, defina o tempo limite de 15 segundos como encerrar a sessão de Pareamento rápido
    • Pareamento subsequente
      • Se a conexão de LE estiver desconectada, encerre a sessão de Pareamento rápido
      • Após a vinculação da instância principal, se não houver outras gravações de chaves de acesso solicitação em até 15 segundos, encerrar a sessão de Pareamento rápido
      • Após o recebimento da solicitação de gravação da chave de acesso extra, se o componente a ligação não acontece em até 15 segundos, encerra a sessão de Pareamento rápido
      • Quando todos os componentes estiverem ligados, encerre a sessão de Pareamento rápido

Ocultar indicação da interface

Quando o fone de ouvido não estiver pronto para o pareamento, o Provedor usará o type 0b0010 para definir a ocultação da indicação da interface de usuário para que os dados principais da conta avisem ao buscador que ele não deve ser mostrado interface de pareamento subsequente (consulte Payload de publicidade: Pareamento rápido de dados da conta).

Requisitos de dispositivos de LE Audio

Requisitos de Bluetooth

Veja as recomendações de headsets para Android e LE Audio.

Suporte de CTKD

Para dispositivos de modo duplo, o CTKD de LE para BR/EDR é obrigatório e está alinhado com BAP.

Anúncio sobre metas

Um dispositivo periférico deve usar o Anúncio Direcionado para solicitar uma conexão de um dispositivo central pareado. Anúncios segmentados são definidos em BAP e CAP para gerenciamento de conexões de acordo com CAP 1.0 Tabela 8.4 (p48/58).

Suporte ao servidor GATT EATT

O EATT permite que o dispositivo central envie várias transações GATT em paralelo quando o dispositivo estiver conectado. Para o dispositivo compatível com CSIP, esse valor vai aumentar a performance da conexão com o perfil e logo iniciar a vinculação do CSIP para os outros parceiros.

Se o provedor não é um único dispositivo, mas um conjunto coordenado com a implementação do CSIP, para reduzir o número de vezes fazendo descoberta de serviços e acelerar a conexão, o provedor deve implementar o cache GATT definido no Bluetooth 5.1.

Requisitos do Pareamento rápido

Publicidade de LE

Para o modo detectável ou não detectável, se o dispositivo tiver vários componentes, os dados de Pareamento rápido serão divulgados pelo componente principal. Se o dispositivo não estiver pronto para o pareamento subsequente, o componente secundário poderá anunciar dados de Pareamento rápido para recursos estendidos. ver Ocultar indicação da interface.

Visibilidade do serviço GATT

O banco de dados GATT deve ser o mesmo para todas as conexões LE transporte GATT. Áudio de baixa energia (0x184E) deve ser incluído no banco de dados GATT da conexão de Pareamento rápido.

Exemplo: pareamento com provedor de modo duplo de LEA

Cenário 1: quando o usuário que busca a experiência não oferece suporte a LEA

O Provedor deve ter compatibilidade com versões anteriores do Seeker que não oferecer suporte à LEA.

Componentes
  • Provedor: A2DP/HFP/LEA
  • Buscador: A2DP/HFP
Comportamento esperado para o par inicial e para o segundo
  • O provedor anuncia o serviço de Pareamento rápido dados (0xFE2C) com endereço de identidade (inicial) ou RPA (subsequente).
    • Usar publicidade legada
  • O Buscador recebe o anúncio com endereço de identidade para inicial ou RPA para pareamento subsequente
  • O solicitante envia uma solicitação de pareamento baseado em chaves
    • O bit-5 da flag da solicitação de pareamento baseado em chaves está definido como 0.
  • O provedor envia uma resposta de pareamento baseado em chaves com o endereço público em um dos o seguinte:
    • Se o tipo de mensagem 0x01 for usado, o endereço deverá ser público
    • Se o tipo de mensagem 0x02 for usado
      • O bit-0 será 0
      • O bit-1 será 0
      • O endereço deve ser público
  • The Seeker cria um vínculo com o transporte BR/EDR
    • A capacidade de E/S está definida como DisplayYesNo para BR/EDR
  • O buscador e o provedor fazem o procedimento de verificação da chave de acesso com Pareamento rápido

Cenário 2: quando o usuário que busca ajuda com LEA

Componentes
  • Prestador de serviço
    • Suporte a A2DP/HFP/LEA
    • Componente único
  • Pessoas que procuram
    • SupportA2DP/HFP/LEA
Comportamento esperado para o par inicial e para o segundo
  • O provedor anuncia o serviço de Pareamento rápido dados (0xFE2C) com endereço de identidade (inicial) ou RPA (subsequente).
    • Usar publicidade legada
  • O solicitante envia uma solicitação de pareamento baseado em chaves
    • O bit-5 da flag da solicitação de pareamento baseado em chaves está definido como 1.
  • O provedor envia a resposta de pareamento baseado em chaves com o tipo de mensagem 0x02
    • O bit-0 será 0
    • O bit-1 será 1
    • O endereço é um endereço de identidade
  • O Seeker cria um vínculo com o Conexão LE no transporte LE
    • A direção do CTKD é de LE para BR/EDR
    • O recurso de E/S está definido como DisplayYesNo para LE
  • O buscador e o provedor fazem o procedimento de verificação de chave de acesso de Pareamento rápido

Cenário 3: quando o buscador apoia LEA e CSIP envolvidos

Componentes
  • Prestador de serviço
    • Suporte a A2DP/HFP/LEA
    • Vários componentes
      • O componente principal é BR/EDR/LE
      • O componente secundário é somente LE
  • Pessoas que procuram
    • Suporte a A2DP/HFP/LEA
Comportamento esperado para o par inicial e para o segundo
  • O componente principal anuncia o Pareamento rápido dados de serviço (0xFE2C) com endereço de identidade (inicial) ou RPA (subsequente).
    • Usar publicidade legada
  • O Seeker envia uma solicitação de pareamento baseado em chaves para o componente principal
    • O bit-5 da flag da solicitação de pareamento baseado em chaves está definido como 1.
  • O componente principal envia a resposta de pareamento baseado em chaves com o tipo de mensagem 0x02
    • O bit-0 será 0
    • O bit-1 será 1
    • Os endereços são os seguintes :
      • O primeiro endereço é o endereço de identidade do componente principal
      • O segundo endereço é o endereço para o componente secundário, o segundo componente também usa esse endereço para fazer a divulgação CSIP.
  • O candidato cria um vínculo com o na conexão LE atual
    • A direção do CTKD é de LE para BR/EDR
    • O recurso de E/S está definido como DisplayYesNo para LE
  • O Seeker cria um vínculo com componente com endereço que é da resposta estendida de pareamento baseado em chaves
    • O recurso de E/S deve ser DisplayYesNo. Caso contrário, rejeitar a solicitação de pareamento
  • O Seeker e o Provedor realizam o procedimento de proteção MITM para parear o componente secundário, o provedor implementará os dois cenários
  • O buscador aguarda a ligação com o componente secundário

Diagrama sequencial para o MITM

Esta sessão descreve a sequência do procedimento de proteção MITM.

Receber a chave de acesso do componente que está sendo vinculado por notificação

Receber a chave de acesso do componente que está sendo vinculado pela leitura

Problema conhecido

O FP para LEA foi otimizado para funcionar com o Android V.

Por outro lado, encontramos vários problemas com fones de ouvido compatíveis com LEA. mas não têm o Pareamento rápido correto sobre a implementação de LEA (ou seja, apenas Pareamento rápido por excesso de Clássico). Especificamente, por exemplo, quando o RPA do provedor não é gerado pela chave de resolução de identidade (IRK, na sigla em inglês) correta, e o endereço não poderá ser resolvido. Embora não tenha sido possível testar uma lista abrangente de headsets do aplicativo, nossos testes limitados revelaram vários problemas, incluindo falhas para mostrar as notificações de bateria dos fones de ouvido, falta de seleção de áudio (SASS) falhas de pareamento iniciais e subsequentes, entre outras.

Portanto, recomendamos que os parceiros implementem o Pareamento rápido e LEA. especificações para dispositivos novos e existentes no campo (via atualizações OTA) compatíveis com modos duplos.