¿Es segura una conexión de RFCOMM Bluetooth sin emparejamiento, sin contraseña?

3

He establecido mediante programación una conexión RFCOMM de Bluetooth entre una PC de escritorio (cliente) y una Raspberry Pi (servidor, Bluetooth 4.1). No hay solicitud de contraseña ni solicitud de emparejamiento durante el proceso. Estoy seguro de que la conexión funciona porque puedo enviar datos entre ellos.

Sin embargo, no estoy seguro de que la conexión RFCOMM esté encriptada. La información que se encuentra en la web es vaga o parece calificar la condición de seguridad para dispositivos emparejados o situaciones en las que se proporcionan contraseñas. También hay sugerencias de que las conexiones de RFCOMM pueden ser seguras después de todo (por ejemplo, aquí ). Simplemente no estoy seguro.

¿Alguien puede dar una respuesta definitiva?

    
pregunta Nick Lee 01.09.2017 - 12:15
fuente

1 respuesta

0

Es probable que no tengas resistencia contra los ataques del hombre en el medio.

Aquí hay dos estándares, Bluetooth (BT) y Bluetooth Low Energy (LE). Cada uno tiene un enfoque diferente para el cifrado y la autenticación y puede admitir múltiples niveles de seguridad.

El NIST tiene un documento bastante fantástico sobre seguridad Bluetooth al que me referiré para mi respuesta, ya que es muy completo pero también muy fácil de seguir.

BT tiene cuatro modos de seguridad en los que un dispositivo puede operar. Los detalles de lo que puede hacer cada modo son bastante complejos, por lo que lo simplificaré así: el Modo de seguridad 1 no tiene autenticación ni cifrado, el Modo de seguridad 2 aplica la autenticación y el cifrado en un nivel por servicio, pero no autentica ni encripta la capa de enlace, el Modo de seguridad 3 es la autenticación y el cifrado en el enlace más adelante, y el Modo de seguridad 4 es una versión más segura del modo 2 con múltiples niveles de cumplimiento de seguridad que permite la la selección de autenticación, ninguna autenticación o seguridad completamente deshabilitada para cada servicio ofrecido.

Al autenticarse, BT utiliza cualquiera de una serie de métodos de intercambio de claves. El que se ve con más frecuencia es un PIN de 4 dígitos, que es un modo de autenticación heredado. También hay soporte para pines más largos, incluida la entrada alfanumérica, que proporciona más seguridad. Luego, tiene Secure Simple Pairing (SSP) que funciona con el Modo de seguridad 4, lo que permite la autenticación mediante PIN, contraseña, un mecanismo no autenticado llamado "Just Works" (cifrado pero sin resistencia a MitM) y fuera de banda ( OOB) intercambio de claves a través de Internet, NFC u otro canal.

LE admite la autenticación, el cifrado y la firma, pero debe ponerse en uno de los dos modos de seguridad. Cada modo tiene niveles que controlan el tipo de seguridad en uso.

  • El modo de seguridad 1 tiene las siguientes opciones:
    1. Sin autenticación ni cifrado.
    2. Sin autenticación, pero el tráfico está cifrado.
    3. Vinculación autenticada y cifrado de tráfico.
  • El modo de seguridad 2 tiene las siguientes opciones:
    1. Emparejamiento no autenticado con firma de datos.
    2. Emparejamiento autenticado con firma de datos.

La autenticación también es bastante configurable. Puede realizar la autenticación OOB, que implica el intercambio de la clave temporal a través de otro mecanismo de transporte (por ejemplo, internet, NFC), o puede usar la entrada de PIN (esto es muy común) para generar la clave temporal en cada dispositivo. También hay un mecanismo llamado "Just Works", el mismo que en BT, que establece la clave temporal en todos los ceros, que aún habilita el cifrado de transporte, pero cualquiera que supervise las comunicaciones durante el intercambio puede obtener la clave a largo plazo y descifrar el tráfico .

RFCOMM es un servicio tanto para BT como para LE, por lo que su seguridad depende del protocolo que esté usando, del modo de seguridad en el que se encuentre y del nivel que esté usando, donde corresponda. Como mencionó que no está emparejándose en absoluto, me hace pensar que probablemente esté usando LE, que no está realmente diseñado para emparejarse de la misma manera que lo es BT. En cualquier caso, no está ingresando un PIN ni realizando ningún tipo de autenticación, lo que significa que no tiene ningún cifrado de transporte (p. Ej., El Modo de seguridad BT 1 o el Modo de seguridad LE 1, Nivel 1) o si tiene el cifrado de transporte activado pero en un intercambio de claves no autenticado (por ejemplo, Modo de seguridad LE 1, Nivel 2). En cualquier caso, puede oler el tráfico con una herramienta como Ubertooth One y volcar el contenido.

    
respondido por el Polynomial 01.09.2017 - 13:06
fuente

Lea otras preguntas en las etiquetas