Беспроводной стандарт передачи данных Bluetooth

Автор: Пользователь скрыл имя, 08 Декабря 2011 в 14:51, реферат

Описание работы

Bluetooth - (переводится как синий зуб, назван в честь Харальда I Синезубого) — производственная спецификация беспроводных персональных сетей (англ. Wireless personal area network, WPAN). Bluetooth обеспечивает обмен информацией между такими устройствами как карманные и обычные персональные компьютеры, мобильные телефоны, ноутбуки, принтеры, цифровые фотоаппараты, мышки, клавиатуры, джойстики, наушники, гарнитуры на надёжной, недорогой, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе от 1 до 200 метров друг от друга (дальность сильно зависит от преград и помех), даже в разных помещениях.

Содержание

1. Аннотация
2. Название и логотип
3. История создания и развития
4. Принцип действия Bluetooth
5. Спецификации
6. Профили Bluetooth
7 Безопасность
7.1 Инициализация bluetooth-соединения
7.2 Уязвимости и атаки
7.2.1 Базовая pairing атака (атака на сопряжение)
7.2.2 Re-pairing атака (атака на пересопряжение)
7.3 Оценка времени подбора PIN-кода
8 Применение
8.1 Hardware

Работа содержит 1 файл

Реферат2.docx

— 46.37 Кб (Скачать)

20 июля 2011 года, компания Apple представила новое поколение MacBook Air, а также новое поколение настольных компьютеров Mac Mini оснащенное Bluetooth стандарта 4.0.

6)Профили Bluetooth 

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

Нижеуказанные профили определены и одобрены группой  разработки Bluetooth SIG:

Advanced Audio Distribution Profile (A2DP)

A2DP разработан для передачи двухканального стерео аудиопотока, например, музыки, к беспроводной гарнитуре или любому другому устройству. Профиль полностью поддерживает низкокомпрессированный кодек Sub_Band_Codec (SBC) и опционально поддерживает MPEG-1,2 аудио, MPEG-2,4 AAC и ATRAC, способен поддерживать кодеки, определённые производителем[17].

Audio / Video Remote Control Profile (AVRCP)

Этот профиль  разработан для управления стандартными функциями телевизоров, Hi-Fi оборудования и прочее. То есть позволяет создавать устройства с функциями дистанционного управления. Может использоваться в связке с профилями A2DP или VDPT.

Basic Imaging Profile (BIP)

Профиль разработан для пересылки изображений между  устройствами и включает возможность  изменения размера изображения  и конвертирование в поддерживаемый формат принимающего устройства.

Basic Printing Profile (BPP)

Профиль позволяет  пересылать текст, e-mails, vCard и другие элементы на принтер. Профиль не требует от принтера специфических драйверов, что выгодно отличает его от HCRP.

Common ISDN Access Profile (CIP)

Профиль для  доступа устройств к ISDN.

Cordless Telephony Profile (CTP)

Профиль беспроводной телефонии.

Device ID Profile (DIP)

Профиль позволяет  идентифицировать класс устройства, производителя, версию продукта.

Dial-up Networking Profile (DUN)

Протокол предоставляет  стандартный доступ к интернету  или другому телефонному сервису  через Bluetooth. Базируется на SPP, включает в себя команды PPP и AT, определённые в спецификации ETSI 07.07.

Fax Profile (FAX)

Профиль предоставляет  интерфейс между мобильным или  стационарным телефоном и ПК на котором установлено программное обеспечение для факсов. Поддерживает набор AT-команд в стиле ITU T.31 и/или ITU T.32. Голосовой звонок или передача данных профилем не поддерживается.

File Transfer Profile (FTP_profile)

Профиль обеспечивает доступ к файловой системе устройства. Включает стандартный набор команд FTP, позволяющий получать список директорий, изменения директорий, получать, передавать и удалять файлы. В качестве транспорта используется OBEX, базируется на GOEP.

General Audio / Video Distribution Profile (GAVDP)

Профиль является базой для A2DP и VDP.

Generic Access Profile (GAP)

Профиль является базой для всех остальных профилей.

Generic Object Exchange Profile (GOEP)

Профиль является базой для других профилей передачи данных, базируется на OBEX.

Hard Copy Cable Replacement Profile (HCRP)

Профиль предоставляет  простую альтернативу кабельного соединения между устройством и принтером. Минус профиля в том, что для  принтера необходимы специфичные драйвера, что делает профиль неуниверсальным.

Hands-Free Profile (HFP)

Профиль используется для соединения беспроводной гарнитуры  и телефона, передаёт монозвук в одном канале.

Human Interface Device Profile (HID)

Обеспечивает  поддержку устройств с HID (Human Interface Device), таких как мышки, джойстики, клавиатуры и проч. Использует медленный канал, работает на пониженной мощности.

Headset Profile (HSP)

Профиль используется для соединения беспроводной гарнитуры (Headset) и телефона. Поддерживает минимальный набор AT-команд спецификации GSM 07.07 для обеспечения возможности совершать звонки, отвечать на звонки, завершать звонок, настраивать громкость. Через профиль Headset, при наличии Bluetooth 1.2 и выше, можно выводить на гарнитуру всё звуковое сопровождение работы телефона. Например, прослушивать на гарнитуре все сигналы подтверждения операций, mp3-музыку из плеера, мелодии звонка, звуковой ряд видеороликов. Гарнитуры, поддерживающие такой профиль имеют возможность передачи стереозвука, в отличие от моделей, которые поддерживают только профиль Hands-Free.

Intercom Profile (ICP)

Обеспечивает  голосовые звонки между Bluetooth-совместимыми устройствами.

LAN Access Profile (LAP)

LAN Access profile обеспечивает возможность доступа Bluetooth-устройствам к вычислительным сетям LAN, WAN или Internet посредством другого Bluetooth-устройства, которое имеет физическое подключение к этим сетям.

Bluetooth-устройство использует PPP поверх RFCOMM для установки соединения. LAP также допускает создание ad-hoc Bluetooth-сетей.

Object Push Profile (OPP)

Базовый профиль  для пересылки «объектов», таких  как изображения, виртуальные визитные карточки и др. Передачу данных инициирует отправляющее устройство (клиент), а  не приёмное (сервер).

Personal Area Networking Profile (PAN)

Профиль позволяет  использовать протокол Bluetooth Network Encapsulation в качестве транспорта через Bluetooth-соединение.

Phone Book Access Profile (PBAP)

Профиль позволяет  обмениваться записями телефонных книг между устройствами.

Serial Port Profile (SPP)

Профиль базируется на спецификации ETSI TS07.10 и использует протокол RFCOMM. Профиль эмулирует  последовательный порт, предоставляя возможность замены стандартного RS-232 беспроводным соединением. Является базовым для профилей DUN, FAX, HSP и AVRCP.

Service Discovery Application Profile (SDAP)

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

SIM Access Profile (SAP, SIM)

Профиль позволяет  получить доступ к SIM-карте телефона, что позволяет использовать одну SIM-карту для нескольких устройств.

Synchronisation Profile (SYNCH)

Профиль позволяет  синхронизировать личные данные (PIM). Профиль  заимствован из спецификации инфракрасной связи и адаптирован группой  Bluetooth SIG.

Video Distribution Profile (VDP)

Профиль позволяет  передавать потоковое видео. Поддерживает H.263, стандарты MPEG-4 Visual Simple Profile, H.263 profiles 3, profile 8 поддерживаются опционально и не содержатся в спецификации.

Wireless Application Protocol Bearer (WAPB)

Протокол для  организации P-to-P (Point-to-Point) соединения через Bluetooth.

7)Безопасность

В июне 2006 года Авиша Вул (Avishai Wool) и Янив Шакед (Yaniv Shaked) опубликовали статью[18], содержащую подробное описание атаки на bluetooth-устройства. Материал содержал описание как активной, так и пассивной атаки, позволяющей заполучить PIN код устройства и в дальнейшем осуществить соединение с данным устройством. Пассивная атака позволяет соответствующе экипированному злоумышленнику «подслушать» (sniffing) процесс инициализации соединения и в дальнейшем использовать полученные в результате прослушки и анализа данные для установления соединения (spoofing). Естественно, для проведения данной атаки злоумышленнику нужно находиться в непосредственной близости и непосредственно в момент установления связи. Это не всегда возможно. Поэтому родилась идея активной атаки. Была обнаружена возможность отправки особого сообщения в определённый момент, позволяющего начать процесс инициализации с устройством злоумышленника. Обе процедуры взлома достаточно сложны и включают несколько этапов, основной из которых — сбор пакетов данных и их анализ. Сами атаки основаны на уязвимостях в механизме аутентификации и создания ключа-шифра между двумя устройствами. И поэтому перед изложением механизма атак рассмотрим механизм инициализации bluetooth-соединения.

7.1)Инициализация bluetooth-соединения

Инициализацией, касательно bluetooth, принято называть процесс установки связи. Её можно разделить на три этапа:

Генерация ключа  Kinit

Генерация ключа  связи (он носит название link key и обозначается, как Kab)

Аутентификация

Первые два  пункта входят в так называемую процедуру  паринга.

Паринг (PAIRING) — или сопряжение. Процесс связи двух (или более) устройств с целью создания единой секретной величины Kinit, которую они будут в дальнейшем использовать при общении. В некоторых переводах официальных документов по bluetooth можно также встретить термин «подгонка пары».

Перед началом  процедуры сопряжения на обеих сторонах необходимо ввести PIN-код. Обычная ситуация: два человека хотят связать свои телефоны и заранее договариваются о PIN-коде.

Для простоты будем  рассматривать ситуацию с двумя  устройствами. Принципиально это  не повлияет на механизмы установления связи и последующие атаки. Далее  соединяющиеся устройства будут  обозначаться A и B, более того, одно из устройств при сопряжении становится главным (Master), а второе — ведомым (Slave). Будем считать устройство A главным, а B — ведомым. Создание ключа Kinit начинается сразу после того, как были введены PIN-коды.

Kinit формируется по алгоритму E22, который оперирует следующими величинами:

BD_ADDR — уникальный MAC-адрес BT-устройства. Длина 48 бит  (аналог IP-адреса, но устанавливается  производителем и уникален для  каждого сетевого устройства)

PIN-код и его  длина

IN_RAND. Случайная  128-битная величина

На выходе E22 алгоритма получаем 128-битное слово, именуемое Kinit. Число IN_RAND отсылается устройством A в чистом виде. В случае, если PIN неизменяем для этого устройства, то при формировании Kinit используется BD_ADDR, полученное от другого устройства. В случае если у обоих устройств изменяемые PIN-коды, будет использован BD_ADDR(B) — адрес slave-устройства. Первый шаг сопряжения пройден. За ним следует создание Kab. После его формирования Kinit исключается из использования.

Для создания ключа  связи Kab устройства обмениваются 128-битными словами LK_RAND(A) и LK_RAND(B), генерируемыми случайным образом. Далее следует побитовый XOR с ключом инициализации Kinit. И снова обмен полученным значением. Затем следует вычисление ключа по алгоритму E21.

Для этого необходимы величины:

BD_ADDR

128-битный LK_RAND (каждое  устройство хранит своё и полученное  от другого устройства значения)

На данном этапе  pairing заканчивается и начинается последний этап инициализации bluetooth — Mutual authentication или взаимная аутентификация. Основана она на схеме «запрос-ответ». Одно из устройств становится верификатором, генерирует случайную величину AU_RAND(A) и засылает его соседнему устройству (в plain text), называемому предъявителем (claimant — в оригинальной документации). Как только предъявитель получает это «слово», начинается вычисление величины SRES по алгоритму E1, и она отправляется верификатору. Соседнее устройство производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES совпали, то, значит, всё хорошо, и теперь устройства меняются ролями, таким образом процесс повторяется заново. 
 

E1-алгоритм оперирует  такими величинами:

Случайно созданное AU_RAND

link key Kab

Свой собственный BD_ADDR 

7.2)Уязвимости и атаки

7.2.1)Базовая pairing атака (атака на сопряжение) 

Проанализируем  данные, обмен которыми идёт на протяжении процесса сопряжения:

№ От К Данные        Длина (бит) Прочая информация

1 A B IN_RAND           128             plaintext

2 A B LK_RAND(A) 128            XORed with Kinit

3 B A LK_RAND(B) 128            XORed with Kinit

4 A B AU_RAND(A) 128            plaintext

5 B A SRES                      32            plaintext

6 B A AU_RAND(B) 128            plaintext

7 A B SRES                   32            plaintext 

Представим ситуацию: злоумышленнику удалось прослушать эфир и во время процедуры сопряжения, он перехватил и сохранил все сообщения. Далее найти PIN можно, используя перебор.

Прежде всего необходимо составить сам алгоритм перебора. Мы располагаем перехваченными величинами IN_RAND (он нешифрованный) и BD_ADDR (напомним, что адреса устройств видны в эфире) и запускаем алгоритм E22. Ему передаем вышеперечисленные данные и наш предполагаемый PIN. В результате мы получим предполагаемое значение Kinit. Выглядит оно примерно так:

Kinit = E22[IN_RAND, BD_ADDR(B), PIN'] где PIN' — предполагаемый нами PIN-код 

Далее, сообщения 2 и 3 подвергаются XOR с только что  полученным Kinit. Следовательно, следующим шагом мы получим LK_RAND(A) и LK_RAND(B) в чистом виде. Теперь мы можем высчитать предполагаемое значение Kab, для чего проделываем следующую операцию:

Информация о работе Беспроводной стандарт передачи данных Bluetooth