CN112702733A - 一种读卡终端及其工作方法 - Google Patents
一种读卡终端及其工作方法 Download PDFInfo
- Publication number
- CN112702733A CN112702733A CN202011631183.9A CN202011631183A CN112702733A CN 112702733 A CN112702733 A CN 112702733A CN 202011631183 A CN202011631183 A CN 202011631183A CN 112702733 A CN112702733 A CN 112702733A
- Authority
- CN
- China
- Prior art keywords
- card
- data
- packet
- module
- function
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 claims abstract description 87
- 230000004044 response Effects 0.000 claims description 148
- 238000013507 mapping Methods 0.000 claims description 122
- 238000009795 derivation Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000011017 operating method Methods 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 239000002131 composite material Substances 0.000 claims description 4
- 230000006870 function Effects 0.000 description 214
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种读卡终端及其工作方法,涉及通信安全领域。所述读卡终端包括接收模块、第一确定模块、第一判断模块、第一获取模块、第二确定模块、第二获取模块、第三获取模块、第一得到模块、第四获取模块、第一解密模块、生成模块、第二得到模块、更新模块、第三得到模块、第四得到模块、读取模块、第二判断模块、标识模块、第五得到模块、第三判断模块、执行模块、第五获取模块、第六获取模块、加密模块、第二解密模块和发送模块。
Description
技术领域
本发明涉及通信安全领域,特别涉及一种读卡终端及其工作方法。
背景技术
卡片已经充斥着现代人生活的方方面面,由于卡片种类较多,与卡片配套使用的读卡终端的含义覆盖范围也同样很广。现有读卡终端的工作方法通常为:读卡终端从上位机获取上位机指令后直接向卡片发送该上位机指令;当读卡终端接收到卡片返回的上位机响应时将其返回给上位机;读卡终端和卡片之间的通信数据不经任何安全处理,很容易被截获而泄露或者被篡改,安全性低。现亟需一种读卡终端及其工作方法来解决这一问题。
发明内容
为解决现有技术中的技术缺陷,本发明提出了一种读卡终端及其工作方法。
本发明提供的一种读卡终端工作方法,包括以下步骤:
步骤S00:当接收到上位机发送的指令时,读卡终端确定所述指令的类型,如为建立安全通道指令,则执行步骤S01;如为卡片通信指令,则执行步骤S04;
步骤S01:所述读卡终端判断是否已经建立安全通道,是则向所述上位机发送安全通道建立成功信息,返回步骤S00;否则执行步骤S02;
步骤S02:所述读卡终端获取卡片参数,根据所述卡片参数确定客观标识,获取与所述客观标识对应的函数包;获取原始卡片数据;根据预置的第二参数包、所述原始卡片数据和所述函数包得到派生密钥,从所述卡片中获取密文随机数据,根据所述派生密钥解密所述密文随机数据得到卡片随机数据;生成随机数据包;根据所述卡片随机数据、所述随机数据包、预置的第一参数包和所述函数包得到映射数据包;根据所述映射数据包更新所述第一参数包;根据所述随机数据包、更新后的第一参数包和所述第二参数包得到会话密钥包;执行步骤S03;
步骤S03:所述读卡终端根据所述会话密钥包和所述函数包得到终端认证令牌;根据所述终端认证令牌从所述卡片读取卡片认证令牌,根据所述卡片认证令牌和所述终端认证令牌判断安全通道是否建立成功,是则标识已经建立安全通道,根据所述会话密钥包得到安全会话密钥并保存;向所述上位机发送安全通道建立成功信息,返回步骤S00;否则向上位机发送安全通道建立失败信息,返回步骤S00;
步骤S04:所述读卡终端判断是否已经建立安全通道,是则执行步骤S05;否则执行标准终端卡片通信交互操作,返回步骤S00;
步骤S05:所述读卡终端从所述卡片通信指令中获取卡片通信数据;获取保存的安全会话密钥;使用所述安全会话密钥加密所述卡片通信数据得到卡片通信密文数据,向所述卡片发送所述卡片通信密文数据;使用所述安全会话密钥解密所述卡片返回的卡片通信密文响应得到卡片通信响应,向所述上位机返回所述卡片通信响应,返回步骤S00;
所述工作方法还包括,当检测到所述卡片离场时,所述读卡终端标识未建立安全通道。
本发明提供的一种读卡终端,包括接收模块、第一确定模块、第一判断模块、第一获取模块、第二确定模块、第二获取模块、第三获取模块、第一得到模块、第四获取模块、第一解密模块、生成模块、第二得到模块、更新模块、第三得到模块、第四得到模块、读取模块、第二判断模块、标识模块、第五得到模块、第三判断模块、执行模块、第五获取模块、第六获取模块、加密模块、第二解密模块和发送模块;
所述接收模块,用于接收上位机发送的指令;
所述第一确定模块,用于确定所述接收模块接收的所述指令的类型;
所述第一判断模块,用于如所述第一确定模块确定所述指令的类型为建立安全通道指令,判断是否已经建立安全通道;
所述发送模块,用于如所述第一判断模块判断已经建立安全通道,向所述上位机发送安全通道建立成功信息;
所述第一获取模块,用于如所述第一判断模块判断未建立安全通道,获取卡片参数;
所述第二确定模块,用于根据所述第一获取模块获取的所述卡片参数确定客观标识;
所述第二获取模块,用于获取与所述第二确定模块确定的所述客观标识对应的函数包;
所述第三获取模块,用于获取原始卡片数据;
所述第一得到模块,用于根据预置的第二参数包、所述第三获取模块获取的所述原始卡片数据和所述第二获取模块获取的所述函数包得到派生密钥;
所述第四获取模块,用于从所述卡片中获取密文随机数据;
所述第一解密模块,用于根据所述第一得到模块得到的所述派生密钥解密所述第四获取模块获取的所述密文随机数据得到卡片随机数据;
所述生成模块,用于生成随机数据包;
所述第二得到模块,用于根据所述第一解密模块解密得到的所述卡片随机数据、所述生成模块生成的所述随机数据包、预置的第一参数包和所述第二获取模块获取的所述函数包得到映射数据包;
所述更新模块,用于根据所述第二得到模块得到的所述映射数据包更新所述第一参数包;
所述第三得到模块,用于根据所述随机数据包、所述更新模块更新后的第一参数包和所述第二参数包得到会话密钥包;
所述第四得到模块,用于根据所述第三得到模块得到的所述会话密钥包和所述第二获取模块获取的所述函数包得到终端认证令牌;
所述读取模块,用于根据所述第四得到模块得到的所述终端认证令牌从所述卡片读取卡片认证令牌;
所述第二判断模块,用于根据所述读取模块读取的所述卡片认证令牌和所述第四得到模块得到的终端认证令牌判断安全通道是否建立成功;
所述标识模块,用于如所述第二判断模块判断为是则标识已经建立安全通道;
所述第五得到模块,用于如所述第二判断模块判断为是则根据所述第三得到模块得到的所述会话密钥包得到安全会话密钥并保存;
所述发送模块,还用于如所述第五得到模块得到安全会话密钥并保存,则向所述上位机发送安全通道建立成功信息
所述发送模块,还用于如所述第二判断模块判断为否则向上位机发送安全通道建立失败信息;
所述第三判断模块,用于如所述第一确定模块确定所述指令的类型为卡片通信指令,判断是否已经建立安全通道;
所述执行模块,用于如所述第三判断模块判断为否则执行标准终端卡片通信交互操作;
所述第五获取模块,用于从所述卡片通信指令中获取卡片通信数据;
所述第六获取模块,用于获取保存的安全会话密钥;
所述加密模块,用于如所述第三判断模块判断为是则使用所述安全会话密钥加密所述卡片通信数据得到卡片通信密文数据;
所述发送模块,还用于向所述卡片发送所述加密模块加密的所述卡片通信密文数据;
所述第二解密模块,用于使用所述第六获取模块获取的所述安全会话密钥解密所述卡片返回的卡片通信密文响应得到卡片通信响应;
所述发送模块,还用于向所述上位机返回所述第二解密模块解密得到的所述卡片通信响应;
所述标识模块,还用于当检测到所述卡片离场时,标识未建立安全通道。
采用上述技术方案达到的有益效果如下:本发明提供了一种读卡终端及其工作方法;所述方法中,读卡终端与卡片之间的通信数据可以通过安全通道以密文形式传输,能够防止通信数据被截获而泄露或者被篡改,提高通信数据的安全性;同时,也可以兼容执行标准读卡流程,具有普适性。
附图说明
图1是本发明实施例1提供的一种读卡终端工作方法流程图;
图2和图3是本发明实施例2提供的一种读卡终端工作方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
实施例1
本实施例提供了一种读卡终端工作方法,如图1所示,包括以下步骤:
步骤100:当接收到上位机发送的指令时,读卡终端确定指令的类型,如为建立安全通道指令,则执行步骤101;如为卡片通信指令,则执行步骤104;
步骤101:读卡终端判断是否已经建立安全通道,是则向上位机发送安全通道建立成功信息,返回步骤100;否则执行步骤102;
可选地,步骤101中,获取原始卡片数据具体包括:读卡终端判断建立安全通道指令中是否存在第一类型卡片数据,是则根据第一类型卡片数据确定原始卡片数据,否则接收输入的第一类型卡片数据。
可选地,步骤101中,获取原始卡片数据具体包括:读卡终端从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
步骤102:读卡终端获取卡片参数,根据卡片参数确定客观标识,获取与客观标识对应的函数包;获取原始卡片数据;根据预置的第二参数包、原始卡片数据和函数包得到派生密钥,从卡片中获取密文随机数据,根据派生密钥解密密文随机数据得到卡片随机数据;生成随机数据包;根据卡片随机数据、随机数据包、预置的第一参数包和函数包得到映射数据包;根据映射数据包更新第一参数包;根据随机数据包、更新后的第一参数包和第二参数包得到会话密钥包;执行步骤103;
可选地,获取原始卡片数据具体包括:读卡终端根据建立安全通道指令确定原始卡片数据的类型,如为第一类型则根据第一类型卡片数据确定原始卡片数据;如为第二类型则根据第二类型卡片数据确定原始卡片数据;
进一步地,读卡终端根据建立安全通道指令确定原始卡片数据的类型,具体为:读卡终端根据建立安全通道指令中预置字节上的数据确定原始卡片数据的类型,如预置字节上的数据为第六预置数据,则原始卡片数据为第一类型;如预置字节上的数据为第七预置数据,则原始卡片数据为第二类型;
进一步地,根据第一类型卡片数据确定原始卡片数据,具体为:读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据;
更进一步地,接收输入的第一类型卡片数据具体为:接收输入的第一类型卡片数据具体包括:读卡终端提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
进一步地,根据第一类型卡片数据确定原始卡片数据,具体为:读卡终端从建立安全通道指令中获取第一类型卡片数据,如能够从建立安全通道指令中获取到第一类型卡片数据,记第一类型卡片数据为原始卡片数据;
更进一步地,还包括:如不能从建立安全通道指令中获取到第一类型卡片数据,读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据;
又更进一步地,接收输入的第一类型卡片数据具体为:接收输入的第一类型卡片数据具体包括:读卡终端提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
进一步地,根据第二类型卡片数据确定原始卡片数据,具体为:读卡终端从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
可选地,获取原始卡片数据具体包括:读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据;
进一步地,接收输入的第一类型卡片数据具体为:接收输入的第一类型卡片数据具体包括:读卡终端提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
可选地,步骤102中还包括:读卡终端向卡片发送选中文件指令,判断卡片返回的选中文件响应的类型,如为正确响应则执行获取卡片参数;如为错误响应则向上位机发送报错信息,等待接收上位机发送的新的指令,返回步骤100。
可选地,步骤102中,根据卡片参数确定客观标识具体包括:读卡终端向卡片发送获取参数指令,从卡片返回的获取参数响应中获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据卡片客观标识数区域据和终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包;
进一步地,根据卡片客观标识数区域据和终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包,具体为:读卡终端根据卡片客观标识数区域据和终端客观标识列表确定客观标识列表,从客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包。
可选地,步骤102中,获取原始卡片数据之前还包括:读卡终端向卡片发送包括客观标识的客观标识指令;当接收到客观标识响应时,执行获取原始卡片数据。
步骤103:读卡终端根据会话密钥包和函数包得到终端认证令牌;根据终端认证令牌从卡片读取卡片认证令牌,根据卡片认证令牌和终端认证令牌判断安全通道是否建立成功,是则标识已经建立安全通道,根据会话密钥包得到安全会话密钥并保存;向上位机发送安全通道建立成功信息,返回步骤100;否则向上位机发送安全通道建立失败信息,返回步骤100;
可选地,步骤103中,根据终端认证令牌从卡片读取卡片认证令牌,具体为:读卡终端根据终端认证令牌组织交换认证令牌指令,向卡片发送交换认证令牌指令;当接收到卡片返回的交换认证令牌响应时,从交换认证令牌响应中获取卡片认证令牌。
可选地,步骤103中,根据卡片认证令牌和终端认证令牌判断安全通道是否建立成功,具体为:读卡终端判断卡片认证令牌和终端认证令牌是否相同,是则安全通道建立成功,否则安全通道建立失败。
步骤104:读卡终端判断是否已经建立安全通道,是则执行步骤105;否则执行标准终端卡片通信交互操作,返回步骤100;
步骤105:读卡终端从卡片通信指令中获取卡片通信数据;获取保存的安全会话密钥;使用安全会话密钥加密卡片通信数据得到卡片通信密文数据,向卡片发送卡片通信密文数据;使用安全会话密钥解密卡片返回的卡片通信密文响应得到卡片通信响应,向上位机返回卡片通信响应,返回步骤100;
本实施例中,所述工作方法还包括,当检测到卡片离场时,读卡终端标识未建立安全通道。
可选地,本实施例中,步骤102包括以下步骤:
相应地,步骤M01:读卡终端向卡片发送获取参数指令;根据卡片返回的获取参数响应确定客观标识,获取与客观标识对应的函数包;获取原始卡片数据;
相应地,步骤M02:读卡终端根据预置的第二参数包、原始卡片数据和函数包得到派生密钥;从卡片中读取密文随机数据;使用派生密钥解密密文随机数据得到卡片随机数据;
进一步地,步骤M02中,读卡终端根据预置的第二参数包、原始卡片数据和函数包得到派生密钥,具体为:读卡终端以预置的第二参数包中第一预置参数和原始卡片数据为参数调用函数包中密钥派生函数得到派生密钥。
进一步地,步骤M02中,从卡片中读取密文随机数据,具体为:读卡终端向卡片发送交换随机数指令;当接收到卡片返回的交换随机数响应时,从交换随机数响应中获取密文随机数据。
相应地,步骤M03:读卡终端生成随机数据包中第一随机数据;根据第一随机数据、预置的第一参数包和函数包得到第一终端公钥;根据第一终端公钥从卡片中读取第一卡片公钥;根据第一卡片公钥、第一随机数据、卡片随机数据、第一参数包和函数包得到第一映射数据包,根据第一映射数据包更新第一参数包;
进一步地,步骤M03中,根据第一随机数据、预置的第一参数包和函数包得到第一终端公钥,具体为:读卡终端以第一随机数据和预置的第一参数包为参数调用函数包中密钥生成函数得到第一终端公钥。
进一步地,步骤M03中,根据第一终端公钥从卡片中读取第一卡片公钥,具体为:读卡终端根据第一终端公钥组织第一交换公钥指令;向卡片发送第一交换公钥指令;当接收到卡片返回的第一交换公钥响应时,从第一交换公钥响应中获取第一卡片公钥。
进一步地,步骤M03中,根据第一卡片公钥、第一随机数据、卡片随机数据、第一参数包和函数包得到第一映射数据包,具体为:读卡终端根据第一卡片公钥、第一随机数据、第一参数包和函数包得到第一共享密钥;根据卡片随机数据、第一随机数据、第一共享密钥和函数包得到第一映射数据包;
更进一步地,读卡终端根据第一卡片公钥、第一随机数据、第一参数包和函数包得到第一共享密钥,具体为:读卡终端以第一卡片公钥、第一随机数据和第一参数包为参数调用函数包中密钥协商函数得到第一共享密钥。
更进一步地,根据卡片随机数据、第一随机数据、第一共享密钥和函数包得到第一映射数据包,具体为:读卡终端以卡片随机数据、第一随机数据和第一共享密钥为参数调用函数包中映射函数得到第一映射数据包;
又更进一步地,映射函数为通用映射函数或者认证映射函数。
进一步地,步骤M03替换为:读卡终端生成随机数据包中第一随机数据,根据第一随机数据、卡片随机数据、预置的第一参数包和函数包得到第二映射数据包;根据第二映射数据包更新第一参数包;
更进一步地,根据第一随机数据、卡片随机数据、预置的第一参数包和函数包得到第二映射数据包;根据第二映射数据包更新第一参数包,具体为:读卡终端以卡片随机数据和第一随机数据为参数调用函数包中伪随机函数得到伪随机数据;以伪随机数据和预置的第一参数包为参数调用函数包中映射函数得到第二映射数据包;根据第二映射数据包更新第一参数包;映射函数为合成映射函数。
更进一步地,步骤M03具体包括:读卡终端根据第一随机数据组织传输随机数据指令,向卡片发送传输随机数据指令;当接收到卡片返回的传输随机数据响应时,根据第一随机数据、卡片随机数据、预置的第一参数包和函数包得到第二映射数据包;根据第二映射数据包更新第一参数包。
相应地,步骤M04:读卡终端生成随机数据包中第二随机数据;根据第二随机数据、更新后的第一参数包和函数包得到第二终端公钥;根据第二终端公钥从卡片读取第二卡片公钥;根据第二卡片公钥、第二随机数据、更新后的第一参数包和函数包得到第二共享密钥;
进一步地,步骤M04中,根据第二随机数据、更新后的第一参数包和函数包得到第二终端公钥,具体为:读卡终端以第二随机数据和更新后的第一参数包为参数调用函数包中密钥生成函数得到第二终端公钥。
进一步地,步骤M04中,根据第二终端公钥从卡片读取第二卡片公钥,具体为:读卡终端根据第二终端公钥组织第二交换公钥指令,向卡片发送第二交换公钥指令;当接收到卡片返回的第二交换公钥响应时,从第二交换公钥响应中获取第二卡片公钥。
进一步地,步骤M04中,根据第二卡片公钥、第二随机数据、更新后的第一参数包和函数包得到第二共享密钥,具体为:读卡终端以第二卡片公钥、第二随机数据和更新后的第一参数包为参数调用函数包中密钥协商函数得到第二共享密钥。
相应地,步骤M05:读卡终端根据第二参数包、第二共享密钥和函数包得到会话密钥包;
进一步地,步骤M05具体为:读卡终端以第二参数包中第二预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到会话密钥包中第一会话密钥;以第二参数包中第三预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到会话密钥包中第二会话密钥;
更进一步地,步骤103中,根据会话密钥包和函数包得到终端认证令牌,具体为:读卡终端根据会话密钥包中第一会话密钥调用函数包中令牌函数得到终端认证令牌;
更进一步地,步骤103中,根据会话密钥包得到安全会话密钥并保存,具体为:读卡终端将会话密钥包中第二会话密钥作为安全会话密钥保存。
实施例2
本实施例提供了一种读卡终端工作方法;如图1和图2所示,包括以下步骤:
步骤201:当接收到上位机发送的指令时,读卡终端确定指令的类型,如为建立安全通道指令,则执行步骤202,如为卡片通信指令,则执行步骤218;
可选地,本步骤具体为:当接收到上位机发送的指令时,读卡终端从指令中获取第一至四字节数据和第六字节数据,根据第一至四字节数据和第六字节数据确定指令的类型,如第一至四字节数据为第一预置数据且第六字节数据为第二预置数据,则为建立安全通道指令,则执行步骤202,否则为卡片通信指令,则执行步骤218;
例如,当接收到上位机发送的指令0xFFC201200C020900020006303130363234时,读卡终端从指令中获取第一至四字节数据和第六字节数据,根据第一至四字节数据和第六字节数据确定指令的类型,如第一至四字节数据为第一预置数据0xFFC20120且第六字节数据为第二预置数据0x02,则为建立安全通道指令,执行步骤202,否则为卡片通信指令,则执行步骤218。
步骤202:读卡终端根据预置标识判断是否已经建立安全通道,是则向上位机发送建立成功响应,等待接收上位机发送新的指令,返回步骤201;否则执行步骤203;
本实施例中,读卡终端预先设置预置标识,用于标识安全通道是否已经建立。
可选地,本步骤具体为:读卡终端确定预置标识的类型,如为第四预置数据则已经建立安全通道,向上位机发送建立成功响应,等待接收上位机发送新的指令,返回步骤201;如为第五预置数据则未建立安全通道,执行步骤203;
例如,读卡终端确定预置标识的类型,如为第四预置数据0x01则已经建立安全通道,向上位机发送建立成功响应,等待接收上位机发送新的指令;如为第五预置数据0x00则未建立安全通道,执行步骤203。
可选地,本步骤具体为:读卡终端判断预置标识是否等于第四预置数据,是则已经建立安全通道,向上位机发送建立成功响应,等待接收上位机发送新的指令,返回步骤201;否则未建立安全通道,执行步骤203。
可选地,本步骤具体为:读卡终端判断预置标识是否置位,是则已经建立安全通道,向上位机发送建立成功响应,等待接收上位机发送新的指令,返回步骤201;否则未建立安全通道,执行步骤203。
可选地,本步骤具体为:读卡终端判断预置标识的设置数据是否等于第五预置数据,是则未建立安全通道,执行步骤203;否则已经建立安全通道,向上位机发送建立成功响应,等待接收上位机发送新的指令,返回步骤201。
可选地,本实施例中的工作方法,还包括:如读卡终端检测到卡片离场,则读卡终端将预置标识的设置数据设置为第五预置数据。
步骤203:读卡终端根据建立安全通道指令确定原始卡片数据的类型,如为第一类型则执行步骤205;如为第二类型则执行步骤204;
本实施例中,原始卡片数据如为第一类型,则后续步骤中根据第一类型卡片数据得到原始卡片数据,原始卡片数据如为第二类型,则后续步骤中根据第二类型卡片数据得到原始卡片数据;出厂时卡片上刻印有第一类型卡片数据,其后续作为原始因子参与读卡终端和卡片建立安全通道过程;出厂时卡片(例如,一种可被读卡终端读取的身份证件)上印有第二类型卡片数据,其后续作为原始因子参与读卡终端和卡片建立安全通道过程。
可选地,本步骤具体为:读卡终端从建立安全通道指令获取第六预置字节数据,判断第六预置字节数据的类型,如为第六预置数据,则原始卡片数据为第一类型,执行步骤205;如为第七预置数据,则为第二类型,执行步骤204;
进一步地,本步骤更具体为:读卡终端从建立安全通道指令获取第9个字节的数据作为第六预置字节数据,判断第六预置字节数据的类型,如为第六预置数据,则原始卡片数据为第一类型,执行步骤205;如为第七预置数据,则为第二类型,执行步骤204;
例如,读卡终端从建立安全通道指令获取第9个字节的数据作为第六预置字节数据,判断第六预置字节数据的类型,如为第六预置数据0x02,则原始卡片数据为第一类型,执行步骤205;如为第七预置数据0x01,则为第二类型,执行步骤204;
步骤204:读卡终端从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据;执行步骤208;
例如,本实施例中,如建立安全通道指令为0xFFC2012060025D0001005A493C55544F443233313435383930373C3C3C3C3C3C3C3C3C3C3C3C3C3C3C37343038313232463132303431353955544F3C3C3C3C3C3C3C3C3C3C3C364552494B53534F4E3C3C414E4E413C4D415249413C3C3C3C3C3C3C3C3C3C;第二类型卡片数据是I<UTOD231458907<<<<<<<<<<<<<<<7408122F1204159UTO<<<<<<<<<<<6ERIKSSON<<ANNA<MARIA<<<<<<<<<<(其十六进制的示例数据为0x493C55544F443233313435383930373C3C3C3C3C3C3C3C3C3C3C3C3C3C3C37343038313232463132303431353955544F3C3C3C3C3C3C3C3C3C3C3C364552494B53534F4E3C3C414E4E413C4D415249413C3C3C3C3C3C3C3C3C3C)。
可选地,本步骤具体为:读卡终端从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行sha-1运算得到原始卡片数据;执行步骤208;
可选地,第二类型卡片数据可以由序列号、出生日期和截止日期组成;
步骤205:读卡终端判断建立安全通道指令中是否存在第一类型卡片数据,是则执行步骤206;否则执行步骤207;
可选地,本步骤之前还包括:读卡终端开机,进行初始化;执行寻卡操作;向上位机发送ATR数据;当接收到上位机的连接卡片指令时,连接卡片,向上位机发送连接成功通知;
进一步地,本步骤之前还包括:读卡终端通过USB接口与上位机进行通信。
进一步地,本步骤之前还包括:读卡终端通过蓝牙与上位机进行通信。
可选地,本步骤具体为:读卡终端从建立安全通道指令获取第三预置字节数据,根据第三预置字节数据和第三预置数据判断建立安全通道指令中是否存在原始卡片数据,是则执行步骤206;否则执行步骤207;
进一步地,本步骤更具体为:读卡终端从建立安全通道指令获取第三预置字节数据,判断第三预置字节数据是否等于第三预置数据,是则建立安全通道指令中存在第一类型卡片数据,执行步骤206;否则建立安全通道指令中不存在第一类型卡片数据,执行步骤207;
更进一步地,本步骤更具体为:读卡终端从建立安全通道指令获取第5个字节上的数据作为第三预置字节数据,判断第三预置字节数据是否等于第三预置数据,是则建立安全通道指令中存在第一类型卡片数据,执行步骤206;否则建立安全通道指令中不存在第一类型卡片数据,执行步骤207;
例如,读卡终端从建立安全通道指令获取第5个字节上的数据作为第三预置字节数据,判断第三预置字节数据是否等于第三预置数据0x0C,是则建立安全通道指令中存在第一类型卡片数据,执行步骤206;否则建立安全通道指令中不存在第一类型卡片数据,执行步骤207。
步骤206:读卡终端从建立安全通道指令中获取原始卡片数据;执行步骤208;
可选地,本步骤具体为:读卡终端从建立安全通道指令中获取后6个字节的数据作为原始卡片数据;执行步骤207;
例如,读卡终端从建立安全通道指令
0xFFC201200C020900020006303130363234中获取后6个字节的数据0x303130363234作为原始卡片数据0x303130363234;执行步骤207。
可选地,本步骤还包括:读卡终端保存原始卡片数据。
步骤207:读卡终端提示用户输入第一类型卡片数据;当接收到输入的第一类型卡片数据时,对第一类型卡片数据进行进制转换得到原始卡片数据,执行步骤208;
例如,如建立安全通道指令为0xFFC2012006020300020000,则执行步骤208;
可选地,本步骤具体为:读卡终端提示用户通过读卡终端输入第一类型卡片数据;当接收到输入的第一类型卡片数据时,将第一类型卡片数据从十进制转化为十六进制得到原始卡片数据,执行步骤208;
本实施方式中,读卡终端需具备输入功能(包括多种输入方式:语音输入、键盘输入、扫描二维码输入、扫描刻录在卡片上的数字输入等)。
例如,读卡终端提示用户通过读卡终端输入第一类型卡片数据010624;当接收到输入的第一类型卡片数据010624时,将第一类型卡片数据010624从十进制转化为十六进制得到原始卡片数据0x303130363234,执行步骤208;
可选地,本步骤还包括:读卡终端显示输入的第一类型卡片数据;其中,当用户通过键盘输入时会通过显示屏进行显示,方便用户查看和修改输入的第一类型卡片数据。
例如,读卡终端显示输入的第一类型卡片数据010624;
可选地,本步骤还包括:当未接收到输入的原始卡片数据时,读卡终端向上位机发送报错信息。
可选地,本步骤还包括:读卡终端保存原始卡片数据。
步骤208:读卡终端向卡片发送选中文件指令,当接收卡片的选中文件响应时,确定选中文件响应的类型,如为第一类型响应,执行步骤209;如为第二类型响应,向上位机发送报错信息,等待接收上位机发送新的指令,返回步骤201;
可选地,本步骤具体为:读卡终端向卡片发送选中文件指令,当接收卡片的选中文件响应时,判断选中文件响应的类型,如为正确响应,执行步骤209;如为错误响应,向上位机发送报错信息,等待接收上位机发送新的指令,返回步骤201;
例如,读卡终端向卡片发送选中文件指令0x00A4020C02011C,当接收卡片的选中文件响应时,判断选中文件响应的类型,如为正确响应0x9000,执行步骤209;如为错误响应0x00,向上位机发送报错信息,等待接收上位机发送新的指令,返回步骤201。
步骤209:读卡终端向卡片发送获取参数指令;当接收到卡片返回的获取参数响应时,根据获取参数响应确定客观标识及对应的函数包;所述函数包包括密钥派生函数、映射函数、密钥生成函数、密钥协商函数和令牌函数;
可选地,本步骤具体为:读卡终端向卡片发送获取参数指令;当接收到卡片返回的获取参数响应时,从获取参数响应获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据卡片客观标识区域数据和终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包;所述函数包包括密钥派生函数、映射函数、密钥生成函数、密钥协商函数和令牌函数;
可选地,本步骤更具体为:读卡终端向卡片发送获取参数指令;当接收到卡片返回的获取参数响应时,从获取参数响应获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据卡片客观标识区域数据和终端客观标识列表确定客观标识列表,从客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包;所述函数包包括密钥派生函数、映射函数、密钥生成函数、密钥协商函数和令牌函数;
本实施例中,当映射函数为第二函数类型时,所述函数包中还包括伪随机函数。
本实施例中,在根据卡片客观标识区域数据和终端客观标识列表确定客观标识列表时,卡片客观标识区域数据中和终端客观标识列表中内容相同的部分构成客观标识列表。
例如,本实施例中,以映射函数为第一函数类型(例如通用函数)为例:读卡终端向卡片发送获取参数指令0x00B0000000;当接收到卡片返回的获取参数响应0x3170300D060804007F0007020102010101300F060A04007F000702010302010201013012060A04007F0007020104020102010201010D3012060A04007F0007020104020102010201010D3012060A04007F000702010401020101020101003012060A04007F000702010401010201020101009000时,从获取参数响应获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据卡片客观标识区域数据和终端客观标识列表确定选定客观标识列表,从选定客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包;所述函数包包括密钥派生函数、映射函数、密钥生成函数、密钥协商函数和令牌函数。
步骤210:读卡终端根据客观标识组织客观标识指令,向卡片发送客观标识指令;当接收到客观标识响应时,获取原始卡片数据;以第一预置参数和原始卡片数据为参数调用函数包中密钥派生函数得到派生密钥;
例如,读卡终端根据客观标识组织客观标识指令0x0022C1A412800A04007F0007020104020183010284010D,向卡片发送客观标识指令0x0022C1A412800A04007F0007020104020183010284010D;当接收到客观标识响应0x9000时,获取原始卡片数据0x303130363234;以第一预置参数和原始卡片数据0x303130363234为参数调用函数包中密钥派生函数SHA-1散列函数得到派生密钥。
可选地,步骤具体为:读卡终端根据客观标识组织客观标识指令,向卡片发送客观标识指令;当接收到客观标识响应时,获取原始卡片数据;对原始卡片数据进行处理得到卡片处理数据;以第一预置参数和原始卡片数据为参数调用函数包中密钥派生函数得到派生密钥;
进一步地,读卡终端根据客观标识组织客观标识指令,向卡片发送客观标识指令;当接收到客观标识响应时,获取原始卡片数据;对原始卡片数据进行编码得到卡片处理数据;以第一预置参数和原始卡片数据为参数调用函数包中密钥派生函数得到派生密钥。
步骤211:读卡终端向卡片发送交换随机数指令;当接收到卡片返回的交换随机数响应时,从交换随机数响应中获取密文随机数据,使用派生密钥解密密文随机数据得到卡片随机数据;生成第一随机数据;查询函数包中映射函数的类型,如映射函数为第一映射函数,执行步骤212;如映射类型为第二映射函数,执行步骤213;
本实施例中,第一映射函数为通用映射函数或者认证映射函数;第二映射函数为合成映射函数。
例如,本实施例中,以映射函数为第一映射函数为例示例数据:读卡终端向卡片发送交换随机数指令0x10860000027C00;当接收到卡片返回的交换随机数响应0x7C1280102E7E0A0A6644E81F48B5472D3DB36E139000时,读卡终端从交换随机数响应中获取密文随机数据,使用派生密钥解密密文随机数据得到卡片随机数据;生成第一随机数据0x60BC0DBD40B045E711A42CF57CAA3F9434D308FC7D752FA7661545160EF33FA9;查询函数包中映射函数的类型,如映射函数为第一映射函数,执行步骤212;如映射类型为第二映射函数,执行步骤213。
步骤212:读卡终端以第一随机数据和预置的第一参数包为参数调用函数包中密钥生成函数得到第一终端公钥;根据第一终端公钥组织第一交换公钥指令;向卡片发送第一交换公钥指令;当接收到卡片返回的第一交换公钥响应时,从第一交换公钥响应中获取第一卡片公钥;以第一卡片公钥、第一随机数据和第一参数包为参数调用函数包中密钥协商函数得到第一共享密钥;以卡片随机数据、第一随机数据和第一共享密钥为参数调用第一映射函数得到第一映射数据包;根据第一映射数据包更新第一参数包;执行步骤214;
本实施例中,第一参数包由第十一预置数据、第十二预置数据、第十三预置数据和第十四预置数据构成;后续步骤中更新第一参数包时,更新的是第一参数包中第十三预置数据和第十四预置数据。
例如,读卡终端以第一随机数据和预置的第一参数包为参数调用函数包中密钥生成函数得到第一终端公钥0x6AE356BD23F037A0AAC863434D9E0A094021FD0CA0A3B5194C45BE9D9638815246C23032CC91182B1EC93EF87ED94F02D2EC950F5FCA7A34760A3A065D15C22B;根据第一终端公钥0x6AE356BD23F037A0AAC863434D9E0A094021FD0CA0A3B5194C45BE9D9638815246C23032CC91182B1EC93EF87ED94F02D2EC950F5FCA7A34760A3A065D15C22B组织第一交换公钥指令0x10860000457C438141046AE356BD23F037A0AAC863434D9E0A094021FD0CA0A3B5194C45BE9D9638815246C23032CC91182B1EC93EF87ED94F02D2EC950F5FCA7A34760A3A065D15C22B,向卡片发送第一交换公钥指令;当接收到卡片返回的第一交换公钥响应0x7C4382410484F4C7389E0FC741489C89B4012D2638743727E596C309CAE27E06F2C1681D3F33E97D8E5CAECFF68D6EEFCCDEB9FF58D17FD1BD04ED480DE887AE82700A90AB9000时,从第一交换公钥响应中获取第一卡片公钥0x84F4C7389E0FC741489C89B4012D2638743727E596C309CAE27E06F2C1681D3F33E97D8E5CAECFF68D6EEFCCDEB9FF58D17FD1BD04ED480DE887AE82700A90AB;以第一卡片公钥、第一随机数据和第一参数包为参数调用函数包中密钥协商函数得到第一共享密钥0x510FCB20F1ACB7E3B7573D2F4B69BF9E5D436D16B9502210E7F1226A3525DF2232D7FABD0AD6EC2B0EF15F8713273136BED230DACBDE106138352EE46E44E9E8;以卡片随机数据、第一随机数据和第一共享密钥为参数调用第一映射函数得到第一映射数据包0xA749C5589BBE2E82D69B18F6F5C6C4F78C5EB8524BE3167352351795FD3D16B225BD7BE4B504B6C3E6697FF1EA52906FD2CAE3CE45DACCE6CE12DCF973520E22;根据第一映射数据包更新第一参数包;执行步骤214。
步骤213:读卡终端根据第一随机数据组织传输随机数据指令,向卡片发送传输随机数据指令;当接收到卡片返回的传输随机数据响应时,以卡片随机数据和第一随机数据为参数调用函数包中伪随机函数得到伪随机数据;以伪随机数据和第一参数包为参数调用函数包中第二映射函数得到第二映射数据包;根据第二映射数据包更新第一参数包;执行步骤214;
本实施中,所述函数包还包括伪随机函数;
步骤214:读卡终端生成第二随机数据;以第二随机数据和更新后的第一参数包为参数调用函数包中密钥生成函数得到第二终端公钥;根据第二终端公钥组织第二交换公钥指令,向卡片发送第二交换公钥指令;当接收到卡片返回的第二交换公钥响应时,读卡终端从第二交换公钥响应中获取第二卡片公钥;以第二卡片公钥、第二随机数据和更新后的第一参数包为参数调用函数包中密钥协商函数得到第二共享密钥;
例如,读卡终端生成第二随机数据0x3F0614AA70D17AD5661641C5679370A31BFC354249D41E1268334B59576A6CC6;以第二随机数据和更新后的第一参数包为参数调用函数包中密钥生成函数得到第二终端公钥0x1C0F55127C7A66916E49C94E3BE653A718C290F492051178443ADEE98141AD2D95DF34518573CEC44312B65BA27FD731413B99E6FB7D39DB944A88DA0D0B359D;根据第二终端公钥组织第二交换公钥指令0x10860000457C438341041C0F55127C7A66916E49C94E3BE653A718C290F492051178443ADEE98141AD2D95DF34518573CEC44312B65BA27FD731413B99E6FB7D39DB944A88DA0D0B359D,向卡片发送第二交换公钥指令;当接收到卡片返回的第二交换公钥响应0x7C438441041687E96D86940942647F3FD7DC7DECF2F762F3B3F1F45B523243FAB762D6A3979EBBFBD7FB37FBBCF25D654DD2FBF1BF6333815B657F83E1C127153396BFC99A9000时,读卡终端从第二交换公钥响应0x7C438441041687E96D86940942647F3FD7DC7DECF2F762F3B3F1F45B523243FAB762D6A3979EBBFBD7FB37FBBCF25D654DD2FBF1BF6333815B657F83E1C127153396BFC99A9000中获取第二卡片公钥0x1687E96D86940942647F3FD7DC7DECF2F762F3B3F1F45B523243FAB762D6A3979EBBFBD7FB37FBBCF25D654DD2FBF1BF6333815B657F83E1C127153396BFC99A;以第二卡片公钥、第二随机数据和更新后的第一参数包为参数调用函数包中密钥协商函数得到第二共享密钥0x931D69E50F71F2EF84B527BA3F5335A6740DF592227F56C2D944B96E81A1BBA30E87C3A0788002650D1CD349E1E2D4C18C3B6E8C76316ACB27143E79FFC76D97。
步骤215:读卡终端以第二预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第一会话密钥;以第三预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第二会话密钥;
步骤216:读卡终端根据第一会话密钥调用函数包中令牌函数得到终端认证令牌;根据终端认证令牌组织交换认证令牌指令,向卡片发送交换认证令牌指令;当接收到卡片返回的交换认证令牌响应时,从交换认证令牌响应中获取卡片认证令牌,根据卡片认证令牌和终端认证令牌确定安全通道是否建立成功,如安全通道建立成功,执行步骤217;如安全通道建立失败,向上位机发送安全通道建立失败信息,等待接收上位机发送新的指令,返回步骤201;
可选地,本步骤具体为:读卡终端以第二预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第一会话密钥;以第三预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第二会话密钥;根据第一会话密钥调用函数包中令牌函数得到终端认证令牌;根据终端认证令牌组织交换认证令牌指令,向卡片发送交换认证令牌指令;当接收到卡片返回的交换认证令牌响应时,读卡终端从交换认证令牌响应中获取卡片认证令牌,判断卡片认证令牌和终端认证令牌是否相同,是则安全通道建立成功,执行步骤217;否则安全通道建立失败,向上位机发送安全通道建立失败信息,等待接收上位机发送新的指令,返回步骤201;
例如,读卡终端以第二预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第一会话密钥;以第三预置参数和第二共享密钥为参数调用函数包中密钥派生函数得到第二会话密钥;根据第一会话密钥调用函数包中令牌函数得到终端认证令牌;根据终端认证令牌组织交换认证令牌指令0x008600000C7C0A8508A18E3DA1A1B5398C,向卡片发送交换认证令牌指令;当接收到卡片返回的交换认证令牌响应0x7C0A86089CE08195081051E69000时,读卡终端从交换认证令牌响应中获取卡片认证令牌,判断卡片认证令牌和终端认证令牌是否相同,是则安全通道建立成功,执行步骤217;否则安全通道建立失败,向上位机发送安全通道建立失败信息,等待接收上位机发送新的指令,返回步骤201。
步骤217:读卡终端将预置标识设置为第四预置数据;将第二会话密钥作为安全会话密钥保存,向上位机发送安全通道建立成功信息,等待接收上位机发送新的指令,返回步骤201;
例如,读卡终端将第二会话密钥作为安全会话密钥保存,向上位机发送安全通道建立成功信息,等待接收上位机发送新的指令,返回步骤201。
步骤218:读卡终端根据预置标识判断是否已经建立安全通道,是则执行步骤219;否则执行步骤220;
步骤219:读卡终端从卡片通信指令中获取卡片通信数据;获取保存的安全会话密;使用安全会话密加密卡片通信数据得到卡片通信密文数据,向卡片发送卡片通信密文数据;当接收到卡片返回的卡片通信密文响应时,使用安全会话密钥解密卡片通信密文响应得到卡片通信响应,向上位机发送卡片通信响应,等待接收上位机发送新的指令,返回步骤201;
步骤220:读卡终端向卡片发送卡片通信指令,当接收到卡片返回的卡片通信响应时,向上位机发送卡片通信响应,等待接收上位机发送新的指令,返回步骤201。
实施例3
本实施例提供了一种读卡终端,包括接收模块301、第一确定模块302、第一判断模块303、第一获取模块304、第二确定模块305、第二获取模块306、第三获取模块307、第一得到模块308、第四获取模块309、第一解密模块310、生成模块311、第二得到模块312、更新模块313、第三得到模块314、第四得到模块315、读取模块316、第二判断模块317、标识模块318、第五得到模块319、第三判断模块320、执行模块321、第五获取模块322、第六获取模块323、加密模块324、第二解密模块325和发送模块326;
接收模块301,用于接收上位机发送的指令;
第一确定模块302,用于确定接收模块301接收的指令的类型;
第一判断模块303,用于如第一确定模块302确定指令的类型为建立安全通道指令,判断是否已经建立安全通道;
发送模块326,用于如第一判断模块303判断已经建立安全通道,向上位机发送安全通道建立成功信息;
第一获取模块304,用于如第一判断模块303判断未建立安全通道,获取卡片参数;
第二确定模块305,用于根据第一获取模块304获取的卡片参数确定客观标识;
可选地,第二确定模块305,具体用于向卡片发送获取参数指令,从卡片返回的获取参数响应中获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据卡片客观标识数区域据和终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包;
进一步地,第二确定模块305用于根据卡片客观标识数区域据和终端客观标识列表确定客观标识,具体为:第二确定模块305用于根据卡片客观标识数区域据和终端客观标识列表确定客观标识列表,从客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包。
第二获取模块306,用于获取与第二确定模块305确定的客观标识对应的函数包;
第三获取模块307,用于获取原始卡片数据;
可选地,第三获取模块307,具体用于根据建立安全通道指令确定原始卡片数据的类型,如为第一类型则根据第一类型卡片数据确定原始卡片数据;如为第二类型则根据第二类型卡片数据确定原始卡片数据;
进一步地,第三获取模块307用于根据建立安全通道指令确定原始卡片数据的类型,具体为:第三获取模块307用于根据建立安全通道指令中预置字节上的数据确定原始卡片数据的类型,如预置字节上的数据为第六预置数据,则原始卡片数据为第一类型;如预置字节上的数据为第七预置数据,则原始卡片数据为第二类型;
进一步地,第三获取模块307用于根据第一类型卡片数据确定原始卡片数据,具体为:第三获取模块307用于接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据;
进一步地,第三获取模块307用于根据第一类型卡片数据确定原始卡片数据,具体为:第三获取模块307用于从建立安全通道指令中获取第一类型卡片数据,如能够从建立安全通道指令中获取到第一类型卡片数据,记第一类型卡片数据为原始卡片数据;
更进一步地,第三获取模块307,还用于如不能从建立安全通道指令中获取到第一类型卡片数据,接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
进一步地,第三获取模块307用于根据第二类型卡片数据确定原始卡片数据,具体为:第三获取模块307用于从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
可选地,第三获取模块307,具体用于接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
可选地,第三获取模块307,具体用于判断建立安全通道指令中是否存在第一类型卡片数据,是则根据第一类型卡片数据确定原始卡片数据,否则接收输入的第一类型卡片数据。
可选地,第三获取模块307,具体用于从建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
本实施中,第三获取模块307用于接收输入的第一类型卡片数据,具体为:第三获取模块307用于提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
第一得到模块308,用于根据预置的第二参数包、第三获取模块307获取的原始卡片数据和第二获取模块306获取的函数包得到派生密钥;
第四获取模块309,用于从卡片中获取密文随机数据;
第一解密模块310,用于根据第一得到模块308得到的派生密钥解密第四获取模块309获取的密文随机数据得到卡片随机数据;
生成模块311,用于生成随机数据包;
第二得到模块312,用于根据第一解密模块310解密得到的卡片随机数据、生成模块311生成的随机数据包、预置的第一参数包和第二获取模块306获取的函数包得到映射数据包;
更新模块313,用于根据第二得到模块312得到的映射数据包更新第一参数包;
第三得到模块314,用于根据随机数据包、更新模块313更新后的第一参数包和第二参数包得到会话密钥包;
第四得到模块315,用于根据第三得到模块314得到的会话密钥包和第二获取模块306获取的函数包得到终端认证令牌;
读取模块316,用于根据第四得到模块315得到的终端认证令牌从卡片读取卡片认证令牌;
第二判断模块317,用于根据读取模块316读取的卡片认证令牌和第四得到模块315得到的终端认证令牌判断安全通道是否建立成功;
标识模块318,用于如第二判断模块317判断为是则标识已经建立安全通道;
第五得到模块319,用于如第二判断模块317判断为是则根据第三得到模块314得到的会话密钥包得到安全会话密钥并保存;
发送模块326,还用于如第五得到模块319得到安全会话密钥并保存,则向上位机发送安全通道建立成功信息
发送模块326,还用于如第二判断模块317判断为否则向上位机发送安全通道建立失败信息;
第三判断模块320,用于如第一确定模块302确定指令的类型为卡片通信指令,判断是否已经建立安全通道;
执行模块321,用于如第三判断模块320判断为否则执行标准终端卡片通信交互操作;
第五获取模块322,用于从卡片通信指令中获取卡片通信数据;
第六获取模块323,用于获取保存的安全会话密钥;
加密模块324,用于如第三判断模块320判断为是则使用安全会话密钥加密卡片通信数据得到卡片通信密文数据;
发送模块326,还用于向卡片发送加密模块324加密的卡片通信密文数据;
第二解密模块325,用于使用第六获取模块323获取的安全会话密钥解密卡片返回的卡片通信密文响应得到卡片通信响应;
发送模块326,还用于向上位机返回第二解密模块325解密得到的卡片通信响应;
标识模块318,还用于当检测到卡片离场时,标识未建立安全通道。
可选地,发送模块326,还用于向卡片发送选中文件指令;
相应地,第四判断模块,用于判断卡片返回的选中文件响应的类型;
相应地,第一获取模块304,具体用于如第四判断模块判断卡片返回的选中文件响应的类型为正确响应则获取卡片参数;
相应地,发送模块326,还用于如第四判断模块判断卡片返回的选中文件响应的类型为错误响应则向上位机发送报错信息,等待接收上位机发送的新的指令。
可选地,第三获取模块307还用于向卡片发送包括客观标识的客观标识指令;当接收到客观标识响应时,获取原始卡片数据。
可选地,发送模块326,还用于向卡片发送获取参数指令;
相应地,第一获取模块304,具体用于如第一判断模块303判断未建立安全通道,获取卡片返回的获取参数响应;
相应地,第二确定模块305,具体用于根据卡片返回的获取参数响应确定客观标识;
相应地,生成模块311包括第一生成单元和第二生成单元;
相应地,第一生成单元,用于生成随机数据包中第一随机数据;
相应地,第二得到模块312,具体用于根据第一生成单元生成的第一随机数据、预置的第一参数包和第二获取模块306获取的函数包得到第一终端公钥;根据第一终端公钥从卡片中读取第一卡片公钥;根据第一卡片公钥、第一生成单元生成的第一随机数据、第四获取模块309获取的卡片随机数据、第一参数包和第二获取模块306获取的函数包得到第一映射数据包;
相应地,更新模块313,具体用于根据第二得到模块312得到的第一映射数据包更新第一参数包;
相应地,第二生成单元,用于生成随机数据包中第二随机数据;
相应地,第三得到模块314,具体用于根据第二生成单元生成的第二随机数据、更新模块313更新后的第一参数包和第二获取模块306获取的函数包得到第二终端公钥;根据第二终端公钥从卡片读取第二卡片公钥;根据第二卡片公钥、第二生成单元生成的第二随机数据、更新模块313更新后的第一参数包和第二获取模块306获取的函数包得到第二共享密钥;根据第二参数包、第二共享密钥和第二获取模块306获取的函数包得到会话密钥包;
进一步地,第一得到模块308,具体用于以预置的第二参数包中的第一预置参数和第三获取模块307获取的原始卡片数据为参数调用第二获取模块306获取的函数包中密钥派生函数得到派生密钥;
进一步地,第四获取模块309,具体用于向卡片发送交换随机数指令;当接收到卡片返回的交换随机数响应时,从交换随机数响应中获取密文随机数据;
进一步地,第二得到模块312用于根据第一生成单元生成的第一随机数据、预置的第一参数包和第二获取模块306获取的函数包得到第一终端公钥,具体为:第二得到模块312用于以第一随机数据和预置的第一参数包为参数调用函数包中密钥生成函数得到第一终端公钥;
进一步地,第二得到模块312用于根据第一终端公钥从卡片中读取第一卡片公钥,具体为:第二得到模块312用于根据第一终端公钥组织第一交换公钥指令;向卡片发送第一交换公钥指令;当接收到卡片返回的第一交换公钥响应时,从第一交换公钥响应中获取第一卡片公钥。
进一步地,第二得到模块312用于根据第一终端公钥从卡片中读取第一卡片公钥;根据第一卡片公钥、第一生成单元生成的第一随机数据、第四获取模块309获取的卡片随机数据、第一参数包和第二获取模块306获取的函数包得到第一映射数据包,具体为:第二得到模块312用于根据第一卡片公钥、第一生成单元生成的第一随机数据、第一参数包和第二获取模块306获取的函数包得到第一共享密钥;根据第四获取模块309获取的卡片随机数据、第一生成单元生成的第一随机数据、第一共享密钥和第二获取模块306获取的函数包得到第一映射数据包;
更进一步地,第二得到模块312用于根据第一卡片公钥、第一生成单元生成的第一随机数据、第一参数包和第二获取模块306获取的函数包得到第一共享密钥,具体为:第二得到模块312用于以第一卡片公钥、第一生成单元生成的第一随机数据和第一参数包为参数调用第二获取模块306获取的函数包中密钥协商函数得到第一共享密钥。
更进一步地,第二得到模块312用于根据第一卡片公钥、第一生成单元生成的第一随机数据、第四获取模块309获取的卡片随机数据、第一参数包和第二获取模块306获取的函数包得到第一映射数据包,具体为:第二得到模块312用于以第四获取模块309获取的卡片随机数据、第一生成单元生成的第一随机数据和第一共享密钥为参数调用第二获取模块306获取的函数包中映射函数得到第一映射数据包;优选地,映射函数为通用映射函数或者认证映射函数;
更进一步地,第二得到模块312,还用于根据第一生成单元生成的第一随机数据、第四获取模块309获取的卡片随机数据、预置的第一参数包和第二获取模块306获取的函数包得到第二映射数据包;
更进一步相应地,更新模块313,还用于根据第二得到模块312得到的第二映射数据包更新第一参数包;
又更进一步地,第二得到模块312用于根据第一生成单元生成的第一随机数据、第四获取模块309获取的卡片随机数据、预置的第一参数包和第二获取模块306获取的函数包得到第二映射数据包,具体为:第二得到模块312用于以第四获取模块309获取的卡片随机数据和第一生成单元生成的第一随机数据为参数调用第二获取模块306获取的函数包中伪随机函数得到伪随机数据;以伪随机数据和第一参数包为参数调用第二获取模块306获取的函数包中映射函数得到第二映射数据包;映射函数为合成映射函数;
又更近一步地,第二得到模块312,还用于根据第一生成单元生成的第一随机数据组织传输随机数据指令,向卡片发送传输随机数据指令;当接收到卡片返回的传输随机数据响应时,根据第一生成单元生成的第一随机数据、卡片随机数据、预置的第一参数包和第二获取模块306获取的函数包得到第二映射数据包。
进一步地,步骤M04中,根据第二随机数据、更新后的第一参数包和函数包得到第二终端公钥,具体为:读卡终端300以第二随机数据和更新后的第一参数包为参数调用函数包中密钥生成函数得到第二终端公钥。
进一步地,第三得到模块314用于根据第二终端公钥从卡片读取第二卡片公钥,具体为:第三得到模块314用于根据第二终端公钥组织第二交换公钥指令,向卡片发送第二交换公钥指令;当接收到卡片返回的第二交换公钥响应时,从第二交换公钥响应中获取第二卡片公钥。
进一步地,第三得到模块314用于根据第二卡片公钥、第二生成单元生成的第二随机数据、更新模块313更新后的第一参数包和第二获取模块306获取的函数包得到第二共享密钥,具体为:第三得到模块314用于以第二卡片公钥、第二生成单元生成的第二随机数据和更新模块313更新后的第一参数包为参数调用第二获取模块306获取的函数包中密钥协商函数得到第二共享密钥。
进一步地,第三得到模块314用于根据第二参数包、第二共享密钥和第二获取模块306获取的函数包得到会话密钥包,具体为:第三得到模块314用于以第二参数包中第二预置参数和第二共享密钥为参数调用第二获取模块306获取的函数包中密钥派生函数得到会话密钥包中第一会话密钥;以第二参数包中第三预置参数和第二共享密钥为参数调用第二获取模块306获取的函数包中密钥派生函数得到会话密钥包中第二会话密钥;
更进一步地,第四得到模块315,具体用于根据第三得到模块314得到的会话密钥包中第一会话密钥调用第二获取模块306获取的函数包中令牌函数得到终端认证令牌;
更进一步地,第五得到模块319,具体用于将第三得到模块314得到的会话密钥包中第二会话密钥作为安全会话密钥保存。
可选地,读取模块316,具体用于根据第四得到模块315得到的终端认证令牌组织交换认证令牌指令,向卡片发送交换认证令牌指令;当接收到卡片返回的交换认证令牌响应时,从交换认证令牌响应中获取卡片认证令牌。
可选地,第二判断模块317,具体用于判断读取模块316读取的卡片认证令牌和第四得到模块315得到的终端认证令牌是否相同,是则安全通道建立成功,否则安全通道建立失败。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (70)
1.一种读卡终端工作方法,其特征在于,包括如下步骤:
步骤S00:当接收到上位机发送的指令时,读卡终端确定所述指令的类型,如为建立安全通道指令,则执行步骤S01;如为卡片通信指令,则执行步骤S04;
步骤S01:所述读卡终端判断是否已经建立安全通道,是则向所述上位机发送安全通道建立成功信息,返回步骤S00;否则执行步骤S02;
步骤S02:所述读卡终端获取卡片参数,根据所述卡片参数确定客观标识,获取与所述客观标识对应的函数包;获取原始卡片数据;根据预置的第二参数包、所述原始卡片数据和所述函数包得到派生密钥,从所述卡片中获取密文随机数据,根据所述派生密钥解密所述密文随机数据得到卡片随机数据;生成随机数据包;根据所述卡片随机数据、所述随机数据包、预置的第一参数包和所述函数包得到映射数据包;根据所述映射数据包更新所述第一参数包;根据所述随机数据包、更新后的第一参数包和所述第二参数包得到会话密钥包;执行步骤S03;
步骤S03:所述读卡终端根据所述会话密钥包和所述函数包得到终端认证令牌;根据所述终端认证令牌从所述卡片读取卡片认证令牌,根据所述卡片认证令牌和所述终端认证令牌判断安全通道是否建立成功,是则标识已经建立安全通道,根据所述会话密钥包得到安全会话密钥并保存;向所述上位机发送安全通道建立成功信息,返回步骤S00;否则向上位机发送安全通道建立失败信息,返回步骤S00;
步骤S04:所述读卡终端判断是否已经建立安全通道,是则执行步骤S05;否则执行标准终端卡片通信交互操作,返回步骤S00;
步骤S05:所述读卡终端从所述卡片通信指令中获取卡片通信数据;获取保存的安全会话密钥;使用所述安全会话密钥加密所述卡片通信数据得到卡片通信密文数据,向所述卡片发送所述卡片通信密文数据;使用所述安全会话密钥解密所述卡片返回的卡片通信密文响应得到卡片通信响应,向所述上位机返回所述卡片通信响应,返回步骤S00;
所述工作方法还包括,当检测到所述卡片离场时,所述读卡终端标识未建立安全通道。
2.如权利要求1所述的工作方法,其特征在于,所述获取原始卡片数据具体包括:所述读卡终端根据所述建立安全通道指令确定原始卡片数据的类型,如为第一类型则根据第一类型卡片数据确定原始卡片数据;如为第二类型则根据第二类型卡片数据确定原始卡片数据。
3.如权利要求2所述的工作方法,其特征在于,所述读卡终端根据所述建立安全通道指令确定原始卡片数据的类型,具体为:所述读卡终端根据所述建立安全通道指令中预置字节上的数据确定原始卡片数据的类型,如所述预置字节上的数据为第六预置数据,则原始卡片数据为第一类型;如所述预置字节上的数据为第七预置数据,则原始卡片数据为第二类型。
4.如权利要求2所述的工作方法,其特征在于,所述根据第一类型卡片数据确定原始卡片数据,具体为:所述读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
5.如权利要求2所述的工作方法,其特征在于,所述根据第一类型卡片数据确定原始卡片数据,具体为:所述读卡终端从所述建立安全通道指令中获取第一类型卡片数据,如能够从所述建立安全通道指令中获取到第一类型卡片数据,记第一类型卡片数据为原始卡片数据。
6.如权利要求5所述的工作方法,其特征在于,还包括:如不能从所述建立安全通道指令中获取到第一类型卡片数据,所述读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
7.如权利要求2所述的工作方法,其特征在于,所述根据第二类型卡片数据确定原始卡片数据,具体为:所述读卡终端从所述建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
8.如权利要求1所述的工作方法,其特征在于,所述获取原始卡片数据具体包括:所述读卡终端接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
9.如权利要求1所述的工作方法,其特征在于,所述步骤S01中,所述获取原始卡片数据具体包括:所述读卡终端判断所述建立安全通道指令中是否存在第一类型卡片数据,是则根据第一类型卡片数据确定原始卡片数据,否则接收输入的第一类型卡片数据。
10.如权利要求1所述的工作方法,其特征在于,所述步骤S01中,所述获取原始卡片数据具体包括:所述读卡终端从所述建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
11.如权利要求4、6、8或9所述的工作方法,其特征在于,所述接收输入的第一类型卡片数据具体包括:所述读卡终端提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
12.如权利要求1所述的工作方法,其特征在于,所述步骤S02中还包括:所述读卡终端向卡片发送选中文件指令,判断所述卡片返回的选中文件响应的类型,如为正确响应则执行所述获取卡片参数;如为错误响应则向上位机发送报错信息,等待接收上位机发送的新的指令,返回步骤S00。
13.如权利要求1所述的工作方法,其特征在于,所述步骤S02中,所述根据所述卡片参数确定客观标识具体包括:所述读卡终端向所述卡片发送获取参数指令,从所述卡片返回的获取参数响应中获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包。
14.如权利要求13所述的工作方法,其特征在于,所述根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包,具体为:所述读卡终端根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识列表,从客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包。
15.如权利要求1所述的工作方法,其特征在于,所述步骤S02中,所述获取原始卡片数据之前还包括:所述读卡终端向所述卡片发送包括所述客观标识的客观标识指令;当接收到客观标识响应时,执行所述获取原始卡片数据。
16.如权利要求1所述的工作方法,其特征在于,所述步骤S02包括以下步骤:
步骤M01:所述读卡终端向所述卡片发送获取参数指令;根据所述卡片返回的获取参数响应确定客观标识,获取与所述客观标识对应的函数包;获取原始卡片数据;
步骤M02:所述读卡终端根据预置的第二参数包、所述原始卡片数据和所述函数包得到派生密钥;从所述卡片中读取密文随机数据;使用所述派生密钥解密所述密文随机数据得到卡片随机数据;
步骤M03:所述读卡终端生成随机数据包中第一随机数据;根据所述第一随机数据、预置的第一参数包和所述函数包得到第一终端公钥;根据所述第一终端公钥从所述卡片中读取第一卡片公钥;根据所述第一卡片公钥、所述第一随机数据、所述卡片随机数据、所述第一参数包和所述函数包得到第一映射数据包,根据所述第一映射数据包更新所述第一参数包;
步骤M04:所述读卡终端生成随机数据包中第二随机数据;根据所述第二随机数据、更新后的第一参数包和所述函数包得到第二终端公钥;根据所述第二终端公钥从所述卡片读取第二卡片公钥;根据所述第二卡片公钥、所述第二随机数据、更新后的第一参数包和所述函数包得到第二共享密钥;
步骤M05:所述读卡终端根据所述第二参数包、所述第二共享密钥和所述函数包得到会话密钥包。
17.如权利要求16所述的工作方法,其特征在于,所述步骤M02中,所述读卡终端根据预置的第二参数包、所述原始卡片数据和所述函数包得到派生密钥,具体为:所述读卡终端以预置的第二参数包中第一预置参数和所述原始卡片数据为参数调用所述函数包中密钥派生函数得到派生密钥。
18.如权利要求16所述的工作方法,其特征在于,所述步骤M02中,所述从所述卡片中读取密文随机数据,具体为:所述读卡终端向所述卡片发送交换随机数指令;当接收到所述卡片返回的交换随机数响应时,从交换随机数响应中获取密文随机数据。
19.如权利要求16所述的工作方法,其特征在于,所述步骤M03中,所述根据所述第一随机数据、预置的第一参数包和所述函数包得到第一终端公钥,具体为:所述读卡终端以所述第一随机数据和预置的第一参数包为参数调用所述函数包中密钥生成函数得到第一终端公钥。
20.如权利要求16所述的工作方法,其特征在于,所述步骤M03中,所述根据所述第一终端公钥从所述卡片中读取第一卡片公钥,具体为:所述读卡终端根据所述第一终端公钥组织第一交换公钥指令;向所述卡片发送所述第一交换公钥指令;当接收到所述卡片返回的第一交换公钥响应时,从所述第一交换公钥响应中获取第一卡片公钥。
21.如权利要求16所述的工作方法,其特征在于,所述步骤M03中,所述根据所述第一卡片公钥、所述第一随机数据、所述卡片随机数据、所述第一参数包和所述函数包得到第一映射数据包,具体为:所述读卡终端根据所述第一卡片公钥、所述第一随机数据、所述第一参数包和所述函数包得到第一共享密钥;根据所述卡片随机数据、所述第一随机数据、所述第一共享密钥和所述函数包得到第一映射数据包。
22.如权利要求21所述的工作方法,其特征在于,所述读卡终端根据所述第一卡片公钥、所述第一随机数据、所述第一参数包和所述函数包得到第一共享密钥,具体为:所述读卡终端以所述第一卡片公钥、所述第一随机数据和所述第一参数包为参数调用所述函数包中密钥协商函数得到第一共享密钥。
23.如权利要求21所述的工作方法,其特征在于,所述根据所述卡片随机数据、所述第一随机数据、所述第一共享密钥和所述函数包得到第一映射数据包,具体为:所述读卡终端以所述卡片随机数据、所述第一随机数据和所述第一共享密钥为参数调用所述函数包中映射函数得到第一映射数据包。
24.如权利要求23所述的工作方法,其特征在于,所述映射函数为通用映射函数或者认证映射函数。
25.如权利要求16所述的工作方法,其特征在于,所述步骤M03替换为:所述读卡终端生成随机数据包中第一随机数据,根据所述第一随机数据、所述卡片随机数据、预置的第一参数包和所述函数包得到第二映射数据包;根据所述第二映射数据包更新所述第一参数包。
26.如权利要求25所述的工作方法,其特征在于,所述根据所述第一随机数据、所述卡片随机数据、预置的第一参数包和所述函数包得到第二映射数据包;根据所述第二映射数据包更新所述第一参数包,具体为:
所述读卡终端以所述卡片随机数据和所述第一随机数据为参数调用所述函数包中伪随机函数得到伪随机数据;以所述伪随机数据和预置的第一参数包为参数调用所述函数包中映射函数得到第二映射数据包;根据所述第二映射数据包更新所述第一参数包;所述映射函数为合成映射函数。
27.如权利要求25所述的工作方法,其特征在于,所述步骤M03具体包括:所述读卡终端根据所述第一随机数据组织传输随机数据指令,向所述卡片发送所述传输随机数据指令;当接收到所述卡片返回的传输随机数据响应时,根据所述第一随机数据、所述卡片随机数据、预置的第一参数包和所述函数包得到第二映射数据包;根据所述第二映射数据包更新所述第一参数包。
28.如权利要求16所述的工作方法,其特征在于,所述步骤M04中,所述根据所述第二随机数据、更新后的第一参数包和所述函数包得到第二终端公钥,具体为:所述读卡终端以所述第二随机数据和更新后的第一参数包为参数调用所述函数包中密钥生成函数得到第二终端公钥。
29.如权利要求16所述的工作方法,其特征在于,所述步骤M04中,所述根据所述第二终端公钥从所述卡片读取第二卡片公钥,具体为:所述读卡终端根据所述第二终端公钥组织第二交换公钥指令,向所述卡片发送所述第二交换公钥指令;当接收到所述卡片返回的第二交换公钥响应时,从所述第二交换公钥响应中获取第二卡片公钥。
30.如权利要求16所述的工作方法,其特征在于,所述步骤M04中,所述根据所述第二卡片公钥、所述第二随机数据、更新后的第一参数包和所述函数包得到第二共享密钥,具体为:所述读卡终端以所述第二卡片公钥、所述第二随机数据和更新后的第一参数包为参数调用所述函数包中密钥协商函数得到第二共享密钥。
31.如权利要求16所述的工作方法,其特征在于,所述步骤M05具体为:所述读卡终端以所述第二参数包中第二预置参数和所述第二共享密钥为参数调用所述函数包中密钥派生函数得到会话密钥包中第一会话密钥;以所述第二参数包中第三预置参数和所述第二共享密钥为参数调用所述函数包中密钥派生函数得到会话密钥包中第二会话密钥。
32.如权利要求31所述的工作方法,其特征在于,所述步骤S03中,所述根据所述会话密钥包和所述函数包得到终端认证令牌,具体为:所述读卡终端根据所述会话密钥包中第一会话密钥调用所述函数包中令牌函数得到终端认证令牌。
33.如权利要求31所述的工作方法,其特征在于,所述步骤S03中,所述根据所述会话密钥包得到安全会话密钥并保存,具体为:所述读卡终端将所述会话密钥包中第二会话密钥作为安全会话密钥保存。
34.如权利要求1所述的工作方法,其特征在于,所述步骤S03中,所述根据所述终端认证令牌从所述卡片读取卡片认证令牌,具体为:所述读卡终端根据所述终端认证令牌组织交换认证令牌指令,向所述卡片发送所述交换认证令牌指令;当接收到所述卡片返回的交换认证令牌响应时,从所述交换认证令牌响应中获取卡片认证令牌。
35.如权利要求1所述的工作方法,其特征在于,所述步骤S03中,所述根据所述卡片认证令牌和所述终端认证令牌判断安全通道是否建立成功,具体为:所述读卡终端判断所述卡片认证令牌和所述终端认证令牌是否相同,是则安全通道建立成功,否则安全通道建立失败。
36.一种读卡终端,其特征在于,包括接收模块、第一确定模块、第一判断模块、第一获取模块、第二确定模块、第二获取模块、第三获取模块、第一得到模块、第四获取模块、第一解密模块、生成模块、第二得到模块、更新模块、第三得到模块、第四得到模块、读取模块、第二判断模块、标识模块、第五得到模块、第三判断模块、执行模块、第五获取模块、第六获取模块、加密模块、第二解密模块和发送模块;
所述接收模块,用于接收上位机发送的指令;
所述第一确定模块,用于确定所述接收模块接收的所述指令的类型;
所述第一判断模块,用于如所述第一确定模块确定所述指令的类型为建立安全通道指令,判断是否已经建立安全通道;
所述发送模块,用于如所述第一判断模块判断已经建立安全通道,向所述上位机发送安全通道建立成功信息;
所述第一获取模块,用于如所述第一判断模块判断未建立安全通道,获取卡片参数;
所述第二确定模块,用于根据所述第一获取模块获取的所述卡片参数确定客观标识;
所述第二获取模块,用于获取与所述第二确定模块确定的所述客观标识对应的函数包;
所述第三获取模块,用于获取原始卡片数据;
所述第一得到模块,用于根据预置的第二参数包、所述第三获取模块获取的所述原始卡片数据和所述第二获取模块获取的所述函数包得到派生密钥;
所述第四获取模块,用于从所述卡片中获取密文随机数据;
所述第一解密模块,用于根据所述第一得到模块得到的所述派生密钥解密所述第四获取模块获取的所述密文随机数据得到卡片随机数据;
所述生成模块,用于生成随机数据包;
所述第二得到模块,用于根据所述第一解密模块解密得到的所述卡片随机数据、所述生成模块生成的所述随机数据包、预置的第一参数包和所述第二获取模块获取的所述函数包得到映射数据包;
所述更新模块,用于根据所述第二得到模块得到的所述映射数据包更新所述第一参数包;
所述第三得到模块,用于根据所述随机数据包、所述更新模块更新后的第一参数包和所述第二参数包得到会话密钥包;
所述第四得到模块,用于根据所述第三得到模块得到的所述会话密钥包和所述第二获取模块获取的所述函数包得到终端认证令牌;
所述读取模块,用于根据所述第四得到模块得到的所述终端认证令牌从所述卡片读取卡片认证令牌;
所述第二判断模块,用于根据所述读取模块读取的所述卡片认证令牌和所述第四得到模块得到的终端认证令牌判断安全通道是否建立成功;
所述标识模块,用于如所述第二判断模块判断为是则标识已经建立安全通道;
所述第五得到模块,用于如所述第二判断模块判断为是则根据所述第三得到模块得到的所述会话密钥包得到安全会话密钥并保存;
所述发送模块,还用于如所述第五得到模块得到安全会话密钥并保存,则向所述上位机发送安全通道建立成功信息
所述发送模块,还用于如所述第二判断模块判断为否则向上位机发送安全通道建立失败信息;
所述第三判断模块,用于如所述第一确定模块确定所述指令的类型为卡片通信指令,判断是否已经建立安全通道;
所述执行模块,用于如所述第三判断模块判断为否则执行标准终端卡片通信交互操作;
所述第五获取模块,用于从所述卡片通信指令中获取卡片通信数据;
所述第六获取模块,用于获取保存的安全会话密钥;
所述加密模块,用于如所述第三判断模块判断为是则使用所述安全会话密钥加密所述卡片通信数据得到卡片通信密文数据;
所述发送模块,还用于向所述卡片发送所述加密模块加密的所述卡片通信密文数据;
所述第二解密模块,用于使用所述第六获取模块获取的所述安全会话密钥解密所述卡片返回的卡片通信密文响应得到卡片通信响应;
所述发送模块,还用于向所述上位机返回所述第二解密模块解密得到的所述卡片通信响应;
所述标识模块,还用于当检测到所述卡片离场时,标识未建立安全通道。
37.如权利要求36所述的读卡终端,其特征在于,所述第三获取模块,具体用于根据所述建立安全通道指令确定原始卡片数据的类型,如为第一类型则根据第一类型卡片数据确定原始卡片数据;如为第二类型则根据第二类型卡片数据确定原始卡片数据。
38.如权利要求37所述的读卡终端,其特征在于,所述第三获取模块用于根据所述建立安全通道指令确定原始卡片数据的类型,具体为:所述第三获取模块用于根据所述建立安全通道指令中预置字节上的数据确定原始卡片数据的类型,如所述预置字节上的数据为第六预置数据,则原始卡片数据为第一类型;如所述预置字节上的数据为第七预置数据,则原始卡片数据为第二类型。
39.如权利要求37所述的读卡终端,其特征在于,所述第三获取模块用于根据第一类型卡片数据确定原始卡片数据,具体为:所述第三获取模块用于接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
40.如权利要求37所述的读卡终端,其特征在于,所述第三获取模块用于根据第一类型卡片数据确定原始卡片数据,具体为:所述第三获取模块用于从所述建立安全通道指令中获取第一类型卡片数据,如能够从所述建立安全通道指令中获取到第一类型卡片数据,记第一类型卡片数据为原始卡片数据。
41.如权利要求40所述的读卡终端,其特征在于,所述第三获取模块,还用于如不能从所述建立安全通道指令中获取到第一类型卡片数据,接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
42.如权利要求37所述的读卡终端,其特征在于,所述第三获取模块用于根据第二类型卡片数据确定原始卡片数据,具体为:所述第三获取模块用于从所述建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
43.如权利要求36所述的读卡终端,其特征在于,所述第三获取模块,具体用于接收输入的第一类型卡片数据,对第一类型卡片数据进行编码得到原始卡片数据。
44.如权利要求36所述的读卡终端,其特征在于,所述第三获取模块,具体用于判断所述建立安全通道指令中是否存在第一类型卡片数据,是则根据第一类型卡片数据确定原始卡片数据,否则接收输入的第一类型卡片数据。
45.如权利要求36所述的读卡终端,其特征在于,所述第三获取模块,具体用于从所述建立安全通道指令中获取第二类型卡片数据,对第二类型卡片数据进行运算得到原始卡片数据。
46.如权利要求39、41、43或44所述的读卡终端,其特征在于,所述第三获取模块用于接收输入的第一类型卡片数据,具体为:所述第三获取模块用于提示输入第一类型卡片数据,接收并同步显示输入的第一类型卡片数据。
47.如权利要求36所述的读卡终端,其特征在于,所述发送模块,还用于向卡片发送选中文件指令;
所述第四判断模块,用于判断所述卡片返回的选中文件响应的类型;
所述第一获取模块,具体用于如所述第四判断模块判断所述卡片返回的选中文件响应的类型为正确响应则获取卡片参数;
所述发送模块,还用于如所述第四判断模块判断所述卡片返回的选中文件响应的类型为错误响应则向上位机发送报错信息,等待接收上位机发送的新的指令。
48.如权利要求36所述的读卡终端,其特征在于,所述第二确定模块,具体用于向所述卡片发送获取参数指令,从所述卡片返回的获取参数响应中获取卡片客观标识区域数据;获取预置的终端客观标识列表;根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识,获取与确定的客观标识对应的函数包。
49.如权利要求48所述的读卡终端,其特征在于,所述第二确定模块用于根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识,具体为:所述第二确定模块用于根据所述卡片客观标识数区域据和所述终端客观标识列表确定客观标识列表,从客观标识列表中选择一个客观标识,获取与选择的客观标识对应的函数包。
50.如权利要求36所述的读卡终端,其特征在于,所述第三获取模块还用于向卡片发送包括所述客观标识的客观标识指令;当接收到客观标识响应时,获取原始卡片数据。
51.如权利要求36所述的读卡终端,其特征在于,所述发送模块,还用于向所述卡片发送获取参数指令;
所述第一获取模块,具体用于如所述第一判断模块判断未建立安全通道,获取所述卡片返回的获取参数响应;
所述第二确定模块,具体用于根据所述卡片返回的获取参数响应确定客观标识;
所述生成模块包括第一生成单元和第二生成单元;
所述第一生成单元,用于生成随机数据包中第一随机数据;
所述第二得到模块,具体用于根据所述第一生成单元生成的所述第一随机数据、预置的第一参数包和所述第二获取模块获取的所述函数包得到第一终端公钥;根据所述第一终端公钥从所述卡片中读取第一卡片公钥;根据所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据、所述第四获取模块获取的所述卡片随机数据、所述第一参数包和所述第二获取模块获取的所述函数包得到第一映射数据包;
所述更新模块,具体用于根据所述第二得到模块得到的所述第一映射数据包更新所述第一参数包;
所述第二生成单元,用于生成随机数据包中第二随机数据;
所述第三得到模块,具体用于根据所述第二生成单元生成的所述第二随机数据、所述更新模块更新后的第一参数包和所述第二获取模块获取的所述函数包得到第二终端公钥;根据所述第二终端公钥从所述卡片读取第二卡片公钥;根据所述第二卡片公钥、所述第二生成单元生成的所述第二随机数据、所述更新模块更新后的第一参数包和所述第二获取模块获取的所述函数包得到第二共享密钥;根据所述第二参数包、所述第二共享密钥和所述第二获取模块获取的所述函数包得到会话密钥包。
52.如权利要求51所述的读卡终端,其特征在于,所述第一得到模块,具体用于以预置的第二参数包中的第一预置参数和所述第三获取模块获取的所述原始卡片数据为参数调用所述第二获取模块获取的所述函数包中密钥派生函数得到派生密钥。
53.如权利要求51所述的读卡终端,其特征在于,所述第四获取模块,具体用于向卡片发送交换随机数指令;当接收到卡片返回的交换随机数响应时,从交换随机数响应中获取密文随机数据。
54.如权利要求51所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一生成单元生成的所述第一随机数据、预置的第一参数包和所述第二获取模块获取的所述函数包得到第一终端公钥,具体为:所述第二得到模块用于以所述第一随机数据和预置的第一参数包为参数调用所述函数包中密钥生成函数得到第一终端公钥。
55.如权利要求51所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一终端公钥从所述卡片中读取第一卡片公钥,具体为:所述第二得到模块用于根据所述第一终端公钥组织第一交换公钥指令;向卡片发送所述第一交换公钥指令;当接收到卡片返回的第一交换公钥响应时,从所述第一交换公钥响应中获取第一卡片公钥。
56.如权利要求51所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一终端公钥从所述卡片中读取第一卡片公钥;根据所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据、所述第四获取模块获取的所述卡片随机数据、所述第一参数包和所述第二获取模块获取的所述函数包得到第一映射数据包,具体为:所述第二得到模块用于根据所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据、所述第一参数包和所述第二获取模块获取的所述函数包得到第一共享密钥;根据所述第四获取模块获取的所述卡片随机数据、所述第一生成单元生成的所述第一随机数据、所述第一共享密钥和所述第二获取模块获取的所述函数包得到第一映射数据包。
57.如权利要求56所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据、所述第一参数包和所述第二获取模块获取的所述函数包得到第一共享密钥,具体为:所述第二得到模块用于以所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据和所述第一参数包为参数调用所述第二获取模块获取的所述函数包中密钥协商函数得到第一共享密钥。
58.如权利要求56所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一卡片公钥、所述第一生成单元生成的所述第一随机数据、所述第四获取模块获取的所述卡片随机数据、所述第一参数包和所述第二获取模块获取的所述函数包得到第一映射数据包,具体为:所述第二得到模块用于以所述第四获取模块获取的所述卡片随机数据、所述第一生成单元生成的所述第一随机数据和所述第一共享密钥为参数调用所述第二获取模块获取的所述函数包中映射函数得到第一映射数据包。
59.如权利要求58所述的读卡终端,其特征在于,所述映射函数为通用映射函数或者认证映射函数。
60.如权利要求51所述的读卡终端,其特征在于,所述第二得到模块,还用于根据所述第一生成单元生成的所述第一随机数据、所述第四获取模块获取的所述卡片随机数据、预置的第一参数包和所述第二获取模块获取的所述函数包得到第二映射数据包;
所述更新模块,还用于根据所述第二得到模块得到的所述第二映射数据包更新所述第一参数包。
61.如权利要求60所述的读卡终端,其特征在于,所述第二得到模块用于根据所述第一生成单元生成的所述第一随机数据、所述第四获取模块获取的所述卡片随机数据、预置的第一参数包和所述第二获取模块获取的所述函数包得到第二映射数据包,具体为:所述第二得到模块用于以所述第四获取模块获取的所述卡片随机数据和所述第一生成单元生成的所述第一随机数据为参数调用所述第二获取模块获取的所述函数包中伪随机函数得到伪随机数据;以所述伪随机数据和所述第一参数包为参数调用所述第二获取模块获取的所述函数包中映射函数得到第二映射数据包;所述映射函数为合成映射函数。
62.如权利要求60所述的读卡终端,其特征在于,所述第二得到模块,还用于根据所述第一生成单元生成的所述第一随机数据组织传输随机数据指令,向卡片发送所述传输随机数据指令;当接收到卡片返回的传输随机数据响应时,根据所述第一生成单元生成的所述第一随机数据、所述卡片随机数据、预置的第一参数包和所述第二获取模块获取的所述函数包得到第二映射数据包。
63.如权利要求51所述的读卡终端,其特征在于,所述步骤M04中,所述根据所述第二随机数据、更新后的第一参数包和所述函数包得到第二终端公钥,具体为:所述读卡终端以所述第二随机数据和更新后的第一参数包为参数调用所述函数包中密钥生成函数得到第二终端公钥。
64.如权利要求51所述的读卡终端,其特征在于,所述第三得到模块用于根据所述第二终端公钥从所述卡片读取第二卡片公钥,具体为:所述第三得到模块用于根据所述第二终端公钥组织第二交换公钥指令,向所述卡片发送所述第二交换公钥指令;当接收到卡片返回的第二交换公钥响应时,从所述第二交换公钥响应中获取第二卡片公钥。
65.如权利要求51所述的读卡终端,其特征在于,所述第三得到模块用于根据所述第二卡片公钥、所述第二生成单元生成的所述第二随机数据、所述更新模块更新后的第一参数包和所述第二获取模块获取的所述函数包得到第二共享密钥,具体为:所述第三得到模块用于以所述第二卡片公钥、所述第二生成单元生成的所述第二随机数据和所述更新模块更新后的第一参数包为参数调用所述第二获取模块获取的所述函数包中密钥协商函数得到第二共享密钥。
66.如权利要求51所述的读卡终端,其特征在于,所述第三得到模块用于根据所述第二参数包、所述第二共享密钥和所述第二获取模块获取的所述函数包得到会话密钥包,具体为:所述第三得到模块用于以所述第二参数包中第二预置参数和所述第二共享密钥为参数调用所述第二获取模块获取的所述函数包中密钥派生函数得到会话密钥包中第一会话密钥;以所述第二参数包中第三预置参数和所述第二共享密钥为参数调用所述第二获取模块获取的所述函数包中密钥派生函数得到会话密钥包中第二会话密钥。
67.如权利要求66所述的读卡终端,其特征在于,所述第四得到模块,具体用于根据所述第三得到模块得到的所述会话密钥包中第一会话密钥调用所述第二获取模块获取的所述函数包中令牌函数得到终端认证令牌。
68.如权利要求66所述的读卡终端,其特征在于,所述第五得到模块,具体用于将所述第三得到模块得到的所述会话密钥包中第二会话密钥作为安全会话密钥保存。
69.如权利要求36所述的读卡终端,其特征在于,所述读取模块,具体用于根据所述第四得到模块得到的所述终端认证令牌组织交换认证令牌指令,向所述卡片发送所述交换认证令牌指令;当接收到所述卡片返回的交换认证令牌响应时,从所述交换认证令牌响应中获取卡片认证令牌。
70.如权利要求36所述的读卡终端,其特征在于,所述第二判断模块,具体用于判断所述读取模块读取的所述卡片认证令牌和所述第四得到模块得到的所述终端认证令牌是否相同,是则安全通道建立成功,否则安全通道建立失败。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631183.9A CN112702733B (zh) | 2020-12-30 | 2020-12-30 | 一种读卡终端及其工作方法 |
PCT/CN2021/135342 WO2022143008A1 (zh) | 2020-12-30 | 2021-12-03 | 一种读卡终端及其工作方法 |
US18/029,553 US20230370838A1 (en) | 2020-12-30 | 2021-12-03 | Card reading terminal and working method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631183.9A CN112702733B (zh) | 2020-12-30 | 2020-12-30 | 一种读卡终端及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702733A true CN112702733A (zh) | 2021-04-23 |
CN112702733B CN112702733B (zh) | 2022-10-04 |
Family
ID=75513592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011631183.9A Active CN112702733B (zh) | 2020-12-30 | 2020-12-30 | 一种读卡终端及其工作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230370838A1 (zh) |
CN (1) | CN112702733B (zh) |
WO (1) | WO2022143008A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113408309A (zh) * | 2021-08-19 | 2021-09-17 | 飞天诚信科技股份有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
WO2022143008A1 (zh) * | 2020-12-30 | 2022-07-07 | 飞天诚信科技股份有限公司 | 一种读卡终端及其工作方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714295A (zh) * | 2013-12-27 | 2014-04-09 | 北京大唐智能卡技术有限公司 | 一种金融集成电路卡个人化数据的检测方法及系统 |
CN104573591A (zh) * | 2015-01-05 | 2015-04-29 | 飞天诚信科技股份有限公司 | 一种安全读卡器及其工作方法 |
US20150227353A1 (en) * | 2012-10-31 | 2015-08-13 | Feitian Technologies Co., Ltd. | Method for safely downloading application |
US20160232360A1 (en) * | 2013-12-10 | 2016-08-11 | Feitian Technologies Co., Ltd. | Method for realizing secure communication |
WO2018045917A1 (zh) * | 2016-09-09 | 2018-03-15 | 天地融科技股份有限公司 | 一种授权系统、方法及卡片 |
CN108923934A (zh) * | 2018-08-01 | 2018-11-30 | 飞天诚信科技股份有限公司 | 一种管理卡片生命周期的实现方法及装置 |
CN109151777A (zh) * | 2018-06-11 | 2019-01-04 | 中国银联股份有限公司 | 一种非接通信方法以及通信装置 |
CN111510416A (zh) * | 2019-01-31 | 2020-08-07 | 金联汇通信息技术有限公司 | 数据信息传输方法、电子设备和可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729502B (zh) * | 2008-10-23 | 2012-09-05 | 中兴通讯股份有限公司 | 密钥分发方法和系统 |
CN101819696B (zh) * | 2009-02-27 | 2013-06-12 | 中兴通讯股份有限公司 | 一种应用下载的系统和方法 |
CN112115514A (zh) * | 2020-09-27 | 2020-12-22 | 浪潮云信息技术股份公司 | 一种金融ic卡的在线请求合法性验证方法 |
CN112702733B (zh) * | 2020-12-30 | 2022-10-04 | 飞天诚信科技股份有限公司 | 一种读卡终端及其工作方法 |
-
2020
- 2020-12-30 CN CN202011631183.9A patent/CN112702733B/zh active Active
-
2021
- 2021-12-03 US US18/029,553 patent/US20230370838A1/en active Pending
- 2021-12-03 WO PCT/CN2021/135342 patent/WO2022143008A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150227353A1 (en) * | 2012-10-31 | 2015-08-13 | Feitian Technologies Co., Ltd. | Method for safely downloading application |
US20160232360A1 (en) * | 2013-12-10 | 2016-08-11 | Feitian Technologies Co., Ltd. | Method for realizing secure communication |
CN103714295A (zh) * | 2013-12-27 | 2014-04-09 | 北京大唐智能卡技术有限公司 | 一种金融集成电路卡个人化数据的检测方法及系统 |
CN104573591A (zh) * | 2015-01-05 | 2015-04-29 | 飞天诚信科技股份有限公司 | 一种安全读卡器及其工作方法 |
WO2018045917A1 (zh) * | 2016-09-09 | 2018-03-15 | 天地融科技股份有限公司 | 一种授权系统、方法及卡片 |
CN109151777A (zh) * | 2018-06-11 | 2019-01-04 | 中国银联股份有限公司 | 一种非接通信方法以及通信装置 |
CN108923934A (zh) * | 2018-08-01 | 2018-11-30 | 飞天诚信科技股份有限公司 | 一种管理卡片生命周期的实现方法及装置 |
CN111510416A (zh) * | 2019-01-31 | 2020-08-07 | 金联汇通信息技术有限公司 | 数据信息传输方法、电子设备和可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143008A1 (zh) * | 2020-12-30 | 2022-07-07 | 飞天诚信科技股份有限公司 | 一种读卡终端及其工作方法 |
CN113408309A (zh) * | 2021-08-19 | 2021-09-17 | 飞天诚信科技股份有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN113408309B (zh) * | 2021-08-19 | 2021-11-26 | 飞天诚信科技股份有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022143008A1 (zh) | 2022-07-07 |
CN112702733B (zh) | 2022-10-04 |
US20230370838A1 (en) | 2023-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099692B (zh) | 安全校验方法、装置、服务器及终端 | |
US7284123B2 (en) | Secure communication system and method for integrated mobile communication terminals comprising a short-distance communication module | |
US20050188219A1 (en) | Method and a system for communication between a terminal and at least one communication equipment | |
CN1889419B (zh) | 一种实现加密的方法及装置 | |
CN112702733B (zh) | 一种读卡终端及其工作方法 | |
CN103036681B (zh) | 一种密码安全键盘装置及系统 | |
WO2015117352A1 (zh) | 数据处理方法、数据发送及接收终端、数据传输系统 | |
CN102075615A (zh) | 一种短消息发送、接收方法及客户识别模块 | |
CN105631271A (zh) | 解锁方法、解锁装置及可穿戴智能设备和终端 | |
CN110278083A (zh) | 身份认证请求处理方法和装置、设备重置方法和装置 | |
CN110380856B (zh) | 终端设备及其语音信息处理方法、装置以及存储介质 | |
KR101379711B1 (ko) | 전화번호를 이용한 파일 암호화 및 복호화 방법 | |
JP4820143B2 (ja) | 制御システム、及び携帯端末 | |
CN106685931B (zh) | 智能卡应用管理方法和系统、终端和智能卡 | |
CN114244505B (zh) | 一种基于安全芯片的安全通信方法 | |
CN106209767B (zh) | 数据传输方法和系统 | |
JP6540381B2 (ja) | 情報処理システムおよび暗号通信方法 | |
CN109600231B (zh) | 数据安全通信系统和方法 | |
CN114640989B (zh) | 一种基于无线通讯技术管理密码模块的系统及方法 | |
CN111935816B (zh) | 终端的应用程序注册方法、装置及电子设备 | |
CN112333656B (zh) | 燃气表数据传输方法及燃气表 | |
CN108566362B (zh) | 一种在终端和服务器之间建立安全通道的方法及装置 | |
CN114520730B (zh) | 数据传输方法、装置、系统、计算机设备和存储介质 | |
CN114679287B (zh) | 数据处理方法、系统、电子设备及存储介质 | |
CN115865530B (zh) | 文件管理方法、文件管理系统及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |