[go: up one dir, main page]

CN103763103B - 一种智能卡生成脱机认证凭据的方法 - Google Patents

一种智能卡生成脱机认证凭据的方法 Download PDF

Info

Publication number
CN103763103B
CN103763103B CN201310750552.XA CN201310750552A CN103763103B CN 103763103 B CN103763103 B CN 103763103B CN 201310750552 A CN201310750552 A CN 201310750552A CN 103763103 B CN103763103 B CN 103763103B
Authority
CN
China
Prior art keywords
data
card
application
command
ciphertext
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.)
Active
Application number
CN201310750552.XA
Other languages
English (en)
Other versions
CN103763103A (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 CN201310750552.XA priority Critical patent/CN103763103B/zh
Publication of CN103763103A publication Critical patent/CN103763103A/zh
Priority to PCT/CN2014/093244 priority patent/WO2015101139A1/zh
Priority to US15/027,457 priority patent/US20160314469A1/en
Application granted granted Critical
Publication of CN103763103B publication Critical patent/CN103763103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/12Card verification
    • G07F7/125Offline card verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 digital signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种智能卡生成脱机认证凭据的方法,属于智能卡领域。所述方法包括:卡片接收终端发送的命令,判断命令类型,如果是取处理选项命令,则对该命令进行处理,得到第二凭据并返回给终端;如果是内部认证命令,则对该命令进行处理,得到第三凭据并返回给终端;如果是应用密文命令,则先判断该命令的类型,如果是第一条应用密文命令,则对该命令进行处理,得到相应凭据并返回给终端;如果是第二条应用密文命令,则对该命令进行处理,得到相应凭据并返回给终端。采用本发明的技术方法,能够实现动态数据参与智能卡的认证,在保证静态数据未被篡改的基础上,又能够防止卡片被复制,提高了使用智能卡的安全性。

Description

一种智能卡生成脱机认证凭据的方法
技术领域
本发明涉及智能卡领域,尤其涉及一种智能卡生成脱机认证凭据的方法。
背景技术
随着智能卡的广泛应用,智能卡被篡改、被复制的案件时常发生,智能卡信息的安全性日益得到人们的重视。
在现有技术中,为保证智能卡信息安全,一般脱机操作过程中,通常采用通过卡片公钥证书、静态数据及其hash值来判断卡片静态信息是否被篡改,该方案可以防止静态数据被恶意篡改,却不能防止信息被盗取、卡片被复制。
发明内容
本发明的目的是为了解决现有技术中存在的不足,提供了一种智能卡生成脱机认证凭据的方法。
本发明采用的技术方法是:一种智能卡生成脱机认证凭据的方法,包括:
步骤101:卡片上电初始化;
步骤102:所述卡片等待接收终端发送的命令,判断接收到的命令的类型;
如果是取处理选项命令,则解析所述取处理选项命令,得到第一数据,更新第一卡片数据,初始化第二卡片数据和第三卡片数据,根据所述卡片支持的脱机认证类型生成第二凭据,将所述第二凭据返回给终端,返回步骤102;
如果是内部认证命令,则判断是否支持动态数据认证,是则解析所述内部认证命令,得到第二数据,根据所述第二数据和所述第一卡片数据,得到第一组合数据,使用卡片私钥对所述第一组合数据进行签名,得到动态签名数据,根据所述动态签名数据生成第三凭据,将所述第三凭据返回给终端,返回步骤102,否则向所述终端返回错误响应,返回步骤102;
如果是应用密文命令,则判断所述应用密文命令的类型,如果是第一条应用密文命令,则执行步骤103,如果是第二条应用密文命令,则执行步骤108;
步骤103:所述卡片判断是否能够获取到所述第一数据,如果是,则执行步骤104,否则向所述终端返回错误响应,返回步骤102;
步骤104:所述卡片获取所述第一条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则根据所述卡片行为分析的结果,生成第一应用密文,执行步骤105,否则根据所述卡片行为分析的结果,生成第二应用密文,执行步骤105;
步骤105:所述卡片解析所述第一条应用密文命令,判断是否需要执行复合动态数据认证,是则执行步骤106,否则根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二应用密文,生成第四凭据,并将所述第四凭据返回给所述终端,返回步骤102;
步骤106:所述卡片获取所述第一条应用密文命令中的第三数据,根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第一应用密文、所述第三数据,得到第四组合数据,使用卡片私钥对所述第四组合数据进行签名,得到第一签名数据,根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第一签名数据生成第五凭据,将所述第五凭据返回给终端,返回步骤102;
步骤107:所述卡片判断是否能够获取到所述第一数据和所述第三数据,如果是,则执行步骤108,否则向所述终端返回错误响应,返回步骤102;
步骤108:所述卡片获取所述第二条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则根据所述卡片行为分析结果,生成第三应用密文,执行步骤109,否则根据所述卡片行为分析结果,生成第四应用密文,执行步骤109;
步骤109:所述卡片解析所述第二条应用密文命令,判断是否需要执行复合动态数据认证,是则执行步骤110,否则根据所述第一卡片数据、第二卡片数据、所述第三卡片数据和所述第四应用密文,生成第六凭据,并将所述第六凭据返回给所述终端,返回步骤102;
步骤110:所述卡片获取所述第二条应用密文命令中的第四数据,根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第三应用密文、所述第三数据和所述第四数据,得到第七组合数据,应用卡片私钥对所述第七组合数据进行签名,得到第二签名数据,根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二签名数据生成第七凭据,将所述第七凭据返回给所述终端,返回步骤102。
所述步骤102还包括:当接收到的命令为选择应用命令时,执行以下步骤:
步骤102-1:所述卡片解析所述选择应用命令,根据所述选择应用命令的数据域,判断所述选择应用命令中的选择方式,如果是第一选择方式,则执行步骤102-2,如果是第二选择方式,则执行步骤102-3;
步骤102-2:所述卡片获取所述选择应用命令中的第一应用信息,根据所述第一应用信息检索所述卡片,判断是否能够检索到与所述第一应用信息对应的应用文件,如果是,则将所述与所述第一应用信息对应的应用文件作为当前应用文件,执行步骤102-4,否则向所述终端返回所述第一应用信息不支持的响应,返回步骤102;
步骤102-3:所述卡片获取所述选择应用命令中的第二应用信息,根据所述第二应用信息检索所述卡片,判断是否能够检索到与所述第二应用信息对应的应用文件,如果是,则将所述与所述第二应用信息对应的应用文件作为当前应用文件,执行步骤102-4,否则向所述终端返回所述第二应用信息不支持的响应,返回步骤102;
步骤102-4:所述卡片从所述当前应用文件中获取第一列表,根据所述第一列表生成第一凭据,将所述第一凭据返回给所述终端,返回执行步骤102。
所述步骤102-2具体为:
步骤102-21:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤102-22;
步骤102-22:所述卡片获取所述选择应用命令中的第一应用信息,根据所述第一应用信息检索所述卡片,判断是否能够检索到与所述第一应用信息对应的应用文件,如果是,则执行步骤102-23,否则向所述终端返回所述第一应用信息不支持的响应,返回步骤102;
步骤102-23:所述卡片判断所述第一应用信息是否锁定,如果是,则向所述终端返回所述第一应用信息锁定的响应,返回步骤102,否则将所述与所述第一应用信息对应的应用文件作为当前应用文件,执行步骤102-4。
所述步骤102-3具体为:
步骤102-31:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤102-32;
步骤102-32:所述卡片获取所述选择应用命令中的第二应用信息,根据所述第二应用信息检索所述卡片,判断是否能够检索到与所述第二应用信息对应的应用文件,如果是,则执行步骤102-23,否则向所述终端返回所述第二应用信息不支持的响应,返回步骤102;
步骤102-33:所述卡片判断所述第二应用信息是否锁定,如果是,则向所述终端返回所述第二应用信息锁定的响应,返回步骤102,否则将所述与所述第二应用信息对应的应用文件作为当前应用文件,执行步骤102-4。
所述步骤102中,如果是取处理选项命令,具体包括:
步骤a1:所述卡片判断是否能够从所述取处理选项命令中解析得到第一数据,如果是,则将所述第一数据保存,执行步骤a2,否则向所述终端返回错误信息,返回步骤102;
步骤a2:所述卡片更新所述第一卡片数据,检查所述第一卡片数据是否达到预设阈值,如果是,则执行步骤a3,否则执行步骤a4;
步骤a3:所述卡片锁定,生成卡片锁定的响应,返回给所述终端,返回步骤102;
步骤a4:所述卡片初始化所述第二卡片数据和所述第三卡片数据;
步骤a5:所述卡片获取所述卡片内部要读取的文件信息,根据所述文件信息得到第一信息,根据所述第一信息和卡片支持的脱机认证类型,生成第二凭据,将所述第二凭据返回给所述终端,返回步骤102。
所述步骤102还包括:当接收到的命令是读记录命令时,执行以下操作:
步骤f1:所述卡片对所述读记录命令进行解析,得到所述第一信息;
步骤f2:所述卡片根据所述第一信息读取所述卡片中的应用数据,将所述应用数据返回给所述终端,返回步骤102。
所述步骤102中,如果是内部认证命令,判断为是时,还包括:所述卡片将动态数据认证执行位置位。
所述步骤102中,所述判断所述应用密文命令的类型,具体为:所述卡片解析所述应用密文命令,根据所述应用密文命令中的标识位,判断所述应用密文命令的类型,如果所述应用密文命令中的标识位为第一预设值,则所述应用密文命令为第一条应用密文命令,如果所述应用密文命令中的标识位为第二预设值,则所述应用密文命令为第二条应用密文命令。
所述步骤103与所述步骤104之间,还包括:所述卡片根据所述第一条应用密文命令的第一标识位,判断静态数据认证是否成功,则执行步骤104,否则向所述终端返回拒绝操作响应,返回步骤102;
其中,所述判断静态数据认证是否成功,具体为:判断所述第一标识位是否为第三预设值,如果是,则静态数据认证成功,否则静态数据认证失败,返回拒绝操作响应。
所述步骤105中,所述判断是否需要执行复合动态数据认证,具体为:所述卡片判断所述第一条应用密文命令的第二标识位是否为第四预设值,如果是,则需要执行复合动态数据认证,否则不需要执行复合动态数据认证。
所述步骤104中,所述获取所述第一条应用密文命令中终端请求的应用密文的类型,具体为:所述卡片根据所述第一条应用密文命令的第三标识位,获知所述终端请求的应用密文的类型,如果所述第三标识位为第五预设值,则终端请求的应用密文的类型为脱机拒绝执行,如果所述第三标识位为第六预设值,则表示终端请求的应用密文的类型为联机执行,如果所述第三标识位为第七预设值,则表示终端请求的应用密文的类型为脱机批准执行。
所述生成第一应用密文,具体为:
步骤b1:所述卡片获取所述第一应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成应用密文的数据;
步骤b2:所述卡片将所述生成应用密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤b3,否则执行步骤b4;
步骤b3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成应用密文的数据,执行步骤b5;
步骤b4:所述卡片在最后一个数据块后填充一个字节的第一预设数据,判断填充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成应用密文的数据,执行步骤b5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成应用密文的数据,执行步骤b5;
步骤b5:所述卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第一应用密文。
所述步骤106中,所述根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第一应用密文、所述第三数据,得到第四组合数据,具体为:
步骤106-1:所述卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据和所述第三卡片数据,得到第二组合数据;
步骤106-2:所述卡片根据所述第一条应用密文命令的哈希算法标识,获取哈希算法,对所述第二组合数据进行哈希计算,得到第一哈希值;
步骤106-3:所述卡片根据所述第一应用密文、所述第一哈希值、所述第一卡片数据和所述第三数据,得到第三组合数据;
步骤106-4:所述卡片数据对所述第三组合数据进行哈希计算,得到第二哈希值;
步骤106-5:所述卡片根据所述第一卡片数据、第一应用密文、第一哈希值和第二应用密文,得到第四组合数据。
所述步骤106-1,具体为:所述卡片将所述第一数据、所述第三数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第二组合数据。
所述步骤106-3,具体为:所述卡片从所述第三数据中获取第二预设长度的字节数,将第三预设数据、哈希算法标识、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节和获取到的字节数进行顺序拼接,得到第三组合数据。
所述步骤106-5,具体为:所述卡片将第四预设数据、哈希算法标识、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节、所述第二哈希值和第五预设数据进行顺序拼接,得到第四组合数据。
所述步骤107与所述步骤108之间,还包括:所述卡片根据所述第二条应用密文命令的第四标识位,判断静态数据认证是否成功,如果所述第四标识位为0,则静态数据认证成功,继续,如果所述第四标识位为1,则静态数据认证失败,向所述终端返回拒绝操作响应,返回步骤102。
所述步骤109中,判断为是时,还包括:所述卡片将复合动态数据认证执行位置位。
所述步骤109中,所述判断是否需要执行复合动态数据认证,具体为:所述卡片根据所述第二条应用密文命令的第五标识位,判断是否需要执行复合动态数据认证,如果所述第五标识位为1,则需要执行复合动态数据认证,如果所述第五标识位为0,则不需要执行复合动态数据认证。
所述步骤108中,所述获取所述第二条应用密文命令中终端请求的应用密文的类型,具体为:所述卡片根据所述第二条应用密文命令的第六标识位,获知所述终端请求的应用密文的类型,如果所述第六标识位为00,则终端请求的应用密文的类型为脱机拒绝执行,如果所述第六标识位为01,则表示终端请求的应用密文的类型为联机执行,如果所述第六标识位为10,则表示终端请求的应用密文的类型为脱机批准执行。
所述判断是否满足所述终端请求的应用密文的类型,具体为:
步骤c1:所述卡片执行卡片行为分析,检测是否存在上次未完成的联机授权操作,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c2;
步骤c2:所述卡片判断上次操作中发卡行认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c3;
步骤c3:所述卡片判断上次操作中脱机数据认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c4;
步骤c4:所述卡片执行频度检查,判断操作次数是否达到限值数,如果是,则向所述终端返回错误响应,返回步骤102,否则满足所述终端请求的应用密文的类型。
所述生成第三应用密文,具体为:
步骤d1:所述卡片获取所述第二应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成密文的数据;
步骤d2:所述卡片将所述生成密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤d3,否则执行步骤d4;
步骤d3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成密文的数据,执行步骤d5;
步骤d4:所述卡片在最后一个数据块后填充一个字节的第一预设数据,判断补充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成密文的数据,执行步骤d5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成密文的数据,执行步骤d5;
步骤d5:所述卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第三应用密文。
所述步骤110中,所述根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第二应用密文、所述第三数据和所述第四数据,得到第七组合数据,具体为:
步骤110-1:所述卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第四数据,得到第五组合数据;
步骤110-2:所述卡片根据所述第二条应用密文命令的哈希算法标识,获取哈希算法,对所述第五组合数据进行哈希计算,得到第三哈希值;
步骤110-3:所述卡片根据所述第二应用密文、所述第三哈希值、所述第一卡片数据和所述第四数据,得到第六组合数据;
步骤110-4:所述卡片对所述第六组合数据进行哈希计算,得到第四哈希值;
步骤110-5:所述卡片根据所述第三哈希值、所述第四哈希值、所述第一卡片数据、所述第二应用密文,得到第七组合数据。
所述步骤110-1,具体为:所述卡片将所述第一数据、所述第三数据、所述第四数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第五组合数据。
所述步骤110-3,具体为:所述卡片从所述第四数据中获取第二预设长度的字节数,将第三预设数据、哈希算法标识、所述第一卡片数据、所述第二应用密文、所述第三哈希值、预设填充字节和获取到的字节数进行顺序拼接,得到第六组合数据。
所述步骤110-5,具体为:所述卡片将第四预设数据、哈希算法标识、所述第一卡片数据、所述第二应用密文、第三哈希值、预设填充字节和第五预设数据进行顺序拼接,得到第七组合数据。
所述通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,具体为:
步骤e1:所述卡片根据检测上次联机授权操作的结果,设置所述第二卡片数据的第一指示位;
步骤e2:所述卡片根据检测上次操作的发卡行认证的结果,设置所述第二卡片数据的第二指示位和所述第三卡片数据的第一指示位;
步骤e3:所述卡片根据检测上次操作静态数据认证的结果,设置所述第二卡片数据的第三指示位;
步骤e4:所述卡片根据检测上次操作动态数据认证的结果,设置所述第二卡片数据的第四指示位;
步骤e5:所述卡片根据检测上次联机授权操作发卡行脚本处理结果,设置所述第二卡片数据的第五指示位。
所述步骤102中,所述得到第一数据,还包括:将所述第一数据保存;
所述步骤102中,所述得到第二数据,还包括:将所述第二数据保存;
所述步骤102中,所述将所述第三凭据返回给终端后,还包括:将所述第二数据删除;
所述步骤106中,所述获取所述第一条应用密文命令中的第三数据,还包括:将所述第三数据保存;
所述步骤110中,所述获取所述第二条应用密文命令中的第四数据,还包括:将所述第四数据保存;
所述步骤110中,所述将所述第七凭据返回给终端后,还包括:将所述第一数据、所述第三数据和所述第四数据删除。
本发明取得的有益效果是:采用本发明的技术方法,能够实现动态数据参与智能卡的认证,在保证静态数据未被篡改的基础上,又能够防止卡片被复制,提高了使用智能卡的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种智能卡生成脱机认证凭据的方法流程图;
图2是本发明实施例1中步骤119的具体细化图;
图3是本发明实施例1中步骤120的具体细化图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种智能卡生成脱机认证凭据的方法,如图1所示,包括:
步骤101:卡片上电初始化;
步骤102:卡片等待接收终端发送的命令,当接收到命令时,判断接收到的命令的类型,如果是选择应用命令,则执行步骤103,如果是取处理选项命令,则执行步骤107,如果是读记录命令,则执行步骤112,如果是内部认证命令,则执行步骤114,如果是应用密文命令,则执行步骤118;
本实施例中,优选的,当卡片解析到命令的第二字节为0xA4时,则接收到的是选择应用命令,执行步骤103;当卡片解析到命令的第二字节为0xA8时,则接收到的是取处理选项命令,执行步骤107;当卡片解析到命令的第二字节为0xB2时,则接收到的是读记录命令,执行步骤112;当卡片解析到命令的第二字节为0x88时,则接收到的是内部认证命令,执行步骤114;当卡片解析到命令的第二字节为0xAE时,则接收到的是应用密文命令,执行步骤118;
步骤103:卡片解析所述选择应用命令,根据所述选择应用命令的数据域,判断所述选择应用命令中的选择方式,如果是第一选择方式,则执行步骤104,如果是第二选择方式,则执行步骤105;
其中,第一选择方式为目录选择方式,第二选择方式为AID列表选择方式;
本实施例中,卡片根据所述选择应用命令的数据域获知所述选择应用命令的选择方式;
步骤104:卡片获取选择应用命令中的第一应用信息,根据第一应用信息检索卡片,判断是否能够检索到与第一应用信息对应的应用文件,如果是,则将与第一应用信息对应的应用文件作为当前应用文件,执行步骤102-4,否则向终端返回第一应用信息不支持的响应,返回步骤102;
例如,接收到的选择应用命令为:00A404000E315041592E5359532E4444463031,获取数据域000E315041592E5359532E4444463031,即为第一应用信息,检索到应用文件为:6F15840E315041592E5359532E4444463031A503880101;
本实施例中,所述步骤104具体为:
步骤104-1:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤104-2;
步骤104-2:所述卡片获取所述选择应用命令中的第一应用信息,根据所述第一应用信息检索所述卡片,判断是否能够检索到与所述第一应用信息对应的应用文件,如果是,则执行步骤104-3,否则向所述终端返回所述第一应用信息不支持的响应,返回步骤102;
步骤104-3:所述卡片判断所述第一应用信息是否锁定,如果是,则向所述终端返回所述第一应用信息锁定的响应,返回步骤102,否则将所述与所述第一应用信息对应的应用文件作为当前应用文件,执行步骤106。
步骤105:卡片获取选择应用命令中的第二应用信息,根据第二应用信息检索卡片,判断是否能够检索到与第二应用信息对应的应用文件,如果是,则将与第二应用信息对应的应用文件作为当前应用文件,执行步骤106,否则向终端返回所述第二应用信息不支持的响应,返回步骤102;
例如,接收到的选择应用命令为00A4040007A0000003330101,获取数据域0007A0000003330101,即为第二应用信息,检索到的应用文件为:6F5B8407A0000003330101A550500B50424F43204372656469748701019F380F9F1A029F7A019F02065F2A029F4E145F2D087A68656E667264659F1101019F120F4341524420494D4147452030303330BF0C0A9F4D020B0ADF4D020C0A;
本实施例中,所述步骤105具体为:
步骤105-1:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤105-2;
步骤105-2:所述卡片获取所述选择应用命令中的第二应用信息,根据所述第二应用信息检索所述卡片,判断是否能够检索到与所述第二应用信息对应的应用文件,如果是,则执行步骤105-3,否则向所述终端返回所述第二应用信息不支持的响应,返回步骤102;
步骤105-3:所述卡片判断所述第二应用信息是否锁定,如果是,则向所述终端返回所述第二应用信息锁定的响应,返回步骤102,否则将所述与所述第二应用信息对应的应用文件作为当前应用文件,执行步骤106。
本实施例中,优选的,终端先向卡片发送包含步骤104中的应用信息的选择应用命令,如果卡片不支持该应用信息,则终端再向卡片发送包含步骤105中的应用信息的选择应用命令;卡片接收到终端发送的选择应用命令,根据数据域判断接收到的终端请求的选择方式是否支持;
步骤106:卡片从所述当前应用文件中获取第一列表,根据所述第一列表生成第一凭据,将所述第一凭据返回给所述终端,返回执行步骤102;
例如,如果本实施例中,当前应用文件为6F15840E315041592E5359532E4444463031A503880101,则获取与之对应的第一列表为:9F380F9F1A029F7A019F02065F2A029F4E14;卡片根据所述第一列表生成第一凭据为:6F5B8407A0000003330101A550500B50424F43204372656469748701019F380F9F1A029F7A019F02065F2A029F4E145F2D087A68656E667264659F1101019F120F4341524420494D4147452030303330BF0C0A9F4D020B0ADF4D020C0A;
步骤107:卡片解析所述取处理选项命令,判断是否能够从所述取处理选项命令中解析得到第一数据,如果是,则将第一数据保存在第一预设存储区中,执行步骤108,否则向终端返回错误响应,返回步骤102;
本实施例中,所述取处理选项命令为:80A8000021831F015601000000000200015642616E6B204361726420546573742043656E7465;
本实施例中,卡片从所述取处理选项命令中解析得到的第一数据为:015601000000000200015642616E6B204361726420546573742043656E7465;其中,所述第一数据是终端按照第一响应中的第一列表的格式组织得到的数据;
步骤108:卡片更新第一卡片数据,检查所述第一卡片数据是否达到预设阈值,如果是,则执行步骤109,否则执行步骤110;
本实施例中,优选的,所述预设阈值为65535,所述更新所述第一卡片数据,具体为:将所述第一卡片数据加1;
步骤109:卡片锁定,并生成卡片锁定的响应,返回给终端,返回执行步骤102;
步骤110:卡片初始化第二卡片数据和第三卡片数据;
步骤111:卡片获取卡片内部要读取的文件信息,根据所述文件信息得到第一信息,根据第一信息和卡片支持的脱机认证类型生成第二凭据,并将所述第二凭据返回给终端,返回执行步骤102;
本实施例中,所述根据所述文件信息得到第一信息,具体为:根据文件的短文件标识符、文件记录号、文件记录个数,以及脱机数据认证需要的静态签名数据的存放位置,建立第一信息;
本实施例中,优选的,当卡片支持的脱机认证类型为7D00时,表示所述卡片支持静态数据认证和动态数据认证,不支持复合动态数据认证,当卡片支持的脱机认证类型为5C00时,表示所述卡片支持静态数据认证,不支持动态数据认证和复合动态数据认证;
本实施例中,卡片得到的第一信息为080102001001040118010400,卡片支持的脱机认证类型为7D00,根据第一信息和卡片支持的脱机认证类型生成的第二凭据为:800E7D00080102001001040118010400;
步骤112:卡片对所述读记录命令进行解析,得到第一信息;
步骤113:卡片根据所述第一信息读取卡片中的应用数据,将所述卡片中的应用数据返回给终端,返回执行步骤102;
本实施例中,卡片根据第一信息读取到的应用数据包括CA公钥索引,签名的静态应用数据、发卡行公钥证书和用于卡片行为分析的数据;
本实施例中,所述读记录命令为00B201xx00,其中01标识文件记录号,xx表示要读取的记录的最后一个记录号,根据第一信息获取所述读记录命令的最后一个记录号;
本实施例中,所述卡片根据第一信息读取卡片中的应用数据,具体为:
步骤a1:卡片对第一信息进行预设分组,得到第一信息中的文件记录数;
优选的,对第一信息进行预设分组具体为按照4个字节为一组进行分组;本实施例中,对第一信息进行预设分组后得到的三组为08010200、10010401、18010400;
步骤a2:卡片依次获取每条记录中的第一个字节,取第一个字节的高五位与预设数据拼接得到所述读记录命令的最后一个记录号;
优选的,预设数据为100;
本实施例中,第一组为08010200,获取第一个字节08,取高五位00001,与100拼接得到00001100,即0x0C,即终端根据第一信息组织发送的第一条读记录指令为00B2010C00;
第二组10010401,获取第一个字节10,取高五位00010,与100拼接得到00010100,即0x14,即终端根据第一信息组织发送的第二条读记录指令为00B2011400;
第三组18010400,获取第一个字节18,取高五位00011,与100拼接得到00011100,即0x1C,即终端根据第一信息组织发送的第三条读记录指令为00B2011C00;
步骤a3:卡片依次获取每条记录中的第二字节和第三字节,根据第二字节和第三字节获取需要读取的记录数,并从卡片中读出记录,将读取到的所有记录组合得到应用数据;
本实施例中,第一组08010200,第二字节和第三字节为0102,表示从记录号为0x08的位置读取第一条记录到第二条记录;
卡片读取的第一条记录为:702E57136228000100001117D3012201012345123999919F1F1630313032303330343035303630373038303930413042;卡片读取的第二条记录为:70125F200F46554C4C2046554E4354494F4E414C;
第二组10010401,第二字节和第三字节为0104,表示记录号为0x10的位置读取第一条记录到第四条记录;
卡片读取的第一条记录为:70165A0862280001000011175F24033012315F2503950701;第二条记录为:7081849F468180875F85F08A89F4B500FA8C1A55407D88322710E3B885390D945422A73A0AB876F4C4FBC9C49C3083F38C9EFE6C7B21F6541050BF11642A28329C65D8831C80CC0D753D412112800FF2FA12ECC83B318A26EE44E313BD5D1C45C806787387DB91D259D75D350F9CD18B34C635A94EF343A2E88F8A4162D83BC900EA2CF5592820;第三条记录为:70619F47030100019F482A518B0EA3ABA9343F1778545FFB49EE840BBCEA457DBAABBFD755BA0F943A08A59CFFB6066B40847675999F0702FFC08E0A000000000000000001009F0D057C70B808009F0E057C70B808009F0F0500000000005F28020156;第四条记录为:708183938180817B58E992D032B7F0C0B5E0AA146F53FDD20DE1B3BFD9BFD28D0D7B5D4B69A62E1442847EC0FCED37C41A653AC8AEFF680704607E7D6EDBB683FDF8AE3CBA63FD2FB93845D9DA06F5B6CC09E807A0B69D5CF6FAFFDEC65A3E00C560947E4822FD74D0A4994493C9D5E92F83634C1EE77BC805F838A9A79E114787B65F6B74B9;
第三组18010400,第二字节和第三字节为0104,表示从记录号为0x18的位置读取第一条记录到第四条记录;
卡片读取的第一条记录为:708183908180229103A5E3120F2D2862091176AA2BD4E24D69E7EEF7B9195C91EA0088AECFF47EDFA0BEEF7C391DF3B05F717DCC06FFC8EEFF90BA14212B8A52AD48B33277B2E230D40B3E76DC59778926F1D8739E106CD741DE06A7423DFBA25E02F12E543D13D1B471806526024981B7D26B4BF6E5558604CCC289F59E8A802F45FB3D9E67;第二条记录为:70339F49039F37049F32010392248B643D1EAF2EA784AC205303C90E745EA2EFA5CBF02CC47D47833BB7B27ECC6962385A4B8F0180;卡片读取的第三条记录为:70445F300202018C189F02069F03069F1A0295055F2A029A039F21039C019F37048D1A8A029F02069F03069F1A0295055F2A029A039F21039C019F37049F080200305F340101;第四条记录为:70099F7406454343313131;
本实施例中,终端在接收到应用数据后,根据应用数据建立静态数据列表,用于做静态数据认证或动态数据认证所使用的卡片公钥验证;终端使用公钥技术执行脱机数据认证,终端根据接收到的卡片支持的脱机认证类型和终端自身支持的脱机认证类型决定要执行的脱机认证类型;
如果卡片与终端均支持静态数据认证,终端使用公钥技术验证卡片中的关键数据自发卡后没有被改动,具体操作为:终端根据CA公钥索引检索对应的CA公钥,使用CA公钥验证卡片中的发卡行证书,验证成功则取出发卡行证书中的发卡行公钥,终端使用发卡行公钥验证签名的静态应用数据,如果验证通过,则表示卡片和终端执行静态数据认证成功;
步骤114:卡片判断卡片是否支持动态数据认证,如果是,则执行步骤115,否则向终端返回错误响应,返回步骤102;
具体的,卡片根据卡片支持的脱机认证类型,判断卡片是否支持动态数据认证;
步骤115:卡片解析所述内部认证命令,得到第二数据,将第二数据保存在第二预设存储区中;
优选的,卡片获取所述内部认证命令的后四个字节,得到第二数据,本实施例中,所述内部认证命令为:008800000411223344,得到的第二数据为11223344;
步骤116:卡片将动态数据认证执行位置位,根据所述第二数据和所述第一卡片数据,得到第一组合数据;
本实施例中,所述根据所述第二数据和所述第一卡片数据,得到第一组合数据,具体为:以0x05开头,后接哈希算法标识0x01、第一卡片数据长度0x03、第一卡片数据0x020002、预设填充字节和所述第二数据0x11223344组合得到第一组合数据050103020002BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB11223344;
步骤117:卡片使用卡片私钥对所述第一组合数据进行签名,得到动态签名数据,根据所述动态签名数据生成第三凭据,将所述第三凭据返回给终端,将所述第二数据删除,返回执行步骤102;
本实施例中,终端在接收到第三凭据后,得到动态签名数据,终端使用卡片公钥验证所述动态签名数据,如果验证成功,则表示卡片和终端执行动态数据认证成功。
步骤118:卡片解析所述应用密文命令,根据该命令的标识位,判断接收到的是应用密文命令的类型,如果是第一条应用密文命令,则执行步骤119,如果是第二条应用密文命令,则执行步骤120;
本实施例中,卡片判断应用密文命令的类型,具体是判断该命令的标识位即第三字节,如果第三字节为第一预设值,则为第一条应用密文命令,如果第三字节为第二预设值,则为第二条应用密文命令;优选的,第一预设值为0x90,第二预设值为0x50;
步骤119:卡片执行第一条应用密文命令,生成相应凭据,将该相应凭据返回给终端,返回执行步骤102;
参见图2,所述步骤119,具体为:
步骤119-1:卡片判断是否能够从第一预设存储区中获取所述第一数据,如果是,则执行步骤119-2,否则向终端返回错误响应,返回步骤102;
步骤119-2:卡片解析所述第一条应用密文命令,根据该命令中的第一标识位,判断静态数据认证是否成功,如果是,则执行步骤119-3,否则向终端返回拒绝操作响应,返回步骤102;
本实施例中,所述第一条应用密文命令为80AE9000200000000002000000000000000156000000000001560002291450340032E5DC2F;
卡片根据该命令中的第一标识位,判断静态数据认证是否成功,具体为:判断该命令的第二十个字节的第七位是否为第三预设值,如果是,则表示静态数据认证成功,否则表示静态数据认证失败;优选的,所述第三预设值为0;
本实施例中,该命令的第二十个字节为00,第七位为0,标识脱机数据认证成功;
步骤119-3:卡片根据该命令的第三标识位,获取所述第一条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新第二卡片数据和第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则执行步骤119-4,否则执行步骤119-5;
本实施例中,卡片根据该命令的第三标识位,获取所述第一条应用密文命令中终端请求的应用密文的类型,具体为:判断该命令的第三字节的前两个位,如果为第五预设值,则表示终端请求的应用密文的类型为脱机拒绝执行,如果是第六预设值,则表示终端请求的应用密文的类型为联机执行,如果是第七预设值,则表示终端请求的应用密文的类型为脱机批准执行;优选的,第五预设值为00,第六预设值为01,第七预设值为10;
本实施例中,该命令的第三个字节为10,表示终端请求的应用密文的类型为脱机批准执行;
本实施例中,所述判断是否满足所述终端请求的应用密文的类型,具体为:
步骤b1:所述卡片执行卡片行为分析,检测是否存在上次未完成的联机授权操作,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤b2;
步骤b2:所述卡片判断上次操作中发卡行认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤b3;
步骤b3:所述卡片判断上次操作中脱机数据认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤b4;
步骤b4:所述卡片执行频度检查,判断操作次数是否达到限值数,如果是,则向所述终端返回错误响应,返回步骤102,否则满足所述终端请求的应用密文的类型;
本实施例中,通过执行卡片行为分析,更新第二卡片数据和第三卡片数据,具体为:
步骤d1:所述卡片根据检测上次联机授权操作的结果,设置所述第二卡片数据的第一指示位;
本实施例中,如果上次联机授权操作的结果为完成,则将第二卡片数据的第一指示位置为1,如果上次联机授权操作的结果为未完成,则将第二卡片数据的第一指示位置为0;
步骤d2:所述卡片根据检测上次操作的发卡行认证的结果,设置所述第二卡片数据的第二指示位和所述第三卡片数据的第一指示位;
本实施例中,如果上次操作的发卡行认证的结果为成功,则将第二卡片数据的第二指示位置为0,将第三卡片数据的第一指示位置为111;如果上次操作的发卡行认证的结果为失败,则将第二卡片数据的第二指示位置为1,将第三卡片数据的第一指示位置为011;
步骤d3:所述卡片根据检测上次操作静态数据认证的结果,设置所述第二卡片数据的第三指示位;
实施例中,如果上次操作静态数据认证的结果为成功,则将第二卡片数据的第三指示位置为0,如果上次操作静态数据认证的结果为失败,则将第二卡片数据的第三指示位置为1;
步骤d4:所述卡片根据检测上次操作动态数据认证的结果,设置所述第二卡片数据的第四指示位;
实施例中,如果上次操作动态数据认证的结果为成功,则将第二卡片数据的第四指示位置为0,如果上次操作动态数据认证的结果为失败,则将第二卡片数据的第四指示位置为1;
步骤d5:所述卡片根据检测上次联机授权操作发卡行脚本处理结果,设置所述第二卡片数据的第五指示位;
实施例中,如果上次联机授权操作发卡行脚本处理结果为成功,则将第二卡片数据的第五指示位置为0,如果上次联机授权操作发卡行脚本处理结果为失败,则将第二卡片数据的第五指示位置为1;
步骤119-4:卡片根据卡片行为分析的结果,生成第一应用密文,执行步骤119-6;
具体的,所述生成第一应用密文,具体为:
步骤c1:所述卡片获取所述第一应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成应用密文的数据;
具体的,卡片从第一条应用密文命令中获取到的终端数据为第一条应用明文命令的前5个字节;卡片将终端数据与所述第二卡片数据和所述第三卡片数据顺序拼接,得到生成应用密文的数据;
步骤c2:所述卡片将所述生成应用密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤c3,否则执行步骤c4;
优选的,预设分组为8字节一组;
步骤c3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成应用密文的数据,执行步骤c5;
步骤c4:卡片在最后一个数据块后填充一个字节的第一预设数据,判断填充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成应用密文的数据,执行步骤c5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成应用密文的数据,执行步骤c5;
步骤c5:卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第一应用密文;
本实施例中,卡片应用过程密钥,对所述新的生成应用密文的数据进行计算,生成的第一应用密文为:C5E89A185F6B0D1F;
步骤119-5:卡片根据卡片行为分析的结果,生成第二应用密文,执行步骤119-6;
步骤119-6:卡片根据该命令的第二标识位,判断是否需要执行复合动态数据认证,如果是,则执行步骤119-8,否则执行步骤119-7;
具体为:判断该命令的第三字节的第四位是否为第四预设值,如果是,则表示需要执行复合动态数据认证,否则表示不需要执行复合动态数据认证;优选的,第四预设值为1;
本实施例中,卡片解析该命令的第三个字节为90,即10010000,其中,第四位为1,表示需要执行复合动态数据认证。
步骤119-7:卡片根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二应用密文,生成第四凭据,并将所述第四凭据返回给所述终端,返回步骤102;
步骤119-8:卡片将复合动态数据认证执行位置位,获取所述第一条应用密文命令中的第三数据,将第三数据保存在第三预设存储区中;
其中,卡片从所述第一条应用密文命令的第六字节开始,解析得到该命令的数据域即为第三数据0000000002000000000000000156000000000001560002291450340032E5DC2F;
步骤119-9:卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据和所述第三卡片数据,得到第二组合数据;
优选的,本实施例中,根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据和所述第三卡片数据,得到第二组合数据,具体为:将所述第一数据、所述第三数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第二组合数据;
本实施例中,卡片将所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据和所述第三卡片数据进行顺序拼接,得到的第二组合数据为:015601000000000200015642616E6B204361726420546573742043656E74650000000002000000000000000156000000000001560002291450340032E5DC2F9F2701809F360200029F101307010103A40002010A0100000010009FFE6421;
步骤119-10:卡片根据所述第一条应用密文命令的哈希算法标识,获取哈希算法,对所述第二组合数据进行哈希计算,得到第一哈希值;
本实施例中,卡片对所述第二组合数据进行哈希计算得到的第一哈希值为:947D4AD25925AD11F70B709354B4A3F1EF5888DF;
步骤119-11:卡片获取第四预设存储区中的第一应用密文,根据所述第一应用密文、所述第一哈希值、所述第一卡片数据和所述第三数据,得到第三组合数据;
具体的,根据所述第一应用密文、所述第一哈希值、所述第一卡片数据和所述第三数据,得到第三组合数据,具体为:卡片获取第三数据的第二预设长度的字节数,即最后四个字节0x32E5DC2F,将第三预设数据0x05、哈希算法标识0x01、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节和获取到的字节数0x32E5DC2F进行顺序拼接,得到第三组合数据:05012002000280C5E89A185F6B0D1F947D4AD25925AD11F70B709354B4A3F1EF5888DFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB32E5DC2F;
步骤119-12:卡片对所述第三组合数据进行哈希计算,得到第二哈希值;
本实施例中,卡片对所述第三组合数据进行哈希计算,得到的第二哈希值为C092ADC4A768605DA13AF82A5EB681472A44C7DB;
步骤119-13:卡片根据所述第一卡片数据、第一应用密文、第一哈希值和第二应用密文,得到第四组合数据;
本实施例中,根据所述第一卡片数据、第一应用密文、第一哈希值和第二应用密文,得到第四组合数据,具体为:卡片将第四预设数据0x6a05、哈希算法标识0x01、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节、所述第二哈希值和第五预设数据0xBC进行顺序拼接,得到第四组合数据为:6A05012002000280C5E89A185F6B0D1F947D4AD25925AD11F70B709354B4A3F1EF5888DFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC092ADC4A768605DA13AF82A5EB681472A44C7DBBC;
步骤119-14:卡片使用卡片私钥对所述第四组合数据进行签名,得到第一签名数据;
本实施例中,卡片使用卡片私钥对所述第四组合数据进行签名,得到的第一签名数据为:554B85DCEC2A61E9C54A3D67E0012E879DF4402D632F89F56481ABCEB1A4B51C01116043734457240EF1C64AD5E1A32DA36B892E6F3242997DEEDB87350189F9A810DE98FBF2B4275E64DB2FB03183A71348AA1785CBA2720E7726134E9874B2D759E365FAD6BCCEFB9591037C47B68F4FBA8927F697A191C1F112F3138A0B2D;
步骤119-15:卡片根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第一签名数据生成第五凭据,将所述第五凭据返回给终端,返回步骤102;
本实施例中,卡片根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第一签名数据,生成的第五凭据为:7781A39F2701809F360200029F4B8180554B85DCEC2A61E9C54A3D67E0012E879DF4402D632F89F56481ABCEB1A4B51C01116043734457240EF1C64AD5E1A32DA36B892E6F3242997DEEDB87350189F9A810DE98FBF2B4275E64DB2FB03183A71348AA1785CBA2720E7726134E9874B2D759E365FAD6BCCEFB9591037C47B68F4FBA8927F697A191C1F112F3138A0B2D9F101307010103A40002010A0100000010009FFE6421。
步骤120:卡片执行第二条应用密文命令,生成相应凭据,将该相应凭据返回给终端,返回执行步骤102;
参见图3,所述步骤120,具体为:
步骤120-1:卡片判断是否能够从第一预设存储区中获取第一数据,是否能够从第三预设存储区中获取第三数据,如果是,则执行步骤120-2,否则向终端返回错误信息,返回步骤102;
步骤120-2:卡片解析所述第二条应用密文命令,根据该命令的第四标识位,判断静态数据认证是否成功,如果是,则执行步骤120-3,否则向终端返回拒绝操作响应,返回步骤102;
本实施例中,所述第二条应用密文命令为80AE50002230300000000002000000000000000156000000000001560002291450340032E5DC2F;
卡片根据该命令的第四标识位,判断静态数据认证是否成功,具体为:判断该命令的第二十字节的第七位是否为0,如果是,则表示脱机数据认证成功,否则表示脱机数据认证失败;
本实施例中,该命令的第二十字节为00,第七位为0,标识脱机数据认证成功;
步骤120-3:卡片根据该命令的第六标识位,获取所述第二条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则执行步骤120-4,否则执行步骤120-5;
其中,卡片根据该命令的第六标识位,获知终端请求的应用密文的类型,具体为:判断该命令的第三字节的前两个位,如果为00,则表示终端请求的应用密文的类型为脱机拒绝执行,如果是01,则表示终端请求的应用密文的类型为联机执行,如果是10,则表示终端请求的应用密文的类型为脱机批准执行;
本实施例中,该命令的第三个字节的前两位为01,标识终端请求的应用密文的类型为脱机批准执行;
本实施例中,所述通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,具体为:
步骤g1:所述卡片根据检测上次联机授权操作的结果,设置所述第二卡片数据的第一指示位;
本实施例中,如果上次联机授权操作的结果为完成,则将第二卡片数据的第一指示位置为1,如果上次联机授权操作的结果为未完成,则将第二卡片数据的第一指示位置为0;
步骤g2:所述卡片根据检测上次操作的发卡行认证的结果,设置所述第二卡片数据的第二指示位和所述第三卡片数据的第一指示位;
本实施例中,如果上次操作的发卡行认证的结果为成功,则将第二卡片数据的第二指示位置为0,将第三卡片数据的第一指示位置为111;如果上次操作的发卡行认证的结果为失败,则将第二卡片数据的第二指示位置为1,将第三卡片数据的第一指示位置为011;
步骤g3:所述卡片根据检测上次操作静态数据认证的结果,设置所述第二卡片数据的第三指示位;
实施例中,如果上次操作静态数据认证的结果为成功,则将第二卡片数据的第三指示位置为0,如果上次操作静态数据认证的结果为失败,则将第二卡片数据的第三指示位置为1;
步骤g4:所述卡片根据检测上次操作动态数据认证的结果,设置所述第二卡片数据的第四指示位;
实施例中,如果上次操作动态数据认证的结果为成功,则将第二卡片数据的第四指示位置为0,如果上次操作动态数据认证的结果为失败,则将第二卡片数据的第四指示位置为1;
步骤g5:所述卡片根据检测上次联机授权操作发卡行脚本处理结果,设置所述第二卡片数据的第五指示位;
实施例中,如果上次联机授权操作发卡行脚本处理结果为成功,则将第二卡片数据的第五指示位置为0,如果上次联机授权操作发卡行脚本处理结果为失败,则将第二卡片数据的第五指示位置为1;
步骤120-4:卡片根据所述卡片行为分析结果,生成第三应用密文,执行步骤120-6;
所述生成第三应用密文,具体为:
步骤d1:所述卡片获取所述第二应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成密文的数据;
步骤d2:所述卡片将所述生成密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤d3,否则执行步骤d4;
步骤d3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成密文的数据,执行步骤d5;
步骤d4:所述卡片在最后一个数据块后填充一个字节的第一预设数据,判断补充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成密文的数据,执行步骤d5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成密文的数据,执行步骤d5;
步骤d5:卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第三应用密文;
步骤120-5:卡片根据所述卡片行为分析结果,生成第四应用密文,执行步骤120-6;
步骤120-6:卡片解析所述第二条应用密文命令,判断是否需要执行复合动态数据认证,是则执行步骤120-8,否则执行步骤120-7;
本实施例中,卡片根据该命令的第五标识位,判断是否需要执行复合动态数据认证,具体为:判断该命令的第三字节的第四位是否为1,如果是,则表示需要执行复合动态数据认证,否则表示不需要执行复合动态数据认证;
本实施例中,卡片解析该命令的第三个字节为50,即01010000,其中第四位为1,标识需要执行复合动态数据认证;
步骤120-7:卡片根据所述第一卡片数据、第二卡片数据、所述第三卡片数据和所述第四应用密文,生成第六凭据,并将所述第六凭据返回给所述终端,返回步骤102;
步骤120-8:卡片将复合动态数据认证执行位置位,获取并保存所述第二应用密文命令中的第四数据;
本实施例中,其中,卡片从所述第二条应用密文命令的第六字节开始,解析得到该命令的数据域即为第四数据30300000000002000000000000000156000000000001560002291450340032E5DC2F;
步骤120-9:卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第四数据,得到第五组合数据;
本实施例中,卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第四数据,得到第五组合数据,具体为:将所述第一数据、所述第三数据、所述第四数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第五组合数据为:015601000000000200015642616E6B204361726420546573742043656E74650000000002000000000000000156000000000001560002291450340032E5DC2F30300000000002000000000000000156000000000001560002291450340032E5DC2F9F2701409F360200029F101307010103640402010A0100000010009FFE6421;
步骤120-10:卡片根据所述第二条应用密文命令的哈希算法标识,获取哈希算法,对所述第五组合数据进行哈希计算,得到第三哈希值;
本实施例中,卡片对所述第五组合数据进行哈希计算,得到的第三哈希值为30ADB2EC3859891F04668CC6C28629AFD7205CCE;
步骤120-11:卡片获取第五预设存储区中的第二应用密文,根据所述第二应用密文、所述第三哈希值、所述第一卡片数据和所述第四数据,得到第六组合数据;
本实施例中,根据所述第二应用密文、所述第三哈希值、所述第一卡片数据和所述第四数据,得到第六组合数据,具体为:卡片从所述第四数据中获取第二预设长度的字节数,即最后四个字节0x32E5DC2F,将第三预设数据0x05、哈希算法标识0x01、所述第一卡片数据、所述第二应用密文、所述第三哈希值、预设填充字节和获取到的字节数0x32E5DC2F进行顺序拼接,得到第六组合数据0501200200024001B3C9B06283C08030ADB2EC3859891F04668CC6C28629AFD7205CCEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB32E5DC2F;
步骤120-12:卡片对所述第六组合数据进行哈希计算,得到第四哈希值;
本实施例中,卡片对所述第六组合数据进行哈希计算,得到的第四哈希值为808A60BD056FC118BAF6723538B154CDDD2DEFB8;
步骤120-13:卡片根据所述第三哈希值、所述第四哈希值、所述第一卡片数据、所述第二应用密文,得到第七组合数据;
本实施例中,根据所述第三哈希值、所述第四哈希值、所述第一卡片数据、所述第二应用密文,得到第七组合数据,具体为:所述卡片将第四预设数据0x6a05、哈希算法标识0x01、所述第一卡片数据、所述第二应用密文、第三哈希值、预设填充字节和第五预设数据0xBC进行顺序拼接,得到第七组合数据为:6A0501200200024001B3C9B06283C08030ADB2EC3859891F04668CC6C28629AFD7205CCEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB808A60BD056FC118BAF6723538B154CDDD2DEFB8BC;
步骤120-14:卡片使用卡片私钥对所述第七组合数据进行签名,得到第二签名数据;
本实施例中,卡片使用卡片私钥对所述第七组合数据进行签名,得到的第二签名数据为:64410712FDDF7EE1031780D1E673006611AAB2AFDD140CD3DC6DDDAE19059DF2E5FD2935E51CC4CE8F25F204ACE1AF712E40497FD7C4FA75B4A34DC66A3BEDA20C4E1277BD493E6C36D54D2737716CF6AE970EC9FBAAEE985F903BCDFD990A2DCDEC439E9DE288A824438BAC74565A946C4A6959D492D3D5DC3751894AA6F06A;
步骤120-15:卡片根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二签名数据生成第五凭据,将所述第五凭据返回给所述终端,将所述第一数据和所述第三数据删除,返回步骤102;
本实施例中,根据所述第二应用密文、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二签名数据,生成的第五凭据为:7781A39F2701409F360200029F4B818064410712FDDF7EE1031780D1E673006611AAB2AFDD140CD3DC6DDDAE19059DF2E5FD2935E51CC4CE8F25F204ACE1AF712E40497FD7C4FA75B4A34DC66A3BEDA20C4E1277BD493E6C36D54D2737716CF6AE970EC9FBAAEE985F903BCDFD990A2DCDEC439E9DE288A824438BAC74565A946C4A6959D492D3D5DC3751894AA6F06A9F101307010103640402010A0100000010009FFE6421。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利待求的保护范围为准。

Claims (28)

1.一种智能卡生成脱机认证凭据的方法,其特征在于,包括:
步骤101:卡片上电初始化;
步骤102:所述卡片等待接收终端发送的命令,判断接收到的命令的类型;
如果是取处理选项命令,则解析所述取处理选项命令,得到第一数据,更新第一卡片数据,初始化第二卡片数据和第三卡片数据,根据所述卡片支持的脱机认证类型生成第二凭据,将所述第二凭据返回给终端,返回步骤102;
如果是内部认证命令,则判断是否支持动态数据认证,是则解析所述内部认证命令,得到第二数据,根据所述第二数据和所述第一卡片数据,得到第一组合数据,使用卡片私钥对所述第一组合数据进行签名,得到动态签名数据,根据所述动态签名数据生成第三凭据,将所述第三凭据返回给终端,返回步骤102,否则向所述终端返回错误响应,返回步骤102;
如果是应用密文命令,则判断所述应用密文命令的类型,如果是第一条应用密文命令,则执行步骤103,如果是第二条应用密文命令,则执行步骤108;
步骤103:所述卡片判断是否能够获取到所述第一数据,如果是,则执行步骤104,否则向所述终端返回错误响应,返回步骤102;
步骤104:所述卡片获取所述第一条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则根据所述卡片行为分析的结果,生成第一应用密文,执行步骤105,否则根据所述卡片行为分析的结果,生成第二应用密文,执行步骤105;
步骤105:所述卡片解析所述第一条应用密文命令,判断是否需要执行复合动态数据认证,是则执行步骤106,否则根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二应用密文,生成第四凭据,并将所述第四凭据返回给所述终端,返回步骤102;
步骤106:所述卡片获取所述第一条应用密文命令中的第三数据,根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第一应用密文、所述第三数据,得到第四组合数据,使用卡片私钥对所述第四组合数据进行签名,得到第一签名数据,根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第一签名数据生成第五凭据,将所述第五凭据返回给终端,返回步骤102;
步骤107:所述卡片判断是否能够获取到所述第一数据和所述第三数据,如果是,则执行步骤108,否则向所述终端返回错误响应,返回步骤102;
步骤108:所述卡片获取所述第二条应用密文命令中终端请求的应用密文的类型,通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,并判断是否满足所述终端请求的应用密文的类型,如果是,则根据所述卡片行为分析结果,生成第三应用密文,执行步骤109,否则根据所述卡片行为分析结果,生成第四应用密文,执行步骤109;
步骤109:所述卡片解析所述第二条应用密文命令,判断是否需要执行复合动态数据认证,是则执行步骤110,否则根据所述第一卡片数据、第二卡片数据、所述第三卡片数据和所述第四应用密文,生成第六凭据,并将所述第六凭据返回给所述终端,返回步骤102;
步骤110:所述卡片获取所述第二条应用密文命令中的第四数据,根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第三应用密文、所述第三数据和所述第四数据,得到第七组合数据,应用卡片私钥对所述第七组合数据进行签名,得到第二签名数据,根据所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第二签名数据生成第七凭据,将所述第七凭据返回给所述终端,返回步骤102。
2.根据权利要求1所述的方法,其特征在于,所述步骤102还包括:当接收到的命令为选择应用命令时,执行以下步骤:
步骤102-1:所述卡片解析所述选择应用命令,根据所述选择应用命令的数据域,判断所述选择应用命令中的选择方式,如果是第一选择方式,则执行步骤102-2,如果是第二选择方式,则执行步骤102-3;
步骤102-2:所述卡片获取所述选择应用命令中的第一应用信息,根据所述第一应用信息检索所述卡片,判断是否能够检索到与所述第一应用信息对应的应用文件,如果是,则将所述与所述第一应用信息对应的应用文件作为当前应用文件,执行步骤102-4,否则向所述终端返回所述第一应用信息不支持的响应,返回步骤102;
步骤102-3:所述卡片获取所述选择应用命令中的第二应用信息,根据所述第二应用信息检索所述卡片,判断是否能够检索到与所述第二应用信息对应的应用文件,如果是,则将所述与所述第二应用信息对应的应用文件作为当前应用文件,执行步骤102-4,否则向所述终端返回所述第二应用信息不支持的响应,返回步骤102;
步骤102-4:所述卡片从所述当前应用文件中获取第一列表,根据所述第一列表生成第一凭据,将所述第一凭据返回给所述终端,返回执行步骤102。
3.根据权利要求2所述的方法,其特征在于,所述步骤102-2具体为:
步骤102-21:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤102-22;
步骤102-22:所述卡片获取所述选择应用命令中的第一应用信息,根据所述第一应用信息检索所述卡片,判断是否能够检索到与所述第一应用信息对应的应用文件,如果是,则执行步骤102-23,否则向所述终端返回所述第一应用信息不支持的响应,返回步骤102;
步骤102-23:所述卡片判断所述第一应用信息是否锁定,如果是,则向所述终端返回所述第一应用信息锁定的响应,返回步骤102,否则将所述与所述第一应用信息对应的应用文件作为当前应用文件,执行步骤102-4。
4.根据权利要求2所述的方法,其特征在于,所述步骤102-3具体为:
步骤102-31:所述卡片获取卡片状态,判断所述卡片是否锁定,如果是,则向所述终端返回卡片锁定的响应,返回步骤102,否则执行步骤102-32;
步骤102-32:所述卡片获取所述选择应用命令中的第二应用信息,根据所述第二应用信息检索所述卡片,判断是否能够检索到与所述第二应用信息对应的应用文件,如果是,则执行步骤102-23,否则向所述终端返回所述第二应用信息不支持的响应,返回步骤102;
步骤102-33:所述卡片判断所述第二应用信息是否锁定,如果是,则向所述终端返回所述第二应用信息锁定的响应,返回步骤102,否则将所述与所述第二应用信息对应的应用文件作为当前应用文件,执行步骤102-4。
5.根据权利要求1所述的方法,其特征在于,所述步骤102中,如果是取处理选项命令,具体包括:
步骤a1:所述卡片判断是否能够从所述取处理选项命令中解析得到第一数据,如果是,则将所述第一数据保存,执行步骤a2,否则向所述终端返回错误信息,返回步骤102;
步骤a2:所述卡片更新所述第一卡片数据,检查所述第一卡片数据是否达到预设阈值,如果是,则执行步骤a3,否则执行步骤a4;
步骤a3:所述卡片锁定,生成卡片锁定的响应,返回给所述终端,返回步骤102;
步骤a4:所述卡片初始化所述第二卡片数据和所述第三卡片数据;
步骤a5:所述卡片获取所述卡片内部要读取的文件信息,根据所述文件信息得到第一信息,根据所述第一信息和卡片支持的脱机认证类型,生成第二凭据,将所述第二凭据返回给所述终端,返回步骤102。
6.根据权利要求5所述的方法,其特征在于,所述步骤102还包括:当接收到的命令是读记录命令时,执行以下操作:
步骤f1:所述卡片对所述读记录命令进行解析,得到所述第一信息;
步骤f2:所述卡片根据所述第一信息读取所述卡片中的应用数据,将所述应用数据返回给所述终端,返回步骤102。
7.根据权利要求1所述的方法,其特征在于,所述步骤102中,如果是内部认证命令,判断为是时,还包括:所述卡片将动态数据认证执行位置位。
8.根据权利要求1所述的方法,其特征在于,所述步骤102中,所述判断所述应用密文命令的类型,具体为:所述卡片解析所述应用密文命令,根据所述应用密文命令中的标识位,判断所述应用密文命令的类型,如果所述应用密文命令中的标识位为第一预设值,则所述应用密文命令为第一条应用密文命令,如果所述应用密文命令中的标识位为第二预设值,则所述应用密文命令为第二条应用密文命令。
9.根据权利要求1所述的方法,其特征在于,所述步骤103与所述步骤104之间,还包括:所述卡片根据所述第一条应用密文命令的第一标识位,判断静态数据认证是否成功,则执行步骤104,否则向所述终端返回拒绝操作响应,返回步骤102;
其中,所述判断静态数据认证是否成功,具体为:判断所述第一标识位是否为第三预设值,如果是,则静态数据认证成功,否则静态数据认证失败,返回拒绝操作响应。
10.根据权利要求1所述的方法,其特征在于,所述步骤105中,所述判断是否需要执行复合动态数据认证,具体为:所述卡片判断所述第一条应用密文命令的第二标识位是否为第四预设值,如果是,则需要执行复合动态数据认证,否则不需要执行复合动态数据认证。
11.根据权利要求1所述的方法,其特征在于,所述步骤104中,所述获取所述第一条应用密文命令中终端请求的应用密文的类型,具体为:所述卡片根据所述第一条应用密文命令的第三标识位,获知所述终端请求的应用密文的类型,如果所述第三标识位为第五预设值,则终端请求的应用密文的类型为脱机拒绝执行,如果所述第三标识位为第六预设值,则表示终端请求的应用密文的类型为联机执行,如果所述第三标识位为第七预设值,则表示终端请求的应用密文的类型为脱机批准执行。
12.根据权利要求1所述的方法,其特征在于,所述生成第一应用密文,具体为:
步骤b1:所述卡片获取所述第一应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成应用密文的数据;
步骤b2:所述卡片将所述生成应用密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤b3,否则执行步骤b4;
步骤b3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成应用密文的数据,执行步骤b5;
步骤b4:所述卡片在最后一个数据块后填充一个字节的第一预设数据,判断填充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成应用密文的数据,执行步骤b5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成应用密文的数据,执行步骤b5;
步骤b5:所述卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第一应用密文。
13.根据权利要求1所述的方法,其特征在于,所述步骤106中,所述根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第一应用密文、所述第三数据,得到第四组合数据,具体为:
步骤106-1:所述卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据和所述第三卡片数据,得到第二组合数据;
步骤106-2:所述卡片根据所述第一条应用密文命令的哈希算法标识,获取哈希算法,对所述第二组合数据进行哈希计算,得到第一哈希值;
步骤106-3:所述卡片根据所述第一应用密文、所述第一哈希值、所述第一卡片数据和所述第三数据,得到第三组合数据;
步骤106-4:所述卡片数据对所述第三组合数据进行哈希计算,得到第二哈希值;
步骤106-5:所述卡片根据所述第一卡片数据、第一应用密文、第一哈希值和第二应用密文,得到第四组合数据。
14.根据权利要求13所述的方法,其特征在于,所述步骤106-1,具体为:所述卡片将所述第一数据、所述第三数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第二组合数据。
15.根据权利要求13所述的方法,其特征在于,所述步骤106-3,具体为:所述卡片从所述第三数据中获取第二预设长度的字节数,将第三预设数据、哈希算法标识、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节和获取到的字节数进行顺序拼接,得到第三组合数据。
16.根据权利要求13所述的方法,其特征在于,所述步骤106-5,具体为:所述卡片将第四预设数据、哈希算法标识、所述第一卡片数据、所述第一应用密文、所述第一哈希值、预设填充字节、所述第二哈希值和第五预设数据进行顺序拼接,得到第四组合数据。
17.根据权利要求1所述的方法,其特征在于,所述步骤107与所述步骤108之间,还包括:所述卡片根据所述第二条应用密文命令的第四标识位,判断静态数据认证是否成功,如果所述第四标识位为0,则静态数据认证成功,继续,如果所述第四标识位为1,则静态数据认证失败,向所述终端返回拒绝操作响应,返回步骤102。
18.根据权利要求1所述的方法,其特征在于,所述步骤109中,判断为是时,还包括:所述卡片将复合动态数据认证执行位置位。
19.根据权利要求1所述的方法,其特征在于,所述步骤109中,所述判断是否需要执行复合动态数据认证,具体为:所述卡片根据所述第二条应用密文命令的第五标识位,判断是否需要执行复合动态数据认证,如果所述第五标识位为1,则需要执行复合动态数据认证,如果所述第五标识位为0,则不需要执行复合动态数据认证。
20.根据权利要求1所述的方法,其特征在于,所述步骤108中,所述获取所述第二条应用密文命令中终端请求的应用密文的类型,具体为:所述卡片根据所述第二条应用密文命令的第六标识位,获知所述终端请求的应用密文的类型,如果所述第六标识位为00,则终端请求的应用密文的类型为脱机拒绝执行,如果所述第六标识位为01,则表示终端请求的应用密文的类型为联机执行,如果所述第六标识位为10,则表示终端请求的应用密文的类型为脱机批准执行。
21.根据权利要求1所述的方法,其特征在于,所述判断是否满足所述终端请求的应用密文的类型,具体为:
步骤c1:所述卡片执行卡片行为分析,检测是否存在上次未完成的联机授权操作,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c2;
步骤c2:所述卡片判断上次操作中发卡行认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c3;
步骤c3:所述卡片判断上次操作中脱机数据认证是否失败,如果是,则向所述终端返回错误响应,返回步骤102,否则执行步骤c4;
步骤c4:所述卡片执行频度检查,判断操作次数是否达到限值数,如果是,则向所述终端返回错误响应,返回步骤102,否则满足所述终端请求的应用密文的类型。
22.根据权利要求1所述的方法,其特征在于,所述生成第三应用密文,具体为:
步骤d1:所述卡片获取所述第二应用密文命令中的终端数据,将所述终端数据、所述第二卡片数据和所述第三卡片数据进行组合,得到生成密文的数据;
步骤d2:所述卡片将所述生成密文的数据进行预设分组,判断分组后的最后一个数据块的长度是否为第一预设长度,如果是,则执行步骤d3,否则执行步骤d4;
步骤d3:所述卡片在最后一个数据块后添加预设数据块,将添加后的数据作为新的生成密文的数据,执行步骤d5;
步骤d4:所述卡片在最后一个数据块后填充一个字节的第一预设数据,判断补充后的数据块长度是否为第一预设长度,如果是,则将填充后的数据作为新的生成密文的数据,执行步骤d5,否则在所述第一预设数据后再填充第二预设数据,直到填充后最后一块数据块的长度为预设长度,得到新的生成密文的数据,执行步骤d5;
步骤d5:所述卡片获取与当前应用文件对应的应用过程密钥,根据应用过程密钥,采用对称密钥算法对所述新的生成应用密文的数据进行计算,生成第三应用密文。
23.根据权利要求1所述的方法,其特征在于,所述步骤110中,所述根据所述第一数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据、所述第二应用密文、所述第三数据和所述第四数据,得到第七组合数据,具体为:
步骤110-1:所述卡片根据所述第一数据、所述第三数据、所述第一卡片数据、所述第二卡片数据、所述第三卡片数据和所述第四数据,得到第五组合数据;
步骤110-2:所述卡片根据所述第二条应用密文命令的哈希算法标识,获取哈希算法,对所述第五组合数据进行哈希计算,得到第三哈希值;
步骤110-3:所述卡片根据所述第二应用密文、所述第三哈希值、所述第一卡片数据和所述第四数据,得到第六组合数据;
步骤110-4:所述卡片对所述第六组合数据进行哈希计算,得到第四哈希值;
步骤110-5:所述卡片根据所述第三哈希值、所述第四哈希值、所述第一卡片数据、所述第二应用密文,得到第七组合数据。
24.根据权利要求23所述的方法,其特征在于,所述步骤110-1,具体为:所述卡片将所述第一数据、所述第三数据、所述第四数据、所述第二卡片数据、所述第一卡片数据和所述第三卡片数据进行顺序拼接,得到第五组合数据。
25.根据权利要求23所述的方法,其特征在于,所述步骤110-3,具体为:所述卡片从所述第四数据中获取第二预设长度的字节数,将第三预设数据、哈希算法标识、所述第一卡片数据、所述第二应用密文、所述第三哈希值、预设填充字节和获取到的字节数进行顺序拼接,得到第六组合数据。
26.根据权利要求23所述的方法,其特征在于,所述步骤110-5,具体为:所述卡片将第四预设数据、哈希算法标识、所述第一卡片数据、所述第二应用密文、第三哈希值、预设填充字节和第五预设数据进行顺序拼接,得到第七组合数据。
27.根据权利要求1所述的方法,其特征在于,所述通过执行卡片行为分析,更新所述第二卡片数据和所述第三卡片数据,具体为:
步骤e1:所述卡片根据检测上次联机授权操作的结果,设置所述第二卡片数据的第一指示位;
步骤e2:所述卡片根据检测上次操作的发卡行认证的结果,设置所述第二卡片数据的第二指示位和所述第三卡片数据的第一指示位;
步骤e3:所述卡片根据检测上次操作静态数据认证的结果,设置所述第二卡片数据的第三指示位;
步骤e4:所述卡片根据检测上次操作动态数据认证的结果,设置所述第二卡片数据的第四指示位;
步骤e5:所述卡片根据检测上次联机授权操作发卡行脚本处理结果,设置所述第二卡片数据的第五指示位。
28.根据权利要求1所述的方法,其特征在于,
所述步骤102中,所述得到第一数据,还包括:将所述第一数据保存;
所述步骤102中,所述得到第二数据,还包括:将所述第二数据保存;
所述步骤102中,所述将所述第三凭据返回给终端后,还包括:将所述第二数据删除;
所述步骤106中,所述获取所述第一条应用密文命令中的第三数据,还包括:将所述第三数据保存;
所述步骤110中,所述获取所述第二条应用密文命令中的第四数据,还包括:将所述第四数据保存;
所述步骤110中,所述将所述第七凭据返回给终端后,还包括:将所述第一数据、所述第三数据和所述第四数据删除。
CN201310750552.XA 2013-12-31 2013-12-31 一种智能卡生成脱机认证凭据的方法 Active CN103763103B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310750552.XA CN103763103B (zh) 2013-12-31 2013-12-31 一种智能卡生成脱机认证凭据的方法
PCT/CN2014/093244 WO2015101139A1 (zh) 2013-12-31 2014-12-08 一种智能卡生成脱机认证凭据的方法
US15/027,457 US20160314469A1 (en) 2013-12-31 2014-12-08 Method for generating off-line authentication credentials by intelligent card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310750552.XA CN103763103B (zh) 2013-12-31 2013-12-31 一种智能卡生成脱机认证凭据的方法

Publications (2)

Publication Number Publication Date
CN103763103A CN103763103A (zh) 2014-04-30
CN103763103B true CN103763103B (zh) 2017-02-01

Family

ID=50530268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310750552.XA Active CN103763103B (zh) 2013-12-31 2013-12-31 一种智能卡生成脱机认证凭据的方法

Country Status (3)

Country Link
US (1) US20160314469A1 (zh)
CN (1) CN103763103B (zh)
WO (1) WO2015101139A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763103B (zh) * 2013-12-31 2017-02-01 飞天诚信科技股份有限公司 一种智能卡生成脱机认证凭据的方法
CN104407845B (zh) * 2014-10-29 2017-12-19 飞天诚信科技股份有限公司 一种终端和智能卡协商选择应用的方法和装置
CN105162594B (zh) * 2015-07-31 2018-03-30 飞天诚信科技股份有限公司 一种快速签名方法及签名设备
US20170103396A1 (en) * 2015-10-13 2017-04-13 Mastercard International Incorporated Adaptable messaging
FR3055761B1 (fr) * 2016-09-06 2018-09-28 Oberthur Technologies Procede de controle d'un dispositif electronique et dispositif electronique correspondant
CN106603239B (zh) * 2016-11-11 2018-06-26 飞天诚信科技股份有限公司 一种基于蓝牙可视卡的主账户余额查询方法及蓝牙可视卡
EP3545646A4 (en) * 2016-11-29 2019-10-23 Habraken Holdings Llc SAFETY BASED ON A PHYSICAL TOKEN, IMPLEED IN CLOUD
CN108229202A (zh) * 2017-12-29 2018-06-29 金邦达有限公司 一种智能卡自动全检方法及装置、计算机装置、存储介质
CN108764929A (zh) * 2018-06-12 2018-11-06 飞天诚信科技股份有限公司 一种带有指纹识别功能的ic卡及其工作方法
CN111091379B (zh) * 2019-12-25 2023-04-18 飞天诚信科技股份有限公司 一种对智能卡分段操作的实现方法及系统
CN111010687B (zh) * 2019-12-28 2024-02-13 飞天诚信科技股份有限公司 一种非接触卡与移动设备进行快速通信的方法及系统
CN117616793A (zh) * 2021-07-08 2024-02-27 维萨国际服务协会 使用距离测量值用于数据安全的系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1586885A (zh) * 2004-10-26 2005-03-02 俞仁钟 用数码感光水印方式加载信息的卡或印刷物及其制造方法
CN101576945A (zh) * 2008-12-31 2009-11-11 北京飞天诚信科技有限公司 多功能读卡器及其实现方法
EP2506226A1 (en) * 2009-11-27 2012-10-03 China Unionpay Co., Ltd. Ic card payment system and method and multi-application ic card and payment terminal

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802218A (en) * 1986-11-26 1989-01-31 Wright Technologies, L.P. Automated transaction system
FR2757664B1 (fr) * 1996-12-24 1999-01-22 Bull Cp8 Terminal et procede d'autodiagnostic ou de supervision et objet portatif utilise dans un tel terminal ou procede
AU6758898A (en) * 1997-03-12 1998-09-29 Visa International Secure electronic commerce employing integrated circuit cards
US6170058B1 (en) * 1997-12-23 2001-01-02 Arcot Systems, Inc. Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use
CA2417919C (en) * 2000-08-04 2012-02-07 Lynn Henry Wheeler Method and system for using electronic communications for an electronic contract
US7877790B2 (en) * 2005-10-31 2011-01-25 At&T Intellectual Property I, L.P. System and method of using personal data
US8078788B2 (en) * 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
US20070241183A1 (en) * 2006-04-14 2007-10-18 Brown Kerry D Pin-secured dynamic magnetic stripe payment card
US8041030B2 (en) * 2007-01-09 2011-10-18 Mastercard International Incorporated Techniques for evaluating live payment terminals in a payment system
US20080201264A1 (en) * 2007-02-17 2008-08-21 Brown Kerry D Payment card financial transaction authenticator
SG148989A1 (en) * 2007-07-03 2009-01-29 Toshiba Kk Portable electronic device and file management method for use in portable electronic device
US8225386B1 (en) * 2008-03-28 2012-07-17 Oracle America, Inc. Personalizing an anonymous multi-application smart card by an end-user
US8152074B1 (en) * 2008-03-28 2012-04-10 Oracle America, Inc. Method for preparing by a smart card issuer an anonymous smart card and resulting structure
US8789753B1 (en) * 2008-03-28 2014-07-29 Oracle International Corporation Method for using and maintaining user data stored on a smart card
US8401964B2 (en) * 2009-04-28 2013-03-19 Mastercard International Incorporated Apparatus, method, and computer program product for encoding enhanced issuer information in a card
TWI436372B (zh) * 2010-01-28 2014-05-01 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與防資料竄改方法
CN101800987B (zh) * 2010-02-10 2014-04-09 中兴通讯股份有限公司 一种智能卡鉴权装置及方法
FI20115945A0 (fi) * 2011-09-28 2011-09-28 Onsun Oy Maksujärjestelmä
US20140006806A1 (en) * 2012-06-23 2014-01-02 Pomian & Corella, Llc Effective data protection for mobile devices
US20150113283A1 (en) * 2012-06-23 2015-04-23 Pomian & Corella Protecting credentials against physical capture of a computing device
US10515358B2 (en) * 2013-10-18 2019-12-24 Visa International Service Association Contextual transaction token methods and systems
CN103763103B (zh) * 2013-12-31 2017-02-01 飞天诚信科技股份有限公司 一种智能卡生成脱机认证凭据的方法
RU2710897C2 (ru) * 2014-08-29 2020-01-14 Виза Интернэшнл Сервис Ассосиэйшн Способы безопасного генерирования криптограмм
BR112017014632B1 (pt) * 2015-01-27 2023-12-26 Visa International Service Association Método implementado por computador, sistema de computador, e, mídia legível de computador
US10992469B2 (en) * 2015-07-14 2021-04-27 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US11431509B2 (en) * 2016-09-13 2022-08-30 Queralt, Inc. Bridging digital identity validation and verification with the FIDO authentication framework
CN108038694B (zh) * 2017-12-11 2019-03-29 飞天诚信科技股份有限公司 一种具有指纹验证功能的金融卡及其工作方法
CN107833054B (zh) * 2017-12-11 2019-05-28 飞天诚信科技股份有限公司 一种蓝牙金融卡及其工作方法
US10812460B2 (en) * 2018-01-02 2020-10-20 Bank Of America Corporation Validation system utilizing dynamic authentication
EP3660769B1 (en) * 2018-11-27 2025-08-27 Mastercard International Incorporated Trusted communication in transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1586885A (zh) * 2004-10-26 2005-03-02 俞仁钟 用数码感光水印方式加载信息的卡或印刷物及其制造方法
CN101576945A (zh) * 2008-12-31 2009-11-11 北京飞天诚信科技有限公司 多功能读卡器及其实现方法
EP2506226A1 (en) * 2009-11-27 2012-10-03 China Unionpay Co., Ltd. Ic card payment system and method and multi-application ic card and payment terminal

Also Published As

Publication number Publication date
US20160314469A1 (en) 2016-10-27
CN103763103A (zh) 2014-04-30
WO2015101139A1 (zh) 2015-07-09

Similar Documents

Publication Publication Date Title
CN103763103B (zh) 一种智能卡生成脱机认证凭据的方法
CN109101381A (zh) 配置文件更新方法、系统、电子设备及存储介质
CN105243067B (zh) 一种实现实时增量同步数据的方法及装置
CN103106138B (zh) 测试用例与测试脚本同步的方法及装置
CN103226593A (zh) 一种文件系统的管理方法及其文件存储终端
US20120185454A1 (en) Method and device for accessing file resources
CN102231107B (zh) 基于autosar的电控单元通信数据格式的自动生成方法
CN103106186A (zh) 一种表单校验方法及系统
CN104639647A (zh) 一种音箱升级方法和装置
CN106611001A (zh) 虚拟机数据库表数据一致性的校验方法、装置及系统
WO2011104260A2 (en) Short message processing method and apparatus
CN103024015B (zh) 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法
CN105225092A (zh) 一种半联网取件的方法与快件箱
CN102023848A (zh) 一种任务栏按钮的管理方法及装置
CN109299719A (zh) 基于字符分割的弹幕校验方法、装置、终端及存储介质
WO2023184983A1 (zh) 用于空调直连控制的方法、装置、系统及存储介质
CN101674327B (zh) 异构系统消息集成方法、架构及系统
CN101583204A (zh) 一种实现通用联合电路卡多应用文件管理的方法及系统
CN101908985B (zh) 一种报文校验的方法及装置
CN106933888A (zh) 数据库配置管理系统
CN103856535B (zh) 一种获取用户数据的方法和装置
CN102622415A (zh) 一种用于多平台的电能质量监测数据同步传输方法
US20150256614A1 (en) Resource synchronization control method, device, and system
CN106897200A (zh) 一种基于redis的分布式文件系统性能测试方法
CN105957542A (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
OL01 Intention to license declared
OL01 Intention to license declared