IoT и проблемы безопасности / Unet corporate blog / Habr
Интернет вещей (Internet of Things, IoT), как и любая быстроразвивающаяся технология, испытывает ряд «болезней роста», среди которых наиболее серьезной является проблема безопасности. Чем больше «умных» устройств подключается к сети, тем выше риски, связанные с несанкционированным доступом в IoT-систему и использованием ее возможностей злоумышленниками. Сегодня усилия многих компаний и организаций в сфере IT направлены на поиск решений, которые позволят минимизировать угрозы, тормозящие полноценное внедрение IoT.«Умные», но уязвимые
Развитие концепции Интернета вещей и ее внедрение в различные сферы предусматривает наличие десятков миллиардов автономных устройств. По данным портала Statista в 2017 году их уже насчитывается более 20 млрд, а к 2025 году ожидается не менее 75 млрд. Все они подключены к Сети и передают через нее соответствующие их функционалу данные. И данные, и функционал являются мишенью для злоумышленников, а значит, должны быть защищены.
Для IoT-устройств безопасность заключается, прежде всего, в целостности кода, проверке подлинности пользователей (устройств), установлении правами владения (включая генерируемые ими данные), а также возможностью отражения виртуальных и физических атак. Но по факту, большинство из работающих сегодня IoT-устройств элементами защиты не снабжены, имеют доступные извне интерфейсы управления, дефолтных пароли, т.е., имеют все признаки веб-уязвимости.
Все еще помнят события годичной давности, когда ботнет Mirai путем подбора комбинаций дефолтных логинов и паролей взломал большое количество камер и роутеров, которые были в дальнейшем использованы для мощнейшей DDoS-атаки на провайдерские сети UK Postal Office, Deutsche Telekom, TalkTalk, KCOM и Eircom. При этом «бутфорс» IoT-устройств осуществлялся при помощи Telnet, а роутеры взламывались через порт 7547 с использованием протоколов TR-064 и TR-069.
Но самой резонансной, пожалуй, была атака, положившая DNS-оператора DYN, а вместе с ним практически «пол-Интернета» США. Для атаки ботнетом был использован самый легкий путь через установленные по умолчанию логины и пароли устройств.
Указанные события наглядно продемонстрировали бреши в IoT-системах и уязвимость многих «умных» устройств. Понятно, что сбои чьих-либо «умных» часов или фитнес-трекеров особого вреда, кроме расстройства их хозяев, не принесут. Но вот взлом IoT-устройств, которые входят в системы и сервисы M2M, в частности, интегрированы в критическую инфраструктуру, чреват непредсказуемыми последствиями. В этом случае степень их безопасности должна соответствовать важности той или иной инфраструктуры: транспортной, энергетической или другой, от которых зависит жизнедеятельность людей и работа экономики. Также и на бытовом уровне — сбои и атаки на ту же систему «умный» дом могут привести к локальным коммунальным или иным аварийным и опасным ситуациям.
Безусловно, угрозы для инфраструктуры существовали и в «доинтернетовские» времена — например, из-за тех же стихийных бедствий или ошибок проектантов. Однако с появлением в ней подключенных к Сети устройств добавилась еще одна, и, наверное, на порядок серьезней — кибератака.
Сертификация устройств
Существующая проблема безопасности IoT-устройств возникла не из-за технической глупости или безалаберности их разработчиков. Здесь «торчат уши» трезвого расчета: быстрота выхода на рынок дает преимущество перед конкурентами, пускай и ненадолго, и даже за счет низкого порога защищенности.
Большинство производителей не заморачиваются тем, чтобы тратить время и деньги на разработки и тестирования кодов и систем безопасности своих «умных» изделий.
Одним из способов заставить их пересмотреть свое отношение к безопасности выпускаемых ими IoT-продуктов может стать сертификация. Идея не нова, но все же заслуживает на внимание, по крайней мере, это хоть какой-то путь решения проблемы. Процедура сертификации IoT-устройств не должна быть забюрократизированной и предоставлять покупателю гарантию, что оно имеет определенную степень защиты от хакерских атак. Для начала о необходимости наличия сертификата безопасности может быть указано при осуществлении государственных и корпоративных закупок.
Сегодня вопросами сертификации занимаются и несколько частных компаний. В частности, компания Online Trust Alliance (OTA) вышла с инициативой решения проблемы безопасности IoT на уровне государств и производителей, выпустив IoT Trust Framework — перечень критериев для разработчиков, производителей устройств и поставщиков услуг, который направлен на улучшение безопасности, конфиденциальности и жизненного цикла их IoT-продуктов. В первую очередь, он ориентирован на подключенные домашние, офисные и носимые устройства и является неким рекомендательным кодексом поведения и основой для нескольких программ сертификации и оценки рисков.
В текущем году независимым подразделением компании Verizon — ICSA Labs была запущена программа тестирования безопасности и сертификации IoT-устройств. Как утверждают ее разработчики, она является одной из первых в своем роде, и тестирует такие составляющие, как уведомление/протоколирование, криптография, аутентификация, связь, физическая безопасность и безопасность платформы. Устройства, которые прошли сертификацию, будут отмечены специальным знаком одобрения ICSA Labs, указывающим на то, что они были тестированы, а обнаруженные уязвимости были устранены. Также прошедшие сертификацию устройства будут находиться под наблюдением и периодически тестироваться на протяжении всего их жизненного цикла для сохранения их безопасности.
В свою очередь программа тестирования и сертификации компании UL Cybersecurity Assurance (CAP) направлена на обеспечение безопасности продуктов и систем. Сертификация CAP удостоверяет, что продукт или система обеспечивают разумный уровень защиты от рисков, которые могут привести к непреднамеренному или несанкционированному доступу, изменению или сбою. Кроме того, CAP также подтверждает, что будущие патчи, обновления или новые версии ПО для сертифицированного продукта или системы не приведут к снижению уровня защиты, существующего на момент оценки.
Впрочем, многие эксперты по безопасности IoT считают что наибольшая польза от таких программ сертификации будет при тестировании не только конкретного устройства, а всей экосистемы: используемой им инфраструктуры, приложений и т.д. Ведь протестированное и безопасное IoT-устройство может выйти из строя и в процессе взаимодействия внутри системы.
Имея безусловные плюсы для развития IoT, сертификационные программы имеют и обратную сторону. Один лишь факт прохождения устройством теста и наличие сертификата не может быть 100%-й гарантией его безопасности, поскольку, он, очень вероятно, все еще имеет определенные недоработки. Излишняя вера в сертификат безопасности может сыграть злую шутку с пользователями, у которых имеются индивидуальные потребности и различные варианты применения устройств, а значит, и собственные риски и угрозы. Ну и, конечно же, не исключена вероятность злоупотреблений. Наверняка найдутся производители, которые будут платить за «квазисертификацию», преследуя чисто коммерческие цели.
По всему выходит, что для глобального решения проблемы безопасности с помощью сертификации необходимо некое объединяющее решение, общий для всех производителей стимул выпускать защищенные устройства, а потребителям — не покупать те, безопасность которых ничем не подтверждается. Каким ему быть — законодательным, экономическим или карательным — еще предстоит решить. В конечном итоге, результатом должна стать безопасность глобальной системы Интернета вещей.
Блокчейн-технология
Безопасность Интернета вещей стала одной из первых сфер использования блокчейн-технологии. Благодаря технологии распределенного реестра появилась возможность обеспечивать высокий уровень безопасности IoT-устройств в сети и устранить существующие ограничения и риски для IoT, связанные с централизацией.
Она позволяет быстро и безопасно сохранять протоколы обмена и результаты взаимодействия различных IoT-устройств в децентрализованной системе. Именно распределенная архитектура блокчейна гарантирует достаточно высокую безопасность всей IoT-системы. Но если часть из устройств сети все же будет подвержена взлому, в целом, это не скажется на общей работе системы. Упомянутое использование ботнетами «умных» устройств, работающих в IoT-системах, стало возможным вследствие их слабой защищенности. Распределенный тип доверительных отношений позволяет избавиться от взломанного устройства без ощутимого ущерба для всей модели взаимодействия между «здоровыми» объектами.
В контексте безопасности сегодня блокчейн может использоваться в ряде сфер, в которых Интернет вещей развивается наиболее интенсивно. Например, это управление аутентификацией, проверка работоспособности разных сервисов, обеспечение неделимости информации и другие. В начале года ряд ведущих компаний, среди которых Cisco, BNY Mellon, Bosch, Foxconn и ряд других образовали консорциум, который будет находить решения по использованию блокчейна для увеличения безопасности и улучшения взаимодействия IoT-продуктов. Главная задача, которую поставили перед собой его члены — разработка на основе блокчейн-технологии распределенной базы данных и протокола обмена информацией между IoT-устройствами.
Отметим, что в январе 2017 года DHS США начало использовать технологию блокчейн для защиты, передачи и хранения данных, которые собираются ведомством с камер видеонаблюдения и различных датчиков контроля. Технологию также тестирует и DARPA — подразделение Минобороны США, курирующее вопросы разработки новых технологий для армии. Кроме того, одно из агентств, ведущее исследования под крышей Пентагона, подписало контракт стоимостью несколько миллионов долларов с софтвер-компанией Galois, занимающейся разработками в сфере безопасности на базе блокчейна.
Сегодня уже очевидно, что реализовать все возможности, которые может предоставить пользователям концепция IoT без решения проблем с безопасностью и конфиденциальностью будет сложно. Указанные выше способы защиты IoT, конечно же, не являются исчерпывающими, над решением проблемы работают множество групп, компаний и энтузиастов. Но прежде всего высокий уровень безопасности устройств Интернета вещей должен быть основной задачей их производителей. Надежная защита должна изначально входить как часть функций изделия и стать новым конкурентным преимуществом, как для производителей, так и поставщиков комплексных IoT-решений.
Компании наконец озаботились развитием IoT-устройств и их безопасностью
Типичное IoT-устройство
IoT — сегмент рынка крайне молодой, только пробующий делать первые серьезные шаги. Конечно, IP-камеры и прочие датчики существуют уже давно, но полноценно назвать их «умными» язык не поворачивается. При этом одной из проблем рынка является, как ни странно, цикл разработки, потому что он подразумевает не только создание физического девайса, но и написание ПО для него в условиях крайне ограниченных ресурсов. Это 20 лет назад несколько мегабайт памяти под приложение было нормой. Сейчас же, когда оптимизация потребления ресурсов пользователям (да и разработчикам) только снится, а для топовых продуктов нормальны утечки памяти или нереальная прожорливость (привет, Chrome), работа в условиях пары сотен килобайт флеш-памяти на энергоэффективном микроконтроллере кажется наказанием для тех девелоперов, кто плохо себя вел в прошлом году.
Но это не единственная проблема IoT. Не мне вам рассказывать, насколько беспомощными являются умные устройства в плане информационной безопасности. Истории о ботнетах из IP-камер, холодильников и прочих микроволновок периодически всплывают в медиа, начиная еще с 2015 года. Добавим в это «блюдо» еще и «соус» из всяких умных колонок и ассистентов типа Alexa или Алисы, и мы получим пугающую картину; со времен китайских ноунейм-камер, продукты от Amazon и Яндекса обзавелись еще и возможностью совершать онлайн-заказы по запросу владельца. Собственно, именно эти функции нового поколения IoT-устройств и заставили производителей ПО начать шевелиться, а именно — укреплять рубежи цифровой обороны наших говорящих ящиков и прочих датчиков.
Вот только, как это обычно и бывает со всякими стандартами в молодом сегменте, единства подхода нет. Ведь безопасность устройства можно обеспечить, как минимум, тремя путями: разверсткой облачной платформы для управления IoT, укреплением безопасности на уровне прошивки устройства и так называемым Gateway-рубежом, то есть защитой сети IoT на уровне маршрутизатора и шлюза внутреннего интранета на стыке с внешним миром.
Минимум три компании-гиганта из трех различных сегментов IT-рынка прямо сейчас работают в указанных направлениях — пытаются упростить разработку и параллельно укрепить рубежи цифровой обороны.
SDK от Google и облачные платформы
Как обычно поступает поисковой гигант, когда речь о вхождении на какой-нибудь рынок? Ну, про тактику «купить, скопировать лучшее, закрыть» мы все очень хорошо знаем, но вот в случае IoT-устройств покупать пока особо некого. Тут у нас безлюдно, только компания ARM скалой возвышается над всей этой пустошью. Так что компания Google пошла по второму излюбленному пути — выстраивая платформу с последующим созданием экосистемы вокруг нее.
Google любит замкнутые на самой себе экосистемы. Если опустить вопиющие провалы на стезе социальных сетей, то компания создает экосистемы и выстраивает вокруг них сообщества с завидной стабильностью. А что самое главное — она умеет их поддерживать и развивать. Но пока через умные холодильники и прочие IoT-девайсы нельзя показывать рекламу, то и экосистема для Google в этом направлении интересна лишь в далекой перспективе. Речь идет о платформе Google Cloud IoT для обработки, анализа и хранения данных умных девайсов. Но этого было недостаточно, потому что с устройств эти данные надо как-то снимать. Учитывая отсутствие всеобщего стандарта, сделать это не так и просто.
Именно поэтому поисковой гигант пошел еще и по третьему своему самому любимому пути и анонсировал собственную SDK для разработчиков под IoT-устройства, написанную на Embedded C. Почему это был третий типичный путь для Google? Ну, если поисковой гигант не может «купить и закрыть», или быстро выстроить экосистему, подвязать ее с уже существующими сервисами и платформами компании и крутить рекламу, то он выпускает инструменты для разработчиков. И ждет. Тем более, платформа как инструмент уже есть, почему бы не выпустить SDK?
Продукт, который получил название Cloud IoT Device SDK, был разработан совместно с ARM, Microchip Technology и NXP Semiconductors. Конечно же, инструмент open source. Цель Cloud IoT Device SDK — помощь в прототипировании и тестировании перед этапом коммерческого внедрения продукта. SDK поддерживает широкий спектр микроконтроллерных устройств. Из преимуществ SDK выделяют то, что разработка применима к устройствам с экстремально малым энергопотреблением и флеш-памятью от 25 кбайт. Вообще, Venturebeat пишет, что разработка получилась сочной: SDK включает совместимость с realtime-OS, такими как Zephyr, ARM Mbed OS, ядро FreeRTOS (и многими другими), совместимость с POSIX-системами, присутствует асинхронный API, который позволяет работать вообще без ОС, а еще есть планировщик событий и прочее.
Исходники доступны на GitHub.
Что это означает для индустрии? В первую очередь, Google озаботилась последовательной работой в этом направлении. Учитывая доминирующее положение Android и перспективы удаленного управления устройствами через смартфоны и планшеты, выпуск специализированной SDK был только вопросом времени.
То что к работе были привлечены такие производители, как ARM, только добавляет уверенности в том, что мы не получим очередной «хром», жрущий столько ресурсов, сколько ему дают, а реальный работоспособный продукт, который учитывает специфику архитектуры современных IoT. Наличие полноценной платформы и возможность «обкатки на столе» программных решений до их коммерческого внедрения только повысит уровень конечных продуктов и ускорит их выход на рынок.
Информационная безопасность умных устройств
Сложно говорить о том, чего толком-то и не существует. Как бы ни распинались отдельные персонажи, что IoT-Security реально, мы-то с вами понимаем, что сами по себе IoT-девайсы абсолютно беззащитны и на 100% зависят от сети, к которой подключены. Собственно, из-за наплевательского отношения к security на местах мы и наблюдали стотысячные ботнеты из IP-камер несколько лет назад. Например, можно вспомнить ботнет Mirai.
Но этот вопрос надо решать. Ранее я упоминал Alexa и Алису — две эти сударыни на полном серьезе претендуют на доступ к кредиткам своих хозяев, чтобы заказывать для них пиццу или очередную безделушку с Amazon, eBay или Яндекс.маркета.
Яндекс.станция
На стезе борьбы за безопасность опять отметилась компания ARM.
Проект Platform Security Architecture Certified — это, по своей сути, программа сертификации для IoT-устройств. Способов применения у PSA два: это многоуровневые схемы обеспечения безопасности и наборы тестов API для разработчиков. Для создания PSA компания ARM привлекла несколько независимых исследовательских лабораторий в области информационной безопасности.
Вырос проект просто из набора документации по теме безопасности IoT-девайсов, в которой содержались рекомендации к разработке. Однако теперь в проекте информации намного больше, например, добавились модели кибератак, документация по анализу безопасности, серцификации по архитектуре аппаратной и программной части устройств и другое.
Еще один заметный проект в области безопасности IoT имеет отечественные корни, занимается им «Лаборатория Касперского». Эта компания пошла по наиболее очевидному для себя пути и обратила внимание на упоминаемую ранее уязвимость интранетов, в которых существуют IoT-устройства. Наиболее эффективный способ защиты сети — оборона «шлюзов с внешним миром», чем и занялись в ЛК. Конкретно сейчас они работают над проектом IoT Gateway, который представляет из себя прошивку для роутеров и маршрутизаторов. Весь проект базируется на KasperskyOS и, по всей видимости, является его подмножеством.
Маршрутизатор с KasperskyOS на борту
Согласно проспектам ЛК в разработке принимают активное участие непосредственные производители роутеров, которые пошли на сознательное сотрудничество с компанией для повышения безопасности своих устройств еще на стадии конвейера. Как минимум, в разработке должна участвовать компания Advantech — крупный производитель оборудования, с которым ранее «Лаборатория» сотрудничала в рамках проекта KICS for Networks по обеспечению информационной безопасности на производстве.
Вместо вывода
При всем внимании технологических гигантов и прочих компаний к IoT-сегменту наибольшую активность проявляет именно компания ARM — производитель микрочипов, на которых и работают все эти камеры, датчики и прочие энергоэффективные устройства. Сейчас доминирование ARM и желание компании сделать рынок шире играет всем на руку: она охотно сотрудничает с Google, нанимает частные лаборатории под специфические проекты и всячески пытается восстановить доверие широкой публики, которое было изрядно подорвано той же историей с Mirai и другими ботнетами.
Однако ARM — это не весь IoT. На рынке все еще хватает средних и откровенно неизвестных производителей электроники, которые плевать хотели на SDK от Google, инструменты тестирования и проверки безопасности и прочее и прочее. Серьезную работу делает «Лаборатория Касперского», и, я уверен, не только они движутся в направлении повышения защищенности роутеров и маршутизаторов. Но в наработках ЛК есть одна большая проблема — ее направленность, в первую очередь, на промышленный сегмент, о чем свидетельствуют прочие проекты компании в этом направлении и совместное прошлое с Advantech. Кроме того, подобные коммерческие продукты подразумевают поставку в пакете с остальным ПО компании, которое не всем и нужно.
Сколько мы шли к Micro-USB Type-B как стандарту зарядного разъема? Но не прошло и пары лет тишины и спокойствия, как пришел USB Type-C, а Lightining вообще никуда не исчезал. В плане безопасности и разработки IoT-устройств необходим компромисс, сопоставимый как раз с выбором «стандартного USB». Вот только добиться этого будет почти невозможно, потому что сейчас IoT развивается такими темпами, что любые стандарты устаревают за год-два. Есть надежда, что ARM и Google удастся консолидировать разработчиков вокруг себя и добиться некоего стандарта в разработке и ИБ, но тогда потребитель столкнется с очередной монополией, от которых уже тошно.
Впрочем, в любом случае, какое-то движение лучше застоя. Потому что IoT — это развитие для множества смежных с ним областей знания, пример, в области распознавания речи, ИИ и прочее. А за этими технологиями будущее.
расширенная поддержка аппаратных платформ и новые возможности интеллектуальных устройств / Microsoft corporate blog / Habr
Мир IoT становится все более интересным, оказывает влияние на все сферы бизнеса в мире, и эта трансформация ускоряется. Достижения в области ИИ и машинного обучения помогают компаниям во всех отраслях повысить эффективность, сократить время простоя, расходы и количество ошибок и повысить удовлетворенность клиентов, используя возможности интеллектуальных оконечных устройств (Intelligent Edge) и интеллектуального облака (Intelligent Cloud). В этой статье расскажем подробнее о Windows для IoT.
Windows работает на встраиваемых промышленных устройствах уже более двух десятилетий, и во время выступления на CEATEC в Японии я поделился стратегией Microsoft, в соответствии с которой Windows для IoT дает разработчикам устройств самого разного уровня возможность быстро создавать IoT-решения и помогать клиентам проводить цифровую трансформацию с помощью интеллектуальных и защищенных IoT-устройств. На CEATEC особое внимание уделяется развитию умных городов, умных зданий и умной инфраструктуры в рамках стратегии Society 5.0 («Общество 5.0»), и мы рады, что Windows для IoT предоставляет масштабируемое семейство операционных систем в качестве основы для создания интеллектуальных периферийных устройств. Это семейство включает:
- Windows 10 IoT Core. Эта ОС создана для интеллектуальных устройств небольшого размера, но при этом обеспечивает управляемость и безопасность на том уровне, которого ждут пользователи Windows. Вместе с Windows 10 IoT Core Services предоставляется долгосрочная поддержка ОС, а также сервисы для управления обновлениями по беспроводной связи (OTA) и работоспособностью устройства. Отличный пример применения Windows 10 IoT Core — Hourfleet, платформа для совместного использования автомобилей, решающая проблемы городской мобильности, с которыми сталкиваются многие города и сообщества. Платформа Hourfleet — это готовый к глобальному развертыванию, надежный и экономичный продукт на основе Windows 10 IoT Core и Azure IoT.
- Windows 10 IoT Enterprise. Эта полнофункциональная версия Windows 10 IoT обеспечивает управляемость на уровне предприятия и позволяет ограничивать возможности интеллектуальных устройств с фиксированными функциями. Такие компании, как City Beacon, создают интеллектуальную инфраструктуру следующего поколения на основе Windows 10 IoT Enterprise. City Beacon построила умный хаб Smart Hub, который можно размещать на городских улицах. Это многофункциональные киоски с разнообразными IoT-устройствами, которые подключены к быстрым сетям и могут предоставлять горожанам доступ к гиперлокальным приложениям и сервисам.
- Windows Server IoT 2019. Серверы под управлением Windows Server IoT предназначены для самых требовательных рабочих нагрузок, для подключения, хранения и анализа информации из больших баз данных, используемых подключенными приложениями, сетями и веб-службами.
Больший выбор аппаратных платформ
14 октября мы объявили об общей доступности пакетов поддержки Windows 10 IoT Core Board Support Packages для процессоров семейства NXP i.MX, включая семейства процессоров i.MX6, i.MX7, i.MX 8M и i.MX 8M Mini.
NXP — лидер в области высокозащищенных решений для подключения встроенных приложений, и объединение NXP i.MX и Windows 10 IoT Core предоставляет разработчикам дополнительные возможности для создания защищенных подключенных устройств коммерческого уровня.
Windows 10 IoT Core позволяет в полной мере использовать возможности защищенных интеллектуальных устройств с оптимизированным энергопотреблением. Разработчики могут быстро создавать новые интеллектуальные устройства, используя знакомую мощную среду разработки Windows, и коммерциализировать их с помощью нашей платформы IoT Azure. Добавляя поддержку процессоров NXP, мы даем создателям IoT-проектов возможность использовать целый ряд новых микросхем промышленного класса.
«Мы рады, что достигли этапа общей доступности, и мы продолжаем строить партнерские отношения с Microsoft, — говорит Джефф Майлз, вице-президент NXP по развитию бизнеса, безопасных IoT-устройств и облачных продуктов. — Теперь клиенты NXP имеют доступ к лучшим в отрасли решениям на основе интеллектуальных устройств и могут использовать процессоры i.MX 6, i.MX 7 и i.MX 8M с Windows 10 IoT Core для промышленного применения, в том числе для IoT-проектов, открывая для своих интеллектуальных продуктов все возможности Azure».
Потребители начинают использовать NXP i.MX и Windows 10 IoT Core
Уже есть платы и устройства, использующие процессоры NXP i.MX. Наши партнеры выпустили и разрабатывают более 15 таких плат. Например, в Diagramics разработали решение на основе NXP i.MX8 с Windows 10 IoT Core для создания многофункциональных клиентских устройств, сертифицированных по каталогу IoT-устройств Azure, и сделали возможной регистрацию этих IoT-устройств в Azure IoT Hub Device Provisioning Service по принципу plug-n-play. Подробнее об этом можно узнать здесь.
В своем выступлении я также рассказал о новом решении от Smart Tower, основанном на сочетании Windows 10 IoT Core, NXP и Azure IoT. Это решение предназначено для повышения надежности и сокращения времени простоя критически важных объектов инфраструктуры, таких как вышки сотовой связи или распределительные электрические сети. Smart Tower разработала решение, позволяющее в полной мере использовать преимущества обработки на пограничных устройствах, создав модуль датчика, прикрепленный к вышке, и наземный блок управления, который анализирует состояние вышки в режиме реального времени, учитывая возможность высокой задержки или отключения сигнала. Кроме этого, решение использует Azure IoT Hub для управления устройствами и их подключения и позволяет проводить исторический анализ по всей контролируемой сети вышек. В Smart Tower выбрали комбинацию NXP, i.MX и Windows 10 IoT Core из-за экстремальных условий работы устройств, а знакомая платформа Windows IoT сократила затраты на разработку и время выхода на рынок.
Непрерывные инновации в пограничных устройствах
Ранее в этом году мы включили поддержку Azure IoT Edge в Windows 10 IoT Enterprise и Windows Server IoT 2019. Это позволяет легко интегрировать среду выполнения IoT Edge, позволяя переносить алгоритмы машинного обучения и другие не менее сложные вычислительные функции из облака на периферийные устройства. Windows для IoT также поддерживает Windows Machine Learning и Windows Vision Skills, что позволяет запускать расширенные алгоритмы AI, разработанные в Azure, на любом устройстве Windows для IoT.
Лучшие в отрасли средства машинного обучения на пограничных устройствах: новый контейнер Windows ML
Новый контейнер Windows ML, уже доступный участникам программы предварительной оценки, разработан специально для выполнения задач, требующих интеллектуальных рабочих нагрузок, созданных с использованием Windows ML API. Контейнер Windows ML предоставляет предприятиям быструю и гибкую платформу для создания IoT-решений корпоративного уровня. Он сочетает расширенные функции Windows с безопасностью платформы Windows 10 IoT и управляемостью службы Azure IoT Edge.
Контейнеры Windows ML обеспечивают размещение интеллектуальных рабочих нагрузок с аппаратным ускорением и прямым доступом к периферийным устройствам хоста. Размещенные рабочие нагрузки могут использовать датчики или камеры, подключенные через USB, I2C, SPI или GPIO. Для аппаратного ускорения можно использовать любые графические процессоры с поддержкой DirectX 12 или подключенные к хосту интегральные схемы ASIC, совместимые с моделью Microsoft Compute Driver Model.
Благодаря оптимизации контейнера специально для рабочих нагрузок ИИ размер контейнера на диске составляет примерно 350 Мб, что значительно меньше, чем у любого другого имеющегося на рынке контейнера с поддержкой обработки на GPU. Меньший размер облегчает управление контейнерами Windows ML и сокращает затраты. Узнать больше о предварительной версии контейнера Windows ML можно здесь.
Представляем SQL Server IoT 2019: хранение и анализ данных в Windows для IoT
SQL Server был доступен для использования со встроенными устройствами в течение многих лет, и мы рады представить новейшие возможности SQL Server 2019 для разработчиков встроенных устройств. Представляем SQL Server IoT 2019, бинарный эквивалент SQL Server 2019, который будет лицензироваться по каналу OEM и специально разработан для применения на специализированных серверах, работающих на пограничных устройствах с приложениями. В сочетании с Windows Server IoT 2019 Microsoft SQL Server IoT 2019 предоставляет комплексную платформу БД для критически важного анализа данных с непревзойденной масштабируемостью, лучшей в отрасли производительностью, безопасностью и возможностью интеллектуальной обработки любых данных. SQL Server IoT позволяет анализировать операционные данные в реальном времени с помощью технологий размещения в памяти, обеспечивающих более высокий параллелизм и масштабирование через постоянную память. Microsoft SQL Server IoT 2019 будет доступен уже в этом году.
Microsoft вкладывает значительные средства в развитие облачных технологий и использует широкие возможности Windows, чтобы ускорить переход клиентов в облако с подключенными интеллектуальными устройствами. Инновации, которые мы анонсировали на CEATEC, и практические IoT-решения, создаваемые нашими клиентами и партнерами, — это только начало захватывающего пути, открывающегося перед Windows для IoT. Обязательно познакомьтесь с этими решениями Windows IoT из первых рук или через Интернет.
Управляем умными розетками и сотнями других IoT девайсов с помощью DIY-устройств, сайтов, ботов и мессенджеров
Привет, Geektimes! Изготовление, например, умной розетки для коммутации устройств с питанием 220В — самая большая проблема при разработке домашней автоматизации, умного дома и схожих систем.
У этой проблемы есть два аспекта — сложность самостоятельного изготовления и обеспечение надежности и безопасности работы таких розеток. Поэтому лишь опытные умельцы могут делать их своими руками.
Чаще всего стимулом к тому, чтобы изготовить умную розетку самостоятельно служит отсутствие вменяемого API у большинства серийных моделей.
В одной статье на Geektimes про умные розетки я увидел такой комментарий:
«Если нет открытого API, чем вы отличаетесь от сотен других поставщиков? Я мечтаю о розетке, которой могу управлять обычным https-запросом. С любой ОС и с любого устройства».
Именно таким способом управлять практически любой умной розеткой и многими IoT- устройствами я и хочу поделиться. Изложенный ниже метод актуален как для простой Wi-Fi-розетки HS100 от TP Link из любого магазина электроники, так и для множества других устройств: умных светодиодных ламп от Philips, хабов умного дома, термостатов Nest, фитнес-браслетов, систем полива и даже автомобилей.
На сайте любого крупного интернет-магазина электроники типа AliExpress или eBay в поиске по запросу «smart home» можно увидеть сотни интересных IoT-устройств для умного дома. У большинства из них привлекательная цена, они круто выглядят, имеют сертификаты безопасности, но у них нет открытого API — того, что по-настоящему важно гикам.
В действительности это не совсем так. В большинстве устройств API, конечно, есть и в большинстве случаев он открыт, но не для всех. Доступ к нему есть чаще всего у Amazon, ибо есть огромное количество устройств, совместимых с управлением при помощи голосового
помощника Alexa Echo. Подробнее можно прочитать здесь.
В свою очередь backend от Amazon для управления Alexa тоже открыт — AWS для поддержки IoT-устройств и всевозможных Alexa Skills, Lambda и так далее. Проблема в том, что со всем этим довольно сложно разобраться.
Сейчас я расскажу, как управлять с помощью запросов JSON всем, чем умеет управлять Alexa Echo. Просто написав команду вида «turn on the living room» можно управлять практически любой умной розеткой откуда хотите — с сайта, устройства Arduino, бота или мессенджера.
В качестве простого примера — многие уже используют популярный выключатель Sonof за 5 долларов. Обычно умельцы его перепрограммируют и используют кастомные прошивки для своего сервера.
На самом деле, им можно управлять текстом или голосом из бесплатного приложения, а также использовать API для передачи команд с помощью простых json запросов с вашего сайта, Ардуино, бота и т.д., причем не нужно ничего паять или прошивать — все работает «из коробки».
Экосистема Alexa постоянно развивается, и появляется все больше новых команд для управления. Подробная инструкция по настройке устройств от Sonof для работы с Alexa здесь.
Итак, что нужно для того чтобы управлять сотнями наименований IoT устройств и систем (поддерживающих Alexa Echo) с ваших сайтов, DIY устроств, ботов и т. д.?
Сначала нужно скачать приложение и зарегистрироваться ( логин и пароль, выбранный при регистрации потребуется при авторизации для API).
Также понадобится логин и пароль вашего аккаунта на Amazon. Вы можете ввести их при первом включении режима Alexa в приложении (иконка «a») или зарегистрироваться и создать новый аккаунт на Amazon.
Теперь создаем с кем-нибудь чат, в который будем отправлять из API команды для управления устройствами.
Нам потребуется ID чата. Получаем его командой getSessions. Пример выполнения команды:
{
"new": 0,
"top": {
"delivery": 1514009104111,
"code": 0,
"orig": "3996189326",
"lifetime": -1,
"mid": "1514009104111-b6cbe7fcccd49f9824",
"time": 1514009104111,
"event": 3,
"type": 16,
"content": "weather in london"
},
"created": 1513996519209,
"missed": 0,
"count": 40,
"parties": [
"3996189326",
"3929915709"
],
"id": "<b>1513996519209-ab612ee9434113c8d1</b>",
"time": 1514009104111,
"dialogid": "1513996519209-4b0cbad7b6e43ed36e",
"updated": 1513999445871,
"properties": {
"keyGeoEnable": true,
"push": false,
"nodisturb": true
},
Находим нужный чат (здесь он отображается как «id»: «1513996519209-ab612ee9434113c8d1») и копируем его ID — 1513996519209-ab612ee9434113c8d1. Теперь мы можем подавать команду
для управления со следующими параметрами:
method sendMessage
sessionid 1513996519209-ab612ee9434113c8d1
type 16
content weather in London
Если все сделано правильно, то ваш смартфон сообщит текущую погоду в Лондоне. Подробнее про команды API можно прочитать здесь.
Теперь нужно привязать устройство к учетной записи Alexa. Подробная инструкция есть в этой статье на Geektimes. После привязки вы можете менять фразу в контенте.
Например, если устройство привязано к группе Living Room, то json запрос будет выглядет так:
method sendMessage
sessionid 1513996519209-ab612ee9434113c8d1
type 16
content turn on the living room
Будет будет включаться соответствующее устройство, привязанное к living Room — умная розетка, умный выключатель и прочее.
Важно! В настройках приложения должна стоять галочка Always On:
Теперь вы можете не только управлять системами с сайта, бота, устройств типа Arduino и другими методами, но и делать покупки на Amazon — в общем, пользоваться всем тем, что умеет делать умная колонка Alexa Echo.
Спасибо за внимание! Надеюсь, пригодится.
AWS IoT и безопасность / Unet corporate blog / Habr
Если речь идет о безопасности Интернета вещей (IoT), то следует сразу оговорится о какой стороне безопасности пойдет речь. Дело в том, что не существует системы, которую нельзя взломать или которая является абсолютно надежной. Вопрос только во времени, деньгах или банальной случайности. Казалось бы, оптоволоконные сети связи достаточно надежны в силу их физической природы соединения, но все равно, если нет шифрования данных, к самому потоку информации злоумышленники могут вполне добраться. Что остается говорить о беспроводных сетях и, фактически основе Интернета вещей – технологии Wi-Fi или, более правильно ее называть – IEEE 802.11? При этом не стоит забывать, что любые системы могут ломаться и не выдерживать нагрузок. Роботы, электроника, различные механические устройства с подключением к Интернет, впрочем, как и без подключения, потенциально могут нанести вред. Кстати, сейчас совсем забыли направление, которым занимается мехатроника, которая идеально подходит в ключе описания стека IoT. В общем, безопасность – это многогранное понятие и в данной публикации хотелось бы затронуть только небольшую часть этой проблемы, на примере решения задач шифрования и передачи данных для устройств IoT.
The 10 Most Vulnerable IoT Security Targets – Internet of Things Institute
Безопасность передачи данных в открытом пространстве Интернет-коммуникаций – основная задача, которая должна обязательно учитываться при проектировании и эксплуатации любой технологии, связанной с Интернетом вещей. В отличие от традиционных концепций построения Интернет-коммуникаций, сети IoT в настоящее время переживают только начальную точку развития. В большинстве случаев может показаться что, обеспечив достаточную надежность и масштабирование серверных систем, устройств пользователей и зашифровав данные, можно вполне успешно обеспечить безопасность IoT. Это не совсем так, поскольку, например, можно реализовать систему, где данные из камеры домашнего ассистента будут достаточно хорошо зашифровываться и передаваться на сервер, где их потом распаковывают и архивируют в надежном хранилище и, почему-то, открывают доступ к этому архиву по банальному протоколу FTP. Тут злоумышленнику можно не утруждать себя взломом конечных устройств и серверов, а ограничиться достаточно известным протоколом сетевого доступа к файлам. Таким образом, безопасность – это многогранное понятие, где не стоит забывать даже о мелких нюансах и мелочах. Ведь защита IoT-устройств сводится на нет, если можно взломать операционную систему IoT-шлюза или любой другой точки в IoT-цепочке соединений, где, например, хранятся данные в открытом виде.
Разработчикам таких сложных, распределенных систем, как IoT, обязательно следует предусмотреть надежное решение обеспечения защиты инфраструктуры всей системы, т.е. исключить возможность не только взлома системы путем атаки на устройства, но и защитить персональные данные пользователей или подобные сведения о владельцах конечных устройств IoT и т.п. Поэтому, проектируя систему на основе концепции Интернета вещей, всегда нужно помнить, что есть два равнозначных домена:
— коммуникация устройств IoT;
— обеспечение надежного хранения, обработка и представление данных.
Как не трудно догадаться, используя готовое решение на базе современных средств AWS IoT, можно получить фактически «из коробки» решение проблемы безопасности на уровне взаимодействия устройств. При этом, защиту данных и программных решений вполне можно обеспечить за счет применения дополнительных сервисов, входящих в облако AWS. Но не следует забывать, что для Интернета вещей узким местом все-таки остается пропускная способность коммуникационных каналов. Ведь не везде сейчас есть уверенный доступ к Wi-Fi, 3G или LTE.
В промышленных и домашних сетях вполне можно получить гарантированную скорость доступа, но мобильным устройствам это будет сделать не всегда так просто. Поэтому, шифрование в таких системах может быть и, наоборот, относительно негативным фактором, которое только усложняет конечные устройства и увеличивает размер пакетов данных. Например, можно долго не думать, отвечая на вопрос, насколько могут быть сложными алгоритмы шифрования для реализации на 8-ми битном микроконтроллере Arduino Uno. Однако, не следует забывать о законе Мура и стремительном развитии электроники.
Advances in Semi Manufacturing Continue to Make Products Better and More Affordable – Intel Newsroom
Если нужно шифровать данные, то сейчас вполне можно найти подходящее по стоимости решение, способное реализовать необходимые алгоритмы на базе микроконтроллера или микропроцессора. Также защита данных может быть предусмотрена на аппаратном уровне в микросхемах интерфейса Ethernet, модулях Wi-Fi или 3G. При этом нужно понимать, что совсем не стоит заботиться о шифровании данных, которые и так будут доступны в открытом виде, например, для открытых систем мониторинга температуры и т.п. Но тут может проявить себя совсем другой вопрос безопасности – компрометация данных. Например, не заботясь об авторизации и аутентификации «своих» устройств IoT, можно пропустить момент, когда под такое устройство «замаскируется» оборудование злоумышленника, давая заведомо ложные данные в систему.
Очевидно, как было отмечено ранее, комплексный подход к решению проблемы безопасности уже сейчас можно увидеть на примере современных облачных вычислений. Давайте более детально рассмотрим в этом плане технологии Amazon IoT. Облако Amazon Web Services (AWS) доступно для тестирования в рамках «уровня бесплатного пользования». Например, для AWS IoT, в течении первого года после регистрации, будет доступно 250 000 сообщений (опубликованных или доставленных) в месяц. Для множества других сервисов доступна линейка подобных лимитов. К сожалению, Amazon не дает возможности «бездумно» экспериментировать в течение пробного использования. Пользователь этого облака всегда должен давать себе отчет, что запускает или как генерирует определенные действия. Все, что будет превышать порог бесплатного использования придется оплатить согласно действующим тарифам.
Регистрация в облаке AWS достаточно простая. Однако, сразу сервис запросит $1 USD с карточки клиента для подтверждения возможности оплаты счетов этой картой. Также для нового пользователя сервис проверит существование реального телефона, и тут его может ожидать небольшой сюрприз. Подтвердить телефон можно автоматически после звонка сервиса. Но для обладателей смартфонов, звонок может раздаться не в приложении телефона, а в Viber. Количество ввода кода подтверждения ограничено, если не догадаться где в Viber нужно ввести заветные цифры, можно просто исчерпать лимит и ожидать порядка суток до новой попытки. Вот, почему-то так и случилось. В любом случае, техподдержка Amazon всегда поможет, даже на бесплатном тарифе. Описав проблему в чате, буквально за считанные минуты, вполне можно решить подобный вопрос после живого звонка оператора. Можно предположить, что и все другие вопросы по работе с сервисом можно очень оперативно решать с техподдержкой. А в масштабах использования ресурсов облака, когда потребуется беспрецедентное качество, сервис предоставляет платные тарифы технической поддержки.
Итак, начиная работать с облаком, многие сразу приступают к экспериментам с виртуальными машинами, файловыми хранилищами и т.п. Но у нас задача рассмотреть сервис AWS IoT и понять насколько такое решение является защищенным. Поскольку AWS IoT – это лишь часть сервисов облака Amazon, то так или иначе этот сервис интегрируется со многими другими решениями облака (AWS Services). Для этого существует механизм Rules Engine, который позволяет построить набор правил взаимодействия подключенных устройств и других ресурсов облачных вычислений. Например, можно реализовать взаимодействие AWS IoT и сервиса запуска программного кода AWS Lambda, нереляционной базой данных Amazon DynamoDB или сервисом обработки и анализа потоковых данных Amazon Kinesis Streams.
AWS IoT – Amazon Web Services
Центральное место AWS IoT – это шлюз Device Gateway, который обеспечивает взаимодействие устройств с платформой облака. Фактически – это брокер MQTT, который, с одной стороны, обеспечивает безопасное подключение устройств с использованием механизма аутентификации и авторизации, а с другой – позволяет использовать весь потенциал AWS-решений и сервисов. Шлюз также поддерживает протоколы WebSockets, HTTP 1.1. AWS IoT автоматически масштабируется и может поддерживать более миллиарда устройств. Интересно, что в случае потери соединения с удаленным устройством от Amazon есть интересное решение – это «тени» устройств (Device Shadows). «Тени» представляют из себя некоторую абстракцию или виртуальное представление последнего состояния устройства, которое стало недоступным. Также для «тени» можно задать желаемое будущее состояние. Благодаря такому подходу можно гибко проектировать свои приложения для работы с удаленными устройствами в условиях неустойчивой связи.
И главное для тех, кто до сих пор думает, что облако и безопасность Интернета вещей – это миф, выдержка из документации AWS IoT: «Каждое подключенное устройство должно иметь учетные данные для доступа к брокеру сообщений или службе «теневых» устройств. Весь трафик на и из AWS IoT должен быть зашифрован через Transport Layer Security (TLS). Учетные данные устройства должны храниться в безопасности, чтобы безопасно отправлять данные брокеру сообщений. Механизмы безопасности облаков AWS защищают данные при перемещении между AWS IoT и другими устройствами или службами AWS».
Security and Identity for AWS IoT – AWS Documentation
Проблема только в одном – Интернет вещей предполагает наличие огромного количества подключенных устройств, впрочем, как и множества пользователей, которые могут и хотят взаимодействовать со своими гаджетами и более серьезными системами. Если облако решает проблемы масштабирования и организации базовой защиты элементов системы, то как говорилось ранее, не надо забывать, что безопасность – это комплексное понятие, где в большинстве случаев, основным звеном в цепочке мер защиты Интернета вещей являются организационные меры, банальное внимание и следование элементарным принципам организации защиты веб-ресурсов. Ведь основное – это не доверять данным пользователя, выполнять валидацию и верификацию информации, шифровать трафик, надежно хранить ключи шифрования и многое другое. Заметим, что особенно на этапе проектирования системы, следует уделить особое внимание обеспечению комплексной безопасности предстоящего решения.
Для разработки аппаратных устройств Интернета вещей Amazon предоставляет SDK AWS IoT. Поддерживаются языки и платформы: Embedded (встраиваемый) C, JavaScript, плата Arduino Yun, Java, Python, iOS и Android. Также Amazon поддерживает ряд устройств и плат прототипирования, среди которых хотелось бы выделить решение Mongoose OS ESP32-DevKitC. Это плата на основе бюджетного модуля ESP32 компании Espressif Systems. Недорогие модули компании Espressif уже давно стали синонимом любительского Интернета вещей. Интересна и сама прошивка Mongoose OS компании Cesanta. Эта прошивка поддерживают и более старые модули Espressif ESP8266, плюс устройства на базе микроконтроллеров CC3220, CC3200 и STM32F4. В отличие от традиционного решения на базе IDE Arduino, Lua или MicroPython для ESP8266, прошивка Mongoose OS имеет два типа лицензирования: свободная GPLv2 и коммерческая лицензия. Выбор лицензии зависит от требуемого поддерживаемого функционала системы и типов проектов, которые используют выбранную прошивку.
В качестве основы для прототипа устройства IoT выберем модуль Development Kit NodeMCU на базе ESP8266, как одно из наиболее популярных решений, впрочем, из самых недорогих плат. Средняя цена за модуль порядка $3 USD. Существует несколько вариантов и версий плат NodeMCU, главное – это чип ESP8266 и дополнительно 32Mbits(4MBytes) флэш памяти, а остальное – это небольшие различия в компоновке платы, например, использование USB-UART моста Ch44x или CP210x и т.п.
Работать с выбранной прошивкой – Mongoose OS, очень удобно. Подключаем к USB-порту компьютера модуль NodeMCU. Если требуется драйвер USB-UART моста, который после установки на компьютер создаст виртуальный COM-порт, то на сайте Mongoose OS, в разделе Downloads, можно найти ссылку на скачивание необходимого программного обеспечения. Затем, с этого же сайта разработчиков Mongoose OS, следует скачать утилиту mos для поддерживаемых операционных систем: Windows, MacOS или Linux. Затем, после запуска mos, все действия по разработке выполняются в графической оболочке внутри браузера. Для разработки можно выбрать два языка: C/C++ или JavaScript. Первый – позиционируется для промышленных решений, а JavaScript – для целей прототипирования и отладки.
Разработка в среде mos на JavaScript для прошивки Mongoose OS.
Настройка подключения к маршрутизатору Wi-Fi и облаку AWS IoT выполняется внутри графической оболочки. Но уж раз мы перешли к облачным системам, то перед настройками нашей платы для работы с AWS IoT сначала нужно вспомнить о сервисе AWS Identity and Access Management (IAM). Этот сервис предназначен для управления доступом пользователей к сервисам и ресурсам облака. В панели управления AWS выбираем сервис IAM и создаем пользователя, группу и назначаем пользователю права доступа к сервису AWS IoT (Policy name), например, для тестового подключения дадим полный доступ «AWSIoTFullAccess», что, конечно, не лучшее решение для реальных задач.
После этого, в панели mos прописываем соответствующие секретные ключи авторизации для созданного пользователя AWS: «Access Key ID» и соответствующий ему «Secret Access Key». Далее разрабатываем приложение для устройства, например, на JavaScript или, просто, используем демонстрационный пример работы с брокером MQTT. Затем, выполнив локальную отладку приложения, сгенерируем на устройстве сертификаты подключения к облаку: > mos aws-iot-setup --aws-region REGION --aws-iot-policy mos-default
где REGION – выбираемый пользователем регион, в котором будут использованы ресурсы AWS IoT. Команду «mos aws-iot-setup» можно не запускать, а выполнить все действия подключения к облаку в среде утилиты mos. После этого можно проверить работу системы запустив в AWS IoT клиент MQTT.
Тестирование получения данных от подключенных устройств в среде AWS IoT.
В тестовом приложении Mongoose OS для модуля NodeMCU на базе ESP8266, по нажатию кнопки «Flash» – выполняется публикация сообщения, в котором содержится отчет о занятой памяти и времени непрерывной работы. Необходимо отметить, что в облачном сервисе AWS IoT, можно эффективно использовать панель мониторинга, с помощью которой представляются сводные статистические данные о работе подключенных устройств.
Мониторинг состояния устройств и анализ статистики сообщений в среде AWS IoT.
Таким образом, используя AWS IoT и Mongoose OS можно получить защищенное соединение для Интернета вещей. Однако, если базовой защиты будет недостаточно, есть еще одна интересная возможность. Mongoose OS поддерживает работу с криптографической микросхемой ATECC508A. Это фактически со-процессор, который позволяет генерировать стойкие ключи шифрования используя криптографические алгоритмы на эллиптических кривых. Длина ключа 256-bit, микросхема гарантирует уникальный 72-bit серийный номер, а для хранения ключей, сертификатов и данных – доступна встроенная память 10Kb EEPROM (во встроенной памяти можно хранить до 16-ти ключей). Микросхема работает в диапазоне напряжений 2.0В – 5.5В при температурном режиме от -40 до +85 0С и поддерживает коммуникацию по шине I2C или, в зависимости от подтипа выбранной микросхемы, использует высокоскоростной последовательный однопроводный интерфейс для связи с основным процессором. Цена устройства, порядка $0.8 USD. Позиционируется микросхема ATECC508A как система обеспечения безопасности IoT-узла и идентификатор (ID). О крипточипе можно написать отдельную статью, но все-равно лучше обратиться к первоисточнику – официальной документации на сайте производителя. Также компания Microchip Technology для поддержки своих крипточипов, включая ATECC508A, выпускает платы для ознакомления. Например, достаточно простую CryptoAuthentication Xplained Pro Extension Board (ATCRYPTOAUTH-XPRO).
В случае использования такого крипточипа, команда mos aws-iot-setup уже будет использовать аппаратные ресурсы микросхемы и сконфигурирует обмен данными устройства и облака по защищенному протоколу TLS. Собрать на беспаячной макетнице прототип системы на базе ATECC508A-SSHDA-B – вполне не трудная задача. Единственное, по аналогии с платой ATCRYPTOAUTH-XPRO на макетницу можно добавить подтягивающие резисторы 3.9 кОм по информационным цепям SDA, SCL и, конечно, блокировочный конденсатор 0.1 мкФ. Как всегда, чтобы не повторятся в конце публикации размещены ссылки на подробные публикации по подключению крипточипа к ESP8266. Единственное, это надо быть внимательными с программной частью, так как после генерации ключей микросхему ATECC508A можно заблокировать, в результате чего она перейдет в режим обеспечения секретности, противодействуя аппаратному взлому.
Интересно, а у читателей нашего блога есть положительный или отрицательный опыт применения ATECC508A?
Еще раз хочется отметить, что все действия с Mongoose OS можно выполнять прямо в окне утилиты mos интерфейса браузера. Например, перейдя во вкладку RPC Browser, можно проверить подключение по шине I2C, выполнив команду: I2C.Scan, которая, например, для ATECC508A должна вернуть код [96]. Хочется особенно отметить, что у проекта Mongoose OS отличная поддержка, и сама инфраструктура открытого проекта. Например, прямо в оболочку mos интегрирован чат на базе сервиса Gitter, где можно задать вопросы разработчикам и энтузиастам мира Интернета вещей.
В завершении можно сказать, что поскольку наше устройство уже подключено к облаку AWS IoT, то можно смело отключить разъем USB с ESP8266 и подключиться утилитой mos к устройству через сервис облака AWS. Для этого запустим команду: mos --cert-file $(mos config-get mqtt.ssl_cert) --key-file $(mos config-get mqtt.ssl_key) --port mqtts://$(mos config-get mqtt.server)/$(mos config-get device.id)
. Теперь можно выполнять отладку без прямого подключения платы устройства к компьютеру. Главное, чтобы модуль ESP8266 мог свободно выходить в Интернет.
Таким образом, рассмотрены потенциальные возможности работы с облаком и разработки устройств Интернета вещей с примерами современных методов защиты IoT. Бесспорно, многим покажется, что это слишком длинная статья или, что все это «вода» и т.д. В свою очередь, хочется отметить, что это только введение в проблему и обязательно в нашем блоге появится более детальная проработка концепций безопасности веб-технологий, включая решения для IoT и социальной составляющей мира Интернета вещей.
Мир меняется и меняется он вместе с нами. Если еще недавно многие разработчики могли лишь мечтать о платформах высокопроизводительных вычислений, о построении распределенных высоконагруженных систем, то сейчас – это уже реальность, которая доступна в качестве облачного сервиса. Если когда-то в прошлом нужно было использовать специальные математические библиотеки для расчетов на базе 8-ми битных микроконтроллеров, понятно, если этого требовала задача, то сейчас проще использовать в проекте соизмеримый по цене 32-х битный вычислитель. Наш мир стремительно поменялся, сейчас мы можем реализовывать свои идеи на значительно более высоком уровне. И тут, как нельзя кстати, немного вдохновляющей рекламы IoT от Amazon Web Services. Осталось пожелать читателям создавать инновации, которые будут помогать делать наш мир безопаснее, удобней и рациональней.
IoT – Day One – Amazon Web Services
Интересные ресурсы и ссылки:
Скрытное подсоединие к оптоволокну: методы и предосторожности — Хабрахабр
Немного о «законе Мура» — Хабрахабр
Beecham Research reveals extent of security challenges facing the Internet of Things — Comms Business
Уровень бесплатного пользования AWS — Amazon Web Services
Начало работы с AWS IoT — Amazon Web Services
AWS Identity and Access Management (IAM) — Amazon Web Services
Comparison of ESP8266 NodeMCU development boards — my2cents
Starting with JavaScript – Cesanta
AWS IoT on Mongoose OS, Part 1 — AWS Partner Network (APN) Blog
AWS IoT on Mongoose OS, Part 2 — AWS Partner Network (APN) Blog
ATECC508A — Microchip Technology
The two-dollar secure IoT solution: Mongoose OS + ESP8266 + ATECC508 + AWS IoT
Security — Mongoose OS Documentation
AWS IoT support for Mongoose OS — Cesanta
Secure remote device management with Mongoose OS and AWS IoT for ESP32, ESP8266, TI CC3200, STM32 — Cesanta
Understanding the AWS IoT Security Model — The Internet of Things on AWS
Тестирование устройств интернета вещей (IoT)
На просьбу назвать предметы первой необходимости многие бы ответили: еда, крыша над головой, одежда… С одной оговоркой: так было в прошлом веке.
С тех пор у вида Хомо Сапиенс накопились потребности. Нам нужно, чтобы освещение контролировали автоматические датчики, а не просто выключатели, чтобы умные системы следили за состоянием здоровья и автомобильным движением. Список можно продолжить… В общем, мы умеем делать жизнь проще и лучше.
Попробуем выяснить, как весь это интернет вещей работает, прежде чем переходить к тестированию.
Что такое интернет вещей (IoT)?
Интернет вещей (или IoT) — это сеть, которая соединяет в себе множество объектов: транспортные средства, домашняя автоматика, медоборудование, микрочипы и т.д. Все эти составные элементы накапливают и передают данные. Посредством такой технологии пользователь управляет устройствами удаленно.
Примеры IoT-устройств
#1) Носимые технологии:
Фитнес-браслеты Fitbit и умные часы Apple Watch легко синхронизируются с другими мобильными устройствами.
Так проще собирать сведения о здоровье: частота пульса, активность организма во время сна и пр.
#2) Инфраструктура и разработка
Приложение CitySense в онлайн режиме анализирует данные об освещении, и автоматически включает или выключает фонари. Существуют приложения, которые управляют светофорами или сообщают о доступности парковок.
#3) Здоровье
Некоторые системы, которые отслеживают состояние здоровья, используются в больницах. В основе их работы ориентировочные данные. Эти сервисы контролируют дозировку лекарств в различное время дня. Например, приложение UroSense отслеживает уровень жидкости в организме и, если нужно, повысит этот уровень. А врачи узнают сведения о пациентах по беспроводной связи.
Технологии, которые присутствуют в IoT
- RFID (радиочастотная идентификация), EPC (электронный код продукта)
- NFC («коммуникация ближнего поля») обеспечивает двусторонние взаимодействия между устройствами. Эта технология присутствует в смартфонах и служит для бесконтактных транзакций.
- Bluetooth. Широко применяется в ситуациях, когда достаточно связи ближнего радиуса действия. Чаще всего присутствует в носимых устройствах.
- Z-Wave. Низкочастотные RF-технологии. Чаще применяются для домашней автоматики, управления освещением и пр.
- WiFi. Самая популярная сеть для IoT (передача файлов, данных и сообщений).
Тестирование IoT
Рассмотрим пример: медицинская система, которая следит за состоянием здоровья, частотой сердцебиений, содержанием жидкости и отправляет отчеты медработникам. Данные отображаются в системе; доступны архивы. А врачи уже решают, принимать ли пациенту медикаменты, удаленно.
Существует несколько подходов для тестирования архитектуры IoT.
#1) Юзабилити:
- Необходимо обеспечить юзабилити тестирование каждого из устройств.
- Медицинское устройство, которое отслеживает состояние здоровья, должно быть портативным.
- Необходимо достаточно продуманное оборудование, которое бы отправляло не только уведомления, но и сообщения об ошибках, предупреждения и пр.
- В системе должна присутствовать опция, которая фиксирует события, чтобы конечному пользователю было понятнее. Если такая возможность не предусмотрена, сведения о событиях сохраняются в базе данных.
- Тщательно проверяется возможность обработки данных и обмена задачами между устройствами.
#2) Безопасность IoT:
- Данные лежат в основе работы всех подключенных устройств. Потому не исключен несанкционированный доступ во время передачи данных. С точки зрения тестирования ПО необходимо проверять, насколько защищены/зашифрованы данные.
- Если есть UI, нужно проверить, защищен ли он паролем.
#3) Сетевые возможности:
- Крайне важна возможность подключения к сети и функциональность IoT. Ведь речь идет о системе, которая используется в целях здравоохранения.
- Проверяются два главных аспекта:
- Наличие сети, возможности передачи данных (передаются ли задания с одного устройства на другое без каких-либо заминок).
- Сценарий, когда подключение отсутствует. Независимо от уровня надежности системы, существует вероятность, что статус системы будет «офлайн». Если сеть недоступна, сотрудникам больницы или другой организации необходимо об этом знать (уведомления). Таким образом, они смогут следить за состоянием пациента сами, а не ждать, когда система заработает. С другой стороны, в таких системах обычно присутствует механизм, который сохраняет данные, если система в офлайне. То есть потеря данных исключается.
#4) Эффективность:
- Необходимо учитывать, насколько решение для сферы здравоохранения применимо в конкретных условиях.
- В тестировании участвуют от 2 до 10 пациентов, данные передаются на 10-20 устройств.
- Если вся больница подключается к сети, это уже 180-200 пациентов. То есть фактических данных будет больше, чем тестовых.
- Ко всему прочему, необходимо протестовать утилиту для мониторинга системы: текущая нагрузка, потребление электроэнергии, температура и пр.
#5) Тестирование совместимости:
- Этот пункт всегда присутствует в плане по тестированию IoT-системы.
- Совместимость разных версий операционных систем, типов браузеров и их соответствующих версий, устройств разного поколения, режимов связи [например, Bluetooth 2.0, 3.0] крайне важна для IoT.
#6) Пилотное тестирование:
- Пилотное тестирование — обязательный пункт тест-плана.
- Только тесты в лаборатории позволят сделать вывод о том, что система функциональна.
- При пилотном тестировании число пользователей ограничено. Они совершают манипуляции с приложением и высказывают свое мнение.
- Эти комментарии оказываются весьма кстати, позволяют сделать надежное приложение.
#7) Проверка на соответствие:
- Система, которая отслеживает состояние здоровья, проходит множество проверок на соответствие.
- Бывает и так, что программный продукт проходит все этапы тестирования, но проваливает финальный тест на соответствие [тестирование проводит регулирующий орган].
- Целесообразнее проверить на предмет соответствия нормам и стандартам перед стартом цикла разработки.
#8) Тестирование обновлений:
- IoT — это комбинация множества протоколов, устройств, операционных систем, встроенного ПО, аппаратного обеспечения, сетевых уровней и т.д.
- Когда происходит обновление — будь то система или что-то еще из перечисленного выше — требуется тщательное регрессионное тестирование. В общую стратегию вносятся поправки, чтобы избежать сложностей, связанных с обновлением.
Сложности тестирования IoT
#1) Хард/софт
IoT — это архитектура, в которой тесно переплетаются компоненты ПО и аппаратной части. Важен не только софт, но и хард: сенсоры, шлюзы и пр.
Одного лишь функционального тестирования будет недостаточно, чтобы сертифицировать систему. Все составные компоненты взаимозависимы. IoT намного сложнее, чем более простые системы [только софт или только хард].
#2) Модель взаимодействия устройств
Составные части сети должны взаимодействовать в режиме реального времени или близкого к реальному. Все это становится единым целым — отсюда дополнительные сложности, связанные с IoT (безопасность, обратная совместимость и обновления).
#3) Тестирование данных, поступающих в реальном времени
Получить эти данные крайне сложно. Дело усложняется тем, что система, как в описанном случае, может относиться к сфере здравоохранения.
#4) UI
Сеть IoT обычно состоит из разных устройств, которые управляются разными платформами [iOS, Android, Windows, linux]. Тестирование возможно только на некоторых устройствах, поскольку тестировать на всех возможных устройствах практически невозможно.
#5) Доступность сети
Сетевое соединение играет важную роль в IoT. Скорость передачи данных увеличивается. IoT-архитектура должна тестироваться в различных условиях соединения, на разной скорости. Эмуляторы виртуальных сетей в большинстве случаев используются, чтобы разнообразить сетевую нагрузку, возможности соединения, стабильность и пр элементы нагрузочного тестирования. Но фактические данные — это всегда новые сценарии, и команда тестировщиков не знает, где в будущем возникнут сложности.
Инструменты тестирования IoT
Существует множество инструментов, которые применяются в тестировании IoT-систем.
Их классифицируют в зависимости от предназначения:
#1) Софт:
- Wireshark: инструмент с открытым исходным кодом. Используется для мониторинга трафика в интерфейсе, адреса источника/заданного хоста и пр.
- Tcpdump: этот инструмент выполняет похожую работу. У утилиты нет GUI, ее интерфейс — командная строка. Она дает возможность пользователю высвечивать TCP/IP и другие пакеты, которые передаются по сети.
#2) Хард:
- JTAG Dongle: инструмент, аналогичный отладчикам в приложениях для ПК. Позволяет найти дефекты в коде целевой платформы и показывает изменения шаг за шагом.
- Digital Storage Oscilloscope: проверяет различные события с помощью временных отметок, перебои с электропитанием, целостность сигнала.
- Software Defined Radio: эмулирует приемник и передатчик для различных беспроводных шлюзов.
IoT — это развивающийся рынок и множество возможностей. В обозримом будущем интернет вещей станет одним из главных направлений работы для команд тестировщиков. Сетевые устройства, приложения умных гаджетов, коммуникационные модули — все это играет важную роль в изучении и оценке различных сервисов.
Итог
Подход к тестированию IoT может отличаться в зависимости от конкретной системы/архитектуры.
Тестировать IoT сложно, но вместе с тем это интересная работа, благо тестировщикам есть где размахнуться — ведь устройств, протоколов и операционных систем множество.
P.S. Стоит опробовать формат TAAS («тесты с точки зрения пользователя»), а не просто выполнять формальные требования.
Краткий путеводитель по беспроводным технологиям «Интернета вещей».Часть 4. Большой радиус действия
Первая часть статьи вышла в Control Engineering Россия №6’2017
Вторая часть статьи вышла в Control Engineering Россия №1’2018
Третья часть статьи вышла в Control Engineering Россия №2’2018
Понятие «Интернет вещей» обычно соотносится со стандартами, рассмотренными во второй части данной публикации [1] и регламентирующими именно IoT-решения. Однако есть множество приложений, в которых технология «Интернета вещей» требует значительно больших дальности связи и зон покрытия одиночными устройствами. Такие сети с ограниченной мощностью и большим покрытием часто упоминаются под аббревиатурой LPWAN (англ. Low-power Wide-area Network — энергоэффективная сеть дальнего радиуса действия). Области применения этих сетей включают: медицину (мониторинг состояния пациентов амбулаторно и на дому), мониторинг ресурсов (контроль качества воды, добыча нефти и полезных ископаемых), индустрию (мониторинг и контроль на предприятиях, рассредоточенных на больших площадях), сельское хозяйство (здоровье и местонахождение животных, погода, состояние растений и водопользование). Также они используются в системах «умного города» (транспорт, парковка, качество воздуха, учет коммунальных услуг и стоков), при мониторинге зданий и сооружений и т. п. (рис. 1). Кроме того, сети типа LPWAN могут служить точками доступа для сбора и передачи на большие расстояния данных, которые собраны беспроводными датчиками, объединенными в сетевые кластеры.
Рис. 1. Технологии LPWAN хорошо подходят для распределенных приложений, таких как «умный город» (транспорт, парковка, качество воздуха, учет коммунальных услуг и стоков) или медицина (амбулаторный мониторинг состояния пациентов)
Связь на дальние расстояния ранее подразумевала использование достаточно габаритных устройств с относительно высокой потребляемой мощностью, которые редко питались от батарей. Но достижения в области модуляции, разработка и выпуск интегральных схем такой архитектуры, как система на кристалле (англ. System-on-Chip), значительно увеличили диапазон работы устройств с низким энергопотреблением. Кроме того, применение связи на более низких, субгигагерцовых частотах радиочастотного спектра также позволяет использовать специфику распространения радиосигналов, что может быть дополнительным и существенным преимуществом при реализации сетей дальнего радиуса действия.
Однако при более низких частотах эффективные антенны будут физически больше, чем для радиоустройств, работающих в более высокой области частот. Так, если на частоте 2,4 ГГц обычная четвертьволновая антенна имеет длину 31 мм, то на частоте 915 МГц длина той же антенны будет составлять уже около 82 мм. Тем не менее для устройств с большой дальностью связи и низким энергопотреблением более крупные и эффективные антенны (если они приемлемы с конструктивной точки зрения) могут выигрышно увеличить срок службы батареи — за счет уменьшения мощности излучаемого радиосигнала, необходимой для обеспечения требуемого покрытия зоны радиосвязью.
Применение IoT-устройств с большим радиусом покрытия создает возможности для организации сервисов связи на основе подписки, что позволяет избежать проблемы полностью неактивных установок в личных сетях с малой зоной покрытия. Компании с развитой инфраструктурой радиосвязи и большой зоной покрытия, такие как операторы сетей сотовой связи, развертывают сервисы на больших территориях, используя преимущества уже находящихся в их распоряжении сетей. Постепенно эти новые сервисы, не требующие высокой скорости передачи данных, охватывают значительные зоны покрытия, распространяясь не только на регионы, но даже на целые страны.
Некоторым компаниям для организации таких сервисов достаточно просто обновить программное обеспечение для существующих базовых станций LTE (от англ. Long-Term Evolution, буквально — долговременное развитие). LTE — это стандарт беспроводной высокоскоростной передачи данных для мобильных телефонов и других терминалов, работающих с данными. Часто обозначается как 4G LTE. Эти решения, требующие лицензирования по занимаемому спектру частот, предусматривают разные уровни обслуживания и, соответственно, абонентской платы, т. е. подойдут на любой вкус и кошелек. Коммерчески доступное и уже инсталлированное оборудование позволяет также организовать простой выход в Интернет и связь с облаком. LTE является относительно новой технологией, которая подвержена быстрым изменениям, но некоторые решения в этой области уже сейчас доступны разработчикам «Интернета вещей».
Частоты, не требующие лицензирования
LoRa
LoRa (от англ. Long Range) — это достаточно новый метод модуляции и одноименная сетевая технология, продвигаемая открытой некоммерческой организацией LoRa Alliance (консорциум). В альянс входят многие ведущие игроки рынка «Интернета вещей»: IBM, Semtech, Cisco, Inmarsat, Swisscom и др. Технология LoRa имеет несколько иной характер, чем все описанные ранее протоколы беспроводной связи малого радиуса действия, поэтому уделим ей в данном обзоре наибольшее внимание.
Как правило, под LoRa обычно подразумевается тип модуляции, а под LoRaWAN — открытый сетевой протокол LoRa, который не надо напрямую ассоциировать с LPWAN (как уже говорилось ранее, это любая энергоэффективная сеть дальнего радиуса действия). LoRaWAN используется для передачи небольших по объему пакетов данных на дальние расстояния. Такая сеть была разработана специально для распределенных сетей телеметрии, межмашинного взаимодействия, или так называемого М2М (от англ. Machine-to-Machine), и, собственно, «Интернета вещей». Сеть LoRa является одной из наиболее перспективных беспроводных технологий, обеспечивающих среду сбора данных с различного оборудования: датчиков, счетчиков и сенсоров.
В зависимости от региональных распределений, в такой сети используются радиочастоты субгигагерцового диапазона в не требующих лицензирования спектрах частот в диапазонах VHF (30–300 МГц), UHF (300 МГц — 3 ГГц) или 800–930 МГц. Поскольку технология LoRa применяет более низкие радиочастоты, чем стандарты, использующие частоты 2,4 или 5 ГГц, она отличается от них и по радиочастотным характеристикам, при этом сигналы LoRa могут проникать глубоко в здания и в места, недоступные более высокочастотным сигналам.
Модуляция LoRa сильно выделяется на фоне других типов модуляции, представленных в настоящем обзоре, и является настоящим достижением в области радиочастотных технологий. Большинство стандартов ближнего радиуса действия, как было сказано ранее, использует ту или иную разновидность модуляций FSK, OFDM, FHSS или DSSS с расширением спектра. LoRa — это набор методов модуляции, запатентованных компанией Semtech, с расширением спектра посредством линейной частотной модуляции — Chirp Spread Spectrum (CSS). В целом суть этого подхода заключается в перестройке несущей частоты по линейному закону [2].
Благодаря такой перестройке сигнал становится устойчивым к эффекту Допплера (для мобильных пользователей) и многолучевому замиранию в отражающей радиочастотной среде, а также получает высокий уровень помехоустойчивости. Кроме того, при таком методе расширения спектра низкие битовые скорости (до 300 бит/с) могут избежать влияния источников узкополосных помех, таких как FSK-сигналы, и успешно восстановиться на приемном конце. Это может дать линии связи LoRa преимущество в 15 дБ по сравнению с узкополосным FSK-сигналом при использовании радиочастотных сигналов одинаковой мощности. Что касается шумов, то LoRa может прекрасно и без проблем работать ниже уровня окружающего радиочастотного шума и на 20 дБ или даже еще ниже по отношению к узкополосным источникам помех — из-за усиления, присущего этому виду модуляции с расширенным спектром.
Также технология LoRa позволяет использовать различные комбинации скорости передачи данных и модуляции. Они могут быть выбраны исходя из разных соображений: например, для увеличения скорости передачи данных (до 40 Кбит/с) с меньшим диапазоном покрытия, когда именно скорость передачи является критическим фактором, или для достижения большей дальности связи с низкой радиочастотной мощностью в зашумленных средах. Дело в том, что при снижении скорости передачи данных на один бит приходится больше энергии и его легче распознать на приемном конце — следовательно, при одной и той же потребляемой мощности и чувствительности приемника дальность связи увеличивается. Интересно, что коэффициенты расширения спектра LoRa, называемые SF (от англ. Spreading Factor), при передаче данных могут быть активны в одном канале, не мешая при этом друг другу. Поскольку сигнал CSS проще декодировать, чем сигналы с другими технологиями расширения спектра, то это можно сделать и с меньшей вычислительной мощностью. Что, в свою очередь, приводит к увеличению времени автономной работы устройств «Интернета вещей», несмотря на более сложное решение в части модуляции.
Технология LoRa фокусируется прежде всего на физических (PHY) уровнях (рис. 2), т. е. нижних в структуре сети от LoRa Alliance. А для более высоких уровней сети консорциум определяет спецификации, которые зависят от региона. Данные передаются по радиоканалам LoRa на шлюзы (также называемые концентраторами), узлы ячеек: к ним подключаются конечные точки, через которые устройства IoT подключаются к Интернету и облачным или прикладным серверам. Консорциум LoRa также определяет требующееся тестирование и сертификацию, чтобы предусмотреть совместимость различных устройств LoRa в сети. Для обеспечения безопасности сети и данных в технологии LoRa предназначены защищенные ключи связи — как на уровне сети, так и на уровне приложений, что становится необходимым условием, когда радиосигналы распространяются в большой зоне покрытия [4].
Рис. 2. Организации сети LoRaWAN: датчики сначала подключаются к клиенту LoRa и затем через шлюз LoRa передаются на следующий уровень
Сеть LoRa может быть развернута либо как отдельная сетевая архитектура, либо как связанная сеть в тех районах земного шара, где имеются операторы сети общего пользования, которые за плату обеспечивают возможность устройств LoRa подключаться через шлюзы для передачи данных в облако. Сеть на основе технологии LoRa впервые была развернута в Европе, но она успешно распространяется и на другие регионы. Помимо компании Semtech, микросхемы LoRа в виде систем на кристалле производят ST Micro и Microchip, что дает разработчикам определенную гибкость в реализации проектов на базе технологии LoRа.
Однако нельзя забывать, что при применении рассматриваемой технологии, даже если используется не требующий лицензирования спектр частот, необходимы сертификация устройств (например, на соответствие нормам, установленным FCC Part 15.247) и подтверждение того, что конкретное устройство действительно соответствует спецификации LoRa. Для сертификации обычно требуются испытания на мощность передатчика, девиацию частоты, занимаемую полосу пропускания, гармоники и спектральную плотность мощности [5]. Сертификацию LoRa и предварительное тестирование уже обеспечивает целый ряд авторизированных испытательных лабораторий.
Несмотря на то, что LoRa — это довольно новый стандарт для разработчиков, им доступны и микросхемы, и готовые модули, и различные тестовые инструменты (рис. 3).
Рис. 3. Комплект SX1276 / SX1278 для разработчиков устройств на основе технологии LoRa от компании Semtech: доступен для частот 433, 868 и 915 МГц
SigFox
SigFox — это еще одна недавняя разработка в области технологии LPWAN и одноименный сервис подключения. В некотором роде она похожа на LoRa, но использует иной способ достижения аналогичных целей. Технология SigFox была разработана и запатентована в 2009 г. небольшой французской компанией (всего 80 человек персонала) с одноименным названием, которая в области LPWAN сотрудничает с рядом крупных игроков рынка, таких как Texas Instruments, Silicon Labs и ON Semiconductor. По сути, SigFox является проприетарным протоколом беспроводной сетевой связи для IoT-устройств, работающих в диапазонах до 1 ГГц, и предоставляет сеть сотовых шлюзов, которые обеспечивают подключение к Интернету и к облаку. Таким образом, это в целом похоже на коммерческие сети LoRa, но не нацелено на частные сети, где компания устанавливает и сама же поддерживает всю инфраструктуру сети.
SigFox — это односкачковая радиальная, или, как ее еще называют, звездообразная сеть со шлюзами, которые служат контроллерами этой сети. Подобно LoRa, SigFox имеет большой диапазон покрытия и ей свойственно низкое энергопотребление. Но если рассматривать SigFox как радиоканал для передачи данных, то она радикально отличается от LoRa. Для передачи данных SigFox использует сверхузкую полосу частот, так называемую Ultra Narrowband (UNB), с очень низкой скоростью передачи данных. Протокол SigFox очень прост. Он не требует квитирования (обмена сигналами для установления связи, т. е. процедуры представления или взаимного опознавания партнеров по связи при установлении соединения) и передает пакеты всего по 12 байт (плюс дополнительные данные, такие как идентификатор радиосвязи и время). Как уже было сказано, передача ведется в очень узкой полосе частот, при этом используется D-BPSK-модуляция (дифференциальная двоичная фазовая манипуляция) со скоростью 100 или 600 бит/с. Да, именно — 100 бит/с с шестисекундными циклами передачи. Однако такая низкая скорость и узкий частотный спектр позволяют экономить энергию батарей и обеспечивают большой радиус покрытия.
Из-за узкой полосы пропускания приемники могут иметь очень низкий уровень собственного шума, т. е. высокую чувствительность, достигающую порядка –140 дБм, и бюджеты линий связи около –160 дБ при использовании антенн с усилением. Это означает, что при применении технологии SigFox без кодирования для «Интернета вещей», т. е. с помощью процессоров с небольшой вычислительной мощностью, при низкой мощности передатчика (14 дБм), низких скоростях передачи данных, коротких и нечастых, не более 140 сообщений в день, можно достичь большей зоны покрытия и более продолжительного времени автономной работы узла сети. Благодаря всем этим характеристикам SigFox может быть самым эффективным решением из всех приведенных в этом обзоре технологий построения LPWAN. Сети SigFox применительно к «Интернету вещей» начали свое развитие во Франции, но уже используются в нескольких европейских странах с постоянным расширением сети и на момент написания обзора охватывают 32 страны.
Частоты, требующие лицензирования
Любые существующие беспроводные технологии передачи данных обладают такими характеристиками, как дальность, скорость и энергоэффективность, причем одновременно поддерживать на высоком уровне могут лишь две из них. В рамках интересующей нас темы «Интернета вещей» наибольшую значимость, как правило, имеют дальность и энергоэффективность. Одним из соответствующих для этого решений является использование технологии LTE.
Рассматривая технологию LTE, мы остановимся на применении для нужд IoT требующего лицензирования спектра частот: он относится к сетям сотовой связи и операторы приобретают разрешение на доступ и его использование в рамках предоставления беспроводной телефонии, а также голосовых и информационных сервисов. Голосовые вызовы и данные по таким сетям передают смартфоны, которыми нас уже не удивишь. Эти «умные» телефоны способны к высокоскоростной передаче данных, но не отличаются длительным временем автономной работы, что требует почти ежедневной зарядки их батарей.
LTE-сети сотовой связи предлагают новые сервисы и низкоскоростные режимы передачи данных. Учитывая, что сотовые сети распространены практически повсеместно, такой подход позволяет устройствам с низким энергопотреблением передавать по ним данные, имея при этом большой диапазон покрытия и длительный срок службы батареи. Однако, как уже было сказано, экономия батарей означает и более низкую скорость передачи данных. Основными предложениями в рамках LTE для разработчиков «Интернета вещей» являются относительно медленный стандарт NB-IoT и более быстрый Cat-M1, что дает известную гибкость в принятии решений.
NB-IoT
NB-IoT (Narrow-Band Internet of Things) — это совсем недавнее дополнение к технологии беспроводного Интернета, которое представляет собой стандарт сотовой связи для устройств телеметрии с малыми объемами передачи данных. Он был создан в рамках работы над стандартами сотовых сетей нового поколения основанным в 1998 г. консорциумом 3GPP (англ. 3rd Generation Partnership Project). Технология NB-IoT является частью инициативы мобильного «Интернета вещей» (Mobile IoT) компании GSMA, направленной на то, чтобы предоставить пользователям недорогие линии связи с низким энергопотреблением для IoT-сетей с применением стандартов сотовой связи. Сегодня эта инициатива, хотя она все еще находится в стадии становления, уже подает большие надежды [6].
Технология NB-IoT, как уже было сказано, имеет низкую скорость передачи данных, но большое покрытие — благодаря использованию возможностей LTE-сетей. Поскольку в данном случае применяется требующий лицензирования спектр частот, за доступ к которому операторы сотовой связи платят миллиарды долларов, то они, естественно, будут взимать плату и за использование их каналов для передачи данных. Кроме того, они будут настаивать еще и на строгом тестировании неспецифической для них аппаратуры на соответствие требованиям стандартов и необходимой сертификации. Что, правда, также подразумевает и гарантию высокой надежности. Технология NB-IoT предлагает покрытие буквально в национальном масштабе. Этого можно достичь благодаря не только использованию уже существующей инфраструктуры сотовой сети, но и особенностям узкополосного радиочастотного сигнала. Так что в результате охват будет даже больше, чем в случае сотовой телефонии [9]. NB-IoT предусматривает скорость передачи данных от 20 до 250 Кбит/с — в зависимости от того, какие ресурсы LTE-сети используются.
Операторы некоторых сотовых сетей могут добавлять в них NB-IoT, всего лишь обновляя программное обеспечение для своего оборудования, поэтому данная технология будет развертываться достаточно быстро. Поскольку это лишь расширение уже существующих стандартов, то испытательное оборудование и программное обеспечение для проверки соответствия NB-IoT их требованиям уже доступны. Имеются и инструменты для моделирования и проверки решения [7]. Кроме того, разработчикам устройств этой технологии уже доступны готовые модули, которые обеспечивают должное функционирование конечного оборудования в сотовых сетях.
Cat-M1
Cat-M1 — еще одна новая технология беспроводной связи, разработав которую, компания Gemalto в партнерстве с Sequans Communications совершили революцию в сфере подключения к «Интернету вещей» по технологии LTE [8]. Как и в случае с NB-IoT, здесь также используется требующий лицензирования спектр частот LTE-сети сотовой связи. В полудуплексном режиме технология Cat-M1 обеспечивает скорость передачи данных до 1 Мбит/с. Поскольку используется сотовая сеть, то будет применяться подписка под соответствующие скорости передачи данных, но Cat-M1 предусматривает более высокую скорость передачи данных, чем устройства NB-IoT. Некоторые приложения, которые нуждаются в такой скорости и охвате на уровне существующей сотовой инфраструктуры, найдут в технологии Cat-M1 оптимальное решение. Первое объявление об общенациональной доступности Cat-M1 появилось в США в марте 2017 г.
Гибридные сети
Рис. 4. Модуль RM1xxот компании Laird, включающий коммуникационные возможности для протоколов беспроводных сетей LoRa и Bluetooth
Гибридные сети объединяют протоколы сетей ближнего и дальнего (LPWAN) радиуса действия в общую сеть. Локальные кластеры IoT-устройств переносят данные на центральный узел с использованием, например, технологий Bluetooth или ZigBee, где они агрегируются и передаются для дальнейшей ретрансляции в сети с большим диапазоном покрытия, такие как LoRa или Cat-M1 (рис. 4). Это практическая модель организации сетей сбора данных о предоставленных коммунальных услугах, таких как водо- и газоснабжение, учет электроэнергии и т. п. Она используется для сбора данных со счетчиков в виде IoT-устройств, применяющих технологии беспроводной связи ближнего радиуса действия, объединенные в кластеры и ячеистые (mesh) сети, а затем периодически отправляющих результаты в облако с помощью беспроводных или проводных сетей дальнего радиуса действия. Этот подход дает возможность использовать множество недорогих и потребляющих мало энергии устройств. Применение таких гибридных решений позволяет организовать не только сбор «больших данных» для анализа, но и их мониторинг в реальном времени. Благодаря этому можно, например, повысить качество предоставления коммунальных услуг в рамках «умных городов», а также получить эффективную технологию для сельскохозяйственных и промышленных предприятий.
Рассмотрим комбинацию технологий ZigBee и Cat-M1 в гибридной сети для мониторинга и выставления счетов за коммунальные услуги. В данном случае ZigBee может служить низшим физическим слоем, связывая несколько десятков недорогих и близко расположенных счетчиков воды с надежной ячеистой сетью. Эта сеть передает данные в агрегатор на Cat-M1, который, в свою очередь, периодически подключается к сотовой сети для отправки отчетов о потребленной воде и стоках. Скорости передачи данных в такой комбинированной системе будут низкими (возможно, только один отчет в день на каждый счетчик), хотя в чрезвычайных или исключительных ситуациях, если счетчики являются интеллектуальными и могут изменять режим работы по команде, обновления данных будут доступны почти мгновенно. Низкоуровневая ячеистая сеть на основе технологии ZigBee достаточно надежна и способна поддерживать связь с более удаленными счетчиками в случае отказа узла, что достигается путем динамической реконфигурации сети. Соединение Cat-M1 обладает надежностью на уровне сотовой сети, а любое вмешательство и возможная потеря данных могут быть быстро устранены благодаря тщательно контролируемому интерфейсу сотовой системы, применяемой в рамках «Интернета вещей».
Возьмем другой пример, чтобы показать возможности использования гибридной IoT-сети в рамках сельскохозяйственного предприятия, а именно в составе контрольно-измерительного оборудования для системы орошения. В качестве датчиков расхода воды на насосах, трубах и поливочных приспособлениях, а также как датчики движения и деформации несущих конструкций могут применяться устройства с Bluetooth или ZigBee. Предположим, что они питаются за счет сбора свободной энергии (energy harvesting) — например, используя энергию воды, циркулирующей в системе полива. IoT-устройства сообщают текущие данные об условиях функционирования в сеть дальнего радиуса действия и далее в интегрированное программное обеспечение управления фермой в облаке. Таким образом, контроль и управление подачей воды для орошения осуществляются на основе стоимости энергии, текущих и прогнозируемых погодных условий с учетом влажности почвы и т. д. Фермер, где бы он ни находился, может получать отчеты на смартфон и точно знать, когда система полива не работает, или — в том случае, если цена на электроэнергию меняется, — определять другие условия выращивания сельскохозяйственных культур с использованием текущих данных.
«СТРИЖ»
Разработчикам беспроводных решений для IoT-сетей сейчас доступны не только международнопризнанные протоколы и перечисленные выше технологии. Названные сети имеют ряд ответвлений и продолжают развиваться. Кроме того, появляются и национальные решения. Так, например, в России была разработана система передачи данных с точек учета под названием «СТРИЖ».
«СТРИЖ» — это платформа для сбора данных на базе беспроводных LPWAN. Используя новый энергоэффективный протокол радиосвязи, она позволяет устройствам передавать информацию на десятки километров и при этом работать в течение нескольких лет на одной батарее. «СТРИЖ» позиционируется как технология передачи небольшого объема данных — до 20 байт с малой частотой обновления. Однако она, несомненно, представляет определенный интерес. По мнению разработчиков системы, данная технология позволяет создать сеть, в которой одна базовая станция собирает данные в радиусе 50 км с сотен тысяч разнотипных автономных датчиков (рис. 5) [11]. Но, поскольку «СТРИЖ» требует собственной инфраструктуры, включая базовые станции, он вряд ли будет дешевле технологий на базе существующих сетей LTE, хотя стоимость оборудования для точки измерения может быть и ниже.
Рис. 5. Организация сети «СТРИЖ»
Выбор беспроводной технологии для проекта
Этот обзор не будет полным без упоминания о том, что должен сделать разработчик для внедрения своего IoT-устройства с использованием пользовательского протокола на любом требующем или не требующем лицензирования участке спектра частот. Такие продукты присутствуют на рынке уже много лет, и некоторые появились еще до того, как «Интернет вещей» из концепции превратился в практически реализуемую технологию и его стали применять в области медицины, для мониторинга зданий и сооружений и в целом ряде других приложений. Что касается возможностей для организации каналов передачи данных, то современным разработчикам доступен широкий выбор. Если говорить о беспроводных технологиях IoT, которые являются темой данной серии статей, то, например, в США имеется много отличающихся от обычных и не требующих лицензирования частот в диапазонах 915 МГц, 2,4 ГГц и 5,7 ГГц. Поэтому в рамках нормативных требований FCC CFR 47 Part 15, т. е. для использования с ограниченным регулированием в части характеристик сигнала, доступны десятки диапазонов. При этом выделены определенные полосы для медицинских устройств «Интернета вещей» конкретного назначения.
В зависимости от целевого рынка и необходимого спектра частот разработчик может выбрать нужные типы модуляции и беспроводные протоколы для удовлетворения тех или иных ключевых требований к своим IoT-устройствам. При этом сейчас доступны широкие возможности для изготовления устройств под особые требования заказчиков, но в этом случае предусмотрено меньше стандартных рецептов, поэтому проверка и тестирование конечных продуктов будут выполняться с использованием более универсального тестового оборудования и программного обеспечения. Углубление в эти вопросы, нужное более опытным разработчикам, — это уже тема для отдельной статьи.
Заключение
Независимо от того, ближнего или большого радиуса действия устройство, работает ли оно в лицензированном или не требующем лицензирования диапазоне частот, «Интернет вещей» определенно станет важной частью нашей жизни уже в течение ближайшего десятилетия. Это связано с тем, что он открывает много новых возможностей, которые обеспечиваются именно благодаря недорогому беспроводному подключению. Используя свой потенциал, «Интернет вещей» может не только улучшить качество жизни людей и повысить эффективность производства и производительность труда, но и спасти много жизней. Разработчики оборудования и устройств в этом направлении техники и технологий находят все новые и новые творческие приложения для недорогих автоматизированных коммуникаций. Поэтому им важно знать о доступных на настоящий момент беспроводных технологиях «Интернета вещей». Это поможет не только разрабатывать и тестировать новые устройства, но и быстро выводить их на рынок, причем с гарантией надежной работы и совместимости функционирования с другим оборудованием.
Несомненно, конкуренция между технологиями и производителями может сыграть на руку как разработчикам, так и пользователям интеллектуального, или смарт-оборудования, в том числе подключенного к IoT. Однако при этом не стоит забывать, что сиюминутная выгода от невзвешенного предпочтения одной из технологий может создать много проблем в будущем. Недаром английское слово smart означает не только «умный, интеллектуальный», но и то, что может вызвать жгучую боль.
Как было сказано в первой части этой серии статей, в путеводителе не ставилась задача объять необъятное — читателям была дана только общая информация по доступным решениям беспроводной связи для «Интернета вещей». Для получения более детальных сведений следует обращаться к действующим на текущий момент международным версиям соответствующих официальных стандартов и протоколов, обязательно учитывая наложенные на них национальные ограничения.
Вконтакте
Google+