图像
Hiroki Ishiguro
Hiroki Ishiguro
Sr Principal Software Engineer
已发布: 2023年6月5日

续接上一期,本期将为大家带来物联网设备设计方法的相关信息。

物联网设备需要更低的耗电量和更小的体积。因此,第七期讲解了低耗电MCU和蜂窝调制解调器的必要性,第八期讲解了如何利用基于MCU的安全IP来提高TLS加密通信安全性和速度。

实际上,为了在市场上以成千上万甚至数百万台的规模批量生产和运行该系统,必须为每台设备保留(具体是指MCU内置闪存或与MCU外部进行I2C总线连接的EEPROM等存储媒体)相应的数据,以便能够进行个体识别。

如果将这些数据逐个写入需要批量生产的产品,在实际批量生产时就会造成工厂运营成本的上升。

因此AWS公司在MCU预装FreeRTOS系统中准备了“队列预置”(Fleet Provisioning)功能,而为了部署此功能,瑞萨开发了相应的参考实例。

队列预置:https://www.freertos.org/iot-fleet-provisioning/index.html

解读博客(原文为日语):https://aws.amazon.com/jp/blogs/news/manage-credential-with-fleet-provisioning-in-mass-production/

瑞萨参考实例:https://github.com/renesas/iot-reference-rx

目前,我们的开发已经进入最后阶段,与AWS进行日常协商的同时,还通过GitHub与AWS一同进行代码梳理,以便提高发布版本的易用性。

参考实例可以在RX72N Envision Kit和CK-RX65N等标准瑞萨主板上运行,也可以使用智能配置器在合作方主板和客户制作的专用主板上运行。

如下图所示,使用本期介绍的队列预置可以显著提高生产效率。

无队列配置

需要“key injection * N in individually”工序。

在该工序中,需要对每个MCU添加按MCU生成的密钥数据/证书数据,给生产工序造成了巨大的负担。设计特殊写入工序可能会提高生产效率,但这也会增加设计成本和特殊写入工序的操作成本。

图像
无队列配置

有队列配置

不需要“key injection * N in individually”工序。

相反,在产品组装后的“assemble * M”工序中,产品可使用上网功能与AWS进行通信,然后在MCU内部使用随机数自动生成密钥数据并上传,最后下载证书数据并自行添加,这一系列操作皆可全自动进行。可以与传统的固件写入工序轻松地集成到产品组装工序中,从而大大降低了生产工序中的负荷和设计成本。

图像
有队列配置

工厂的生产效率应该是客户非常关心的问题。队列预置有助于提高生产效率,还有安全方面的优点,例如不需要按设备向工厂发送相应的密钥/证书信息。对于开发人员,队列预置的真正优势应该是在于安全方面的提升。此外,在本期介绍的机制中,如果您对“assemble * M”工序与AWS进行通信以及从AWS传输密钥/证书的场景进行仔细分析,就会发现设备内部生成的密钥会被存储在可读闪存等中这一弱点。将来,如果采用RX家族内置安全IP(Trusted Secure IP),就可以在其安全IP内部自行生成密钥对,进而降低密钥在MCU外部暴露的风险。由此,允许私钥在整个产品生命周期中仅限于在安全IP内使用。
(再具体一点,嵌入固件的声明密钥/证书也是潜在的风险来源,但同样可以用安全IP进行保护)
因此,RX家族实现并提供了一种
通过100%保护应该隐藏起来的信息从而提高生产效率的解决方案。今后,我们将继续以这种方式向全球推广,为最终用户打造可放心使用物联网设备的环境。

以下是RX家族云解决方案和安全解决方案的链接,以便您能体验相关功能。如能为您提供一些参考,我们将不胜荣幸。

RX家族云解决方案

RX家族安全性