下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

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

精选 FreeRTOS IoT 集成
使用 AWS IoT ExpressLink

简介

其他精选 FreeRTOS 参考集成演示了 FreeRTOS 库的长期支持 (LTS) 版本以及硬件支持的 安全性,用于帮助创建经过身份验证的安全云连接。本页面介绍如何使用 AWS IoT ExpressLink 模块 (下文简称“ExpressLink”)更轻松地实现相同目标。

ExpressLink 模块是硬件 Wi-Fi 和蜂窝 模块,具有内置云连接、无线 (OTA) 更新以及硬件支持的 加密和身份验证密钥安全存储功能。 执行 IoT 应用程序的主机处理器可使用简单的 AT 命令集通过串行端口 与 ExpressLink 进行通信。所有 ExpressLink 模块都使用相同的命令集,不受底层无线电类型 (例如 Wi-Fi、蜂窝网络)的影响。使用 ExpressLink 模块后,IoT 应用程序编写者无需处理复杂的 无线电、安全和 IoT 库。 这些开发人员可以专注于开发差异化功能。

ExpressLink 模块可在任何具有串行端口的设备上使用,比如微型 8 位微控制器 (MCU)、 机架式挂载服务器。本页重点介绍了 ST 的 I-Cube-ExpressLink 创建的 ExpressLink 演示, 适用于一系列 STM32 MCU。

演示成功
图 1:使用 AWS IoT ExpressLink 设计互联应用程序 (点击放大)

安全功能和函数演示

所有 AWS IoT ExpressLink 模块均采取以下小节中描述的安全最佳实践。

通过双向验证保障 TLS 通信的安全

ExpressLink 模块使用传输层安全协议 (TLS) 与 AWS IoT Core 建立 加密的安全连接。此连接经过双向验证,确保设备 和云的身份。每个模块都预先配置了建立此安全连接所需的唯一标识符、私钥 和证书。该证书由模块供应商已在 AWS 注册的 证书颁发机构 (CA) 签名。这解决了与 IoT 设备调配相关的可扩展性、潜在错误和安全问题, 同时降低了复杂性和成本。

确保设备身份和机密信息的安全

ExpressLink 模块使用硬件支持的安全存储来确保设备身份和私钥的安全。

不泄露供应链中的机密信息

载入是指将模块的凭据绑定到 OEM 帐户 AWS IoT 注册表内的“事物”。ExpressLink 使用新颖的 按声明载入机制,在设备首次启动时自动执行 此操作。凭借后期绑定, 无需向 IoT 设备供应链中的供应商提供秘密信息(例如私钥)。

防止未经授权的软件在设备上运行

ExpressLink 模块包括硬件信任根支持的安全引导加载程序, 该加载程序在每个引导阶段以加密方式验证其固件完整性,有助于防止未经授权的 ExpressLink 固件修改。

STM32 示例还使用 Tiny Secure Boot,确保主机(与 ExpressLink 通信的 MCU) 软件的 ECDSA 签名验证。Tiny SecureBoot 占用空间小于 15K 闪存, 利用 ExpressLink 模块的功能来验证通过无线接收的新主机映像的完整性(哈希)和真实性(签名), 进而从主机应用程序中卸载这些加密任务。

确保 over-the-air 更新 (OTA) 的安全

OTA 更新通过修补已部署设备中的安全漏洞和错误来增强安全性。ExpressLink 的 OTA 功能可实现 ExpressLink 模块和主机 MCU 的安全固件更新。

模块更新不会中断主机 MCU。 每个模块都预先配备了 OTA“出生证明”, 用于验证其固件更新是否已获得模块制造商的授权。验证成功后,模块向主机 MCU 发出 接受或拒绝更新的信号,确保兼容性。

主机 MCU 更新可以接收任何文件类型,而不仅仅是新固件版本,使用与模块更新相同的机制, 但无法预先配置主机 MCU OTA 证书, 而是必须先生成、上传证书 并将其安全地存储在 ExpressLink 模块中。ST 示例提供了用于此目的的脚本。

在 ExpressLink 模块中验证固件更新可以减轻主机应用程序的繁重加密任务。

I-CUBE-ExpressLink 入门指南

I-Cube-ExpressLink 是一个 CMSIS 包,包含大量 FreeRTOS 项目,这些项目使用 ExpressLink 并面向 STM32 Arm Cortex MCU。 它包括一个 ExpressLink 驱动程序,该驱动程序是通过串行接口管理 ExpressLink 命令和响应的包装器。这些命令和响应 常见于并广泛用于 10 个以上 STM32 开发板上运行的应用程序示例。>该包还包含一套丰富的工具,可简化主机 OTA 流程,有助于大规模部署,减少所需步骤,而且无需熟悉 AWS 控制台。 FreeRTOS 个项目演示了典型的 IoT 场景:

  • 将传感器数据传输到云端。
  • 向云发送消息和从云接收消息。
  • 使用 AWS IoT Shadows 从云端控制 LED 和其他执行器。(ExpressLink 具备 Shadow 功能。)
  • 无线更新主机固件。
  • 管理 ExpressLink 模块事件。

这些示例可与 ExpressLink 蜂窝和 Wi-Fi 模块无缝配合使用, 无需修改任何代码。

要开始使用,请观看 STM32 ExpressLink 教程视频:

然后访问 I-Cube-ExpressLink Github 存储库进行开发。该存储库提供了全面的功能列表, 包括 ExpressLink 驱动程序、示例源代码以及安装包、 生成、构建和运行 FreeRTOS ExpressLink 演示的说明。

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