物联网安全始于安全启动

描述

  保护物联网 (IoT) 设备安全是每个人的首要任务——至少看起来如此。无论你往哪里看,都会有一个关于更多受损设备的新故事,再次提醒每个人问题的严重性。对于如何正确保护此类设备,似乎还有很多困惑。显然,这不能通过 PC 时代的做法来实现。物联网设备没有防病毒 (AV) 软件解决方案,除非设备具有强大的处理器和足够的内存,当然,绝大多数都没有。在后 PC 时代,安全实践也必须发展。

  后 PC 时代的安全必须是设备的基础,并且必须在设计中进行。它需要以隔离和保护关键信息、数据和代码的方式来完成。它的设计和实施还应考虑到设备所在的系统。

  但究竟什么是基础安全?

  基础安全不是一些抽象的概念。相反,它涉及特定技术和流程的实施,例如硬件信任根、安全启动、硬件加密、验证其他设备和应用程序的能力以及受信任的补救措施。其中,安全启动过程可能是最关键的。

  安全启动:基础知识和优势

  实施安全启动过程对于设备在其整个生命周期内的完整性至关重要,原因很简单,受感染的启动过程允许黑客注入恶意软件或完全替换固件,从而使整个连接系统易受攻击。安全启动过程还通过提供必要的信任程度,使其他安全功能成为可能。实际上,安全启动过程对于在整个系统中扩展信任根至关重要。

  简而言之,安全启动过程可防止在设备上电时执行未经授权的代码,并防止暴露嵌入式启动代码和软件 IP。可以通过许多不同的方式来完成安全引导过程,包括使用数字签名的二进制文件、安全和受信任的引导加载程序、引导文件加密和安全微处理器。

  虽然大多数安全启动声明都围绕数字签名的启动文件,但除非这些签名可以使用某种不可变的信任根进行验证,否则它并不安全。在这里,我们不打算深入研究安全启动的机制,而是安排设备设计人员在实施安全启动过程时必须考虑的因素。这些包括:

  保护 IP –不保护公司知识产权(代码)的安全启动过程不会提供真正的商业利益。但是,如果实施得当,可以保护诸如专有算法之类的软件 IP 免受黑客攻击。

  受信任的修复——在设备出现故障或受损的情况下安全修复的能力是一项关键能力,它依赖于安全启动过程,该过程检查使用信任根启动的固件映像的有效性。

  安全固件更新——验证旨在替换现有固件映像的传入有效负载对于在整个系统生命周期内保持设备完整性至关重要。有效载荷的来源和有效载荷本身必须在应用之前进行验证,并且通过正确实施的安全引导过程,验证失败会导致安全回滚到已知的已验证映像。

  与云资源的安全连接——安全启动过程可确保设备在每次尝试通过使用嵌入式密钥和证书进行连接时都通过云进行身份验证。

  使用 TrustZone 和 TEE 实施安全启动

  ARM 的 TrustZone 技术特别适合支持安全启动过程。如果应用程序使用配备 ARM TrustZone 的设备,从最近发布的 Cortex-M23 和 -M33 微控制器 (MCU) 到 Cortex-A 级应用处理器,该设备包含两个操作系统 (OS) – 可信执行环境 (TEE) ),这是一个安全操作系统,可管理对设备安全区域的访问,以及执行主要应用程序的丰富操作系统或丰富执行环境 (REE)。

  TEE 在安全引导过程中起着关键作用,因为 TEE 在初始 ROM 引导之后但在 REE 之前引导。事实上,TEE 可以将 REE 作为引导序列的一部分进行引导,这样做可以验证 REE 映像,以便在必要时采取补救措施。

  ARM提供了许多资源来说明 TrustZone for IoT 的用途。自从 ARM 最近通过一组扩展将该技术提供给基于 MCU 的设备以来,人们对 TrustZone 的兴趣一直在稳步增长(更多信息请参见文章“使用 ARM TrustZone for v8-M 保护边缘”)。

  安全启动:策略,而不是复选框

  总而言之,安全启动对于在设备的整个生命周期内保持设备完整性至关重要。重要的是设备架构师和应用程序设计人员在定义安全启动过程之前列出所有安全注意事项。毕竟,安全是一种策略,而不是复选框。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分