Abbinamento BTLE: da dove viene il codice?

2

Quando si tenta di accoppiare 2 dispositivi bluetooth LE (ad esempio 2 iPhone), viene visualizzato un popup che richiede l'immissione di un codice visualizzato sull'altro dispositivo. Sono a conoscenza del concetto di autenticazione out-of-band e del perché è necessario.

  1. Il dispositivo A genera un codice.
  2. Il dispositivo A richiede al dispositivo B di inserire il codice.
  3. Il dispositivo B mostra un popup all'utente.
  4. Il dispositivo B invia il codice inserito al dispositivo A.
  5. Il dispositivo A confronta il codice ricevuto con il codice generato in precedenza.

Tuttavia, sto cercando di rispondere a queste domande:

  • Come viene calcolato il codice in primo luogo? Da una coppia di chiavi?
  • Non sta inviando il codice dal dispositivo B al dispositivo A soggetto a un attacco MITM passivo? Come viene autenticata questa comunicazione?
posta desktop 17.11.2014 - 14:19
fonte

2 risposte

0

L'idea alla base di questo è che il codice generato dal dispositivo A deve essere trasmesso separatamente al dispositivo B. Qualsiasi metodo di comunicazione farà: e-mail, messaggio di testo, chiamata telefonica, ecc.

Per rispondere alle tue domande:

How is the code calculated in the first place? From a keypair?

Dipende dal software del dispositivo. Alcuni fornitori genereranno un pin casuale a 4 cifre. Alcuni genereranno un passcode. Spetta al venditore come desiderano generarlo e quanta entropia vogliono avere. TeamViewer utilizza questo stesso tipo di metodo per il suo software desktop remoto. Consentono all'utente di scegliere la lunghezza e il tipo di passcode. L'uso di una coppia di chiavi per generare passcode sembra eccessivo, e molto probabilmente utilizzano un tipo di generatore di numeri pseudo-casuali.

Isn't sending the code from device B to device A subject to a passive MITM attack? How is this communication authenticated?

Dipende da come / se la comunicazione è protetta. È possibile che venga utilizzato un protocollo sicuro per crittografare la comunicazione tra i dispositivi. Questo potrebbe essere un protocollo standardizzato come SSL / TLS, o potrebbe essere proprietario. Finché la comunicazione è protetta in qualche modo, il passcode verrà inviato crittografato al dispositivo e sarà meno soggetto a un attacco MitM.

Se il passcode viene inviato in chiaro affinché tutti possano vederlo, allora si, direi che un attacco MitM è molto possibile.

    
risposta data 17.11.2014 - 14:36
fonte
1

L'accoppiamento Bluetooth 4.0 dipende da entrambi i dispositivi che accettano la stessa "chiave temporanea" a 128 bit. Nella maggior parte dei casi pratici, la chiave viene generata (estesa a zero) da una passkey. Secondo la specifica, la passkey è generata in modo pseudo casuale.

(tutte le citazioni da link )

The Passkey Entry STK generation method uses 6 numeric digits passed out of band by the user between the devices. A 6 digit numeric randomly generated passkey achieves approximately 20 bits of entropy.

La specifica determina anche quale dispositivo genera (e visualizza) la chiave e quale si aspetta l'input dell'utente.

Il protocollo di accoppiamento Bluetooth utilizza uno schema di "bit commitment", progettato per prevenire gli attacchi MitM. Fondamentalmente, entrambi i dispositivi scambiano un "valore di conferma" basato su più parametri tra cui la chiave temporanea (passcode) e un numero casuale privato. Il numero casuale privato viene divulgato in una fase successiva, dimostrando che il dispositivo aveva effettivamente conosciuto il codice di accesso all'inizio del processo.

The passkey Entry method provides protection against active “man-in-the-middle” (MITM) attacks as an active man-in-the-middle will succeed with a probability of 0.000001 on each invocation of the method.

Lo schema è stato trovato fondamentalmente difettoso , consentendo a un aggressore MITM attivo di determinare la passkey al volo e far finta che fosse noto prima di accoppiarsi. Una descrizione dettagliata del difetto può essere trovata qui: link .

    
risposta data 08.03.2016 - 09:40
fonte

Leggi altre domande sui tag