移动设备内置eSE

内置eSE的NFC-SWP

    SE是一个CPU卡,可以运行智能卡应用程序(称为小应用或卡应用)。一个智能卡从本质上讲就是在单一芯片上的微型计算环境,具有完备的CPU,ROM,EEPROM,RAM和I/O接口。一般智能卡还具有密钥算法协处理器,可以支持常用的加解密算法,例如DES,AES和RSA等。智能卡通过多种技术实现抗攻击特性,很难通过分解或分析芯片提取数据。事实上手机用户对SE都不陌生,因为手机的SIM卡本身就是一个SE(技术上讲只能在GSM中叫做SIM卡,更通用应该叫UICC。
    
    SWP方案有三种实现方式,分别是NFC-SIM方案、NFC-SD方案以及全终端方案。目前银联首推SWP-SD方案,国内三大运营商中国联通、中国电信、中国移动以SWP-SIM方案作为目标方案,而手机厂商侧推内置eSE方案。
 

  全终端方案框架图如下:


NFC SWP协议

   在手机中通过连线模式访问SE,实现物理层和数据链路层的连接。
    内置式SE或SWP UICC分别通过SignalIn/SignalOut接口(S2C,即NFCWI)和SWP接口与NFC控制器连接,具有三种操作模式:关闭,连线和虚拟。
· 关闭模式,NFC CLF模块与SE没有通讯
· 连线模式,NFC CLF模块使SE对Andorid操作系统可见,就像与RF读写器连接的(非接触式)智能卡
· 虚拟模式,NFC CLF模块使SE对外部读写器可见,这时手机就像一个非接触智能卡
   这三种模式本质上是互斥的,因此我们可以通过外部非接触界面与SE通讯(例如外部读写器),或者通过内部连线接口访问(例如通过Android上的应用程序),但无法同时使用这两种方式。

   在手机开机后,缺省状态下,SE是处于关闭状态。因此为了实现卡模拟,需要将SE置于虚拟模式,并在这三种模式之间自由切换,我们必须先实现在手机内部对SE的访问


NFC HCI协议

SWP实现物理层和数据链路层的连接,通过SE上的SWP的电流电压变化来传递信息,实现物理数据传输、数据链路层无误传输数据、对接收和发送的数据排序、数据链路层流量控制等功能。
   

   HCI协议(Host Controller Interface)与SWP接口关系可类比计算机网TCP/IP协议与以太网、WIFI、ADSL等物理实体接口的关系理解,即HCI负责逻辑地址和管道、端口的建立,不关注底层物理连接特性,且HCI协议不特定用于SWP物理接口形式。


NFC HCI协议栈

SWP协议栈的总体流程图。


一个特定的系统所使用的一组协议称为协议栈。SWP接口系统为完成与NFC芯片的数据传输,底层使用SWP协议,上层使用HCI协议。

SWP协议和HCI协议一起组成了SWP接口系统的协议栈。SWP协议分为MAC层和LLC层,其中MAC层负责封帧和解帧,LLC层实现帧的错误管理和数据交互的控制。



eSE实现GP Java智能卡

    eSE能实现银行卡的作用,简单的说,就按GlobalPlatform卡片规范,实现了一张智能卡。因此需要将Java Card VM移植到SE中。
    

    GP(Global Platform)是一家由支付和通信业的领先厂商、政府相关部门以及供应商社区共同建立的组织;提出了一个跨行业的智能卡全局基础架构及其实现,其目标是为了减少隐藏在快速增长的跨行业、多应用的智能卡背后的障碍

 

eSE实现GP Java智能卡

    eSE能实现银行卡的作用,简单的说,就按GlobalPlatform卡片规范,实现了一张智能卡。因此需要将Java Card VM移植到SE中。

    Java卡是指能运行Java程序的智能卡,针对这种新的平台,Sun公司的Java Soft部门制定了Java Card技术规范。包含Java Card VM和API的详细信息。Java Card VM位于智能卡的底层OS上,使用通用的编程语言和系统接口屏蔽了不同的智能卡硬件和OS差异。Javaka的框架定义了供应用程序开发人员使用的API。Java卡的应用程序为Applet,每个Applet由唯一的AID应用程序标示符来识别。钱包应用,公交卡等


猜你喜欢

转载自blog.csdn.net/junwua/article/details/80912792