更新时间:2022-01-31 19:37:23
物联网在很大程度上是一个现代的蛮荒西部。设备连接到网络时没有考虑安全性,这为不良参与者进入系统提供了一个有吸引力的入口。更重要的是,这些设备很少更新,运行的固件和部署时一样不安全。这是一个你何时妥协的问题,而不是你是否妥协的问题。
我们如何保护设备并确保它们的安全?这就是微软的Azure Sphere——,微软的深度防御物联网平台的使用之处,它结合了硬件、软件和云来保护您的设备和网络。最初在2018年5月宣布,Azure Sphere终于实现了普遍可用,硬件和软件都准备好了。
Azure Sphere的核心是一个强化的基于arm的微控制器,旨在实现微软所说的“高度安全设备的七大特性”。它们是基于硬件的信任、深度防御、小型可信计算基础、动态分区、基于证书的认证、错误报告和可更新的安全性。像这样自以为是地进行软硬件设计是明智的,因为这样可以确保使用Azure Sphere的每个人都在同一个页面上,使用相同的安全模型。
首款获得Azure ball认证的微控制器是联发科的MT3620。基于Arm的Cortex-A7设计,这是一款功能强大的芯片,足以运行基于linux的操作系统。这意味着它不是市场上最便宜的设备。——树莓派比Arduino贵。微软宣布了恩智浦和高通的额外硬件,允许您选择不同功能的供应商和微控制器。恩智浦增加了人工智能和图形支持,高通增加了蜂窝网络连接。
基于联发科MT3620的开发板,这是首款Azure球形认证MCU(微控制器单元)。
除了主要的Cortex-A7和wi-fi功能外,联发科的MT3620还有两个额外的Cortex-M4F内核,用于管理设备的I/O和许多其他功能。然后,整个芯片被微软自己的安全子系统Pluton锁定,单个Cortex-M4F用来管理安全引导和监控系统运行。Pluton不是用户可以访问的:它是硬件和云托管的Azure Sphere服务之间的链接。
Azure MCU架构为:多核,各处于不同的信任域,信任的根源在于微软的Pluton安全子系统。
普卢顿是球体加工设备的安全场所。核心是平台运行其加密过程的地方,包括其自己的基于硬件的随机数生成器和用于管理网络加密、安全启动和测量启动操作的工具。它可以提供一种检测软件和操作系统篡改的方法。当一个Azure Sphere设备启动时,Pluton core会确保平台的所有组件都有正确的数字签名,并尽可能使用远程身份验证来确认启动的软件是安全的。一旦设备启动并运行,普卢顿将继续监控操作。
Azure Sphere是微软第一次公开进入Linux世界。它已经在使用自己的Linux发行版作为Azure网络的一部分,但是Sphere的定制内核和围绕它构建的软件旨在用于更广泛的发行版。不仅如此,它还是软件运行的地方。微软为您的代码提供了访问具有网络、存储和通信功能的球体微控制器硬件所需的库。为了确保设备的安全性,它们是与硬件交互的唯一方式。——没有通用文件访问权限,也没有shell。您只能通过Azure Sphere服务的Azure组件或连接到开发人员电脑的设备上的调试服务与您的设备进行交互。应用程序用C语言构建,在Visual Studio或Visual Studio代码中使用Azure Sphere SDK。如果喜欢Linux,可以用Visual Studio代码开发Ubuntu 18.04,Windows和Ubuntu都可以使用绑定到SDK的命令行工具。您可以编写高级应用程序或低级实时代码,这取决于您计划如何使用Sphere微控制器。
Azure Sphere平台的关键特性之一是其安全的应用程序部署服务。每个Azure Sphere设备都有自己的唯一标识,存储在设备上。您将使用通过云服务管理的您自己的ID注册作为产品一部分的每个设备。一个设备只能是一个产品的一部分,一个产品可以组合多个设备。您可以将设备标识视为微控制器的单个序列号,并将产品视为围绕球体硬件和软件构建的智能烤面包机。
Azure Sphere Scene :配备MCU的设备(本例中为DW100洗碗机)通过高级应用程序(运行在MCU上)与Azure Sphere安全服务和制造商的云服务进行通信。
一个有用的特性是设置设备组的能力。这些工具可以帮助您管理部署,并允许您隔离一些设备进行开发、测试和生产。有5个默认的设备组,每个都有不同的功能——例如,它允许您将Azure Sphere操作系统的预览版部署到一些设备,并控制哪些设备可以获得哪些应用程序版本。应用程序被分配到设备组并自动部署,因此您可以将部署过程构建到现有的软件开发生命周期中,使用独立的软件分支进行开发和测试,以及
通过合并到独立的生产分支来触发最终的部署。Azure Sphere部署的核心是一个二进制映像。这是一个经过加密签名的二进制文件,它已经打包好,可以交付给所选的设备组。一旦交付,一个图像只能被替换,它不能被改变。映像只能由Azure Sphere管理员部署,所以要降低团队管理员的数量以降低风险。
参见:Microsoft Azure:内部人员指南(免费PDF)(TechRepublic)
部署由Azure Sphere云服务管理,使用与Windows Update相同的基础设施。虽然与市场上许多小型微控制器相比,Azure Sphere设备适用于更复杂的物联网应用和服务,但仍有可能部署到数十万台甚至数百万台设备上。从头开始构建软件部署和更新服务是不现实的,因此使用Windows update及其端到端安全性和经过验证的可伸缩性是非常有意义的。
Azure Sphere消除了物联网的大部分风险,这将使其成为其他物联网平台的一个有吸引力的替代选择,让你既可以使用安全的硬件,又可以确保你的软件和设备操作系统是最新的。构建在熟悉的工具和服务上也会有所帮助,使这些设备所需的应用程序更容易交付。