自从我考虑使用树莓派4以来,我一直在对ARM和TrustZone做一些研究。不过,我问是因为我发现相关的问题有点过时了。
TrustZone是否在所有新的ARM CPU上都是强制性的?即是否需要实施TrustZone?如果没有,哪些供应商实施了TrustZone,哪些供应商没有?我要求的是Cortex-A CPU。在ARM的documentation中,我认为它不是强制性的,因为它被称为安全 * 扩展 *。
“实现”到底是什么意思?是否与支持/兼容的相同?我猜所有较新的Cortex-A CPU都支持它,但有些CPU可能没有实现它。我想如果它没有实现/只支持,这意味着CPU在“安全”的世界启动,但不会改变到“正常”的一个?
最后,在“正常”环境下运行的ARM 64 Linux发行版中,如何检查CPU是否实现了TrustZone?
1条答案
按热度按时间fruv7luv1#
TrustZone是否在所有新的ARM CPU上都是强制性的?即是否需要实施TrustZone?
不,我不知道
如果没有,哪些供应商实施了TrustZone,哪些供应商没有?
这将要求一个列表,并成为一个结束你的问题的理由。你得上网查资料。通常情况下,供应商是保密的,只会回答一些问题,根据保密协议。看情况而定。因此,如果一个列表在当前时间存在,它将很快过时。您可以在Trusted Firmware上查看支持的主板和供应商,以获取不完整的列表。
“实现”到底是什么意思?是否与支持/兼容的相同?我猜所有较新的Cortex-A CPU都支持它,但有些CPU可能没有实现它。我想如果它没有实现/只支持,这意味着CPU在“安全”的世界启动,但不会改变到“正常”的一个?
支持/兼容是指是否荣誉NS位的总线信令。因此,CPU不需要了解TrustZone,但来自内核的总线信号允许它存在于TrustZone系统中。ARM既是“HDL”(硬件描述语言),也是一家软件CORE公司。这种区别可能只对集成ARM CPU的SOC公司的人员有用。
实现意味着它实际上执行TrustZone的工作(总线信令和CPU)。这并不意味着芯片对所有应用都是安全的。SOC供应商必须努力集成外围设备/设备,以适用于不同的安全应用。
此外,特定的内核可以实现TrustZone,但是SOC供应商可以妨碍它,使得它无用。
最后,在“正常”环境下运行的ARM 64 Linux发行版中,如何检查CPU是否实现了TrustZone?
这是previously asked。什么都没变。我们的目标是不应该提供此功能。对于某些系统,可能有一些方法,但不是通用的。