下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

精选 FreeRTOS IoT 集成

此页面链接的 FreeRTOS IoT 集成展示了让 IoT 设备软件变得更加安全、稳健 的最佳实践。这些最佳实践包括确保设备:

  • 仅运行原始设备制造商 (OEM) 认可的软件。
  • 在向云服务进行身份验证时,使用每个设备可验证的身份。
  • 使用加密和传输层安全性 (TLS) 协议,帮助保障网络数据的安全。
  • 在整个设备寿命周期中,始终可安装最新的、可公开获得的安全修复程序。

这些 FreeRTOS IoT 集成旨在通过使用 FreeRTOS 软件和 合作伙伴提供的具有硬件安全功能的开发板来提高安全性。您可在生产中直接使用它们,或以它们为模型来进行自己的设计。 本页描述了所有板的通用功能。请参阅以下针对各板的页面, 了解每个集成的详细信息:

这些精选参考集成为您提供了极大的灵活性,使您可以调整其功能并利用 您的硬件特性。或者,为了简单起见,也可以考虑 ExpressLink 精选集成

演示应用程序的功能

每个 FreeRTOS IoT 集成都能实现一个基础 IoT 演示应用程序,此应用程序会连接至 AWS IoT Core MQTT 代理以与云端交换信息。此应用程序还可从云端下载 其映像的更新。源代码不但展示了软件中的最佳安全实践,还展示了 如何通过集成硬件安全功能来实现更强大的安全保障。

FreeRTOS IoT 集成如何实现安全性

每个集成都包括演示如何使用支持安全操作的硬件功能的代码 。每个板都具有可在其硬件中实现的两大关键功能: 保持关键代码不变,并可隐藏加密密钥。此核心功能旨在创建 基于硬件的信任根,它是支持软件安全功能的基础。名为 FreeRTOS IoT 集成软件构建了一个更安全的启动过程和一个可验证的设备身份,此外还构建了一个固件更新 系统。

安全启动

安全启动是指设备启动时,会在开始运行前对其应用程序进行验证 。每个 FreeRTOS IoT 集成板都会直接在硬件中嵌入一个不可更改的引导加载程序 。此引导加载程序是设备启动时运行的第一个代码,它可以被设备信任, 因为安全漏洞或操作错误都不会导致它被修改。引导加载程序的 唯一工作是就是验证 OEM 提供的固件映像的真实性,如果映像 是真实的,则运行它。

验证步骤使用一对加密密钥来实现代码签名系统。各个 板的代码签名流程细节各有不同,但每个实现都为完成这一共同事件—— OEM 能确保只有他们自己的固件可在板上运行。OEM 使用代码签名私钥对他们的固件映像进行加密签名,而引导加载程序则使用 相应的公钥来验证该签名。代码签名私钥为机密信息,只有 OEM 知道。因此,只有 OEM 才能使用此密钥来对新的固件映像进行签名。公钥是 非机密信息,可存储在每个设备上。每个参考板都会提供一种方法来对代码签名公钥进行编程, 然后永久冻结此公钥值。

在制造商提供的特定板的介绍文档中,您可看到 仅使用一个引导加载程序的简化启动过程的描述。这些集成将第二阶段引导加载程序添加在 硬件中的第一阶段引导加载程序和 OEM 固件之间。这两个阶段所涉及的基本原理是一致的。 第一阶段引导加载程序会验证第二阶段引导加载程序上的签名, 而第二阶段引导加载程序则会验证 OEM 固件签名。这种两阶段引导流程使得 第一阶段引导加载程序特别小,这既降低了成本,也减少了在硬件中构建不可修复 的故障的几率。由于第二阶段是软件映像,因此它会更大一些,可实现更多 的功能。例如,第二阶段引导加载程序可以支持两个 OEM 固件插槽, 一个用于当前的固件,另一个用于更新的映像。

每个设备的安全身份和 TLS

所有与 AWS IoT 连接的设备都有 TLS 客户端证书的独家标识。客户端证书会告知云 它正与哪个设备对话。每个设备都存储了唯一的 TLS 私钥。 通过 TLS 协议中被称为“相互身份验证”的功能,设备使用其私钥来证明 它是其客户端证书的所有者。(身份验证是相互的,因为 TLS 总是使用另一个证书来验证服务器的身份。)为确保系统安全,每台设备都必须有自己的 唯一证书,且私钥不能在设备之外泄露。每个参考 板都会提供一个安全存储区,用来保存私钥,不允许任何软件读取它,即使是 在同一板子上运行的软件也不行!FreeRTOS IoT 集成软件显示了如何 在不直接访问私钥的情况下让 TLS 运行的过程。

Over the Air (OTA) 更新

安全引导和安全联网有助于从一开始就建立强大的安全保障。OTA 帮助 IoT 设备保持 更高的安全性。安全研究人员一直在不断发现并发布新的安全漏洞。大多数 IoT 设备在其寿命周期中都会曝露多个漏洞。当发现新漏洞时, OTA 更新可以解决此问题。

演示应用程序使用 AWS IoT OTA 库接收来自 FreeRTOS 的 AWS IoT OTA 服务的更新。 OTA 客户端软件在后台任务中运行,等待来自云的更新信息 。当更新通知到达时, OTA 客户端会从云下载新映像, 并验证映像上的代码签名。如果签名有效,则新固件映像就会 被标记为活动映像,且板会被重新启动。

结论

安全引导、安全网络以及建立在硬件信任根上的 over the air 更新是 确保 IoT 设备安全的最佳安全实践。查看这些 FreeRTOS IoT 集成页面,了解 每块板是如何实现硬件信任根的——访问软件存储库链接, 找到说明如何引导和运行它们的入门指南。

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.