一种可控ccid读卡器及其工作方法

文档序号:6425345阅读:200来源:国知局
专利名称:一种可控ccid读卡器及其工作方法
技术领域
本发明涉及电子产品设备领域,特别涉及一种可控CCID读卡器及其工作方法。
背景技术
随着科技的发展,各类电子产品如手机、数码相机、MP3、MP4,等电子产品都有扩展存储的功能,扩展存储功能主要通过插入闪存卡为来实现,如CF卡、SD卡、MiniSD卡、 RS-MMC卡及MMC卡等。闪存卡内的数据需要传输到计算机上时,一般需要通过数据线连接相应的电子产品与计算机,但这种方式在实际使用时存在问题,如闪存卡拆装不方便、一种电子产品只能对应使用一种闪存卡及一种数据线,使用成本较高。随后出现了读卡器,通过读卡器与计算机的对接实现数据的传输处理,提升了使用的便利性,但现有读卡器的功能都比较单一,且在突然掉电的情况下闪存卡与计算机之间的数据传输就会中断,需要将读卡器拔下后再次插入到计算机中才能重新进行数据传输,使用不便,安全性也比较低。在安全领域产品中,保证数据的完整性是最重要,为保证数据的完整,各厂商都在各自的产品中加入了防掉电功能,为了测试产品的防掉电功能,不少厂商都推出了具有掉电机制的读卡器,但已有的这些产品都是使用串口与主机进行信息交互,在实际应用中由于主机串口越来越少,不同厂商的串口读卡器、厂商的保护意识、没有通用的使用接口,厂商只能自己开发PC(个人计算机)软件,各软件的功能类似、使用方法千差万别,但没有通用性,用户需要重复开发,限制了使用规模,实用性较差。传统的串口读卡器是串口通讯,没有特定的驱动,只能实现特殊的操作,比如单向操作,即主机下发数据,读卡器无返回,或者读卡器主动单向上发。在主机、读卡器、卡片三个设备组成的交互系统中,在主机看来,是直接跟卡片交互的,而读卡器扮演着跟主机、卡片之间交流通道的作用,传统的读卡器忠实的执行主机的命令,如果读卡器“不忠实”执行主机的命令,会影响后续的所有操作,主机会停止给读卡器发送指令或不断的发送纠错命令,安全性较差,使用不便。

发明内容
本发明的目的是为了克服现有技术的不足,提供一种可控CCID读卡器及其工作方法,其具有体积小、成本低、使用安全方便的特点。本发明提供的可控CCID读卡器,包括接收模块,用于接收主机下发的信息;判断模块,用于判断所述接收模块中的信息中所包括操作指令的类型,所述操作指令的类型包括正常指令和特殊操作指令;处理模块,用于当所述主机下发正常指令时,将数据信息转发给卡片,并等待接收所述卡片返回的响应信息;特殊操作模块,用于当所述主机下发特殊操作指令时,根据所述特殊操作指令的类型对所述卡片或读卡器进行相应的操作;
4
生成模块,用于生成假响应信息;回应模块,用于将所述处理模块中的响应信息或所述生成模块生成的假响应信息返回给主机。所述判断模块还用于判断所述特殊操作指令的类型,所述特殊操作指令的类型包括掉电指令、改变电压与电流指令和设置特殊通讯功率指令。所述特殊操作模块包括掉电指令操作单元,用于对掉电标识进行置位,从所述掉电指令中得到掉电时间参数;改变电压与电流指令操作单元,用于改变所述读卡器的电压与电流;设置特殊通讯功率指令操作单元,用于为所述读卡器设置特殊的通讯功率。所述特殊操作指令的类型还包括上电指令,所述特殊操作模块还包括用于进行上电操作的上电指令操作单元。所述正常指令包括复位指令和普通指令。所述处理模块包括掉电执行单元,用于停止给所述卡片供电;转发单元,用于将所述主机下发的数据信息发送给卡片;接收响应单元,用于接收所述卡片返回的有效响应信息;判断单元,用于判断所述掉电标识是否置位,用于判断是否到达所述掉电时间,还用于判断所述卡片内的有效响应信息是否返回;掉电标识复位单元,用于对所述掉电标识复位。所述可控CCID读卡器为接触式的读卡器或非接触式的读卡器。本发明还提供一种可控CCID读卡器的工作方法,包括步骤A 接收主机下发的信息,并判断所述信息中所包括操作指令的类型;步骤B 根据所述操作指令的类型进行相应的操作,具体包括如操作指令是正常指令,将数据信息转发给卡片,等待接收所述卡片返回的“执行成功”的响应信息;如操作指令是特殊操作指令,进行相应的特殊操作,并生成“执行成功”的假响应 fn息;如操作指令是占位指令,生成“执行成功”的假响应信息;步骤C 将所述响应信息返回给所述主机。所述特殊操作指令为掉电指令,所述步骤B具体为对掉电标识进行置位。所述步骤B还包括从所述掉电指令中得到掉电时间参数。当执行正常指令且所述掉电标识置位时,所述步骤B具体为判断是否到达所述掉电时间,是则断开卡片的电源,等待预设的恢复时间后生成“执行成功”的假响应信息,并对所述掉电标识复位;否则判断所述卡片内的有效响应信息是否返回,是则接收所述卡片返回的有效响应信息,并对所述掉电标识复位;否则再次判断是否到达所述掉电时间。当执行正常指令且所述掉电标识置位时,所述步骤B具体为判断是否到达所述掉电时间,是则关闭射频场,等待预设的恢复时间后生成“执行成功”的假响应信息,并对所述掉电标识复位;否则判断所述卡片内的有效响应信息是否返回,是则接收所述卡片返回的有效响应信息,并对所述掉电标识复位;否则再次判断是否到达所述掉电时间。本发明与现有技术相比,具有以下优点本发明提供的可控CCID读卡器具有完善的驱动,可被当前所有操作系统默认和支持,与主机连接时采用CCID接口不占用主机的串口,无需外接电源,适用于现有所有软件,省去用户的重复开发工作,降低生产和使用成本;本发明提供的可控CCID读卡器在卡片掉电时,可与主机正常交互,使用安全方便;本发明提供的可控CCID读卡器可对卡片或读卡器进行任意操作,例如给读卡器设置特殊的通讯速率、设置电压和电流等操作。


图1为本发明实施例一提供的可控CCID读卡器的方框示意图;图2为图1所示可控CCID读卡器的工作方法流程示意图;图3为本发明实施例二提供的防掉电的可控CCID读卡器的方框示意图;图4为图3所示的可控CCID读卡器的工作方法流程示意图;图5为图4所示接触式的可控CCID读卡器进行一轮完整工作时主机依次下发的指令、及主机和卡片在各指令上的传输块号的示意图。
具体实施例方式为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据发明提出的可控CCID读卡器及其工作方法,其具体实施方式
、结构、 特征及其功效,说明如后。本发明实施例一提供的一种可控CCID读卡器,如图1所示,包括接收模块1 用于接收主机下发的信息,所述信息中包括操作指令和数据信息,所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和复位指令,所述特殊指令包括占位指令和特殊操作指令,特殊操作指令是对读卡器或卡片进行操作的指令;判断模块2 用于判断所述接收模块1中的信息中所包括操作指令的类型和特殊指令的类型;处理模块3:用于当所述主机下发正常指令时,将数据信息转发给卡片,并等待接收卡片返回的“执行成功”的响应信息;特殊操作模块4 用于当所述主机下发特殊操作指令时,根据特殊操作指令对卡片或读卡器进行相应的操作,包括掉电指令操作单元40,用于对掉电标识进行置位,从所述掉电指令中得到掉电时间参数;上电指令操作单元41,用于进行上电操作;改变电压与电流指令操作单元42 用于改变读卡器的电压与电流;设置特殊通讯功率指令操作单元 43 用于为读卡器设置特殊的通讯功率;生成模块5 用于生成“执行成功”的假响应信息;回应模块6 用于将响应信息返回给主机,使主机与卡片可以保持正常通讯。如图2所示,为本发明实施例一提供的可控CCID读卡器的工作方法流程示意图, 包括步骤201 在与主机建立连接后,所述可控的CCID读卡器接收主机下发的信息,该信息中包括操作指令和数据信息,所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和复位指令,所述特殊指令包括占位指令和特殊操作指令,该特殊操作指令包括对读卡器进行操作的指令如设置特殊通讯速率指令、改变电压与电流指令等操作指令和对卡片进行操作的指令如掉电指令等;步骤202 判断所述接收到主机下发的信息中所包括操作指令的类型,如是正常指令,则执行步骤203,如是特殊指令,则执行步骤204 ;步骤203:将数据信息转发给卡片,并等待接收卡片返回的“执行成功”的响应信息,顺序执行步骤207 ;步骤204 判断所述特殊指令的类型,如是特殊操作指令,则执行步骤205,如是占位指令,则执行步骤206;步骤205 根据特殊操作指令对卡片或读卡器进行相应的操作,并顺序执行步骤 206,具体操作过程包括如特殊操作指令是掉电指令,则对掉电标识进行置位,从所述掉电指令中得到掉电时间参数;如特殊操作指令是改变电压与电流指令,则进行改变读卡器电压与电流的操作;如特殊操作指令是设置特殊通讯功率指令,则进行给读卡器设置特殊的通讯功率的操作。步骤206 生成“执行成功”的假响应信息,顺序执行步骤207 ;步骤207 将响应信息返回给主机,使主机与卡片可以保持正常通讯,然后循环步骤 201。本发明实施例二提供的可控CCID读卡器为接触式读卡器,以特殊操作指令为对卡片进行掉电操作的指令为例,对本发明提供的可控CCID读卡器的工作过程进行详细的说明,如图3和图4所示。本实施例提供的接触式的可控CCID读卡器接收主机发送的两条指令,且均不转发给卡片,使主机的传输块号翻转两次后恢复到原状态,而卡片的传输块号不翻转,使其与主机的传输块号保持一致,确保主机与卡片的正常通讯。具体方法为接收主机发送的两条指令给读卡器,一条是占位指令,另一条是掉电指令,在主机下发占位指令后,主机的传输块号会改变一次(如从0变为1),读卡器接收到传输块号后,不对卡片进行任何操作,而是给主机返回“执行成功”的响应信息,使主机可以继续正常下发指令,主机接收到读卡器返回的“执行成功”的响应信息后,再开始传送掉电指令,主机的传输块号又改变一次(从1变为0),恢复到原始状态,而读卡器将掉电指令截留下来进行处理,并返回给主机“执行成功”的响应信息,使主机可以正常下发后续指令,主机再发送下一条正常指令时,主机的传输块号又改变一次(从0变为1),当读卡器接收到主机下发的普通指令时,读卡器会根据保存的“掉电”指令对卡片进行掉电操作,并接收到卡片的返回响应,卡片的传输块号也发生改变,从0变为1,保持和主机的传输块号一致的状态,使主机和卡片可以正常进行通讯。该占位指令只是为了恢复链路的状态,这样主机的传输块号经过两次翻转恢复原态,主机认为卡片的传输块号也经过两次翻转,主机再发送普通指令的时候,卡片的传输块号会和主机的传输块号同时改变保持一致状态,使后面的通讯能够正常进行。图3为本发明实施例二提供的可控CCID读卡器的方框示意图,其具有防掉电的功能,具体包括接收信息模块31 用于接收主机下发的信息,所述信息中包括数据信息和操作指令;所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和复位指令,所述特殊指令包括占位指令和特殊操作指令,特殊操作指令是对读卡器或卡片进行操作的指令;判断模块32 包括第一判断单元321和第二判断单元322,所述第一判断单元321 用于判断所述接收信息模块31中的信息中的操作指令类型,所述第二判断单元322用于判断所述接收信息模块31中的特殊指令类型;掉电操作模块33 用于对掉电标识进行置位,并从所述掉电指令中得到掉电时间参数;生成响应模块34 用于生成“执行成功”的假响应信息;正常处理模块35 用于根据主机下发的正常指令进行相应的操作,包括转发单元350 用于将主机下发的数据信息发送给卡片;接收响应单元351 用于接收卡片返回的有效响应信息;判断单元352 用于判断掉电标识是否置位,用于判断是否到达所述掉电时间,还用于判断卡片内的有效响应信息是否返回;掉电执行单元353 用于停止给卡片供电,并进行等待;掉电标识复位单元354 用于对所述掉电标识复位;返回响应模块36 用于给主机返回“执行成功”的响应信息。主机下发特殊操作指令时,由于特殊操作指令与占位指令成对出现,主机的传输块号会经过偶数次翻转,然后又恢复为初始的传输块号,但读卡器将主机下发的特殊指令和占位指令私自处理,并不转发给卡片,卡片的传输块号也不会改变,保持初始状态,始终与主机的传输块号保持一致,使后面的通讯可以正常进行。如图4所示,为图3所示的接触式的可控CCID读卡器的工作方法流程示意图,包括正常工作过程和掉电过程,其具体工作过程包括步骤401 在接触式CCID读卡器与主机建立连接后,接收主机发送的信息,该信息中包括数据信息和操作指令信息;所述操作指令包括正常指令和特殊指令,所述特殊指令包括占位指令和特殊操作指令,所述特殊操作指令为掉电指令,所述占位指令可设为fe fd 00 00 00,掉电指令可设为为fe 00掉电时间高字节掉电时间低字节00 ;步骤402 判断主机下发的指令类型,如是特殊指令,则执行步骤403,如是正常指令,则执行步骤406;步骤403 判断所述特殊指令的类型,如是掉电指令指令,则执行步骤404,如是占位指令,则执行步骤405;步骤404 对掉电标识进行置位,从所述掉电指令中得到掉电时间参数,所述掉电时间参数可设置为16毫秒,顺序执行步骤405 ;步骤405 生成“执行成功”的假响应信息,顺序执行步骤416 ;步骤406 将所述数据信息发送给卡片;步骤407 判断所述掉电标识是否置位,是则执行步骤409,否则执行步骤408 ;步骤408 等待接收卡片返回的有效响应信息;步骤409 判断是否到达所述掉电时间,是则执行步骤410,否则执行步骤413 ;步骤410 断开卡片的电源,停止给卡片供电;
步骤411 读卡器处于空闲状态无任何操作,等待预设的恢复时间,顺序执行步骤 412,本实施例中的恢复时间设置为30毫秒,保证卡片成功地执行完正在进行的操作;步骤412 生成“执行成功”的假响应信息,顺序执行步骤415 ;步骤413 判断卡片内的有效响应信息是否返回,是则执行步骤414,否则执行步骤 409 ;步骤414 接收卡片返回的有效响应信息,顺序执行步骤415 ;步骤415 对所述掉电标识复位;步骤416 将所述响应信息发送给主机,再重新执行步骤401,保持后续的正常通讯。图4中步骤405中,当主机给CCID读卡器发送掉电指令时,CCID读卡器并不将掉电指令发送给卡片,截留了该指令,并生成“执行成功”的假响应信息并发送给主机,让主机正常的继续发送下一条指令,而当下一条普通指令到来且掉电标识置位时,读卡器对卡片执行掉电操作。如图5所示,为接触式CCID读卡器进行一轮完整工作时依次接收到主机下发的指令、及主机和卡片在各指令上的传输块号的示意图,主机下发的指令顺序依次为 普通指令、占位指令、掉电指令,执行掉电指令、复位指令、普通指令、占位指令、改变电压与电流指令、普通指令、占位指令、设置特殊通讯功率指令、普通指令的循环过程,该图5中的普通指令可以有若干条;由图5中可看出,主机每下发一个指令时,其传输块号都会发生变化,读卡器在接收到普通指令时,会将其转发给卡片,此时卡片的传输块号也会跟着发生改变;但是当读卡器接收到主机下发的占位指令时、掉电指令、改变电压与电流指令和设置特殊通讯功率指令,不会转发给卡片,卡片的传输块号也不会发生改变,但由于掉电指令、改变电压与电流指令、设置特殊通讯功率指令均与占位指令成对出现,主机连续发送两条指令,其传输块号经过两次改变后也和原始状态一样,使卡片的传输块号和主机的传输块号始终保持一致,可进行正常的通讯。所述复位指令用于实现卡片与主机之间重新建立连接并进行正常通讯,也可用占位指令和上电指令两条成对出现的连续指令代替实现卡片与主机的正常通讯,所述上电指令可设为fe fe 00 0000,占位指令可设为fe fdOO 00 00。本发明实施例二提供的可控CCID读卡器的工作方法也可适用于非接触式通讯中,在非接触通讯中,卡片与读卡器并不接触,而是从读卡器的射频场中直接获得能量并进行通讯,对于非接触卡片,图4所示可控CCID读卡器工作方法的步骤410和步骤411可用步骤410,和步骤411,代替;步骤410’ 关闭射频场,停止给非接触卡片的供电,非接触卡片的能量来源消失, 处于无能量状态;步骤411’ 在关闭射频场后,可控CCID读卡器等待预设的恢复时间,以保证卡片的电源彻底断开并处于稳定状态,不同卡片的能量保留时间不同,但时间都相当短,本实施例中可控CCID读卡器的恢复时间设置为30毫秒。在非接触卡片真正掉电后(即可控CCID读卡器关闭电源后),可控CCID读卡器会接收到主机下发的占位指令和上电APDU指令或接收到主机下发的复位指令,重新打开可控CCID读卡器的射频场来给卡片恢复供电,所述APDU指令中包含有复位信息。可控CCID 接收到指令的顺序为占位指令-对读卡器进行操作的指令-普通指令(即执行指令)或占位指令-对卡片进行操作的指令-普通指令(即执行指令),占位指令保证了主机的传输块号与卡片的传输块号始终保持一致,可进行正常通讯。本发明提供的可控CCID读卡器具有完善的驱动,可被当前所有操作系统默认和支持,与主机连接时采用CCID接口不占用主机的串口,无需外接电源,适用于现有所有软件,省去用户的重复开发工作,降低生产和使用成本;本发明提供的可控CCID读卡器在卡片掉电时,可与主机正常交互,使用安全方便;本发明提供的可控CCID读卡器可对卡片或读卡器进行任意操作,例如给读卡器设置特殊的通讯速率、设置电压和电流等操作。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种可控CCID读卡器,其特征在于,包括 接收模块,用于接收主机下发的信息;判断模块,用于判断所述接收模块中的信息中所包括操作指令的类型,所述操作指令的类型包括正常指令和特殊操作指令;处理模块,用于当所述主机下发正常指令时,将数据信息转发给卡片,并等待接收所述卡片返回的响应信息;特殊操作模块,用于当所述主机下发特殊操作指令时,根据所述特殊操作指令的类型对所述卡片或读卡器进行相应的操作; 生成模块,用于生成假响应信息;回应模块,用于将所述处理模块中的响应信息或所述生成模块生成的假响应信息返回给主机。
2.根据权利要求1所述的可控CCID读卡器,其特征在于,所述判断模块还用于判断所述特殊操作指令的类型,所述特殊操作指令的类型包括掉电指令、改变电压与电流指令和设置特殊通讯功率指令。
3.根据权利要求2所述的可控CCID读卡器,其特征在于,所述特殊操作模块包括 掉电指令操作单元,用于对掉电标识进行置位,从所述掉电指令中得到掉电时间参数;改变电压与电流指令操作单元,用于改变所述读卡器的电压与电流; 设置特殊通讯功率指令操作单元,用于为所述读卡器设置特殊的通讯功率。
4.根据权利要求3所述的可控CCID读卡器,其特征在于,所述特殊操作指令的类型还包括上电指令,所述特殊操作模块还包括用于进行上电操作的上电指令操作单元。
5.根据权利要求2所述的可控CCID读卡器,其特征在于,所述正常指令包括复位指令和普通指令。
6.根据权利要求3所述的可控CCID读卡器,其特征在于,所述处理模块包括 掉电执行单元,用于停止给所述卡片供电;转发单元,用于将所述主机下发的数据信息发送给卡片; 接收响应单元,用于接收所述卡片返回的有效响应信息;判断单元,用于判断所述掉电标识是否置位,用于判断是否到达所述掉电时间,还用于判断所述卡片内的有效响应信息是否返回;掉电标识复位单元,用于对所述掉电标识复位。
7.根据权利要求1-6任意一项所述的可控CCID读卡器,其特征在于,所述可控CCID读卡器为接触式的读卡器或非接触式的读卡器。
8.—种可控CCID读卡器的工作方法,其特征在于,包括步骤A 接收主机下发的信息,并判断所述信息中所包括操作指令的类型; 步骤B 根据所述操作指令的类型进行相应的操作,具体包括 如操作指令是正常指令,将数据信息转发给卡片,等待接收所述卡片返回的“执行成功”的响应信息;如操作指令是特殊操作指令,进行相应的特殊操作,并生成“执行成功”的假响应信息;如操作指令是占位指令,生成“执行成功”的假响应信息;步骤C 将所述响应信息返回给所述主机。
9.根据权利要求8所述的可控CCID读卡器的工作方法,其特征在于,所述特殊操作指令为掉电指令,所述步骤B具体为对掉电标识进行置位。
10.根据权利要求9所述的可控CCID读卡器的工作方法,其特征在于,所述步骤B还包括从所述掉电指令中得到掉电时间参数。
11.根据权利要求9所述的可控CCID读卡器的工作方法,其特征在于,当执行正常指令且所述掉电标识置位时,所述步骤B具体为判断是否到达所述掉电时间,是则断开卡片的电源,等待预设的恢复时间后生成“执行成功”的假响应信息,并对所述掉电标识复位;否则判断所述卡片内的有效响应信息是否返回,是则接收所述卡片返回的有效响应信息,并对所述掉电标识复位;否则再次判断是否到达所述掉电时间。
12.根据权利要求9所述的可控CCID读卡器的工作方法,其特征在于,当执行正常指令且所述掉电标识置位时,所述步骤B具体为判断是否到达所述掉电时间,是则关闭射频场,等待预设的恢复时间后生成“执行成功”的假响应信息,并对所述掉电标识复位;否则判断所述卡片内的有效响应信息是否返回,是则接收所述卡片返回的有效响应信息,并对所述掉电标识复位;否则再次判断是否到达所述掉电时间。
全文摘要
本发明提供一种可控CCID读卡器及其工作方法,涉及电子产品设备领域,其工作方法包括接收主机下发的信息,并判断所述信息中所包括操作指令的类型;根据所述操作指令的类型进行相应的操作,具体包括如操作指令是正常指令,将数据信息转发给卡片,等待接收所述卡片返回的“执行成功”的响应信息;如操作指令是特殊操作指令,进行相应的特殊操作,并生成“执行成功”的假响应信息;如操作指令是占位指令,生成“执行成功”的假响应信息;将所述响应信息返回给所述主机。本发明提供的可控CCID读卡器与主机连接时采用CCID接口,无需外接电源,适用于现有所有软件,降低了生产和使用成本;在卡片掉电时可与主机正常交互,使用安全方便。
文档编号G06K7/00GK102222208SQ20111014521
公开日2011年10月19日 申请日期2011年5月31日 优先权日2011年5月31日
发明者于华章, 陆舟 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1