我可以在 Android Pixel 3 安全元件上使用 OMAPI 做什么?

What can I do with OMAPI on Android Pixel 3 secure element?

新的 Android Pixel 3 包含一个名为 Titan M 的安全元素。

首先,我想知道是否可以使用现在在 Android 9 上可用的 Open Mobile API(程序包 android.se.omapi)与此安全元素进行交互。

其次,我查看了这个 OMAPI,发现它允许将 APDU 消息发送到使用 ISO 7816 智能卡协议的应用程序。所以我想知道我可以与什么样的应用程序交互。

如果可能的话,我的目标是将 JavaCard 小程序插入 Titan M 安全元素并使用 OMAPI 将 APDU 发送到该小程序。有人试过这样做吗?我很乐意就此 API 和 Pixel 3 的功能提供任何反馈。

谢谢。 弗兰克

First, I am wondering if it is possible to interact with this secure element by using the Open Mobile API (package android.se.omapi) now available on Android 9.

乍一看并进行了一些有限的研究(主要是因为可用信息有限),情况似乎并非如此。 API 主要用于 SIM 卡,我真诚地怀疑 Titan M 片上系统(带有 ARM SC300)中是否存在 SIM API 或功能核心,十有八九)。

Secondly, I looked at this OMAPI and found that it allows to send APDU messages to applications using ISO 7816 protocol for smart cards. So I would like to know what kind of applications I can interact with.

在支持 OMAPI 的设备上支持 APDU 接口的 SIM 卡和嵌入式安全元件。然而,虽然我会说 Titan M 是一个嵌入式安全元件,但我敢打赌它不使用 OMAPI,因此,它不会通过 API 可用。实际上,如果它完全使用 APDU,我会感到惊讶。 ISO/IEC 如果您能够自己指定传输层,那么 7816-4 是一个您可以摆脱的痛苦。

If it is possible, my aim would be to insert a JavaCard applet into the Titan M secure element and to use OMAPI to send APDU to this applet. Has anybody tried to do that ? I would be happy to get any feedback on what it is possible to do with this API and Pixel 3.

我发现 Google 完全不可能愿意向 Oracle 支付许可费用来实施 Java Card。我当然没有看到 Google listed in the JCF,如果您自己实施本机 Java 卡解决方案,您会期望它。

最后,有很多帖子说 Titan M "firmware" 将由 Google 作为开源发布。然而,这一承诺从未兑现。请注意,为安全处理器发布此类代码非常棘手。如果发现需要软件修复的安全问题,则可能必须在所有地方应用该修复,并且修复的详细信息可能会帮助对手。

总而言之,据我所知,您将不得不使用 Android 提供的高级接口。