一种在标准数据接口实现智能卡控制指令传输的方法

文档序号:6483217阅读:159来源:国知局
专利名称:一种在标准数据接口实现智能卡控制指令传输的方法
技术领域
本发明属于安全移动存储领域,具体涉及一种在标准数据读写协议上 建立逻辑通道,使安全移动存储设备具备高速、无驱的指令传输能力的方 法。
背景技术
随着手机、PDA等智能终端设备的不断发展,各种新型的数据交互接 口逐渐普及,成为了移动便携设备的标准接口。这类接口基本上都是从 MMC/SD设备接口不断发展演变而来,包括Mini MMC接口、MMC接口、 SD接口、 Mini SD接口和Micro SD接口 (TF卡接口)等。
接口性能的提升不仅使扩展卡的体积不断縮小,同时使之在数据传输 速度上大为提高, 一般来说,这类接口能够提供20 200Mb/s的数据传输 速度,主要用于逻辑块设备与移动便携设备的通讯。
NAND FLASH技术的不断更新使移动存储设备得到了广泛的应用,基 于USB BOT接口的Mass Storage设备得到了广泛应用,如U盘、USB移 动硬盘等。通过USB2.0高速接口,这类设备能够提供超过400Mb/s的数据 传输速度。
为了适应手机电视、手机银行、安全数据存储以及3G时代新兴应用的 需求,如何通过高速接口传输智能卡控制指令成为了一个亟待解决的技术 难题。很多厂商提出了不同的解决方案来实现一个高速的指令传输通道, 用于智能卡控制指令和数据的高速传输。但是,这些方案都面临着兼容性 问题专用接口需要硬件支持或者底层驱动的支持,由于兼容性的限制, 这些指令传输通道都无法普及。

发明内容
本发明的目的在于提供一种在标准数据接口实现智能卡控制指令传输 的方法,该方法可以完全兼容现有块设备驱动接口,并能高速、无驱的传 输智能卡控制指令,该方法还具有既安全又成本低的特点。
本发明提供的在标准数据接口实现智能卡控制指令传输的方法,其步 骤包括
第1步主机终端对插入的移动存储设备进行识别,如果是带有智能 卡芯片的安全移动存储设备,则转入第2步,否则,主机终端拒绝移动存 储设备接入,转入步骤第7步;
第2步主机终端向安全移动存储设备发送智能卡控制指令数据包; 第3步安全移动存储设备识别智能卡控制指令数据包,并执行该智 能卡控制指令;
第4步主机终端向安全移动存储设备发送取响应指令数据包,以获取 对应于智能卡控制指令的处理结果;
第5步安全移动存储设备识别取响应指令数据包,并将上述智能卡控 制指令的响应结果发送给主机终端;
第6步主机终端获得所述智能卡控制指令的处理结果;
第7步终止。
为了解决目前日益普及的各类安全应用对便携设备、安全移动存储等 的高速数据和智能卡控制指令的传输需求以及各平台对设备接口兼容性问 题,通过在现有的USB2.0等标准数据读写协议之上为智能卡控制指令的传 输开辟逻辑通道,结合终端软件和智能卡芯片CPU的处理能力分别对智能 卡控制指令进行封装和过滤,以实现在现有高速接口上传输智能卡控制指 令的目的。
本发明针对现有高速传输协议,如USB2.0、 MMC、 SD等,无法传输 智能卡控制指令,从而不能满足日趋成熟的手机电视、手机银行、安全数的要求的现状,提出了在现有高速通讯协议之 上开辟智能卡指令逻辑传输通道,并对传输指令进行符合标准读写传输要 求的封装,结合智能卡芯片对智能卡控制指令进行过滤和处理,从而实现 高速的、无驱的指令传输服务,扩展了存储设备的功能。
通过本方法进行改进的数据通讯接口协议能够广泛应用于USB、 MMC/SD以及SATA/PATA等块设备数据通讯接口上,为安全移动存储设备 提供高速、无驱的指令传输服务。本发明尤其适用于手机电视、移动支付、 保密存储等安全移动存储领域。


图1为现有设备功能模块示意图。
图2为智能卡控制指令传输的总体流程图。
图3为智能卡芯片对智能卡控制指令(包括取响应指令)进行识别并 处理的流程图。
具体实施例方式
普通的移动存储设备,如U盘,移动硬盘等,作为简单的数据存储设 备只负责响应主机对其的读/写命令,在主控芯片和文件系统的控制下对块 数据进行存储访问,无法对数据本身进行识别和处理并进行针对数据本身 的细颗粒操作。为了提升移动存储设备的安全特性,满足日益丰富的安全 应用的需求,各大厂商都提出了自己的安全移动存储设备解决方案,其结 构示意图如图1所示,但各厂商不同产品间存在兼容性问题,无法普及推 广。本发明在现有的标准高速传输协议上建立逻辑通道,此逻辑通道是采 取在普通数据包前加上数据包头TAG来实现的,其中,数据包头TAG用
以区分普通数据包和智能卡控制指令数据包,利用对此逻辑通道可以实现 智能卡控制指令的高速、无驱传输,很好的解决了设备兼容性问题。
本发明提供的标准接口智能卡控制指令传输方法,包括设备识别、指
6令发送和响应获取等过程。通过借助以下实例更详细的说明本发明,且以 下实例仅是说明性的,本发明并不受这些实例的限制。 如图2所示,智能卡控制指令传输的具体步骤如下 (1)移动存储设备插入主机终端。终端软件对此设备进行识别,若是 符合图1所示内部结构的安全移动存储设备(现有普通移动存储设备中增 加智能卡芯片),则转入步骤(2),否则,终端软件拒绝设备接入,转入步
骤(7)。
(2 )主机终端向安全移动存储设备发送智能卡控制指令数据包。 主机终端向安全移动存储设备发送智能卡控制指令,包括主机终端软 件对智能卡控制指令进行封装,然后在标准的数据接口进行发送。其具体
步骤为
(al)主机终端软件将指令数据进行指令数据包格式的封装。 (a2)主机终端软件将(al)中生成的指令数据包进行指令块封装。 为了能够通过标准数据写入接口将指令传送到设备,主机终端必须将 指令数据包封装到指令块中,并使用非缓冲的写入操作将指令块发送到安 全移动存储设备(缓冲方式操作可能导致指令没有真正发送)。 指令块的数据包格式为
32字节的字符串(TAG)
指令数据包
其中,32字节的字符串可以自定义为任意的标识串,此字符串作为数据 包头TAG用于建立逻辑通道并用于标识智能卡控制指令,指令数据包以如 下格式为例.-
指令数据长度(2 BYTE)
指令数据(MAX 65535 BYTE)
例如对于普通取响应指令00 84 00 00 08
其指令数据包为00 05 (指令长度)00 84 00 00 08 (指令内容) (a3)主机终端软件利用标准的块设备非缓冲写方式向安全访问地址发 送指令块。
为了避免该指令块数据与普通数据块产生碰撞,我们要求指令块必须从普通数据块不会用到,同时标准数据接口支持的逻辑地址进行发送,为了
描述方便,在本实例中我们以逻辑块地址0x04为智能卡控制指令的安全访 问地址,逻辑块0x04 —般用于存储文件系统关键数据,而且不会随机变动, 使用逻辑块地址0x04来传送指令块可基本上解决普通数据块与指令块碰撞 的问题。
通过对数据包的智能卡控制指令的发送地址以及数据包头TAG进行判 断和识别,本发明能够利用标准的块设备非缓冲读写实现指令的收发,从 而为安全移动存储设备提供便捷的指令传输服务。 (a4)主机终端软件等待设备响应。
(3) 安全移动存储设备识别智能卡控制指令数据包,并处理智能卡控 制指令。
如图(3)所示,智能卡控制指令数据包的识别处理的具体步骤如下 (M)主机终端通过标准接口将智能卡控制指令数据包发送至安全移动 存储设备。
(b2)智能卡芯片拦截数据包。
(b3)智能卡芯片对拦截的数据包进行分析,如果该数据包的发送地址 是0x04,则进入步骤(b4),否则,此数据包为普通读写数据包,交给主控 芯片处理。
(b4)对该数据包的包头进行分析,如果该包头与约定的智能卡控制指 令数据包的包头相同,则该数据包为智能卡控制指令数据包,否则,此数 据包也为普通读写数据包,交给主控芯片处理。
(4) 主机终端向安全移动存储设备发送取响应指令数据包,以获取所 述智能卡控制指令的处理结果。
(5) 安全移动存储设备识别取响应指令数据包,并将上述智能卡控制 指令的处理结果发送给主机终端。
智能卡芯片按照下述过程识别取响应指令数据包 (C1)智能卡芯片拦截由主机终端通过标准接口发送的数据包; (C2)智能卡芯片对拦截的数据包进行分析,如果该数据包的发送地址是所述的安全访问地址,则进入步骤(C3),否则,此数据包为普通读写数 据包,交给主控芯片处理;
(C3)判断智能卡芯片操作系统的当前状态,如果处于智能卡指令执行 模式,则该拦截的数据包为取响应指令数据包,将上述智能卡控制指令的 响应结果发送给主机终端,否则,此数据包也为普通读写数据包,交给主 控芯片处理。
当安全移动存储设备接收到一条智能卡控制指令后,智能卡芯片操作 系统(COS)进入智能卡指令执行模式,直至该指令对应的结果响应数据 包成功反馈给主机终端,智能卡芯片操作系统便返回普通模式继续进行指 令接收与识别。在智能卡指令执行模式中,系统将识别出来的普通读写数 据包交给主控芯片处理,并拒绝其它的智能卡指令请求(简单的丢弃)。
在智能卡指令执行模式下,主机终端软件可以通过对地址0x04发送读 取指令来获取响应。如果智能卡处于指令执行模式下,任何对0x04块的普 通读取请求都不能正确获取到0x04逻辑块的存储信息,而且可能导致指令 响应被异常捕获。对于现有的各种文件系统,0x04均被BOOT信息保留, 且仅在设备加载文件系统过程使用,数据异常不会产生。
(6) 主机终端获得所述智能卡控制指令的处理结果。 主机接收响应数据,并对响应数据包进行识别,若响应数据包头TAG
为预定义的TAG,则本条智能卡控制指令发送成功,否则,主机继续发送 取响应指令的标准读请求,并等待响应数据包,以达到主机与安全移动存 储的同步通信。
(7) 终止。
本发明不仅局限于上述具体实施方式
,本领域一般技术人员根据实施 例和附图公开的内容,可以采用其它多种具体实施方式
实施本发明,因此, 凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都 落入本发明保护的范围。
权利要求
1、一种在标准数据接口实现智能卡控制指令传输的方法,其步骤包括第1步 主机终端对插入的移动存储设备进行识别,如果是带有智能卡芯片的安全移动存储设备,则转入第2步,否则,主机终端拒绝移动存储设备接入,转入步骤第7步;第2步 主机终端向安全移动存储设备发送智能卡控制指令数据包;第3步 安全移动存储设备识别智能卡控制指令数据包,并执行该智能卡控制指令;第4步 主机终端向安全移动存储设备发送取响应指令数据包,以获取对应于智能卡控制指令的处理结果;第5步 安全移动存储设备识别取响应指令数据包,并将上述智能卡控制指令的响应结果发送给主机终端;第6步 主机终端获得所述智能卡控制指令的处理结果;第7步 终止。
2、 根据权利要求1所述在标准数据接口实现智能卡控制指令传输的方 法,其特征在于第2步具体包括下述过程(al)主机终端按照约定的格式对智能卡控制指令进行封装,得到带有 安全访问地址的智能卡控制指令数据包;(a3)主机终端利用标准的块设备非缓冲写方式向所述安全访问地址发 送智能卡控制指令数据包;(a4)主机终端等待安全移动存储设备响应。
3、 根据权利要求1或2所述在标准数据接口实现智能卡控制指令传输 的方法,其特征在于第3步,智能卡芯片按照下述过程识别智能卡控制指令数据包(bl)智能卡芯片拦截由主机终端通过标准接口发送的数据包;(b2)智能卡芯片对拦截的数据包进行分析,如果该数据包的发送地址是所述的安全访问地址,则进入步骤(b3),否则,此数据包为普通读写数 据包,交给主控芯片处理;(b3)对该数据包的包头进行分析,如果该包头与约定的智能卡控制 指令数据包的包头相同,则该数据包为智能卡控制指令数据包,否则,此 数据包也为普通读写数据包,交给主控芯片处理。
4、根据权利要求1或2所述在标准数据接口实现智能卡控制指令传输 的方法,其特征在于第5步,智能卡芯片按照下述过程识别取响应指令数据包(C1 )智能卡芯片拦截由主机终端通过标准接口发送的数据包;(C2)智能卡芯片对拦截的数据包进行分析,如果该数据包的发送地址 是所述的安全访问地址,则进入步骤(b3),否则,此数据包为普通读写数 据包,交给主控芯片处理;(C3)判断智能卡芯片操作系统的当前状态,如果处于智能卡指令执行 模式,则该拦截的数据包为取响应指令数据包,将上述智能卡控制指令的 响应结果发送给主机终端,否则,此数据包也为普通读写数据包,交给主 控芯片处理。
全文摘要
本发明公开了一种在标准数据接口实现智能卡控制指令传输的方法。该方法通过在现有的USB2.0等标准数据读写协议之上对智能卡控制指令的传输开辟逻辑通道,此逻辑通道通过数据包头来进行标识。主机终端首先将智能卡控制指令封装成带有数据包头和安全访问地址的数据块,然后通过上述逻辑通道将此数据块按照安全访问地址传输给安全移动存储设备,带有智能卡芯片的安全移动存储设备对所有数据包进行拦截并识别,区分智能卡控制指令和标准读写指令,并分别交给智能卡芯片和主控芯片进行处理。该方法实现了在标准数据读写接口传输安全移动存储设备所需的智能卡控制指令并解决了各安全移动存储设备平台对设备接口的兼容性问题。
文档编号G06F13/42GK101510187SQ20091006118
公开日2009年8月19日 申请日期2009年3月20日 优先权日2009年3月20日
发明者付积存, 余鹏飞, 吴俊军, 方明伟, 王同洋 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1