Модули Guardian
Модуль защиты — это дополнительное оборудование, которое включает микросхему Azure Sphere и физически подключается к порту на устройстве с "коричневым полем", то есть к существующему устройству, которое уже может использоваться.
С помощью модуля-хранителя вы можете добавить безопасные возможности Интернета вещей к оборудованию, которое либо не поддерживает подключение к Интернету, либо не поддерживает его безопасно. Короче говоря, модуль-хранитель предоставляет способ реализации безопасного подключения на существующих устройствах, не предоставляя эти устройства в Интернет. Так как это устройство Azure Sphere, доступны все функции безопасности и подключения Azure Sphere: все данные шифруются, обновления ОС и приложений доставляются безопасно, а проверка подлинности гарантирует, что модуль взаимодействует только с доверенными узлами.
Вот как работает модуль-хранитель:
Модуль-хранитель подключается к устройству brownfield, как описано в разделе Подключение этого раздела. Само устройство с коричневым полем не подключено к сети.
ОС Azure Sphere работает в модуле guardian, а также пользовательское высокоуровневое приложение и любые другие приложения Azure Sphere , необходимые для сценария.
Модуль защиты использует службу безопасности Azure Sphere для проверки подлинности на основе сертификатов, создания отчетов о сбоях и обновлений программного обеспечения по беспроводной сети.
Устройство brownfield взаимодействует с модулем защиты, который может реагировать, выполнив локальное действие или сообщая об облачном присутствии, например Azure IoT Central.
Вы можете приобрести модули защиты у поставщика и дополнительно настроить их в соответствии с вашим сценарием использования или разработать собственный модуль защиты, возможно, работая с партнером по оборудованию. Сведения о поставщиках оборудования см. на веб-сайте Azure Sphere .
Использование модуля защиты
Модуль-хранитель может выполнять все, что может делать любое другое устройство Azure Sphere, а также выступать в качестве безопасного интерфейса между существующим оборудованием и внешней сетью. Возможные варианты использования модуля-хранителя:
- Сбор данных с устройства brownfield, обработка данных и безопасная передача данных в облачную конечную точку
- Отправка данных в несколько конечных точек при условии, что она может проверить подлинность каждой конечной точки
- Сбор дополнительных данных, недоступных с устройства brownfield; Например, датчики в модуле защиты могут предоставлять данные об окружающей среде для использования с операционными данными с устройства brownfield.
- Сохранение данных с устройства brownfield в случае потери подключения
Репозиторий примеров Azure Sphere содержит два примера, демонстрирующих использование устройства Azure Sphere в качестве модуля защиты:
- Устройство в облако показывает, как можно использовать устройство Azure Sphere для сбора данных, обеспечивая безопасный доступ к Интернету для устройства с коричневым полем, подключенного к нему через последовательный интерфейс.
- Службы частной сети показывают, как устройство Azure Sphere может обеспечить безопасный доступ к Интернету для устройства brownfield, подключенного к нему через интерфейс TCP/IP.
Подключения
Существует несколько поддерживаемых механизмов подключения между модулем защиты и сетью, а также между модулем защиты и устройством brownfield. Общие сведения о решениях подключения Azure Sphere см. в разделах Общие сведения о подключении и Требования к сети.
Высокоуровневое приложение модуля-хранителя взаимодействует вышестоящий с сетью, в том числе службой безопасности Azure Sphere и другими облачными службами, а ниже — с устройством brownfield:
Для вышестоящий подключений между модулем защиты и сетью можно использовать Ethernet, Wi-Fi или сотовая связь.
Для подчиненных подключений между модулем защиты и оборудованием brownfield можно использовать следующее:
- Любой последовательный интерфейс, например UART, RS-485 или SPI, предоставляемый устройством brownfield
- Частный Ethernet, который не предоставляет устройство brownfield для общедоступной сети
- Беспроводная связь, например Bluetooth или ZigBee
Разработка и развертывание приложений
Разработка и развертывание приложения для модуля защиты ничем не отличается от разработки и развертывания приложения для любого другого устройства Azure Sphere. Дополнительные сведения см. в статье Обзор приложений Azure Sphere и основы развертывания . Как и в случае с любым устройством Azure Sphere, модуль-хранитель должен иметь по крайней мере одно высокоуровневое приложение Azure Sphere, а также может иметь приложения с поддержкой реального времени.
Вам потребуется доступ к службе UART, которая представляет собой интерфейс main программирования и отладки между MT3620 и средой разработки, работающей на главном компьютере. Если вы разрабатываете собственный модуль защиты, необходимо убедиться, что сигналы UART службы предоставляются и что вы поддерживаете способ взаимодействия со службой UART либо в самом модуле защиты, либо на отдельном оборудовании. Если вы приобретаете модули у поставщика, поставщик должен предоставить решение, которое включает это подключение.
Если ваш поставщик или другое стороннее лицо создаст приложение, может потребоваться предоставить доступ к каталогу Azure Sphere, чтобы разработчик приложения мог загрузить и протестировать приложение и создать развертывание.
Высокоуровневые приложения
Высокоуровневое приложение модуля защиты должно быть специально написано для устройств с коричневыми полями каждой организации. Если поставщик хранимого модуля предоставляет приложение, убедитесь, что вы получите исходный код и библиотеки высокоуровневого приложения, чтобы при необходимости можно было изменить или обновить приложение.
Как и в случае с любым приложением устройства Azure Sphere, в манифесте приложения должны быть указаны сведения о конкретном устройстве и приложении. Например, подключения модуля-хранителя — это сведения, относящиеся к устройству, которые должны быть включены в манифест.
Высокоуровневое приложение, которое выполняется в модуле guardian, отвечает за следующее:
- Установка и поддержание связи с оборудованием brownfield
- Установка и поддержка подключения к Интернету, включая службу безопасности Azure Sphere и другие облачные службы
- Обработка данных, полученных от устройства brownfield: распаковка и хранение данных, если это необходимо, и обмен данными с узлами Интернета по мере необходимости
- Обработка данных, полученных от узла Интернета: распаковка и хранение данных, если это необходимо, и обмен данными с оборудованием brownfield соответствующим образом
Данные, отправляемые вышестоящий, могут включать отчеты об ошибках, операционные параметры или общую телеметрию. Azure Sphere обеспечивает шифрование всех таких данных. Приложение может подключаться к веб-службам и использовать взаимную проверку подлинности для таких подключений.
Передаваемые ниже данные могут включать в себя обновленное программное обеспечение или изменения параметров или параметров для устройства с коричневым полем. Чтобы избежать потенциальных нарушений безопасности, приложение должно проверить входящие данные перед их передачей на устройство brownfield.
Рекомендации по приложениям
При создании приложения следует учитывать доступные периферийные устройства, требования к хранилищу и энергопотребление.
Периферийные устройства
Как и другие устройства Azure Sphere, модули защиты отличаются периферийными устройствами, которые они предоставляют. Выберите модуль защиты, который предоставляет возможности подключения и распознавания, необходимые для вашего сценария.
В зависимости от аппаратной архитектуры модуля-хранителя, то есть от того, как он предоставляет возможности микросхемы Azure Sphere, можно определить, должно ли программное обеспечение для доступа к отдельным функциям реализовываться как высокоуровневое приложение или приложение, поддерживающее режим реального времени.
Требования к хранилищу
Azure Sphere имеет ограниченное хранилище, поэтому тщательно продумайте, сколько памяти требуется для приложений и данных. Дополнительные сведения см. в разделе Доступная память .
При отправке данных из облака на устройство brownfield убедитесь, что модуль-хранитель имеет достаточно места для хранения данных. Возможно, вам потребуется отправлять данные блоками, как показано в примере HTTPS_Curl_Multi в репозитории примеров Azure Sphere GitHub.
При отправке данных вышестоящий с устройства brownfield в модуль защиты убедитесь, что приложение может обрабатывать сбои подключения вышестоящий. Если устройство brownfield предоставляет текущую телеметрию, необходимо определить, какие данные и сколько из них сохранить, а затем отправить в облако при восстановлении подключения. См. пример коллекции store-and-forward, в котором показано, как использовать локальное хранилище для временного кэширования данных перед их отправкой.
Энергопотребление
Существует множество приложений, в которых модуль защиты неактивен большую часть времени. Например, рассмотрим устройство Azure Sphere, которое раз в час собирает данные из сети датчиков и отправляет эти данные в облако— операция, которая может занять минуту или две. В этом случае большая часть энергии, потребляемой устройством, тратится впустую.
Вы можете значительно уменьшить энергопотребление и тем самым увеличить время работы батареи, поместив устройство в состояние выключения питания, когда оно неактивно, или задав профиль питания. Дополнительные сведения см. в разделах Управление состоянием выключенияпитания и Настройка профилей питания .