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