Исследование сети передачи информации на основе стека протоколов ZigBee. Структура и безопасность

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ств" (DD).

Процесс формирования кластеров начинается с выбора корня. После этого корень начинает обмен с другими узлами кластера.

 

Рисунок 2.2 - Процесс установления соединения корня и узла [5]

 

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

 

Рисунок 2.3 - Процесс установления соединения корня и узла с использованием "наследования" [6]

 

Для формирования межкластерного взаимодействия требуется DD, который несет информацию о идентификаторе своего кластера и имеет таблицу маршрутизации. Когда DD подключается к сети, он отправляет запрос на подключение корню другого кластера. Если подключение одобрено, то происходит процесс синхронизации

 

Рисунок 2.4 - Процесс формирования межкластерного взаимодействия [7]

 

Если узел получил приветственное сообщение с DD, он сообщает об этом корню кластера. Если подключение DD одобряется корнем кластера то обмен информацией с другим кластером будет осуществлен через тот узел, который сообщил о подключении DD.

 

Рисунок 2.5 - Процесс формирования межкластерного взаимодействия через граничный узел [8]

 

Сеть передачи данных на основе стека протоколов ZigBee построена по базовой эталонной модели взаимодействия открытых систем (OSI), что включает в себя наличие функций 7 уровней взаимодействия. Стандарт IEEE 802.15.4 определяет канальный и физический уровни взаимодействия, спецификация стека протоколов ZigBee требует объединения сетевого и транспортного уровней под общим названием "Сетевой уровень". Сеансовый уровень назван уровнем поддержки приложений, что не изменяет его назначения. Функции уровня представления поделены на два уровня "транспортный шлюз ZB" и "Шлюз для приложений ZB". Верхний прикладной уровень идентичен уровню эталонной модели. Все устройства в сети ZB должны иметь уникальные 64-битные адреса. Для обмена информации только внутри своей сети возможно использование коротких 16 битных адресов. Поля адреса зависят от топологии сети: в случае топологии "Звезда" адрес состоит информации о сети и идентификатора устройства, в случае топологии "Дерево" или ячеистой топологии поля адреса состоят из идентификаторов отправителя и получателя. Примечательно то, что с помощью координаторов сети возможно подключение к сети ZB устройств, не поддерживающих стек протоколов ZB. Это осуществимо благодаря функциям анализа и пересобирания пакетов в координаторах сети. Наглядно на рисунке:

 

Рисунок 2.6 - Блок-схема трансляции IP пакетов [9]

 

Когда координатор получает IP пакет, он анализирует его и в случае понятных ему инструкций внутри пакета переводит его в кадр ZB. В процессе перевода пакет должен быть переведен на прикладной уровень, где запущена программа непосредственно по переводу кадров.

 

Рисунок 2.7 - Модель взаимодействия систем [10]

 

3.Безопасность информации в сетях ZB

 

Теперь непосредственно о защите информации в сетях ZigBee. К вопросам адекватности защиты передаваемой информации достаточно привести список возможных применений устройств на базе стека протоколов ZB, как сразу становится ясной необходимость защиты информации. Для начала стоит отметить, что в спецификации ZB определены два метода защиты - программный (шифрование) и аппаратный (контроль списка доступа устройств к сети на канальном уровне). Стандарт позволяет реализовать защиту на прикладном уровне по желанию и возможностям пользователей. Например, в системе "Бумиз" производства НПП "Горизонт" реализован дополнительный механизм защиты пин-кодами на прикладном уровне, о чем будет сказано ниже.

В качестве алгоритма шифрации использован алгоритм Rijndael, больше известный как AES - победитель конкурса объявленного Американским Национальным Институтом Стандартов на лучший криптографический алгоритм 2000-го года.отличает достаточная простота и возможность распараллеливания операций при аппаратной реализации. Алгоритм относится к классу блочных с симмеричным ключом. Это означает, что информация шифруется блоками, в данном случае по 128 бит и для шифрования и дешифрования используется один и тот же секретный ключ. Ключ - это 16, 24 или 32 байта данных, сгенерированых генератором случайных чисел, либо заданными пользователем, в случае, когда имеется возможность попасть из прикладного уровня с помощью программы в сеансовый уровень для ввода ключа. Чем меньше длина ключа, тем быстрее выполняется алгоритм, но также уменьшается и криптоскойкость алгоритма. [11]

Кроме самого алгоритма шифрования, важен режим работы блочного шифра. Поскольку поставлена цель не только не дать расшифровать пакет, но и не дать его подменить, то изменение хотя бы одного бита в потоке должно привести к сбою при дешифровании и искажению всей последующей информации. Т.е. злоумышленник не должен иметь возможности преднамеренно исказить информацию в одном определенном маленьком блоке. Это достигается введением взаимосвязи шифрования одних блоков с другими. В загрузчике применен режим под названием "Сцепление шифрованных блоков" (cipher block chaining - CBC). В этом режиме каждый блок открытой информации складывается с помощью операции XOR с предыдущим блоком шифрованной информации.

Блочный шифр требует, чтобы длина информационных блоков была кратна размеру шифруемого бл