BTLE emparejamiento: ¿De dónde viene el código?

2

Al intentar vincular 2 dispositivos Bluetooth LE (por ejemplo, 2 iPhones), aparece una ventana emergente que requiere ingresar un código que se muestra en el otro dispositivo. Soy consciente del concepto de autenticación fuera de banda y por qué es necesario.

  1. El dispositivo A genera un código.
  2. El dispositivo A solicita al dispositivo B que ingrese el código.
  3. El dispositivo B muestra una ventana emergente al usuario.
  4. El dispositivo B envía el código ingresado al dispositivo A.
  5. El dispositivo A compara el código recibido con el código generado anteriormente.

Sin embargo, estoy tratando de responder estas preguntas:

  • ¿Cómo se calcula el código en primer lugar? ¿Desde un par de llaves?
  • ¿El envío del código del dispositivo B al dispositivo A no está sujeto a un ataque MITM pasivo? ¿Cómo se autentica esta comunicación?
pregunta desktop 17.11.2014 - 14:19
fuente

2 respuestas

0

La idea detrás de esto es que el código generado por el Dispositivo A debe transmitirse por separado al Dispositivo B. Cualquier método de comunicación lo hará: correo electrónico, mensaje de texto, llamada telefónica, etc.

Para responder a sus preguntas:

  

¿Cómo se calcula el código en primer lugar? ¿Desde un par de llaves?

Esto depende del software del dispositivo. Algunos proveedores generarán un pin aleatorio de 4 dígitos. Algunos generarán un código de acceso. Depende del proveedor cómo desean generarlo y cuánta entropía desean tener. TeamViewer utiliza este mismo tipo de método para su software de escritorio remoto. Permiten al usuario elegir la longitud y el tipo de código de acceso. El uso de un par de claves para generar códigos de acceso parece una exageración, y lo más probable es que estén usando algún tipo de generador de números pseudoaleatorios.

  

No está enviando el código del dispositivo B al dispositivo A sujeto a un pasivo   ¿Ataque MITM? ¿Cómo se autentica esta comunicación?

Esto depende de cómo / si la comunicación está asegurada. Es posible que se utilice un protocolo seguro para cifrar la comunicación entre los dispositivos. Este podría ser un protocolo estandarizado como SSL / TLS, o podría ser propietario. Siempre que la comunicación esté protegida de alguna manera, la contraseña se enviará encriptada al dispositivo y será menos probable que esté sujeta a un ataque MitM.

Si el código de acceso se envía de forma clara para que todos lo puedan ver, entonces sí, diría que un ataque MitM es muy posible.

    
respondido por el RoraΖ 17.11.2014 - 14:36
fuente
1

El emparejamiento de Bluetooth 4.0 depende de que ambos dispositivos acepten la misma "clave temporal" de 128 bits. En la mayoría de los casos prácticos, la clave se genera (con extensión cero) a partir de una clave de acceso. De acuerdo con la especificación, la clave de acceso se genera de forma pseudoaleatoria.

(todas las citas de enlace )

  

El método de generación de STK de entrada de clave usa 6 dígitos numéricos pasados   de banda por el usuario entre los dispositivos. Una clave de acceso de 6 dígitos generada de forma aleatoria logra aproximadamente 20 bits de entropía.

La especificación también determina qué dispositivo genera (y muestra) la clave y cuál espera la entrada del usuario.

El protocolo de emparejamiento de bluetooth utiliza un esquema de "compromiso de bit", diseñado para prevenir ataques MitM. Básicamente, ambos dispositivos intercambian un "valor de confirmación" basado en múltiples parámetros, incluida la clave temporal (código de acceso) y un número aleatorio privado. El número aleatorio privado se divulga en una etapa posterior, lo que demuestra que el dispositivo efectivamente había conocido el código de acceso al inicio del proceso.

  

El método de ingreso con clave de acceso proporciona protección contra los ataques activos de "hombre en el medio" (MITM), ya que un hombre en el medio activo tendrá éxito con una probabilidad de 0.000001 en cada invocación del método.

Se encontró que el esquema era fundamentalmente defectuoso , lo que permite a un atacante MITM activo determinar la clave de acceso sobre la marcha y simular que se sabía antes del emparejamiento. Una descripción detallada de la falla se puede encontrar aquí: enlace .

    
respondido por el Andrzej Szombierski 08.03.2016 - 09:40
fuente

Lea otras preguntas en las etiquetas