通过扩展单线接口提升近场通讯应用安全性和兼容性
文章出处:http://www.nexussmartsolutions.com 作者: 人气: 发表时间:2012年03月30日
摘要:本文介绍了一种近场通讯设备中,非接触前端芯片CLF和安全单元SE之间的单线通信协议。该协议在典型的单线协议基础上进行扩展,实现CLF和SE的实时透明传输,可提升近场通讯设备卡片模拟的应用兼容性和安全性。
经过多年的发展,近场通讯技术逐渐趋于成熟稳定,随着Android平台的新款近场通讯智能手机的陆续上市,期盼中的近场通讯市场大门终于打开了,原来停留于纸面的各种移动非接触应用构思将一一实现。尽管近场通讯应用通常被划分为三类:卡片模拟、读写器和点对点通信,但始终被人们所关注、最吸引眼球的应用,非移动支付莫属。所以说近场通讯本质上是一个非接触智能卡的应用,无非是智能卡的载体发生了变化。从结构化的角度出发,近场通讯的实现方案采用的是双芯片架构,即CLF(Contactless Front非接触前端)芯片和SE(Security Element安全模块)芯片,如图1所示:
图1 近场通讯架构
其中CLF芯片负责处理非接触射频接口和通讯协议,SE芯片负责处理智能卡的应用和数据管理。采用这种设计架构的优点在于:
1)CLF与SE双芯片架构,容易实现机卡分离。CLF集成在终端上,实现完整的非接触射频接口;而智能卡应用涉及诸多安全要求,需要发行管理而后才进入应用环节,SE从近场通讯终端上分离,可以独立于终端之外单独发行,管理上容易保持与现有系统的一致。
2)智能卡往往是封闭应用环境,不同地区不同应用之间,即使是同一款智能卡,其初始化配置也会不同。CLF与SE架构,通用近场通讯终端可与不同的SE搭配实现不同的应用需求。
3)CLF及其射频天线集成在终端上,易于实现一致性的非接触接口性能。
近场通讯终端实现卡片模拟功能,由CLF和SE联合完成,CLF与SE之间需要定义连接接口。目前被广泛接受的接口主要有两种:单线协议接口SWP(ETSI TS 102 613标准)和两线接口S2C(NFC-WI接口标准)。由于SWP接口和SIM卡标准有机地结合于一体,使得SIM卡非常适合作为NFC终端的SE,这种接口的市场接受度高一些。S2C接口因为采用了透明的传输方式,使得SE与CLF模拟的卡片特性最大程度上与普通非接触卡保持一致,应用兼容性最好,但因需占用两个连线,无法与SIM卡结合使用,因此出现基于该接口的全终端方案(CLF和SE合封之后集成在手机主板上),但全终端方案无法做到机卡分离,在一定程度上制约了应用发展。
作为主流的CLF-SE接口,SWP定义了完整的一套通讯协议,在SE和CLF之间传输ISO14443协议数据包时,需要将ISO14443协议数据转换成符合SWP协议的数据包,增加MAC(介质访问控制)层及LLC(逻辑链路控制)层,组成SWP数据帧,如图2所示:
图2 SWP帧结构
SWP协议的编码和解码、组帧和解帧,再加上接口传输时间,使得近场通讯终端模拟的卡片比标准的非接触IC卡(PICC)在响应非接触识别设备(PCD)的时序上有所不同,如图3所示,Tclf,receive和Tclf,transmit表示了SWP接口带来的额外延迟时间,SWP接口延时表示为:
TCLF,delay = TCLF,receive + TCLF,transmit
图3 SWP接口延时
SWP 协议中定义的CLT( C o n t a c t l e s s Tunnelling)帧格式,如图4所示:
图4 SWP CLT帧格式
CLT Payload表示数据区,最大长度为29byte,非接触数据(ISO14443或ISO18092)加上相应的校验数据,整体打包存放在该区域,如图5所示:
图5 CLT Payload数据区
ISO18092或ISO14443帧数据转化成CLT帧时,会增加SOF,LLC control field,CRC16,EOF共5字节数据,在SWP为848K波特率条件下,理想收发的最小延时是:
TCLF,delay = TCLF,receive + TCLF,transmit=(5+X)*8/BPS_swp+(5+Y)*8/BPS_swp
其中,X为接收字节数,Y为回发字节数。即使按X,Y都为1的情况,以SWP波特率848K计算,Tclf.delay也要大于113us。随着应用数据的增多,延迟时间也随之增多。ISO14443-4定义了非接触应用层协议,对响应时间没有严格规定,因此SWP接口可以实现SE-CLF的卡片模拟功能,但要求PCD等待PICC响应的超时设置相对长一些,否则会发生兼容性问题。这是SWP接口面临的一个问题。根据ISO14443-3标准规定,REQA、WUPA、ANTICOLLISION、SELECT(寻卡、唤醒、防冲突、选卡) 几条指令( 此处仅针对t y p e A标准分析),P ICC对PCD最小响应时间是1172/F c(Fc=13.56MHz),换算为时间约86us,即使将SWP接口速度提至标准的极限,再加上芯片的数据处理时间,这些指令也无法通过SWP接口及时完成。因此在已出现的近场通讯解决方案中,ISO14443-3的指令由CLF直接响应,当进入ISO14443-4层协议时,再通过SWP接口由SE对PCD响应。
图6 近场通讯设备响应非接触指令的划分
虽然这样实现的卡片模拟功能,除了稍微增加了一些延时之外,功能上与普通卡片表现一致,但其背后隐含着另一个比较严重的问题。ISO14443-3定义的几条指令会处理卡片的UID(唯一识别码)。UID在非接触应用系统中非常重要,通常是一卡一密模式密钥分散的因子,并且非常多的应用系统中以UID作为卡片的识别标志。当SWP近场通讯方案中,由CLF完成ISO14443-3协议时,是CLF回答UID给PCD,必然要求SWP SIM卡在放入近场通讯终端时,通过同步操作事先将SWP SIM卡的UID传送至CLF并保存。普通IC卡的UID在出厂后是不允许被改动的,并且各IC卡厂商和运营商制定了多种管理办法来保证UID的唯一性。由于机卡分离的结构,近场通讯终端可能被置入不同的SWP SIM卡,这意味着CLF的UID必定是可被改写的。当UID可被改写后,UID的唯一性管理将面临重大挑战,会导致一些应用系统的帐务管理发生混乱(UID重号带来对账无法完成),并降低系统的安全性(克隆卡难度降低)。
因此,尽管SWP已经成为近场通讯的一种主流解决方案,相应的技术标准也制定出台,但SWP接口存在的延时问题和衍生的UID管理问题,对近场通讯将来的发展会有一定的影响,需要有一种更有效的解决方案。
复旦微电子推出的SMAP3.0解决方案,通过机卡分离、多卡多用的通用架构,可以有效地推动近场通讯终端的开发。在SMAP3.0方案中,结合SWP和S2C接口的各自优点,提出了一种增强的、实时传输单线接口eSWP。
由于ISO14443标准自-1至-4部分,详细定义了从物理层到应用协议层的规范,并在大量的非接触IC卡应用中得到检验,其协议是完备可靠的。eSWP接口在保持对SWP协议兼容的基础上,扩展出一种基于单线的透明传输模式,CLF-SE接口直接采用重新实时编码的ISO14443通讯协议,得到了与S2C接口同样的实时和兼容的效果。采用了这种模式,使得SE有能力处理包括ISO14443-3部分在内的所有非接触指令,即解决了应用兼容性问题—CLF-SE架构实现的卡片时序特性与标准PICC完全一致,又解决了UID管理问题—UID不必预先由SE转存至CLF,而是由SE直接回复。CLF完全变成透明传输通道,从而让近场通讯解决方案实现机卡分离和非接触兼容性良好统一。
eSWP接口同样区分type A类型和type B类型接口。对e SWP-A,CLF输出的信号S1为电压信号,编码为Miller码调制的载波信号,载波频率为6.78MHz。SE回发的S2信号为电流调制信号,编码为manchester带848k副载波调制。回发时S1信号为没有调制的载波信号。(下见图7为S1输出信号波形,图8为S2回发信号编码波形)。
对eSWP-B,由于有连续的时钟信号,CLF处理更加简单。CLF输出到SE的S1信号采用1.69MHz的载波调制,逻辑单元1和0的定义可以与标准SWP保持一致,用载波时钟占空比表示。再通过下图的编码方式表示ISO14443标准的逻辑信号(见图9),eSWP-B信号波形可表示为(下见图10、11)。
综上,SMAP3.0解决方案在支持通用的SWP接口基础上,扩展了透明传输的eSWP模式,使得近场通讯终端仍然可以利用SIM卡或SD卡实现机卡分离的SE,但表现出与标准非接触卡同等的非接触性能,对于近场通讯终端与现存非接触应用融合发展,特别是与非接触逻辑加密卡系统结合,有着无可替代的优越性。(文/上海复旦微电子集团股份有限公司 技术总监 李蔚)
【稿件声明】:如需转载,必须注明来源和作者,保留文中图片和内容的完整性,违者将依法追究。