Embedded ARM托管区开发

Embedded ARM托管区开发,embedded,arm,trust-zone,Embedded,Arm,Trust Zone,我想知道是否有人有任何关于开发板的信息,你可以利用ARM TrustZone?我有BeagleBoard XM,它使用TI的OMAP3530和支持trust zone的Cortex-A8处理器,但是TI确认他们已经禁用了板上的功能,因为它是一个通用设备 进一步的研究让我找到了熊猫板,它使用OMAP4430,但TI没有回应,互联网上的信息也很少。您如何学习如何使用信任区 致意 Gigu先生据我所知,您可以从现货中获得的所有OMAP处理器都是GP设备,也就是说,TrustZone功能被禁用(或者它们

我想知道是否有人有任何关于开发板的信息,你可以利用ARM TrustZone?我有BeagleBoard XM,它使用TI的OMAP3530和支持trust zone的Cortex-A8处理器,但是TI确认他们已经禁用了板上的功能,因为它是一个通用设备

进一步的研究让我找到了熊猫板,它使用OMAP4430,但TI没有回应,互联网上的信息也很少。您如何学习如何使用信任区

致意
Gigu先生

据我所知,您可以从现货中获得的所有OMAP处理器都是GP设备,也就是说,TrustZone功能被禁用(或者它们是生产设备中的处理器,如现货手机,您无法获得密钥)。这种情况与其他SoC制造商类似。除了ARM有限的出版物(仅涵盖通用ARM功能,而非特定于芯片的功能,如内存管理详细信息、引导和加载可信代码),所有关于TrustZone功能的文档都属于NDA。这是一个遗憾,因为它排除了对这些安全特性的独立分析或开源软件的利用


我担心,如果你想为TrustZone设备编程,你必须联系TI或其竞争对手的代表,让他们相信你的应用程序是他们想要的,并获得HS设备,这是为你的开发板签署代码的关键,如果没有这些文档,您的日子会很难过。

最好的办法是与Gemalto和带来Mobicore的人联系。请注意,他们确实会要求您签署保密协议


其次,您可以购买ARM DS5开发套件。它附带了很多文档,包括一些关于trustzone的文档。

您可以获得ARM fastmodels的45天试用版。RaspberyPI也应该支持TrustZone。www.openvirtualization.org拥有完整的ARM TrustZone开源实现。ARM正在从其专有的TrustZone API转向globalplatform API。GlobalPlatform还定义了用于进程间通信等的API。

关于openvirtualization,它可以像三星exynos 4XXX一样移植到arm开发板

如果使用openvirtualization,您将可以访问所有源代码,包括安全操作系统。
但是如果你只是想开发使用信任区的程序,我想知道是否有必要。也许有一些标准的驱动程序或api允许您不用担心编译您自己的安全操作系统就可以实现这一点?

目前有一些精选板允许使用TrustZone进行开发。就通用板而言,FriendlyARM板是一个良好的开端()。此外,任何带有Cortex A15处理器的电路板都必须具有可用的TrustZone,因为虚拟化扩展只能在正常情况下使用。可能仍然存在一个问题,即制造商是否有自己的代码在安全世界中运行,但您可以随时尝试。Arndale是一个很好的开发板,但不幸的是,三星已经在安全世界中运行了代码,所以当您获得访问权限时,您已经在正常世界中运行了。因此,如果您需要安全的全球访问,请寻找非三星Cortex A15处理器。那是你最好的选择


同样值得注意的是,TI并没有在技术上禁用TrustZone。相反,bootrom代码在将执行切换到U-boot之前将处理器转换为正常世界。因此,它实际上是在使用TrustZone移动到正常的世界,但是没有提供一种机制来返回到安全的世界。为了证明这一点,只要尝试读取SCR,就会得到一个未定义的异常,这是正常情况下通常会发生的情况。但是,如果您执行SMC调用,它将按预期执行(即,它切换到安全世界,但随后又切换回正常世界),因此看起来好像什么都没有发生。

您应该从反向路径查看USB armory:

它建立在开放硬件和开放源代码之上,完全可以访问Trustzone(您可以通过熔断器实现安全引导):


他们在TZ和Linux中成功地运行了Genode

到目前为止,OP-TEE在相当多的设备上运行(请参阅),其中有几个是现成的开发板。举几个HiKey、Raspberry Pi3、ARM Juno Board、飞思卡尔i.MX6等变体的例子。您可以选择其中一个,也可以简单地使用QEMU全部试用。

可能有一个比StackOverflow更好的stackexchange论坛供您试用。“我已经建议迁移到超级用户,但可能还有更适合的地方。”JonEgerton胡说,这是一个关于开发的问题,完全是关于这个话题的。关于ARM板的问题在SU上无论如何都是离题的。这很可能只是语义问题,但没有ARM TrustZone的开源实现。TrustZone是支持两个隔离执行环境的硬件扩展和修改的集合。这些硬件功能没有软件实现。openvirtualization提供的是一个可信执行环境(TEE),它利用TrustZone将TEE与常规操作系统(如Android或Ubuntu)隔离。因此,如果您的平台已经在安全的环境中运行了代码,那么openvirtualization TEE将无法工作。是的,5年后情况已经发生了相当大的变化:)