TL; DR відповідає на запитання
Як macOS перевіряє та захищає з'єднання між клавіатурами Bluetooth, не вимагаючи введення коду?
Це не лише macOS - ваша клавіатура підключена та зашифрована на рівні прошивки - якби не вона, ви не зможете виконати скидання NVRAM до завантаження ОС.
Однак код вам не потрібен, оскільки сучасні клавіатури Bluetooth використовують алгоритм аутентифікації для створення пари та згенерованого ключа аутентифікації на основі відкритих ключів для захисту передачі даних.
Він просто використовує довіру на першому використанні?
Ні. Він перевіряє свою ідентичність за допомогою алгоритму та 128-бітних згенерованих ключів.
Чи можливо змусити macOS використовувати код пари?
Чому? Це повернеться до методології спарювання до 2009 року. Це було б еквівалентом включення загальних ключів WEP в сучасних мережах WiFi.
З'єднання Bluetooth
Процес, який ви описали для створення пристрою Bluetooth (клавіатура у вашому прикладі), використовує старий метод аутентифікації (Bluetooth 2.1), який називається Simple Secure Pairing (SSP).
В основному, SSP має 4 моделі асоціації (парування):
- Числове порівняння . Обидва пристрої мають введення та відображення, тому користувач може просто вибрати "Так" або "Ні", щоб з'єднати пристрій
- Passkey Один пристрій має можливість введення даних (як клавіатура), а інший має можливість відображення (наприклад, комп'ютер). Пристрій з можливістю відображення показує 4 - 6 цифрний номер, і пристрій з можливістю введення вводить його.
- Просто працює Це для пристроїв, які не мають можливості відображення чи введення (наприклад, гарнітури), де ви не можете бачити або вводити пароль.
- Поза межами діапазону (OoB) Це для пристроїв, які підтримують додаткову загальну бездротову технологію (NFC), де пристрої повинні знаходитися в дуже близькій близькості. Один пристрій повинен "торкнутись" іншого пристрою, перш ніж відбудеться створення пари.
Найголовніше, що слід зазначити, це те, що SSP НЕ є ключем шифрування; це просто механізм сполучення для ідентифікації один одного. Шифрування обробляється за допомогою відкритого ключа. Введений код - переконатися, що це пристрій, до якого ви хочете підключитися; це не безпека.
Починаючи з Bluetooth 3.0 (квітень 2009 р.), Пристрої Bluetooth використовують ключ AMP для аутентифікації, який автоматизує описаний вище процес.
Виведення ключа AMP Ключ
зв'язку AMP походить від ключа зв'язку Bluetooth. Універсальний ключ зв'язку AMP (GAMP_LK) генерується менеджером AMP у стеці хоста кожного разу, коли створено або змінено ключ зв'язку Bluetooth
Аутентифікація
Процедура аутентифікації пристрою Bluetooth складається у формі схеми "відповідь-виклик". Кожен пристрій, який взаємодіє в процедурі аутентифікації, є або заявником, або верифікатором. Заявник - це пристрій, який намагається довести свою особу, а верифікатор - пристрій, що підтверджує особу заявника. Протокол-відповідь-протокол перевіряє пристрої, перевіряючи знання секретного ключа - ключа зв'язку Bluetooth.
Шифрування
Існує 4 режими шифрування
- Режим 1 - Без шифрування
- Режим 2 - Індивідуально адресований трафік шифрується на основі ключів, які базуються на клавішах посилання
- Режим 3 - весь трафік шифрується за допомогою клавіш на основі головного ключа
- Режим 4 - (Bluetooth 2.1 + EDR) зобов’язує весь трафік зашифрований, крім виявлення послуги
Клавіатури Bluetooth, що використовують Bluetooth 2.1 (клавіатури з 2009 року і далі) та шифрують весь їхній трафік.
ДЖЕРЕЛ
:
SP 800-121 Rev. 2, Посібник з безпеки Bluetooth (травень 2017)