Безопасность Bluetooth зависит от настройки
Для защиты Bluetooth-соединения предусмотрено шифрование передаваемых данных, а также выполнение процедуры авторизации устройств. Шифрование данных происходит с ключом, эффективная длина которого — от 8 до 128 бит, что позволяет устанавливать уровень стойкости результирующего шифрования в соответствии с законодательством каждой страны. Поэтому стоит сразу отметить, что правильно сконфигурированные Bluetooth-устройства спонтанно соединяться не могут, поэтому случайных утечек важной информации к посторонним лицам не бывает. К тому же ничто не ограничивает защиту на уровне конкретных приложений.
В зависимости от выполняемых задач спецификация Bluetooth предусматривает три режима защиты, которые могут использоваться как по отдельности, так и в различных комбинациях:
В первом режиме — минимальном (который обычно применяется по умолчанию) — никаких мер для безопасного использования Bluetooth-устройства не предпринимается. Данные кодируются общим ключом и могут приниматься любыми устройствами без ограничений.
Во втором режиме осуществляется защита на уровне устройств, то есть активируются меры безопасности, основанные на процессах опознания/аутентификации (authentication) и разрешения/авторизации (authorization). В этом режиме определяются различные уровни доверия (trust) для каждой услуги, предложенной устройством. Уровень доступа может указываться непосредственно в чипе, и в соответствии с этим устройство будет получать определенные данные от других устройств.
Третий режим — защита на уровне сеанса связи, где данные кодируются 128-битными случайными числами, хранящимися в каждой паре устройств, участвующих в конкретном сеансе связи. Этот режим требует опознания и использует кодировку/шифрование данных (encryption).
Второй и третий режимы часто применяются одновременно. Главная задача процесса аутентификации состоит в том, чтобы проверить, действительно ли устройство, инициирующее сеанс связи, является именно тем, за которое себя выдает. Устройство, инициирующее связь, посылает свой адрес-идентификатор (Bluetooth Device Address, BD_ADDR). Инициируемое устройство посылает в ответ случайное число в качестве запроса. В это время оба устройства рассчитывают опознавательный ответ, комбинируя адрес-идентификатор с полученным случайным числом. В результате сравнения происходит либо продолжение установления связи, либо разъединение (если опознавательные ответы не совпадут).
Если кто-то подслушивает соединение по эфиру, то для того, чтобы украсть аутентификационный ключ, ему необходимо знать алгоритм для выявления ключа из запроса и ответа, а определение такого обратного алгоритма потребует значительной компьютерной мощности. Поэтому стоимость извлечения ключа простым подслушиванием процедуры аутентификации неоправданно высока.
Что касается авторизации, то она предназначена для того, чтобы опознанное Bluetooth-устройство разрешило доступ к определенной информации или к услугам. Существуют три уровня доверия между Bluetooth-устройствами: проверенное (trusted), не вызывающее доверия (non-trusted) и неизвестное (unknown). Если устройство имеет доверительные отношения с инициирующим, то последнему разрешается неограниченный доступ к ресурсам. Если же устройству не доверяют, то доступ к ресурсам ограничивается так называемыми защитными слоями обслуживания (layer security service). Например, первый защитный слой требует опознания и разрешения для открытия доступа к сервису, второй — только опознания, третий — только кодировки. Неизвестное устройство, которое не было опознано, считается непроверенным.
И наконец, 128-битное шифрование данных помогает защитить секретную информацию от просмотра нежелательными посетителями. Только адресат с личным расшифровывающим ключом (decryption key) имеет доступ к этим данным.
Расшифровывающий ключ устройства основан на ключе связи. Это упрощает процесс генерации ключа, так как отправитель и адресат обладают общей секретной информацией, которая расшифрует код.
Служба Bluetooth-шифрования имеет, в свою очередь, три режима:
• режим без кодирования;
• режим, где кодируется только установление связи с устройствами, а передаваемая информация не кодируется;
• режим, при котором кодируются все виды связи.
Итак, защитные функции Bluetooth должны обеспечивать безопасную коммуникацию на всех связующих уровнях. Но на практике, несмотря на предусмотренную стандартом безопасность, в этой технологии имеется целый ряд существенных изъянов.
Например, слабым местом защиты Bluetooth-устройств является то, что производители стремятся предоставить пользователям широкие полномочия и контроль над устройствами и их конфигурацией. В то же время современная Bluetooth-технология обладает недостаточными средствами для опознания пользователей (то есть система безопасности Bluetooth не принимает во внимание личность или намерения пользователя), что делает Bluetooth-устройства особенно уязвимыми к так называемым spoofing-нападениям (радиодезинформации) и неправильному применению опознавательных устройств.
Кроме того, приоритетным считается надежность опознавания устройств, а не их безопасное обслуживание. Поэтому обнаружение услуг (service discovery) является критической частью всей схемы Bluetooth.
Крайне слабым местом интерфейса Bluetooth можно считать и процесс первичного спаривания устройств (pairing), при котором происходит обмен ключами в незакодированных каналах, что делает их уязвимыми для стороннего прослушивания. В результате перехвата передачи в момент процесса спаривания можно получить ключ инициализации путем вычисления этих ключей для любого возможного варианта пароля и последующего сравнения результатов с перехваченной передачей. Ключ инициализации, в свою очередь, используется хакером для расчета ключа связи и сравнивается с перехваченной передачей для проверки. В связи с этим рекомендуется производить процедуру спаривания в знакомой и безопасной среде, что значительно уменьшает угрозу подслушивания. Кроме того, риск перехвата можно уменьшить, если пользоваться длинными паролями, которые усложняют их определение из перехваченных сообщений.
Вообще, допускаемая стандартом возможность использования коротких паролей является еще одной причиной уязвимости Bluetooth-соединения, что, как и в случае с использованием простых паролей системными администраторами компьютерных сетей, может привести к их угадыванию (например, при автоматическом сравнении с базой заурядных/распространенных паролей). Такие пароли значительно упрощают инициализацию, но делают ключи связи очень простыми в плане извлечения из перехваченных передач.
Кроме того, ради простоты пользователи склонны применять спаренные ключи связи, а не более защищенные динамичные. По этой же причине вместо комбинаторных ключей они выбирают модульные. А устройство с модульным ключом использует его для соединения со всеми устройствами, которые устанавливают с ним связь. В результате любое устройство с модульным ключом может использовать его для подслушивания на безопасных соединениях, где применяется такой же ключ связи и от проверенных устройств (то есть тех, с которыми связь уже была когда-то установлена). При использовании же модульных ключей никакой защиты не существует.
Однако любое Bluetooth-устройство с личным ключом связи (decryption key) вполне безопасно. Так что меры безопасности по технологии Bluetooth могут защитить соединения только при условии правильной настройки и при правильном пользовании сервисами. И это единственный способ уберечь персональные данные и конфиденциальную информацию от попадания в чужие руки.
(с) compress.ru