Естественно, что Security mode 3 и 2 могут использоваться вместе, то есть сначала устанавливается защищённое соединение, а потом оно ещё защищается в соответствии с требованиями и возможностями конкретной службы.
Основой системы безопасности Bluetooth, используемой в Security mode 3, является понятие сеансового ключа, или Bond. Сеансовый ключ генерируется в процессе соединения двух устройств, и используется для идентификации и шифрования передаваемых данных. Для генерации ключа могут использоваться самые различные составляющие, от заранее известных обоим устройствам значений, до физических адресов устройств. Комбинируя защиту на уровне соединения с защитой на уровне приложений (где может использоваться абсолютно любая уже существующая на сегодня систем защиты данных) можно создавать достаточно надёжно защищённые соединения. Но всё равно, очевидной слабостью Bluetooth соединений с точки зрения построения защищённых соединений остаётся возможность перехвата трафика, причём для этого даже не придётся использовать, какое либо специфическое оборудование. Впрочем, эта проблема не нова, и в настоящее время часто приходится использовать открытые сети, вроде Интернет, где возможен перехват трафика, для передачи закрытых данных.
4.3. Набор базовых протоколов, используемых в Bluetooth для передачи различных типов данных.
После того, как соединение установлено, его можно использовать для самых различных целей. Возможно это благодаря набору базовых протоколов, используемых в Bluetooth для передачи различных типов данных. Упрщенная схема зависимости друг от друга приведена на рис. 5
Рис.5
В основе всего, как видно из схемы, лежит baseband protocol. Baseband protocol определяется физическими характеристиками радиокала.
Logical Link Control and Adaptation Layer Protocol или L2CAP, является базовым протоколом передачи данных для Bluetooth. Baseband protocol позволяет устанавливать синхронные (Synchronous Connection-Oriented, или SCO) и асинхронные (Asynchronous Connection-Less, или ACL) соединения. L2CAP, как видно из схемы, работает только с асинхронными соединениями. Так же многие протоколы и службы более высокого уровня используют L2CAP как транспортный протокол. В полном соответствии с идеологией Bluetooth L2CAP является простым протоколом, который предъявляет минимум требований к вычислительным мощностям и размеру оперативной памяти устройств, которые его используют. Основные особенности, заложенные в L2CAP таковы:
Protocol Multiplexing. L2CAP является транспортом для многих протоколов и служб, поэтому он обеспечивает возможность разобраться, к какому протоколу или службе относится переданный пакет, что обеспечивает доставку пакета именно тому, кто его ждёт.
Segmentation and Reassembly. Максимальной длиной пакета для L2CAP является 64 килобайта, для baseband protocol это число ещё меньше, всего 341 байт. Однако, иногда требуется передача больших пакетов, поэтому L2CAP обеспечивает разбивку большого пакета на несколько более мелких, и последующую сборку первоначального пакета.
Quality of Service. L2CAP поддерживает QoS, что позволяет Bluetooth устройствам отслеживать свободные ресурсы соединения и не позволять, что бы ширина канала или временные задержки для отслеживаемой службы опускались ниже критических значений.
Groups. L2CAP поддерживает адресацию не одному клиенту, а сразу целой группе.
Кроме L2CAP непосредственно с baseband protocol работают Link Management Protocol, или LMP, и Voice каналы, используемые для передачи аудиоинформации в синхронном режиме.
LMP является служебным протоколом, используемым для управления каналом, и не использующимся для передачи данных. Сообщения LMP используются для настройки физических характеристик канала, для служб безопасности на уровне физического канала (security mode 3), и тому подобных вещей. LMP имеет более высокий приоритет чем остальные протоколы (например, L2CAP), поэтому если канал занят чем-либо другим, то при необходимости передать LMP сообщение он немедленно освобождается.
Voice, или Bluetooth Audio. Это одна из служб Bluetooth, которая использует синхронное соединение. Одновременно может передаваться до 3 аудиоканалов. Характеристики звуковых потоков могут различаться, и во многом определяются используемым приложением. Максимально звуковой поток может передаваться с точностью в 16 бит при sampling rate 48 кГц. К сожалению, характеристики Bluetooth не позволяют передавать видеоинформацию с нормальным качеством.
Одним из важнейших протоколов Bluetooth, который использует L2CAP в качестве транспортного протокола, является Service Discovery Protocol, или SDP. Сейчас никто не сможет представить все возможные способы использования Bluetooth устройств, поэтому при разработке этого протокола пытались учесть как можно больше ситуаций, которые могут возникнуть. Сейчас действует версия 1.0 этого протокола, и основные особенности, которыми он располагает, в настоящее время таковы:
1. SDP должен позволять поиск служб по специальным атрибутам этих служб. Например, если имеется несколько принтеров, доступных через Bluetooth, то клиент должен иметь возможность найти именно тот принтер, который ему нужен.
2. SDP должен позволять клиенту искать службы по классу. Если немного переделать предыдущий пример, то если клиенту понадобится принтер, то должна быть возможность найти именно устройство печати, не зная про него ничего другого.
3. SDP должен позволять просматривать службы без необходимости знать специфические характеристики этих служб. Например, если устройство предоставляющее какую-либо услугу может управляться только специальным программным обеспечением по какому-либо очень редкому или закрытому протоколу, то для SPD это не будет проблемой, всё равно можно будет получить информацию о доступности и названии службы.
4. SDP должен предоставлять возможности для обнаружения новых служб, которые появились за время работы.
5. SDP должен предоставлять возможность узнавать, когда служба становится недоступной из за того, что клиент вышел за пределы связи, или по какой-либо другой причине.
6. SDP позволяет службам, классам служб и атрибутам служб быть однозначно идентифицированными.
7. SDP должен позволять одному устройству находить любую службу на любом другом устройстве без обращения к третьему устройству.
8. SDP должен подходить для использования устройствами с ограниченной функциональностью. Помните, мы говорили о холодильниках? А ведь это далеко не предел...
9. SDP должен позволять увеличивать количество доступной информации о службе. Это означает, что если служба требует подробного и объёмного описания своих возможностей, параметров, ограничений и т. п., то вся эта информация не будет вываливаться на всех, кто просто спросит о доступности службы, а будет предоставлена только тем, кто более пристально заинтересуется именно этой службой.
10. SDP должен поддерживать использование промежуточных кэширующих агентов для ускорения или повышения эффективности процесса поиска новых служб. Этот пункт не противоречит пункту 7, потому что использование третьего устройства возможно, но не обязательно.
11. SDP должен быть полностью независим от протоколов более высокого уровня, используемых Bluetooth соединением.
12. SDP должен работать, когда в качестве его транспортного протокола используется L2CAP.
13. SDP должен позволять находить и использовать службы, которые обеспечивают доступ к другим протоколам обнаружения служб. Это позволяет расширять возможности системы, и использовать службы и устройства которые не имеют Bluetooth интерфейса.
14. SDP должен поддерживать создание и определение новых служб без необходимости централизовано регистрироваться.
Кроме этого, есть ряд вещей, которые пока что не входят SDP, но очень возможно, что в следующих редакциях спецификации многие из них станут обязательными.
1. SDP 1.0 не предоставляет механизма доступа с службам, только информацию о службах.
2. SDP 1.0 не предоставляет возможности оценивать службы. То есть, с его помощью нельзя автоматически выбрать наиболее подходящую службу, если доступно сразу несколько служб предоставляющий похожий сервис.
3. SDP 1.0 не позволяет договариваться о параметрах службы.
4. SDP 1.0 не позволяет узнать о загруженности службы, или устройства предоставляющего службу.
5. SDP 1.0 не даёт возможности клиенту управлять службой.
6. SDP 1.0 не позволяет уведомлять о том, что служба или информация о службе становится недоступной.
7. SDP 1.0 не позволяет уведомлять о том, что атрибуты службы изменились.
8. В настоящее время спецификация не описывает интерфейса, через который программы должны обращаться к SDP.
9. SDP 1.0 в настоящее время не обладает развитым механизмом управления списком служб, например
10. SDP 1.0 не позволяет накапливать и регистрировать службы.
Ещё одним из протоколов, которые используют L2CAP в качестве транспортного является, RFCOMM. Этот протокол эмулирует соединение PPP (point-to-point) по серийному порту (RS-232 или EIATIA-232-E, более известным как COM-порты). Через него работает такие службы как, например, LAN Access. Эта служба может работать как эмуляция Direct cable Connection, когда надо обеспечить связь между всего двумя PC, так и использоваться для полноценного входа в уже существующую локальную сеть. Во втором случае используется устройство под названием LAN Access point, через которое компьютер с Bluetooth оказывается, подключен к LAN так, как он мог бы подключиться через dial-up соединение.
TCS - Telephony Control protocol Specification ещё одна служба, использующая L2CAP в качестве транспортного протокола. Эта служба может использоваться центральной домашней или офисной телефонной станцией для переадресовки телефонных звонков. При этом TCS используется только для обслуживания соединения. После того как установлено соединение с нужным телефонным аппаратом (или аппаратами), TCS вызывает Bluetooth voice, и сама речь передаётся с использованием этого синхронного протокола.
Bluetooth audio. Обычно для передачи аудиоинформации используется специальный протокол, который работает непосредственно с baseband protocol, но для этого с успехом может применяться и L2CAP. L2CAP предоставляет меньше возможностей для передачи аудио информации, чем Bluetooth voice, но этот метод незаменим, когда необходимо, к примеру, обмениваться аудиоинформацией между Bluetooth и не Bluetooth сетями. Кроме этого, данный метод хорош, когда требуется дополнительная защита данных.
Конечно же, приведёнными на схеме и описанными выше службами, области возможного применения Bluetooth не ограничиваются. Bluetooth, развившаяся из простой технологии для обмена данными между компьютером и мобильными телефонами оказалась настолько удачной, что может применяться практически где угодно.
Страницы: 1, 2, 3, 4, 5, 6, 7