CN102307100A - 一种数据处理装置及其数据处理方法 - Google Patents

一种数据处理装置及其数据处理方法 Download PDF

Info

Publication number
CN102307100A
CN102307100A CN201110266263A CN201110266263A CN102307100A CN 102307100 A CN102307100 A CN 102307100A CN 201110266263 A CN201110266263 A CN 201110266263A CN 201110266263 A CN201110266263 A CN 201110266263A CN 102307100 A CN102307100 A CN 102307100A
Authority
CN
China
Prior art keywords
ccid
data
order
dynamic password
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201110266263A
Other languages
English (en)
Other versions
CN102307100B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN 201110266263 priority Critical patent/CN102307100B/zh
Publication of CN102307100A publication Critical patent/CN102307100A/zh
Application granted granted Critical
Publication of CN102307100B publication Critical patent/CN102307100B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据处理装置及其及其数据处理方法,属于信息安全领域。所述数据处理装置包括接口模块、接收模块、获取模块、加密发送模块、生成发送模块、解密模块、卡槽模块、电源模块。所述工作方法包括所述装置与上位机建立连接,向上位机声明自身是符合CCID接口标准的设备,接收BULK_OUT数据包,根据所述BULK_OUT数据包中CCID命令的字节获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令,根据所述CCID命令的类型执行相应操作,并向上位机返回相应应答。

Description

一种数据处理装置及其数据处理方法
技术领域
本发明涉及信息安全领域,特别涉及一种数据处理装置及其数据处理方法。
背景技术
CPU卡也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM、用户存储器EEPROM)以及芯片操作系统COS。装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
智能卡的使用,需要有相应的支持智能卡操作的终端工具,也就是数据处理装置,数据处理装置给智能卡和计算机提供了一个经济、安全和通用的界面,它使用与各种计算机接口,并且凭借内置的强大软件,能够兼容各类已有的以及即将面世的智能卡、操作系统和工业API(Application ProgrammingInterface,应用程序接口)标准。数据处理装置目前可以应用在企业安全、PKI(Public KEY Infrastructure,公钥基础设施)架构、家庭银行及电子商务等领域。通过数据处理装置,可以利用强大、安全和易于携带的智能卡,在组织内部实施统一和集成的安全策略。
随着CPU卡的普及,金融领域用CPU卡的地方越来越多,对数据处理装置的要求也越来越多,尤其是保证智能卡的信息和操作数据等在公共网络上的传输安全,现有的数据处理装置不能满足要求。
发明内容
为了解决现有数据处理装置无法保证数据在公共网络上传输安全性的问题,本发明提供了一种数据处理装置及其数据处理方法。
本发明所采用的技术手段为:
一种数据处理装置的数据处理方法,包括:
与上位机建立连接,向上位机声明自身是符合CCID接口标准的设备;
在检测到有智能卡与其建立连接,且正确接收所述上位机发送的BULK_OUT数据包后,根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令;
当所述CCID命令的类型为数据加密命令时,生成第一动态口令,所述第一动态口令做密钥,调用加密算法对指定数据进行加密计算,并且存储所述加密计算得到的加密结果,将加密成功的提示信息生成符合所述CCID接口标准的数据包发送给所述上位机,所述指定数据为所述数据加密命令中包含的数据,或数据处理装置从所述智能卡中获取的数据,或所述数据加密命令中包含的数据和所述从所述智能卡中获取的数据的组合;
当所述CCID命令的类型为获取加密结果命令时,将当前存储的加密结果生成符合所述CCID接口标准的数据包发送给所述上位机;
当所述CCID命令的类型为数据解密命令时,生成第二动态口令或者生成第二动态口令窗口,将所述第二动态口令或者将所述第二动态口令窗口中的每个动态口令做密钥,调用解密算法对所述数据解密命令中包含的数据进行解密计算,向所述智能卡发送数据明文以及向所述上位机发送符合CCID接口标准的应答信息数据包。
根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型包括:
当所述CCID命令的第1字节为6B时,检测所述CCID命令的第一预设字节的内容;
当所述第一预设字节为所述第一预设标识符时,根据与所述第一预设字节对应的目标字节获取所述CCID命令的类型。
根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型包括:
当所述CCID命令的第1字节为6f时,判断所述CCID命令的第二预设字节是否为第二预设标识符;
当所述第二预设字节为所述第二预设标识符时,根据与所述第二预设字节对应的目标字节获取所述CCID命令的类型;
当所述第二预设字节不为第二预设标识符时,判断所述CCID命令为何种二进制文件命令;
当所述CCID命令为写二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型;
当所述CCID命令为读二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型。
所述从智能卡中获取数据可以在所述数据处理装置检测到有智能卡与其建立连接之后获取,也可以在所述数据处理装置检测到有智能卡与其建立连接且确认接收到数据加密命令之后获取。
向所述智能卡发送数据明文以及向所述上位机发送符合CCID接口标准的应答信息包括:
判断解密得到的数据明文是否合法;
当所述解密得到的数据明文合法时,将所述解密得到的合法数据明文发送给智能卡,并向所述上位机发送符合CCID接口标准的数据明文合法的提示信息;
当所述解密得到的数据明文不合法时,向所述上位机发送符合CCID接口标准的数据明文不合法的提示信息。
向所述上位机发送符合CCID接口标准的应答信息包括:
将解密得到的数据明文发送给所述智能卡;
接收所述智能卡发送的操作结果信息,所述操作结果信息为操作成功的提示信息或数据明文不合法的提示信息;
将所述智能卡发送的所述操作结果信息生成符合CCID接口标准的数据包,将所述数据包发送给上位机。
当所述第二动态口令窗口中的动态口令为时间型动态口令时,所述第二动态口令窗口为以第二动态口令为中心的一组动态口令,所述第二动态口令为数据处理装置根据其当前时刻所对应的动态因子生成的动态口令;
当所述第二动态口令窗口中的动态口令为事件型动态口令时,所述第二动态口令窗口为以第二动态口令为起点的一组动态口令,所述第二动态口令为以数据处理装置中存储的当前动态口令生成次数值作为动态因子生成的动态口令。
一种数据处理装置,包括:
接口模块,用于与上位机建立连接;
接收模块,用于接收所述上位机发送的BULK_OUT数据包,以及从所述智能卡中获取数据;
获取模块,用于根据所述BULK_OUT数据包中芯片智能卡接口设备CCID命令的字节,获取所述CCID命令的类型;
加密发送模块,用于当所述CCID命令的类型为数据加密命令时,生成第一动态口令,所述第一动态口令做密钥,调用加密算法对指定数据进行加密计算,并且存储所述加密计算得到的加密结果,将加密成功的提示信息生成符合所述CCID接口标准的数据包发送给所述上位机;
生成发送模块,当所述CCID命令的类型为获取加密结果命令时,将当前存储的加密结果生成符合所述CCID接口标准的数据包发送给所述上位机;
解密模块,用于当所述CCID命令的类型为数据解密命令时,生成第二动态口令或者生成第二动态口令窗口,将所述第二动态口令或者将第二动态口令窗口中的每个动态口令做密钥,调用解密算法对所述数据解密命令中包含的数据进行解密计算,向所述上位机发送符合CCID接口标准的应答信息数据包;
卡槽模块,用于与所述智能卡建立连接;
电源模块,用于为所述数据处理装置提供电能。
所述获取模块包括:
第一判断单元,用于当所述CCID命令的第1字节为6B时,判断所述CCID命令的第一预设字节是否为第一预设标识符;
第一获取单元,用于当所述第一预设字节为所述第一预设标识符时,根据与所述第一预设字节对应的目标字节获取所述CCID命令的类型;
第二判断单元,用于当所述CCID命令的第1字节为6f时,判断所述CCID命令的第二预设字节是否为第二预设标识符;
第二获取单元,用于当所述第二预设字节为所述第二预设标识符时,根据所述第二预设字节对应的目标字节获取所述CCID命令的类型;
第三判断单元,用于当所述第二预设字节不为所述第二预设标识符时,判断所述CCID命令为何种二进制文件命令;
第三获取单元,用于当所述CCID命令为写二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型;
第四获取单元,用于当所述CCID命令为读二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型。
所述解密发送模块包括:
第四判断单元,用于判断解密得到的数据明文是否合法;
第一发送单元,用于当所述解密得到的数据明文合法时,将所述解密得到的合法数据明文发送给智能卡,并向所述上位机发送符合CCID接口标准的所述数据明文合法的提示信息;
第二发送单元,用于当所述解密得到的数据明文不合法时,向所述上位机发送符合CCID接口标准的所述数据不合法的提示信息。
所述解密发送模块还包括:
第三发送单元,用于将解密得到的数据明文发送给所述智能卡;
接收单元,用于接收所述智能卡发送的操作结果信息;
生成发送单元,用于将所述智能卡发送的所述操作结果信息生成符合CCID接口标准的数据包,将所述数据包发送给上位机。
本发明实施例提供的数据处理装置及其数据处理方法,首先所述装置与上位机建立连接,向上位机声明自身是符合CCID接口标准的设备,接收BULK_OUT数据包,然后根据所述BULK_OUT数据包中CCID命令的字节获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令,最后根据所述CCID命令的类型执行相应操作,并向上位机返回相应应答。本发明实施例通过对需要在公共网络上传输的数据进行加密从而保证了数据在公共网络上传输的安全性,解决了现有技术实现数据在公共网络上传输时,安全性不高的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种数据处理装置的数据处理方法的流程图;
图2为本发明实施例一中步骤106的细化图;
图3为本发明实施例一提供的另一种数据处理装置的数据处理方法的流程图;
图4为本发明实施例一提供的又一种数据处理装置的数据处理方法的流程图;
图5为本发明实施例一提供的再一种数据处理装置的数据处理方法的流程图;
图6为本发明实施例二提供的一种数据处理装置的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
实施例一
参见图1,本发明实施例一提供了一种数据处理装置的数据处理方法,具体步骤如下:
步骤101:与上位机建立连接,进行初始化;
具体地,数据处理装置通过USB接口与上位机建立连接;
步骤102:向上位机声明自身是符合CCID接口标准的设备;
其中,数据处理装置可以采用设备类型描述符的形式声明自身是符合CCID接口标准的设备,具体包括:数据处理装置向上位机发送CCID类型的设备描述符,上位机接收到所述CCID类型设备描述符后,根据所述CCID类型的设备描述符识别该与其建立连接的设备为CCID设备;
步骤103:检测是否有智能卡与所述数据处理装置建立连接,是则执行步骤104,否则继续执行步骤103;
步骤104:判断是否正确接收到BULK_OUT数据包,是则执行步骤105,否则继续执行步骤104;
具体地,判断是否正确接收到BULK_OUT数据包可以为:根据接收到的数据包长度标志以及数据包的发送标志进行判断,如果接收到的数据包长度与数据包的发送长度一致,则认为是正确接收到了BULK_OUT数据包;
步骤105:解析接收到的BULK_OUT数据包;
步骤106:判断BULK_OUT数据包中CCID命令的类型,若为数据加密命令,则执行步骤107;若为获取加密结果命令,则执行步骤110;若为数据解密命令,则执行步骤111;否则执行步骤116,
具体地,除数据加密命令、获取加密结果命令、数据解密命令外所述CCID命令还可以为上电复位命令、下电命令、协议和参数选择命令、卡片基本操作命令等;
参见图2步骤106可以细化为步骤1061到步骤10610,具体如下:
1061:判断所述CCID命令的第1字节,若所述CCID命令的第1字节为6B,则执行步骤1062,若所述CCID命令的第1字节为6f,则执行步骤1064,否则执行步骤116;
步骤1062:判断所述CCID命令的第一预设字节是否为第一预设标识符,是则执行步骤1063,否则执行步骤116;
优选地,在本实施例中设定第11、12字节为第一预设字节,设定第一预设标识符为5a a5;
步骤1063:根据所述CCID命令的第一预设字节对应的目标字节判断所述CCID命令的类型,若所述CCID命令为数据加密命令,则执行步骤107,若所述CCID命令为获取加密结果命令,则执行步骤110,若所述CCID命令为数据解密命令,则执行步骤111;
优选地,在本实施例中所述第一预设标识符对应的目标字节为所述第一预设字节后的第二个字节即第14字节,所述CCID命令的第14字节为01表示所述CCID命令为数据加密命令,所述CCID命令的第14字节为02表示所述CCID命令为获取加密结果命令,所述CCID命令的第14字节为03表示所述CCID命令为数据解密命令,具体实施中可视情况设定第14字节的具体数值;
步骤1064:判断所述CCID命令的第二预设字节是否为第二预设标识符,是则执行步骤1065,否则执行步骤1066;
优选地,在本实施例中设定第11、12字节为第二预设字节,设定第一预设标识符为5a a5;
步骤1065:根据所述CCID命令的第二预设字节对应的目标字节判断所述CCID命令的类型,若所述CCID命令为数据加密命令则执行步骤107,若所述CCID命令为获取加密结果命令,则执行步骤110,若所述CCID命令为数据解密命令,则执行步骤111,否则,执行步骤116;
优选地,在本实施例中所述第二预设标识符对应的目标字节为所述第二预设标识符后的第二个字节即第14字节,所述CCID命令的第14字节为01表示所述CCID命令为数据加密命令,所述CCID命令的第14字节为02表示所述CCID命令为获取加密结果命令,所述CCID命令的第14字节为03表示所述CCID命令为数据解密命令,具体实施中可视情况设定第14字节的具体数值;
步骤1066:判断所述CCID命令是否为写二进制文件命令,是则执行步骤1067,否则执行步骤1069;
步骤1067:判断所述CCID命令的P1、P2是否为第三预设标识符,是则执行步骤107,否则执行步骤1068;
优选地,在本实施例中设定第三预设标识符为5a a5;
步骤1068:判断所述CCID命令的P1、P2是否为第四预设标识符,是则执行步骤111,否则执行步骤116;
优选地,在本实施例中设定第四预设标识符为a5 5a;
步骤1069:判断所述CCID命令是否为读二进制文件命令,是则执行步骤10610,否则执行步骤116;
步骤10610:判断所述CCID命令的P1、P2是否为第五预设标识符,是则执行步骤110,否则执行步骤116;
优选地,在本实施例中设定第五预设标识符为5a a5;
步骤107:生成第一动态口令;
具体地,本实施例中,生成的第一动态口令长度为8字节,生成第一动态口令的过程可以为:数据处理装置设置长度为64字节的共享密钥,运用哈希算法对所述共享密钥和当前动态令牌验证次数,或对所述共享密钥和数据处理装置当前时刻进行计算产生20字节的哈希摘要,从所述哈希摘要中提取4个字节用作第一动态口令中的4个字节,第一动态口令剩余的4个字节用所述从哈希摘要中提取的4个字节的值与1028的和的值进行填充;其中所述动态令牌验证次数可以为数据处理装置在每次生成动态口令之前重新设置的,也可以为默认值,其中默认值由动态令牌验证次数的初始设置值在数据处理装置每生成一个动态口令后自动加1得到;
步骤108:用第一动态口令做密钥,调用加密算法对指定数据进行加密计算,并存储得到的加密结果;
具体地,所述指定数据可以为所述数据加密命令中包含的数据,或所述数据处理装置从所述智能卡中获取的数据,或是所述数据加密命令中的数据和所述从智能卡中获取的数据的组合,其中所述从智能卡中获取数据可以在所述数据处理装置检测到有智能卡与其建立连接之后获取,也可以在所述数据处理装置确认其接收到数据加密命令之后获取;
具体地,本实施例中的加密算法可以为DES算法、RSA算法等;
步骤109:向上位机返回加密成功的提示信息,返回执行步骤104;
具体地,数据处理装置将所述提示加密成功的提示信息组装成符合CCID标准的数据包返回给上位机;
步骤110:将数据处理装置内部存储的加密结果组装成符合CCID接口标准的数据包返回给上位机,返回执行步骤104;
具体地,若所述数据处理装置内部未存储有加密结果,则直接返回执行步骤104;
步骤111:生成第二动态口令;
具体地,在本实施例中,生成第二动态口令的方法与生成第一动态口令的方法相类似,在此不再赘述;
步骤112:用第二动态口令作为密钥,调用解密算法对数据解密命令中的数据密文进行解密计算;
具体地,本实施例中的解密算法可以为DES算法、RSA算法等;
步骤113:判断解密得到的数据明文是否合法,是则执行步骤114,否则执行步骤115;
步骤114:将解密得到的合法数据明文发送给与其相连接的智能卡,并向上位机返回数据明文合法的提示信息,返回执行步骤104;
具体地,数据处理装置将所述数据明文合法的提示信息组装成符合CCID标准的数据包返回给上位机;
步骤115:向上位机返回数据明文不合法的提示信息,返回执行步骤104;
具体地,数据处理装置将所述数据不合法的提示信息组装成符合CCID标准的数据包返回给上位机。
步骤116:根据该CCID命令的类型进行相应的处理,得到处理结果;
步骤117:将处理结果组装成符合CCID接口标准的数据包,并将所述数据包返回给上位机,返回执行步骤104;
具体地,在本实施例中:
步骤106中的CCID命令若为上电复位命令,则数据处理装置将相应的复位应答(Answer To Reset,ATR)组装成符合CCID标准的数据包返回给上位机;
若为协议和参数选择(Protocol and Parameters Selection)命令,则数据处理装置将相应的PPS应答组装成符合CCID标准的数据包返回给上位机;
若为卡片基本操作命令,则数据处理装置从与其相连接的智能卡中获取卡片的基本信息,并将获取到的卡片基本信息组装成符合CCID标准的数据包返回给上位机。
参见图3,本发明实施例中的步骤111、112可以替换为步骤111`、112`,步骤111`、112`的具体内容如下:
步骤111`:生成第二动态口令窗口;
其中,所述第二动态口令窗口为包括第二动态口令的一组动态口令,具体地:
当本实施例中的动态口令为时间型动态口令时,所述第二动态口令为数据处理装置根据其当前时刻所对应的动态因子生成的动态口令,所述第二动态口令窗口为以第二动态口令为中心的一组动态口令,具体窗口中动态口令的数量与预先设定的窗口大小有关;
当本实施例中的动态口令为事件型动态口令时,所述第二动态口令为以当前服务器的动态口令生成次数值作为动态因子生成的动态口令,或以当前服务器的动态口令生成次数值加预设值作为动态因子生成的动态口令,所述第二动态口令窗口为以第二动态口令为起点的一组动态口令,具体窗口中动态口令的数量与预先设定的窗口大小有关;
步骤112`:分别用第二动态口令窗口中的每个动态口令做密钥,调用解密算法对数据解密命令中的数据密文进行解密计算。
参见图4,本实施例中的步骤113、114、115也可以用步骤118和步骤119替换,步骤118和步骤119具体如下:
步骤118:将解密得到的数据明文发送给智能卡,等待接收智能卡返回操作结果信息;
其中,所述操作结果信息为操作成功的提示信息或数据明文不合法的提示信息;
步骤119:将智能卡返回的操作结果信息组装成符合CCID接口标准的数据包,并将所述数据包返回给上位机,返回执行步骤104。
参见图5,可将本发明实施例中的步骤111、112替换为步骤111`、112`的同时将步骤113、114、115替换为步骤118和步骤119。
本发明实施例提供的数据处理装置的数据处理方法,首先所述装置与上位机建立连接,向上位机声明自身是符合CCID接口标准的设备,接收BULK_OUT数据包,然后根据所述BULK_OUT数据包中CCID命令的字节获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令,最后根据所述CCID命令的类型执行相应操作,并向上位机返回相应应答。本发明实施例通过对需要在公共网络上传输的数据进行加密从而保证了数据在公共网络上传输的安全性,解决了现有技术实现数据在公共网络上传输时,安全性不高的问题。
实施例二
参见图6,本发明实施例二提供了一种数据处理装置,所述数据处理装置包括:USB接口模块201、第一通信模块202、第一判断模块203、解析模块204、第二判断模块205、动态口令模块206、处理模块207、加密模块208、解密模块209、组包模块210、第三判断模块211、第二通信模块212、卡槽模块213、电源模块214;上述各模块的具体功能如下:
USB接口模块201:与第一通信模块202相连,用于数据处理装置与上位机建立连接;
第一通信模块202:与USB接口模块201、第一判断模块203、组包模块210相连,用于通过USB接口模块201接收上位机发送给数据处理装置的数据以及将数据处理装置返回给上位机的数据通过USB接口模块201返回给向上位机;
具体地,所述上位机发送给数据处理装置的数据包括BULK_OUT数据包;
所述数据处理装置返回给上位机的数据均以符合CCID标准的数据包形式返回给上位机,所述符合CCID标准的数据包中的内容具体包括:加密成功的提示信息、加密结果、操作结果信息、数据明文合法的提示信息以及数据明文不合法的提示信息等;
第一判断模块203:与第一通信模块202、解析模块204相连,用于检测是否有智能卡与所述数据处理装置建立连接、判断第一通信模块202是否正确接收到上位机下发的BULK_OUT数据包,且在第一通信模块202正确接收到BULK_OUT数据包时将BULK_OUT数据包发送给解析模块204,在第一通信模块202没有正确接收到BULK_OUT数据包时继续判断第一通信模块202是否正确接收到BULK_OUT数据包;
解析模块204:与第一判断模块203、第二判断模块205相连,用于解析第一判断模块203发送来的BULK_OUT数据包,并将解析出的结果发送给第二判断模块205;
第二判断模块205:与解析模块204、动态口令模块206、处理模块207、存储模块214相连,用于根据解析模块204发送来的解析结果判断所述BULK_OUT数据包中CCID命令的类型,并根据判断结果将所述CCID命令发送给相应模块;
具体地,所述根据判断结果将所述CCID命令发送给相应模块具体为:当判断结果为数据加密命令或数据解密命令时,将所述CCID命令发送给动态口令模块206、当判断结果为获取加密结果命令时,将所述CCID命令发送给存储模块214、当判断结果为其它命令时,将所述CCID命令发送给处理模块207;
第二判断模块205可以具体为:第一判断单元2051、第二判断单元2052以及第三判断单元2053,各单元的具体功能如下:
第一判断单元2051:用于判断所述BULK_OUT数据包中CCID命令的第一个字节的内容;
第二判断单元2052:用于在第一判断单元判断出所述BULK_OUT数据包中CCID命令的第一个字节为6B时,判断所述CCID命令的第14字节的内容;
第三判断单元2053:用于在第一判断单元判断出所述BULK_OUT数据包中CCID命令的第一个字节为6f时,判断所述CCID命令的第14字节的内容;
动态口令模块206:与第二判断模块205、加密模块208、解密模块209相连,用于在接收到第二判断模块205发送来的数据加密命令后生成第一动态口令,并将数据加密命令和第一动态口令发送给加密模块208,以及用于在接收到第二判断模块205发送来的数据解密命令后根据所述动态口令生成要素生成第二动态口令或包括第二动态口令的一组动态口令并将数据解密命令和所述包括第二动态口令的一组动态口令发送给解密模块209;
处理模块207:与第二判断模块205、组包模块210相连,用于在接收到第二判断模块205发送来的其它命令后根据所述其它命令进行相应处理,并将处理结果发送给组包模块210;
具体地,所述其它命令为数据加密命令、数据解密命令以及获取加密结果命令以外的命令,包括上电复位命令、协议和参数选择(Protocol andParameters Selection)命令、卡片基本操作命令等;
当所述其它命令为上电复位命令时,处理模块207将相应的复位应答(Answer To Reset,ATR)发送给组包模块210;
当所述其它命令为协议和参数选择命令时,处理模块207将相应的PPS应答发送给组包模块210;
当所述其它命令为卡片基本操作命令时,处理模块207将从与其相连接的智能卡中获取到的卡片基本信息发送给组包模块210;
所述相应的复位应答、相应的PPS应答以及卡片基本信息等即为所述操作结果;
加密模块208:与第二判断模块205、动态口令模块206、组包模块210相连,用于存储加密算法,并在接收到动态口令模块206发送来的数据加密命令和动态口令后,用所述动态口令作密钥,调用加密算法对所述数据加密命令中的数据进行加密运算,将加密结果发送给存储模块214并发送加密成功的提示信息给组包模块210;
解密模块209:与动态口令模块206、第三判断模块211相连,用于存储解密算法,并在接收到动态口令模块206发送来的数据解密命令和第二动态口令或包括第二动态口令的一组动态口令后,用第二动态口令或分别用第二动态口令窗口中的每个动态口令作密钥调用解密算法,对数据解密命令中的数据进行解密得到数据明文,并将所述数据明文发送给第三判断模块211;
组包模块210:与第一通信模块202、处理模块207、加密模块208、第三判断模块211、存储模块214相连,用于将处理模块207发送来的处理结果、加密模块208发送来的加密成功的提示信息、第三判断模块211发送来的数据明文合法的提示信息或数据明文不合法的提示信息、从存储模块214中获取的加密结果、第二通信模块212发送来的操作结果信息组装成符合CCID标准的数据包发送给第一通信模块202;
第三判断模块211:与解密模块209、组包模块210、第二通信模块212相连,用于判断解密模块209发送来的数据明文是否合法,并在数据明文合法时,将合法的数据明文发送给第二通信模块212以及发送数据合法的提示信息给组包模块210,以及在数据明文不合法时,发送数据不合法的提示信息给组包模块210;
第二通信模块212:与第三判断模块211、卡槽模块213相连,用于将第三判断模块211发送来的数据明文通过卡槽模块213发送给与数据处理装置相连的智能卡,以及从所述智能卡中获取数据;
卡槽模块213:与第二通信模块212相连,用于所述数据处理装置与智能卡建立连接;
存储模块214:与第二判断模块205、加密模块208、组包模块210相连,用于存储加密模块发送来的加密结果,还用于在接收到第二判断模块205发送来的获取加密结果命令后将其内部存储的加密结果发送给组包模块210;;
电源模块215:与上述各模块相连,用于为所述数据处理装置提供电能。
在本实施例中,所述数据处理装置还可以不包括第三判断模块211,则解密模块209、组包模块210、第二通信模块212相应替换为:
解密模块209`:与动态口令模块206、第二通信模块212`相连,用于存储解密算法,并在接收到动态口令模块206发送来的数据解密命令和第二动态口令或包括第二动态口令的一组动态口令后,用所述第二动态口令或分别用所述第二动态口令窗口中的每个动态口令作密钥调用解密算法,对数据解密命令中的数据进行解密得到数据明文,并将所述数据明文发送给第二通信模块212`;
组包模块210`:与第一通信模块202、处理模块207、加密模块208、第二通信模块212`、存储模块214相连,用于将处理模块207发送来的处理结果、加密模块208发送来的加密成功的提示信息、第二通信模块212`发送来的与数据处理装置相连的智能卡返回的操作结果信息、存储模块214中存储的加密结果组装成符合CCID标准的数据包发送给第一通信模块202;
第二通信模块212`:与解密模块209`、组包模块210`、卡槽模块213相连,用于将解密模块209`发送来的数据明文通过卡槽模块213发送给所述智能卡,还用于接收所述智能卡返回的操作结果信息。
本发明实施例提供的数据处理装置,首先所述装置与上位机建立连接,向上位机声明自身是符合CCID接口标准的设备,接收BULK_OUT数据包,然后根据所述BULK_OUT数据包中CCID命令的字节获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令,最后根据所述CCID命令的类型执行相应操作,并向上位机返回相应应答。本发明实施例通过对需要在公共网络上传输的数据进行加密从而保证了数据在公共网络上传输的安全性,解决了现有技术实现数据在公共网络上传输时,安全性不高的问题。
本发明实施例提供的数据处理装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的数据处理装置及其数据处理方法可以适用于信息安全领域,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (11)

1.一种数据处理装置的数据处理方法,其特征在于,包括:
与上位机建立连接,向所述上位机声明自身是符合CCID接口标准的设备;
在检测到有智能卡与其建立连接,且正确接收所述上位机发送的BULK_OUT数据包后,根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型,所述CCID命令的类型包括:数据加密命令、获取加密结果命令和数据解密命令;
当所述CCID命令的类型为数据加密命令时,生成第一动态口令,用所述第一动态口令做密钥,调用加密算法对指定数据进行加密计算,并且存储所述加密计算得到的加密结果,将加密成功的提示信息生成符合所述CCID接口标准的数据包发送给所述上位机,所述指定数据为所述数据加密命令中包含的数据,或数据处理装置从所述智能卡中获取的数据,或所述数据加密命令中包含的数据和所述从所述智能卡中获取的数据的组合;
当所述CCID命令的类型为获取加密结果命令时,将当前存储的加密结果生成符合所述CCID接口标准的数据包发送给所述上位机;
当所述CCID命令的类型为数据解密命令时,生成第二动态口令或者生成第二动态口令窗口,用所述第二动态口令或者将所述第二动态口令窗口中的每个动态口令做密钥,调用解密算法对所述数据解密命令中包含的数据进行解密计算,向所述智能卡发送数据明文以及向所述上位机发送符合CCID接口标准的应答信息数据包。
2.根据权利要求1所述的数据处理方法,其特征在于,根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型包括:
当所述CCID命令的第1字节为6B时,检测所述CCID命令的第一预设字节;
当所述第一预设字节为所述第一预设标识符时,根据与所述第一预设字节对应的目标字节获取所述CCID命令的类型。
3.根据权利要求1所述的数据处理方法,其特征在于,根据所述BULK_OUT数据包中CCID命令的字节,获取所述CCID命令的类型包括:
当所述CCID命令的第1字节为6f时,判断所述CCID命令的第二预设字节是否为第二预设标识符;
当所述第二预设字节为所述第二预设标识符时,根据与所述第二预设字节对应的目标字节获取所述CCID命令的类型;
当所述第二预设字节不为第二预设标识符时,判断所述CCID命令为何种二进制文件命令;
当所述CCID命令为写二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型;
当所述CCID命令为读二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型。
4.根据权利要求1所述的数据处理方法,其特征在于,所述从智能卡中获取数据是在所述数据处理装置检测到有智能卡与其建立连接之后获取,或者是在所述数据处理装置检测到有智能卡与其建立连接且确认接收到数据加密命令之后获取。
5.根据权利要求1所述的数据处理的方法,其特征在于,向所述智能卡发送数据明文以及向所述上位机发送符合CCID接口标准的应答信息包括:
判断解密得到的数据明文是否合法;
当所述解密得到的数据明文合法时,将所述解密得到的合法数据明文发送给智能卡,并向所述上位机发送符合CCID接口标准的数据明文合法的提示信息;
当所述解密得到的数据明文不合法时,向所述上位机发送符合CCID接口标准的数据明文不合法的提示信息。
6.根据权利要求1所述的数据处理的方法,其特征在于,向所述上位机发送符合CCID接口标准的应答信息包括:
将解密得到的数据明文发送给所述智能卡;
接收所述智能卡发送的操作结果信息,所述操作结果信息为操作成功的提示信息或数据明文不合法的提示信息;
将所述智能卡发送的所述操作结果信息生成符合CCID接口标准的数据包,将所述数据包发送给上位机。
7.根据权利要求1所述的数据处理方法,其特征在于,
当所述第二动态口令窗口中的动态口令为时间型动态口令时,所述第二动态口令窗口为以第二动态口令为中心的一组动态口令,所述第二动态口令为数据处理装置根据当前时刻所对应的动态因子生成的动态口令;
当所述第二动态口令窗口中的动态口令为事件型动态口令时,所述第二动态口令窗口为以第二动态口令为起点的一组动态口令,所述第二动态口令为以数据处理装置中存储的当前动态口令生成次数值作为动态因子生成的动态口令。
8.一种数据处理装置,其特征在于,包括:
接口模块,用于与上位机建立连接;
接收模块,用于接收所述上位机发送的BULK_OUT数据包,以及从智能卡中获取数据;
获取模块,用于根据所述BULK_OUT数据包中芯片智能卡接口设备CCID命令的字节,获取所述CCID命令的类型;
加密发送模块,用于当所述CCID命令的类型为数据加密命令时,生成第一动态口令,用所述第一动态口令做密钥,调用加密算法对指定数据进行加密计算,并且存储所述加密计算得到的加密结果,将加密成功的提示信息生成符合CCID接口标准的数据包发送给所述上位机;
生成发送模块,当所述CCID命令的类型为获取加密结果命令时,将当前存储的加密结果生成符合所述CCID接口标准的数据包发送给所述上位机;
解密模块,用于当所述CCID命令的类型为数据解密命令时,生成第二动态口令或者生成第二动态口令窗口,用所述第二动态口令或者用所述第二动态口令窗口中的每个动态口令做密钥,调用解密算法对所述数据解密命令中包含的数据进行解密计算,向所述上位机发送符合所述CCID接口标准的应答信息数据包;
卡槽模块,用于与所述智能卡建立连接;
电源模块,用于为所述数据处理装置提供电能。
9.根据权利要求8所述的数据处理装置,其特征在于,所述获取模块包括:
第一判断单元,用于当所述CCID命令的第1字节为6B时,判断所述CCID命令的第一预设字节是否为第一预设标识符;
第一获取单元,用于当所述第一预设字节为所述第一预设标识符时,根据与所述第一预设字节对应的目标字节获取所述CCID命令的类型;
第二判断单元,用于当所述CCID命令的第1字节为6f时,判断所述CCID命令的第二预设字节是否为第二预设标识符;
第二获取单元,用于当所述第二预设字节为所述第二预设标识符时,根据所述第二预设字节对应的目标字节获取所述CCID命令的类型;
第三判断单元,用于当所述第二预设字节不为所述第二预设标识符时,判断所述CCID命令为何种二进制文件命令;
第三获取单元,用于当所述CCID命令为写二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型;
第四获取单元,用于当所述CCID命令为读二进制文件命令时,根据所述CCID命令的P1、P2获取所述CCID命令的类型。
10.根据权利要求8所述的数据处理装置,其特征在于,所述解密模块包括:
第四判断单元,用于判断解密得到的数据明文是否合法;
第一发送单元,用于当所述解密得到的数据明文合法时,将所述解密得到的合法数据明文发送给智能卡,并向所述上位机发送符合CCID接口标准的所述数据明文合法的提示信息;
第二发送单元,用于当所述解密得到的数据明文不合法时,向所述上位机发送符合CCID接口标准的所述数据不合法的提示信息。
11.根据权利要求8所述的数据处理装置,其特征在于,所述解密模块包括:
第三发送单元,用于将解密得到的数据明文发送给所述智能卡;
接收单元,用于接收所述智能卡发送的操作结果信息;
生成发送单元,用于将所述智能卡发送的所述操作结果信息生成符合CCID接口标准的数据包,将所述数据包发送给上位机。
CN 201110266263 2011-09-08 2011-09-08 一种数据处理装置及其数据处理方法 Expired - Fee Related CN102307100B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110266263 CN102307100B (zh) 2011-09-08 2011-09-08 一种数据处理装置及其数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110266263 CN102307100B (zh) 2011-09-08 2011-09-08 一种数据处理装置及其数据处理方法

Publications (2)

Publication Number Publication Date
CN102307100A true CN102307100A (zh) 2012-01-04
CN102307100B CN102307100B (zh) 2013-09-18

Family

ID=45380915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110266263 Expired - Fee Related CN102307100B (zh) 2011-09-08 2011-09-08 一种数据处理装置及其数据处理方法

Country Status (1)

Country Link
CN (1) CN102307100B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295767A (zh) * 2016-07-31 2017-01-04 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN111031535A (zh) * 2019-11-15 2020-04-17 华中科技大学 一种用于智能卡系统的安全通信方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764296A (zh) * 2004-10-22 2006-04-26 北京握奇数据系统有限公司 动态口令认证系统和方法
CN101719054A (zh) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 一种实现多卡槽访问的方法和装置
WO2011088179A1 (en) * 2010-01-15 2011-07-21 Bank Of America Corporation Authenticating a chip card interface device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764296A (zh) * 2004-10-22 2006-04-26 北京握奇数据系统有限公司 动态口令认证系统和方法
CN101719054A (zh) * 2009-12-24 2010-06-02 北京飞天诚信科技有限公司 一种实现多卡槽访问的方法和装置
WO2011088179A1 (en) * 2010-01-15 2011-07-21 Bank Of America Corporation Authenticating a chip card interface device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295767A (zh) * 2016-07-31 2017-01-04 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN106295767B (zh) * 2016-07-31 2019-03-15 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN111031535A (zh) * 2019-11-15 2020-04-17 华中科技大学 一种用于智能卡系统的安全通信方法及系统

Also Published As

Publication number Publication date
CN102307100B (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN106529969B (zh) 一种利用nfc查伪溯源的方法及系统
CN104765999B (zh) 一种对用户资源信息进行处理的方法、终端及服务器
US20100241867A1 (en) System and method for encrypted smart card pin entry
CN106527673A (zh) 绑定可穿戴设备的方法和装置、电子支付方法和装置
CN104217327A (zh) 一种金融ic卡互联网终端及其交易方法
KR20150011377A (ko) 전자 인증 클라이언트 시스템 및 프로세싱 방법, 그리고 전자 인증 시스템 및 방법
CN101339597A (zh) 一种升级读写器固件的方法、系统和设备
CN102123027A (zh) 信息安全处理方法和移动终端
CN101866411B (zh) 非接触式cpu卡一卡多应用安全认证加密方法及系统
CN102546172A (zh) 智能卡的访问控制方法、智能卡、终端和系统
CN102075615A (zh) 一种短消息发送、接收方法及客户识别模块
CN107872315B (zh) 数据处理方法和智能终端
CN103746815A (zh) 安全通信方法及装置
CN101540675B (zh) 一种智能密钥设备与应用软件的通讯方法和系统
CN102082669A (zh) 一种安全认证方法及装置
CN105631298A (zh) 一种加解密装置及方法
CN101587458A (zh) 智能存储卡的操作方法及装置
CN105577361A (zh) 一种信息处理方法及其装置
US10511946B2 (en) Dynamic secure messaging
EP2077517A1 (en) Delegation of access conditions between portable tokens
CN201742425U (zh) 非接触式cpu卡一卡多应用安全认证加密系统
US9756044B2 (en) Establishment of communication connection between mobile device and secure element
CN102307100B (zh) 一种数据处理装置及其数据处理方法
CN101883357A (zh) 一种终端与智能卡之间的相互认证方法、装置及系统
CN102315940B (zh) 一种数据的传输与处理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130918

CF01 Termination of patent right due to non-payment of annual fee