Usb接口设备进行数据处理的方法及usb接口设备的制作方法

文档序号:6443247阅读:219来源:国知局
专利名称:Usb接口设备进行数据处理的方法及usb接口设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及USB接ロ设备进行数据处理的方法及USB接ロ设
- -O
背景技术
USB Key作为个人身份认证和数字签名的终端设备,已经被网银、电子政务等广泛应用。央行多次出台政策文件要求加强网银安全建设,包括采用USB Key等硬件作为网银交易安全保障的终端。目前,USB Key都是基于USB(Universal Serial BUS,通用串行总线)接ロ与PC 机连接,并利用I3KI ((Public Key hfrastructure,公钥基础设施)技术保证网络交易的安全性和可靠性。鉴于当前手机网络的高速发展,基于手机平台的网上银行的应用也越来越广泛,因此建立ー个可信、安全的手机网络交易平台则显得尤为重要。目前,根据USB协议的相关标准,可将USB协议具体细化为Bulk_0nly协议(即传输块协议)、CCID (Chip/Smart Card Interface Devices,芯片智能卡接ロ设备)协议和 HID (Human Interface Device,人机接ロ设备)协议等。目前很多设备均支持以上三种协议,如 USB Key。现有技术中,Bulk_0nly协议采用命令阶段/数据阶段/状态阶段的数据传输模式,如图1所示,USB Key在命令阶段接收主机发送用于指示向USB Key传输数据的第一 CBff (Command Block Wrapper,命令块包),或者,接收主机发送的用于指示从USB Key读取数据的第二 CBW;在数据阶段,USB Key接收主机发送的APDU(Application Protocol Data Unit,应用协议数据単元)签名指令和待签名数据(即DATA0UT过程),并根据APDU 签名指令对待签名数据进行签名,或者,USB Key向主机发送签名后的数据(即DATAIN过程);在状态阶段,USB Key在根据APDU签名指令对待签名数据进行签名之后,向主机发送表示接收完APDU签名指令和待签名数据,且根据APDU签名指令对待签名数据进行签名完成的第一 CSW(Command State Wrapper,命令状态包),或者,USB Key在向所述主机发送完签名后的待签名数据之后向所述主机发送的用于表示签名后的数据发送完毕的第二 CSW 包。由上可知,使用USB Key进行一次完整的数据签名过程,主要包括以下两个子过程 CBff-DATAOUT-CSff 子过程和 CBff-DATAIN-CSff 子过程。一般情况下,在USB Key中结合使用Bulk_0nly协议和7816协议来对主机的数据进行签名处理,下面以USB Key对PC机中的数据进行签名为例对现有技术中使用USB Key 进行数据签名的方法进行详细的描述,具体包括步骤1、USB Key接收主机发送的第一 CBW,所述第一 CBW用于指示所述主机将有数据传输给所述USB Key;步骤2、USB Key接收主机发送的APDU签名指令和待签名数据,并根据所述APDU 签名指令对待签名数据进行签名;步骤3、USB Key向主机发送第一 CSW,所述第一 CSW表示已经接收完所述APDU签名指令和待签名数据且根据所述APDU签名指令对所述待签名数据已处理完毕;步骤4、USB Key接收主机发送的第二 CBW,所述第二 CBW用于指示从所述USB Key 中读取签名后的待签名数据;步骤5、USB Key将签名后的待签名数据发送给所述主机;步骤6、USB Key向所述主机发送第二 CSW,所述第二 CSW表示签名后的待签名数据已经发送完毕。由上可知,在USB Key中结合7816-3/4协议和Bulk_0nly协议来完成一次完整的数据处理,需要占用Bulk_0nly协议的两个CBW-DATA-CSW过程,如步骤1 步骤3为第一 CBff-DATA-CSff过程,步骤4 步骤6为第二 CBW-DATA-CSW过程。现有技术中,采用USB Key 对主机的数据进行一次完整的处理存在以下缺陷攻击者在第一 CBW-DATA-CSW过程与第二 CBW-DATA-CSW过程之间(即在上述步骤 3和步骤4之间),向USB Key发送其他APDU指令,以指示USB Key对步骤2中签名后的待签名数据进行修改;因此,USB Key向主机返回的签名后的待签名数据是USB Key根据攻击者发送的其他APDU指令进行修改后的数据;因此,采用现有的数据处理方法,主机得到的签名后的待签名数据为篡改后的不安全、不可靠的数据。

发明内容
本发明实施例提供USB接ロ设备进行数据处理的方法及USB接ロ设备,以降低不法分子对待处理数据进行篡改的几率,提高对主机的数据进行处理的安全性和可靠性。ー种USB接ロ设备进行数据处理的方法,包括步骤1、接收主机发送的用于指示接收数据的第一命令块包;步骤2、接收所述主机发送的第一操作指令和待处理数据,并根据所述第一操作指令对所述待处理数据进行处理;步骤3、向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕;步骤4、接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包;步骤5、将处理后的待处理数据发送给所述主机;步骤6、在发送完所述处理后的待处理数据之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第二命令状态包;在上述步骤2之后与所述步骤6之前,接收到所述主机或其他设备发送的第二操作指令吋,拒绝执行所述第二操作指令。较佳地,所述步骤2还包括在接收到所述第一操作指令和待处理数据之后,将所述USB接ロ设备的状态设置为不可执行操作指令的状态;所述步骤6还包括在将处理后的待处理数据完全发送给所述主机之后,将所述 USB接ロ设备的状态设置为可执行操作指令的状态。较佳地,所述第一命令块包中携帯有待处理数据的字节信息和数据包数量;所述步骤2中,在接收到主机发送的待处理数据之后,还包括确定出接收到的待处理数据的字节信息和数据包数量,并与所述第一命令块包中携帯的字节信息和数据包数量进行比较,若一致,则继续执行后续步骤,若不一致则拒绝执行后续步骤并结束流程。较佳地,所述第一操作指令为签名指令,所述待处理数据为待签名数据;或者,所述第一操作指令为数据加密指令,所述待处理数据为待加密数据;或者,所述第一操作指令为数据解密指令,所述待处理数据为待解密数据。本发明实施例基于前述方法,还提供一种USB接ロ设备,该USB接ロ设备包括命令接收单元,用于接收主机发送的用于指示接收数据的第一命令块包;以及,接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包;数据处理単元,用于在所述命令接收单元接收到所述第一命令块包之后,接收所述主机发送的第一操作指令和待处理数据,并根据所述第一操作指令对所述待处理数据进行处理;以及,在所述命令接收单元接收到所述第二命令块包之后,将处理后的待处理数据发送给所述主机;状态传输単元,用于在处理完所述待处理数据之后,向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕;以及,在所述数据处理单元将处理后的待处理数据发送给所述主机之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第二命令状态包;安全处理单元,用于在所述数据处理单元接收到所述第一操作指令和待处理数据之后,且在所述状态传输单元向所述主机发送所述第二命令状态包之前,在所述数据处理単元接收到所述主机或其他设备发送的第二操作指令吋,通知所述状态传输单元拒绝执行所述第二操作指令。较佳地,所述数据处理单元进ー步用干,在接收到所述第一操作指令和待处理数据之后,将所述USB接ロ设备的状态设置为不可执行操作指令的状态;以及,在将处理后的待处理数据完全发送给所述主机之后,将所述USB接ロ设备的状态设置为可执行操作指令的状态。较佳地,所述第一命令块包中携帯有待处理数据的字节信息和数据包数量;所述数据处理単元进ー步用干,在接收到主机发送的待处理数据之后,确定出接收到的待处理数据的字节信息和数据包数量,并与所述第一命令块包中携帯的字节信息和数据包数量进行比较,若不一致则通知所述命令接收单元、状态传输単元和安全理单元停止运行。较佳地,所述第一操作指令为签名指令,所述待处理数据为待签名数据;或者,所述第一操作指令为数据加密指令,所述待处理数据为待加密数据;或者,所述第一操作指令为数据解密指令,所述待处理数据为待解密数据。较佳地,所述USB接ロ设备为USB Key。本发明实施例中,USB接ロ设备在接收到主机发送的第一操作指令和待处理数据之后,且在将处理后的待处理数据成功返回给主机之前,若接收到所述主机或其他设备发送的第二操作指令吋,拒绝执行所述第二操作指令,从而确保了在完成本次的待处理数据的处理之前不处理其他指令,从而避免了不法分子通过发送操作指令以指示USB接ロ设备对本次待处理数据进行篡改而导致返回给主机的待处理数据为篡改后的数据的问题,因此,采用本发明技术方案,在一定程度上提高了 USB接ロ设备对主机的数据进行处理的安全性和可靠性。


图1为现有技术中采用USB接ロ设备对待签名数据进行签名的示意图;图2为本发明中采用USB Key对主机的待签名数据进行签名的方法流程图之ー;图3为本发明实施例中采用USB Key对主机的待签名数据进行签名的方法流程图之ニ;图4为本发明是实施例中对数据进行处理的详細流程图;图5为本发明实施例中USB接ロ设备的结构示意图。
具体实施例方式本发明实施例提供USB接ロ设备进行数据处理的方法及USB接ロ设备,以降低不法分子对待处理数据进行篡改的几率,提高对主机的数据进行处理的安全性和可靠性。采用USB接ロ设备进行数据处理的方法,包括步骤1、接收主机发送的用于指示接收数据的第一命令块包;步骤2、接收所述主机发送的第一操作指令和待处理数据,井根据所述第一操作指令对所述待处理数据进行处理;步骤3、向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕;步骤4、接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包;步骤5、将处理后的待处理数据发送给所述主机;步骤6、在发送完所述处理后的待处理数据之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第 ニ命令状态包;在上述步骤2之后与所述步骤6之前,接收到所述主机或其他设备发送的第 ニ操作指令吋,拒绝执行所述第二操作指令。本发明技术方案中,USB接ロ设备在接收到主机发送的第一操作指令和待处理数据之后,且在将处理后的待处理数据成功返回给主机之前,若接收到所述主机或其他设备发送的第二操作指令吋,拒绝执行所述第二操作指令,从而确保了在完成本次的待处理数据的处理之前不处理其他指令,从而避免了不法分子通过发送操作指令以指示USB接ロ设备对本次待处理数据进行篡改而导致返回给主机的待处理数据为篡改后的数据的问题,因此,采用本发明技术方案,在一定程度上提高了 USB接ロ 设备对主机的数据进行处理的安全性和可靠性。本发明实施例中USB接ロ设备通过USB接ロ与主机进行通信;该USB接ロ设备可以是USB Key,该USB Key实现对主机的数据进行处理的整个过程,可根据Bulk_0nly协议与7816-3/4协议来对主机发送的操作指令、待处理数据进行处理。本发明实施例中,所述第一操作指令可以为签名指令,此时的待处理数据为待签名数据;或者,所述第一操作指令可以为数据加密指令,此时的待处理数据为待加密数据; 或者,所述第一操作指令可以为数据解密指令,此时所述待处理数据为待解密数据等。上述第二操作指令可以是指示USB接ロ设备对处理后的待处理数据进行修改或更新等操作的指令。下面结合附图对本发明技术方案进行详细描述。參见图2,为本发明实施例中采用USB Key对主机的待签名数据进行签名的方法流程图之一,该方法包括步骤201 步骤206,并且在步骤202之后,且步骤206之前,所述USB Key若接收到所述主机或其他设备发送的数据修改指令吋,拒绝处理该数据修改指令, 并向所述主机或其他设备发送数据修改指令执行失败通知消息,如图2所示,假设在步骤 203与步骤204之间接收到主机发送的数据修改指令,即在步骤203a接收到主机发送的数据修改指令步骤201、USB Key接收主机发送的第一 CBW,该第一 CBW用于指示接收数据(即指示主机将有数据传输给USB Key)。步骤202、USB Key接收所述主机发送的第一签名指令和待签名数据,并根据第一签名指令对所述待签名数据进行处理。步骤203、USB Key向所述主机发送第一 CSW,所述第一 CSW表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕。步骤203a、USB Key接收所述主机发送用于指示对签名后的待签名数据进行修改的数据修改指令,并拒绝执行所述数据修改指令。可选地,上述步骤203a还可包括向所述主机发送数据修改指令执行失败的通知消息。步骤204、USB Key接收所述主机发送的第二 CBW,该第二 CBW用于指示读取签名后的待签名数据(即指示所述主机需要从USB Key中读取签名后的待签名数据)。步骤205、USB Key将签名后的待签名数据发送给所述主机。步骤206、USB Key在发送完签名后的待签名数据之后,向所述主机发送第二 CSW 包,所述第二 CSW包表示签名后的待签名数据已经发送完毕。较佳地,为避免不法分子在步骤201与步骤206之间以主机的身份向USBKey发送其他签名指令,以指示USB Key根据该其他签名指令对签名后的待签名数据进行修改,从而导致返回给主机的待签名数据未篡改后的数据的问题;本发明实施例中,在步骤202中,接收到第一签名指令和待签名数据之后,将USB Key的状态设置为不可执行操作指令的状态 (如繁忙状态);在上述步骤206中,USB Key成功向主机发送完签名后的待签名数据之后, 将USB Key的状态修改为表示可执行操作指令的状态(如空闲状态)。较佳地,为进一歩避免不法分子在上述步骤201之后,以主机的身份先于主机向 USB Key发送签名指令和非法数据,以使得所述USB Key对所述非法数据进行处理而拒绝对主机发送的签名指令和待签名数据进行处理,从而导致USB Key返回给主机的数据为非法数据的问题;本发明实施例中,在第一 CBW中携帯主机将要发送的待签名数据的字节大小信息和数据包得数量等;上述步骤202与步骤203之间包括步骤20 ,还包括步骤207,如图3所示,其中步骤20 ,USB Key确定出接收到的待签名数据的字节大小和数据包数量,并将确定出的字节大小和数据包数量与所述第一 CBW中携帯的字节大小信息和数据包数量进行比较,若一致,则继续执行后续步骤,若不一致则执行步骤207 ;步骤207、USB Key拒绝执行后续步骤,并结束流程。本发明实施例中,针对主机发送的数据加密指令、数据解密指令等操作指令的处理流程,与前述对签名指令进行处理的流程相类似,在此不再赘述。为了更清楚的对本发明技术方案进行详细的描述,本发明实施例还提供USB Key 对主机的数据进行数据签名的具体实例,具体可參见图4,包括
步骤401、USB Key接收主机发送的第一 CBW,该第一 CBW用于指示主机将有数据传输给所述USB Key,且该第一 CBW中携帯有主机将要发送给所述USB Key的待签名数据的字节大小信息和数据包数量。步骤402、USB Key接收所述主机发送的第一签名指令和待签名数据。步骤403、USB Key确定出接收到的待签名数据的字节和数据包数量,并于第一 CBW中携帯的字节大小信息和数据包数量进行比较,若一致则执行步骤404,否则执行步骤 412。步骤404、USB Key将当前状态设置为繁忙状态。步骤405、USB Key根据第一签名指令对待签名数据进行处理,并在处理完成后向所述主机发送第一 CSW,该第一 CSW表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕。步骤406、USB Key接收所述主机发送的数据修改指令。步骤407、USB Key判断当前状态为繁忙状态,拒绝执行所述数据修改指令,并向所述主机发送拒绝执行数据修改指令的通知消息。步骤408、USB Key接收所述主机发送的第二 CBW,该第二 CBW用于指示读取处理后的待处理数据。步骤409、USB Key将签名后的待签名数据发送给所述主机。步骤410、USB Key在发送完签名后的待签名数据之后,向所述主机发送第二 CSW, 所述第二 CSW表示处理后的待处理数据已经发送完毕。步骤411、USB Key将当前状态设置为空闲状态。步骤412、结束流程。基于前述方法流程,本发明实施例中,还提供ー种USB接ロ设备,该USB接ロ设备的结构可如图5所示,包括命令接收单元51,用于接收主机发送的用于指示接收数据的第一命令块包;以及,接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包;数据处理単元52,用于在所述命令接收单元51接收到所述第一命令块包之后,接收所述主机发送的第一操作指令和待处理数据,并根据所述第一操作指令对所述待处理数据进行处理;以及,在所述命令接收单元接收到所述第二命令块包之后,将处理后的待处理数据发送给所述主机;;状态传输単元53,用于在数据处理単元52处理完所述待处理数据之后,向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕;以及,在所述数据处理单元 52将处理后的待处理数据发送给所述主机之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第二命令状态包;安全处理单元M,用于在数据处理単元52接收到所述第一操作指令和待处理数据之后,且在所述状态传输单元53向所述主机发送所述第二命令状态包之前,在所述数据处理单元52接收到所述主机或其他设备发送的第二操作指令吋,通知所述状态传输单元 53拒绝执行所述第二操作指令。。较佳地,数据处理単元52进ー步用干,在接收到所述第一操作指令和待处理数据之后,将所述USB接ロ设备的状态设置为不可执行操作指令的状态;以及,在将处理后的待处理数据完全发送给所述主机之后,将所述USB接ロ设备的状态设置为可执行操作指令的状态。较佳地,所述第一命令块包中携帯有待处理数据的字节信息和数据包数量;数据处理单元52进ー步用干,在接收到主机发送的待处理数据之后,确定出接收到的待处理数据的字节信息和数据包数量,并与所述第一命令块包中携帯的字节信息和数据包数量进行比较,若不一致则通知所述命令接收单元51、状态传输単元53和安全处理单元M停止运行。所述第一操作指令为签名指令,所述待处理数据为待签名数据;或者,所述第一操作指令为数据加密指令,所述待处理数据为待加密数据;或者,所述第一操作指令为数据解密指令,所述待处理数据为待解密数据。较佳地,本发明实施例中的USB接ロ设备可以是USB Key。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.ー种USB接ロ设备进行数据处理的方法,其特征在干,包括 步骤1、接收主机发送的用于指示接收数据的第一命令块包;步骤2、接收所述主机发送的第一操作指令和待处理数据,并根据所述第一操作指令对所述待处理数据进行处理;步骤3、向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕; 步骤4、接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包; 步骤5、将处理后的待处理数据发送给所述主机;步骤6、在发送完所述处理后的待处理数据之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第二命令状态包;在上述步骤2之后与所述步骤6之前,接收到所述主机或其他设备发送的第二操作指令吋,拒绝执行所述第二操作指令。
2.如权利要求1所述的方法,其特征在干,所述步骤2还包括在接收到所述第一操作指令和待处理数据之后,将所述USB接ロ设备的状态设置为不可执行操作指令的状态;所述步骤6还包括在将处理后的待处理数据完全发送给所述主机之后,将所述USB接 ロ设备的状态设置为可执行操作指令的状态。
3.如权利要求1或2所述的方法,其特征在干,所述第一命令块包中携帯有待处理数据的字节信息和数据包数量;所述步骤2中,在接收到主机发送的待处理数据之后,还包括 确定出接收到的待处理数据的字节信息和数据包数量,并与所述第一命令块包中携帯的字节信息和数据包数量进行比较,若一致,则继续执行后续步骤,若不一致则拒绝执行后续步骤并结束流程。
4.如权利要求1或2所述的方法,其特征在干,所述第一操作指令为签名指令,所述待处理数据为待签名数据;或者,所述第一操作指令为数据加密指令,所述待处理数据为待加密数据;或者, 所述第一操作指令为数据解密指令,所述待处理数据为待解密数据。
5.ー种USB接ロ设备,其特征在干,包括命令接收单元,用于接收主机发送的用于指示接收数据的第一命令块包;以及,接收所述主机发送的用于指示读取处理后的待处理数据的第二命令块包;数据处理単元,用于在所述命令接收单元接收到所述第一命令块包之后,接收所述主机发送的第一操作指令和待处理数据,并根据所述第一操作指令对所述待处理数据进行处理;以及,在所述命令接收单元接收到所述第二命令块包之后,将处理后的待处理数据发送给所述主机;状态传输単元,用于在数据处理単元处理完所述待处理数据之后,向所述主机发送第一命令状态包,所述第一命令状态包表示已经接收完所述第一操作指令和待处理数据且根据所述第一操作指令对所述待处理数据已处理完毕;以及,在所述数据处理单元将处理后的待处理数据发送给所述主机之后,向所述主机发送表示处理后的待处理数据已经发送完毕的第二命令状态包;安全处理单元,用于在所述数据处理单元接收到所述第一操作指令和待处理数据之后,且在所述状态传输单元向所述主机发送所述第二命令状态包之前,在所述数据处理单元接收到所述主机或其他设备发送的第二操作指令吋,通知所述状态传输单元拒绝执行所述第二操作指令。
6.如权利要求5所述的USB接ロ设备,其特征在干,所述数据处理单元进ー步用干,在接收到所述第一操作指令和待处理数据之后,将所述USB接ロ设备的状态设置为不可执行操作指令的状态;以及,在将处理后的待处理数据完全发送给所述主机之后,将所述USB接 ロ设备的状态设置为可执行操作指令的状态。
7.如权利要求5或6所述的USB接ロ设备,其特征在干,所述第一命令块包中携帯有待处理数据的字节信息和数据包数量;所述数据处理单元进ー步用干,在接收到主机发送的待处理数据之后,确定出接收到的待处理数据的字节信息和数据包数量,并与所述第一命令块包中携帯的字节信息和数据包数量进行比较,若不一致则通知所述命令接收单元、状态传输単元和安全理单元停止运行。
8.如权利要求5或6所述的USB接ロ设备,其特征在干,所述第一操作指令为签名指令,所述待处理数据为待签名数据;或者,所述第一操作指令为数据加密指令,所述待处理数据为待加密数据;或者,所述第一操作指令为数据解密指令,所述待处理数据为待解密数据。
9.如权利要求5所述的USB接ロ设备,其特征在干,所述USB接ロ设备为USBKey0
全文摘要
本发明公开了USB接口设备进行数据处理的方法及USB接口设备,以降低不法分子对待处理数据进行篡改的几率,提高对主机的数据进行处理的安全性和可靠性。方法包括步骤1、接收主机发送的第一命令块包;步骤2、接收主机发送的第一操作指令和待处理数据,并根据第一操作指令对待处理数据进行处理;步骤3、向所述主机发送第一命令状态包;步骤4、接收主机发送的用于指示读取处理后的待处理数据的第二命令块包;步骤5、将处理后的待处理数据发送给所述主机;步骤6、在发送完所述处理后的待处理数据之后,向主机发送第二命令状态包;在步骤2之后与步骤6之前,接收到所述主机或其他设备发送的第二操作指令时,拒绝执行所述第二操作指令。
文档编号G06F12/14GK102567234SQ201110441269
公开日2012年7月11日 申请日期2011年12月26日 优先权日2011年12月26日
发明者孟翔 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1