几乎所有在物联网领域工作的嵌入式软件开发人员现在都在构建安全设备。嵌入式开发人员主要关注如何处理安全应用程序和基本的微控制器技术,例如如何使用 Arms TrustZone 或利用多核处理器。
许多公司和团队忽视的一个迫在眉睫的问题是,弄清楚如何开发安全的应用程序只是第一步。确保产品生命周期管理的安全分为三个阶段,在今天的文章中,我们将回顾每个阶段所涉及的内容。
阶段1 – 发展
开发可能是大多数开发人员最熟悉的领域,但同时也是他们学习适应最多的领域。 许多开发人员在设计和构建系统时从未考虑过安全性。 开发涉及的不仅仅是决定要隔离哪些组件以及如何将软件分成安全和非安全区域。
例如,在开发阶段,开发人员现在需要学习如何在有安全引导加载程序的环境中进行开发。 他们需要考虑如何处理固件回退,是否允许,如果允许,在什么条件下。 固件映像可能需要在身份验证的需要之上进行压缩。
虽然开发阶段变得更加复杂,但开发人员不应费力地推断他们过去的经验以成功开发安全固件。
阶段2 – 测试和生产部署
嵌入式开发人员最困难的领域可能是测试和生产部署阶段。 测试安全软件需要采取额外的步骤来验证调试硬件,以便开发人员可以访问安全内存区域来测试他们的代码并成功调试它。 更重要的是,必须注意在生产过程中将安全软件安装到产品上。
有几种方法可以做到这一点,但一种方法是使用安全的闪存设备,如 SEGGERS Flasher Secure。 这些设备可以遵循涉及验证用户 ID 的多步骤过程,该用户 ID 允许在设备上安装安全固件。 设备本身限制了固件可以安装的数量和设备,这有助于保护团队的知识产权并防止未经授权的产品生产。
阶段3 - 维护和现场服务
最后是维护和现场服务阶段,这是开发阶段的部分延续。产品部署到现场后,需要对其进行安全更新。更新可以在现场手动完成,也可以使用无线更新过程完成。这涉及设备能够联系可以压缩和加密图像并将其传输到设备的安全固件服务器。一旦设备接收到图像,它必须解密、解压缩和验证图像的内容。如果一切看起来都不错,则可以将映像加载为设备的主要固件。
总结
嵌入式开发人员设计和部署安全设备不仅仅是开发安全应用程序,整个过程分为三个主要阶段,我们今天已经更详细地研究了这些阶段。
发表评论 取消回复