RoT 保护嵌入式系统的要素2—信任根

【RoT 保护嵌入式系统的要素2—信任根】在嵌入式开发中,当我们启动嵌入式系统并开始启动过程时,我们希望确保我们的嵌入式系统使用合法软件启动 。许多系统面临的问题是确定设备上运行的第一个代码是否真的是他们的代码并且是真实的 。当然,系统可以成功启动,但如果首先运行的是某个恶意软件,而其他软件都信任该代码,会发生什么情况?信任根确保从执行重置向量的那一刻起,我们正在运行正确的软件 。
定义信任根
信任根是一个不可变的过程或身份,用作信任链中的第一个实体 。因此,没有祖先实体可以为信任根的初始代码和数据状态提供可信任的证明(以摘要或其他方式) 。换句话说,嵌入式开发人员的信任根是一个不可更改的身份和最小的软件集,可以成功地验证自己并促进系统上的安全操作 。
我们应该考虑上述定义中的几个关键点 。首先,不可变的过程或身份是无法改变的 。在为我们的产品选择微控制器时,我们必须确保我们可以永久“burn-in”信任根使用的重要信息,例如公司私钥,一旦进入微控制器,我们不希望这些信息是可变的 。
其次,我们希望能够证明系统 。证明允许我们向系统发送要执行的操作,然后它将使用其私钥进行签名 。通过访问公钥,我可以验证操作结果并识别设备 。

    推荐阅读