如何在Android的Secure Element中存储数据?参考:主机卡仿真

时间:2014-03-20 12:51:56

标签: android nfc hce

  1. 自推出Kitkat以来,Android声称主机卡仿真不需要安全元素。如果不需要,那么任何人都可以在Android中存储任何卡片细节?

  2. 还有OffHostApdu服务,如果我们的Android应用程序可以访问安全元素,developer.android.com也会提到这个服务 - 任何人都可以解释

  3. 此外,安全元素数据的内存是否有任何限制?

1 个答案:

答案 0 :(得分:4)

  

自Kitkat推出以来,Android声称Secure Element不是   主机卡仿真所需。如果不需要那么,怎么做   任何人都可以在Android中存储任何卡片详细信息吗?

使用Android Kitkat,您可以通过两种方式进行卡片模拟:

  1. 基于主机的卡片模拟。在此仿真中,您编写了一个Android服务,该服务模拟响应ISO7816-4 APDU命令的卡。该服务能够像任何其他Android服务或意图一样存储数据。

  2. 关闭主机卡模拟。这里,卡仿真代码位于安全元件内。通常,这些卡仿真不能由用户实现,而是由您的电话制造商,电话提供商或银行实施。无法访问普通用户,因为在安全元素上安装applet的密钥是保密的。 安全元素无法访问主机以存储数据,但它可以使用安全元素本身提供的非易失性内存。

  3. 每张卡片仿真都必须使用AID(应用程序标识符)进行注册。这些AID可以注册为基于主机的卡仿真或主机卡仿真。

    如果NFC阅读器开始与您的手机通话,它将发出一个SELECT APPLICATION命令,其中包含要与之通话的AID。一旦NFC芯片接收到这样的命令,它将检查其注册的卡仿真的内部注册表,并将为安全元件注册的所有内容路由到安全元件。所有其他通信都路由到主机。主机将检查其自己的可用脱机主机卡仿真注册表,并在找到匹配的AID时启动/激活脱离主机卡仿真服务。

      

    此外,安全元素数据的内存是否有限制?

    是的,确定有限制。如果没有限制,我们可以忘记硬盘和昂贵的存储,购买一个安全元素并存储世界上的所有数据: - )

    安全元素上的可用内存量取决于手机中内置的安全元素类型。不同的品牌和型号具有不同的内存大小。如果安全元素上预先安装了小程序,则内存也会受到限制。您通常不必担心这一点,因为您无法获得在安全元素上安装applet的密钥。

    一般来说,从64kb的存储空间到几千兆字节的任何内容都是可能的。