CN102916970B - 一种基于网络的pin码缓存方法 - Google Patents
一种基于网络的pin码缓存方法 Download PDFInfo
- Publication number
- CN102916970B CN102916970B CN201210425328.9A CN201210425328A CN102916970B CN 102916970 B CN102916970 B CN 102916970B CN 201210425328 A CN201210425328 A CN 201210425328A CN 102916970 B CN102916970 B CN 102916970B
- Authority
- CN
- China
- Prior art keywords
- pin code
- client
- result
- server end
- pin
- 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
Abstract
本发明公开了一种基于网络的PIN码缓存方法,属于网络安全认证技术领域。本发明的方法包括:客户端向服务器端请求获取PIN码,当服务器端缓存有PIN码时,将所述PIN码发送给客户端,当服务器端不存在缓存的PIN码时,客户端提示用户输入一个PIN码,客户端将接收到的PIN码发送给与其连接的设备进行验证,并将通过验证的PIN码发送给服务器端,服务器端缓存或更新PIN码。本发明提出的方法很好地解决了本地缓存PIN码的风险问题;并且很好地提升了用户使用USB Key设备的体验效果,满足了客户的应用性要求。
Description
技术领域
本发明涉及网络安全认证技术领域,特别是涉及一种基于网络的PIN码缓存方法。
背景技术
网上银行的迅速发展,各种以窃取资金为目的的攻击技术和手段层出不穷,对网上交易安全构成严重威胁。
目前,网上银行在安全认证方面多采用数字证书,数字证书的载体多为USB KEY,PIN码相当于访问USB KEY的钥匙,因此PIN码存在的被木马等非法软件盗取的可能使得USB KEY本身的安全性受到挑战。
对于USB KEY用户来说,PIN码验证是保护客户USB KEY使用的关键,确保客户遗失USB KEY后不被他人直接使用,目前PIN码是用户输入到客户端处理,在客户端存在被黑客窃取的可能性。另一方面,在银行客户方面,出现了将PIN码缓存到服务器端的应用性需求,现有技术采取的方法已无法满足客户的需求。
发明内容
为解决现有技术中存在的上述缺陷,本发明提出了一种基于网络的PIN码缓存方法,将PIN码信息缓存到服务器端,避免了在客户端可能出现的风险。
本发明采取的技术方案是:一种基于网络的PIN码缓存方法,包括:
步骤S1:客户端向服务器端发送当前设备序列号和获取PIN码请求;
步骤S2:所述服务器端根据当前设备序列号判断是否缓存有第一PIN码信息,是则所述服务器端根据缓存的第一PIN码信息得到第二PIN码信息,并向所述客户端发送第二PIN码信息,所述客户端根据所述第二PIN码信息得到PIN码结果然后执行步骤S5,否则执行步骤S3;
步骤S3:所述服务器端向所述客户端返回请求PIN码失败指令;
步骤S4:所述客户端提示用户输入PIN码,当接收到用户输入的PIN码后根据所述PIN码得到PIN码结果,然后执行步骤S5;
步骤S5:所述客户端向USB Key发送PIN码结果;
步骤S6:所述USB Key验证收到的PIN码结果是否正确,是则执行步骤S8,否则执行步骤S7;
步骤S7:所述USB Key向所述客户端发送验证失败指令,返回步骤S4;
步骤S8:所述USB Key向所述客户端发送验证成功指令;
步骤S9:所述客户端向所述服务器端发送第一PIN码信息和当前设备序列号;
步骤S10:所述服务器端将所述第一PIN码信息和当前设备序列号关联并保存在数据库中,并向所述客户端发送同步成功指令。
所述方法还包括客户端与服务器端建立SSL安全连接的过程;所述步骤S2中所述服务器端通过安全通道向所述客户端发送缓存的第一PIN码信息;所述步骤S9具体为:所述客户端通过安全通道向所述服务器端发送第一PIN码信息和当前设备序列号。
所述第一PIN码信息和所述第二PIN码信息相同,均为明文的PIN码,步骤S5中所述PIN码结果为处理结果;所述步骤S5包括所述客户端对所述PIN码进行预设处理生成处理结果,并向所述USB Key发送所述处理结果;所述步骤S6具体为:所述USB Key验证收到的处理结果与根据预先存储的PIN码生成的处理结果是否相同,是则执行步骤S8,否则执行步骤S7。
所述第一PIN码信息为明文的PIN码,所述第二PIN码信息和所述PIN码结果相同,均为操作结果;步骤S2所述根据缓存的第一PIN码信息得到第二PIN码信息具体为:所述服务器端从所述客户端获取当前随机数,对所述缓存的第一PIN码信息和当前随机数执行预设操作生成操作结果;步骤S4中所述根据所述PIN码得到PIN码结果具体为:所述客户端从所述USB Key获取当前随机数,并对所述PIN码和所述当前随机数执行预设操作生成操作结果; 所述步骤S6具体为:所述USB Key验证收到的所述操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤S8,否则执行步骤S7;所述步骤S8之后包括,当所述客户端接收到所述验证成功指令,所述客户端判断是否存在PIN码,是则根据所述PIN码得到第一PIN码信息然后执行步骤S9,否则所述客户端向所述服务器端发送验证成功指令,所述服务器端向所述客户端发送同步成功指令;所述步骤S10具体为:所述服务器根据当前设备序列号更新并保存所述第一PIN码信息。
所述第一PIN码信息和所述第二PIN码信息相同,均为PIN码加密结果,所述PIN码结果为操作结果;步骤S2中所述客户端根据所述第二PIN码信息得到PIN码结果具体为:所述客户端对接收到的PIN码加密结果进行解密得到PIN码,所述客户端通过向所述USB Key发送获取随机数请求获取当前随机数,所述客户端对所述PIN码和当前随机数执行预设操作生成操作结果;步骤S4中所述根据所述PIN码得到PIN码结果具体为:所述客户端从所述USB Key获取当前随机数,并对所述PIN码和所述当前随机数执行预设操作生成操作结果;所述步骤S6具体为:所述USB Key验证收到的操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤S8,否则执行步骤S7;所述步骤S9之前包括:所述客户端根据解密得到的PIN码或者用户输入的PIN码得到第一PIN码信息。
所述根据解密得到的PIN码或者用户输入的PIN码得到第一PIN码信息具体为:对解密得到的PIN码或者用户输入的PIN码进行加密生成PIN码加密结果。
或者是:一种基于网络的PIN码缓存方法,包括以下步骤:
步骤A1:客户端向服务器端发送当前设备序列号和获取PIN码请求;
步骤A2:所述服务器端根据当前设备序列号判断是否缓存有PIN码,是则执行步骤A5,否则执行步骤A3;
步骤A3:所述服务器端向所述客户端返回请求PIN码失败指令;
步骤A4:所述客户端提示用户输入PIN码,当接收到用户输入的PIN码后,将所述PIN码发送给服务器端,所述服务器端缓存所述PIN码;
步骤A5:所述服务器端向所述客户端发送缓存的PIN码;
步骤A6:所述客户端根据PIN码得到PIN码结果并向USB Key发送PIN码结果;
步骤A7:所述USB Key验证收到的PIN码结果是否正确,是则执行步骤A9,否则执行步骤A8;
步骤A8:所述USB Key向所述客户端发送验证失败指令,返回步骤A4;
步骤A9:所述USB Key向所述客户端发送验证成功指令;
步骤A10:所述客户端向所述服务器端发送验证成功指令。
所述USB Key向所述客户端发送验证失败指令之后包括:
所述客户端向所述服务器端发送清除缓存请求;
所述服务器端清除缓存的第一PIN码信息;
所述服务器端向所述客户端发送已清除提醒。
所述客户端向服务器端发送当前设备序列号和获取PIN码请求之前包括:客户端从与其连接的USB Key获取一个设备序列号保存为当前设备序列号。
步骤A6所述PIN码结果为处理结果,所述客户端根据PIN码得到PIN码结果具体为:所述客户端对所述PIN码进行预设处理生成处理结果。
步骤A6所述PIN码结果为操作结果,所述客户端根据PIN码得到PIN码结果具体为:所述客户端从所述USB Key获取当前随机数,并对所述PIN码和所述当前随机数执行预设操作生成操作结果。
所述方法还包括客户端与服务器端建立SSL安全连接的过程;所述步骤A4中客户端通过安全通道将所述PIN码发送给服务器端;所述步骤A5中服务器端通过安全通道向所述客户端发送缓存的PIN码。
上述预设处理为采用预设算法进行加密处理。
上述预设操作具体为:先对PIN码做哈希运算,用哈希运算结果作为密钥对当前随机数进行加密处理得到操作结果。
上述预设操作具体为:将PIN码和当前随机数进行异或运算或者与运算或者将 PIN码和当前随机数按预设顺序组合成一串数据。
本发明的有益效果是:
1.用户每次使用USB Key进行网银登陆/交易操作时只需要输入一次PIN码,很好地提升了用户使用USB Key的体验效果。
2.本发明提出的方法很好地解决了本地缓存PIN码的风险问题。
3.本发明可以满足客户的应用性要求。
附图说明
图1是实施例1提供的一种基于网络的PIN码缓存方法;
图2 是实施例2提供的一种基于网络的PIN码缓存方法;
图3 是实施例3提供的一种基于网络的PIN码缓存方法;
图4是实施例4提供的一种基于网络的PIN码缓存方法;
图5是实施例5提供的一种基于网络的PIN码缓存方法;
图6是实施例6提供的一种基于网络的PIN码缓存方法。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明涉及到服务器端、客户端和设备之间的交互过程,以下实施例中设备以USB Key为例介绍。
实施例1
本实施例提供的一种基于网络的PIN码缓存方法,将PIN码信息缓存在服务器端,PIN码信息可以是明文的PIN码,也可以是PIN码加密结果。如图1所示,该方法包括以下步骤:
步骤1:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中,该步骤之前还包括客户端与USB Key的交互过程,具体为:客户端从USB Key获取当前设备序列号。
步骤2:服务器端根据当前设备序列号判断是否缓存有第一PIN码信息,是则执行步骤6,否则执行步骤3;
具体的:服务器端根据接收到的当前设备序列号在数据库中查找与之一致的序列号,若查找到则可获取得到与查找到的序列号关联的第一PIN码信息,若未查找到则表示服务器端的数据库中没有缓存的与当前设备序列号关联的第一PIN信息。
本实施例中的第一PIN码信息可以是明文的PIN码,也可以是PIN码加密结果。
步骤3:服务器端向客户端返回请求PIN码失败指令;
步骤4:客户端提示用户输入PIN码;
步骤5:客户端根据用户输入的PIN码得到PIN码结果,然后执行步骤9;
具体地,客户端可以将用户输入的PIN码直接作为PIN码结果,也可以是对明文的PIN码进行预设处理生成的处理结果作为PIN码结果,或者是对明文的PIN码进行预设操作生成的操作结果作为PIN码结果。
步骤6:服务器端根据第一PIN码信息得到第二PIN码信息;
本实施例中具体地,当第一PIN码信息是明文的PIN码时,服务器端得到第二PIN码信息可以直接取为第一PIN码信息,也可以是服务器端对明文的PIN码进行预设操作生成一个操作结果作为第二PIN码信息。
所述预设操作可以是服务器端利用事先协商的密钥对明文的PIN码进行加密,也可以是服务器端从客户端获取密钥对明文的PIN码进行加密。
当第一PIN码信息是PIN码加密结果时,服务器端可以将第一PIN码信息直接作为第二PIN码信息。
步骤7:服务器端向客户端发送第二PIN码信息;
步骤8:客户端根据第二PIN码信息得到PIN码结果;
本实施例中具体地,当第二PIN码信息是明文的PIN码时,客户端可以将明文的PIN码直接作为PIN码结果,或者是对明文的PIN码进行预设处理生成的处理结果作为PIN码结果,或者是对明文的PIN码进行预设操作生成的操作结果作为PIN码结果;当第二PIN码信息是PIN码加密结果时,客户端可以将第二PIN码信息直接作为PIN码结果。
步骤9:客户端向USB Key发送PIN码结果;
步骤10:USB Key判断PIN码结果是否正确,是则执行步骤12,否则执行步骤11;
本实施例中具体地,当PIN码结果是明文的PIN时,USB Key判断接收到的PIN码结果与预先存储的PIN码是否相同,是则执行步骤12,否则执行步骤11;当PIN码结果是处理结果时,USB Key判断接收到的PIN码结果与根据预先存储的PIN码生成的处理结果是是否相同,是则执行步骤12,否则执行步骤11;当PIN码结果是操作结果时,USB Key判断接收到的PIN码结果与根据预先存储的PIN码生成的操作结果是是否相同,是则执行步骤12,否则执行步骤11。
步骤11:USB Key向客户端发送验证失败指令,然后返回步骤4;
步骤12:USB Key向客户端发送验证成功指令;
步骤13:客户端向服务器端发送PIN码和当前设备序列号;
本步骤客户端向服务器端发送的PIN码是用户在客户端输入的PIN码,或者是客户端根据服务器端发送来的第二PIN码信息还原得到的PIN码。
步骤14:服务器端将PIN码和当前设备序列号关联并保存;
步骤15:服务器端向客户端发送同步成功指令。
实施例2
本实施例提供的一种基于网络的PIN码缓存方法,将明文PIN码缓存在服务器端。如图2所示,该方法包括以下步骤:
步骤101:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中具体地,客户端做登陆或交易操作时候需要调用USB Key内部私钥进行运算,此时需要将验证服务器端缓存的PIN码发送给USBKey进行验证即开始执行步骤101。
此步骤之前还包括客户端与USB Key的交互过程,具体为:客户端从USB Key获取设备序列号信息,本实施例中获取的设备序列号为1234567890。
步骤102:服务器端根据当前设备序列号判断是否缓存有PIN码,是则执行步骤105,否则执行步骤103;
具体地,服务器端查找是否缓存有与当前设备序列号关联的PIN码,如果有则执行步骤105,否则执行步骤103。
步骤103:服务器端向客户端返回请求PIN码失败指令;
步骤104:客户端提示用户输入PIN码,然后执行步骤106;
本实施例中,用户输入PIN码123456。
步骤105:服务器端向客户端发送缓存的PIN码;
本实施例中,服务器端向客户端发送的缓存的PIN码123456。
步骤106:客户端向USB Key发送PIN码;
步骤107:USB Key验证收到的PIN码与预先存储的PIN码是否相同,是则执行步骤112,否则执行步骤108;
本实施例中,USB Key预先存储的PIN码为123456,验证收到的PIN码是否为123456,是则验证通过,否则验证不通过。
步骤108:USB Key向客户端发送验证失败指令;
步骤109:客户端向服务器端发送清除缓存请求;
步骤110:服务器端清除缓存的PIN码;
步骤111:服务器端向客户端发送已清除提醒,执行步骤104;
步骤112:USB Key向客户端发送验证成功指令;
步骤113:客户端向服务器端发送PIN码和当前设备序列号;
本实施例中,客户端向服务器端发送PIN码123456和当前设备序列号1234567890。
步骤114:服务器端将PIN码和当前设备序列号关联并保存;
本实施例中,服务器将PIN码和当前设备序列号进行绑定并保存在数据库中。
步骤115:服务器端向客户端发送同步成功指令。
实施例3
本实施例提供的一种基于网络的PIN码缓存方法,将明文PIN码缓存在服务器端,服务器端、客户端和USB Key之间传输密文的PIN码。如图3所示,该方法包括以下步骤:
步骤201:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中,客户端向服务器端发送的当前序列号1234567890。
步骤202:服务器端根据当前设备序列号判断是否缓存有PIN码,是则执行步骤205,否则执行步骤203;
具体地,服务器端通过查找数据库信息来判断是否缓存有与当前设备序列号关联的PIN码,如果有则执行步骤205,否则执行步骤203。
步骤203:服务器端向客户端返回请求PIN码失败指令;
步骤204:客户端提示用户输入PIN码,然后执行步骤206;
本实施例中用户输入的PIN码为123456。
步骤205:服务器端通过安全通道向客户端发送缓存的PIN码;
本实施例中具体地,在客户端与服务器端建立SSL安全连接后,服务器端通过加密方式向客户端发送缓存的PIN码。
本实施例中,服务器端缓存的PIN码是123456,服务器端使用建立SSL安全连接产生的传输密钥对123456进行加密并传输给客户端。
客户端与服务器端建立SSL安全连接的过程具体为:
步骤B1:客户端浏览器中的SSL软件向服务器端发送出示证书请求;
步骤B2:服务器端将自己的证书,以及同证书相关的信息发送给客户端浏览器;
步骤B3:客户端浏览器中的SSL软件发给服务器端一个随机产生的传输密钥。
具体地,所述传输密钥只有客户端的浏览器和其Web服务器知道,客户端和服务器端之间的相互访问,即客户端与服务器端之间是利用该传输密钥实现加密方式传输数据的。
步骤B4:客户端浏览器检查服务器端发送过来的证书是否合法,是则建立了SSL连接,否则提示用户安全隐患,即未建立SSL连接。
具体地,客户端浏览器检查所述证书是否是由自己信赖的 CA 中心所签发的,以及证书是否在有效期等,如果检查通过则建立了SSL连接可以利用所述传输密钥开始访问,否则将提示用户安全隐患。
步骤206:客户端对PIN码进行预设处理生成处理结果;
本实施例中,客户端利用传输密钥从接收到的数据中获取PIN码,并对获取的PIN码进行预设处理生成处理结果,所述预设处理为加密处理,优选采用MD5算法对PIN码进行计算生成一个处理结果。
具体地,得到的PIN码为123456,通过MD5算法加密得到的处理结果为:B25FA8AE22A43C552E2AB55463435F0D。
进一步的所述预设处理还可以为SHA1运算。
步骤207:客户端向USB Key发送处理结果;
步骤208:USB Key验证收到的处理结果与根据预先存储的PIN码生成的处理结果是否相同,是则执行步骤213,否则执行步骤209;
具体地,USB Key对预先存储的PIN码进行预设处理生成处理结果,所述预设处理优选采用MD5算法对预先存储的PIN码进行计算。
步骤209:USB Key向客户端发送验证失败指令;
步骤210:客户端向服务器端发送清除缓存请求;
步骤211:服务器端清除缓存的PIN码;
具体地,服务器将数据库中保存的PIN码清除。
步骤212:服务器端向客户端发送已清除提醒,执行步骤204;
步骤213:USB Key向客户端发送验证成功指令;
步骤214:客户端通过安全通道向服务器端发送PIN码和当前设备序列号;
具体地,客户端用仅客户端和服务器端拥有的传输密钥对PIN码和当前设备序列号加密并发送给服务器端。
步骤215:服务器端将PIN码和当前设备序列号关联并保存;
本实施例中,服务器将PIN码和当前设备序列号绑定并保存在数据库中。
步骤216:服务器端向客户端发送同步成功指令。
实施例4
本实施例提供的一种基于网络的PIN码缓存方法,在实施例2的基础上,将明文PIN码缓存在服务器端,引入随机数在客户端对PIN码进行了预设操作。如图4所示,该方法包括以下步骤:
步骤301:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中,客户端向服务器端发送的序列号为1234567890。
步骤302:服务器端根据当前设备序列号判断是否缓存有PIN码,是则执行步骤309,否则执行步骤303;
具体地,服务器端查找是否缓存有与当前设备序列号关联的PIN码,如果有则执行步骤309,否则执行步骤303。
步骤303:服务器端向客户端发送请求PIN码失败指令;
步骤304:客户端提示用户输入PIN码;
本实施例中,用户输入PIN码123456。
步骤305:客户端向USB Key发送获取随机数请求;
具体地,当客户端接收到用户输入的PIN码后向USB Key发送获取随机数请求。
步骤306:USB Key产生随机数并缓存;
本实施例中,USB Key产生随机数1234并保存。
具体地,USB Key用每次新产生的随机数更新当前缓存的随机数,每次仅缓存当前随机数。
步骤307:USB Key向客户端发送当前随机数;
具体地,USB Key向客户端发送1234。
步骤308:客户端对当前随机数和PIN码执行预设操作生成操作结果,然后执行步骤316;
本实施例中具体地,客户端对PIN码进行MD5运算,用MD5运算结果作为密钥对当前随机数做3DES加密得到操作结果。例如:PIN码为123456,对PIN码进行MD5加密得到的密钥为:B25FA8AE22A43C552E2AB55463435F0D,再用该密钥对随机数1234做3DES加密得到的操作结果为:0B18E74152973093。
步骤309:服务器端向客户端发送获取随机数请求;
步骤310:客户端向USB Key发送获取随机数请求;
步骤311:USB Key产生随机数并缓存;
本实施例中,USB Key产生随机数1234并保存。
进一步的,USB Key产生的随机数还可以不同于步骤306产生的随机数,例如产生随机数8888。
步骤312:USB Key向客户端发送随机数;
步骤313:客户端向服务器端发送随机数;
步骤314:服务器端对随机数和PIN码执行预设操作生成操作结果;
本实施例中具体地,服务器端对PIN码进行MD5运算,用MD5运算结果作为密钥对当前随机数做3DES加密得到操作结果。
例如:PIN码为123456,用MD5加密后得到的操作结果作为密钥,对随机数8888做3DES加密得到最后操作结果:2CDB6FD48920D500。
步骤315:服务器端向客户端发送操作结果;
步骤316:客户端向USB Key发送操作结果;
步骤317:USB Key验证接收到的操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤322,否则执行步骤318;
本实施例中具体地,USB Key对预先存储的PIN码进行MD5运算,用MD5运算结果作为密钥对缓存的当前随机数做3DES加密生成操作结果,验证接收到的操作结果与生成的操作结果是否相同,是则执行步骤322,否则执行步骤318。
步骤318:USB Key向客户端发送验证失败指令;
步骤319:客户端向服务器端发送清除缓存指令;
步骤320:服务器端清除缓存的PIN码;
步骤321:服务器端向客户端发送已清除提醒;跳转执行步骤304;
步骤322:USB Key向客户端发送验证成功指令;
步骤323:客户端判断是否缓存有PIN码,是则执行步骤324,否则执行步骤326;
步骤324:客户端通过安全通道向服务器端发送缓存的PIN码和当前设备序列号并清空缓存;
本实施例中,客户端向服务器端发送缓存的PIN码123456和设备序列号1234567890。
步骤325:服务器端用接收到的PIN码更新缓存的PIN码;然后执行步骤327;
例如:服务器通过查找数据库中存储的设备序列号1234567890查找到缓存与之绑定的PIN码并用接收到的PIN码对查找到的缓存的PIN码进行覆盖更新。
步骤326:客户端向服务器端发送验证成功指令;
步骤327:服务器端向客户端发送同步成功指令。
实施例5
本实施例提供的一种基于网络的PIN码缓存方法,在实施例2的基础上,将密文PIN码缓存在服务器端,引入随机数在客户端对PIN码进行了预设操作。如图5所示,该方法包括以下步骤:
步骤401:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中,客户端向服务器端发送的序列号为1234567890。
步骤402:服务器端根据当前设备序列号判断是否缓存有PIN码加密结果,是则执行步骤405,否则执行步骤403;
具体地,服务器端通过查找数据库判断是否缓存有与当前设备序列号关联的PIN码加密结果,如果有则执行步骤405,否则执行步骤403。
步骤403:服务器端向客户端发送PIN码输入请求;
步骤404:客户端提示用户输入PIN码,然后执行步骤407;
本实施例中,用户输入PIN码为123456。
步骤405:服务器端向客户端发送缓存的PIN码加密结果;
步骤406:客户端对PIN码加密结果解密得到PIN码;
具体地,客户端用预置密钥对PIN码加密结果解密得到PIN码。
步骤407:客户端向USB Key发送获取随机数请求;
步骤408:USB Key产生随机数并缓存;
本实施例中,USB Key产生的随机数为1234。
步骤409:USB Key向客户端发送当前随机数;
步骤410:客户端对PIN码和当前随机数执行预设操作生成操作结果;
本实施例中具体地,客户端对PIN码进行MD5运算,用MD5运算结果作为密钥对当前随机数做3DES加密得到操作结果。
例如:PIN码为123456,用MD5加密后得到的操作结果作为密钥,对随机数1234做3DES加密得到操作结果:0B18E74152973093。
或者是客户端将PIN码和随机数进行异或生成操作结果,或者是将PIN码与随机数进行与运算生成操作结果,或者是将PIN码和随机数按预设顺序组合成一串数据作为操作结果。
步骤411:客户端向USB Key发送操作结果;
步骤412:USB Key验证收到的操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤417,否则执行步骤413;
本实施例中具体地,客户端对预先存储的PIN码进行MD5运算,用MD5运算结果作为密钥对缓存的当前随机数做3DES加密得到操作结果。或者是客户端将PIN码和随机数进行异或生成操作结果,或者是将PIN码与随机数进行与运算生成操作结果,或者是将PIN码和随机数按预设顺序组合成一串数据作为操作结果。USB Key验证接收到的操作结果和自身生成的操作结果是否相同,是则执行步骤417,否则执行步骤413。
步骤413:USB Key向客户端发送验证失败指令;
步骤414:客户端向服务器端发送清除PIN码缓存请求;
步骤415:服务器端清除缓存的PIN码加密结果;
本实施例中具体地,服务器清除数据库中根据序列号查找到的与之绑定的PIN码加密结果。
步骤416:服务器端向客户端发送已清除提醒,返回执行步骤404;
步骤417:USB Key向客户端发送验证成功指令;
步骤418:客户端加密缓存的PIN码生成PIN码加密结果;
具体地,客户端用预置密钥加密缓存的PIN码生成PIN码加密结果。
步骤419:客户端向服务器端发送PIN码加密结果和当前设备序列号;
步骤420:服务器端将当前序列号和PIN码加密结果关联并保存至数据库;
步骤421:服务器端向客户端发送同步成功指令。
实施例6
本实施例提供的一种基于网络的PIN码缓存方法,用户首次输入PIN码后客户端先发送给服务器,通过服务器端缓存PIN码。如图6所示,该方法包括以下步骤:
步骤501:客户端向服务器端发送当前设备序列号和获取PIN码请求;
本实施例中,客户端向服务器端发送序列号1234567890。
步骤502:服务器端根据当前设备序列号判断是否缓存有PIN码,是则执行步骤507,否则执行步骤503;
具体地,服务器端查找是否缓存有与当前设备序列号关联的PIN码,如果有则执行步骤507,否则执行步骤503。
步骤503:服务器端向客户端返回请求PIN码失败指令;
步骤504:客户端提示用户输入PIN码;
本实施例中,用户输入PIN码123456。
步骤505:客户端通过安全通道向服务器端发送PIN码和当前设备序列号;
本实施例中具体地,在客户端与服务器端建立SSL安全连接后,客户端通过加密方式向服务器端发送PIN码。
客户端与服务器端建立SSL安全连接的过程具体为:
步骤B1:客户端浏览器中的SSL软件向服务器端发送出示证书请求;
步骤B2:服务器端将自己的证书,以及同证书相关的信息发送给客户端浏览器;
步骤B3:客户端浏览器中的SSL软件发给服务器端一个随机产生的传输密钥。
具体地,所述传输密钥只有客户端的浏览器和其Web服务器知道,客户端和服务器端之间的相互访问,即客户端与服务器端之间是利用该传输密钥实现加密方式传输数据的。
步骤B4:客户端浏览器检查服务器端发送过来的证书是否合法,是则建立了SSL连接,否则提示用户安全隐患,即未建立SSL连接。
具体地,客户端浏览器检查所述证书是否是由自己信赖的 CA 中心所签发的,以及证书是否在有效期等,如果检查通过则建立了SSL连接可以利用所述传输密钥开始访问,否则将提示用户安全隐患。
步骤506:服务器端缓存PIN码和当前设备序列号;
本实施例中,服务器通过建立数据库存储PIN码与当前设备序列号。
步骤507:服务器端通过安全通道向客户端发送缓存的PIN码;
具体地,服务器端将缓存的PIN码用传输密钥加密后发送给客户端。
步骤508:客户端向USB Key发送获取随机数请求;
步骤509:USB Key产生随机数并缓存;
本实施例中,USB Key产生随机数为1234。
步骤510:USB Key向客户端发送缓存的当前随机数;
步骤511:客户端将PIN码与当前随机数执行预设操作生成操作结果;
本实施例中具体地,客户端对PIN码进行MD5运算,用MD5运算结果作为密钥对当前随机数做3DES加密得到操作结果。
或者是客户端将PIN码和随机数进行异或生成操作结果,或者是将PIN码与随机数进行与运算生成操作结果,或者是将PIN码和随机数按预设顺序组合成一串数据作为操作结果。
步骤512:客户端向USB Key发送操作结果;
步骤513:USB Key验证收到的操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤518,否则执行步骤514;
本实施例中具体地,客户端对预先存储的PIN码进行MD5运算,用MD5运算结果作为密钥对缓存的当前随机数做3DES加密得到操作结果。或者是客户端将PIN码和随机数进行异或生成操作结果,或者是将PIN码与随机数进行与运算生成操作结果,或者是将PIN码和随机数按预设顺序组合成一串数据作为操作结果。USB Key验证接收到的操作结果和自身生成的操作结果是否相同,是则执行步骤518,否则执行步骤514。
步骤514:USB Key向客户端发送验证失败指令;
步骤515:客户端向服务器端发送清除缓存请求;
步骤516:服务器端清除缓存的PIN码;
本实施例中,服务器清除在数据库中通过序列号查找到的缓存的PIN码。
步骤517:服务器端向客户端发送已清除提醒,跳转执行步骤504;
步骤518:USB Key向客户端发送验证成功指令;
步骤519:客户端向服务器端发送验证成功指令。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于网络的PIN码缓存方法,其特征是:包括:
步骤S1:客户端向服务器端发送当前设备序列号和获取PIN码请求;
步骤S2:所述服务器端根据当前设备序列号判断是否缓存有第一PIN码信息,是则所述服务器端根据所述缓存的第一PIN码信息得到第二PIN码信息,并向所述客户端发送所述第二PIN码信息,所述客户端根据所述第二PIN码信息得到PIN码结果然后执行步骤S5,否则执行步骤S3;
步骤S3:所述服务器端向所述客户端返回请求PIN码失败指令;
步骤S4:所述客户端提示用户输入PIN码,当接收到用户输入的PIN码后根据所述PIN码得到PIN码结果,然后执行步骤S5;
步骤S5:所述客户端向USB Key发送PIN码结果;
步骤S6:所述USB Key验证收到的PIN码结果是否正确,是则执行步骤S8,否则执行步骤S7;
步骤S7:所述USB Key向所述客户端发送验证失败指令,返回步骤S4;
步骤S8:所述USB Key向所述客户端发送验证成功指令;
步骤S9:所述客户端向所述服务器端发送第一PIN码信息和当前设备序列号;
步骤S10:所述服务器端将所述第一PIN码信息和当前设备序列号关联并保存在数据库中,并向所述客户端发送同步成功指令;
其中,当所述第一PIN码信息和所述第二PIN码信息相同,均为明文的PIN码,步骤S5中所述PIN码结果为处理结果时:
所述步骤S5包括所述客户端对所述PIN码进行预设处理生成处理结果,并向所述USB Key发送所述处理结果;所述步骤S6具体为:所述USB Key验证收到的处理结果与根据预先存储的PIN码生成的处理结果是否相同,是则执行步骤S8,否则执行步骤S7。
2.根据权利要求1所述的方法,其特征是:所述方法还包括客户端与服务器端建立SSL安全连接的过程;
所述步骤S2中所述服务器端通过安全通道向所述客户端发送缓存的第一PIN码信息;
所述步骤S9具体为:所述客户端通过安全通道向所述服务器端发送第一PIN码信息和当前设备序列号。
3.根据权利要求1所述的方法,其特征是:
当所述第一PIN码信息为明文的PIN码,所述第二PIN码信息和所述PIN码结果相同,均为操作结果时:
步骤S2所述根据缓存的第一PIN码信息得到第二PIN码信息具体为:所述服务器端从所述客户端获取当前随机数,对所述缓存的第一PIN码信息和当前随机数执行预设操作生成操作结果;步骤S4中所述根据所述PIN码得到PIN码结果具体为:所述客户端从所述USB Key获取当前随机数,并对所述PIN码和所述当前随机数执行预设操作生成操作结果;所述步骤S6具体为:所述USB Key验证收到的所述操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤S8,否则执行步骤S7;所述步骤S8之后包括,当所述客户端接收到所述验证成功指令,所述客户端判断是否存在PIN码,是则根据所述PIN码得到第一PIN码信息然后执行步骤S9,否则所述客户端向所述服务器端发送验证成功指令,所述服务器端向所述客户端发送同步成功指令;所述步骤S10具体为:所述服务器根据当前设备序列号更新并保存所述第一PIN码信息。
4.根据权利要求1所述的方法,其特征是:
当所述第一PIN码信息和所述第二PIN码信息相同,均为PIN码加密结果,所述PIN码结果为操作结果时;
步骤S2中所述客户端根据所述第二PIN码信息得到PIN码结果具体为:所述客户端对接收到的PIN码加密结果进行解密得到PIN码,所述客户端通过向所述USB Key发送获取随机数请求获取当前随机数,所述客户端对所述PIN码和当前随机数执行预设操作生成操作结果;步骤S4中所述根据所述PIN码得到PIN码结果具体为:所述客户端从所述USB Key获取当前随机数,并对所述PIN码和所述当前随机数执行预设操作生成操作结果;所述步骤S6具体为:所述USB Key验证收到的操作结果与根据预先存储的PIN码生成的操作结果是否相同,是则执行步骤S8,否则执行步骤S7;所述步骤S9之前包括:所述客户端根据解密得到的PIN码或者用户输入的PIN码得到第一PIN码信息。
5.根据权利要求4所述的方法,其特征是:
所述根据解密得到的PIN码或者用户输入的PIN码得到第一PIN码信息具体为:对解密得到的PIN码或者用户输入的PIN码进行加密生成PIN码加密结果。
6.根据权利要求1所述的方法,其特征是:所述USB Key向所述客户端发送验证失败指令之后包括:
所述客户端向所述服务器端发送清除缓存请求;
所述服务器端清除缓存的第一PIN码信息;
所述服务器端向所述客户端发送已清除提醒。
7.根据权利要求1所述的方法,其特征是:
所述客户端向服务器端发送当前设备序列号和获取PIN码请求之前包括:客户端从与其连接的USB Key获取一个设备序列号保存为当前设备序列号。
8.根据权利要求1所述的方法,其特征是:所述预设处理为采用预设算法进行加密处理。
9.根据权利要求3或4所述的方法,其特征是:所述预设操作具体为:先对PIN码做哈希运算,用哈希运算结果作为密钥对当前随机数进行加密处理得到操作结果。
10.根据权利要求3或4所述的方法,其特征是:所述预设操作具体为:将PIN码和当前随机数进行异或运算或者与运算或者将PIN码和当前随机数按预设顺序组合成一串数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210425328.9A CN102916970B (zh) | 2012-10-30 | 2012-10-30 | 一种基于网络的pin码缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210425328.9A CN102916970B (zh) | 2012-10-30 | 2012-10-30 | 一种基于网络的pin码缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916970A CN102916970A (zh) | 2013-02-06 |
CN102916970B true CN102916970B (zh) | 2015-04-15 |
Family
ID=47615204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210425328.9A Active CN102916970B (zh) | 2012-10-30 | 2012-10-30 | 一种基于网络的pin码缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916970B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166754B (zh) * | 2013-03-12 | 2017-05-10 | 飞天诚信科技股份有限公司 | 一种处理指令的方法和装置 |
CN103428000A (zh) * | 2013-08-27 | 2013-12-04 | 深圳市文鼎创数据科技有限公司 | 信息认证方法及系统 |
CN103441854A (zh) * | 2013-08-27 | 2013-12-11 | 深圳市文鼎创数据科技有限公司 | 链路保护方法及系统 |
CN104270754B (zh) * | 2014-09-29 | 2018-09-11 | 福建星网锐捷网络有限公司 | 一种用户识别卡鉴权方法和装置 |
CN104917763B (zh) * | 2015-06-08 | 2018-04-27 | 飞天诚信科技股份有限公司 | 一种pin码缓存方法 |
CN106656349B (zh) | 2015-10-28 | 2019-10-25 | 深圳光启智能光子技术有限公司 | 光子ca认证方法及系统 |
CN109150891B (zh) * | 2018-09-05 | 2020-03-17 | 北京深思数盾科技股份有限公司 | 一种验证方法、装置和信息安全设备 |
CN109728909B (zh) * | 2019-03-21 | 2021-07-27 | 郑建建 | 基于USBKey的身份认证方法和系统 |
CN110826083A (zh) * | 2019-10-08 | 2020-02-21 | 云深互联(北京)科技有限公司 | 一种浏览器数据加密方法、装置、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166094A (zh) * | 2007-08-10 | 2008-04-23 | 林明辉 | 一种客户端以智能加密方式自动登录服务器的方法 |
CN101753682A (zh) * | 2009-11-27 | 2010-06-23 | 华为终端有限公司 | 用户识别卡权限管理的方法及终端设备 |
CN102428684A (zh) * | 2009-05-22 | 2012-04-25 | 索尼爱立信移动通讯有限公司 | 锁住通信设备和重置通信设备的锁密钥 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2339077C1 (ru) * | 2007-03-13 | 2008-11-20 | Олег Вениаминович Сахаров | Способ функционирования системы условного доступа для применения в компьютерных сетях и система для его осуществления |
-
2012
- 2012-10-30 CN CN201210425328.9A patent/CN102916970B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166094A (zh) * | 2007-08-10 | 2008-04-23 | 林明辉 | 一种客户端以智能加密方式自动登录服务器的方法 |
CN102428684A (zh) * | 2009-05-22 | 2012-04-25 | 索尼爱立信移动通讯有限公司 | 锁住通信设备和重置通信设备的锁密钥 |
CN101753682A (zh) * | 2009-11-27 | 2010-06-23 | 华为终端有限公司 | 用户识别卡权限管理的方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102916970A (zh) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102916970B (zh) | 一种基于网络的pin码缓存方法 | |
CN106612180B (zh) | 实现会话标识同步的方法及装置 | |
CN101005361B (zh) | 一种服务器端软件保护方法及系统 | |
CN110990827A (zh) | 一种身份信息验证方法、服务器及存储介质 | |
CN108243176B (zh) | 数据传输方法和装置 | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN106452770B (zh) | 一种数据加密方法、解密方法、装置和系统 | |
CN103491094A (zh) | 一种基于c/s模式的快速身份认证方法 | |
CN103236931B (zh) | 一种基于tpm的身份验证方法及系统以及相关设备 | |
CN108418691A (zh) | 基于sgx的动态网络身份认证方法 | |
CN106850207B (zh) | 无ca的身份认证方法和系统 | |
CN110677382A (zh) | 数据安全处理方法、装置、计算机系统及存储介质 | |
WO2016054905A1 (zh) | 一种数据处理方法 | |
KR20120007509A (ko) | 일종의 신분 인증 및 공유키 생성방법 | |
US10091189B2 (en) | Secured data channel authentication implying a shared secret | |
CN106789024A (zh) | 一种远程解锁方法、装置和系统 | |
CN111355591A (zh) | 一种基于实名认证技术的区块链账号安全的管理方法 | |
CN107453871B (zh) | 口令生成方法、口令验证方法、支付方法及装置 | |
WO2019178440A1 (en) | System and method for securing private keys behind a biometric authentication gateway | |
CN106487752B (zh) | 一种用于验证访问安全的方法和装置 | |
CN107181589B (zh) | 一种堡垒机私钥管理方法及装置 | |
JP2018026631A (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
CN110838919A (zh) | 通信方法、存储方法、运算方法及装置 | |
CN111898101A (zh) | 一种应用的安全设备验证方法及装置 | |
CN115604034A (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 |