La crittografia a livello di collegamento Bluetooth Low Energy (BLE) è protetta contro un utente malintenzionato che intercetta una connessione BLE casuale tra due dispositivi, ma non ha intercettato la prima connessione tra i due dispositivi?
Sfondo: quando i due dispositivi sono inizialmente accoppiati, derivano una chiave a lungo termine utilizzando un protocollo di scambio di chiavi. Chiunque riesca a origliare quell'associazione iniziale può apprendere la chiave a lungo termine, ma ai fini di questa domanda, supponi che l'avversario non abbia origliato quell'associazione iniziale (ad esempio perché l'avversario non era nelle vicinanze). I due dispositivi utilizzano quindi questa chiave a lungo termine per crittografare i dati inviati su tutte le connessioni future. BLE utilizza AES-CCM per la crittografia a livello di collegamento, che dovrebbe essere protetta se la chiave a lungo termine è imprevedibile.
Tuttavia, alla WOOT 2013, Mark Ryan ha pubblicato un articolo che speculava su un possibile attacco contro BLE. Nel suo attacco, l'attaccante inietta un messaggio LL_REJECT_IND falsificato su un dispositivo. Apparentemente questo farà sì che il destinatario dimentichi l'attuale chiave a lungo termine e costringa un nuovo scambio di chiavi a ricavare una nuova chiave a lungo termine. L'attaccante può origliare su questo nuovo scambio di chiavi, imparare la nuova chiave a lungo termine e decodificare tutto il traffico successivo. Almeno, questo è quello che ha ipotizzato Ryan.
Questo attacco funziona davvero? La crittografia a livello di collegamento di BLE è insicura, anche se l'utente malintenzionato non ha acquisito l'associazione iniziale tra i due dispositivi?
Riferimento: Mike Ryan, " Bluetooth: con bassa energia arriva bassa sicurezza ", WOOT 2013. link