¿El cifrado de la capa de enlace de Bluetooth Low Energy (BLE) es seguro contra un atacante que escucha una conexión BLE aleatoria entre dos dispositivos, pero no ha escuchado a escondidas la primera conexión entre los dos dispositivos?
Fondo: cuando los dos dispositivos están emparejados inicialmente, obtienen una clave a largo plazo mediante un protocolo de intercambio de claves. Cualquier persona que pueda escuchar esa pareja inicial puede aprender la clave a largo plazo, pero para los propósitos de esta pregunta, asuma que el adversario no escuchó esa pareja inicial (por ejemplo, porque el adversario no estaba cerca). Luego, los dos dispositivos utilizan esta clave a largo plazo para cifrar los datos enviados en todas las conexiones futuras. BLE utiliza AES-CCM para el cifrado de capa de enlace, que debería ser seguro si la clave a largo plazo es impredecible.
Sin embargo, en WOOT 2013, Mark Ryan publicó un artículo que especulaba sobre un posible ataque contra BLE. En su ataque, el atacante inyecta un mensaje forjado LL_REJECT_IND en un dispositivo. Aparentemente, esto hará que el destinatario olvide la clave de largo plazo actual y obligue a un nuevo intercambio de clave para obtener una nueva clave de largo plazo. El atacante puede espiar este nuevo intercambio de claves, aprender la nueva clave a largo plazo y descifrar todo el tráfico posterior. Al menos, eso es lo que Ryan especuló.
¿Este ataque realmente funciona? ¿Es inseguro el cifrado de capa de enlace de BLE, incluso si el atacante no capturó el emparejamiento inicial entre los dos dispositivos?
Referencia: Mike Ryan, " Bluetooth: con poca energía tiene poca seguridad ", WOOT 2013. enlace