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

时间:2016-09-06 13:39:09

标签: android trust-zone qualcomm

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

在adb root shell中,

cat /d/tzdbg/log
cat /d/tzdbg/qsee_log

命令显示空结果。

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

4 个答案:

答案 0 :(得分:0)

如果您发现了这个:http://source.android.com/security/trusty/index.html

我相信这是相关部分:

  

目前所有Trusty应用程序都是由一方开发的       与Trusty内核映像一起打包。整个图像都是签名的       在引导期间由引导加载程序验证。第三方应用程序       此版本的Trusty不支持开发。

因此,除非您创建自己的自定义ROM,否则我认为您无法对Trusty做任何事情。

答案 1 :(得分:0)

首先,对于TEE,一个APP包含两部分,TA(Trust APP,在TEE中运行)和CA(客户端APP,在REE中运行)。

QSEE 已实施GlobalPlatform(GP)API(并非所有GP API),因此您应阅读GP API白皮书并使用它们来开发CA和TA。

但是,您不能自己安装CA和TA,因为CA和TA应该由TSM发送。

答案 2 :(得分:0)

我担心目前没有直接的方法来做到这一点。

如果您想立即学习使用TEE,我建议您使用运行OP-TEE或Open-TEE的VM(正如我在上面对@Cobain的回复中所读到的那样),作为GlobalPlatform API在不同设备上得到广泛支持。

不幸的是,您基本上需要成为设备OEM或已建立的软件供应商才能实现您想要的目标,但这可能会在未来变得更加容易 - 这是使用相对较新技术的不利方面。 / p>

TSM是一种可信服务管理器,这是一些GlobalPlatform TEE实现用于在TEE上加载TA的技术。它不适用于QSEE。

Trusty是Google专有的TEE,我不知道有任何可用的设备向用户公开。 QSEE是Qualcomm TEE。不幸的是,我无法对它可能做什么或不做什么做出评论。

答案 3 :(得分:0)

我想做同样的事情,但最终使用sequiturlabs框架在Raspberry Pi 3上的OP-TEE上开发Trusted应用程序。它在硬件上实现了一个hello world TA,但我仍然在寻找能够实现TA开发的东西使用Android作为REE的安全操作系统。

https://www.sequiturlabs.com/media_portfolio/sequitur-labs-collaborates-with-linaro-to-lower-barriers-to-iot-security-education-for-raspberry-pi-maker-community/