TL; DR respuestas a preguntas
¿Cómo valida y asegura macOS las conexiones entre teclados Bluetooth sin solicitar un código?
No es solo macOS: su teclado está conectado y encriptado a nivel de firmware; si no fuera así, no podría realizar un restablecimiento de NVRAM antes de que se cargue el sistema operativo.
Sin embargo, no necesita un código porque los teclados Bluetooth modernos usan un algoritmo de autenticación para emparejarse y una clave de autenticación generada basada en claves públicas para asegurar las transmisiones de datos.
¿Solo usa confianza en el primer uso?
No. Verifica su identidad utilizando un algoritmo y claves generadas de 128 bits.
¿Es posible forzar a macOS a usar un código de emparejamiento?
¿Por qué? Esto se remontaría a las metodologías de emparejamiento anteriores a 2009. Esto sería el equivalente a habilitar claves WEP compartidas en redes WiFi modernas.
Emparejamiento Bluetooth
El proceso que describió para emparejar un dispositivo Bluetooth (un teclado en su ejemplo) utiliza un antiguo método de autenticación (Bluetooth 2.1) llamado Simple Secure Pairing (SSP).
Básicamente, el SSP tiene 4 modelos de asociación (emparejamiento):
- Numérico Comparación . Ambos dispositivos tienen entrada y pantalla para que el usuario pueda simplemente seleccionar "Sí" o "No" para emparejar el dispositivo
- Contraseña Un dispositivo tiene capacidad de entrada (como un teclado) y el otro tiene capacidad de visualización (como una computadora). El dispositivo con capacidad de visualización muestra un número de 4 a 6 dígitos y el dispositivo con capacidad de entrada lo ingresa.
- Simplemente funciona Esto es para dispositivos sin pantalla o capacidad de entrada (como auriculares) donde no puede ver ni ingresar una clave de paso.
- Fuera de banda (OoB) Esto es para dispositivos que admiten una tecnología inalámbrica común adicional (NFC) donde los dispositivos deben estar muy cerca uno del otro. Un dispositivo debe "tocar" el otro dispositivo antes de que ocurra el emparejamiento.
Lo más importante a tener en cuenta es que el SSP NO es la clave de cifrado; es simplemente el mecanismo de emparejamiento para identificarse entre sí. El cifrado se maneja a través de una clave pública. El código que ingrese es para asegurarse de que sea el dispositivo al que desea conectarse; No es la seguridad.
Desde Bluetooth 3.0 (abril de 2009), los dispositivos Bluetooth utilizan una clave AMP para la autenticación que automatiza el proceso anterior.
Derivación de la clave
AMP La clave de enlace AMP se deriva de la clave de enlace Bluetooth. El AMP Manager genera una clave de enlace AMP genérica (GAMP_LK) en la pila del host cada vez que se crea o cambia una clave de enlace Bluetooth
Autenticación
El procedimiento de autenticación del dispositivo Bluetooth tiene la forma de un esquema de desafío-respuesta. Cada dispositivo interactúa en un procedimiento de autenticación como el reclamante o el verificador. El reclamante es el dispositivo que intenta demostrar su identidad, y el verificador es el dispositivo que valida la identidad del reclamante. El protocolo desafío-respuesta valida los dispositivos verificando el conocimiento de una clave secreta: la clave de enlace Bluetooth.
Cifrado
Hay 4 modos de encriptación
- Modo 1: sin cifrado
- Modo 2: el tráfico dirigido individualmente se cifra según las claves que se basan en las claves de enlace
- Modo 3: todo el tráfico se cifra utilizando claves basadas en la clave maestra
- Modo 4: (Bluetooth 2.1 + EDR) exige que todo el tráfico esté encriptado, excepto el descubrimiento del servicio
Los teclados Bluetooth con Bluetooth 2.1 (teclados de 2009 y posteriores) y encriptan todo su tráfico.
FUENTE:
SP 800-121 Rev. 2, Guía de seguridad de Bluetooth (mayo de 2017)