nfc - NFC SIM 卡有内置天线吗?如何在 SIM 卡上安装小程序?

标签 nfc javacard sim-card globalplatform handset

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

For those who want to use near field communication technology but don’t currently have an NFC compatible smartphone, there are other ways to enable NFC on your phone without trading it in for an expensive new model. Both SIM and SD cards can be equipped with NFC chips, and some companies currently offer or are preparing to offer these options so more customers can start using NFC technology.



我现在的问题是:
  • NFC SIM 卡是否也有内部天线,或者手机必须为 NFC SIM 本身提供 NFC 天线?
  • 如果 NFC SIM 没有内置天线,而手机需要为 SIM 提供天线,(这意味着手机必须兼容 NFC,对吗?)为什么我们需要 NFC SIM?我们不能简单地使用手机的 NFC 芯片代替 SIM 的 NFC 芯片吗?
  • 或者说,外面有没有NFC天线,但没有NFC芯片的手机?或者有什么方法可以在旧手机上添加天线以便在其中使用 NFC SIM?

  • 无论如何,假设我想在我的 SIM 卡上安装以下小程序 ( 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 命令安装我的小程序(就像普通智能卡一样)还是基于 this presentation in DefCon ,我必须使用Envelope Commands、SMS Packets和OTA技术吗?

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

    最佳答案

    这是一个术语问题。

    通常,“NFC SIM卡”是指SIM卡,它可以直接与手机的NFC天线通信,并将其用作非接触式接口(interface)。在这种情况下,废弃的 V6 引脚(最初用作附加电压源)用于 SIM 和天线之间的通信,这就是为什么它通常被称为 SWP 通信(“单线协议(protocol)”,参见 this Wikipedia article)。现在使用的大多数现代 SIM 卡都是这些 NFC SIM 卡。

    然而,市场上也有“特殊”的 SIM 卡甚至 microSD 卡(支持 Java 卡!),它们已经包含 NFC 天线,可以直接与手机中没有天线的智能卡读卡器通信。这些 SIM 卡很少使用,因为它们非常昂贵,而且它们是功能性原型(prototype),而不是可供日常使用的产品。几个月前我测试了其中一些,它们有很多错误,它们的性能很差,而且它们的非接触式磁场不是很可靠。当然,这种情况很快就会改变。

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

    关于nfc - NFC SIM 卡有内置天线吗?如何在 SIM 卡上安装小程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35809998/

    相关文章:

    android - NFC-V "Tag Lost"Xamarin 和 ST M24LR 标签异常

    javacard - 如何在 Java Card 中将整数转换为二进制字符?

    smartcard - SIM卡和JCRE混淆

    ios - 是否有可能在2011年以编程方式获取iphone的电话号码?

    android - 如何编写 Nexus S NFC 读取的 RFID 标签?

    android - 通过 HCE 模拟信用卡

    android - 用 Android 写 "NfcA only"标签

    permissions - 直接访问小程序,无需选择AID

    java - Eclipse IDE 能够生成 javacard cap 文件,但在命令行中我遇到此错误

    Android 和 Symbian NFC 移动开发问答(FAQ)