Диспетчер безопасности Azure IoT Edge

Область применения:IoT Edge 1.4 checkmark IoT Edge 1.4

Важно!

IoT Edge 1.4 является поддерживаемым выпуском. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

Диспетчер безопасности Azure IoT Edge — это хорошо ограниченное ядро обеспечения ​​безопасности для защиты устройства IoT Edge и всех его компонентов путем абстрагирования защищенного кремниевого оборудования. Диспетчер безопасности является основным средством усиления безопасности и обеспечивает интеграцию технологий с изготовителями оборудования (поставщиками вычислительной техники).

Диспетчер безопасности абстрагирует безопасное оборудование кремния на устройстве IoT Edge и предоставляет платформу расширяемости для дополнительных служб безопасности.

Диспетчер безопасности IoT Edge направлен на защиту целостности устройства IoT Edge и всех встроенных программных операций. Диспетчер безопасности передает базовый корень доверия оборудования (если доступно), чтобы выполнить начальную загрузку среды выполнения IoT Edge и следить за выполняемыми операциями. По сути, диспетчер безопасности IoT Edge — это программное обеспечение, работающее вместе с безопасным оборудованием с микросхемами (где это доступно) и позволяющее обеспечить максимально возможные гарантии безопасности.

Кроме того, диспетчер безопасности IoT Edge предоставляет безопасную платформу для расширений служб безопасности через модули уровня узла. К этим службам относятся мониторинг безопасности и обновления, требующие агентов на устройстве с привилегированным доступом к некоторым компонентам устройства. Платформа расширяемости гарантирует, что такие интеграции постоянно поддерживают общую системную безопасность.

В задачи диспетчера безопасности IoT Edge входят (это не исчерпывающий список):

  • Начальная загрузка устройства Azure IoT Edge.
  • Управление доступом к аппаратному корню доверия устройства через нотарионные службы.
  • Мониторинг целостности операций IoT Edge во время выполнения.
  • Подготовьте удостоверение устройства и управляйте переходом доверия, если это применимо.
  • Обеспечение безопасной работы агентов клиента для служб, включая обновление устройств для Центр Интернета вещей и Microsoft Defender для Интернета вещей.

Диспетчер безопасности IoT Edge состоит из трех компонентов:

  • Среда выполнения модуля IoT Edge
  • Абстракции аппаратного модуля безопасности (HSM) через стандартные реализации, такие как PKCS#11 и доверенный платформенный модуль (TPM)
  • Аппаратный корень доверия или HSM (необязательно, но настоятельно рекомендуется)

Изменения в версии 1.2 и более поздних версиях

В версиях 1.0 и 1.1 IoT Edge компонент, называемый управляющей программой безопасности, отвечал за логические операции безопасности диспетчера безопасности. В обновлении до версии 1.2 несколько ключевых обязанностей были делегированы подсистеме безопасности службы идентификации Azure IoT. После удаления этих задач на основе безопасности из управляющей программы безопасности его имя больше не имеет смысла. Чтобы лучше отразить работу этого компонента в версии 1.2 и более поздних версий, мы переименовали его в среду выполнения модуля.

Среда выполнения модуля IoT Edge

Среда выполнения модуля IoT Edge делегирует доверие из подсистемы безопасности службы удостоверений Интернета вещей Azure для защиты среды выполнения контейнера IoT Edge. Одна из служб, делегированная службе удостоверений Интернета вещей Azure, — это автоматическая служба регистрации сертификатов и продления с помощью сервера EST. Чтобы узнать, как это работает и создать пример сервера EST, сделанного для устройства IoT Edge, попробуйте настроить регистрацию по безопасному транспортному серверу для Azure IoT Edge .

Среда выполнения модуля отвечает за логические операции безопасности диспетчера безопасности. Она представляет значительную часть доверенной вычислительной базы устройства IoT Edge. Среда выполнения модуля использует службы безопасности из службы удостоверений Интернета вещей, которая, в свою очередь, затвердена выбором аппаратного модуля безопасности устройства (HSM). Настоятельно рекомендуется использовать HSM для защиты устройств.

Принципы дизайна

IoT Edge следует двум основным принципам: максимальной целостности операций и минимизации больших двоичных объектов и оттока.

Максимальное увеличение операционной целостности

Среда выполнения модуля IoT Edge работает с максимальной целостностью, возможной в рамках защиты любого заданного корневого оборудования доверия. При правильной интеграции корень доверия оборудования проверяет и отслеживает управляющую программу безопасности в статическом состоянии и во время выполнения, чтобы противостоять незаконному изменению.

Вредоносный физический доступ к устройствам всегда является угрозой в IoT. Корневой каталог доверия оборудования играет важную роль в защите целостности устройства IoT Edge. Корень доверия оборудования представлен в двух вариантах:

  • Элементы обеспечения безопасности конфиденциальных данных, таких как секреты и криптографические ключи.
  • Безопасные анклавы для защиты секретов, таких как ключи, и конфиденциальные рабочие нагрузки, такие как конфиденциальные модели машинного обучения и операции измерения.

Есть два типа сред выполнения для использования корня доверия оборудования:

  • стандартная или расширенная среда выполнения (REE), которая использует безопасные элементы для защиты конфиденциальной информации;
  • доверенная среда выполнения (TEE), которая использует безопасные внутренние зоны для защиты конфиденциальной информации и обеспечения защиты выполнения программного обеспечения.

Для устройств, использующих безопасные анклава в качестве аппаратного корня доверия, конфиденциальная логика в среде выполнения модуля IoT Edge должна находиться в анклавах. Нечувствительные части среды выполнения модуля могут находиться за пределами TEE. Во всех случаях настоятельно рекомендуется, чтобы исходные производители проектов (ODM) и оригинальные производители оборудования (OEM) распространяли доверие от HSM, чтобы измерять и защищать целостность среды выполнения модуля IoT Edge при загрузке и среде выполнения.

Минимизация раздувания и обновления

Еще одним основным принципом среды выполнения модуля IoT Edge является минимизация оттока. Для самого высокого уровня доверия среда выполнения модуля IoT Edge может тесно сочетаться с аппаратным корнем доверия устройства и работать в качестве машинного кода. В таких случаях обычно обновляется программное обеспечение IoT Edge с помощью аппаратного корня путей безопасного обновления доверия, а не механизмов обновления операционной системы, которые могут быть сложными. Продление безопасности рекомендуется для устройств Интернета вещей, но чрезмерные требования к обновлению или большие полезные данные обновления могут расширить область угроз во многих отношениях. Например, вам может потребоваться пропустить некоторые обновления, чтобы максимально повысить доступность устройств. Таким образом, проектирование среды выполнения модуля IoT Edge является кратким, чтобы обеспечить небольшой объем надежной вычислительной базы для поощрения частых обновлений.

Архитектура

Среда выполнения модуля IoT Edge использует любой доступный аппаратный корень доверия для обеспечения безопасности. Она также поддерживает раздельные операции между стандартной или расширенной средой выполнения и доверенной средой выполнения (TEE), если аппаратные технологии предлагают среды TEE. Специфические для конкретной роли интерфейсы задействуют основные компоненты IoT Edge для обеспечения целостности устройства IoT Edge и его операций.

Azure IoT Edge module runtime architecture

Облачный интерфейс

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

API управления

API управления вызывается агентом IoT Edge при создании или запуске, остановке и удалении модуля IoT Edge. Среда выполнения модуля сохраняет "регистрации" для всех активных модулей. Эти регистрации сопоставляют удостоверение модуля с некоторыми свойствами модуля. Например, эти свойства модуля включают идентификатор процесса (pid) процесса, выполняемого в контейнере, и хэш содержимого контейнера Docker.

Эти свойства использует интерфейс API рабочей нагрузки (описанный ниже) для проверки того, что вызывающий агент уполномочен выполнять действия.

API управления — это привилегированный API, вызываемый только из агента IoT Edge. Так как среда выполнения модуля IoT Edge загружается и запускает агент IoT Edge, он проверяет, что агент IoT Edge не был изменен, а затем может создать неявную регистрацию для агента IoT Edge. Тот же процесс аттестации, который применяет API рабочей нагрузки, используется для предоставления доступа к API управления только для агента IoT Edge.

API контейнера

API контейнера взаимодействует с системой контейнеров, используемой для управления модулями, например Moby или Docker.

API рабочей нагрузки

Интерфейс API рабочей нагрузки доступен для всех модулей. Он предоставляет подтверждение подлинности в форме подписанного токена с корнем HSM или в форме сертификата X509 и соответствующего пакета доверия модулю. Пакет доверия содержит сертификаты ЦС для всех других серверов, которым должны доверять модули.

Среда выполнения модуля IoT Edge использует процесс аттестации для защиты этого API. Когда модуль вызывает этот API, среда выполнения модуля пытается найти регистрацию для удостоверения. В случае обнаружения она использует свойства регистрации для измерения модуля. Если результат процесса измерения совпадает с регистрацией, создается подтверждение подлинности. Соответствующие сертификаты ЦС (пакет доверия) возвращаются в модуль. Модуль использует этот сертификат для подключения к Центру Интернета вещей, другим модулям или запуска сервера. Когда срок действия подписанного токена или сертификата истекает, модуль должен запросить новый сертификат.

Интеграция и обслуживание

Корпорация Майкрософт поддерживает основную базу кода для среды выполнения модуля IoT Edge и службы удостоверений Azure IoT на GitHub.

При чтении базы кода IoT Edge помните, что среда выполнения модуля развивалась от управляющей программы безопасности. База кода по-прежнему может содержать ссылки на управляющая программа безопасности.

Установка и обновления

Установка и обновление среды выполнения модуля IoT Edge управляются системой управления пакетами операционной системы. Устройства IoT Edge с аппаратным корнем доверия должны обеспечить дополнительную защиту целостности среды выполнения модуля, управляя жизненным циклом с помощью безопасных систем управления загрузкой и обновлениями. Изготовители устройств должны исследовать эти возможности на основе соответствующих возможностей устройства.

Управление версиями

Среда выполнения IoT Edge отслеживает и сообщает версию среды выполнения модуля IoT Edge. Версия сообщается как атрибут среда выполнения.платформа.версия передаваемого свойства модуля агента IoT Edge.

Аппаратный модуль безопасности

Диспетчер безопасности IoT Edge реализует стандарты интерфейса доверенной платформы и PKCS#11 для интеграции аппаратных модулей безопасности (HSM). С помощью этих стандартов можно интегрировать практически любой модуль HSM, в том числе с собственными интерфейсами. Настоятельно рекомендуется использовать HSM для защиты безопасности.

Корень доверия надежного кремниевого оборудования

Надежное кремниевое оборудование необходимо для закрепления доверия внутри аппаратного устройства IoT Edge. Существует различные защищенные микросхемы, такие как доверенный платформенный модуль (TPM), встроенный безопасный элемент (eSE), Arm TrustZone, Intel SGX и специальные технологии защищенных микросхем. Использование корня доверия надежного кремниевого оборудования в устройствах рекомендуется из-за угроз, связанных с физической доступностью устройств Интернета вещей.

Цель диспетчера безопасности IoT Edge — определить и изолировать компоненты, которые повышают безопасность и обеспечивают целостность платформы Azure IoT Edge. Третьи стороны, например изготовители, должны применять пользовательские функции безопасности, доступные для оборудования их устройств.

Узнайте, как укрепить защиту диспетчера безопасности Интернета вещей Azure с помощью программного или виртуального доверенного платформенного модуля (TPM).

Создайте и подготовьте устройство IoT Edge с помощью виртуального доверенного платформенного модуля в Linux или Linux в Windows.

Следующие шаги

Дополнительные сведения о защите устройств IoT Edge см. в следующих записях блога: