TL; DR risponde alle domande
How does macOS validate and secure connections between Bluetooth
keyboards without prompting for a code?
Non è solo macOS: la tua tastiera è connessa e crittografata a livello di firmware; se non fosse, non saresti in grado di eseguire un reset NVRAM prima che il sistema operativo venga caricato.
Tuttavia, non è necessario un codice perché le moderne tastiere Bluetooth utilizzano un algoritmo di autenticazione per l'accoppiamento e una chiave di autenticazione generata basata su chiavi pubbliche per proteggere le trasmissioni di dati.
Does it just use trust-on-first use?
No. Verifica la sua identità utilizzando un algoritmo e chiavi generate a 128 bit.
Is it possible to force macOS to use a pairing code?
Perché? Questo tornerebbe alle metodologie di abbinamento pre-2009. Questo sarebbe l'equivalente di abilitare le chiavi condivise WEP sulle moderne reti WiFi.
Accoppiamento Bluetooth
Il processo che hai descritto per l'abbinamento di un dispositivo Bluetooth (una tastiera nell'esempio) utilizza un metodo di autenticazione precedente (Bluetooth 2.1) chiamato Simple Secure Pairing (SSP).
Fondamentalmente, SSP ha 4 modelli di associazione (accoppiamento):
-
Confronto numerico . Entrambi i dispositivi sono dotati di input e display, quindi l'utente può semplicemente selezionare "Sì" o "No" per accoppiare il dispositivo
-
Passkey Un dispositivo ha capacità di input (come una tastiera) e l'altro ha capacità 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 input lo inserisce.
-
Funziona solo Questo è per i dispositivi senza funzionalità di visualizzazione o input (come cuffie) in cui non è possibile visualizzare o immettere una passkey.
-
Fuori banda (OOB) si tratta di 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 che inserisci è per assicurarsi che sia il dispositivo a cui desideri connetterti; non è la sicurezza.
Da Bluetooth 3.0 (aprile 2009), i dispositivi Bluetooth utilizzano una chiave AMP per l'autenticazione che automatizza il processo sopra descritto.
AMP Key Derivation
AMP link key is derived from the Bluetooth link key. A Generic AMP Link
Key(GAMP_LK)is generated by the AMP Manager in the host stack whenever
a Bluetooth link key is created or changed
Authentication
The Bluetooth device authentication procedure is in the form of a
challenge–response scheme. Each device interacting in an authentication
procedure to as either the claimant or the verifier. The
claimant is the device attempting to prove its identity, and the
verifier is the device validating the identity of the claimant. The
challenge–response protocol validates devices by verifying the
knowledge of a secret key — the Bluetooth link key.
crittografia
Cisono4modalitàdicrittografia
- Modalità1-Nessunacrittografia
- Modalità2-Iltrafficoindirizzatoindividualmenteècrittografatoinbaseachiavibasatesuitastidicollegamento
- Modalità3:tuttoiltrafficovienecrittografatoutilizzandolechiaviinbaseallachiaveprincipale
- Modalità4-(Bluetooth2.1+EDR)richiedechetuttoiltrafficosiacrittografatotrannecheperl'individuazionedeiservizi
LetastiereBluetoothcheutilizzanoBluetooth2.1(tastieredal2009eoltre)einaltocrittografanotuttoillorotraffico.
FONTE:
SP 800-121 Rev. 2, Guida alla sicurezza Bluetooth (maggio 2017)