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

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

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

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

Ответы (1)

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

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

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

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

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

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

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

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


Bluetooth-сопряжение

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

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

  • Численное сравнение . Оба устройства имеют вход и дисплей, поэтому пользователь может просто выбрать «Да» или «Нет» для сопряжения устройства.
  • Пароль Одно устройство имеет возможность ввода (например, клавиатура), а другое — отображение (например, компьютер). Устройство с возможностью отображения показывает число от 4 до 6 цифр, а устройство с возможностью ввода вводит его.
  • Just Works Это для устройств без дисплея или ввода (например, гарнитуры), где вы не можете увидеть или ввести пароль.
  • Вне диапазона (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 г.)

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