NFC SIM卡是否有内置天线?如何在SIM卡上安装applet?

时间:2016-03-05 04:26:52

标签: nfc javacard sim-card globalplatform handset

我搜索了有关NFC SIM卡的信息,并在这里和那里找到such explanations关于他们的信息:

  

对于那些想要使用近场通信技术的人   目前没有NFC兼容智能手机,还有其他   在手机上启用NFC的方法,无需交易   昂贵的新型号。 SIM卡和SD卡都可以配备NFC   芯片,以及一些公司目前提供或正在准备提供   这些选项使更多的客户可以开始使用NFC技术。

我现在的问题是:

  1. NFC SIM卡是否也有内置天线,或者手机必须为NFC SIM本身提供NFC天线?
  2. 如果NFC SIM没有内置天线,手机需要为SIM提供天线,(这意味着手机必须兼容NFC,对吗?)为什么我们需要NFC SIM?我们不能简单地使用手机的NFC芯片而不是SIM的NFC芯片。
  3. 换句话说,外面有没有NFC天线的手机,但没有NFC芯片?或者有没有办法将天线添加到旧手机中以便在其中使用NFC SIM?
  4. 无论如何,我们假设我想在我的SIM卡上安装以下applet(its source):

    import sim.toolkit.ToolkitInterface;
    import sim.toolkit.ToolkitRegistry;
    ...
    import javacard.framework.ISOException;
    
    public class STKTest extends Applet implements ToolkitInterface {
    
    public static void install(byte[] bArray, short bOffset, byte bLength) {
        // GP-compliant JavaCard applet registration
        new STKTest().register(bArray, (short) (bOffset + 1), bArray[bOffset]);
    }
    //this method handles standard APDU commands
    public void process(APDU apdu) {
        // Good practice: Return 9000 on SELECT
        if (selectingApplet()) {
            return;
        }
    
        apdu.setIncomingAndReceive();
        final byte[] buf = apdu.getBuffer();
        switch (buf[ISO7816.OFFSET_INS]) {
        case (byte) 0x00:
            //do something
            break;
        }
    }
    //this method handles the SIM Toolkit commands
    public void processToolkit(byte event) throws ToolkitException {
        switch (event) {
    
        case ToolkitConstants.EVENT_TIMER_EXPIRATION:
            //do something
            break;
        }
    }
    
    }
    

    问题是:我可以使用GlobalPlatform命令来安装我的applet(就像常规智能卡一样)或基于this presentation in DefCon,我必须使用Envelope命令,SMS数据包和OTA技术吗?

    最后一个问题是关于contents of this article(SIM卡应用程序开发的介绍)。在某些页面(例如第16页和第17页)中,提到的是现在有一些 GlobalPlatform 3 兼容的SIM卡。但据我所知,智能卡GlobalPlatform规范的最新版本是 GlobalPlatform 2.3 (未在文章发表时发布)。那么作者在他的文章中提到的 GlobalPlatform 3 规范是什么?

1 个答案:

答案 0 :(得分:4)

这是一个术语问题。

通常," NFC SIM卡"是指SIM卡,可直接与手机的NFC天线通信,并将其用作非接触式接口。在这种情况下,过时的V6引脚(最初用作附加电源)用于SIM和天线之间的通信,这就是为什么它通常被称为SWP通信("单线协议",请参阅{{ 3}})。目前使用的大多数现代SIM卡都是这些NFC SIM卡。

然而,还有"特别"市面上有SIM卡甚至microSD卡(带有Java Card支持!),它已经包含NFC天线,可以直接与智能卡读卡器通信而无需手机中的天线。这些SIM卡很少使用,因为它们非常昂贵,而且它们比日常使用的产品更具功能性原型。几个月前我测试了其中的几个并且它们非常多,它们的性能很差,并且它们的非接触式领域不是很可靠。当然,这很快就会改变。

是的,您可以使用Global Platform在SIM卡上安装applet。市场上大玩家的SIM卡(例如金雅拓)遵循全球平台标准。不需要OTA访问。