如果我的问题听起来很愚蠢,我提前道歉,我不是开发人员,答案可能很明显(但至少对我来说不是......)。
我对 Android Kit-Kat 中引入的相对较新的主机卡仿真的可能性感兴趣。
使用以前基于安全元件的 NFC 应用程序,可以通过 NFC 控制器或“接触”接口(芯片和电话之间的插座)与 SE 中托管的小程序交换 APDU。
后者支持 SE 和运行在 Android 用户空间中的应用程序之间的通信(可以充当远程服务器的代理)。应用程序与小程序通信的授权是基于必须事先在 SE 中“注入”的应用程序的某种散列授予的——据我所知,这种安全机制是全球平台规范的一部分。
由于我在 Google 文档中阅读了此部分,因此我对 HCE 的类似可能性存有疑问:
HCE 架构本身提供了一项核心安全性:因为您的服务受到 BIND_NFC_SERVICE 系统权限的保护,所以只有操作系统可以绑定到您的服务并与之通信。
这让我认为用户级应用程序不可能与 HCE 服务交换 APDU——它只能通过 NFC 控制器从“外部”发生。如果我错了,该怎么做?是否有任何安全机制来控制哪个用户级应用程序可以与 HCE 服务通信?
我问这些问题是因为我想知道是否有可能开发一个能够显示通过 HCE 模拟的卡的内容并在远程服务器(充当 NFC 读取器)和 HCE 服务之间发起交易的 Android 应用程序。
谢谢你的时间!