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

8

Tengo una Mac Mini de finales de 2014 con macOS Sierra 10.12.5. Cuando lo emparejé con mi teclado Bluetooth, no se me solicitó ingresar 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 forzar a macOS a usar un código de emparejamiento?

Eric Pruitt
fuente
¿Tu teclado bluetooth es un teclado de Apple?
Jahhein
@Jahhein, no, no lo es.
Eric Pruitt
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 es un dispositivo Bluetooth certificado por Apple.
Jahhein

Respuestas:

6

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.

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

Alano
fuente
Parece que Bluetooth en general es vulnerable a los ataques MITM durante el procedimiento de emparejamiento, pero siempre que el emparejamiento se realice de forma segura, las comunicaciones posteriores deberían ser vulnerables a la intercepción. ¿Es correcto mi entendimiento?
Eric Pruitt
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 cómo lo implementan los fabricantes. En el caso de un teclado, permanece emparejado continuamente (de lo contrario, no podría reactivar su máquina o usarla en un entorno previo al arranque). Sería muy difícil convertirse en MITM en este caso porque para cuando comienza el ataque, el emparejamiento y la comunicación segura ya están establecidos y funcionando.
Allan