嵌入式开发:从终端到云保护嵌入式和物联网设备
在物联网(IoT)、工业物联网(IIoT)和物联网人工智能(AIoT)的今天,一切都与其他一切相连,无论是直接相连还是通过云相连,在嵌入式开发中,“嵌入式系统”一词在很大程度上与“物联网设备”同义,任何事物均不能被认为是安全的,任何事物必须被保证是安全的。
实施安全的原因是众所周知的。我们被收集、存储和分析个人和商业数据的应用程序所包围。我们接受这是“做生意的成本”,因为我们享受随之而来的好处,但我们也要求我们的数据保持安全。安全漏洞的成本可能会造成严重损害,无论是在财务上还是在声誉上。如果个人或企业认为无法信任设备制造商或服务供应商来确保其数据安全,他们会将业务转移到其他地方。
每年连接到互联网的设备数量呈指数级增长。事实上,Arm预计,到2035年,联网设备将超过1万亿台,而这些设备都需要安全性。因此,嵌入式和物联网系统的开发人员陷入了进退两难的境地。他们已经面临着开发时间和成本方面的多重挑战,再加上上市时间的缩短和产品生命周期的缩短。最重要的是,他们现在必须确保他们的设备是安全的,并且这些设备将保证与云中运行的应用程序的任何通信的安全性。
问题是安全性很复杂。对于许多嵌入式开发人员来说,并不完全清楚什么是安全性,或者如何正确地实现安全性。幸运的是,开发人员可以使用商业和开源工具,从终端到云端保护嵌入式和物联网设备。
扩大物联网设备开发
如今,大多数设计从低成本评估板开始,利用基于开源软件的参考设计。对于快速物联网设备开发,将这些参考设计扩展到成本优化和资源受限的大规模生产至关重要。高效、灵活、易用的软件开发流程至关重要,因为工程师需要优化、扩展和验证复杂的软件堆栈,以实现整体设备功能,同时保持安全性。安全嵌入式系统或物联网设备中基本软件组件的简化视图如图1所示。
HAL为处理器和外设提供了一个抽象层,具有特定于硬件的配置。RTOS提供线程和资源管理。安全网络接口使用适当的接口(例如,以太网、WiFi、低功率无线电)提供加密的互联网连接。云连接器是云解决方案提供商的协议接口。此外,位于一切之上的用户应用程序提供了系统的定制功能。
所有这些不同的软件组件都是由不同的供应商和不同地理位置的团队创建和维护的。嵌入式开发工程师面临的挑战是将软件参考设计从原始评估平台迁移到定制生产硬件;优化资源使用,以最小化系统成本;在产品生命周期中管理各种软件组件;并验证整个系统的功能和安全性。
为了解决与安全嵌入式系统和物联网设备的开发和产品化相关的问题,Arm一直致力于创建标准、工具和设计流程,帮助开发人员更快地创建安全产品。两个这样的倡议是Cortex微控制器软件接口标准(CMSIS)和平台安全架构(PSA)。
CMSIS是一个独立于供应商的硬件抽象层(HAL),它极大地简化了软件重用,并缩短了新嵌入式开发人员的学习曲线。CMSIS最初用于基于ArmCortex-M的微控制器,后来扩展到支持Cortex-A5/7/9内核和外设。如今,恩智浦、微芯片和瑞萨等主要芯片厂商的Cortex-M和Cortex-A器件充分利用了CMSIS提供的功能。
补充CMSIS的是PSA,这是一套完整的威胁模型、安全分析、硬件和固件架构规范以及开源固件参考实现。PSA提供了一种基于行业最佳实践的方法,允许在硬件和固件级别一致地设计安全性。这有助于嵌入式开发人员更快地将他们的设计安全地部署到现场。
此外,Arm与亚马逊网络服务(AWS)等云供应商合作,进一步简化嵌入式系统和物联网终端设备的开发。开发过程由各种软件工具支持,从开源到专业的商业产品。这为嵌入式开发工程师提供了选择,同时提供了实现严格的安全性和验证所需的所有工具,这在当今的设计中已成为强制性要求。