CN104917763B - 一种pin码缓存方法 - Google Patents
一种pin码缓存方法 Download PDFInfo
- Publication number
- CN104917763B CN104917763B CN201510309703.7A CN201510309703A CN104917763B CN 104917763 B CN104917763 B CN 104917763B CN 201510309703 A CN201510309703 A CN 201510309703A CN 104917763 B CN104917763 B CN 104917763B
- Authority
- CN
- China
- Prior art keywords
- pin code
- key devices
- client
- key
- information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种PIN码缓存方法,属于信息安全领域。所述方法包括PIN码绑定流程和交易流程,在PIN码绑定流程中,当客户端根据服务器端返回的密钥设备信息以及从密钥设备处查询到的PIN码状态判断出需要修改密钥设备的PIN码时,执行PIN码修改操作,并将修改后的PIN码的密文发给服务器端进行绑定;交易流程中,客户端从服务器端获取密文PIN码,与交易报文一起发给密钥设备进行校验签名。本发明的有益效果在于,能够抵御键盘钩子等类似和抵御网络页面的截获等行为,保证了密钥设备的使用便易性和安全性。
Description
技术领域
本发明涉及信息安全领域,尤其涉及的一种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、所述客户端根据用户输入的所述密钥设备当前的PIN码和为所述密钥设备重新设置的PIN码生成修改PIN码指令,向所述密钥设备发送所述修改PIN码指令;
步骤1-2、所述密钥设备验证所述修改PIN码指令中包含的所述密钥设备当前的PIN码,若验证通过则将所述修改PIN码指令中包含的为所述密钥设备重新设置的PIN码存储为所述密钥设备当前的PIN码,向所述客户端返回修改成功的PIN码修改结果;若验证未通过则向所述客户端返回修改失败的PIN码修改结果,所述客户端接收到失败的PIN码修改结果后返回步骤1-1。
所述客户端将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名,具体包括:
步骤2-1、所述客户端缓存服务器返回的密文PIN码;
步骤2-2、所述客户端根据一个交易报文和所述缓存的密文PIN码生成签名指令,将生成的签名指令发送给所述密钥设备进行校验签名;
步骤2-3、所述客户端判断是否还有未签名的交易报文,是则返回步骤2-2,否则清除所述缓存的密文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提供的一种PIN码缓存方法中的PIN码绑定流程的流程图;
图2为本发明实施例2提供的一种PIN码缓存方法中的PIN码绑定流程的流程图;
图3为本发明实施例2提供的一种PIN码缓存方法中的交易流程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供一种PIN码缓存方法,适用于包括密钥设备、客户端、服务器端的系统,所述方法包括PIN码绑定流程和交易流程,其中:
参见图1,PIN码绑定流程具体包括:
步骤S11、客户端向服务器端请求密钥设备信息,并根据服务器端返回的密钥设备信息查询对应密钥设备的PIN码状态;
步骤S12、客户端根据服务器端返回的密钥设备信息以及查询到的密钥设备的PIN码状态判断是否修改密钥设备的PIN码,是则执行步骤S13,否则PIN码绑定流程结束;
步骤S13、客户端执行密钥设备的PIN码修改操作,得到密钥设备的密文PIN码,将密钥设备的密文PIN码发送给服务器端进行绑定,PIN码绑定流程结束。
交易流程具体包括:
步骤S21、客户端接收交易请求,根据交易请求生成交易报文,并向服务器端请求密钥设备的密文PIN码;
步骤S22、客户端将交易报文和服务器端返回的密文PIN码发送给密钥设备进行校验签名。
本实施例中,客户端接收到的交易请求可能涉及一次或多次交易,客户端根据接收到的交易请求生成的交易报文可能为一个或多个,步骤S22可以具体包括:
步骤2-1、客户端缓存服务器端返回的密文PIN码;
步骤2-2、客户端根据一个交易报文和缓存的密文PIN码生成签名指令,将生成的签名指令发送给密钥设备进行校验签名;
步骤2-3、客户端判断是否还有未签名的交易报文,是则返回步骤2-2,否则清除缓存的密文PIN码。
实施例2
本发明实施例2提供一种PIN码缓存方法,适用于包括密钥设备、客户端、服务器端的系统,所述方法包括PIN码绑定流程和交易流程。
具体地,参见图2,PIN码绑定流程包括:
步骤101、客户端向服务器端发送获取密钥设备信息请求;
步骤102、服务器端根据获取密钥设备信息请求查询相应的密钥设备信息;
具体地,本实施例中,客户端向服务器端发送的获取密钥设备信息请求中包含用户信息,服务器端查询保存在服务器端的与用户信息对应的密钥设备信息;服务器端保存的与用户信息对应的密钥设备信息包括:密钥设备的识别信息和密钥设备的PIN码绑定信息;其中,密钥设备的识别信息是能够唯一识别密钥设备的信息,如密钥设备的序列号等;密钥设备的PIN码绑定信息是表示密钥设备在服务器端是否已绑定PIN码的信息,包括已绑定PIN码和未绑定PIN码。
步骤103、服务器端向客户端返回查询到的密钥设备信息;
步骤104、客户端向密钥设备发送查询PIN码状态指令;
具体地,步骤104包括:客户端根据密钥设备信息中的密钥设备的识别信息查询是否有相应的密钥设备与客户端建立连接,是则向相应的密钥设备发送查询PIN码状态指令,否则客户端提示密钥设备未连接。
步骤105、密钥设备向客户端返回密钥设备当前的PIN码状态;
具体地,密钥设备接收到查询PIN码状态指令后,对密钥设备中存储的预设标志和预设宏进行预设运算,若运算结果为第一预设运算结果,则密钥设备当前的PIN码状态为默认PIN码,密钥设备向客户端返回的密钥设备当前的PIN码状态为默认PIN码的应答,若运算结果为第二预设运算结果,则密钥设备当前的PIN码状态为非默认PIN码,密钥设备向客户端返回的当前的PIN码状态为非默认PIN码的应答;
优选地,本实施例中,预设标志为设备能力和状态标志,预设宏为CKF_USER_PIN_TO_BE_CHANGED,预设运算为与运算,第一预设运算结果为TRUE(非0),第二预设运算结果为FALSE(0)。
例如,若设备能力和状态标志为0x00c8040c,CKF_USER_PIN_TO_BE_CHANGED为0x00080000,进行与运算,运算结果为0x00080000即TRUE;若设备能力和状态标志为0x00c0040c,CKF_USER_PIN_TO_BE_CHANGED为0x00080000,进行与运算,运算结果为0x00000000即FALSE。
步骤106、客户端根据密钥设备信息和密钥设备当前的PIN码状态判断是否修改密钥设备的PIN码,是则执行步骤107,否则PIN码绑定流程结束;
优选地,步骤106包括:客户端判断是否密钥设备在服务器端已绑定PIN码,并且密钥设备当前的PIN码状态为非默认PIN码,是则判定不修改密钥设备的PIN码,否则判定修改密钥设备的PIN码;具体地,客户端根据服务器端返回的密钥设备信息中的密钥设备的PIN码绑定信息判断密钥设备在服务器端是否已绑定PIN码。
步骤107、客户端提示用户重新设置密钥设备的PIN码,并根据用户输入的设置信息生成修改PIN码指令;
优选地,本实施例中,用户输入的设置信息包括密钥设备当前的PIN码和为密钥设备重新设置的PIN码,客户端生成包含上述用户输入的设置信息的修改PIN码指令;
本实施例中,客户端生成修改PIN码指令之前,还可以包括检查为密钥设备重新设置的PIN码是否满足预设安全要求(如是否达到预设长度、是否包含字母等),是则生成修改PIN码指令,否则重新执行步骤107。
步骤108、客户端向密钥设备发送修改PIN码指令;
具体地,步骤108包括:客户端根据密钥设备的识别信息查询是否有相应的密钥设备与客户端建立连接,是则向相应的密钥设备发送修改PIN码指令,否则客户端提示密钥设备未连接。
步骤109、密钥设备根据修改PIN码指令执行PIN码修改操作;
步骤110、密钥设备向客户端返回PIN码修改结果;
本实施例中,步骤109~步骤110可以具体包括:密钥设备验证修改PIN码指令中包含的密钥设备当前的PIN码,若验证通过则将修改PIN码指令中包含的为密钥设备重新设置的PIN码存储为密钥设备当前的PIN码,向客户端返回修改成功的PIN码修改结果,若验证未通过则向客户端返回修改失败的PIN码修改结果;
更具体地,密钥设备可以将修改PIN码指令中包含的密钥设备当前的PIN码与密钥设备内部存储的PIN码进行比较,若一致则验证通过,用修改PIN码指令中包含的为密钥设备重新设置的PIN码替换密钥设备内部存储的PIN码,向客户端返回修改成功的PIN码修改结果,若不一致则验证未通过,向客户端返回修改失败的PIN码修改结果。
进一步地,将修改PIN码指令中包含的为密钥设备重新设置的PIN码存储为密钥设备当前的PIN码之前,还可以包括检查所述为密钥设备重新设置的PIN码是否满足预设安全要求,是则将所述为密钥设备重新设置的PIN码存储为密钥设备当前的PIN码,否则向客户端返回PIN码安全级别过低的PIN码修改结果,客户端接收到该PIN码修改结果后对用户进行提示,返回步骤107。
步骤111、客户端根据PIN码修改结果判断密钥设备的PIN码是否修改成功,是则向密钥设备发送修改PIN码状态指令,并执行步骤112,否则返回步骤107;
本实施例中,密钥设备接收到客户端发送的修改PIN码状态指令后,将密钥设备的PIN码状态更改为非默认PIN码;
优选地,密钥设备将其PIN码状态更改为非默认PIN码可以具体为:将设备能力和状态标志的第12~15位修改为0000(二进制);例如,修改以前,设备能力和状态标志为0x00c8040c,将其第12~15位修改为0000(二进制)得到0x00c0040c。
步骤112、客户端对用户输入的为密钥设备重新设置的PIN码进行加密得到密钥设备的密文PIN码,根据密钥设备的密文PIN码生成PIN码绑定请求;
具体地,客户端可以采用对称密钥或非对称密钥对用户输入的为密钥设备重新设置的PIN码进行加密。其中,对称密钥可以采用固定密钥,如对密钥设备的唯一标识信息(如密钥设备的序列号、用于签名的公钥值等)进行预设运算(如散列运算等)或预设处理(如函数处理等)得到的;或采用非固定密钥,如客户端在每次加密之前生成的随机数;非对称密钥可以采用密钥设备预先生成并存储的密钥对(如RSA密钥对等),客户端获取密钥设备中的公钥,用获取到的公钥对用户输入的为密钥设备重新设置的PIN码进行加密得到密钥设备的密文PIN码。其中,客户端获取密钥设备中的公钥的具体实现方式可以为:密钥设备与客户端建立连接之后,客户端的驱动将密钥设备中包含公钥的证书注册进IE;当要对用户输入的为密钥设备重新设置的PIN码进行加密时,客户端从被注册进IE的证书中获取公钥。
优选地,本实施例中,步骤112具体包括:
步骤112-1、客户端生成随机数;
步骤112-2、客户端将随机数作为密钥对用户输入的为密钥设备重新设置的PIN码进行加密,得到密钥设备的密文PIN码;
步骤112-3、客户端根据随机数、密钥设备的密文PIN码以及服务器端返回的密钥设备信息中的密钥设备的识别信息生成PIN码绑定请求。
步骤113、客户端向服务器端发送PIN码绑定请求;
步骤114、服务器端根据PIN码绑定请求进行PIN码绑定,更新对应的密钥设备信息;
具体地,客户端向服务器端发送的PIN码绑定请求中包含密钥设备的识别信息(也可以是用户信息)和密钥设备的密文PIN码;服务器端根据PIN码绑定请求进行PIN码绑定包括:服务器端将密钥设备的密文PIN码与密钥设备的识别信息(也可以是用户信息)对应存储;
优选地,本实施例中服务器端更新对应的密钥设备信息具体为:服务器端更新密钥设备的PIN码绑定信息为已绑定PIN码。
进一步地,当客户端采用非固定密钥对用户输入的为密钥设备重新设置的PIN码进行加密时,客户端向服务器端发送的PIN码绑定请求中还包含本次加密过程中作为密钥使用的随机数;服务器端接收到PIN码绑定请求后将随机数和密文PIN码与用户信息对应存储。
步骤115、服务器端向客户端返回绑定应答,PIN码绑定流程结束。
本实施例中,客户端接收到绑定应答后还可以包括:判断绑定是否成功,是则PIN码绑定流程结束,否则重新向服务器端发送PIN码绑定请求,直至PIN码绑定成功或绑定失败达到预设次数。
进一步地,本实施例中,客户端执行步骤104之前还可以包括:判断用户类型,若为预设用户类型则执行步骤104,否则PIN码绑定流程结束。
具体地,参见图3,交易流程包括:
步骤201、客户端向服务器端发送获取PIN码请求;
步骤202、服务器端根据获取PIN码请求查询相应的密钥设备的密文PIN码;
具体地,本实施例中,客户端向服务器端发送的获取密钥设备的密文PIN码请求中包含密钥设备的识别信息(也可以是用户信息),服务器端查询与密钥设备的识别信息(也可以是用户信息)对应存储的密钥设备的密文PIN码。
步骤203、服务器端向客户端返回查询到的密钥设备的密文PIN码;
进一步地,本实施例中,还包括:若服务器端未查询到相应的密钥设备的密文PIN码,则向服务器端返回错误提示信息,服务器端输出相应错误提示信息。
步骤204、客户端根据交易请求生成交易报文,根据交易报文和密钥设备的密文PIN码生成签名指令;
步骤205、客户端向密钥设备发送签名指令;
步骤206、密钥设备验证签名指令中包含的密钥设备的密文PIN码,若验证通过则执行步骤207,若验证未通过则执行步骤215;
本实施例中,密钥设备验证签名指令中包含的密钥设备的密文PIN码具体包括:密钥设备对签名指令中的密钥设备的密文PIN码进行解密得到密钥设备的明文PIN码,将处理结果与密钥设备内部存储的PIN码进行比较,若一致则验证通过,若不一致则验证未通过。
进一步地,当客户端采用非固定密钥对用户输入的为密钥设备重新设置的PIN码进行加密时:
步骤202中还包括服务器端根据获取密钥设备的密文PIN码请求查询相应的随机数;
步骤203中还包括服务器端向客户端返回查询到的随机数;
步骤204中,客户端根据交易报文、密钥设备的密文PIN码以及随机数生成签名指令;
相应地,密钥设备将签名指令中的随机数作为密钥对签名指令中的密钥设备的密文PIN码进行解密得到密钥设备的明文PIN码。
步骤207、密钥设备根据交易报文生成待确认信息,输出待确认信息,根据用户的按键操作生成签名指令应答;
具体地,若密钥设备检测到用户的确认按键操作,则对交易报文进行签名得到签名值,生成包含签名值的签名指令应答;若密钥设备检测到用户的取消按键操作,则生成包含取消信息的签名指令应答。
步骤208、密钥设备向客户端返回签名指令应答;
步骤209、客户端判断签名指令应答中是否包含签名值,是则执行步骤210,否则输出提示信息,交易流程结束;
步骤210、客户端根据交易报文和签名值生成交易请求;
步骤211、客户端向服务器端发送交易请求;
步骤212、服务器端根据接收到的交易请求执行交易操作;
步骤213、服务器端向客户端返回交易结果;
具体地,交易结果包括交易成功信息和交易失败信息;步骤212~步骤213可以包括:服务器端对签名值进行验签,若验签通过则根据交易报文执行交易,向客户端返回交易成功的交易结果;否则拒绝交易,向客户端返回交易失败的交易结果。
步骤214、客户端输出交易结果,交易流程结束;
步骤215、密钥设备向客户端返回PIN码验证失败信息;
步骤216、客户端提示PIN码验证失败,交易流程结束。
本实施例中,客户端提示PIN码验证失败之后还可以触发PIN码绑定流程中的步骤107。
本实施例中,在服务器端不支持批量报文的情况下,步骤209中,客户端判断出签名指令应答中包含签名值之后,还可以包括判断是否还有未签名的交易报文,若还有未签名的交易报文则继续根据未签名的交易报文和服务器端返回的PIN码信息生成签名指令并发送给密钥设备进行校验签名,直至判断出没有未签名的交易报文后根据全部交易报文和签名值生成交易请求,发送生成的交易请求给服务器端进行交易操作;相应地,客户端接收到服务器端返回的密钥设备的PIN码信息之后还包括缓存服务器端返回的密钥设备的PIN码信息;步骤214和步骤216中还包括清除缓存的密钥设备的PIN码信息。
进一步地,本实施例中,客户端服向务器端发送获取密钥设备的PIN码信息请求之前,还可以包括:判断用户类型,若为预设用户类型则执行步骤201,否则执行以下步骤:
步骤301、客户端提示用户输入密钥设备的PIN码,根据交易报文和用户输入的PIN码生成签名指令;
步骤302、客户端向密钥设备发送签名指令;
步骤303、密钥设备验证签名指令中包含的密钥设备的PIN码,若验证通过则执行步骤304、若验证未通过则执行步骤312;
本实施例中,密钥设备验证签名指令中包含的密钥设备的PIN码具体包括:密钥设备比较签名指令中包含的密钥设备的PIN码和密钥设备内部包含的PIN码,若一致则验证通过,若不一致则验证不通过。
步骤304、密钥设备根据交易报文生成待确认信息,输出待确认信息,根据用户的按键操作生成签名指令应答;
具体地,若密钥设备检测到用户的确认按键操作,则对交易报文进行签名得到签名值,生成包含签名值的签名指令应答;若密钥设备检测到用户的取消按键操作,则生成包含取消信息的签名指令应答。
步骤305、密钥设备向客户端返回签名指令应答;
步骤306、客户端判断签名指令应答中是否包含签名值,是则执行步骤307,否则输出错误提示信息,本流程结束;
步骤307、客户端根据交易报文和签名值生成交易请求;
步骤308、客户端向服务器端发送交易请求;
步骤309、服务器端根据接收到的交易请求执行交易操作;
步骤310、服务器端向客户端返回交易结果;
具体地,交易结果包括交易成功信息和交易失败信息;步骤309~步骤310可以包括:服务器端对签名值进行验签,若验签通过则根据交易报文执行交易,向客户端返回交易成功的交易结果;否则拒绝交易,向客户端返回交易失败的交易结果。
步骤311、客户端输出交易结果,本流程结束;
步骤312、密钥设备向客户端返回PIN码验证失败信息;
步骤313、客户端提示PIN码验证失败,本流程结束。
本实施例中,在服务器端不支持批量报文的情况下,步骤306中客户端判断出签名指令应答中包含签名值之后,还可以包括判断是否还有未签名的交易报文,若还有未签名的交易报文则继续提示用户输入密钥设备的PIN码,根据未签名的交易报文和用户输入的PIN码生成签名指令后发送给密钥设备进行校验签名,直至判断出没有未签名的交易报文后根据全部交易报文和签名值生成交易请求,发送生成的交易请求给服务器端进行交易操作。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (19)
1.一种PIN码缓存方法,其特征在于,所述方法包括:PIN码绑定流程和交易流程:
所述PIN码绑定流程包括:客户端向服务器端请求密钥设备信息,并根据所述服务器端返回的密钥设备信息查询对应密钥设备的PIN码状态,根据所述密钥设备信息和查询到的PIN码状态判断是否修改所述密钥设备的PIN码,是则执行所述密钥设备的PIN码修改操作,更新所述密钥设备的PIN码状态,对为所述密钥设备重新设置的PIN码进行加密得到所述密钥设备的密文PIN码,将所述密钥设备的密文PIN码发送给所述服务器进行绑定,PIN码绑定流程结束,否则PIN码绑定流程结束;
所述交易流程包括:所述客户端接收交易请求,根据所述交易请求生成交易报文,并向所述服务器端请求密钥设备的密文PIN码,将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名;
所述客户端根据所述密钥设备信息和查询到的PIN码状态判断是否修改所述密钥设备的PIN码,具体包括:所述客户端判断是否所述密钥设备在所述服务器端已绑定PIN码,并且所述密钥设备当前的PIN码状态为非默认PIN码,是则判定不修改所述密钥设备的PIN码,否则判定修改所述密钥设备的PIN码。
2.如权利要求1所述的方法,其特征在于,所述客户端向服务器端请求密钥设备信息具体包括:所述客户端向所述服务器端发送获取密钥设备信息请求,所述服务器端根据所述获取密钥设备信息请求查询相应的密钥设备信息,并向所述客户端返回查询到的密钥设备信息。
3.如权利要求1所述的方法,其特征在于,所述客户端根据所述服务器端返回的密钥设备信息查询对应密钥设备的PIN码状态具体包括:所述客户端根据所述密钥设备的识别信息查询是否有相应的密钥设备与所述客户端建立连接,是则向所述密钥设备发送查询PIN码状态指令,接收所述密钥设备返回的所述密钥设备的当前PIN码状态,否则查询失败。
4.如权利要求3所述的方法,其特征在于,所述客户端向所述密钥设备发送查询PIN码状态指令之后,具体包括:所述密钥设备接收所述查询PIN码状态指令,对预先存储的预设标志和预设宏进行预设运算,若运算结果为第一预设运算结果,则向所述客户端返回当前PIN码状态为默认PIN码的应答,若运算结果为第二预设运算结果,则所述密钥设备向所述客户端返回当前PIN码状态为非默认PIN码的应答。
5.如权利要求4所述的方法,其特征在于,所述客户端更新所述密钥设备的PIN码状态,具体包括:所述客户端更新所述预设标志。
6.如权利要求1所述的方法,其特征在于,所述客户端判断是否所述密钥设备在所述服务器端已绑定PIN码,具体包括:所述客户端根据所述密钥设备信息中的密钥设备的PIN码绑定信息判断所述密钥设备在所述服务器端是否已绑定PIN码。
7.如权利要求1所述的方法,其特征在于,所述客户端执行所述密钥设备的PIN码修改操作,具体包括:
步骤1-1、所述客户端根据用户输入的所述密钥设备当前的PIN码和为所述密钥设备重新设置的PIN码生成修改PIN码指令,向所述密钥设备发送所述修改PIN码指令;
步骤1-2、所述密钥设备验证所述修改PIN码指令中包含的所述密钥设备当前的PIN码,若验证通过则将所述修改PIN码指令中包含的为所述密钥设备重新设置的PIN码存储为所述密钥设备当前的PIN码,向所述客户端返回修改成功的PIN码修改结果;若验证未通过则向所述客户端返回修改失败的PIN码修改结果,所述客户端接收到失败的PIN码修改结果后返回步骤1-1。
8.如权利要求1所述的方法,其特征在于,所述客户端将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名,具体包括:
步骤2-1、所述客户端缓存服务器返回的密文PIN码;
步骤2-2、所述客户端根据一个交易报文和所述缓存的密文PIN码生成签名指令,将生成的签名指令发送给所述密钥设备进行校验签名;
步骤2-3、所述客户端判断是否还有未签名的交易报文,是则返回步骤2-2,否则清除所述缓存的密文PIN码。
9.如权利要求1所述的方法,其特征在于,所述交易流程还包括:所述客户端接收所述密钥设备返回的校验签名结果,若所述校验签名结果中包含签名值,则根据所述签名值和所述交易报文生成交易请求,发送所述交易请求给所述服务器端,所述服务器端根据所述交易请求执行交易操作并向所述客户端返回交易结果,所述客户端输出所述交易结果。
10.如权利要求1所述的方法,其特征在于,所述客户端将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名之后,具体包括:所述密钥设备验证所述密文PIN码,若验证通过则对所述交易报文签名,向所述客户端返回签名指令应答,若验证未通过则直接向所述客户端返回签名指令应答。
11.如权利要求10所述的方法,其特征在于,所述密钥设备对所述交易报文签名之前,还包括:所述密钥设备根据所述交易报文生成待确认信息,并输出所述待确认信息,若检测到用户的确认按键操作则对所述交易报文签名。
12.如权利要求1所述的方法,其特征在于,所述客户端对为所述密钥设备重新设置的PIN码进行加密得到所述密钥设备的密文PIN码,具体包括:所述客户端生成随机数,将所述随机数作为密钥对为所述密钥设备重新设置的PIN码进行加密得到所述密钥设备的密文PIN码。
13.如权利要求12所述的方法,其特征在于,所述客户端将所述密钥设备的密文PIN码发送给所述服务器进行绑定,具体包括:所述客户端根据所述随机数、所述密钥设备信息中的密钥设备的识别信息以及所述密钥设备的密文PIN码生成PIN码绑定请求,向所述服务器端发送所述PIN码绑定请求;所述服务器端接收到所述PIN码绑定请求后,将所述随机数和所述密钥设备的密文PIN码与所述密钥设备的识别信息对应存储,并更新所述密钥设备对应的密钥设备信息。
14.如权利要求12所述的方法,其特征在于,所述交易流程还包括:所述客户端向所述服务器请求所述随机数;
所述客户端将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名之后,具体包括:所述密钥设备将所述随机数作为密钥对所述密文PIN码进行解密,验证解密得到的明文PIN码是否正确,是则对接收到的签名指令中的交易报文签名,向所述客户端返回签名指令应答,否则直接向所述客户端返回签名指令应答。
15.如权利要求1所述的方法,其特征在于,所述客户端对为所述密钥设备重新设置的PIN码进行加密得到所述密钥设备的密文PIN码,具体包括:所述客户端获取所述密钥设备中存储的公钥,用所述公钥对为所述密钥设备重新设置的PIN码进行加密得到所述密钥设备的密文PIN码。
16.如权利要求15所述的方法,其特征在于,所述客户端将所述密钥设备的密文PIN码发送给所述服务器进行绑定,具体包括:所述客户端根据所述密钥设备信息中的密钥设备的识别信息以及所述密钥设备的密文PIN码生成PIN码绑定请求,向所述服务器端发送所述PIN码绑定请求;所述服务器端接收到所述PIN码绑定请求后,将所述密钥设备的密文PIN码与所述密钥设备的识别信息对应存储,并更新所述密钥设备对应的密钥设备信息。
17.如权利要求15所述的方法,其特征在于,所述客户端将所述交易报文和所述服务器端返回的密文PIN码发送给密钥设备进行校验签名之后,具体包括:所述密钥设备根据预先存储的私钥对所述密文PIN码进行解密,验证解密得到的明文PIN码是否正确,是则对接收到的签名指令中的交易报文签名,向所述客户端返回签名指令应答,否则直接向所述客户端返回签名指令应答。
18.如权利要求1所述的方法,其特征在于,所述客户端根据所述服务器端返回的密钥设备信息查询对应密钥设备的PIN码状态之前,还包括:所述客户端判断用户类型,若为预设用户类型则执行所述根据所述服务器端返回的密钥设备信息查询对应密钥设备的PIN码状态,否则PIN码绑定流程结束。
19.如权利要求1所述的方法,其特征在于,所述交易流程中,所述客户端向所述服务器端请求密钥设备的PIN码信息之前,还包括:所述客户端判断用户类型,若为预设用户类型则执行所述向所述服务器端请求密钥设备的PIN码信息;否则提示用户输入所述密钥设备的PIN码,发送所述交易报文和用户输入的PIN码给所述密钥设备进行校验签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510309703.7A CN104917763B (zh) | 2015-06-08 | 2015-06-08 | 一种pin码缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510309703.7A CN104917763B (zh) | 2015-06-08 | 2015-06-08 | 一种pin码缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917763A CN104917763A (zh) | 2015-09-16 |
CN104917763B true CN104917763B (zh) | 2018-04-27 |
Family
ID=54086469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510309703.7A Active CN104917763B (zh) | 2015-06-08 | 2015-06-08 | 一种pin码缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104917763B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059474B (zh) * | 2019-04-12 | 2021-01-01 | 飞天诚信科技股份有限公司 | 一种pin码修改的方法及装置 |
CN111222128A (zh) * | 2019-12-31 | 2020-06-02 | 北京握奇数据股份有限公司 | 一种安全输入和校验USBKey PIN码的方法及模块 |
CN117279119B (zh) * | 2023-11-21 | 2024-02-02 | 微泰医疗器械(杭州)股份有限公司 | 用于设备间无线通信的方法和通信装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200993803Y (zh) * | 2006-12-18 | 2007-12-19 | 汉王科技股份有限公司 | 网上银行系统安全终端 |
CN101206779A (zh) * | 2006-12-18 | 2008-06-25 | 汉王科技股份有限公司 | 网上银行系统安全终端及其数据安全处理方法 |
CN102916970A (zh) * | 2012-10-30 | 2013-02-06 | 飞天诚信科技股份有限公司 | 一种基于网络的pin码缓存方法 |
CN102915414A (zh) * | 2011-08-02 | 2013-02-06 | 中国银联股份有限公司 | 用于安全性信息交互的数据存储系统及方法 |
CN103312500A (zh) * | 2012-03-13 | 2013-09-18 | 北京海泰方圆科技有限公司 | 一种保护智能密码钥匙信息的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795268B (zh) * | 2010-01-20 | 2014-11-05 | 中兴通讯股份有限公司 | 一种增强用户安全模型安全性的方法和装置 |
-
2015
- 2015-06-08 CN CN201510309703.7A patent/CN104917763B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN200993803Y (zh) * | 2006-12-18 | 2007-12-19 | 汉王科技股份有限公司 | 网上银行系统安全终端 |
CN101206779A (zh) * | 2006-12-18 | 2008-06-25 | 汉王科技股份有限公司 | 网上银行系统安全终端及其数据安全处理方法 |
CN102915414A (zh) * | 2011-08-02 | 2013-02-06 | 中国银联股份有限公司 | 用于安全性信息交互的数据存储系统及方法 |
CN103312500A (zh) * | 2012-03-13 | 2013-09-18 | 北京海泰方圆科技有限公司 | 一种保护智能密码钥匙信息的方法 |
CN102916970A (zh) * | 2012-10-30 | 2013-02-06 | 飞天诚信科技股份有限公司 | 一种基于网络的pin码缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104917763A (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768970B (zh) | 一种智能设备的绑定方法、身份认证平台及存储介质 | |
TWI672648B (zh) | 業務處理方法、裝置、資料共享系統及儲存介質 | |
CN106304074B (zh) | 面向移动用户的身份验证方法和系统 | |
CN103037312B (zh) | 消息推送方法及装置 | |
CN107800675B (zh) | 一种数据传输方法、终端以及服务器 | |
CN108243176B (zh) | 数据传输方法和装置 | |
CN110290102A (zh) | 基于应用的业务安全系统及方法 | |
CN105701423B (zh) | 应用于云端支付业务的数据存储方法及装置 | |
CN104765999A (zh) | 一种对用户资源信息进行处理的方法、终端及服务器 | |
CN108900479A (zh) | 短信验证码获取方法及装置 | |
CN105262588A (zh) | 基于动态口令的登录方法、账号管理服务器及移动终端 | |
EP3659058B1 (en) | Devices and methods for key attestation with multiple device certificates | |
WO2022078398A1 (zh) | 基于区块链的子账户交易处理方法、系统、设备及介质 | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN105847000A (zh) | 令牌产生方法以及基于该令牌产生方法的通信系统 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
CN104917763B (zh) | 一种pin码缓存方法 | |
CN105787727A (zh) | 一种hce脱机支付系统及实现方法 | |
CN113920616A (zh) | 车辆与蓝牙钥匙安全连接的方法、蓝牙模块、蓝牙钥匙 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN107819766A (zh) | 安全认证方法、系统及计算机可读存储介质 | |
EP2930962A1 (en) | Encryption/decryption method, system and device | |
CN109981677A (zh) | 一种授信管理方法及装置 | |
CN109005201A (zh) | 生产数据的传输方法、服务器、设备以及存储介质 | |
CN105471920A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |