У меня есть Mac Mini конца 2014 года, работающий под управлением macOS Sierra 10.12.5. Когда я соединил его с клавиатурой Bluetooth, мне не было предложено ввести последовательность цифр.
Как macOS проверяет и защищает соединения между Bluetooth-клавиатурами без запроса кода? Он просто использует доверие при первом использовании? Можно ли заставить macOS использовать код сопряжения?
Как macOS проверяет и защищает соединения между Bluetooth-клавиатурами без запроса кода?
Дело не только в macOS — ваша клавиатура подключена и зашифрована на уровне прошивки — иначе вы не смогли бы выполнить сброс NVRAM до загрузки ОС.
Однако вам не нужен код, потому что современные Bluetooth-клавиатуры используют алгоритм аутентификации для сопряжения и сгенерированный ключ аутентификации на основе открытых ключей для защиты передачи данных.
Он просто использует доверие при первом использовании?
Нет. Он проверяет свою личность с помощью алгоритма и 128-битных сгенерированных ключей.
Можно ли заставить macOS использовать код сопряжения?
Почему? Это было бы возвращением к методологиям составления пар до 2009 года. Это было бы эквивалентно включению общих ключей WEP в современных сетях Wi-Fi.
В описанном вами процессе сопряжения устройства Bluetooth (в вашем примере это клавиатура) используется старый (Bluetooth 2.1) метод аутентификации, который называется Simple Secure Pairing (SSP).
По сути, SSP имеет 4 модели ассоциации (сопряжения):
Самое важное, что следует отметить, это то, что SSP НЕ является ключом шифрования; это просто механизм сопряжения для идентификации друг друга. Шифрование осуществляется с помощью открытого ключа. Код, который вы вводите, предназначен для того, чтобы убедиться, что это именно то устройство, к которому вы хотите подключиться; это не безопасность.
Начиная с Bluetooth 3.0 (апрель 2009 г.), устройства Bluetooth используют для аутентификации ключ AMP, который автоматизирует описанный выше процесс.
Получение ключа AMP Ключ ссылки AMP является производным от ключа связи Bluetooth. Общий ключ ссылки AMP (GAMP_LK) генерируется диспетчером AMP в стеке хоста всякий раз, когда создается или изменяется ключ ссылки Bluetooth.
Аутентификация
Процедура аутентификации устройства Bluetooth представляет собой схему запрос-ответ. Каждое устройство, взаимодействующее в процедуре аутентификации, выступает либо в качестве заявителя, либо в качестве верификатора. Заявитель — это устройство, пытающееся подтвердить свою личность, а верификатор — это устройство, подтверждающее личность заявителя. Протокол запрос-ответ проверяет устройства, проверяя знание секретного ключа — ключа связи Bluetooth.
Есть 4 режима шифрования
Клавиатуры Bluetooth, использующие Bluetooth 2.1 (клавиатуры 2009 года и более поздние версии) и выше, шифруют весь свой трафик.
Джаххейн
Эрик Прюитт
Джаххейн