使用可识别的背景的想法非常好。然而,T. Pornin 非常友好地指出了这种方法的一些问题。
简短:使用 MobiCore 或其他可用的 TrustZone 实现。对于没有 TEE 的不受信任的设备,目前您只需要使用 Rich OS。将来,可能会有更多设备提供 TEE。
信任和确认问题
最终,问题是:如果您不能信任在设备上执行的组件和软件,您就不能相信设备不会更改向用户显示的确认消息/按钮。
这个问题没有完美的解决方案(在不受信任的设备上要求确认)。这是一个众所周知的事实。通常被认为是“可信”的设备(例如 ATM)有时甚至会出现问题。因此,银行和信贷业务总是期待一定数量的欺诈行为并准备好应对它。
不受信任的设备
对于许多应用程序而言,目前认为让应用程序直接在不受信任的移动设备上运行是足够安全的。(如网上银行等)
可信执行环境
如果可以为需要额外信任的用例提供受信任的环境怎么办?(用于移动商务、BYOD 等用例)
网络运营商和硬件制造商正式制定了可信执行环境的许多要求,可用于在非可信操作系统(也称为 HLOS、丰富操作系统、通用操作系统或普通世界操作系统)的设备上的可信环境中运行“可信软件”。这些文件是 OMTP TR0 和 OMTP TR1。它们是 TEE 通常要求的最佳演示之一。
信任区
大约十年前,ARM+Trusted Logic 开始研究这个想法。ARM 处理器获得了 TrustZone,从那时起就一直存在。尽管在实践中基本上是个好主意,但最大的问题是:硬件支持,但直到最近,软件解决方案确实得到了如此多的利用。
从技术上讲,可以将 TrustZone 视为对虚拟化的有限硬件支持,旨在使用一种丰富的操作系统和一种安全的操作系统。
G&D MobiCore 是少数几个应用到主流手机的实现之一,它在三星 S3、S4 上可用。三星 Note III 有三星诺克斯。我认为它也是基于 TrustZone 上的 MobiCore。
其他一些手机有一些其他软件。在许多情况下,没有关于手机如何使用它们可以或加载在 TrustZone 上的软件的详细信息,目前几乎所有的智能手机都可以使用该软件。
为了获得对 TrustZone 的适当软件支持,G&D、ARM 和 Trusted Logic Mobility 共同创立了 Trustonic,它正在打造下一代 Trusted OS