|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Безопасность информации в сетях ZB
Теперь непосредственно о защите информации в сетях ZigBee. К вопросам адекватности защиты передаваемой информации достаточно привести список возможных применений устройств на базе стека протоколов ZB, как сразу становится ясной необходимость защиты информации. Для начала стоит отметить, что в спецификации ZB определены два метода защиты - программный (шифрование) и аппаратный (контроль списка доступа устройств к сети на канальном уровне). Стандарт позволяет реализовать защиту на прикладном уровне по желанию и возможностям пользователей. Например, в системе "Бумиз" производства НПП "Горизонт" реализован дополнительный механизм защиты пин-кодами на прикладном уровне, о чем будет сказано ниже. В качестве алгоритма шифрации использован алгоритм Rijndael, больше известный как AES - победитель конкурса объявленного Американским Национальным Институтом Стандартов на лучший криптографический алгоритм 2000-го года. AES отличает достаточная простота и возможность распараллеливания операций при аппаратной реализации. Алгоритм относится к классу блочных с симмеричным ключом. Это означает, что информация шифруется блоками, в данном случае по 128 бит и для шифрования и дешифрования используется один и тот же секретный ключ. Ключ - это 16, 24 или 32 байта данных, сгенерированых генератором случайных чисел, либо заданными пользователем, в случае, когда имеется возможность попасть из прикладного уровня с помощью программы в сеансовый уровень для ввода ключа. Чем меньше длина ключа, тем быстрее выполняется алгоритм, но также уменьшается и криптоскойкость алгоритма. Кроме самого алгоритма шифрования, важен режим работы блочного шифра. Поскольку поставлена цель не только не дать расшифровать пакет, но и не дать его подменить, то изменение хотя бы одного бита в потоке должно привести к сбою при дешифровании и искажению всей последующей информации. Т.е. злоумышленник не должен иметь возможности преднамеренно исказить информацию в одном определенном маленьком блоке. Это достигается введением взаимосвязи шифрования одних блоков с другими. В загрузчике применен режим под названием "Сцепление шифрованных блоков" (cipher block chaining - CBC). В этом режиме каждый блок открытой информации складывается с помощью операции XOR с предыдущим блоком шифрованной информации. Блочный шифр требует, чтобы длина информационных блоков была кратна размеру шифруемого блока, когда это условие не соблюдается, то необходимо блоки информации дополнять до заданной длины. После дешифрования пакетов с информацией загрузчик устройства проверяет корректность специальной сигнатуры в начале пакета. Сигнатура - это 4 заранее определенных байта, которые вставляются в пакет при шифровании. Сохранность сигнатуры означает, что пакет был расшифрован правильно. Теперь стоит сказать об аппаратной защите сети от несанкционированного доступа. Механизм доступа устройств к сети может быть реализован двумя способами. Первый способ заключается в хранении списка всех легально подключенных устройств у координатора сети. Каждое устройство имеет уникальный адрес, при создании сети устройства обмениваются паролями, таким образом, координатор имеет определенный список устройств. Из прикладного уровня с помощью специального ПО список можно зафиксировать, например, запретив добавление устройств, что при недоступности злоумышленнику координатора сети, обеспечивает защиту от несанкционированных подключений. В связи с тем, что список не будет передаваться на конечные устройства сети (важно не путать список легально подключенных устройств с таблицей маршрутизации), то при попытках подключения неизвестного устройства через конечное в сети, последнее отправит запрос и координатор, просматривая список, отклонит это несанкционированное подключение, а конечные устройства не будут добавлять новое устройство в свою таблицу маршрутизации, что предотвратит утечку информации из сети. В данном способе контроля за подключениями к сети важно защитить координатор от несанкционированного доступа, например, через работу с ним с помощью приложения из прикладного уровня. Также этот способ удобно использовать при контроле за вышедшими из строя устройствами, т.к. в случае, если устройство при запросе не выходит на связь, значит, в нем имеется неисправность, что своевременно отражается в прикладном ПО, которое работает вместе с координатором. Это позволяет, в случае с различными датчиками учета воды, газа, электроэнергии, бороться с нерадивыми, но очень умными жильцами, пытающимися "скрутить" данные путем подмены передаваемых данных с конечного устройства. Также при использовании этого способа контроля за подключениями сохраняется основной принцип сети - пониженное энергопотребление конечных устройств. Координатор выполняет все работу по организации сети и часто питается от обычной сети 220 В 50 Гц, в то время как конечные устройства могут быть запитаны от батареек, что сохраняет их мобильность. К достоинствам данного метода стоит отнести более высокую надежность за счет защиты списка, быструю настройку сети за счет выполнения основных функций координатором, гибкую настройку сети в реальном времени посредствам прикладного ПО, запущенного на координаторе без необходимости перепрошивки конечных устройств. К недостаткам стоит отнести более высокую стоимость за счет покупки координатора, привязанность координатора к сети питания в случае его постоянной работы с прикладным ПО, необходимость самостоятельной разработки прикладного ПО, т.к. далеко не все производители поставляют готовое ПО для работы с узким кругом задач, чаще доступен набор SDK. Второй способ контроля доступа позволяет построить сеть без координатора. Здесь используется механизм самоорганизации сети, когда конечные устройства образуют кластер, образуя корень кластера и создавая таблицу маршрутизации путем множественных запросов-ответов "Path Discovery". Список подключенных устройств "циркулирует внутри сети" и каждое устройство имеет копию этого списка. При подключении незнакомого устройства через конечное устройство в кластере (не через корень) последнее проверяет наличие первого в списке, в случае отсутствия спрашивает разрешения у корня на подключение. В данном случае процесс длится дольше, т.к. зачастую конечные устройства не обладают большой вычислительной мощностью. Также этот способ обладает следующими недостатками: во-первых, в процессе передачи списка доступа есть вероятность перехвата и расшифровки этого списка злоумышленником, в результате чего становится возможна подмена конечного устройства на другое, которое может представлять собой сниффер трафика, спам-бот сети и прочие неприятности. Во-вторых, такой способ заставляет устройства чаще производить обмен, что приводит к повышенному энергопотреблению, что критично для устройств, питающихся от батареек. В-третьих, т.к. координатор, который следит за сетью, будет отсутствовать, то многие эти функции будут выполняться корнем кластера, что потребует реализации этих функций в "прошивках" всех конечных устройств, т.к. корень выбирается в процессе создания сети, а не при записи микропрограммы в память устройств. К достоинствам данного метода можно отнести низкую стоимость в реализации данного метода в сравнении с первым способом, сохранение мобильности всех устройств сети, возможность использовать устройства по принципу "включил и все работает", т.к. многие производители записывают прошивки с достаточным набором функций для работы без дополнительных настроек, необходимость перепрошивки устройств в случае существенных изменений в работе сети. Стоит также отметить процесс подключения в случае защиты сети от несанкционированного подключения в обоих случаях. Как правило, при организации сети задается пароль, хэш-сумма которого хранится у координатора (корня). Устройство при попытке подключения проходит процесс идентификации, аутентификации и авторизации, после чего либо получает ключ к дешифрации пакетов, либо сразу приступает к обмену, если ключ уже записан в программу устройства. В процессе создания сети важно исключить разглашение пароля, а также нахождение рядом несанкционированных устройств, чтобы координатор (корень) не ввел это устройство в список доступа в случае утечки пароля для подключения. При попытке подключения пароль передается в открытом виде, что не влияет на безопасность зашифрованных пакетов, т.к. в случае отказа от подключения координатором (корнем) несанкционированное устройство не получит ключ к дешифрованию пакетов. Стоит сказать также про возможность защиты информации на прикладном уровне. Так как зачастую прикладное ПО разрабатывается пользователем, то механизм защиты ограничивается вычислительной мощностью устройства и фантазией разработчика прикладного ПО. В счетчике-регистраторе "Бумиз" производства НПП "Горизонт" реализован модифицированный протокол обмена (под модифицированным понимается такой протокол, который отличается от заводского), т.к. использование альтернативных протоколов обмена поддерживается стандартом ZigBee. Протокол обмена закрытый, что усложняет внедрение несанкционированных устройств в сеть ZB. Для доступа к координатору введена авторизация с помощью "пинкодов". Пинкод представляет собой 4-байтную последовательность символов в шестнадцатеричной системе счисления. Код может быть записан в прошивку сразу, либо внесен через прикладное ПО. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |