Блокировка конфигурации периферийных устройств
Конфигурация периферийных устройств — это сопоставление периферийных устройств с ядрами. Чипы Azure Sphere теперь могут блокировать конфигурацию периферийных устройств, чтобы обеспечить дополнительную безопасность. Все будущие микросхемы Azure Sphere также будут иметь блокировку конфигурации периферийных устройств.
Во время запуска системы среда выполнения Azure Sphere считывает манифест приложения, чтобы определить, какие периферийные устройства приложение может использовать, и назначает периферийные устройства ядру, настроив аппаратный брандмауэр. Если конфигурация периферийных устройств не заблокирована, злоумышленник может перенастроить основные назначения периферийных устройств и получить доступ к произвольным периферийным устройствам. Однако если конфигурация периферийных устройств заблокирована, злоумышленник не может переназначить периферийные устройства, даже если код скомпрометирован.
Когда конфигурация периферийного устройства заблокирована
Среда выполнения Azure Sphere блокирует конфигурацию периферийного устройства во время запуска системы после инициализации всех приложений, если выполняются следующие два условия:
- Для состояния производства устройства задано значение DeviceComplete.
- Возможность устройства appDevelopment отсутствует на устройстве.
Блокировка конфигурации периферийных устройств добавляет еще один уровень безопасности для глубокой защиты, который является одним из семи свойств, необходимых для высокозащищенных устройств. После блокировки конфигурации периферийных устройств ее нельзя будет изменить до перезагрузки устройства.
Обновления приложений и перезагрузка устройства
Обновление приложения, требующее изменения в конфигурации периферийного устройства, активирует перезагрузку устройства, когда конфигурация периферийного устройства заблокирована. После блокировки конфигурации устройство должно перезагрузиться, прежде чем оно сможет соответствующим образом изменить конфигурацию периферийных устройств для обновления приложения.
Изменение конфигурации периферийных устройств происходит, когда обновление приложения требует выпуска или приобретения периферийных устройств. Ниже приведены примеры обновлений приложений, которые запускают перезагрузку устройства при блокировке конфигурации периферийного устройства.
- Новое приложение, использующее периферийные устройства, устанавливается как часть облачного обновления или загрузки неопубликованных приложений. В этом случае необходимо получить новое ядро и периферийные устройства.
- Обновленному приложению требуется набор периферийных устройств, отличный от предыдущей версии. В этом случае некоторые периферийные устройства должны быть освобождены, а другие периферийные устройства должны быть приобретены.
- Приложение, использующее периферийные устройства, удаляется при обновлении в облаке. В этом случае все периферийные устройства, используемые приложением, должны быть освобождены.
Ниже приведены примеры обновлений приложений, которые не запускают перезагрузку устройства, так как конфигурация периферийных устройств остается неизменной.
- Новое приложение, которое не использует периферийные устройства, устанавливается в составе облачного обновления или загрузки неопубликованных приложений.
- Приложение, которое не использует периферийные устройства, удаляется при обновлении в облаке.
- Обновленному приложению требуется точный набор периферийных устройств, используемых предыдущей версией.