DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1361|回复: 0
打印 上一主题 下一主题

[待整理] 通过CCID接口让NFC智能手机实现近场通信

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-26 17:28:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
NFC手机通过CCID接口完成近场通信所需解决的主要问题就是在ISO14433规范中扩展CLF的功能,令CLF支持CCID,并从定制终端开始将CLF的此种功能发展成为NFC手机的标配。
          
          NFC手机配SWP SIM卡是目前国际规范定义的组合,SWP SIM卡需要NFC手机的支持,手机的NFC功能也只是为SWP SIM卡服务。但随着智能卡技术的演进,这一切未必一成不变。本文通过对现有的SWP与CCID技术的简要分析和对比,创造性的提出一种NFC手机通过CCID接口完成近场通信的方法和原理,并简述这种方法对手机SIM卡、终端、终端应用的影响和未来还须完成的工作。
          
          1.背景
          SIM卡如果要在移动支付和众多移动网络应用中承担重任,最好能支持非接通信并拥有大容量。
            
          大容量SIM卡要支持非接通信功能,必须具备以下条件:
          
          (1)终端、卡的技术规范;
          
          (2)终端、卡的测试规范;
          
          (3)终端、卡的测试环境、模拟环境;
          
          而现实情况是:
          (1)没有大容量SIM卡及其终端的非接技术规范,现行的普通容量SWP卡只定义了ISO/IEC 7816、SWP两种接口;联通大容量SIM卡及终端技术规范完善了ISO/IEC 7816中USB接口的定义及使用,但在之上叠加SWP功能,却绝不是简单照抄照搬国际规范,必须解决物理接口的选择(“SWP和CCID”或“ISO/IEC 7816、SWP和CCID”)、逻辑通道的选择(ISO/IEC 7816、SWP、CCID、大容量)、ISO/IEC 7816、SWP、CCID、大容量中任何两个以上并发等技术难点;
          
          (2)现有含两个接口的SWP普通SIM卡的测试规范,即ETSI TS 102 694,在涉及到有USB接口的地方以"FFS-For Fut-ure Study"带过,留待实现;
          
          (3)现在测试SWP普通SIM卡,使用Com-prion公司的ICC Spectro,测试内容依照ETSI现有规范实现,围绕ISO/IEC 7816、SWP两个接口展开,而针对USB-IC、SWP的测试环境、模拟环境尚待开发。
          
          所以,SWP大容量SIM卡的实现不是简单的硬件、软件、协议的叠加,我们需要换一种思路,探讨更为可行的更具优势的解决方案:不通过SWP协议实现NFC功能。
          
          2.SWP、7816、CCID的简单比较
          SWP是单线协议Single Wire Proto-col的缩写,是由Gemalto公司前身之一的Axalto提出的基于SIM卡C6引脚的单线连接方案,属于物理层协议。简单来说,就是用一根数据线沟通SIM卡与NFC模块,再通过NFC模块的CLF与外部通讯。当NFC手机通过CLF前端接收POS机数据后,便通过C6管脚传给SWP卡。CLF与POS机之间的射频场频率为13.56MHz,通讯速率有106、212、424、847kbps几档,目前使用106、212kbps居多。SWP规范要求每比特(bit)宽从590ns到10us,换算通讯速率小于2Mbps。
          
          ISO/IEC 7816国际规范是接触式智能卡必须遵循的规范,普通手机SIM卡在物理、电气特性方面遵循该规范。目前大多数手机支持的ISO/IEC 7816接口传输速率在100kbps量级。
          
          CCID(Integrated Circuit(s)Cards Interface Devicechip card inter-face device)规范定义了在USB通道上进行APDU(应用协议数据单元)封包格式及应用协议。符合CCID规范的USB设备既可以是读卡器,也可以是集成了CCID与智能卡功能的一体设备,遵循中国联通规范大容量SIM卡便是这样的一体设备。
          
          微软公司在其Windows 2000及以上的操作系统上提供并支持CCID驱动,使设备生产厂商可以轻松的开发使用符合CCID接口标准的设备。同时,CCID接口标准支持PC/SC接口调用,使广大开发者可以方便的对信息安全设备进行开发操作,在其它开源操作系统如Linux的众多版本上,也有许多开源的CCID驱动可供开发者和使用者使用。多数采用Android操作系统的智能手机也支持CCID驱动并提供PC/SC编程接口。图1所示为CCID协议定义的范围示意图。
       
       

        图1 CCID协议定义的范围示意图

         
        联通即将上市的大容量SIM卡为USB全速设备,总线速率达12Mbps,支持CCID协议。未来更可能升级为传输速率达480Mbps的USB高速接口,甚至传输速率为5Gbps的全双工USB 3.0。
          
          3.NFC手机的近场数据传输
          SWP SIM卡基于SWP协议通过C6触点与内置在终端的CLF进行数据通信。CLF与射频天线连接,负责射频信号的接收、发送和上层转发,基于ISO/IEC 14443国际标准完成底层工作。
          
          4.大容量卡模型
          SIM卡的8个管脚功能示意图如图2所示,C6可以是SWP卡的传输通道,C4、C8为USB D+、D-。目前,中国联通大容量SIM卡支持C4、C8管脚进行USB数据传输,应用协议包括CCID、海量存储器,C6留待将来使用。图3所示为大容量卡模型。
       
       
        图2 SWP卡工作模式示意图

           
       
        图3大容量卡模型

         
        5.使用CCID代替SWP
          通常情况下,SWP软件设计基于SWP标准和HCP(主机控制协议)标准。HCP标准是SWP协议之上的标准协议,定义了数据链路层之上的协议层——HCP路由层、HCP消息层以及应用层。底层SWP协议和上层HCP协议组成的协议栈共同完成NFC芯片与UICC通信的完整协议。该架构协议层级较多,实现、测试开销较大。图4所示为Android系统手机平台的架构图,原理图如图5所示。
       
       
        图4 Android系统手机平台的架构图

       
       
        图5 使用SWP协议的HCI架构图

         

         
          现在,我们设想在大容量SIM卡中采用CCID协议替换SWP+HCP协议的方式完成对非接数据的读写,原理图如图6所示。那么Android系统手机平台LINUX KERNEL部分将变为如图7所示。
       
       
        图6 使用CCID协议的架构图

       
       
        图7 新概念下Android系统手机平台

         
        从图6可以看到:CLF前端以通常方式接收数据传给终端,终端应用程序不需要通过SWP协议将数据传递给SIM卡,而是将NDEF格式的数据通过CCID传递给SIM卡。下面分析一下使用CCID代替SWP对SIM卡、手机和终端应用产生的影响。
          
          5.1 对SIM卡的影响
          支持SWP的用户卡必须同时支持ISO/IEC 7816和SWP两个协议栈,需要用户卡的COS是多任务操作系统,并且这两部分独立管理。在SWP线上传输的是准数字信号,需要特定的接收和解调电路,信号的噪声容限较低。而CCID接口是大容量卡必备的,所以,支持大容量卡的终端可以只支持CCID一种接口。采用CCID协议来替换SWP+ISO/IEC 7816或SWP+CCID甚至SWP+CCID+iso/IEC 7816协议,将减少大容量卡硬件芯片的SWP和ISO/IEC 7816电路部分,使得硬件处理和COS处理更加简化,功耗降低。一些技术处理和难点如物理接口的选择、逻辑通道的选择、ISO/IEC 7816、SWP、CCID、大容量中任何两个以上并发等问题都将迎刃而解。此套方案,SIM卡需要增加处理NDEF (NFC Data Exchanger Format)格式的数据。
          
          5.2 对手机终端的影响
          首先,CCID使大容量SIM卡变成扩展的手机存储空间,开放的大容量区域易于用户下载和自行管理,无论是通信还是存取数据都给用户带来前所未有的良好体验。
            
          第二,支持CCID的NFC手机需升级手机操作系统,手机可以先搜索SWP通道,如果存在,就将数据通过SWP通道发给SIM卡,如果不存在,就通过CCID通道发给SIM卡。所以,支持CCID的NFC手机并不影响对原有SWP卡的支持。
          
          第三,由于SIM卡的安全特性和身份识别特性,它可以作为PSAM卡,与终端一同成为一个拥有一定权限的可信平台和认证中心,承担安全认证的功能。所以拥有NFC功能的手机除了一卡通应用,还可以承载更多应用:
          
          (1)可以成为POS终端,对银行卡进行余额查询和扣费。
          
          (2)可以辩别身份证的真伪,了解持卡人的信用状况。
          
          (3)可以将煤气费、水费、电费等信息写入标签置于门外供查表员读取和查表员与用户互动。
          
          5.3 对终端应用的影响
          由于通信速率的提升,刷卡速度将会提升。目前,无论是全卡方案,还是SWP方案,刷卡速度都是工程师们致力解决的问题,目前城市一卡通中要求刷卡速度低于300ms,而影响这一结果的因素有二:
          
          (1)通信速率,通信方面对整个刷卡所占比重极小,随着CCID接口速度的提升,几乎可以忽略。
          
          (2)芯片对数据的处理速度占消费应用的绝大多数时间,大容量卡是为应用服务的,其芯片的CPU处理速度一定远高于目前普通SIM卡,所以,采用大容量卡进行近场通信,其速度不再是问题。
          
          5.4 需解决的问题及影响
          首先,CLF前端需要增加CCID通道,并支持CCID协议。因此,ISO/IEC 14433规范中关于CLF的描述需要修正,终端厂家也需要支持。
            
          第二,大容量SIM卡需要增加处理NDEF(NFC Data Exchanger Format)格式的数据。
          
          第三,普通支持SWP卡的NFC终端据称可以在关机时支持1000次刷卡,而CCID代替SWP的方案不支持关机操作,必须开机刷卡。但这种影响对使用者而言并非很大,因为使用手机近场支付的应用场景很多,一种是小额支付,不需要密码,如公交刷卡;一种是大额支付,需要密码,如商场消费。对于后一种情况,关机即便可以刷卡也是不方便不安全的。因此,不支持关机操作不会给应用的开发推广造成困扰。
          
          总之,NFC手机通过CCID接口完成近场通信所需解决的主要问题就是在ISO14433规范中扩展CLF的功能,令CLF支持CCID,并从定制终端开始将CLF的此种功能发展成为NFC手机的标配。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-15 12:03 , 耗时 0.091080 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表