[Информационная безопасность, Беспроводные технологии, Разработка систем связи, Разработка для интернета вещей, Интернет вещей] Интернет вещей по-русски. Процедура активации OpenUNB
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Односторонний характер протокола OpenUNB накладывает отпечаток на все процедуры протокола. Разработчики OpenUNB, стремясь разработать защищенный протокол, создали на первый взгляд довольно сложную процедуру вхождения устройства в сеть — активацию. Давайте разберем ее в деталях.
Чтобы сделать протокол защищенным, нужно разделять между двумя сторонами некоторую информацию, неизвестную третьим лицам. Это реализуется через разделения одинакового ключа. Для защиты от повторов этого недостаточно. Необходимо, чтобы эти две стороны разделяли еще некоторую информацию, которая даже не должна быть секретной, а может быть известна всем.
В обычных, двусторонних системах такая информация вставляется в передаваемый информационный пакет. Грубо говоря, пакеты нумеруются. В экономичных система передачи типа Интернета вещей такой метод расточителен. В таких системах выгоднее вести счетчики времени на двух сторонах отдельно, а не передавать его в пакете. В стремлении к совершенству, так и было сделано в OpenUNB.
В OpenUNB связь на канальном уровне происходит между конечным устройством и сервером. В процессе активации устройства выполняется его аутентификация на сервере, осуществляется начальная синхронизация времени между устройством и сервером и вырабатываются рабочие ключи криптографической защиты. После аутентификации сервер будет готов дешифровывать пакеты от данного устройства. Синхронность времени и рабочих ключей позволяет проверять целостность сообщений и дешифровывать их.
В OpenUNB активация устройства производится пользователем. Также необходим доверенный канал между пользователем и сервером сети. Схема взаимодействия представлена ниже:
Как видно из схемы, пользователь должен иметь некоторое мобильное устройство с программой и находиться рядом с устройством OpenUNB.
В стадии "запрос на активацию" пользователь должен по служебному каналу отправить на сервер запрос на активацию, в котором передается идентификатор DevID активируемого конечного устройства. Если активация возможна, то сервер сообщает об этом. Далее пользователь делает "запуск процедуры активации на устройстве". Это может быть пакет по радио-интерфейсу или другому, удобному. Это также может быть нажатие кнопки "активация" или просто включение питания устройства. После этого события устройство передает "служебный пакет активации", в котором содержится номер текущей активации.
Если сервер правильно (совпадает имитовставка MIC) получает сообщение обо активации от устройства по каналу OpenUNB, то он индицирует пользователю "подтверждение успешной активации". После этого пакеты данных могут передаваться защищенно.
Рассмотрим подробно процедуру со стороны устройства и со стороны сервера.
Со стороны устройства процедура выглядит так:
- проверяется текущее значение счетчика активаций Na. Если счетчик активаций уже достиг максимально возможного значения, то данное устройство больше не может использоваться, и выключается;
- увеличивается значение счетчика активаций: Na = Na + 1;
- вырабатывается ключ активации Ka;
- вырабатывается ключ расчета имитовставки Km для эпохи Ne = 0;
- формируется служебный пакет активации, в поле MACPayload которого содержится текущее значение счетчика активаций Na, а в качестве адреса указывается DevAddr0 = CRC24(DevID). При этом поле MACPayload передается в открытом виде (не шифруется), а поле имитовставки MIC рассчитывается на ключе Km для номера Nn = 0. Сформированный служебный пакет активации должен быть отправлен MAX_PKT_TX_NUM раз подряд для повышения вероятности его доведения;
- устройство считает активацию успешно завершенной и может передавать пакеты полезных данных.
Напомним формат пакета OpenUNB:
Сервер по приему пакета активации ищет адрес из пакета в списке адресов активированных устройств. Для каждого из найденных совпадений:
- сохраняется полученное значение счетчика активаций устройства Na. Если для данного устройства ранее уже осуществлялась успешная активация, то сервер должен дополнительно проверить, что текущее значение Na больше чем значение Na, полученное при предыдущей успешной активации. Если эта проверка завершается неуспешно, то сервер переходит к следующему найденному устройству;
- вырабатывается ключ активации Ka;
- вырабатывается ключ расчета имитовставки Km для эпохи Ne = 0;
- для пакета проверяется совпадение имитовставки MIC на ключе Km для номера Nn = 0.
Если для какого-то из устройств совпало значение имитовставки MIC, то процедура его активации считается успешно завершенной, и сервер посылает пользователю через доверенный служебный канал сообщение об успешной активации устройства. Однако если значение имитовставки MIC совпало сразу для нескольких активируемых устройств, то ни одно из них не считается успешно активированным и данный алгоритм завершается.
Детали работы процедур активации OpenUNB смотрите в первоисточнике — на сайте Сколтеха.
Реализованные процедуры активации и другие процедуры безопасности доступны в исходниках здесь.
Наш бессменный мастер Интернета вещей deef137 всегда на связи и готов помочь с вопросами по коду.
===========
Источник:
habr.com
===========
Похожие новости:
- [Мессенджеры, Open source, Системное администрирование, PHP, Программирование] Введение в метрики для PHP разработчика
- [Информационная безопасность, PHP] Бэкдор в 1С-Битрикс: под угрозой сотни сайтов
- [Open source, Python, IT-инфраструктура, Хранение данных, Хранилища данных] HDB++ TANGO Archiving System (перевод)
- [Информационная безопасность, Разработка под Android, Социальные сети и сообщества] Вышло приложение Fake Contacts для замусоривания адресной книги Android
- [Open source, Разработка под Linux, Софт] Red Hat предложит бесплатные подписки на RHEL некоторым организациям открытого ПО
- [Разработка веб-сайтов, Open source, Angular, TypeScript] Учим HostBinding работать с Observable
- [Информационная безопасность] ТОП-3 ИБ-событий недели по версии Jet CSIRT
- [Open source, Смартфоны, Софт] Мануал по настройке стандартного эквалайзера Android для самых маленьких (и не только)
- [Информационная безопасность, IT-компании] Почему стоит проверять приложения на устойчивость к race condition
- [Информационная безопасность, Машинное обучение, Социальные сети и сообщества] Администраторы «ВКонтакте» смогут бороться с угрозами в комментариях с помощью нейросети
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_besprovodnye_tehnologii (Беспроводные технологии), #_razrabotka_sistem_svjazi (Разработка систем связи), #_razrabotka_dlja_interneta_veschej (Разработка для интернета вещей), #_internet_veschej (Интернет вещей), #_iot, #_iot_razrabotka (iot разработка), #_internet_of_things, #_unb, #_openunb, #_sdr, #_open_source, #_open_source_software, #_open_source_hardware, #_macuroven (mac-уровень), #_kanalnyj_uroven (канальный уровень), #_autentifikatsija (аутентификация), #_registratsija (регистрация), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_besprovodnye_tehnologii (
Беспроводные технологии
), #_razrabotka_sistem_svjazi (
Разработка систем связи
), #_razrabotka_dlja_interneta_veschej (
Разработка для интернета вещей
), #_internet_veschej (
Интернет вещей
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:22
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Односторонний характер протокола OpenUNB накладывает отпечаток на все процедуры протокола. Разработчики OpenUNB, стремясь разработать защищенный протокол, создали на первый взгляд довольно сложную процедуру вхождения устройства в сеть — активацию. Давайте разберем ее в деталях. Чтобы сделать протокол защищенным, нужно разделять между двумя сторонами некоторую информацию, неизвестную третьим лицам. Это реализуется через разделения одинакового ключа. Для защиты от повторов этого недостаточно. Необходимо, чтобы эти две стороны разделяли еще некоторую информацию, которая даже не должна быть секретной, а может быть известна всем. В обычных, двусторонних системах такая информация вставляется в передаваемый информационный пакет. Грубо говоря, пакеты нумеруются. В экономичных система передачи типа Интернета вещей такой метод расточителен. В таких системах выгоднее вести счетчики времени на двух сторонах отдельно, а не передавать его в пакете. В стремлении к совершенству, так и было сделано в OpenUNB. В OpenUNB связь на канальном уровне происходит между конечным устройством и сервером. В процессе активации устройства выполняется его аутентификация на сервере, осуществляется начальная синхронизация времени между устройством и сервером и вырабатываются рабочие ключи криптографической защиты. После аутентификации сервер будет готов дешифровывать пакеты от данного устройства. Синхронность времени и рабочих ключей позволяет проверять целостность сообщений и дешифровывать их. В OpenUNB активация устройства производится пользователем. Также необходим доверенный канал между пользователем и сервером сети. Схема взаимодействия представлена ниже: Как видно из схемы, пользователь должен иметь некоторое мобильное устройство с программой и находиться рядом с устройством OpenUNB. В стадии "запрос на активацию" пользователь должен по служебному каналу отправить на сервер запрос на активацию, в котором передается идентификатор DevID активируемого конечного устройства. Если активация возможна, то сервер сообщает об этом. Далее пользователь делает "запуск процедуры активации на устройстве". Это может быть пакет по радио-интерфейсу или другому, удобному. Это также может быть нажатие кнопки "активация" или просто включение питания устройства. После этого события устройство передает "служебный пакет активации", в котором содержится номер текущей активации. Если сервер правильно (совпадает имитовставка MIC) получает сообщение обо активации от устройства по каналу OpenUNB, то он индицирует пользователю "подтверждение успешной активации". После этого пакеты данных могут передаваться защищенно. Рассмотрим подробно процедуру со стороны устройства и со стороны сервера. Со стороны устройства процедура выглядит так:
Напомним формат пакета OpenUNB: Сервер по приему пакета активации ищет адрес из пакета в списке адресов активированных устройств. Для каждого из найденных совпадений:
Если для какого-то из устройств совпало значение имитовставки MIC, то процедура его активации считается успешно завершенной, и сервер посылает пользователю через доверенный служебный канал сообщение об успешной активации устройства. Однако если значение имитовставки MIC совпало сразу для нескольких активируемых устройств, то ни одно из них не считается успешно активированным и данный алгоритм завершается. Детали работы процедур активации OpenUNB смотрите в первоисточнике — на сайте Сколтеха. Реализованные процедуры активации и другие процедуры безопасности доступны в исходниках здесь. Наш бессменный мастер Интернета вещей deef137 всегда на связи и готов помочь с вопросами по коду. =========== Источник: habr.com =========== Похожие новости:
Информационная безопасность ), #_besprovodnye_tehnologii ( Беспроводные технологии ), #_razrabotka_sistem_svjazi ( Разработка систем связи ), #_razrabotka_dlja_interneta_veschej ( Разработка для интернета вещей ), #_internet_veschej ( Интернет вещей ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:22
Часовой пояс: UTC + 5