3

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

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

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

如果可能的话,我的目标是在 Titan M 安全元件中插入一个 JavaCard 小程序,并使用 OMAPI 将 APDU 发送到这个小程序。有没有人尝试过这样做?我很乐意收到有关使用此 API 和 Pixel 3 可以做什么的任何反馈。

谢谢。弗兰克

4

1 回答 1

1

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

乍一看,做一些有限的研究(主要是因为可用的信息有限),看起来情况并非如此。该 API 主要用于 SIM 卡,我非常有信心地怀疑 Titan M 片上系统(很可能带有 ARM SC300 内核)中是否存在 SIM API 或功能。

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

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

如果可能的话,我的目标是在 Titan M 安全元件中插入一个 JavaCard 小程序,并使用 OMAPI 将 APDU 发送到这个小程序。有没有人尝试过这样做?我很乐意收到有关使用此 API 和 Pixel 3 可以做什么的任何反馈。

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

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

所以,总而言之,你将不得不使用 Android 提供的高级界面——据我所知。

于 2019-02-28T23:59:53.580 回答