保护物联网 (IoT) 设备是每个人的首要任务,至少看起来是这样。无论你在哪里看,都有一个关于更多受损设备的新故事,再次提醒每个人问题的严重性。似乎也有很多关于如何正确保护此类设备的困惑。显然,PC时代的实践无法实现。物联网设备没有防病毒(AV)软件解决方案,除非该设备具有强大的处理器和足够的内存,当然,绝大多数设备都没有。在后PC时代,安全实践也必须发展。
后PC时代的安全必须是设备的基础,并且必须设计进去。它需要以隔离和保护关键信息,数据和代码的方式完成。它还应该在设计和实现时考虑到设备将所在的系统。
但究竟什么是基本安全性?
基础安全性不是一些抽象的概念。相反,它涉及特定技术和过程的实现,例如硬件信任根、安全启动、硬件加密、对其他设备和应用程序进行身份验证的能力以及受信任的修正。其中,安全启动过程可能是最关键的。
安全启动:基础知识和优势
实施安全启动过程对于设备在其整个生命周期中的完整性至关重要,原因很简单,即受损的启动过程允许黑客注入恶意软件或完全替换固件,从而使整个连接的系统容易受到攻击。安全启动过程还通过提供必要的信任度使其他安全功能成为可能。实际上,安全启动过程对于在整个系统中扩展信任根至关重要。
最简单的方法是,安全启动过程可防止在设备通电时执行未经授权的代码,并防止嵌入式启动代码和软件 IP 的暴露。安全启动过程可以通过许多不同的方式完成,包括使用数字签名的二进制文件、安全和受信任的启动加载程序、启动文件加密和安全微处理器。
虽然大多数安全启动声明都以数字签名的启动文件为中心,但除非这些签名可以使用某种不可变的信任根进行验证,否则它并不安全。在这里,我们不打算深入探讨安全启动的机制,而是布局设备设计人员在实现安全启动过程时必须考虑的注意事项。这些包括:
保护知识产权 – 不保护公司知识产权(代码)的安全启动过程不会带来真正的业务利益。但是,如果实施得当,可以保护专有算法等软件IP免受黑客攻击。
可信修复 –在设备发生故障或受损的情况下进行安全修复的能力是一项关键能力,它依赖于具有安全启动过程,该过程检查使用信任根启动的固件映像的有效性。
安全固件更新 –验证旨在替换现有固件映像的传入有效负载对于在整个系统生命周期内保持设备完整性至关重要。在应用之前,必须验证有效负载的源和有效负载本身,并且通过正确实现的安全启动过程,验证失败会导致安全回滚到已知的已验证映像。
与云资源的安全连接 –安全启动过程可确保设备在每次尝试通过使用嵌入式密钥和证书进行连接时都通过云进行身份验证。
使用信任区和 TEE 实现安全启动
ARM 的信任区技术特别适合支持安全启动过程。如果应用程序使用配备 ARM TrustZone 的设备(从最近发布的 Cortex-M23 和 -M33 微控制器 (MCU) 到 Cortex-A 级应用程序处理器),则该设备包含两个操作系统 (OS) – 可信执行环境 (TEE),它是一个安全操作系统,用于管理对设备安全安全隔区的访问,以及执行主要应用程序的丰富操作系统或丰富执行环境 (REE)。
TEE 在安全启动过程中起着关键作用,因为 TEE 在初始 ROM 启动之后但在 REE 之前启动。实际上,TEE 可以将 REE 作为引导序列的一部分进行引导,这样做可以验证 REE 映像,以便在必要时采取补救措施。
ARM 提供了许多资源,这些资源说明了信任区在物联网中的实用性。自从 ARM 最近通过一系列扩展将该技术提供给基于 MCU 的设备以来,对信任区的兴趣稳步增加(有关此内容的更多信息,请参阅文章“使用适用于 v8-M 的 ARM 信任区保护边缘”)。
安全启动:策略,而不是复选框
总而言之,安全启动对于在设备的整个生命周期内保持设备完整性至关重要。重要的是,设备架构师和应用程序设计人员在定义安全启动过程之前会列出所有安全注意事项。毕竟,安全性是一种策略,而不是一个复选框。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19135浏览量
228940 -
ARM
+关注
关注
134文章
9034浏览量
366629 -
物联网
+关注
关注
2902文章
44170浏览量
370700
发布评论请先 登录
相关推荐
评论