如何使用NFC功能在SIM卡中存储Android应用的数据

来源:互联网 发布:千方百剂医药软件8.23 编辑:程序博客网 时间:2024/05/16 01:13

可以将SIM卡作为安全元素使用,NFC的Card Emulation模式下能做到,GSMA比较喜欢用这种方式。

要访问手机中的安全元素,我们需要使用可信服务管理器(TSM)。但TSM要求我们必须在线"online"。我们需要给TSM服务器发送信息,然后TSM服务器再发送这些数据到SIM卡上。

== Phone == |                    | == TSM ==Application | ---- Network ----> | ServerSIM card    | <----------------- |

而且仅仅有用TSM还不够,我们还需要SIM卡的证书,没这些证书,我们就没办法从TSM端更新SIM卡上的数据。这些证书为运营商控制。

另外TSM并不是一个标准,并不是所有的卡和运营商支持。

如果要往SIM卡存应用的数据,TSM通过向SIM卡发送数据短信的方式传输存储数据,问题在于,早期的NFC手机主要功能是读写NFC TAG,而访问安全元素则非常麻烦。非常少的NFC手机在Card Emulation模式下使用SIM卡作为安全元素,只有特定国家的特定运营商支持。

我觉得,

Google开源代码托管项目上的seek项目,SmartCard API在android平台上实现了 simallience的open mobile api,可以实现以下需求,只是,可能会涉及到给现有ROM打补丁和刷机。

另一个话题:如何从android应用直接访问SIM卡。

显然这又是要我们往android源代码打补丁和刷机了,

  • 往 RIL layer打补丁;
  • 往 Android Framework打补丁;
  • 需要获得SIM卡的证书,可以使用开发卡,但这样就无法连到运营商网络了;
  • 自己开发SIM卡应用,通常是JAVA的卡;
  • ...

或者考虑使用特殊的SD卡吧,这样似乎更简单点,别折腾了。


问题:

I am developing a NFC application. My application will process secret information and I want to store that data on the SIM card. Is it possible, and if it is possible, how can I do this? My phone's android version is Android 2.3.5.

0 0
原创粉丝点击