Respuestas a las preguntas del TL;DR
¿Cómo valida y asegura macOS las conexiones entre Bluetooth sin pedir un código?
No es sólo MacOS - tu teclado está conectado y encriptado a nivel de firmware - si no lo estuviera no podrías realizar un reinicio de la NVRAM antes de que se cargue el SO.
Sin embargo, no necesitas un código porque los teclados Bluetooth modernos utilizan 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.
¿Sólo 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 utilizar un código de emparejamiento?
¿Por qué? Sería volver a las metodologías de emparejamiento anteriores a 2009. Sería el equivalente a habilitar las claves compartidas WEP en las redes WiFi modernas.
Emparejamiento por Bluetooth
El proceso que has descrito para emparejar un dispositivo Bluetooth (un teclado en tu ejemplo) utiliza un método antiguo (Bluetooth 2.1) de autenticación llamado Simple Secure Pairing (SSP).
Básicamente, la SSP tiene 4 modelos de asociación (emparejamiento):
- Comparación numérica . Ambos dispositivos tienen entrada y pantalla para que el usuario pueda simplemente seleccionar "Sí" o "No" para emparejar el dispositivo
- Clave de acceso Un dispositivo tiene capacidad de entrada (como un teclado) y el otro tiene capacidad de visualización (como un ordenador). 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 introduce.
- Sólo funciona Esto es para los dispositivos sin pantalla o capacidad de entrada (como los auriculares) donde no se puede ver o introducir una clave de acceso.
- Fuera de banda (OoB) Se trata de dispositivos que admiten una tecnología inalámbrica común adicional (NFC) en la que los dispositivos tienen que estar muy cerca el uno del otro. Un dispositivo debe "tocar" al otro para que se produzca el emparejamiento.
Lo más importante es que la SSP es NO la clave de cifrado; es simplemente el mecanismo de emparejamiento para identificar entre sí. El cifrado se realiza mediante una clave pública. El código que introduces es para asegurarte de que es el dispositivo al que quieres 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.
Derivación de la clave AMP La clave de enlace AMP se deriva de la clave de enlace Bluetooth. Una clave de enlace genérica de AMP (GAMP_LK) es generada por el gestor de AMP en la pila del host siempre que se crea o modifica una clave de enlace Bluetooth
Autenticación
El procedimiento de autenticación del dispositivo Bluetooth tiene la forma de un esquema desafío-respuesta. Cada dispositivo que interactúa en un procedimiento de autenticación procedimiento como demandante o verificador. El demandante es el dispositivo que intenta demostrar su identidad, y el verificador es el dispositivo que valida la identidad del demandante. El protocolo protocolo desafío-respuesta valida los dispositivos verificando el conocimiento de una clave secreta: la clave de enlace Bluetooth.
Codificación
Hay 4 modos de encriptación
- Modo 1 - Sin encriptación
- Modo 2 - El tráfico con dirección individual se encripta en base a claves que se basan en las claves de enlace
- Modo 3 - Todo el tráfico se encripta utilizando claves basadas en la clave maestra
- Modo 4 - (Bluetooth 2.1 + EDR) ordena que todo el tráfico esté cifrado excepto el descubrimiento de servicios
Los teclados Bluetooth que utilizan Bluetooth 2.1 (teclados a partir de 2009) encriptan todo su tráfico.
FUENTE: SP 800-121 Rev. 2, Guía de seguridad de Bluetooth (mayo de 2017)
0 votos
¿Su teclado bluetooth es un teclado Apple?
0 votos
@Jahhein, no lo es.
0 votos
Esa es una muy buena pregunta entonces. Yo también tengo curiosidad por saber la respuesta. He leído sobre el Bluetooth y ningún razonamiento obvio viene a la mente si no es un dispositivo bluetooth certificado por Apple.