¿Cómo se empareja macOS Sierra de forma segura con teclados Bluetooth sin código?

Tengo una Mac Mini de finales de 2014 con macOS Sierra 10.12.5. Cuando lo emparejé con mi teclado Bluetooth, no se me pidió que ingresara una secuencia de números.

¿Cómo valida y asegura macOS las conexiones entre teclados Bluetooth sin solicitar un código? ¿Solo usa confianza en el primer uso? ¿Es posible obligar a macOS a usar un código de emparejamiento?

¿Tu teclado bluetooth es un teclado de Apple?
@Jahhein, no, no lo es.
Esa es una muy buena pregunta entonces. Tengo curiosidad por saber una respuesta yo mismo. Leí sobre Bluetooth y no se me ocurre ningún razonamiento obvio si no se trata de un dispositivo bluetooth certificado por Apple.

Respuestas (1)

TL;DR responde a las 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 reinicio 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 proteger las transmisiones de datos.

¿Solo usa confianza en el primer uso?

No. Verifica su identidad mediante un algoritmo y claves generadas de 128 bits.

¿Es posible obligar 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 sería el equivalente a habilitar las claves compartidas WEP en las 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 Emparejamiento seguro simple (SSP).

Básicamente, SSP tiene 4 modelos de asociación (emparejamiento):

  • Comparación numérica . Ambos dispositivos tienen entrada y pantalla para que el usuario simplemente seleccione "Sí" o "No" para emparejar el dispositivo
  • Passkey 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 o 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 tienen que 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 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 ingresa es para asegurarse de que ese es 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 clave AMP La clave de enlace AMP se deriva de la clave de enlace Bluetooth. El administrador de AMP genera una clave de enlace de AMP genérica (GAMP_LK) en la pila de host cada vez que 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 interactúa en un procedimiento de autenticación como reclamante o verificador. El reclamante es el dispositivo que intenta probar su identidad, y el verificador es el dispositivo que valida la identidad del reclamante. El protocolo de desafío-respuesta valida los dispositivos al verificar el conocimiento de una clave secreta: la clave de enlace de Bluetooth.

ingrese la descripción de la imagen aquí

Cifrado

Hay 4 modos de encriptación

  • Modo 1: sin cifrado
  • Modo 2: el tráfico dirigido individualmente se cifra en función de las claves que se basan en las claves de enlace
  • Modo 3: todo el tráfico se cifra mediante claves basadas en la clave maestra
  • Modo 4: (Bluetooth 2.1 + EDR) exige que todo el tráfico esté encriptado, excepto el descubrimiento de servicios

Los teclados Bluetooth que usan Bluetooth 2.1 (teclados de 2009 y posteriores) y posteriores cifran todo su tráfico.


FUENTE: SP 800-121 Rev. 2, Guía de seguridad de Bluetooth (mayo de 2017)

Parece que Bluetooth en general es vulnerable a los ataques MITM durante el procedimiento de emparejamiento, pero siempre que el emparejamiento se haya realizado de forma segura, las comunicaciones posteriores deberían ser vulnerables a la intercepción. ¿Es correcto mi entendimiento?
Solo si el dispositivo utiliza prácticas de seguridad deficientes, como claves débiles o estáticas, cifrado débil, seguridad de "modo 1" (ninguna), etc. Cada tecnología tiene vulnerabilidades, pero la mayor parte de lo que hace que BT sea vulnerable es la forma en que los fabricantes la implementan. En el caso de un teclado, permanece emparejado continuamente (de lo contrario, no podría activar su máquina o usarla en un entorno previo al arranque). Sería muy difícil convertirse en MITM en este caso porque cuando comienza el ataque, el emparejamiento y la comunicación segura ya están establecidos y funcionando.