Как macOS Sierra безопасно соединяется с клавиатурой Bluetooth без кода?

8

У меня в конце 2014 года Mac Mini под управлением macOS Sierra 10.12.5. Когда я подключил его к клавиатуре Bluetooth, мне не предложили ввести последовательность цифр.

Как macOS проверяет и защищает соединения между клавиатурами Bluetooth, не запрашивая код? Использует ли он только доверие при первом использовании? Можно ли заставить macOS использовать код сопряжения?

Эрик Пруитт
источник
Ваша клавиатура Bluetooth - это клавиатура Apple?
Джаххейн
@ Jahhein, нет, это не так.
Эрик Прюитт
Это очень хороший вопрос. Мне любопытно узнать ответ сам. Я прочитал о Bluetooth, и никакие очевидные рассуждения не приходят на ум, если это не сертифицированное Apple устройство Bluetooth.
Jahhein

Ответы:

6

TL; DR ответы на вопросы

Как macOS проверяет и защищает соединения между клавиатурами Bluetooth, не запрашивая код?

Это не просто macOS - ваша клавиатура подключена и зашифрована на уровне прошивки - если бы это было не так, вы бы не смогли выполнить сброс NVRAM до загрузки ОС.

Однако вам не нужен код, потому что современные клавиатуры Bluetooth используют алгоритм аутентификации для сопряжения и сгенерированный ключ аутентификации на основе открытых ключей для обеспечения безопасности передачи данных.

Использует ли он только доверие при первом использовании?

Нет. Он проверяет свою личность, используя алгоритм и 128-битные сгенерированные ключи.

Можно ли заставить macOS использовать код сопряжения?

Почему? Это будет возвращаться к методологии сопряжения до 2009 года. Это было бы эквивалентно включению общих ключей WEP в современных сетях WiFi.


Bluetooth-соединение

Процесс, который вы описали для сопряжения устройства Bluetooth (клавиатура в вашем примере), использует старый (Bluetooth 2.1) метод аутентификации, называемый Simple Secure Pairing (SSP).

По сути, SSP имеет 4 модели ассоциации (спаривания):

  • Числовое сравнение . Оба устройства имеют вход и дисплей, поэтому пользователь может просто выбрать «Да» или «Нет» для сопряжения устройства
  • Устройство Passkey One имеет возможность ввода (например, клавиатуру), а другое - дисплей (как компьютер). Устройство с возможностью отображения показывает номер от 4 до 6 цифр, и устройство с возможностью ввода вводит его.
  • Просто работает Это для устройств без возможности отображения или ввода (например, гарнитуры), где вы не можете видеть или вводить пароль.
  • Out of Band (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 Ред. 2, Руководство по безопасности Bluetooth (май 2017 г.)

Аллан
источник
Похоже, что Bluetooth в целом уязвим для атак MITM во время процедуры сопряжения, но до тех пор, пока сопряжение было выполнено надежно, последующие соединения должны быть уязвимы для перехвата. Правильно ли мое понимание?
Эрик Пруитт
Только если устройство использует слабые методы обеспечения безопасности, такие как слабые и / или статические ключи, слабое шифрование, безопасность в «режиме 1» (нет) и т. Д. Каждая технология имеет уязвимости, но большая часть того, что делает BT уязвимым, заключается в том, как ее реализуют производители. В случае клавиатуры она постоянно сопряжена (в противном случае вы не сможете разбудить компьютер или использовать его в предзагрузочной среде). В этом случае было бы очень трудно стать MITM, потому что к моменту начала атаки соединение и безопасная связь уже установлены и работают.
Аллан