一种pin码缓存方法_3

文档序号:9202672阅读:来源:国知局
重新设置的PIN码进行加密得到密钥设备的密文PIN码。其中,客户端获取密钥设备中的公钥的具体实现方式可以为:密钥设备与客户端建立连接之后,客户端的驱动将密钥设备中包含公钥的证书注册进IE ;当要对用户输入的为密钥设备重新设置的PIN码进行加密时,客户端从被注册进IE的证书中获取公钥。
[0081 ] 优选地,本实施例中,步骤112具体包括:
[0082]步骤112-1、客户端生成随机数;
[0083]步骤112-2、客户端将随机数作为密钥对用户输入的为密钥设备重新设置的PIN码进行加密,得到密钥设备的密文PIN码;
[0084]步骤112-3、客户端根据随机数、密钥设备的密文PIN码以及服务器端返回的密钥设备信息中的密钥设备的识别信息生成PIN码绑定请求。
[0085]步骤113、客户端向服务器端发送PIN码绑定请求;
[0086]步骤114、服务器端根据PIN码绑定请求进行PIN码绑定,更新对应的密钥设备信息;
[0087]具体地,客户端向服务器端发送的PIN码绑定请求中包含密钥设备的识别信息(也可以是用户信息)和密钥设备的密文PIN码;服务器端根据PIN码绑定请求进行PIN码绑定包括:服务器端将密钥设备的密文PIN码与密钥设备的识别信息(也可以是用户信息)对应存储;
[0088]优选地,本实施例中服务器端更新对应的密钥设备信息具体为:服务器端更新密钥设备的PIN码绑定信息为已绑定PIN码。
[0089]进一步地,当客户端采用非固定密钥对用户输入的为密钥设备重新设置的PIN码进行加密时,客户端向服务器端发送的PIN码绑定请求中还包含本次加密过程中作为密钥使用的随机数;服务器端接收到PIN码绑定请求后将随机数和密文PIN码与用户信息对应存储。
[0090]步骤115、服务器端向客户端返回绑定应答,PIN码绑定流程结束。
[0091]本实施例中,客户端接收到绑定应答后还可以包括:判断绑定是否成功,是则PIN码绑定流程结束,否则重新向服务器端发送PIN码绑定请求,直至PIN码绑定成功或绑定失败达到预设次数。
[0092]进一步地,本实施例中,客户端执行步骤104之前还可以包括:判断用户类型,若为预设用户类型则执行步骤104,否则PIN码绑定流程结束。
[0093]具体地,参见图3,交易流程包括:
[0094]步骤201、客户端向服务器端发送获取PIN码请求;
[0095]步骤202、服务器端根据获取PIN码请求查询相应的密钥设备的密文PIN码;
[0096]具体地,本实施例中,客户端向服务器端发送的获取密钥设备的密文PIN码请求中包含密钥设备的识别信息(也可以是用户信息),服务器端查询与密钥设备的识别信息(也可以是用户信息)对应存储的密钥设备的密文PIN码。
[0097]步骤203、服务器端向客户端返回查询到的密钥设备的密文PIN码;
[0098]进一步地,本实施例中,还包括:若服务器端未查询到相应的密钥设备的密文PIN码,则向服务器端返回错误提示信息,服务器端输出相应错误提示信息。
[0099]步骤204、客户端根据交易请求生成交易报文,根据交易报文和密钥设备的密文PIN码生成签名指令;
[0100]步骤205、客户端向密钥设备发送签名指令;
[0101]步骤206、密钥设备验证签名指令中包含的密钥设备的密文PIN码,若验证通过则执行步骤207,若验证未通过则执行步骤215 ;
[0102]本实施例中,密钥设备验证签名指令中包含的密钥设备的密文PIN码具体包括:密钥设备对签名指令中的密钥设备的密文PIN码进行解密得到密钥设备的明文PIN码,将处理结果与密钥设备内部存储的PIN码进行比较,若一致则验证通过,若不一致则验证未通过。
[0103]进一步地,当客户端采用非固定密钥对用户输入的为密钥设备重新设置的PIN码进行加密时:
[0104]步骤202中还包括服务器端根据获取密钥设备的密文PIN码请求查询相应的随机数;
[0105]步骤203中还包括服务器端向客户端返回查询到的随机数;
[0106]步骤204中,客户端根据交易报文、密钥设备的密文PIN码以及随机数生成签名指令;
[0107]相应地,密钥设备将签名指令中的随机数作为密钥对签名指令中的密钥设备的密文PIN码进行解密得到密钥设备的明文PIN码。
[0108]步骤207、密钥设备根据交易报文生成待确认信息,输出待确认信息,根据用户的按键操作生成签名指令应答;
[0109]具体地,若密钥设备检测到用户的确认按键操作,则对交易报文进行签名得到签名值,生成包含签名值的签名指令应答;若密钥设备检测到用户的取消按键操作,则生成包含取消信息的签名指令应答。
[0110]步骤208、密钥设备向客户端返回签名指令应答;
[0111]步骤209、客户端判断签名指令应答中是否包含签名值,是则执行步骤210,否则输出提示信息,交易流程结束;
[0112]步骤210、客户端根据交易报文和签名值生成交易请求;
[0113]步骤211、客户端向服务器端发送交易请求;
[0114]步骤212、服务器端根据接收到的交易请求执行交易操作;
[0115]步骤213、服务器端向客户端返回交易结果;
[0116]具体地,交易结果包括交易成功信息和交易失败信息;步骤212?步骤213可以包括:服务器端对签名值进行验签,若验签通过则根据交易报文执行交易,向客户端返回交易成功的交易结果;否则拒绝交易,向客户端返回交易失败的交易结果。
[0117]步骤214、客户端输出交易结果,交易流程结束;
[0118]步骤215、密钥设备向客户端返回PIN码验证失败信息;
[0119]步骤216、客户端提示PIN码验证失败,交易流程结束。
[0120]本实施例中,客户端提示PIN码验证失败之后还可以触发PIN码绑定流程中的步骤 107。
[0121]本实施例中,在服务器端不支持批量报文的情况下,步骤209中,客户端判断出签名指令应答中包含签名值之后,还可以包括判断是否还有未签名的交易报文,若还有未签名的交易报文则继续根据未签名的交易报文和服务器端返回的PIN码信息生成签名指令并发送给密钥设备进行校验签名,直至判断出没有未签名的交易报文后根据全部交易报文和签名值生成交易请求,发送生成的交易请求给服务器端进行交易操作;相应地,客户端接收到服务器端返回的密钥设备的PIN码信息之后还包括缓存服务器端返回的密钥设备的PIN码信息;步骤214和步骤216中还包括清除缓存的密钥设备的PIN码信息。
[0122]进一步地,本实施例中,客户端服向务器端发送获取密钥设备的PIN码信息请求之前,还可以包括:判断用户类型,若为预设用户类型则执行步骤201,否则执行以下步骤:
[0123]步骤301、客户端提示用户输入密钥设备的PIN码,根据交易报文和用户输入的PIN码生成签名指令;
[0124]步骤302、客户端向密钥设备发送签名指令;
[0125]步骤303、密钥设备验证签名指令中包含的密钥设备的PIN码,若验证通过则执行步骤304、若验证未通过则执行步骤312 ;
[0126]本实施例中,密钥设备验证签名指令中包含的密钥设备的PIN码具体包括:密钥设备比较签名指令中包含的密钥设备的PIN码和密钥设备内部包含的PIN码,若一致则验证通过,若不一致则验证不通过。
[0127]步骤304、密钥设备根据交易报文生成待确认信息,输出待确认信息,根据用户的按键操作生成签名指令应答;
[0128]具体地,若密钥设备检测到用户的确认按键操作,则对交易报文进行签名得到签名值,生成包含签名值的签名指令应答;若密钥设备检测到用户的取消按键操作,则生成包含取消信息的签名指令应答。
[0129]步骤305、密钥设备向客户端返回签名指令应答;
[0130]步骤306、客户端判断签名指令应答中是否包含签名值,是则执行步骤307,否则输出错误提示信息,本流程结束;
[0131]步骤307、客户端根据交易报文和签名值生成交易请求;
[0132]步骤308、客户端向服务器端发送交易请求;
[0133]步骤309、服务器端根据接收到的交易请求执行交易操作;
[0134]步骤310、服务器端向客户端返回交易结果;
[0135]具体地,交易结果包括交易成功信息和交易失败信息;步骤309?步骤310可以包括:服务器端对签名值进行验签,若验签通过则根据交易报文执行交易,向客户端返回交易成功的交易结果;否则拒绝交易,向客户端返回交易失败的交易结果。
[0136]步骤311、客户端输出交易结果,本流程结束;
[0137]步骤312、密钥设备向客户端返回PIN码验证失败信息;
[0138]步骤313、客户端提示PIN码验证失败,本流程结束。
[0139]本实施例中,在服务器端不支持批量报文的情况下,步骤306中客户端判断出签名指令应答中包含签名值之后,还可以包括判断是否还有未签名的交易报文,若还有未签名的交易报文则继续提示用户输入密钥设备的PIN码,根据未签名的交易报文和用户输入的PIN码生成签
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1