问题标签 [trust-zone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

arm - 如何在juno board中Linaro提供的Trusted固件中访问大于4G的物理地址

我在 Juno board r1 上使用 Linaro 提供的可信固件映像(LSK 和 Android 文件系统)。就我而言,我只想在 EL3 中进行一些琐碎的测试,例如,读取特定的内存。为了让事情变得更容易,在系统完全启动之前我什么都没做。然后我加载一个发送 SMC 指令的内核模块,SMC 异常将在 BL3-1 中由自定义处理程序处理。在处理程序中,我为 EL3 禁用了 MMU 并尝试直接访问物理地址。但是我发现如果物理地址大于0xffffffff(4G),我得到的内容就会全为0。小于0xffffffff的物理地址就完美了。如果我将该物理地址映射到小于 0xffffffff 的虚拟地址(Linaro 的 EL3 只支持小于 0xffffffff 的虚拟地址),它也可以工作。所以,

有没有人知道详情?非常感谢你帮助我!

0 投票
1 回答
672 浏览

android - Android中硬件支持的密钥存储

在搜索有关 Android 上的安全密钥存储的网站/博客和文章时,我发现硬件密钥存储的解释不一致。从某种意义上说,有人说密钥存储在可信执行环境 (TEE) 中,而另一些人说只有从硬件密钥(在 TEE 中烘焙)派生的主密钥用于加密加密密钥,因此存储在正常的世界。

总而言之,安全的硬件支持密钥存储

  • 存储在 TEE 中的密钥?
  • 存储在正常世界中但受硬件派生密钥保护的密钥?

哪一个在Android中实现?或者两者都有可能并且实施取决于处理器制造商?

litaturate是相当不一致的。

提前致谢,

吉尔斯嘉利宝

0 投票
1 回答
405 浏览

arm - GIC v2 虚拟化支持系统

我正在尝试实现某种中断例程。

它与具有 GIC v2 H/W 支持的虚拟化有关。

我的问题是:

这是我的问题。请让我知道是否正确。我需要更多背景。感谢您之前的重播。

0 投票
1 回答
621 浏览

linux - 如何使用 TrustZone 从安全世界内省正常世界?

我了解到安全世界可以保护关键数据不被正常世界访问,我不明白的是如何从安全世界衡量正常世界的完整性。

我在 Samsung TZ-RKP 和SierraTEE中找到了一些相关的工作,它们都实现了一个可以衡量正常世界完整性的功能。但他们没有提供技术细节。我有两个问题,如果有人能给我一些线索,我将不胜感激。

  1. 假设我想看看普通世界中正在运行哪些进程,我是否必须使用普通世界中的内核模块来帮助我这样做?如果是这样,我如何确保它已将正确的结果传递给安全世界?准确地说,我如何检查内核是否已被破坏?

  2. 假设我有一个 RSA 密钥对,并且我将私钥保存在安全的世界中。当一个进程请求解密某些数据时,安全世界如何知道该请求是否来自立法进程?白名单机制可能会有所帮助,但如果正常世界的内核已被破坏并且对手假装是立法者怎么办?安全世界似乎对正常世界发生的事情一无所知。

即使可以确定它来自立法程序并使用私钥解密数据,解密的数据仍然会以某种方式返回到正常的世界区域(即共享内存),并且解密的数据仍然可以是泄露。那么在安全世界中保留私钥有什么意义呢?

顺便说一句,我正在使用 armv8 板。

提前致谢。如果你能给我提供一些例子,那就太好了。

0 投票
1 回答
566 浏览

linux - OP-TEE的Linux调度器切换到安全世界后如何工作

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

这里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: Scheduling processes from the two worldsARM TrustZone - Behavior of the scheduler in Secure and Non-Secure OS。后者与我的相似,但答案并未说明 OP-TEE 实现中发生了什么。

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

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

0 投票
0 回答
28 浏览

emulation - VisualStudio 2015 android 模拟器是否能够模拟 TrustZone?

我正在研究 Android 中使用 Trustzone 的应用程序。只是想知道 VisualStudio 2015 Emulator 是否能够模拟环境?

提前致谢

0 投票
1 回答
792 浏览

arm - Linaro 如何安排 OPTEE?

我想知道代码的哪一部分是项目 OPTEE https://github.com/OP-TEE的调度程序。

更具体地说,代码决定了多核架构在哪个 CPU 安全世界和正常字处理上运行。

任何建议都非常感谢。

0 投票
1 回答
3519 浏览

raspberry-pi - 在树莓派上实现 ARM TrustZone

这是我第一次在 Stack 上,请多多包涵 :D

我正在实习,我致力于在 Raspberry pi 上运行 TrustZone。我已经找到了一些关于 ARM 文档的信息,但它并没有真正回答我的问题。我尝试在 github 上使用 github.com/songwenbin247/TrustMe 实现 TrustZone,但我在 2.d 上被阻止了。命令行“文件 vexpress-a9.img”给我:vexpress-a9.img:x86 引导扇区“但我没有成功创建分区。有人可以告诉我它是否可以在 Raspberry 上制作 TrustZone 教程?还有什么我必须做分区?谢谢你的回答。

0 投票
0 回答
315 浏览

linux - ARM 信任区 - 从 SVC 切换到监控模式时出错

我是 ARM TrustZone 的新手,我正在尝试了解它的工作原理(因此,目前这种方法的所有安全隐患对我来说并不重要)。我有一个带有 iMX6 Cortex-A9 处理器的 Sabrelite 板,它可以安全启动(Linux 内核)。我编写了一个简单的内核模块,应该将处理器模式从 SVC 切换到 Monitor 模式,但结果是分段错误。

这种方法有什么问题?

这是代码:

和装配监控程序:

insmod 这个模块导致:

0 投票
4 回答
4146 浏览

android - 如何在 Android 应用程序中与 QSEE 通信?

我对使用TEE开发受信任的应用程序很感兴趣。我有一台装有Android 5.1.1 (LMY48M)的Nexus 5。我想创建一个非常基本的 hello world 应用程序来理解在真实设备上运行的 TEE 逻辑。Nexus 5 支持QSEE(高通安全执行环境),但我找不到任何关于如何在常规 Android 应用程序中包含 QSEE 通信库的文档。

在 adb root shell 中,

命令显示空结果。

以前有没有人尝试过开发这样的应用程序?任何帮助将不胜感激。