TL; DR risponde alle domande
In che modo macOS convalida e protegge le connessioni tra le tastiere Bluetooth senza richiedere un codice?
Non è solo macOS - la tua tastiera è connessa e crittografata a livello di firmware - se non lo fosse non saresti in grado di eseguire un ripristino NVRAM prima che il sistema operativo si carichi.
Tuttavia, non è necessario un codice perché le moderne tastiere Bluetooth utilizzano un algoritmo di autenticazione per accoppiare e una chiave di autenticazione generata basata su chiavi pubbliche per proteggere le trasmissioni di dati.
Usa solo la fiducia al primo utilizzo?
No. Verifica la sua identità utilizzando un algoritmo e chiavi generate a 128 bit.
È possibile forzare macOS a utilizzare un codice di accoppiamento?
Perché? Ciò sarebbe dovuto alle metodologie di accoppiamento pre-2009. Ciò equivarrebbe a abilitare le chiavi condivise WEP su reti WiFi moderne.
Accoppiamento Bluetooth
Il processo che hai descritto per associare un dispositivo Bluetooth (una tastiera nel tuo esempio) utilizza un vecchio metodo di autenticazione (Bluetooth 2.1) chiamato Simple Secure Pairing (SSP).
Fondamentalmente, SSP ha 4 modelli di associazione (accoppiamento):
- Confronto numerico . Entrambi i dispositivi hanno input e display in modo che l'utente possa semplicemente selezionare "Sì" o "No" per associare il dispositivo
- Passkey Un dispositivo ha capacità di input (come una tastiera) e l'altro ha funzionalità di visualizzazione (come un computer). Il dispositivo con capacità di visualizzazione mostra un numero da 4 a 6 cifre e il dispositivo con capacità di immissione lo immette.
- Funziona solo per dispositivi senza funzionalità di visualizzazione o input (come gli auricolari) in cui non è possibile visualizzare o immettere una passkey.
- Out of Band (OoB) Questo è per dispositivi che supportano una tecnologia wireless comune (NFC) aggiuntiva in cui i dispositivi devono trovarsi molto vicini l'uno all'altro. Un dispositivo deve "toccare" l'altro dispositivo prima che si verifichi l'associazione.
La cosa più importante da notare è che SSP NON è la chiave di crittografia; è semplicemente il meccanismo di accoppiamento per identificarsi a vicenda. La crittografia viene gestita tramite una chiave pubblica. Il codice inserito è quello di assicurarsi che sia il dispositivo a cui si desidera connettersi; non è la sicurezza.
A partire da Bluetooth 3.0 (aprile 2009), i dispositivi Bluetooth utilizzano una chiave AMP per l'autenticazione che automatizza il processo sopra descritto.
Derivazione chiave
AMP La chiave di collegamento AMP è derivata dalla chiave di collegamento Bluetooth. Una chiave di collegamento AMP generica (GAMP_LK) viene generata da AMP Manager nello stack host ogni volta che viene creata o modificata una chiave di collegamento Bluetooth
Autenticazione
La procedura di autenticazione del dispositivo Bluetooth è sotto forma di uno schema di risposta alla sfida. Ogni dispositivo interagisce in una procedura di autenticazione come richiedente o verificatore. Il richiedente è il dispositivo che tenta di dimostrare la propria identità e il verificatore è il dispositivo che convalida l'identità del richiedente. Il protocollo challenge-response convalida i dispositivi verificando la conoscenza di una chiave segreta, la chiave di collegamento Bluetooth.
crittografia
Esistono 4 modalità di crittografia
- Modalità 1: nessuna crittografia
- Modalità 2: il traffico indirizzato individualmente viene crittografato in base alle chiavi basate sulle chiavi di collegamento
- Modalità 3: tutto il traffico viene crittografato utilizzando le chiavi in base alla chiave principale
- Modalità 4 - (Bluetooth 2.1 + EDR) obbliga tutto il traffico è crittografato ad eccezione del rilevamento del servizio
Tastiere Bluetooth che utilizzano Bluetooth 2.1 (tastiere dal 2009 e oltre) e fino a crittografare tutto il loro traffico.
FONTE:
SP 800-121 Rev. 2, Guida alla sicurezza Bluetooth (maggio 2017)