Passkey SSP vs OOB SSP (Bluetooth)

0

Estoy tratando de asimilar cómo funciona el SSP, y no tengo mucha exposición a la seguridad. Creo que asimilo OOB SSP y solo funciona SSP, por lo que la siguiente descripción se basa en ese vocabulario. Pero estoy haciendo varias suposiciones, ¿puede alguien verificar mi comprensión?

De una forma u otra, debe obtener un Hash (no está seguro de qué es esto, pero es necesario para la autenticación y la generación de claves de enlace) y un aleatorizador (un número aleatorio) sobre el otro dispositivo que desea configurar una clave de enlace con. Pero si lo reportas a través de la radio bluetooth, Mallory the Malicious podría mitigarte y robarte el dinero del almuerzo. Las 4 opciones de emparejamiento compatibles con Bluetooth son varias formas en que puede mantener a Mallory en la oscuridad.

1: Sólo funciona; Básicamente, esperas que Mallory no esté escuchando mientras envías el hash y el aleatorizador. Pero si Mallory solo sintoniza después de que los hayas enviado, no tiene suerte.

2: OOB: Estás cambiando a otro medio de comunicación para que Mallory también tenga que escuchar en ese medio. Pero podría ser, así que es mejor que hagas lo que puedas para proteger el hash / randomizer.

También, pregunta de seguimiento; Tocan la comunicación cercana al campo como la mejor manera de usar OOB, y puedo ver por qué; su rango extremadamente limitado es un activo en este contexto. Pero, en mi caso de uso, mi única opción OOB es wifi. ¿Eso anula el propósito de OOB, ya que es tan inseguro como ponerlo por Bluetooth en primer lugar?

3: Comparación numérica & Clave de acceso: está pasando Hash y Randomizer a través de Bluetooth como en el modelo de Just Works, pero luego ... ¿le pide al usuario que confirme algunos números? ¿Cuál, de alguna manera, mantiene alejada a Mallory?

Realmente no entiendo cómo funcionan estos modelos. He mirado el api del agente en blueZ, y parece que no hay ninguna relación entre la clave de acceso generada y ninguna información segura en absoluto ... en el siguiente fragmento del script de python simple-agent, literalmente tomas ingrese el teclado al usuario y pídale al otro dispositivo que ingrese el mismo código.

def RequestPinCode(self, device):
    print("RequestPinCode (%s)" % (device))
    set_trusted(device)
    omgwtfbbq = ask("Enter PIN Code: ")
    return omgwtfbbq

No entiendo cómo eso ayuda en absoluto.

    
pregunta user1733212 07.11.2018 - 21:31
fuente

0 respuestas

Lea otras preguntas en las etiquetas