Attacchi Bluetooth Low Energy (BLE) e Man-in-the-Middle?

3

Nel blog Bluetooth del "ufficiale", parlano del meccanismo di associazione BLE e di come durante fase 2 (autenticazione) lo scambio di chiavi viene utilizzato per proteggere dagli attacchi MITM. Non vedo come sia possibile.

Se l'attaccante crea un dispositivo (dx) che si trova tra il dispositivo BLE 1 (d1) e il dispositivo BLE 2 (d2), e passa semplicemente tutto, quindi come d1 e d2 stanno scambiando le chiavi, dx è invisibile a d1 e d2. Dopo l'accoppiamento, dx può monitorare le comunicazioni e quindi, quando decide di attaccare, può impedire che alcuni pacchetti riescano a passare e riprodurre i pacchetti che ha visto in precedenza (tutti senza decodificare mai i pacchetti).

In che modo l'accoppiamento BLE o lo scambio di chiavi specifico hanno un impatto su questo?

    
posta Betty Crokker 20.02.2017 - 18:39
fonte

1 risposta

2

Dalla sicurezza delle informazioni proprietarie Bluetooth Sig :

Signed Data Bluetooth with its low energy features supports the ability to send authenticated data over an unencrypted transport between two devices with a trusted relationship. This means that in some circumstances where the communication channel is not encrypted, the device could still have a method to maintain and ensure the data authentication. This is accomplished by signing the data with a CSRK. The sending devices place a signature after the Data Protocal Data Unit (PDU). The receiving device verifies the signature and, if the signature is verified, the Data PDU is assumed to come from the trusted source. The signature is composed of a Message Authentication Code generated by the signing algorithm and a counter. The counter is used to protect against a replay attack and is incremented on each signed Data PDU sent.

Durante il meccanismo di accoppiamento, entrambi i dispositivi generano un numero di sequenza casuale. Il numero di sequenza (contatore) viene incrementato su ciascun pacchetto pach. Sono utili per riordinare i pacchetti se non vengono ricevuti nel giusto, ma sono anche utili contro gli attacchi di replay.

Ad esempio, (d1) e (d2) sono accoppiati. (d1) ha scelto un numero di sequenza casuale, 123456 e invia "hi" a (d2). (dx) intercettarlo. (dx) può provare 2 cose:

  • Riproduce il pacchetto con il numero di sequenza 123456, in questo caso, verrà respinto da (d2) perché il numero di sequenza deve essere superiore a quello precedente (a seconda del protocollo, deve essere precedente_sequence_number + 1 o previous_sequence_number + previous_message_length).

  • riproduci il pacchetto con il numero di sequenza 123457, in questo caso la firma non sarà valida e il messaggio verrà rifiutato.

risposta data 21.02.2017 - 04:26
fonte

Leggi altre domande sui tag