标签: trustzone

处理ARM TrustZones

ARM有一个名为TrustZone的东西.根据ARM文档,它提供了一个进程可以在安全/非安全世界中运行.

  1. 安全/非安全世界意味着什么.它与处理器执行模式有关,还是与设置内存区域或其他内容的权限有关.
  2. ARM的7种操作模式与安全/非安全世界之间是否存在任何关系.
  3. 如何在ARM中启用TrustZone.
  4. 从哪个版本的ARM引入.
  5. 是否必须使用此TrustZone.Linux内核是否使用此TrustZone扩展.

请帮助我理解这一点.

arm linux-kernel trustzone

29
推荐指数
2
解决办法
2万
查看次数

ARM TrustZone开发

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

进一步的研究让我看到了使用OMAP4430的熊猫板,但没有TI的反应和互联网上的信息很少.您如何学习如何使用信任区?

最好的问候吉古先生

embedded arm trustzone

10
推荐指数
1
解决办法
6115
查看次数

为Arm信任区制定计划

如何开发使用Arm的信任区域的应用程序?具体来说,我想开发一个可以在安全的世界中保存敏感数据的程序.

该程序应该在正常世界还是安全世界中运行?我知道安全领域有信任小组,我是否需要开发信任小组?我可以使用SDK或API直接与现有的安全世界操作系统进行交互,还是需要编译和安装我自己的安全操作系统?

任何建议将不胜感激.

谢谢!

security arm trustzone

7
推荐指数
2
解决办法
6234
查看次数

我应该使用哪些基于ARM的开发板?

我想基于ARM的TrustZone技术启动一个项目,我想在其中为Android进行身份验证启动.

我应该使用哪种电路板?

最低要求:

  • ARM V7指令集
  • USB,VGA/HDMI连接器
  • 触摸屏连接器
  • Flash功能
  • 512 MB RAM
  • TrustZone已启用
  • JTAG连接器和DB-9 UART端口
  • 电源
  • 董事会应该有文件
  • Android驱动程序和编解码器,因为我将在其上运行Android.

到目前为止,我发现了飞思卡尔i.MX53,Pandaboard,Beagle主板xM(显然已经禁用了TrustZone),基于Atmel的主板,Versiatile Express A9x4和用于ARM1176JZF-S的RealView平台底板.但通常不清楚是否启用了TrustZone扩展.

android arm trustzone

5
推荐指数
1
解决办法
1110
查看次数

Svc 处理程序到 SMC 调用

如何在 C 中编写 svc 处理程序以调用 SMC(监控模式)指令以切换到 arm cortex a9 的监控模式?即从主管模式到监控模式都需要在 svc 处理程序中完成什么,如何在 C 中编写相同的内容。感谢详细答案...

c arm handler trustzone

5
推荐指数
1
解决办法
5932
查看次数

如何在QEMU中模拟TrustZone?

我正在尝试在Qemu中模拟TrustZone功能。我发现了两个似乎可以解释此过程的链接。

《第一参考》未附加支持TrustZone的映像内核(在哪里可以找到它?)

《第二参考》解释了如何编译内核,但它并非以第一个网站中编写的命令行开头,如下所示

./arm-softmmu/qemu-system-arm -kernel $PATH_TO_KERNEL/zImage -M vexpress-a15 -cpu cortex-a15 -dtb PATH_TO_DTB/vexpress-v2p-ca15-tc1.dtb -m 1024 -append 'console=ttyAMA0,38400n8' -serial stdio -initrd $PATH_TO_INITRD/initrd.img
Run Code Online (Sandbox Code Playgroud)

有替代方法来运行TrustZone仿真器吗?

linux android arm qemu trustzone

5
推荐指数
1
解决办法
1614
查看次数

切换到Secure world后OP-TEE的Linux调度器如何工作

我在 QEMU 上成功运行 OP-TEE,并想弄清楚调度程序是如何工作的。我修改了源代码,在进入安全世界之前和返回正常世界之后获取变量jiffies 。这是一段代码。

i=jiffies;
tee_smc_call(&param);
j=jiffies
Run Code Online (Sandbox Code Playgroud)

这里tee_smc_call是发出SMC调用的asm函数。我发现如果定时器中断导致离开SW,j将大于i 我认为这意味着计时器中断已在某处处理。如果我的推论不正确请纠正我。

我转到链接https://lists.linaro.org/pipermail/tee-dev/2015-August/000160.htmlhttps://github.com/OP-TEE/optee_os/issues/332。OP-TEE 开发人员表示,一旦切换回 NW,计时器中断将由 NW 提供服务。
我阅读了SW的IRQ处理程序的源代码。我认为 SW 处理程序会找到 NW 的 VBAR 并将返回地址更改为 NW 处理程序。但是我没有发现这样的代码。
我已经阅读了此网站上的一些帖子 TrustZone:来自两个世界的调度进程ARM TrustZone - 安全和非安全操作系统中调度程序的行为。后者与我的类似,但答案没有说明 OP-TEE 实现中发生了什么。

所以我想知道定时器中断在返回NW后再次被处理的魔力是什么,因为它已经在SW中服务过一次。

我对OP-TEE不太熟悉。这是我的第一个问题。如果不清楚或愚蠢,请原谅我。谢谢。

linux arm trustzone op-tee

5
推荐指数
1
解决办法
759
查看次数

ARM TrustZone,是否连接外围设备?

我目前正在对ARM的TrustZone进行一些研究,例如:ARM信息中心。据我了解,使用TrustZone可以创建基于AMBA AXI总线的安全环境。

ARM网站上,它表示:“安全和非安全世界的概念已扩展到处理器之外,涵盖了SoC中的内存,软件,总线事务,中断和外围设备。” 我读的外设可以通过被连接到的TrustZone Ñ小号的AMBA AXI总线的ecure位(额外的信号用于可信和不可信的请求之间进行区分)。

1)除了带AMBA AXI总线的额外引脚外,带TrustZone的SoC中的TrustZone特定硬件是什么?

2)是否可以将外部非易失性存储器(例如Flash)或其分区连接到TrustZone,从而可以访问安全环境(通过外部存储器接口和-然后内部-AXI总线)?如果否,如何存储秘密(作为密钥)以在安全环境中使用(借助保险丝?)?如果是,如何防止包含恶意代码的Flash被连接?

3)是否有可能在芯片出厂之前或之后以芯片供应商(例如TI或NXP)的客户的身份向安全领域实施代码?

谢谢您的回答。

security peripherals arm trustzone

5
推荐指数
1
解决办法
626
查看次数

如何检查Android手机是否具有TEE

我的Android应用程序的某些功能取决于手机上显示的TEE(受信任执行环境/ ARM TrustZone)。如何从Java应用程序中检测该手机是否安装了TEE,如果安装了TEE,那么它是什么供应商的TEE?谢谢!

android trustzone

5
推荐指数
1
解决办法
420
查看次数

TrustZone 与虚拟机管理程序

我刚刚在TrustZone上阅读ARM 的这份文档,有些事情我不清楚。

事实上,Hypervisor提供了一种特殊的 CPU 模式,并且对于TrustZone来说,处理器附带了一个额外的第 33 位:模式不是也是一个特定的位设置吗?那么,额外的一点是如何在安全性方面产生如此大的差异的呢?我确实知道额外的位可以为两个单独的 32 位地址空间让路,但除此之外,我无法将两个和两个放在一起。有人可以清楚地解释为什么TrustZone比 Hypervisor 更安全吗?

security arm hypervisor trustzone

4
推荐指数
1
解决办法
5156
查看次数