Безопасность
Безопасность
В узкополосной спецификации Bluetooth определены следующие средства организации безопасного канала между любыми двумя устройствами Bluetooth:
• аутентификация;
• шифрование (конфиденциальность);
• управление использованием ключей.
В алгоритмах безопасности фигурируют четыре параметра.
• Адрес модуля. Общеизвестный 48-битовый адрес устройства.
• Секретный ключ аутентификации. Секретный 128-битовый ключ.
• Секретный частный ключ. Секретный ключ длиной от 4 до 128 бит.
• Случайное число. 128-битовое случайное число, сгенерированное на устройстве Bluetooth.
Два названных секретных ключа создаются и используются только устройством Bluetooth; разглашаться они не должны.
Цель аутентификации — проверить, действительно ли устройство Bluetooth, с которым планируется обмен данными, является тем, за кого себя выдает. На Рисунок 6.15 показана процедура аутентификации модулем А модуля В. Аутентификация заключается в проверке того, что оба устройства используют один предопределенный общий ключ аутентификации. Вначале А генерирует случайное число AU_RANDA и передает это значение В. Обе стороны используют алгоритм аутентификации E1 для генерации 32-битового подписанного ответа SRES. На вход E1 подается значение AU_RANDA, 48-битовый адрес устройства В и общий секретный ключ, а на выходе получается 128-битовое значение; 32 бит выхода формируют SRES. Алгоритм E1 (основанный на алгоритме шифрования SAFER) генерирует код аутентификации сообщения (message authentication code — MAC), представляющий собой хэш-код входных данных, основанный на секретном ключе. После того как В сгенерирует значение SRES, это значение возвращается А. А сравнивает поступившее значение SRES с локально сгенерированным. Если они совпадают — модуль В прошел аутентификацию.