TL; DR responde a las preguntas
¿Cómo valida y asegura MacOS las conexiones entre Bluetooth?
teclados sin pedir un código?
No es solo macOS (su teclado está conectado y cifrado a nivel de firmware). Si no fuera así, no podría realizar un reinicio de NVRAM antes de que se cargue el sistema operativo.
Sin embargo, no necesita un código porque los teclados Bluetooth modernos utilizan un algoritmo de autenticación para vincularse y una clave de autenticación generada basada en claves públicas para asegurar las transmisiones de datos.
¿Simplemente utiliza la confianza en el primer uso?
No. Verifica su identidad mediante un algoritmo y claves generadas de 128 bits.
¿Es posible forzar a macOS a usar un código de emparejamiento?
¿Por qué? Esto sería volver a las metodologías de emparejamiento anteriores a 2009. Esto equivaldría a habilitar claves compartidas WEP en redes WiFi modernas.
Emparejamiento de Bluetooth
El proceso que describió para vincular un dispositivo Bluetooth (un teclado en su ejemplo) usa un antiguo método de autenticación (Bluetooth 2.1) llamado Simple Secure Pairing (SSP).
Básicamente, SSP tiene 4 modelos de asociación (emparejamiento):
-
Comparación numérica . Ambos dispositivos tienen entrada y pantalla, por lo que el usuario puede simplemente seleccionar "Sí" o "No" para vincular el dispositivo
-
Clave de acceso 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 con capacidad de entrada (como auriculares) donde no puede ver ni ingresar una clave de acceso.
-
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 unos de otros. Un dispositivo debe "tocar" el otro dispositivo antes de que se produzca el emparejamiento.
Lo más importante a tener en cuenta es que el SSP es NOT la clave de cifrado; es simplemente el mecanismo de emparejamiento para identificar entre sí. El cifrado se maneja a través de una clave pública. El código que ingresas es para asegurarte de que sea el dispositivo al que deseas conectarte; 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.
AMP Key Derivation
La clave de enlace de AMP se deriva de la clave de enlace de Bluetooth. Un enlace AMP genérico
La clave (GAMP_LK) es generada por el administrador de AMP en la pila del host cuando
se crea o cambia una clave de enlace de Bluetooth
Autenticación
El procedimiento de autenticación del dispositivo Bluetooth tiene la forma de un
esquema de desafío-respuesta. Cada dispositivo interactuando en una autenticación.
Procedimiento tanto para el reclamante como para el verificador. los
reclamante es el dispositivo que intenta probar su identidad y el
Verificador es el dispositivo que valida la identidad del reclamante. los
El protocolo de desafío-respuesta valida los dispositivos al verificar la
conocimiento de una clave secreta: la clave de enlace de Bluetooth.
Cifrado
Hay4modosdecifrado
- Modo1-Sincifrado
- Modo2:eltráficodirigidoindividualmenteseencriptaenfuncióndelasclavesquesebasanenlasclavesdeenlace
- Modo3:todoeltráficoseciframedianteclavesbasadasenlaclavemaestra
- Modo4-(Bluetooth2.1+EDR)obligaaquetodoeltráficoestéencriptadoexceptoeldescubrimientodelservicio
LostecladosBluetoothqueusanBluetooth2.1(tecladosde2009ymásallá)yhastacifrantodosutráfico.
FUENTE:
SP 800-121 Rev. 2, Guía de seguridad de Bluetooth (mayo de 2017)