TL; DR menjawab pertanyaan
Bagaimana cara macOS memvalidasi dan mengamankan koneksi antara keyboard Bluetooth tanpa meminta kode?
Ini bukan hanya macOS - keyboard Anda terhubung dan dienkripsi pada tingkat firmware - jika tidak, Anda tidak akan dapat melakukan reset NVRAM sebelum OS dimuat.
Namun, Anda tidak memerlukan kode karena papan ketik Bluetooth modern menggunakan algoritme otentikasi untuk memasangkan dan kunci autentikasi yang dihasilkan berdasarkan kunci publik untuk mengamankan transmisi data.
Apakah hanya menggunakan trust-on-first use?
Tidak. Ini memverifikasi identitasnya menggunakan algoritma dan kunci yang dihasilkan 128-bit.
Apakah mungkin memaksa MacOS untuk menggunakan kode pemasangan?
Mengapa? Ini akan kembali ke metodologi pasangan pra-2009. Ini akan sama dengan mengaktifkan kunci berbagi WEP pada jaringan WiFi modern.
Pemasangan Bluetooth
Proses yang Anda gambarkan untuk memasangkan perangkat Bluetooth (keyboard pada contoh Anda) menggunakan metode otentikasi lama (Bluetooth 2.1) yang disebut Simple Secure Pairing (SSP).
Pada dasarnya, SSP memiliki 4 model asosiasi (pairing):
- Perbandingan Numerik . Kedua perangkat memiliki input dan tampilan sehingga pengguna dapat memilih "Ya" atau "Tidak" untuk memasangkan perangkat
- Passkey One perangkat memiliki kemampuan input (seperti keyboard) dan yang lainnya memiliki kemampuan display (seperti komputer). Perangkat dengan kemampuan tampilan menunjukkan angka 4 hingga 6 digit dan perangkat dengan kemampuan input memasukinya.
- Just Works Ini untuk perangkat tanpa kemampuan tampilan atau input (seperti headset) di mana Anda tidak dapat melihat atau memasukkan kunci pas.
- Out of Band (OoB) Ini untuk perangkat yang mendukung teknologi nirkabel umum tambahan (NFC) di mana perangkat harus berada sangat dekat satu sama lain. Satu perangkat harus "mengetuk" perangkat lain sebelum pemasangan akan terjadi.
Yang paling penting untuk diperhatikan adalah bahwa SSP BUKAN kunci enkripsi; itu hanyalah mekanisme pasangan untuk mengidentifikasi satu sama lain. Enkripsi ditangani melalui kunci publik. Kode yang Anda masukkan adalah untuk memastikan bahwa perangkat yang ingin Anda sambungkan; itu bukan keamanan.
Sejak Bluetooth 3.0 (April 2009), perangkat Bluetooth menggunakan kunci AMP untuk otentikasi yang mengotomatiskan proses di atas.
Penurunan Kunci AMP Kunci
tautan AMP berasal dari kunci tautan Bluetooth. Kunci Tautan AMP Generik (GAMP_LK) dihasilkan oleh Manajer AMP di tumpukan host setiap kali kunci tautan Bluetooth dibuat atau diubah
Autentikasi
Prosedur otentikasi perangkat Bluetooth adalah dalam bentuk skema tantangan-respons. Setiap perangkat berinteraksi dalam prosedur otentikasi sebagai penuntut atau pemverifikasi. Penggugat adalah perangkat yang berusaha membuktikan identitasnya, dan verifikator adalah perangkat yang memvalidasi identitas penggugat. Protokol tantangan-respons memvalidasi perangkat dengan memverifikasi pengetahuan tentang kunci rahasia - kunci tautan Bluetooth.
Enkripsi
Ada 4 mode enkripsi
- Mode 1 - Tanpa enkripsi
- Mode 2 - Lalu lintas yang dialamatkan secara individual dienkripsi berdasarkan kunci yang didasarkan pada kunci tautan
- Mode 3 - Semua lalu lintas dienkripsi menggunakan kunci berdasarkan kunci utama
- Mode 4 - (Bluetooth 2.1 + EDR) mengamanatkan semua lalu lintas dienkripsi kecuali untuk penemuan layanan
Keyboard Bluetooth menggunakan Bluetooth 2.1 (keyboard dari tahun 2009 dan seterusnya) dan mengenkripsi semua lalu lintas mereka.
SOURCE:
SP 800-121 Rev. 2, Guide to Bluetooth Security (Mei 2017)