Android Kitkat 4.4的Java Card Applet和基于主机的卡仿真

时间:2014-04-27 05:04:21

标签: android nfc android-4.4-kitkat javacard hce

我想创建基于Android Kitkat 4.4的NFC支付应用程序,它现在支持NFC卡仿真模式,不涉及安全元素和涉及安全元素。

我想让我的应用程序涉及一个安全的元素。所以,我有一个问题。 Android KitKat可以让我的应用程序访问安装在安全元素中的Java卡小程序吗?

2 个答案:

答案 0 :(得分:1)

如果安全元素是指SIM卡或手机中的专用芯片,答案是否定的:Android仍然不包含访问安全元素的API。 钱包等应用使用以下两种方法之一:

  • 提供对SE的访问权限的电话供应商特定API
  • 移动运营商特定的API,提供对UICC / SIM卡的访问,这也是一个安全元素。

两种API通常都遵循SIM联盟的“开放移动API”,http://www.simalliance.org/en/about/workgroups/open_mobile_api_working_group/

答案 1 :(得分:0)

不,虽然Android HCE文档列出了使用基于安全元素的卡仿真的可能性,但是在当前设备中阻碍使用安全元素存在一些问题:

  1. Nexus设备具有专用API,仅用于访问嵌入式安全元件(似乎没有用于访问基于UICC / SIM卡的安全元件的API)。但是,较新的Nexus设备似乎不再包含嵌入式SE。此外,只有Google(以及可能销售这些设备的移动网络运营商)才能使用这些权限来访问SE API。 (否则,您需要root权限才能将应用程序证书添加到允许的应用程序列表中。)

  2. Nexus设备似乎根本不启用UICC进行卡仿真。因此,即使您注册了脱离主机卡仿真的应用程序,也不能在此类设备上使用UICC。

  3. 许多其他(非Nexus设备)提供基于Open Mobile API的安全元素API(通常是SEEK-for-Android实现或基于它的东西)。这些设备似乎主要使用该API来访问基于UICC / SIM卡的安全元件。 (没有关于与Android 4.4的脱离主机卡仿真服务注册交互的信息。)

  4. 您需要访问安全元素(即您需要知道在SE上安装/管理应用程序的密钥)。除非您与设备制造商(针对嵌入式安全元件)或移动网络运营商(针对基于UICC / SIM卡的安全元件)进行良好合作,否则这通常是您无法获得的。