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


Что такое Azure Sphere?

Azure Sphere — это защищенная высокоуровневая платформа приложений со встроенными функциями взаимодействия и защиты для устройств, подключенных к Интернету. Она состоит из защищенного, подключенного, кроссоверного микроконтроллера (MCU), пользовательской высокоуровневой операционной системы на базе Linux (OS), а также облачной службы безопасности, которая обеспечивает непрерывную возобновляемую защиту.

В микроконтроллере Azure Sphere функции обработки в режиме реального времени интегрированы с возможностью запуска высокоуровневой операционной системы. Микроконтроллер Azure Sphere вместе со своей с операционной системой и платформой приложений позволяет создавать защищенные, подключенные к Интернету устройства, которые можно удаленно обновлять, контролировать, отслеживать и обслуживать. Подключенное устройство, включающее MCU Azure Sphere, либо наряду с существующими mcUS, обеспечивает повышенную безопасность, производительность и возможность. Например:

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

Служба безопасности Azure Sphere является неотъемлемым аспектом Azure Sphere. Благодаря этой службе микроконтроллеры Azure Sphere надежно и безопасно подключаются к облаку и сети. Служба гарантирует, что устройство загружается только с авторизованной версией подлинного, утвержденного программного обеспечения. Кроме того, он предоставляет защищенный канал, с помощью которого корпорация Майкрософт может автоматически скачивать и устанавливать обновления ОС на развернутые устройства в поле для устранения проблем с безопасностью. Ни производитель, ни конечный потребитель не требует вмешательства, тем самым закрывая общую брешь в системе безопасности.

Примечание.

Azure Sphere ссылается на интерфейс на основе PAPI как Azure Sphere (устаревшая версия) и интегрированный интерфейс Azure Resource Manager как Azure Sphere (интегрированный).

Сценарий Azure Sphere

Чтобы понять, как Azure Sphere работает в реальных условиях, рассмотрим следующий сценарий.

Contoso, Ltd — производитель бытовой электротехники, который внедряет микроконтроллер Azure Sphere в посудомоечные машины. В посудомоечной машине DW100 микроконтроллер связан с несколькими датчиками и внедренным высокоуровневым приложением, которое выполняется на микроконтроллере Azure Sphere. Приложение взаимодействует со службой безопасности Azure Sphere и облачными службами компании Contoso. Этот сценарий представлен на схеме ниже.

Подключение к Интернету вещей, службе безопасности и каталогу облачных производителейПодключенные к сети посудомоечные машины Contoso

Начиная с верхнего левого угла и по часовой стрелке.

  • Корпорация Майкрософт выпускает обновления для Azure Sphere OS с использованием службы Azure Sphere Security.

  • Техническая дирекция компании Contoso выпускает обновления для приложения машины DW100 с помощью службы безопасности Azure Sphere.

  • Служба безопасности Azure Sphere безопасно развертывает обновленную ОС и программное обеспечение приложения DW100 компании Contoso на посудомоечные машины пользователей.

  • Поддержка посудомоечных машин Contoso связывается со службой безопасности Azure Sphere для определения того, какая версия программного обеспечения Azure Sphere и приложения DW100 должна работать на каждом устройстве конечного пользователя, и сбора всех данных с отчетами об ошибках, зарегистрированных в службе. Поддержка посудомоечных машин Contoso также связывается с облачной службой компании Contoso для получения дополнительных сведений.

  • Облачные службы компании Contoso поддерживают устранение неполадок, анализ данных и взаимодействие с клиентами в приложения. Облачные службы компании Contoso могут размещаться в Microsoft Azure, облачной службе другого поставщика или собственном облаке Contoso.

  • Модели DW100 компании Contoso в расположениях пользователей загружают обновленную ОС и программное обеспечение приложения посредством подключения к службе безопасности Azure Sphere. Они также могут взаимодействовать с приложением облачной службы Contoso для передачи дополнительных данных.

Например, датчики на посудомоечной машине могут отслеживать температуру воды, температуру сушки, запас ополаскивателя и передавать эти данные в облачные службы компании Contoso, где приложение облачной службы анализирует их на наличие возможных проблем. Если температура сушки необычно высокая или низкая, что может свидетельствовать о неисправности, Contoso удаленно запускает диагностику и уведомляет клиента о том, что требуется ремонт. Если посудомоечная машина находится на гарантии, приложение облачной службы может также проверить наличие запчастей в местной ремонтной мастерской, минимизируя количество визитов специалиста по ремонту и необходимость инвентаризации. Аналогичным образом в случае низкого уровня моющего агента посудомоечная машина может подать клиенту сигнал, что нужно приобрести агент непосредственно от производителя.

Весь обмен данными выполняется через защищенные, прошедшие проверку подлинности подключения. Технический и вспомогательный персонал компании Contoso может визуализировать данные с помощью службы безопасности Azure Sphere, возможностей Microsoft Azure или приложения облачной службы Contoso. Contoso также может предоставить веб и мобильные приложения для клиентов, с помощью которых владельцы посудомоечных машин могут запрашивать обслуживание, отслеживать потребление ресурсов посудомоечной машины или другим образом взаимодействовать с компанией.

С помощью инструментов развертывания Azure Sphere компания Contoso подстраивает каждое обновление программного обеспечения приложения под соответствующую модель посудомоечной машины, а служба безопасности Azure Sphere распространяет обновления программного обеспечения на нужные устройства. На посудомоечную машину можно установить только подписанные и проверенные обновления программного обеспечения.

Azure Sphere и семь свойств устройств с высоким уровнем защиты

Основной целью платформы Azure Sphere является обеспечение высокой безопасности по низкой цене, чтобы устройства с микроконтроллерами, вне зависимости от их стоимости, можно было безопасно и надежно подключать к Интернету. Так как подключенные к сети игрушки, бытовая техника и другие пользовательские устройства стали распространенным явлением, очень важно обеспечить безопасность. Не только оборудование устройства, но и программное обеспечение и подключения облака требуют надежной защиты. Упущение в системе безопасности в операционной среде ставит под угрозу весь продукт и, возможно, всех и все, что с ним связано.

Основываясь на многолетнем опыте корпорации Майкрософт в сфере интернет-защиты, команда Azure Sphere определила семь свойств устройств с высоким уровнем защиты. Платформа Azure Sphere создана на основе семи свойств с высоким уровнем защиты.

Корень доверия на основе оборудования. Корень доверия на основе оборудования обеспечивает неразделимость устройства и его удостоверения, предотвращая подделку или спуфинг. Каждый микроконтроллер Azure Sphere идентифицируют с помощью уникального криптографического ключа, который сгенерирован и защищен созданным Майкрософт оборудованием подсистемы безопасности Pluton. Это обеспечивает корень доверия безопасного оборудования с защитой от несанкционированного доступа на всех этапах от производства и до конечного пользователя.

Глубинная защита. Глубинная защита предоставляет несколько уровней безопасности и поэтому несколько вариантов устранения каждого риска. Каждый уровень программного обеспечения на платформе Azure Sphere проверяет, защищен ли каждый следующий уровень.

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

Динамические отсеки. Динамические секции ограничивают охват любой одной ошибки. Микроконтроллеры Azure Sphere содержат предохранители на уровне микросхемы, включая аппаратные брандмауэры, чтобы предотвратить распространение нарушения безопасности с одного компонента на другие. Ограниченная изолированная среда выполнения защищает приложения от повреждения защищенного кода или данных.

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

Отчеты об ошибках. Ошибки в программном обеспечении или оборудовании устройства являются типичными в возникающих атаках безопасности; ошибки, которые приводят к сбою устройства, представляют собой атаку типа "отказ в обслуживании". Взаимодействие между устройствами и облаком обеспечивает раннее предупреждение потенциальных ошибок. Устройства Azure Sphere могут автоматически сообщать операционные данные и ошибки в облачной системе анализа, а обновления и обслуживание можно выполнять удаленно.

Возобновляемая безопасность. Программное обеспечение устройства автоматически обновляется до исправления известных уязвимостей или нарушений безопасности, не требуя вмешательства от производителя продукта или конечного пользователя. Служба безопасности Azure Sphere автоматически обновляет приложения и ОС Azure Sphere.

Архитектура Azure Sphere

Работая вместе, аппаратное обеспечение, программное обеспечение и служба безопасности Azure Sphere обеспечивают уникальные интегрированные подходы к обслуживанию, управлению и безопасности устройств.

Аппаратная архитектура обеспечивает фундаментально защищенную вычислительную базу для подключенных устройств, позволяя вам сосредоточиться на своем продукте.

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

Служба безопасности Azure Sphere поддерживает проверку подлинности, обновления программного обеспечения и отчеты об ошибках по защищенным облачным и облачным каналам. Это позволяет получить защищенную инфраструктуру обмена данными, которая гарантирует, что для ваших продуктов будут устанавливаться последние обновления Azure Sphere OS. Схемы архитектуры и примеры облачных архитектур см. в статье "Обзор архитектуры Azure".

Аппаратная архитектура

Перекрестное устройство MCU Azure Sphere состоит из нескольких ядер на одной матрице, как показано на следующем рисунке.

Аппаратная архитектураАппаратная архитектура устройства MCU Azure Sphere

Каждое ядро и связанная с ним подсистема находятся в другом домене доверия. Корень доверия находится в подсистеме безопасности Pluton. Каждый слой архитектуры предполагает, что слой выше может быть скомпрометирован. В каждом слое изоляция ресурсов и динамические отсеки обеспечивают дополнительную безопасность.

Подсистема безопасности Microsoft Pluton

Подсистема безопасности Pluton является защищенным корнем доверия для Azure Sphere, основанным на аппаратном обеспечении (в микросхеме). Он включает в себя ядро процессора безопасности, механизмы шифрования, генератор случайных чисел аппаратного обеспечения, генерацию открытого или закрытого ключа, асимметричное и симметричное шифрование, поддержку проверки алгоритма цифровых подписей на основе эллиптических кривых (ECDSA) для защищенной загрузки и измеряемой загрузки в микросхеме для поддержки удаленной аттестации с помощью облачной службы, а также различные незаконно измененные предохранители, включая единицу обнаружения энтропии.

В рамках процесса защищенной загрузки подсистема Pluton загружает различные программные компоненты. Она также предоставляет службы среды выполнения, обрабатывает запросы от других компонентов устройства и управляет критически важными компонентами для других частей устройства.

Ядро высокоуровневых приложений

Ядро высокоуровневых приложений имеет подсистему ARM Cortex-A с заполненной единицей управления памятью (MMU). Она обеспечивает аппаратное секциализацию процессов с помощью функций зоны доверия и отвечает за запуск операционной системы, высокоуровневых приложений и служб. Она поддерживает две операционные среды: Normal World (NW), которая выполняет код как в пользовательском режиме, так и в режиме руководителя, а также в режиме secure World (SW), который запускает только предоставленный корпорацией Майкрософт монитор безопасности. Высокоуровневые приложения выполняются в режиме пользователя NW.

Ядра в режиме реального времени

Ядра в режиме реального времени имеют подсистему ввода-вывода ARM Cortex-M, которая может запускать приложения, поддерживающие режим реального времени, как код без операционной системы или операционную систему в режиме реального времени (ОСРВ). Такие приложения могут сопоставлять периферийные устройства и взаимодействовать с высокоуровневыми приложениями, но они не имеют прямого доступа к Интернету.

Подключения и обмен данными

Первое устройство MCU Azure Sphere обеспечивает Wi-Fi-радио 802.11 b/g/n, работающее как на частоте 2,4 ГГц, так и на 5 ГГц. Высокоуровневые приложения могут настраивать, использовать и запрашивать подсистему беспроводного обмена, но они не могут запрограммировать ее напрямую. Кроме или вместо Wi-Fi, устройства Azure Sphere, которые должным образом оснащены, могут обмениваться данными по сети Ethernet.

Мультиплексный ввод-вывод

Платформа Azure Sphere поддерживает множество возможностей ввода-вывода, поэтому вы можете настраивать встроенные устройства в соответствии с требованиями рынка и требованиями к продукту. Периферийные устройства ввода-вывода могут быть сопоставлены либо с ядром высокоуровневых приложений, либо с ядром с поддержкой режима реального времени.

Брандмауэр Microsoft

Аппаратные брандмауэры — это предохранители на уровне микросхемы, обеспечивающие защиту типа "песочницы" и предоставляющие доступ периферийных устройств ввода-вывода только к ядру, с которым они сопоставляются. Брандмауэры обеспечивают обособление, тем самым предотвращая угрозу безопасности, локализованную в ядре высокоуровневых приложений и связанную с доступом ядер с поддержкой реального времени к периферийным устройствам.

Встроенная ОЗУ и флэш-память

Устройство MCU Azure Sphere содержат не менее 4 МБ встроенной ОЗУ и 16 МБ встроенной флэш-памяти.

Программная архитектура и ОС

Платформа высокоуровневых приложений запускает ОС Azure Sphere вместе с высокоуровневым приложением для конкретного устройства, которое может взаимодействовать как с Интернетом, так и с приложениями, поддерживающими режим реального времени, которые работают на ядрах с поддержкой реального времени. На следующем рисунке показаны элементы этой платформы.

Элементы, поставляемые корпорацией Майкрософт, показаны серым цветом.

Платформа приложенийПлатформа высокоуровневого приложения

Корпорация Майкрософт предоставляет и поддерживает все программное обеспечение, кроме приложений конкретного устройства. Все программное обеспечение, работающее на устройстве, включая высокоуровневое приложение, подписывается центром сертификации Майкрософт (ЦС). Обновления приложения доставляются через доверенный конвейер Microsoft, и перед установкой проверяется совместимость каждого обновления с оборудованием устройства Azure Sphere.

Среда выполнения приложений

Среда выполнения приложений, предоставленная корпорацией Майкрософт, основана на подмножестве стандарта POSIX. Она состоит из библиотек и служб среды выполнения, которые выполняются в пользовательском режиме NW. Эта среда поддерживает создаваемые вами высокоуровневые приложения.

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

Службы ОС

Службы ОС размещают контейнер высокоуровневого приложения и отвечают за связь со службой безопасности Azure Sphere. Они управляют проверкой подлинности сети и брандмауэром сети для всего исходящего трафика. Во время разработки службы ОС также взаимодействуют с подключенным компьютером и приложением, которое выполняется отладка.

Пользовательское ядро Linux

Пользовательское ядро на основе Linux работает в режиме контролера вместе с загрузчиком. Ядро тщательно настроено для работы со вспышкой и объемом ОЗУ устройства MCU Azure Sphere. Оно предоставляет поверхность для превентивного выполнения пользовательских процессов в отдельных виртуальных адресных пространствах. Модель драйвера предоставляет периферийные устройства MCU для служб и приложений ОС. Драйверы Azure Sphere, среди прочего, поддерживают Wi-Fi (включая сетевой стек TCP/IP), UART, SPI, I2C и GPIO.

Монитор безопасности

Монитор безопасности, предоставленный корпорацией Майкрософт, поставляется в ПО. Он отвечает за защиту чувствительных к безопасности аппаратных средств, таких как память, флэш-память и другие общие ресурсы MCU, а также за безопасный ограниченный доступ к этим ресурсам. Монитор безопасности выступает посредником и получает доступ к подсистеме безопасности Pluton и к корню доверия оборудования и действует, как устройство наблюдения для среды NW. Он запускает загрузчик, предоставляет службы среды выполнения для NW и управляет аппаратными брандмауэрами и другими компонентами микросхем, недоступными для NW.

Служба Azure Sphere Security

Служба безопасности Azure Sphere состоит из трех компонентов: проверки подлинности без пароля, обновления и отчетов об ошибках.

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

    После успешной аттестации запускается служба проверки подлинности. Служба проверки подлинности обменивается данными через безопасное подключение по протоколу TLS и выдает сертификат, который устройство может предоставить веб-службам, таким как Microsoft Azure или частное облако компании. Веб-служба проверяет цепочку сертификатов, подтверждая, что устройство является подлинным, что его программное обеспечение обновлено, и что Microsoft является его источником. Затем устройство может безопасно и надежно подключаться к веб-службе.

  • Обновление. Служба обновления распространяет автоматические обновления для ОС Azure Sphere и для приложений. Служба обновлений гарантирует непрерывную работу и обеспечивает удаленное обслуживание и обновление программного обеспечения приложения.

  • Отчеты об ошибках. Служба отчетов об ошибках предоставляет простые отчеты о сбоях для развернутого программного обеспечения. Чтобы получить более подробные данные, используйте функции отчетов и анализа, которые включены в подписку Microsoft Azure.

Все данные, хранящиеся в службе безопасности Azure Sphere, по умолчанию шифруются в неактивном состоянии. Служба безопасности хранит данные в служба хранилища Azure, Azure Cosmos DB и Azure Key Vault, используя неактивную реализацию шифрования данных для каждой такой службы.