嵌入式开发:选择安全微控制器的7个技巧
时间:2024-01-02 05:37:01
开发安全高效的连接设备需要开发人员选择具有特定硬件和软件功能的微控制器,从真正的随机数生成器到安全库。让我们来看看嵌入式开发人员应该考虑在其安全微控制器中使用的硬件和软件。
技巧1 – 包括一个真随机数生成器 (TRNG)
许多加密和通信过程要求开发人员包含一个随机数作为加密的初始向量。过去,开发人员依靠伪随机数和其他技术来生成这些值。 TRNG 它可以帮助开发人员消除生成随机数的复杂方法,并使用快速、高效的硬件来提供真正的随机数。
技巧2 – 使用加密加速器(AES、SHA 等)
在资源有限的设备上运行加密软件库可能是一个非常密集的处理。找到包含硬件加密加速器的微控制器有加速加密和解密以及减少代码空间等优点。如果您想增加实时微控制器的安全性,则需要加密加速器。
技巧3 – 考虑用于Cortex-M的Arm TrustZone
Arm TrustZone是Cortex-M23和Cortex-M33处理器中包含的新硬件功能(实时处理器的新功能)。TrustZone 帮助嵌入式开发人员将其软件分为安全和非安全世界,TrustZone 可用于创建信任根、安全更新、安全启动和许多其他用例,TrustZone 内部防火墙本质上是为安全处理创造的。
技巧4 – 使用安全的内部存储
安全的微控制器需要包括安全的内部存储,用于存储公钥和私钥,并确保其应用组件不能访问关键任务数据。
技巧5 – 不要跳过内存保护单位 (MPU)
内存保护单元可用于隔离线程并在自己的内存空间中运行。如果一个线程试图访问它自己空间以外的内存位置,或者另一个线程试图访问它的空间,它将抛出异常并拥有它 MCU 保护内存可以确保恶意代码无法访问系统。
技巧6 – 检查MCU安全元件准备好了吗?
安全元素对有兴趣创建安全设备的嵌入式开发人员非常有用。确保安全元件已集成到处理器中,或可以轻松地将安全元件添加到系统中。
技巧7 – 检查可用的安全库
到目前为止,我们已经了解了我们想要在微控制器中包含的几个不同的硬件功能。我们还需要确保使用精美的安全微控制器,软件可以运行所有的安全功能,这意味着对于所选的安全处理器,请确保有安全启动库、安全固件更新库和其他可用的加密库。
结论
包括所有这些不同的硬件组件并不一定能保证一个安全的系统,但它们确实确保嵌入式开发人员能够使用正确的工具以高效有效的方式正确保护微控制器。