Поделиться через


Модули 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, которое раз в час собирает данные из сети датчиков и отправляет эти данные в облако— операция, которая может занять минуту или две. В этом случае большая часть энергии, потребляемой устройством, тратится впустую.

Вы можете значительно уменьшить энергопотребление и тем самым увеличить время работы батареи, поместив устройство в состояние выключения питания, когда оно неактивно, или задав профиль питания. Дополнительные сведения см. в разделах Управление состоянием выключенияпитания и Настройка профилей питания .