外围设备配置锁定
外围设备配置是外围设备到核心的映射。 Azure Sphere 芯片现在能够锁定外围设备配置,以提供额外的安全性。 所有将来的 Azure Sphere 芯片也将具有外围配置锁定。
在系统启动期间,Azure Sphere 运行时读取应用程序清单,以确定允许应用程序使用哪些外围设备,并通过配置硬件防火墙将外围设备分配给核心。 当外围设备配置未锁定时,攻击者可能会重新配置外围设备的核心分配并访问任意外围设备。 但是,当外围设备配置被锁定时,即使代码遭到入侵,攻击者也无法重新分配外围设备。
当外围设备配置被锁定时
在初始化所有应用程序后,如果满足以下两个条件,Azure Sphere 运行时将在系统启动期间锁定外围设备配置:
- 设备制造状态设置为 DeviceComplete。
- 设备上不存在 appDevelopment 设备功能。
外围配置锁定为深层防御添加了另一层安全性,这是高度安全设备所需的七个属性之一。 外围设备配置锁定后,在重新启动设备之前无法对其进行修改。
应用程序更新和设备重启
当外围设备配置锁定时,需要更改外围设备配置的应用程序更新会触发设备重新启动。 锁定配置后,设备必须重新启动,然后才能针对应用程序更新相应地修改外围配置。
当应用程序更新需要释放或获取外围设备时,会发生外围配置更改。 下面是在外围设备配置锁定时触发设备重启的应用程序更新示例:
- 使用外围设备的新应用程序作为云更新或旁加载的一部分进行安装。 在这种情况下,必须获取新的核心和外围设备。
- 更新的应用程序需要与其以前版本不同的一组外围设备。 在这种情况下,必须释放某些外围设备,并且必须获取其他外围设备。
- 使用外围设备的应用程序在云更新过程中会被删除。 在这种情况下,必须释放应用程序使用的所有外围设备。
下面是应用程序更新示例,这些更新不会触发设备重新启动,因为外围设备配置保持不变:
- 不使用外围设备的新应用程序作为云更新或旁加载的一部分进行安装。
- 在云更新过程中,将删除不使用外围设备的应用程序。
- 更新的应用程序需要其以前版本使用的确切外围设备集。