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 .