CN105678547A - 一种检查持卡人身份的终端及其工作方法 - Google Patents

一种检查持卡人身份的终端及其工作方法 Download PDF

Info

Publication number
CN105678547A
CN105678547A CN201511000921.9A CN201511000921A CN105678547A CN 105678547 A CN105678547 A CN 105678547A CN 201511000921 A CN201511000921 A CN 201511000921A CN 105678547 A CN105678547 A CN 105678547A
Authority
CN
China
Prior art keywords
holder
submodule
pin
terminal
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201511000921.9A
Other languages
English (en)
Other versions
CN105678547B (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 CN201511000921.9A priority Critical patent/CN105678547B/zh
Publication of CN105678547A publication Critical patent/CN105678547A/zh
Application granted granted Critical
Publication of CN105678547B publication Critical patent/CN105678547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/4012Verifying personal identification numbers [PIN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

本发明公开一种检查持卡人身份的终端及其工作方法,属于信息安全领域,所述方法包括:终端从卡片中获取持卡人验证方法列表,从持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;判断是否满足当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法,是则执行当前持卡人验证记录的编码对应的持卡人验证方法,否则继续验证其他持卡人验证记录。采用本发明的技术方法,在一种终端中采用多种验证持卡人身份的方法,避免了持卡验证的单一性,当遇到某一验证出现问题时,可通过其他方式进行交易,极大的提高了交易的安全性和便捷性。

Description

一种检查持卡人身份的终端及其工作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种检查持卡人身份的终端及其工作方法。
背景技术
在日常的金融交易中,个人交易越来越多的使用终端插卡的方式来实现消费的,因此,终端插卡的安全性日益得到人们的重视。
在现有技术中,终端检验持卡人验证的方法很单一,当验证方法出现交易问题而不能验证时,导致交易失败,方便性和快捷性降低,而且验证方式单一导致交易时用户信息容易被窃取,因此终端插卡的安全性及便捷性是当前亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种检查持卡人身份的终端及其工作方法。
本发明采用的技术方案是:一种检查持卡人身份的工作方法,包括:
步骤S1:终端从卡片中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
步骤S2:所述终端判断是否满足当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法,如果均为是,则执行步骤S3,否则执行步骤S4;
步骤S3:所述终端执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功,如果是,则持卡人验证成功,结束持卡人验证,否则执行步骤S4;
步骤S4:所述终端判断所述持卡人验证方法列表中是否还有其他未处理的持卡人验证记录,如果是,则执行步骤S5,否则持卡人验证失败,结束持卡人验证;
步骤S5:所述终端从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,返回步骤S2。
所述步骤S1之前,还包括:所述终端判断是否支持持卡人验证,如果是,则执行步骤S1,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证。
所述判断是否支持持卡人验证,具体为:所述终端向卡片发送应用初始化命令,接收所述卡片返回的应用初始化响应数据,从所述应用初始化响应数据中获取应用交互特征,判断所述应用交互特征是否支持持卡人验证,如果是,则执行步骤S1,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证。
所述步骤S1具体为:所述终端向卡片发送读取应用数据命令,接收所述卡片返回的命令响应数据,从所述命令响应数据中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录。
所述步骤S2具体为:
步骤a1:所述终端判断当前持卡人验证记录的执行条件,如果是第一预设条件,则执行步骤a4,如果是第二预设条件,则执行步骤a2,如果是其他预设条件,则执行步骤a3,否则执行步骤S4;
步骤a2:所述终端判断是否支持当前持卡人验证记录的编码,如果是,则执行步骤S3,否则执行步骤S4;
步骤a3:所述终端判断是否能够执行当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4;
步骤a4:所述终端判断是否识别当前持卡人验证记录的编码,如果是,则执行步骤S3,否则设置终端验证结果为未识别持卡人验证方法,执行步骤S4。
所述步骤a2具体为:所述终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,如果是,则执行步骤S3,否则执行步骤S4。
所述步骤a3具体包括:
步骤a3-1:所述终端判断当前持卡人验证记录的执行条件是否有效,如果是,则执行步骤a3-2,否则执行步骤S4;
步骤a3-2:所述终端判断是否满足当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4。
所述步骤a4之前还包括:
步骤b1:所述终端判断当前持卡人验证记录的编码是否为失败,如果是,则执行步骤b2,否则执行步骤a4;
步骤b2:所述终端设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行,结束持卡人验证。
所述步骤S3与所述步骤S4之间还包括:所述终端根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证。
所述根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,具体为:所述终端判断当前持卡人验证记录的编码中预设位上的值是否为预设值,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证。
所述步骤S3中,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
步骤S3-0:所述终端判断是否具有完成持卡人验证的硬件和软件条件,如果是,则执行步骤S3-4,否则执行步骤S3-1;
步骤S3-1:所述终端判断当前持卡人验证记录的编码对应的持卡人验证方法,如果是联机PIN验证,则执行步骤S3-3,如果是脱机PIN验证,则执行步骤S3-2;
步骤S3-2:所述终端判断是否能够支持当前持卡人验证记录的编码对应的脱机PIN验证,如果是,则执行步骤S3-4,否则执行步骤S3-3;
步骤S3-3:所述终端设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,执行步骤S4;
步骤S3-4:所述终端判断当前持卡人验证记录的编码的类型,如果是脱机PIN验证,则执行脱机PIN验证,如果是联机密文PIN验证,则执行联机密文PIN验证,否则执行其他验证方法。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:当前持卡人验证记录的编码对应的持卡人验证方法为脱机PIN验证,执行以下操作:
步骤c1:所述终端提示输入PIN码;
步骤c2:所述终端判断当前持卡人验证方法是否为脱机密文PIN验证,如果是,则执行步骤c3,否则根据用户输入的PIN码生成PIN码验证命令,执行步骤c4;
步骤c3:所述终端恢复PIN加密的公钥,使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,执行步骤c4;
步骤c4:所述终端向卡片发送PIN码验证命令,接收卡片返回的状态码,判断接收到的状态码,如果是第一预设值,则返回步骤c1,如果是第二预设值,则脱机PIN验证成功,结束持卡人验证,如果是第三预设值,则脱机PIN验证失败,结束持卡人验证。
所述步骤c1之前,还包括:
步骤d1:所述终端向所述卡片发送取数据命令,接收所述卡片返回的取数据命令响应数据,判断从所述取数据命令响应数据中是否能够获取到PIN重试计数器的值,如果是,则执行步骤d2,否则执行步骤c1;
步骤d2:终端判断PIN重试计数器的值是否为阈值,如果是,则执行步骤d3,否则执行步骤c1;
步骤d3:终端设置终端验证结果为PIN重试次数超限,脱机PIN验证失败,结束持卡人验证。
所述步骤c1与所述步骤c2之间还包括:
步骤e1:所述终端判断密码键盘是否正常工作,如果是,则执行步骤e2,否则设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,脱机PIN验证失败,结束持卡人验证;
步骤e2:所述终端判断是否直接接收到确认键按下,如果是,则设置终端验证结果为要求输入PIN,但没有输入PIN,脱机PIN验证失败,结束持卡人验证,否则执行步骤c2。
所述步骤c3中,所述使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,具体为:
步骤f1:所述终端向所述卡片发送取随机数命令,接收卡片返回的随机数;
步骤f2:所述终端生成随机数,使用所述PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:当前持卡人验证记录的编码对应的持卡人验证方法为联机密文PIN验证,执行以下操作:
步骤g1:所述终端提示输入PIN码;
步骤g2:所述终端接收用户输入的PIN码,对所述PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
步骤g3:所述终端根据所述联机密文PIN生成验证信息,并上送至后台服务器,等待接收所述后台服务器的验证结果;
步骤g4:所述终端判断所述后台服务器返回的验证结果,如果验证成功,则联机PIN验证成功,如果验证失败,则联机PIN验证失败。
所述步骤g1与所述步骤g2之间还包括:
步骤h1:所述终端判断密码键盘是否正常工作,如果是,则执行步骤h2,否则设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作,联机PIN验证失败,结束持卡人验证;
步骤h2:所述终端判断是否直接接收到确认键按下,如果是,则设置终端验证结果为要求输入PIN,但没有输入PIN,联机PIN验证失败,结束持卡人验证,否则执行步骤g2。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为签名,所述终端设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知,持卡人验证成功。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为签名与PIN验证结合验证,执行步骤i1至步骤i2;
步骤i1:所述终端分别执行签名和PIN验证,判断持卡人验证是否均为成功,如果是,则执行步骤i2,否则设置持卡人验证结果为失败,结束持卡人验证;
步骤i2:所述终端判断两种方法对应的持卡人验证结果中是否存在未知,如果是,则设置持卡人验证结果为未知,结束,否则设置持卡人验证结果为成功,结束持卡人验证。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人验证,所述终端设置持卡人验证结果为成功,结束持卡人验证。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为持卡人证件出示,所述终端向卡片发送读应用数据命令,接收所述卡片返回的响应数据,从响应数据中获取持卡人证件类型及号码并显示在屏幕上,并提示服务人员要求持卡人出示相应证件,当接收到服务人员设置成功信息时,设置持卡人验证结果为成功,当接收到服务人员设置失败信息时,设置持卡人验证结果为失败。
所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人证件出示,终端设置持卡人验证结果为成功。
一种检查持卡人身份的终端,包括:
读卡模块,用于从卡片中获取持卡人验证方法列表;
第一获取模块,用于从所述读卡模块中读取到的持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
第一判断模块,用于判断是否满足所述第一获取模块获取到的当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法;
持卡人验证模块,用于当所述第一判断模块判断为是时,执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功;
第二判断模块,用于当所述第一判断模块判断为否时,判断所述持卡人验证方法列表中是否还有其他未处理的持卡人验证记录;
第二获取模块,用于当所述第二判断模块判断为是时,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,触发所述第一判断模块。
所述终端还包括第三判断模块和设置模块;
所述第三判断模块,用于判断是否支持持卡人验证,判断为是时,触发所述第一获取模块,判断为否时,触发所述设置模块;
所述设置模块,用于将持卡人验证结果设置为不能执行持卡人验证。
所述第三判断模块,具体包括发送单元、接收单元、获取单元、判断单元和设置单元;
所述发送单元,用于向卡片发送应用初始化命令;
所述接收单元,用于接收所述卡片返回的应用初始化响应数据;
所述获取单元,用于从所述接收单元接收到的所述应用初始化响应数据中获取应用交互特征;
所述判断单元,用于判断所述获取单元获取到的所述应用交互特征是否支持持卡人验证,判断为是时,触发所述读卡模块,判断为否时,触发所述设置单元;
所述设置单元,用于将持卡人验证结果设置为不能执行持卡人验证。
所述第一获取模块,具体包括发送单元、接收单元和获取单元;
所述发送单元,用于向卡片发送读取应用数据命令;
所述接收单元,用于接收所述卡片返回的命令响应数据;
所述获取单元,用于从所述接收单元接收到的所述命令响应数据中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取当前持卡人验证记录。
所述第一判断模块,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元和第一设置单元;
所述第一判断单元,用于判断当前持卡人验证记录的执行条件,当判断为第一预设条件时,触发所述第四判断单元,当判断为第二预设条件时,触发所述第二判断单元,当判断为其他预设条件时,触发所述第三判断单元,判断为否时,触发所述第二判断模块;
所述第二判断单元,用于判断是否支持当前持卡人验证记录的编码,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第二判断模块;
所述第三判断单元,用于判断是否能够执行当前持卡人验证记录的执行条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断模块;
所述第四判断单元,用于判断是否识别当前持卡人验证记录的编码,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第一设置单元;
所述第一设置单元,用于设置终端验证结果为未识别持卡人验证方法,触发所述第二判断模块。
所述第二判断单元,具体用于判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第二判断模块。
所述第三判断单元,具体包括第一判断子模块和第二判断子模块;
所述第一判断子模块,用于判断当前持卡人验证记录的执行条件是否有效,判断为是时,触发所述第二判断子模块,判断为否时,触发所述第二判断模块;
所述第二判断子模块,用于判断是否满足当前持卡人验证记录的执行条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断模块。
所述第一判断模块,还包括第五判断单元和第二设置单元;
所述第五判断单元,用于判断当前持卡人验证记录的编码是否为失败,判断为是时,触发所述第二设置单元,判断为否时,触发所述第四判断单元;
所述第二设置单元,用于设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行。
所述终端还包括第四判断模块;
所述第四判断模块,用于根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,判断为是时,触发所述第二判断模块,判断为否时,持卡人验证失败。
所述第四判断模块,具体用于判断当前持卡人验证记录的编码中预设位上的值是否为预设值,判断为是时,触发所述第二判断模块,判断为否时,持卡人验证失败。
所述持卡人验证模块,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元、设置单元、第一执行单元、第二执行单元和第三执行单元;
所述第一判断单元,用于判断是否具有完成持卡人验证的硬件和软件条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断单元;
所述第二判断单元,用于判断当前持卡人验证记录的编码,判断为联机PIN验证时,触发所述设置单元,判断为脱机PIN验证时,触发所述第三判断单元;
所述第三判断单元,用于判断是否能够支持当前持卡人验证记录对应的脱机PIN验证,判断为是时,触发所述第四判断单元,判断为否时,触发所述设置单元;
所述设置单元,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,触发所述第二判断模块;
所述第四判断单元,用于判断当前持卡人验证记录的编码的类型,判断为脱机PIN验证时,触发所述第一执行单元,判断为联机密文PIN验证时,触发所述第二执行单元,判断为否时,触发所述第三执行单元;
所述第一执行单元,用于执行脱机PIN验证;
所述第二执行单元,用于执行联机密文PIN验证;
所述第三执行单元,用于执行其他验证方法。
所述持卡人验证模块,具体包括提示子模块、第一判断子模块、生成子模块、处理子模块、发送子模块、接收子模块和第二判断子模块;
所述提示子模块,用于提示输入PIN码;
所述第一判断子模块,用于判断当前持卡人验证方法是否为脱机密文PIN验证,判断为是时,触发所述处理子模块,判断为否时,触发所述生成子模块;
所述生成子模块,用于根据用户输入的PIN码生成PIN码验证命令,触发所述发送子模块;
所述处理子模块,用于恢复PIN加密的公钥,使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,触发所述发送子模块;
所述发送子模块,用于向卡片发送PIN码验证命令;
所述接收子模块,用于接收所述卡片返回的状态码;
所述第二判断子模块,用于判断所述接收子模块接收到的状态码,判断为第一预设值时,触发所述提示子模块,判断为第二预设值时,脱机PIN验证成功,判断为第三预设值时,脱机PIN验证失败。
所述持卡人验证模块,还包括第三判断子模块、第四判断子模块和第一设置子模块;
所述发送子模块,还用于向所述卡片发送取数据命令;
所述接收子模块,还用于接收所述卡片返回的取数据命令响应数据;
所述第三判断子模块,用于判断所述接收子模块接收到的所述取数据命令响应数据中是否能够获取到PIN重试计数器的值,判断为是时,触发所述第四判断子模块,判断为否时,触发所述提示子模块;
所述第四判断子模块,用于判断PIN重试计数器的值是否为阈值,判断为是时,触发所述第一设置子模块,判断为否时,触发所述提示子模块;
所述第一设置子模块,用于设置终端验证结果为PIN重试次数超限。
所述持卡人验证模块,还包括第五判断子模块、第二设置子模块、第六判断子模块和第三设置子模块;
所述第五判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发所述第六判断子模块,判断为否时,触发所述第二设置子模块;
所述第二设置子模块,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障;
所述第六判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发所述第三设置子模块,判断为否时,触发所述第一判断子模块;
所述第三设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
所述处理子模块,具体包括发送子单元、接收子单元、生成子单元和加密子单元;
所述发送子单元,用于向所述卡片发送取随机数命令;
所述接收子单元,用于接收卡片返回的随机数;
所述生成子单元,用于生成随机数;
所述加密子单元,用于使用所述PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文。
所述持卡人验证模块,具体包括:提示子模块、接收子模块、处理子模块、发送子模块和第一判断子模块;
所述提示子模块,用于提示输入PIN码;
所述接收子模块,用于接收用户输入的PIN码;接收后台服务器的验证结果;
所述处理子模块,用于对所述接收子模块接收到的所述PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
所述发送子模块,用于根据所述联机密文PIN生成验证信息,并上送至后台服务器;
所述第一判断子模块,用于判断所述接收子模块接收到的所述后台服务器返回的验证结果,判断为是时,联机PIN验证成功,判断为否时,联机PIN验证失败。
所述持卡人验证模块,还包括:第二判断子模块、第一设置子模块、第三判断子模块和第二设置子模块;
所述第二判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发所述第三判断子模块,判断为否时,触发所述第一设置子模块;
所述第一设置子模块,用于设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作;
所述第三判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发所述第二设置子模块,判断为否时,触发所述处理子模块;
所述第二设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
所述持卡人验证模块,具体用于当前持卡人验证记录的编码对应的持卡人验证方法为签名,设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知。
所述持卡人验证模块,具体包括第一判断子模块、第二判断子模块、第一设置子模块、第二设置子模块和第三设置子模块;
所述第一判断子模块,用于当前持卡人验证记录的编码对应的持卡人验证方法为签名与PIN验证结合验证,分别执行签名和PIN验证,判断持卡人验证是否均为成功,判断为是时,触发所述第二判断子模块,判断为否时,触发所述第一设置子模块;
所述第一设置子模块,用于设置持卡人验证结果为失败;
所述第二判断子模块,用于判断两种方法对应的持卡人验证结果中是否存在未知,判断为是时,触发所述第二设置子模块,判断为否时,触发所述第三设置子模块;
所述第二设置子模块,用于设置持卡人验证结果为未知;
所述第三设置子模块,用于设置持卡人验证结果为成功。
所述持卡人验证模块,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人验证时,设置持卡人验证结果为成功。
所述持卡人验证模块,具体包括发送子模块、接收子模块、显示子模块、提示子模块、第一设置子模块和第二设置子模块;
所述发送子模块,用于当当前持卡人验证记录的编码对应的持卡人验证方法为持卡人证件出示时,向卡片发送读应用数据命令;
所述接收子模块,用于接收所述卡片返回的响应数据;
所述显示子模块,用于从所述接收子模块接收到的响应数据中获取持卡人证件类型及号码并显示在屏幕上;
所述提示子模块,用于提示服务人员要求持卡人出示相应证件;
所述第一设置子模块,用于当接收到服务人员设置成功信息时,设置持卡人验证结果为成功;
所述第二设置子模块,用于当接收到服务人员设置失败信息时,设置持卡人验证结果为失败。
所述持卡人验证模块,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人证件出示时,设置持卡人验证结果为成功。
本发明与现有技术相比,具有以下优点:本发明在一种终端中采用多种验证持卡人身份的方法,避免了持卡验证的单一性,当遇到某一验证出现问题时,可通过其他方式进行交易,极大的提高了交易的安全性和便捷性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种检查持卡人身份的终端工作方法流程图;
图2是本发明实施例2提供的一种检查持卡人身份的终端工作方法流程图;
图3是本发明实施例3提供的终端执行当前持卡人验证方法中的代码对应的持卡人验证的具体操作流程图;
图4是本发明实施例4提供的执行脱机PIN验证处理的具体操作流程图;
图5是本发明实施例5提供的执行联机密文PIN验证处理的具体操作流程图;
图6是本发明实施例7提供的一种检查持卡人身份的终端装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种检查持卡人身份的终端工作方法,如图1所示,包括:
步骤S1:终端从卡片中获取持卡人验证方法列表,从持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
本步骤之前,还包括:终端判断是否支持持卡人验证,如果是,则执行步骤S1,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证;
具体为:终端向卡片发送应用初始化命令,接收卡片返回的应用初始化响应数据,从响应数据中获取应用交互特征,判断应用交互特征是否支持持卡人验证,如果是,则支持持卡人验证,否则不支持持卡人验证;
其中,从卡片中获取持卡人验证方法列表,具体为:终端向卡片发送读取应用数据命令,接收卡片返回的命令响应数据,从响应数据中获取持卡人验证方法列表。
步骤S2:终端判断是否满足当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法,如果均为是,则执行步骤S3,否则执行步骤S4;
本步骤具体为:
步骤a1:终端判断当前持卡人验证记录的执行条件,如果是第一预设条件,则执行步骤a4,如果是第二预设条件,则执行步骤a2,如果是其他预设条件,则执行步骤a3,否则执行步骤S4;
步骤a2:终端判断是否支持当前持卡人验证记录的编码,如果是,则执行步骤S3,否则执行步骤S4;
具体为:终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,如果是,则支持当前持卡人验证记录的编码,否则不支持当前持卡人验证记录的编码;
步骤a3:终端判断是否能够执行当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4;
本步骤具体为:
步骤a3-1:终端判断当前持卡人验证记录的执行条件是否有效,如果是,则执行步骤a3-2,否则执行步骤S4;
步骤a3-2:终端判断是否满足当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4;
步骤a4:终端判断是否识别当前持卡人验证记录的编码,如果是,则执行步骤S3,否则设置终端验证结果为未识别持卡人验证方法,执行步骤S4;
本步骤之前还包括:
步骤b1:终端判断当前持卡人验证记录的编码是否为失败,如果是,则执行步骤b2,否则执行步骤a4;
步骤b2:终端设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行,结束持卡人验证。
步骤S3:终端执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功,如果是,则持卡人验证成功,结束持卡人验证,否则执行步骤S4;
本实施例中,当判断持卡人验证失败时,还包括:终端根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证;
具体的,终端判断当前持卡人验证记录的编码中预设位上的值是否为预设值,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证;
本实施例中,持卡人验证记录对应的持卡人验证方法包括:脱机PIN验证、联机密文PIN验证、签名、签名与PIN验证结合验证、无需持卡人验证、持卡人证件出示、无需持卡人证件出示。
步骤S4:终端判断持卡人验证方法列表中是否还有其他未处理的持卡人验证记录,如果是,则执行步骤S5,否则持卡人验证失败,结束持卡人验证;
步骤S5:终端从持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,返回步骤S2;
本实施例中,步骤S1中,从持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录,具体为:
方法一、将持卡人验证方法列表中的第一个持卡人验证记录作为当前持卡人验证记录;
对应的,步骤S4和步骤S5具体为:判断当前持卡人验证记录是否还有下一个持卡人验证记录,如果是,则将下一个持卡人验证记录作为当前持卡人验证记录,返回步骤S2;
方法二、从持卡人验证方法列表中获取验证标识未置位的持卡人验证记录,作为当前持卡人验证记录;
对应的,步骤S4和步骤S5具体为:终端将当前持卡人验证记录对应的验证标识置位,判断持卡人验证方法列表中是否还有验证标识未置位的持卡人验证记录,如果是,则获取验证标识未置位的一个持卡人验证记录作为当前持卡人验证记录,返回步骤S2。
实施例2
本发明实施例2提供了一种检查持卡人身份的终端工作方法,如图2所示,包括:
步骤101:终端启动;
步骤102:终端向卡片发送应用初始化命令,接收卡片返回的应用初始化响应数据,从响应数据中获取应用交互特征,判断应用交互特征是否支持持卡人验证,如果是,则执行步骤103,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证,进入交易流程;
本实施例中,当终端判定应用交互特征不支持持卡人验证时,将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证,进入交易流程。
步骤103:终端向卡片发送读取应用数据命令,接收卡片返回的命令响应数据,从响应数据中获取持卡人验证方法列表,判断持卡人验证方法列表中是否存在持卡人验证规则,如果是,则执行步骤104,否则设置终端验证结果为卡片数据缺失,设置持卡人验证结果为没有执行持卡人验证,结束持卡人验证,进入交易流程;
具体的,终端判断持卡人验证方法列表中从第九个字节开始是否能够获取到预设持卡人验证方法的编码,如果是,则持卡人验证方法列表中存在持卡人验证规则,否则持卡人验证方法列表中不存在持卡人验证规则;
其中,预设持卡人验证方法的编码包括40、00、41、01、42、02、43、03、44、04、45、05、1E、5E、1F、5F。
步骤104:终端将持卡人验证方法列表中的第一个持卡人验证记录作为当前持卡人验证记录;
本实施例中,从持卡人验证方法列表的第九个字节开始为持卡人验证记录,其中,每两个字节为一个持卡人验证记录,这两个字节中第一个字节为持卡人验证记录的编码,第二个字节为持卡人验证记录的执行条件;
例如,终端选择的持卡人验证方法列表为:
0000010000020000410042030000,前四个字节00000100为金额X,第五至第八字节00000200为金额Y,从第九个字节开始,0x4100、0x4203和0x0000为三个持卡人验证记录,0x41、0x42、0x00为持卡人验证记录的编码,0x41之后的0x00、0x42之后的0x03和0x00之后的0x00为持卡人验证记录的执行条件,0x41表示为明文PIN验证,0x42表示为密文PIN验证,0x00为失败;
以下实例以当前持卡人验证记录为0x4100为例来说明。
步骤105:终端判断当前持卡人验证记录的执行条件是否为第一预设条件,如果是,则执行步骤111,否则执行步骤106;
本实施例中,第一预设条件为“总是执行”,即总是需要执行当前持卡人验证方法;
优选的,终端判断当前持卡人验证记录的执行条件是否为0x00,如果是,则当前持卡人验证记录的执行条件为“总是执行”。
步骤106:终端判断当前持卡人验证记录的执行条件是否为第二预设条件,如果是,则执行步骤107,否则执行步骤108;
本实施例中,第二预设条件为“终端支持该执行条件”即终端能够执行当前持卡人验证记录;
优选的,判断当前持卡人验证记录的执行条件是否为0x03,如果是,则当前持卡人验证记录的执行条件为“终端支持该条件”。
步骤107:终端判断是否支持当前持卡人验证记录的编码,如果是,则执行步骤116,否则执行步骤118;
本实施例中,优选的,终端通过判断终端能力的第二个字节的值决定是否支持当前持卡人验证记录的编码;
例如,当终端能力的第二个字节的第八位的值为1时,决定终端支持脱机PIN验证;当终端能力的第二个字节的第七位的值为1时,决定终端支持联机密文PIN验证;当终端能力的第二个字节的第六位的值为1时,决定终端支持签名;当终端能力的第二个字节的第五位的值为1时,决定终端无需持卡人验证;
本实施例中,终端判断是否支持当前持卡人验证记录的编码,具体为:终端通过判断当前持卡人验证记录的编码的第一位至第六位的值决定是否支持当前持卡人验证方法,再判断当前持卡人验证记录是否在终端能力范围内;
优选的,终端判断当前持卡人验证记录的编码的第一位至第六位的值,如果为000000,则终端不支持当前持卡人验证记录的编码,如果为000001,则终端执行脱机明文PIN验证,如果是000010,则终端执行联机密文PIN验证,如果是000011,则终端执行脱机明文PIN验证+签名,如果是000100,则终端执行脱机密文PIN,如果是000101,则终端执行脱机密文PIN+签名,如果是011110,则终端执行签名,如果是011111,则终端无需进行持卡人验证,如果是100000,则终端需要持卡人证件出示。
步骤108:终端判断是否支持当前持卡人验证记录的执行条件,如果是,则执行步骤109,否则执行步骤118;
本实施例中,终端判断是否支持当前持卡人验证记录的执行条件,具体为:终端判断是否支持标准中给定的条件,即判断当前持卡人验证记录的执行条件为0x00至0x09中的一个,是则终端支持当前持卡人验证记录的执行条件,否则终端不支持当前持卡人验证记录的执行条件。
步骤109:终端判断当前持卡人验证记录的执行条件是否有效,如果是,则执行步骤110,否则执行步骤118;
本实施例中,判断当前持卡人验证记录的执行条件是否有效,即判断当前持卡人验证记录的执行条件中要求的卡片数据是否存在,例如,当前持卡人验证方法的执行条件中包括金额检查,则检查应用货币代码是否存在。
步骤110:终端判断是否满足当前持卡人验证记录的执行条件,如果是,则执行步骤111,否则执行步骤118;
具体为,终端判断在终端性能中是否支持当前持卡人验证记录的执行条件;
例如,如果当前持卡人验证记录的执行条件为终端支持该条件,则在终端性能中应指示支持当前持卡人验证记录,如果当前持卡人验证记录的执行条件包括判断金额,则需判定交易货币代码与应用货币代码相同。
步骤111:终端判断当前持卡人验证记录的编码是否为失败,如果是,则执行步骤112,否则执行步骤113;
本实施例中,优选的,终端判断当前持卡人验证记录的编码是否为0x00,如果是,则持卡人验证记录的编码为失败,表示持卡人验证处理失败,不进行下一持卡人验证方法;
步骤112:终端设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行,结束持卡人验证,进入交易流程;
具体的,终端设置终端验证结果中的“持卡人验证不成功”位为1,设置终端状态信息中的“持卡人验证已执行”位为1;
步骤113:终端判断是否识别当前持卡人验证记录的编码,如果是,则执行步骤116,否则执行步骤114;
本实施例中,优选的,如果当前持卡人验证记录的编码为40、00、41、01、42、02、43、03、44、04、45、05、1E、5E、1F、5F中任意一个,则终端识别当前持卡人验证记录的编码,否则终端不识别当前持卡人验证记录的编码。
步骤114:终端设置终端验证结果为未识别持卡人验证方法,执行步骤115;
具体为,终端设置终端验证结果的“未识别持卡人验证方法”位为1
步骤115:终端根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,如果是,则执行步骤118,否则执行步骤112;
本实施例中,终端判断当前持卡人验证记录的编码中预设位上的值是否为预设值,如果是,则满足继续验证的条件,否则不满足继续验证的条件;
优选的,终端判断当前持卡人验证记录的编码中第七位的值是否为1。
步骤116:终端执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功,如果是,则执行步骤117,否则执行步骤115;
步骤117:终端设置终端状态信息为已执行持卡人验证,持卡人验证结束,进入交易流程;
具体为:终端设置终端状态信息的“已执行持卡人验证”位为1。
步骤118:终端判断持卡人验证方法列表中当前持卡人验证记录之后是否还有其他持卡人验证记录,如果是,则将当前持卡人验证记录之后的持卡人验证记录作为更新后的当前持卡人验证记录,返回步骤105,否则执行步骤112;
本实施例中,当执行完当前持卡人验证记录之后,还包括将当前持卡人验证记录的验证标识置位。
实施例3
本发明实施例3提供的是本发明实施例2中终端执行当前持卡人验证记录的编码对应的持卡人验证方法的具体操作,如图3所示,包括:
步骤201:终端判断是否具有完成当前持卡人验证的硬件和软件条件,如果是,则执行步骤206,否则执行步骤202;
本实施例中,终端具有完成当前持卡人验证的硬件和软件条件,具体包括:具有足够的内存容量、具有提供用户卡接口的IC卡读卡器、具有显示屏、具有打印机、具有用于输入交易金额等功能的按键键盘、具有用于输入PIN码的密码键盘等。
步骤202:终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否为联机PIN验证,如果是,则执行步骤205,否则执行步骤203;
本实施例中,优选的,在联机PIN验证和脱机PIN验证中优先选择联机PIN验证,如果不能执行联机PIN验证,则执行脱机PIN验证,当判定当前持卡人验证方法的编码的第一位至第六位的值为000010时,则为联机PIN验证;
步骤203:终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否为脱机PIN验证,如果是,则执行步骤204,否则执行步骤205;
本实施例中,脱机PIN验证,具体包括:脱机明文PIN、脱机密文PIN、脱机明文PIN+签名、脱机密文PIN+签名;
其中,当判定当前持卡人验证记录的编码的第一位至第六位的值为000100或000101时,则当前持卡人验证记录的编码对应的脱机PIN验证为脱机明文PIN。
步骤204:终端判断是否能够支持脱机PIN验证的当前持卡人验证方法,如果是,则执行步骤206,否则执行步骤205;
具体的,终端通过判断自身是否支持脱机PIN验证且判断密码键盘是否能够正常工作来决定是否能够支持脱机PIN类型的当前持卡人验证方法,如果终端不支持脱机PIN验证或密码键盘不能正常工作时,则不支持,执行步骤205;
步骤205:终端设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,持卡人验证失败,进入交易流程;
具体为:终端设置终端验证结果的“要求输入PIN,但密码键盘不存在或出故障”位为1。
步骤206:终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否为脱机PIN验证,如果是,则执行脱机PIN验证处理,否则执行步骤207;
步骤207:终端判断当前持卡人验证记录的编码是否为联机密文PIN,如果是,则执行联机密文PIN验证处理,否则执行其他验证方法;
本实施例中,步骤206和步骤207无先后顺序,可同时执行。
实施例4
本发明实施例4提供的是执行脱机PIN验证处理的具体操作,如图4所示,包括:
步骤301:终端向卡片发送取数据命令,接收卡片返回的取数据命令响应数据;
步骤302:终端判断从取数据命令响应数据中是否能够获取到PIN重试计数器的值,如果是,则执行步骤303,否则执行步骤305;
本实施例中,还包括:如果终端判断取数据命令响应数据中不包含PIN重试计数器的值,则表示PIN重试计数器为卡片私有数据,则终端跳过PIN重试计数器检查,提示输入PIN,即执行步骤305。
步骤303:终端判断PIN重试计数器的值是否为0,如果是,则执行步骤304,否则执行步骤305;
本实施例中,优选的,当PIN重试计数器的值为0时,表示没有剩余的PIN输入次数,除此之外,还可以预先设置PIN输入次数最多为3次,则当PIN重试计数器的值达到3时也表示没有剩余的PIN输入次数。
步骤304:终端设置终端验证结果为PIN重试次数超限,脱机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果的PIN重试次数超限为1。
步骤305:终端提示输入PIN码;
本步骤之前还包括:当终端判定PIN重试计数器的值为1时,还包括:终端提示“最后一次机会”。
步骤306:终端判断密码键盘是否正常工作,如果是,则执行步骤308,否则执行步骤307;
步骤307:终端设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,脱机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果的“要求输入PIN,但密码键盘不存在或出故障”位为1。
步骤308:终端判断是否直接接收到确认键按下,如果是,则执行步骤309,否则执行步骤310;
步骤309:终端设置终端验证结果为要求输入PIN,但没有输入PIN,脱机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果的“要求输入PIN,但没有输入PIN”位为1。
步骤310:终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否为脱机密文PIN验证,如果是,则执行步骤311,否则根据用户输入的PIN码生成PIN码验证命令,执行步骤314;
步骤311:终端恢复PIN加密的公钥,判断是否恢复成功,如果是,则执行步骤312,否则脱机PIN验证失败,结束持卡人验证,进入交易流程;
步骤312:终端向卡片发送取随机数命令,接收卡片返回的随机数;
步骤313:终端生成随机数,使用恢复的PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,执行步骤314;
步骤314:终端向卡片发送PIN码验证命令,接收卡片返回的状态码;
本实施例中,如果终端与密码键盘集成在一个安全的防篡改设备中,且脱机明文PIN是直接从密码键盘传到终端,则当当前持卡人验证方法为脱机明文PIN验证时,不要求对PIN加密,明文PIN可直接从密码键盘传送至终端;
如果终端与密码键盘是分离的两个设备,或者明文PIN不是直接从密码键盘传到终端,则密码键盘要求用密钥对PIN加密后传给终端,终端再采用同样的密钥解密,将得到的明文PIN传给卡片。
步骤315:终端判断接收到的状态码,如果是第一预设值,则返回步骤306,如果是第二预设值,则执行步骤317,如果是第三预设值,则执行步骤316,否则结束持卡人验证,不进入交易流程;
本实施例中,优选的,第一预设值为0x63cx且x大于0,其中,x为剩余PIN输入次数,表示PIN码错误,第二预设值为0x9000,表示PIN码正确,第三预设值为0x63c0或0x6983或0x6984,其中,0x63c0表示超过PIN码输入上限,0x6983或0x6984表示前一次验证的PIN次数超过上限;
进一步的,当状态码为第一预设值时,还包括:显示密码错误,然后返回步骤306显示输入PIN码。
步骤316:终端设置终端验证结果为PIN重试次数超限,脱机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果的PIN重试次数超限位为1;
本实施例中,当脱机PIN验证失败时,还包括显示密码错误。
步骤317:终端设置持卡人验证结果为成功,脱机PIN验证成功,结束持卡人验证,进入交易流程;
本实施例中,当脱机PIN验证成功时,还包括显示密码正确。
实施例5
本发明实施例5提供的是执行联机密文PIN验证处理的具体操作,如图5所示,包括:
步骤401:终端提示输入PIN码;
步骤402:终端判断密码键盘是否正常工作,如果是,则执行步骤404,否则执行步骤403;
步骤403:终端设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作,联机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果的“要求PIN输入,但密码键盘不存在或不工作”位为1。
步骤404:终端判断是否直接接收到确认键按下,如果是,则执行步骤405,否则执行步骤406;
步骤405:终端设置终端验证结果为要求输入PIN,但没有输入PIN,联机PIN验证失败,结束持卡人验证,进入交易流程;
具体为:终端设置终端验证结果中的“要求输入PIN,但没有输入PIN”位为1。
步骤406:终端接收用户输入的PIN码,对输入的PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
步骤407:终端设置持卡人验证结果为未知,设置终端验证结果为联机PIN输入;
具体为:终端设置持卡人验证结果为未知,设置终端验证结果的“联机PIN输入”位为1。
步骤408:终端根据联机密文PIN生成验证信息,并上送至后台服务器,等待接收后台服务器的验证结果;
具体的,终端根据联机密文PIN、持卡人验证结果和终端验证结果生成验证结果;
本实施例中,后台服务器接收到验证信息后,根据验证信息获知持卡人验证方法为联机密文PIN验证,使用密钥对验证信息中的联机密文PIN进行解密,得到明文PIN,判断得到的明文PIN与服务器中保存的PIN是否相同,如果是,则验证成功,向终端返回验证成功的验证结果,否则验证失败,向终端返回验证失败的验证结果;
步骤409:终端判断接收到的后台服务器返回的验证结果,如果验证成功,则联机PIN验证成功,如果验证失败,则联机PIN验证失败。
实施例6
本发明实施例6提供的是执行其他验证方法的具体操作,具体包括:
(1)当前持卡人验证方法为签名时:
终端设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知,持卡人验证成功,进入交易流程。
(2)当前持卡人验证方法为签名与PIN验证结合验证时:
步骤1:终端分别执行签名的具体操作和PIN验证的具体操作,判断两种操作是否均为成功,如果是,则执行步骤2,否则设置持卡人验证结果为失败,结束持卡人验证,进入交易流程;
步骤2:终端判断两种方法对应的持卡人验证结果中是否存在未知,如果是,则设置持卡人验证结果为未知,结束,否则设置持卡人验证结果为成功,结束持卡人验证,进入交易流程。
(3)当前持卡人验证方法为无需持卡人验证时,终端设置持卡人验证结果为成功,结束持卡人验证,进入交易流程。
(4)当前持卡人验证方法为持卡人证件出示时,
终端向卡片发送读应用数据命令,接收卡片返回的响应数据,从响应数据中获取持卡人证件类型及号码并显示在屏幕上,并提示服务人员要求持卡人出示相应证件,比较证件号码与终端屏幕显示的号码是否一致,以及检查证件与持卡人本人是否一致,如果均是,则设置持卡人验证结果为成功,进入交易流程,否则设置持卡人验证结果为失败,进入交易流程。
(5)当前持卡人验证方法为无需持卡人证件出示时,设置持卡人验证结果为成功,进入交易流程。
实施例7
本发明实施例7提供了一种检查持卡人身份的终端,如图6所示,包括:
读卡模块101,用于从卡片中获取持卡人验证方法列表;
第一获取模块102,用于从读卡模块101中读取到的持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
第一判断模块103,用于判断是否满足第一获取模块102获取到的当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法;
持卡人验证模块104,用于当第一判断模块103判断为是时,执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功;
第二判断模块105,用于当第一判断模块103判断为否时,判断持卡人验证方法列表中是否还有其他未处理的持卡人验证记录;
第二获取模块106,用于当第二判断模块105判断为是时,从持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,触发第一判断模块103。
本实施例中,该终端还包括第三判断模块和设置模块;
第三判断模块,用于判断是否支持持卡人验证,判断为是时,触发第一获取模块102,判断为否时,触发设置模块;
设置模块,用于将持卡人验证结果设置为不能执行持卡人验证。
具体的,第三判断模块,具体包括发送单元、接收单元、获取单元、判断单元和设置单元;
发送单元,用于向卡片发送应用初始化命令;
接收单元,用于接收卡片返回的应用初始化响应数据;
获取单元,用于从接收单元接收到的应用初始化响应数据中获取应用交互特征;
判断单元,用于判断获取单元获取到的应用交互特征是否支持持卡人验证,判断为是时,触发读卡模块,判断为否时,触发设置单元;
设置单元,用于将持卡人验证结果设置为不能执行持卡人验证。
进一步的,第一获取单元,具体包括发送单元、接收单元和获取单元;
发送单元,用于向卡片发送读取应用数据命令;
接收单元,用于接收卡片返回的响应数据;
获取单元,用于从接收单元接收到的命令响应数据中获取持卡人验证方法列表,从持卡人验证方法列表中获取当前持卡人验证记录。
其中,第一判断模块103,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元和第一设置单元;
第一判断单元,用于判断当前持卡人验证记录的执行条件,当判断为第一预设条件时,触发第四判断单元,当判断为第二预设条件时,触发第二判断单元,当判断为其他预设条件时,触发第三判断单元,判断为否时,触发第二判断模块105;
第二判断单元,用于判断是否支持当前持卡人验证记录的编码,判断为是时,触发持卡人验证模块104,判断为否时,触发第二判断模块105;
第三判断单元,用于判断是否能够执行当前持卡人验证记录的执行条件,判断为是时,触发第四判断单元,判断为否时,触发第二判断模块105;
第四判断单元,用于判断是否识别当前持卡人验证记录的编码,判断为是时,触发持卡人验证模块104,判断为否时,触发第一设置单元;
第一设置单元,用于设置终端验证结果为未识别持卡人验证方法,触发第二判断模块105。
进一步的,
第二判断单元,具体用于判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,判断为是时,触发持卡人验证模块104,判断为否时,触发第二判断模块105。
第三判断单元,具体包括第一判断子模块和第二判断子模块;
第一判断子模块,用于判断当前持卡人验证记录的执行条件是否有效,判断为是时,触发第二判断子模块,判断为否时,触发第二判断模块105;
第二判断子模块,用于判断是否满足当前持卡人验证记录的执行条件,判断为是时,触发第四判断单元,判断为否时,触发第二判断模块105。
其中,第一判断模块103,还包括第五判断单元和第二设置单元;
第五判断单元,用于判断当前持卡人验证记录的编码是否为失败,判断为是时,触发第二设置单元,判断为否时,触发第四判断单元;
第二设置单元,用于设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行。
本实施例中,终端还包括第四判断模块;
第四判断模块,用于根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,判断为是时,触发第二判断模块105,判断为否时,持卡人验证失败。
其中,第四判断模块,具体用于判断当前持卡人验证记录的编码中预设位上的值是否为预设值,判断为是时,触发第二判断模块105,判断为否时,持卡人验证失败。
本实施例中,持卡人验证模块104,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元、设置单元、第一执行单元、第二执行单元和第三执行单元;
第一判断单元,用于判断是否具有完成持卡人验证的硬件和软件条件,判断为是时,触发第四判断单元,判断为否时,触发第二判断单元;
第二判断单元,用于判断当前持卡人验证记录的编码,判断为联机PIN验证时,触发设置单元,判断为脱机PIN验证时,触发第三判断单元;
第三判断单元,用于判断是否能够支持当前持卡人验证记录的编码对应的脱机PIN验证,判断为是时,触发第四判断单元,判断为否时,触发设置单元;
设置单元,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,触发第二判断模块105;
第四判断单元,用于判断当前持卡人验证记录的编码的类型,判断为脱机PIN验证时,触发第一执行单元,判断为联机密文PIN验证时,触发第二执行单元,判断为否时,触发第三执行单元;
第一执行单元,用于执行脱机PIN验证;
第二执行单元,用于执行联机密文PIN验证;
第三执行单元,用于执行其他验证方法。
本实施例中,持卡人验证模块104,具体包括提示子模块、第一判断子模块、生成子模块、处理子模块、发送子模块、接收子模块和第二判断子模块;
提示子模块,用于提示输入PIN码;
第一判断子模块,用于判断当前持卡人验证方法是否为脱机密文PIN验证,判断为是时,触发处理子模块,判断为否时,触发生成子模块;
生成子模块,用于根据用户输入的PIN码生成PIN码验证命令,触发发送子模块;
处理子模块,用于恢复PIN加密的公钥,使用PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,触发发送子模块;
发送子模块,用于向卡片发送PIN码验证命令;
接收子模块,用于接收卡片返回的状态码;
第二判断子模块,用于判断接收子模块接收到的状态码,判断为第一预设值时,触发提示子模块,判断为第二预设值时,脱机PIN验证成功,判断为第三预设值时,脱机PIN验证失败。
其中,持卡人验证模块104,还包括第三判断子模块、第四判断子模块和第一设置子模块;
发送子模块,还用于向卡片发送取数据命令;
接收子模块,还用于接收卡片返回的取数据命令响应数据;
第三判断子模块,用于判断接收子模块接收到的取数据响应数据中是否能够获取到PIN重试计数器的值,判断为是时,触发第四判断子模块,判断为否时,触发提示子模块;
第四判断子模块,用于判断PIN重试计数器的值是否为阈值,判断为是时,触发第一设置子模块,判断为否时,触发提示子模块;
第一设置子模块,用于设置终端验证结果为PIN重试次数超限。
进一步的,持卡人验证模块104,还包括第五判断子模块、第二设置子模块、第六判断子模块和第三设置子模块;
第五判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发第六判断子模块,判断为否时,触发第二设置子模块;
第二设置子模块,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障;
第六判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发第三设置子模块,判断为否时,触发第一判断子模块;
第三设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
其中,处理子模块,具体包括发送子单元、接收子单元、生成子单元和加密子单元;
发送子单元,用于向卡片发送取随机数命令;
接收子单元,用于接收卡片返回的随机数;
生成子单元,用于生成随机数;
加密子单元,用于使用PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文。
本实施例中,持卡人验证模块104,具体包括:提示子模块、接收子模块、处理子模块、发送子模块和第一判断子模块;
提示子模块,用于提示输入PIN码;
接收子模块,用于接收用户输入的PIN码;接收后台服务器的验证结果;
处理子模块,用于对接收子模块接收到的PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
发送子模块,用于根据联机密文PIN生成验证信息,并上送至后台服务器;
第一判断子模块,用于判断接收子模块接收到的后台服务器返回的验证结果,判断为是时,联机PIN验证成功,判断为否时,联机PIN验证失败。
本实施例中,持卡人验证模块104,还包括:第二判断子模块、第一设置子模块、第三判断子模块和第二设置子模块;
第二判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发第三判断子模块,判断为否时,触发第一设置子模块;
第一设置子模块,用于设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作;
第三判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发第二设置子模块,判断为否时,触发处理子模块;
第二设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
本实施例中,持卡人验证模块104,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为签名时,设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知。
本实施例中,持卡人验证模块104,具体包括第一判断子模块、第二判断子模块、第一设置子模块、第二设置子模块和第三设置子模块;
第一判断子模块,用于当当前持卡人验证记录的编码对应的持卡人验证方法为签名与PIN验证结合验证时,分别执行签名和PIN验证,判断持卡人验证是否均为成功,判断为是时,触发第二判断子模块,判断为否时,触发第一设置子模块;
第一设置子模块,用于设置持卡人验证结果为失败;
第二判断子模块,用于判断两种方法对应的持卡人验证结果中是否存在未知,判断为是时,触发第二设置子模块,判断为否时,触发第三设置子模块;
第二设置子模块,用于设置持卡人验证结果为未知;
第三设置子模块,用于设置持卡人验证结果为成功。
本实施例中,持卡人验证模块104,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人验证时,设置持卡人验证结果为成功。
本实施例中,持卡人验证模块104,具体包括发送子模块、接收子模块、显示子模块、提示子模块、第一设置子模块和第二设置子模块;
发送子模块,用于当当前持卡人验证记录的编码对应的持卡人验证方法为持卡人证件出示时,向卡片发送读应用数据命令;
接收子模块,用于接收卡片返回的响应数据;
显示子模块,用于从接收子模块接收到的响应数据中获取持卡人证件类型及号码并显示在屏幕上;
提示子模块,用于提示服务人员要求持卡人出示相应证件;
第一设置子模块,用于当接收到服务人员设置成功信息时,设置持卡人验证结果为成功;
第二设置子模块,用于当接收到服务人员设置失败信息时,设置持卡人验证结果为失败。
本实施例中,持卡人验证模块104,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人证件出示时,设置持卡人验证结果为成功。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (44)

1.一种检查持卡人身份的工作方法,其特征在于,包括:
步骤S1:终端从卡片中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
步骤S2:所述终端判断是否满足当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法,如果均为是,则执行步骤S3,否则执行步骤S4;
步骤S3:所述终端执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功,如果是,则持卡人验证成功,结束持卡人验证,否则执行步骤S4;
步骤S4:所述终端判断所述持卡人验证方法列表中是否还有其他未处理的持卡人验证记录,如果是,则执行步骤S5,否则持卡人验证失败,结束持卡人验证;
步骤S5:所述终端从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,返回步骤S2。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:所述终端判断是否支持持卡人验证,如果是,则执行步骤S1,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证。
3.根据权利要求2所述的方法,其特征在于,所述判断是否支持持卡人验证,具体为:所述终端向卡片发送应用初始化命令,接收所述卡片返回的应用初始化响应数据,从所述应用初始化响应数据中获取应用交互特征,判断所述应用交互特征是否支持持卡人验证,如果是,则执行步骤S1,否则将持卡人验证结果设置为不能执行持卡人验证,结束持卡人验证。
4.根据权利要求1所述的方法,其特征在于,所述步骤S1具体为:所述终端向卡片发送读取应用数据命令,接收所述卡片返回的命令响应数据,从所述命令响应数据中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2具体为:
步骤a1:所述终端判断当前持卡人验证记录的执行条件,如果是第一预设条件,则执行步骤a4,如果是第二预设条件,则执行步骤a2,如果是其他预设条件,则执行步骤a3,否则执行步骤S4;
步骤a2:所述终端判断是否支持当前持卡人验证记录的编码,如果是,则执行步骤S3,否则执行步骤S4;
步骤a3:所述终端判断是否能够执行当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4;
步骤a4:所述终端判断是否识别当前持卡人验证记录的编码,如果是,则执行步骤S3,否则设置终端验证结果为未识别持卡人验证方法,执行步骤S4。
6.根据权利要求5所述的方法,其特征在于,所述步骤a2具体为:所述终端判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,如果是,则执行步骤S3,否则执行步骤S4。
7.根据权利要求5所述的方法,其特征在于,所述步骤a3具体包括:
步骤a3-1:所述终端判断当前持卡人验证记录的执行条件是否有效,如果是,则执行步骤a3-2,否则执行步骤S4;
步骤a3-2:所述终端判断是否满足当前持卡人验证记录的执行条件,如果是,则执行步骤a4,否则执行步骤S4。
8.根据权利要求5或7所述的方法,其特征在于,所述步骤a4之前还包括:
步骤b1:所述终端判断当前持卡人验证记录的编码是否为失败,如果是,则执行步骤b2,否则执行步骤a4;
步骤b2:所述终端设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行,结束持卡人验证。
9.根据权利要求1所述的方法,其特征在于,所述步骤S3与所述步骤S4之间还包括:所述终端根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证。
10.根据权利要求9所述的方法,其特征在于,所述根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,具体为:所述终端判断当前持卡人验证记录的编码中预设位上的值是否为预设值,如果是,则执行步骤S4,否则持卡人验证失败,结束持卡人验证。
11.根据权利要求1所述的方法,其特征在于,所述步骤S3中,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
步骤S3-0:所述终端判断是否具有完成持卡人验证的硬件和软件条件,如果是,则执行步骤S3-4,否则执行步骤S3-1;
步骤S3-1:所述终端判断当前持卡人验证记录的编码对应的持卡人验证方法,如果是联机PIN验证,则执行步骤S3-3,如果是脱机PIN验证,则执行步骤S3-2;
步骤S3-2:所述终端判断是否能够支持当前持卡人验证记录的编码对应的脱机PIN验证,如果是,则执行步骤S3-4,否则执行步骤S3-3;
步骤S3-3:所述终端设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,执行步骤S4;
步骤S3-4:所述终端判断当前持卡人验证记录的编码的类型,如果是脱机PIN验证,则执行脱机PIN验证,如果是联机密文PIN验证,则执行联机密文PIN验证,否则执行其他验证方法。
12.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:当前持卡人验证记录的编码对应的持卡人验证方法为脱机PIN验证,执行以下操作:
步骤c1:所述终端提示输入PIN码;
步骤c2:所述终端判断当前持卡人验证方法是否为脱机密文PIN验证,如果是,则执行步骤c3,否则根据用户输入的PIN码生成PIN码验证命令,执行步骤c4;
步骤c3:所述终端恢复PIN加密的公钥,使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,执行步骤c4;
步骤c4:所述终端向卡片发送PIN码验证命令,接收卡片返回的状态码,判断接收到的状态码,如果是第一预设值,则返回步骤c1,如果是第二预设值,则脱机PIN验证成功,结束持卡人验证,如果是第三预设值,则脱机PIN验证失败,结束持卡人验证。
13.根据权利要求12所述的方法,其特征在于,所述步骤c1之前,还包括:
步骤d1:所述终端向所述卡片发送取数据命令,接收所述卡片返回的取数据命令响应数据,判断从所述取数据命令响应数据中是否能够获取到PIN重试计数器的值,如果是,则执行步骤d2,否则执行步骤c1;
步骤d2:终端判断PIN重试计数器的值是否为阈值,如果是,则执行步骤d3,否则执行步骤c1;
步骤d3:终端设置终端验证结果为PIN重试次数超限,脱机PIN验证失败,结束持卡人验证。
14.根据权利要求12所述的方法,其特征在于,所述步骤c1与所述步骤c2之间还包括:
步骤e1:所述终端判断密码键盘是否正常工作,如果是,则执行步骤e2,否则设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,脱机PIN验证失败,结束持卡人验证;
步骤e2:所述终端判断是否直接接收到确认键按下,如果是,则设置终端验证结果为要求输入PIN,但没有输入PIN,脱机PIN验证失败,结束持卡人验证,否则执行步骤c2。
15.根据权利要求12所述的方法,其特征在于,所述步骤c3中,所述使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,具体为:
步骤f1:所述终端向所述卡片发送取随机数命令,接收卡片返回的随机数;
步骤f2:所述终端生成随机数,使用所述PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文。
16.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:当前持卡人验证记录的编码对应的持卡人验证方法为联机密文PIN验证,执行以下操作:
步骤g1:所述终端提示输入PIN码;
步骤g2:所述终端接收用户输入的PIN码,对所述PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
步骤g3:所述终端根据所述联机密文PIN生成验证信息,并上送至后台服务器,等待接收所述后台服务器的验证结果;
步骤g4:所述终端判断所述后台服务器返回的验证结果,如果验证成功,则联机PIN验证成功,如果验证失败,则联机PIN验证失败。
17.根据权利要求16所述的方法,其特征在于,所述步骤g1与所述步骤g2之间还包括:
步骤h1:所述终端判断密码键盘是否正常工作,如果是,则执行步骤h2,否则设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作,联机PIN验证失败,结束持卡人验证;
步骤h2:所述终端判断是否直接接收到确认键按下,如果是,则设置终端验证结果为要求输入PIN,但没有输入PIN,联机PIN验证失败,结束持卡人验证,否则执行步骤g2。
18.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为签名,所述终端设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知,持卡人验证成功。
19.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为签名与PIN验证结合验证,执行步骤i1至步骤i2;
步骤i1:所述终端分别执行签名和PIN验证,判断持卡人验证是否均为成功,如果是,则执行步骤i2,否则设置持卡人验证结果为失败,结束持卡人验证;
步骤i2:所述终端判断两种方法对应的持卡人验证结果中是否存在未知,如果是,则设置持卡人验证结果为未知,结束,否则设置持卡人验证结果为成功,结束持卡人验证。
20.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人验证,所述终端设置持卡人验证结果为成功,结束持卡人验证。
21.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为持卡人证件出示,所述终端向卡片发送读应用数据命令,接收所述卡片返回的响应数据,从响应数据中获取持卡人证件类型及号码并显示在屏幕上,并提示服务人员要求持卡人出示相应证件,当接收到服务人员设置成功信息时,设置持卡人验证结果为成功,当接收到服务人员设置失败信息时,设置持卡人验证结果为失败。
22.根据权利要求1所述的方法,其特征在于,所述执行当前持卡人验证记录的编码对应的持卡人验证方法,具体为:
当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人证件出示,终端设置持卡人验证结果为成功。
23.一种检查持卡人身份的终端,其特征在于,包括:
读卡模块,用于从卡片中获取持卡人验证方法列表;
第一获取模块,用于从所述读卡模块中读取到的持卡人验证方法列表中获取未处理的持卡人验证记录,作为当前持卡人验证记录;
第一判断模块,用于判断是否满足所述第一获取模块获取到的当前持卡人验证记录的执行条件,并判断是否支持当前持卡人验证记录的编码对应的持卡人验证方法;
持卡人验证模块,用于当所述第一判断模块判断为是时,执行当前持卡人验证记录的编码对应的持卡人验证方法,判断持卡人验证是否成功;
第二判断模块,用于当所述第一判断模块判断为否时,判断所述持卡人验证方法列表中是否还有其他未处理的持卡人验证记录;
第二获取模块,用于当所述第二判断模块判断为是时,从所述持卡人验证方法列表中获取未处理的持卡人验证记录,作为更新后的当前持卡人验证记录,触发所述第一判断模块。
24.根据权利要求23所述的终端,其特征在于,所述终端还包括第三判断模块和设置模块;
所述第三判断模块,用于判断是否支持持卡人验证,判断为是时,触发所述第一获取模块,判断为否时,触发所述设置模块;
所述设置模块,用于将持卡人验证结果设置为不能执行持卡人验证。
25.根据权利要求24所述的终端,其特征在于,所述第三判断模块,具体包括发送单元、接收单元、获取单元、判断单元和设置单元;
所述发送单元,用于向卡片发送应用初始化命令;
所述接收单元,用于接收所述卡片返回的应用初始化响应数据;
所述获取单元,用于从所述接收单元接收到的所述应用初始化响应数据中获取应用交互特征;
所述判断单元,用于判断所述获取单元获取到的所述应用交互特征是否支持持卡人验证,判断为是时,触发所述读卡模块,判断为否时,触发所述设置单元;
所述设置单元,用于将持卡人验证结果设置为不能执行持卡人验证。
26.根据权利要求23所述的终端,其特征在于,所述第一获取模块,具体包括发送单元、接收单元和获取单元;
所述发送单元,用于向卡片发送读取应用数据命令;
所述接收单元,用于接收所述卡片返回的命令响应数据;
所述获取单元,用于从所述接收单元接收到的所述命令响应数据中获取持卡人验证方法列表,从所述持卡人验证方法列表中获取当前持卡人验证记录。
27.根据权利要求23所述的终端,其特征在于,所述第一判断模块,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元和第一设置单元;
所述第一判断单元,用于判断当前持卡人验证记录的执行条件,当判断为第一预设条件时,触发所述第四判断单元,当判断为第二预设条件时,触发所述第二判断单元,当判断为其他预设条件时,触发所述第三判断单元,判断为否时,触发所述第二判断模块;
所述第二判断单元,用于判断是否支持当前持卡人验证记录的编码,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第二判断模块;
所述第三判断单元,用于判断是否能够执行当前持卡人验证记录的执行条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断模块;
所述第四判断单元,用于判断是否识别当前持卡人验证记录的编码,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第一设置单元;
所述第一设置单元,用于设置终端验证结果为未识别持卡人验证方法,触发所述第二判断模块。
28.根据权利要求27所述的终端,其特征在于,所述第二判断单元,具体用于判断当前持卡人验证记录的编码对应的持卡人验证方法是否在终端能力范围内,判断为是时,触发所述持卡人验证模块,判断为否时,触发所述第二判断模块。
29.根据权利要求27所述的终端,其特征在于,所述第三判断单元,具体包括第一判断子模块和第二判断子模块;
所述第一判断子模块,用于判断当前持卡人验证记录的执行条件是否有效,判断为是时,触发所述第二判断子模块,判断为否时,触发所述第二判断模块;
所述第二判断子模块,用于判断是否满足当前持卡人验证记录的执行条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断模块。
30.根据权利要求27或29所述的终端,其特征在于,所述第一判断模块,还包括第五判断单元和第二设置单元;
所述第五判断单元,用于判断当前持卡人验证记录的编码是否为失败,判断为是时,触发所述第二设置单元,判断为否时,触发所述第四判断单元;
所述第二设置单元,用于设置终端验证结果为持卡人验证不成功,设置终端状态信息为持卡人验证已执行。
31.根据权利要求23所述的终端,其特征在于,所述终端还包括第四判断模块;
所述第四判断模块,用于根据当前持卡人验证记录的编码,判断是否满足继续验证的条件,判断为是时,触发所述第二判断模块,判断为否时,持卡人验证失败。
32.根据权利要求31所述的终端,其特征在于,所述第四判断模块,具体用于判断当前持卡人验证记录的编码中预设位上的值是否为预设值,判断为是时,触发所述第二判断模块,判断为否时,持卡人验证失败。
33.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体包括第一判断单元、第二判断单元、第三判断单元、第四判断单元、设置单元、第一执行单元、第二执行单元和第三执行单元;
所述第一判断单元,用于判断是否具有完成持卡人验证的硬件和软件条件,判断为是时,触发所述第四判断单元,判断为否时,触发所述第二判断单元;
所述第二判断单元,用于判断当前持卡人验证记录的编码,判断为联机PIN验证时,触发所述设置单元,判断为脱机PIN验证时,触发所述第三判断单元;
所述第三判断单元,用于判断是否能够支持当前持卡人验证记录对应的脱机PIN验证,判断为是时,触发所述第四判断单元,判断为否时,触发所述设置单元;
所述设置单元,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障,触发所述第二判断模块;
所述第四判断单元,用于判断当前持卡人验证记录的编码的类型,判断为脱机PIN验证时,触发所述第一执行单元,判断为联机密文PIN验证时,触发所述第二执行单元,判断为否时,触发所述第三执行单元;
所述第一执行单元,用于执行脱机PIN验证;
所述第二执行单元,用于执行联机密文PIN验证;
所述第三执行单元,用于执行其他验证方法。
34.根据权利要求1所述的终端,其特征在于,所述持卡人验证模块,具体包括提示子模块、第一判断子模块、生成子模块、处理子模块、发送子模块、接收子模块和第二判断子模块;
所述提示子模块,用于提示输入PIN码;
所述第一判断子模块,用于判断当前持卡人验证方法是否为脱机密文PIN验证,判断为是时,触发所述处理子模块,判断为否时,触发所述生成子模块;
所述生成子模块,用于根据用户输入的PIN码生成PIN码验证命令,触发所述发送子模块;
所述处理子模块,用于恢复PIN加密的公钥,使用所述PIN加密的公钥对用户输入的PIN码进行加密,得到PIN密文,根据PIN密文得到PIN码验证命令,触发所述发送子模块;
所述发送子模块,用于向卡片发送PIN码验证命令;
所述接收子模块,用于接收所述卡片返回的状态码;
所述第二判断子模块,用于判断所述接收子模块接收到的状态码,判断为第一预设值时,触发所述提示子模块,判断为第二预设值时,脱机PIN验证成功,判断为第三预设值时,脱机PIN验证失败。
35.根据权利要求34所述的终端,其特征在于,所述持卡人验证模块,还包括第三判断子模块、第四判断子模块和第一设置子模块;
所述发送子模块,还用于向所述卡片发送取数据命令;
所述接收子模块,还用于接收所述卡片返回的取数据命令响应数据;
所述第三判断子模块,用于判断所述接收子模块接收到的所述取数据命令响应数据中是否能够获取到PIN重试计数器的值,判断为是时,触发所述第四判断子模块,判断为否时,触发所述提示子模块;
所述第四判断子模块,用于判断PIN重试计数器的值是否为阈值,判断为是时,触发所述第一设置子模块,判断为否时,触发所述提示子模块;
所述第一设置子模块,用于设置终端验证结果为PIN重试次数超限。
36.根据权利要求34所述的终端,其特征在于,所述持卡人验证模块,还包括第五判断子模块、第二设置子模块、第六判断子模块和第三设置子模块;
所述第五判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发所述第六判断子模块,判断为否时,触发所述第二设置子模块;
所述第二设置子模块,用于设置终端验证结果为要求输入PIN,但密码键盘不存在或出故障;
所述第六判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发所述第三设置子模块,判断为否时,触发所述第一判断子模块;
所述第三设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
37.根据权利要求34所述的终端,其特征在于,所述处理子模块,具体包括发送子单元、接收子单元、生成子单元和加密子单元;
所述发送子单元,用于向所述卡片发送取随机数命令;
所述接收子单元,用于接收卡片返回的随机数;
所述生成子单元,用于生成随机数;
所述加密子单元,用于使用所述PIN加密的公钥对用户输入的PIN码、终端产生的随机数和接收到的卡片的随机数进行加密,得到PIN密文。
38.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体包括:提示子模块、接收子模块、处理子模块、发送子模块和第一判断子模块;
所述提示子模块,用于提示输入PIN码;
所述接收子模块,用于接收用户输入的PIN码;接收后台服务器的验证结果;
所述处理子模块,用于对所述接收子模块接收到的所述PIN码进行数据格式化,与主账号数据进行按位异或,然后用密钥对异或结果进行加密,得到联机密文PIN;
所述发送子模块,用于根据所述联机密文PIN生成验证信息,并上送至后台服务器;
所述第一判断子模块,用于判断所述接收子模块接收到的所述后台服务器返回的验证结果,判断为是时,联机PIN验证成功,判断为否时,联机PIN验证失败。
39.根据权利要求38所述的终端,其特征在于,所述持卡人验证模块,还包括:第二判断子模块、第一设置子模块、第三判断子模块和第二设置子模块;
所述第二判断子模块,用于判断密码键盘是否正常工作,判断为是时,触发所述第三判断子模块,判断为否时,触发所述第一设置子模块;
所述第一设置子模块,用于设置终端验证结果为要求PIN输入,但密码键盘不存在或不工作;
所述第三判断子模块,用于判断是否直接接收到确认键按下,判断为是时,触发所述第二设置子模块,判断为否时,触发所述处理子模块;
所述第二设置子模块,用于设置终端验证结果为要求输入PIN,但没有输入PIN。
40.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体用于当前持卡人验证记录的编码对应的持卡人验证方法为签名,设置在收据上打印带有签名行的凭单,接收持卡人签名,设置持卡人验证结果为未知。
41.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体包括第一判断子模块、第二判断子模块、第一设置子模块、第二设置子模块和第三设置子模块;
所述第一判断子模块,用于当前持卡人验证记录的编码对应的持卡人验证方法为签名与PIN验证结合验证,分别执行签名和PIN验证,判断持卡人验证是否均为成功,判断为是时,触发所述第二判断子模块,判断为否时,触发所述第一设置子模块;
所述第一设置子模块,用于设置持卡人验证结果为失败;
所述第二判断子模块,用于判断两种方法对应的持卡人验证结果中是否存在未知,判断为是时,触发所述第二设置子模块,判断为否时,触发所述第三设置子模块;
所述第二设置子模块,用于设置持卡人验证结果为未知;
所述第三设置子模块,用于设置持卡人验证结果为成功。
42.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人验证时,设置持卡人验证结果为成功。
43.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体包括发送子模块、接收子模块、显示子模块、提示子模块、第一设置子模块和第二设置子模块;
所述发送子模块,用于当当前持卡人验证记录的编码对应的持卡人验证方法为持卡人证件出示时,向卡片发送读应用数据命令;
所述接收子模块,用于接收所述卡片返回的响应数据;
所述显示子模块,用于从所述接收子模块接收到的响应数据中获取持卡人证件类型及号码并显示在屏幕上;
所述提示子模块,用于提示服务人员要求持卡人出示相应证件;
所述第一设置子模块,用于当接收到服务人员设置成功信息时,设置持卡人验证结果为成功;
所述第二设置子模块,用于当接收到服务人员设置失败信息时,设置持卡人验证结果为失败。
44.根据权利要求23所述的终端,其特征在于,所述持卡人验证模块,具体用于当当前持卡人验证记录的编码对应的持卡人验证方法为无需持卡人证件出示时,设置持卡人验证结果为成功。
CN201511000921.9A 2015-12-28 2015-12-28 一种检查持卡人身份的终端及其工作方法 Active CN105678547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511000921.9A CN105678547B (zh) 2015-12-28 2015-12-28 一种检查持卡人身份的终端及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511000921.9A CN105678547B (zh) 2015-12-28 2015-12-28 一种检查持卡人身份的终端及其工作方法

Publications (2)

Publication Number Publication Date
CN105678547A true CN105678547A (zh) 2016-06-15
CN105678547B CN105678547B (zh) 2019-07-26

Family

ID=56189585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511000921.9A Active CN105678547B (zh) 2015-12-28 2015-12-28 一种检查持卡人身份的终端及其工作方法

Country Status (1)

Country Link
CN (1) CN105678547B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483456A (zh) * 2017-08-25 2017-12-15 北京元心科技有限公司 身份认证方法及装置
CN111091379A (zh) * 2019-12-25 2020-05-01 飞天诚信科技股份有限公司 一种对智能卡分段操作的实现方法及系统
CN111199585A (zh) * 2020-01-13 2020-05-26 中国铁道科学研究院集团有限公司电子计算技术研究所 一种检票方法、装置、系统、存储介质和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130001304A1 (en) * 2009-11-27 2013-01-03 Jinyao Xu Payment system and method of ic card and a multi-application ic card as well as a payment terminal
CN103095659A (zh) * 2011-11-03 2013-05-08 北京神州泰岳软件股份有限公司 一种互联网中账户登录方法和系统
CN104113411A (zh) * 2013-04-22 2014-10-22 中国银联股份有限公司 一种ic卡脱机pin验证方法以及ic卡脱机验证系统
CN104965646A (zh) * 2015-06-02 2015-10-07 深圳市金立通信设备有限公司 一种操作指令的响应处理方法和终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130001304A1 (en) * 2009-11-27 2013-01-03 Jinyao Xu Payment system and method of ic card and a multi-application ic card as well as a payment terminal
CN103095659A (zh) * 2011-11-03 2013-05-08 北京神州泰岳软件股份有限公司 一种互联网中账户登录方法和系统
CN104113411A (zh) * 2013-04-22 2014-10-22 中国银联股份有限公司 一种ic卡脱机pin验证方法以及ic卡脱机验证系统
CN104965646A (zh) * 2015-06-02 2015-10-07 深圳市金立通信设备有限公司 一种操作指令的响应处理方法和终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483456A (zh) * 2017-08-25 2017-12-15 北京元心科技有限公司 身份认证方法及装置
CN111091379A (zh) * 2019-12-25 2020-05-01 飞天诚信科技股份有限公司 一种对智能卡分段操作的实现方法及系统
CN111091379B (zh) * 2019-12-25 2023-04-18 飞天诚信科技股份有限公司 一种对智能卡分段操作的实现方法及系统
CN111199585A (zh) * 2020-01-13 2020-05-26 中国铁道科学研究院集团有限公司电子计算技术研究所 一种检票方法、装置、系统、存储介质和计算机设备
CN111199585B (zh) * 2020-01-13 2022-04-12 中国铁道科学研究院集团有限公司电子计算技术研究所 一种检票方法、装置、系统、存储介质和计算机设备

Also Published As

Publication number Publication date
CN105678547B (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US8407463B2 (en) Method of authentication of users in data processing systems
CN110245482B (zh) 认证方法和系统
EP2043036B1 (en) System, method and device for enabling interaction with dynamic security
CN101170554A (zh) 资讯安全传递系统
JPH0675251B2 (ja) 伝送路を介して外部媒体に接続された携帯可能物体を外部媒体によって認証する方法、及び該方法を実施するシステム
CN104820944A (zh) 一种银行自助终端认证方法、系统及装置
CN103036681B (zh) 一种密码安全键盘装置及系统
EP2040228A1 (en) System, method and device for enabling secure and user-friendly interaction
CN104464117A (zh) 基于动态二维码银行自动柜员机取款方法及系统
CN101334884A (zh) 提高转账安全性的方法和系统
CN109190343B (zh) 一种基于指纹识别的身份验证安全认证系统
CN105678547A (zh) 一种检查持卡人身份的终端及其工作方法
CN104835039A (zh) 一种数据标签生成方法
CN107239936A (zh) 一种电子印章管理系统
CN101013944A (zh) 利用usb密匙输入/显示/传输用户信息的方法及装置
CN102640166B (zh) 一种采用生物特征信息验证的电子安全装置及其使用方法
US11240029B2 (en) Method of registration and access control of identity for third-party certification
CN111553678B (zh) 基于手机名片的二维码支付方法及其系统
CN106411523B (zh) 银行卡密码的生成方法、校验方法、设备以及系统
CN101933315B (zh) 可对抗木马程式采用用完即弃一次性密钥的加密认证键盘
CN110084021A (zh) 柜面终端、客户端、柜面数据交互方法及系统
CN109165490A (zh) 一种信息输入方法及装置
WO2017211243A1 (zh) 一种读卡系统和读卡方法
JP4904180B2 (ja) シンクライアントシステム、これに用いるサーバ、クライアント端末、セキュリティカード並びにデータ通信方法
KR101103189B1 (ko) 범용 가입자 식별 모듈 정보를 이용한 공인 인증서 발급방법 및 시스템과 이를 위한 기록매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant