Como o macOS Sierra emparelha com segurança os teclados Bluetooth sem um código?

8

Eu tenho um Mac Mini final de 2014 executando o macOS Sierra 10.12.5. Quando o emparelhei com meu teclado Bluetooth, não fui solicitado a inserir uma sequência de números.

Como o macOS valida e protege as conexões entre os teclados Bluetooth sem solicitar um código? Ele usa apenas confiança no primeiro uso? É possível forçar o macOS a usar um código de emparelhamento?

Eric Pruitt
fonte
O seu teclado bluetooth é um teclado da Apple?
Jahhein
@Jahhein, não, não é.
Eric Pruitt
Essa é uma pergunta muito boa então. Estou curioso para saber uma resposta eu mesmo. Eu li sobre Bluetooth e nenhum raciocínio óbvio vem à mente se não for um dispositivo bluetooth certificado pela Apple.
Jahhein

Respostas:

6

TL; DR responde a perguntas

Como o macOS valida e protege as conexões entre os teclados Bluetooth sem solicitar um código?

Não é apenas o macOS - seu teclado está conectado e criptografado no nível do firmware - se não fosse, você não seria capaz de executar uma redefinição da NVRAM antes do carregamento do sistema operacional.

No entanto, você não precisa de um código, porque os teclados Bluetooth modernos usam um algoritmo de autenticação para emparelhar e uma chave de autenticação gerada com base em chaves públicas para proteger as transmissões de dados.

Ele usa apenas confiança no primeiro uso?

Não. Ele verifica sua identidade usando um algoritmo e chaves geradas de 128 bits.

É possível forçar o macOS a usar um código de emparelhamento?

Por quê? Isso voltaria às metodologias de emparelhamento anteriores a 2009. Isso seria o equivalente a ativar chaves compartilhadas WEP em redes WiFi modernas.


Emparelhamento Bluetooth

O processo que você descreveu para emparelhar um dispositivo Bluetooth (um teclado no seu exemplo) usa um método de autenticação antigo (Bluetooth 2.1) chamado Simple Secure Pairing (SSP).

Basicamente, o SSP possui 4 modelos de associação (emparelhamento):

  • Comparação Numérica . Ambos os dispositivos têm entrada e exibição para que o usuário possa simplesmente selecionar "Sim" ou "Não" para emparelhar o dispositivo
  • Chave de acesso Um dispositivo possui capacidade de entrada (como um teclado) e o outro possui capacidade de exibição (como um computador). O dispositivo com capacidade de exibição mostra um número de 4 a 6 dígitos e o dispositivo com capacidade de entrada entra nele.
  • Just Works É para dispositivos sem exibição ou capacidade de entrada (como fones de ouvido) em que você não pode ver ou inserir uma senha.
  • Fora da banda (OoB) Destina- se a dispositivos que suportam uma tecnologia sem fio comum (NFC) adicional em que os dispositivos precisam estar muito próximos um do outro. Um dispositivo deve "tocar" no outro dispositivo antes que o emparelhamento ocorra.

O mais importante a ser observado é que o SSP NÃO é a chave de criptografia; é apenas o mecanismo de emparelhamento para se identificar . A criptografia é tratada através de uma chave pública. O código digitado é para garantir que esse é o dispositivo ao qual você deseja se conectar; não é a segurança.

Desde o Bluetooth 3.0 (abril de 2009), os dispositivos Bluetooth usam uma chave AMP para autenticação, que automatiza o processo acima.

Derivação da chave AMP A chave de link AMP é derivada da chave de link Bluetooth. Uma chave de link AMP genérica (GAMP_LK) é gerada pelo Gerenciador de AMP na pilha do host sempre que uma chave de link Bluetooth é criada ou alterada

Autenticação

O procedimento de autenticação do dispositivo Bluetooth está na forma de um esquema de desafio-resposta. Cada dispositivo interagindo em um procedimento de autenticação como o reclamante ou o verificador. O requerente é o dispositivo que tenta provar sua identidade e o verificador é o dispositivo que valida a identidade do requerente. O protocolo de desafio-resposta valida os dispositivos, verificando o conhecimento de uma chave secreta - a chave de link Bluetooth.

insira a descrição da imagem aqui

Criptografia

Existem 4 modos de criptografia

  • Modo 1 - Sem criptografia
  • Modo 2 - O tráfego endereçado individualmente é criptografado com base em chaves baseadas nas chaves de link
  • Modo 3 - Todo o tráfego é criptografado usando chaves baseadas na chave mestra
  • Modo 4 - (Bluetooth 2.1 + EDR) exige que todo o tráfego seja criptografado, exceto para descoberta de serviço

Teclados Bluetooth usando Bluetooth 2.1 (teclados de 2009 em diante) e criptografam todo o tráfego.


FONTE: SP 800-121 Rev. 2, Guia de segurança Bluetooth (maio de 2017)

Allan
fonte
Parece que o Bluetooth em geral é vulnerável a ataques MITM durante o procedimento de emparelhamento, mas, desde que o emparelhamento tenha sido feito com segurança, as comunicações subseqüentes devem estar vulneráveis ​​à interceptação. Meu entendimento está correto?
Eric Pruitt
Somente se o dispositivo usar práticas inadequadas de segurança, como chaves estáticas e / ou fracas, criptografia fraca, segurança "modo 1" (nenhuma) etc. Toda tecnologia tem vulnerabilidades, mas o que mais torna a BT vulnerável é como os fabricantes a implementam. No caso de um teclado, ele permanece emparelhado continuamente (caso contrário, você não seria capaz de ativar sua máquina ou usá-la em um ambiente de pré-inicialização). Seria muito difícil se tornar MITM nesse caso porque, quando o ataque começa, o emparelhamento e a comunicação segura já estão estabelecidos e funcionando.
Allan