Научная статья на тему 'Обзор безопасности протокола передачи данных Bluetooth'

Обзор безопасности протокола передачи данных Bluetooth Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1371
217
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛЮЧ / АУТЕНТИФИКАЦИЯ / ШИФРОВАНИЕ / КОРРЕЛЯЦИОННАЯ АТАКА / BLUETOOTH / KEY / AUTHENTICATION / ENCRYPTION / CORRELATION ATTACK

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михайлов Дмитрий Михайлович, Стариковский Андрей Викторович, Смирнов Александр Сергеевич, Зуйков Александр Васильевич, Хабибуллин Тимур Рамильевич

Статья посвящена обеспечению безопасности протокола передачи данных Bluetooth – одному из наиболее популярных в настоящее время протоколов передачи данных. Авторами рассматривается процесс взаимодействия двух устройств по Bluetooth, в том числе создание ключа связи, аутентификация и шифрование.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Михайлов Дмитрий Михайлович, Стариковский Андрей Викторович, Смирнов Александр Сергеевич, Зуйков Александр Васильевич, Хабибуллин Тимур Рамильевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Обзор безопасности протокола передачи данных Bluetooth»

МИХАЙЛОВ1 Дмитрий Михайловяч, кандидат технических наук, доцент СТАРИКОВСКИЙ2 Андрей Викторович > СМИРНОВ3 Александр Сергеевич

Цр * • ЗУЙКОВ4 Александр Васильевич

ХАБИБУЛЛИН5 Тимур Рамильевич

ОБЗОР БЕЗОПАСНОСТИ ПРОТОКОЛА ПЕРЕДАЧИ ДАННЫХ BLUETOOTH

Статья, посвящена обеспечению безопасности протокола передачи данных Bluetooth. — одноШуиз наиболее популярных в настоящее время протоколов передачи данных. Авторами рассматривается, процесс взаимодействия, двух устройств по Bluetooth, в том. числе создание ключа связи, аутентификация, и шифрование. Ключевые слова: Bluetooth, ключ, аутентификация, шифрование, корреляционная атака.

This article deals with the security provision, of data transmission, protocol Bluetooth, that is nowadays one of the most popular protocols of information, transmission. Authors describe the process of interaction between two devices via Bluetooth, including creation of link key, authentication and encryption.

Key words: Bluetooth, key, authentication, encryption, correlation attack.

В настоящее время все большее распространение получают технологии беспроводной связи. Они развиваются быстрыми темпами и предоставляют пользователям разнообразные возможности для связи. Наиболее распространенными на данный момент являются Bluetooth и Wi-Fi. Данные технологии предназначены для передачи информации между устройствами, а также для доступа к глобальной сети Интернет. Наиболее активно Bluetooth технологии используются в сфере мобильных устройств. Bluetooth позволяет передавать данные с телефона на телефон или на компьютер, выходить в Интернет, использовать гарнитуру и т.д. Bluetooth — это беспроводная технология с малым радиусом действия (не более ста метров), активно использующаяся в настоящее время во всевозможных электронных устройствах [1]. Bluetooth работает в нелицензирован-

ном диапазоне частот (2,4000 — 2,4835 ГГц) [2]. Начиная с версии 1.2, при передаче данных протокол использует метод расширения спектра со скачкообразной перестройкой частоты. Всего выделено 79 частот (f = 2402 + k, k = 0, ... ,78 МГц), переключение между которыми происходит 1600 раз в секунду. Последовательность переключения между частотами является псевдослучайной и различна для каждого соединения. Использование данного метода позволяет улучшить помехоустойчивость, а также незначительно повышает безопасность протокола, так как последовательность «прыжков» широковещательно передается при инициации соединения.

Взаимодействие двух устройств по Bluetooth начинается с процедуры сопряжения (Pairing), при котором одно из устройств является главным (Master), а другое — ведомым (Slave). Пользова-

тели, желающие осуществить передачу данных, вводят на своих устройствах PIN-код, который представляет собой любую ШТ-8 строку длиной 16 байт. PIN-код вместе с адресом ведомого В1ие1;ссШ-устройства и 128-битным случайным числом (IN_RAND) используется алгоритмом Е22 для создания 128-битного ключа инициализации (К™), который затем будет применен при создании ключа связи. [3] Для того чтобы создать разделяемый ключ, каждое из устройств генерирует случайное 128-битное число (LK_RAND), которое затем вместе с адресом устройства шифруется алгоритмом Е21 на ключе КШ1 (побитовый XOR) и полученный СОМВ_КЕУ отправляется другому устройству. Так как каждому из взаимодействующих устройств известен свой СОМВ_КЕУ (ключ инициализации и адрес второго устройства), то каждое из устройств

' - НИЯУ «МИФИ», доцент;2 - НИЯУ «МИФИ», ассистент;

3 - НИЯУ «МИФИ», аспирант;4 — НИЯУ «МИФИ», аспирант; 5 - НИЯУ «МИФИ», аспирант.

Устройство Bluetooth 1

Устройство Bluetooth 2

РШ Ш ЯАЖ)

Создание ключа < инициализации

Обмен

случайными величинами

COMB_KEY2 •*-

LKRANDi BDADDRi

Вычисление секретных «> ключей

' 1 г

Kl -л Е21

COMB_KEY2 xorKmi BD_ADDR2

1 ' 1

к2 Е21

Получение ключа

Ki Кг

1 ' 1

Klint II

IN RAND PIN

LKRAND2 BD_ADDR2

Е21 к2

BD_ADDRi COMB KEYi хогКы

' 1 Г

Е21 Ki

Ki к2

' 1 Г

II Klmk

Рис. 1. Создание ключа связи

может легко получить СОМБ_КБУ второго устройства. Ключ связи (Кипк) получается конкатенацией секретных ключей К! и К2 обоих устройств. [3] Описанная процедура представлена на рис. 1.

После процедуры сопряжения следует процесс аутентификации. При этом одно из устройств является предъяви-

телем, а второе верификатором. Предъявитель — это устройство, которое пытается подтвердить свою подлинность, верификатор — устройство, проверяющее подлинность. Возможен также сценарий взаимной проверки, при котором после прохождения аутентификации одним из устройств происходит смена ролей. Проверка подлинности базиру-

ется на проверке знания секретного ключа связи (КИпк) (рис. 2). В случае успешного завершения процесса аутентификации, начинается процесс шифрования, если процесс аутентификации закончился неудачей, Б1ие1;ссШ-устройство ждет некоторый промежуток времени, прежде чем повторить попытку. Этот временной

Устройство Bluetooth 1 (Предъявитель)

Устройство Bluetooth 2 (Верификатор)

Аутентификация закончилась неудачей

Рис. 2. Процесс аутентификации

интервал экспоненциально увеличивается, чтобы предотвратить попытку перебора ключа связи. Основу процедуры шифрования Bluetooth составляет потоковый шифр E0, который для генерации гамма-последовательности использует регистры сдвига с линейной обратной связью. Выходная гамма-последовательность накладывается на открытый текст с помощью операции XOR, после чего результат отправляется принимающему устройству. Дешифрование полностью симметрично. Шифруются только содержимое Bluetooth-пакетов; заголовки не шифруются никогда. Для создания ключа шифрования (Kc) используется алгоритм E3, входными данными которого являются ключ связи (Klink), 128-битное случайное число (EN_RAND), которое посылается от Master к Slave в открытом виде, и 96-бит COF (Ciphering Offset Number), основанный на ACO, получившимся в результате процесса аутентификации. Длина ключа шифрования варьируется от 8 до 128 бит (но всегда кратна 8 битам). Каждое устройство может работать с несколькими разными дли-

Устройство Bluetooth 1 (Slave)

Устройство Bluetooth 2

( Master )

Рис. 3. Процесс шифрования

нами Kc, поэтому устройства проходят фазу согласования, при которой выбирается максимальная длина ключа, поддерживаемая обоими устройствами. В качестве входных данных алгоритм E0 использует Bluetooth адрес Master-устройства, 26 бит системного времени Master-устройства и ключ шифрования Kc. В случае когда выбранная устройствами длина ключа шифрования меньше 128 бит, ключ будет уменьшен (Кс ^ КС) до установленного значения. [4]

Процесс шифрования представлен в общем виде на рис. 3. В основе алгоритмов E1, E2, E3 лежит симметричный блочный шифр SAFER+, который имеет уязвимости к некоторым видам атак, однако на сегодняшний момент обладает высоким запасом криптостойкости. Поточный шифр E0 имеет уязвимость к корреляционным атакам, о которой было известно разработчикам алгоритма, однако из-за высокой частоты ресинхронизации угроза была признана малозначимой. Долгое время атака оставалась чисто теоретической, однако в настоящее время наиболее эффективная из предложенных корреляционных атак позволяет получить ключ шифрования за 238 операций; если же известны первые 24 бита — 224 фрей-

мов. Учитывая максимальное количество фреймов — 226, можно заключить, что данная атака может быть применена на практике [5, 6]. Возможность проведения корреляционной атаки связана с наличием двух упущений в алгоритме E0. Первое из них связано с наличием смещения в конечном автомате (FSM), имеющем четыре бита состояния, один из которых комбинируется с выходами четырех регистров сдвига с линейной обратной связью (linear feedback shift register — LFSR) с помощью операции XOR, формируя выходной бит гамма-последовательности. При удачном выборе комбинирующей функции вероятность того, что данный бит равен 1 (или соответственно 0) близка к 50%. Однако в FSM существует смещение:

Pr (ct XOR ct+1 XOR ct+2 XOR cl+3 XOR c,+4 = 1) = 1/2 + 25/256,

где ct — выходной бит FSM в момент времени t.

Таким образом, если ключ шифрования подобран верно, то гамма-последовательность будет иметь описанное выше смещение, в противном случае — не будет.

Второй недостаток алгоритма в том,

что после загрузки входных значений (Klink, 128-битное случайное число, 48-битный адрес Master устройства, 26 бит системных часов Master устройства) в регистры LFSR, происходит генерация последовательности длиной 200 бит, последние 128 из которых перегружаются обратно в LFSR. При этом никаких преобразований не происходит за исключением изменения последовательности байт. Следовательно, легко отследить связь битов LFSR, использующихся для формирования выходного бита гамма-последовательности, с входными данными алгоритма. Помимо недостаточно высокой крипто-стойкости использующегося для шифрования алгоритма, существует также недостаток в процедуре сопряжения. Безопасность протокола основана на секретности PIN-кода, длина которого должна составлять 16 байт, однако на практике, как правило, его длина составляет 4 или 6 десятичных символов (зачастую цифры), что позволяет, перехватив все использующиеся в процессе сопряжения данные, подобрать PIN-код методом полного перебора за секунды. В случае если злоумышленнику удастся пройти процедуру сопряжения, он получит доступ к весьма широкому спектру API-функций, что, по сути, означает контроль над устройством жертвы Щ

Литература

1. А.А. Пихтулов, Д.В. Шевченко, В.Б. Холявин. Анализ и классификация угроз для мобильных устройств, использующих уязвимости технологии Bluetooth. /Безопасность информационных технологий. «Безопасность мобильной связи», 2012. - 2БМС. С. 36 - 43.

2. Soltanian A., Van Dyck R.E. Performance of the Bluetooth, system, in fading dispersive channelsand. interference./ IEEE Global Telecommunications Conference, 2001 (GLOBECOM 01). - С. 3499 - 3503.

3. П.Е. Минин, А.С. Самойлов, А.А. Кузин. Уязвимости канала данных Bluetooth для. прослушивания, злоумышленниками Безопасность информационных технологий. «Безопасность мобильной связи», 2012. - 2БМС. С. 50 - 53.

4. Bluetooth. SIG. Specification of the Bluetooth, system, version 1.2.

5. Lu Y., Vaudenay S. Cryptoanalysis of Bluetooth keystream generator two-level E0. - Asiacrypt'2004. - PP. 483 - 499.

6. Lu Y., Vaudenay S. Faster correlation attack on Bluetooth keystream. generator E0. - Crypto'2004. - PP. 407 - 425.

i Надоели баннеры? Вы всегда можете отключить рекламу.