CN105635114B - 一种口令校验方法及系统 - Google Patents

一种口令校验方法及系统 Download PDF

Info

Publication number
CN105635114B
CN105635114B CN201510965207.7A CN201510965207A CN105635114B CN 105635114 B CN105635114 B CN 105635114B CN 201510965207 A CN201510965207 A CN 201510965207A CN 105635114 B CN105635114 B CN 105635114B
Authority
CN
China
Prior art keywords
usbkey
pin
random number
host computer
module
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
CN201510965207.7A
Other languages
English (en)
Other versions
CN105635114A (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.)
Hengbao Co Ltd
Original Assignee
Hengbao 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 Hengbao Co Ltd filed Critical Hengbao Co Ltd
Priority to CN201510965207.7A priority Critical patent/CN105635114B/zh
Publication of CN105635114A publication Critical patent/CN105635114A/zh
Application granted granted Critical
Publication of CN105635114B publication Critical patent/CN105635114B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/3825Use of electronic signatures
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

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

Abstract

本申请提供一种口令校验方法及系统,所述方法包括:步骤S1、上位机生成PIN值,步骤S2、上位机从USBKEY获取随机数,步骤S3、生成校验PIN指令数据包,步骤S4、USBKEY对指令数据包进行解析,步骤S5、对解析数据进行判断,判断成功通过校验PIN。本申请提出的口令校验方法及系统,通过对随机数、用户PIN值的长度和用户的PIN值进行非对称算法加密保证了校验口令的真正安全,提高口令的安全级别,防止PIN码信息的泄露。可防御USBKEY更高级别的攻击;并且通过对随机数、用户PIN值的长度和用户的PIN值进行分级验证,还节省了判定时间,更提高了USBKEY响应速度,提升用户体验。

Description

一种口令校验方法及系统
技术领域
本申请涉及通信领域,特别是涉及一种口令校验方法及系统。
背景技术
USBKEY是一种基于网络进行安全支付的产品,能够证明当事人的对交易数据的不可抵赖性,采用的是一种数字签名方式。
所谓数字签名(Digital Signature),就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。
USBKEY在进行网络交易时,需要用户输入PIN码,当前的客户端多采用明文传输口令或者对称密钥加密后在链路上传输。这样就使得攻击者比较容易对PIN码进行获取,对USBKEY的安全使用造成较大的威胁。
发明内容
为了解决上述问题,本申请提供一种口令校验方法及系统,通过在进行校验PIN码时,使用非对称密钥对PIN码进行加密,提高校验口令的安全性。
本申请提出一种口令校验系统,包括上位机和USBKEY,所述上位机包括:
输入模块,用于用户进行PIN码的输入;
运算模块,用于将用户输入的PIN码进行摘要运算,得到摘要数据,用上位机私钥解密USBKEY发送的加密随机数,将使用USBKEY公钥对摘要数据进行加密;
通信模块,用于向USBKEY发送获取随机数请求指令,并发送上位机公钥,接收USBKEY发送的加密随机数,接收USBKEY发送的USBKEY公钥,向USBKEY发送校验指令数据包,接收USBKEY发送的错误代码和结果信息。
所述USBKEY包括:
数据交互模块,用于接收上位机发送的获取随机数请求指令,接收上位机公钥,向上位机发送逻辑运算模块加密的随机数,向上位机发送USBKEY公钥,接收上位机发送的校验指令数据包,向上位机发送错误代码和结果信息。
逻辑运算模块,用于用上位机公钥加密随机数生成模块生成的随机数,用USBKEY私钥解密校验指令数据包;
判定模块,用于对逻辑运算模块解析的数据进行整理,并判定所述数据是否与USBKEY中的数据相同;
随机数生成模块,用于生成随机数。
优选的,所述上位机的运算模块包括:
摘要运算子模块,用于将用户输入的PIN码进行摘要运算,得到摘要数据;
加解密运算子模块,用于用上位机私钥解密USBKEY发送的加密随机数,用USBKEY公钥对摘要数据进行加密。
优选的,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
优选的,所述摘要数据包括但不限于随机数、PIN长度值和PIN值等。
优选的,所述USBKEY中的判定模块包括:
随机数判定模块,用于判定指令数据包中的随机数是否与USBKEY中随机数生成模块生成的随机数相同,相同则将数据包传输给PIN长度判定模块;
PIN长度判定模块,用于判定指令数据包中的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则将数据包传输给PIN值判定模块;
PIN值判定模块,用于判定指令数据包中的PIN值是否与预置在USBKEY中的PIN值相同。
本申请还提出一种口令校验方法,具体为:
步骤S1:上位机生成PIN值;
步骤S2:上位机从USBKEY获取随机数;
步骤S3:生成校验PIN指令数据包;
步骤S4:USBKEY对指令数据包进行解析;
步骤S5:对解析数据进行判断,判断成功通过校验PIN。
优选的,所述步骤S1:上位机生成PIN值,具体为:
步骤S101:用户在上位机输入模块输入PIN码;
步骤S102:上位机摘要运算子模块将输入的PIN码进行摘要运算,得到PIN值;
优选的,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
优选的,所述上位机从USBKEY获取随机数,具体为:
步骤S201:上位机通信模块向USBKEY发送获取随机数请求,并发送公钥;
步骤S202:USBKEY随机数生成模块生成随机数;
步骤S203:USBKEY逻辑运算模块用上位机公钥加密随机数;
步骤S204:USBKEY数据交互模块向上位机发送加密的随机数;
步骤S205:上位机加解密运算子模块用私钥解密得到随机数。
优选的,所述步骤S3:生成校验PIN指令数据包,具体为:
步骤S301:上位机从加解密运算子模块中获取随机数;
步骤S302:上位机通信模块从USBKEY获取公钥;
步骤S303:上位机加解密运算子模块使用USBKEY公钥对摘要数据加密;
步骤S304:上位机通信模块向USBKEY发送校验PIN指令。
优选的,所述步骤S5:对解析数据进行判断,判断成功通过校验PIN,具体为:
步骤S501:对解析数据进行整理;
步骤S502:判定所述解析数据的随机数是否与USBKEY中随机数生成模块生成的随机数相同,相同则执行步骤S503,不同则执行步骤S505;
步骤S503:判定所述解析数据的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则执行步骤S504,不同则执行步骤S505;
步骤S504:判定所述解析数据的PIN值是否与预置在USBKEY中的PIN值相同,相同则认为成功通过校验PIN,不同则执行步骤S505;
步骤S505:认定PIN校验失败,USBKEY向上位机返回错误代码。
上述本发明提出的一种口令校验方法及系统,获得了以下技术效果:
1、本申请提出的口令校验方法及系统,通过对随机数、用户PIN值的长度和用户的PIN值进行非对称算法加密保证了校验口令的真正安全,提高口令的安全级别,防止PIN码信息的泄露。可防御USBKey更高级别的攻击。
2、本申请提出的口令校验方法及系统通过对随机数、用户PIN值的长度和用户的PIN值进行分级验证,节省了判定时间,提高了USBKEY响应速度,提升用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请口令校验系统的系统结构图;
图2是本申请口令校验系统USBKEY的系统结构图;
图3是本申请口令校验系统上位机的系统结构图;
图4是本申请口令校验方法的流程示意图;
图5是本申请口令校验方法中上位机生成PIN值的流程示意图;
图6是本申请口令校验方法中上位机从USBKEY获取随机数的流程示意图;
图7是本申请口令校验方法中生成校验PIN指令数据包的流程示意图;
图8是本申请口令校验方法中对解析数据进行判断的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请提出的一种口令校验系统,如图1所示,包括上位机11和USBKEY12,具体的,如图3所示,所述上位机11包括:
输入模块31,用于用户进行PIN码的输入。
更具体的,用户在所述输入模块31输入的PIN码为所述USBKEY12个人化时,银行中心向USBKEY12发放绑定的个人识别码。
所述PIN码绑定流程具体包括:
首先银行主机向银行中心服务器请求USBKEY12信息,并根据银行中心服务器返回的USBKEY12信息查询对应USBKEY12的PIN码状态,然后银行主机根据银行中心服务器返回的USBKEY12信息以及查询到的USBKEY的PIN码状态判断是否修改USBKEY12的PIN码,否则PIN码绑定流程结束,是则银行主机执行USBKEY12的PIN码修改操作,得到USBKEY12的密文PIN码,将USBKEY12的密文PIN码发送给银行中心服务器进行绑定,PIN码绑定流程结束。
运算模块32,用于将用户输入的PIN码进行摘要运算,得到摘要数据,用上位机私钥解密USBKEY12发送的加密随机数,将使用USBKEY公钥对摘要数据进行加密。
更具体的,所述上位机的运算模块32包括:
摘要运算子模块,用于将用户输入的PIN码进行摘要运算,得到摘要数据。
更具体的,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
更具体的,本实施例摘要运算子模块对PIN码进行摘要运算的摘要算法为MAC算法,具体为:
首先进行预处理;将PIN码划分为512位的分组,最后一个分组补以填充位,该填充位是以1开头,后面为0的比特值。其次初始化4个链接向量。然后进入主循环,循环次数为PIN码长度除以512,便于每次循环处理一个512位的值,每轮循环大致有3个阶段。第一阶段,初始变量拷贝到中间变量;第二阶段,分4轮实现,每一轮取4个变量中的3个进行异或操作,操作结果与分组相加并循环移位;第三阶段,生成结果更新中间变量。最后散列值生成,处理完以后,更新后的向量级联即成为hash值输出,即所述PIN值。
更具体的,所述摘要数据包括但不限于随机数、PIN长度值和PIN值等。
加解密运算子模块,用于用上位机私钥解密USBKEY12发送的加密随机数,用USBKEY公钥对摘要数据进行加密。
上位机加解密运算子模块对加密随机数进行3DES解密,具体为:
本实施例中,当上位机加解密运算子模块接收到USBKEY发送的加密随机数后,对加密随机数用私钥解密得到随机数密文,将随机数密文分成长度相同的两部分,对随机数密文中的前N个字节数据进行3DES分散,产生分散密钥;然后对随机数密文中的后N个字节数据进行3DES解密,得到对随机数进行加密的密钥;然后用该密钥对随机数密文进行3DES解密,得到随机数。
通信模块33,用于向USBKEY12发送获取随机数请求指令,并发送上位机公钥,接收USBKEY12发送的加密随机数,接收USBKEY12发送的USBKEY公钥,向USBKEY12发送校验指令数据包,接收USBKEY12发送的错误代码和结果信息。
更具体的,上位机11若没有针对所述USBKEY12的公钥,则先生成公私钥对,再向所述USBKEY12发送生成的公钥。
更具体的,对于USBKEY12生成的随机数可以不加密传输,也可以加密传输,当不加密时,直接从所述USBKEY12中获取。
所述USBKEY12如图2所示,包括:
数据交互模块21,用于接收上位机11发送的获取随机数请求指令,接收上位机公钥,向上位机11发送逻辑运算模块加密的随机数,向上位机11发送USBKEY公钥,接收上位机11发送的校验指令数据包,向上位机11发送错误代码和结果信息。
更具体的,上位机通信模块33向USBKEY12发送获取公钥请求,USBKEY数据交互模块21收到请求后,USBKEY12检测自身是否有公私钥对,若没有则生成公私钥对,将所述公私钥对通过数据交互模块21发送给所述上位机11。
逻辑运算模块22,用于用上位机公钥加密随机数生成模块生成的随机数,用USBKEY私钥解密校验指令数据包。
更具体的,USBKEY逻辑运算模块22对随机数进行加密的算法为3DES加密算法。
更具体的,所述逻辑运算模块22使用USBKEY私钥对指令数据包进行解密逆运算,得到解析数据。
判定模块23,用于对逻辑运算模块22解析的数据进行整理,并判定所述数据是否与USBKEY12中的数据相同。
更具体的,由于对解析数据的判断流程是先随机数判断,再对PIN值长度进行判断,最后才对PIN值进行判断,故所述判定模块23将解析出的数据包拆分成多块,每一块分别存储先后需要进行判断的数据,判断时,调用数据包,若第一数据包判断失败则不再对后续数据包进行判断,节省判断时间,加快相应速度,提升用户体验。
更具体的,所述USBKEY12中的判定模块包括:
随机数判定模块,用于判定指令数据包中的随机数是否与USBKEY12中随机数生成模块生成的随机数相同,相同则将数据包传输给PIN长度判定模块;
PIN长度判定模块,用于判定指令数据包中的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则将数据包传输给PIN值判定模块;
PIN值判定模块,用于判定指令数据包中的PIN值是否与预置在USBKEY中的PIN值相同。
随机数生成模块24,用于生成随机数。
更具体的,所述随机数生成模块24生成一个多位随机数,所述随机数可以为二进制码、ANSI、GBK、GB2312、UTF-8、GB18030或UNICODE码中的一种或多种组合,以达到无法被普通用户解析得到为准。
更具体的,对于USBKEY随机数生成模块24生成的随机数可以不加密传输,也可以加密传输,当不加密时,直接从USBKEY中获取。
上面依据图1-3详细阐述了本申请的口令校验系统,下面根据图4-8介绍本申请提出的口令校验方法。
基于上述口令校验系统,本申请还提出一种口令校验方法,如图4所示,具体为:
步骤S1:上位机11生成PIN值。
具体的,如图5所示,所述步骤S1:上位机11生成PIN值,具体为:
步骤S101:用户在上位机11输入模块输入PIN码。
更具体的,PIN码为所述USBKEY12个人化时,银行中心向USBKEY12发放绑定的个人识别码。
所述PIN码绑定流程具体包括:
首先银行主机向银行中心服务器请求USBKEY12信息,并根据银行中心服务器返回的USBKEY12信息查询对应USBKEY12的PIN码状态,然后银行主机根据银行中心服务器返回的USBKEY12信息以及查询到的USBKEY12的PIN码状态判断是否修改USBKEY12的PIN码,否则PIN码绑定流程结束,是则银行主机执行USBKEY12的PIN码修改操作,得到USBKEY12的密文PIN码,将USBKEY12的密文PIN码发送给银行中心服务器进行绑定,PIN码绑定流程结束。
步骤S102:上位机摘要运算子模块将输入的PIN码进行摘要运算,得到PIN值。
更具体的,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
更具体的,本实施例用MAC算法,具体为:
首先进行预处理;将PIN码划分为512位的分组,最后一个分组补以填充位,该填充位是以1开头,后面为0的比特值。其次初始化4个链接向量。然后进入主循环,循环次数为PIN码长度除以512,便于每次循环处理一个512位的值,每轮循环大致有3个阶段。第一阶段,初始变量拷贝到中间变量;第二阶段,分4轮实现,每一轮取4个变量中的3个进行异或操作,操作结果与分组相加并循环移位;第三阶段,生成结果更新中间变量。最后散列值生成,处理完以后,更新后的向量级联即成为hash值输出,即所述PIN值。
步骤S2:上位机11从USBKEY12获取随机数。
更具体的,所述上位机11从USBKEY12获取的随机数,可以不加密传输,也可以加密传输。
如图6所示,当随机数需要加密传输时,执行如下方法:
步骤S201:上位机通信模块33向USBKEY发送获取随机数请求,并发送公钥。
更具体的,上位机11若没有针对所述USBKEY12的公钥,则先生成公私钥对,再向所述USBKEY12发送生成的公钥。
步骤S202:USBKEY随机数生成模块24生成随机数。
更具体的,随机数生成模块生成一个多位随机数,所述随机数可以为二进制码、ANSI、GBK、GB2312、UTF-8、GB18030或UNICODE码中的一种或多种组合,以达到无法被普通用户解析得到为准。
步骤S203:USBKEY逻辑运算模块用上位机公钥加密随机数。
更具体的,USBKEY的逻辑运算模块对随机数进行加密的算法为3DES加密算法。
步骤S204:USBKEY数据交互模块21向上位机发送加密的随机数。
步骤S205:上位机加解密运算子模块用私钥解密得到随机数。
上位机对加密随机数进行3DES解密,具体为:
本实施例中,当上位机11接收到USBKEY12发送的加密随机数后,对加密随机数用私钥解密得到随机数密文,将随机数密文分成长度相同的两部分,对随机数密文中的前N个字节数据进行3DES分散,产生分散密钥;然后对随机数密文中的后N个字节数据进行3DES解密,得到对随机数进行加密的密钥;然后用该密钥对随机数密文进行3DES解密,得到随机数。
步骤S3:生成校验PIN指令数据包。
更具体的,如图7所示,所述步骤S3:生成校验PIN指令数据包,具体为:
步骤S301:上位机11从加解密运算子模块中获取随机数。
步骤S302:上位机11通信模块从USBKEY12获取公钥。
更具体的,上位机通信模块33向USBKEY12发送获取公钥请求,USBKEY数据交互模块21收到请求后,USBKEY12检测自身是否有公私钥对,若没有则生成公私钥对,将所述公私钥对通过通信模块发送给所述上位机。
步骤S303:上位机加解密运算子模块使用USBKEY公钥对摘要数据加密。
步骤S304:上位机通信模块33向USBKEY12发送校验PIN指令。
步骤S4:USBKEY对指令数据包进行解析。
更具体的,使用USBKEY私钥对指令数据包进行解密逆运算,得到解析数据。
步骤S5:对解析数据进行判断,判断成功通过校验PIN。
更具体的,如图8所示,所述步骤S5:对解析数据进行判断,判断成功通过校验PIN,具体为:
步骤S501:对解析数据进行整理。
更具体的,由于对解析数据的判断流程是先随机数判断,再对PIN值长度进行判断,最后才对PIN值进行判断,固将解析出的数据包拆分成多块,每一块分别存储先后需要进行判断的数据,判断时,调用数据包,若第一数据包判断失败则不再对后续数据包进行判断,节省判断时间,加快相应速度,提升用户体验。
步骤S502:判定所述解析数据的随机数是否与USBKEY12中随机数生成模块生成的随机数相同,相同则执行步骤S503,不同则执行步骤S505。
步骤S503:判定所述解析数据的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则执行步骤S504,不同则执行步骤S505。
步骤S504:判定所述解析数据的PIN值是否与预置在USBKEY12中的PIN值相同,相同则认为成功通过校验PIN,不同则执行步骤S505。
步骤S505:认定PIN校验失败,USBKEY12向上位机11返回错误代码。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (10)

1.一种口令校验系统,包括上位机和USBKEY,其特征在于,
所述上位机包括:
输入模块,用于用户进行PIN码的输入;用户在所述输入模块输入的PIN码为绑定的个人识别码;其中,上位机根据中心服务器返回的USBKEY信息以及查询到的USBKEY的PIN码状态判断是否修改USBKEY的PIN码,否则PIN码绑定流程结束,是则上位机执行USBKEY的PIN码修改操作,得到USBKEY的密文PIN码,将USBKEY的密文PIN码发送给中心服务器进行绑定;
运算模块,用于将用户输入的PIN码进行摘要运算,得到摘要数据,用上位机私钥解密USBKEY发送的加密随机数,将使用USBKEY公钥对摘要数据进行加密;
通信模块,用于向USBKEY发送获取随机数请求指令,并发送上位机公钥,接收USBKEY发送的加密随机数,接收USBKEY发送的USBKEY公钥,向USBKEY发送校验指令数据包,接收USBKEY发送的错误代码和结果信息;
所述USBKEY包括:
数据交互模块,用于接收上位机发送的获取随机数请求指令,接收上位机公钥,向上位机发送逻辑运算模块加密的随机数,向上位机发送USBKEY公钥,接收上位机发送的校验指令数据包,向上位机发送错误代码和结果信息;
逻辑运算模块,用于用上位机公钥加密随机数生成模块生成的随机数,用USBKEY私钥解密校验指令数据包;
判定模块,用于对逻辑运算模块解析的数据进行整理,并判定所述数据是否与USBKEY中的数据相同;
随机数生成模块,用于生成随机数。
2.如权利要求1所述的口令校验系统,其特征在于,所述上位机的运算模块包括:
摘要运算子模块,用于将用户输入的PIN码进行摘要运算,得到摘要数据;
加解密运算子模块,用于用上位机私钥解密USBKEY发送的加密随机数,用USBKEY公钥对摘要数据进行加密。
3.如权利要求2所述的口令校验系统,其特征在于,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
4.如权利要求2所述的口令校验系统,其特征在于,所述摘要数据包括但不限于随机数、PIN长度值和PIN值。
5.如权利要求1所述的口令校验系统,其特征在于,所述USBKEY中的判定模块包括:
随机数判定模块,用于判定指令数据包中的随机数是否与USBKEY中随机数生成模块生成的随机数相同,相同则将数据包传输给PIN长度判定模块;
PIN长度判定模块,用于判定指令数据包中的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则将数据包传输给PIN值判定模块;
PIN值判定模块,用于判定指令数据包中的PIN值是否与预置在USBKEY中的PIN值相同。
6.一种口令校验方法,其特征在于,所述方法具体为:
步骤S1:上位机生成PIN值;
具体包括,步骤S101:用户在上位机输入模块输入PIN码;
其中,用户在所述输入模块输入的PIN码为绑定的个人识别码;上位机根据中心服务器返回的USBKEY信息以及查询到的USBKEY的PIN码状态判断是否修改USBKEY的PIN码,否则PIN码绑定流程结束,是则上位机执行USBKEY的PIN码修改操作,得到USBKEY的密文PIN码,将USBKEY的密文PIN码发送给中心服务器进行绑定;
步骤S102:上位机摘要运算子模块将输入的PIN码进行摘要运算,得到PIN值;
步骤S2:上位机从USBKEY获取随机数;
步骤S3:生成校验PIN指令数据包;
步骤S4:USBKEY对指令数据包进行解析;
步骤S5:对解析数据进行判断,判断成功通过校验PIN。
7.如权利要求6所述的口令校验方法,其特征在于,所述摘要运算子模块中对PIN码进行摘要运算的摘要算法为MAC摘要算法,MD5摘要算法和SHA摘要算法中的一种。
8.如权利要求6所述的口令校验方法,其特征在于,所述上位机从USBKEY获取随机数,具体为:
步骤S201:上位机通信模块向USBKEY发送获取随机数请求,并发送公钥;
步骤S202:USBKEY随机数生成模块生成随机数;
步骤S203:USBKEY逻辑运算模块用上位机公钥加密随机数;
步骤S204:USBKEY数据交互模块向上位机发送加密的随机数;
步骤S205:上位机加解密运算子模块用私钥解密得到随机数。
9.如权利要求6所述的口令校验方法,其特征在于,所述步骤S3:生成校验PIN指令数据包,具体为:
步骤S301:上位机从加解密运算子模块中获取随机数;
步骤S302:上位机通信模块从USBKEY获取公钥;
步骤S303:上位机加解密运算子模块使用USBKEY公钥对摘要数据加密;
步骤S304:上位机通信模块向USBKEY发送校验PIN指令。
10.如权利要求6所述的口令校验方法,其特征在于,所述步骤S5:对解析数据进行判断,判断成功通过校验PIN,具体为:
步骤S501:对解析数据进行整理;
步骤S502:判定所述解析数据的随机数是否与USBKEY中随机数生成模块生成的随机数相同,相同则执行步骤S503,不同则执行步骤S505;
步骤S503:判定所述解析数据的PIN长度值是否与预置在USBKEY中的PIN长度值相同,相同则执行步骤S504,不同则执行步骤S505;
步骤S504:判定所述解析数据的PIN值是否与预置在USBKEY中的PIN值相同,相同则认为成功通过校验PIN,不同则执行步骤S505;
步骤S505:认定PIN校验失败,USBKEY向上位机返回错误代码。
CN201510965207.7A 2015-12-18 2015-12-18 一种口令校验方法及系统 Active CN105635114B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510965207.7A CN105635114B (zh) 2015-12-18 2015-12-18 一种口令校验方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510965207.7A CN105635114B (zh) 2015-12-18 2015-12-18 一种口令校验方法及系统

Publications (2)

Publication Number Publication Date
CN105635114A CN105635114A (zh) 2016-06-01
CN105635114B true CN105635114B (zh) 2019-02-26

Family

ID=56049605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510965207.7A Active CN105635114B (zh) 2015-12-18 2015-12-18 一种口令校验方法及系统

Country Status (1)

Country Link
CN (1) CN105635114B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017358604B2 (en) * 2016-08-12 2021-11-04 7Tunnels, Inc. Systems and methods for secure communication using Random Cipher Pad cryptography
CN108551391B (zh) * 2018-03-14 2021-04-27 深圳市中易通安全芯科技有限公司 一种基于USB-key的认证方法
CN111064743B (zh) * 2019-12-28 2021-09-28 飞天诚信科技股份有限公司 一种安全输入密码的方法及系统
CN111260829B (zh) * 2020-01-17 2021-12-28 多点(深圳)数字科技有限公司 购物车智能锁数据传输加密方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523800A (zh) * 2006-10-10 2009-09-02 高通股份有限公司 用于双向认证的方法和装置
CN101719910A (zh) * 2009-11-16 2010-06-02 北京数字太和科技有限责任公司 一种实现内容保护的终端设备及其传输方法
CN102045333A (zh) * 2010-06-29 2011-05-04 北京飞天诚信科技有限公司 一种安全报文过程密钥的生成方法
CN102891753A (zh) * 2012-09-25 2013-01-23 深圳市文鼎创数据科技有限公司 动态令牌初始化的方法及装置
CN103312507A (zh) * 2013-05-09 2013-09-18 重庆邮电大学 一种移动支付鉴权加密方法
CN104639561A (zh) * 2015-02-27 2015-05-20 飞天诚信科技股份有限公司 一种安全获取密钥的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523800A (zh) * 2006-10-10 2009-09-02 高通股份有限公司 用于双向认证的方法和装置
CN101719910A (zh) * 2009-11-16 2010-06-02 北京数字太和科技有限责任公司 一种实现内容保护的终端设备及其传输方法
CN102045333A (zh) * 2010-06-29 2011-05-04 北京飞天诚信科技有限公司 一种安全报文过程密钥的生成方法
CN102891753A (zh) * 2012-09-25 2013-01-23 深圳市文鼎创数据科技有限公司 动态令牌初始化的方法及装置
CN103312507A (zh) * 2013-05-09 2013-09-18 重庆邮电大学 一种移动支付鉴权加密方法
CN104639561A (zh) * 2015-02-27 2015-05-20 飞天诚信科技股份有限公司 一种安全获取密钥的方法

Also Published As

Publication number Publication date
CN105635114A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
AU2017223133B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN108566381A (zh) 一种安全升级方法、装置、服务器、设备和介质
CN109274503A (zh) 分布式协同签名方法及分布式协同签名装置、软盾系统
CN101431406B (zh) 具有业务流可见性的端到端的网络安全
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN105635114B (zh) 一种口令校验方法及系统
Velliangiri et al. An efficient lightweight privacy-preserving mechanism for industry 4.0 based on elliptic curve cryptography
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN114614994B (zh) Api接口数据的通信方法、装置、客户端及存储介质
CN109257347A (zh) 适于银企间数据交互的通信方法和相关装置、存储介质
CN114143117B (zh) 数据处理方法及设备
CN106452791A (zh) 一种无信任中心的量子数字签名方法
CN110636067A (zh) 数据加密方法、数据解密方法和装置
CN102222188A (zh) 一种信息系统用户密码的生成方法
ES2926968T3 (es) Una primera entidad, una segunda entidad, un nodo intermedio, métodos para establecer una sesión segura entre una primera y una segunda entidad, y productos de programa informático
Nielson et al. Practical Cryptography in Python: Learning Correct Cryptography by Example
JP5932709B2 (ja) 送信側装置および受信側装置
CN111506295A (zh) 一种数据处理方法、系统及相关设备
CN111800384A (zh) 基于区块链的金融服务应用管理方法及装置
CN111768266A (zh) 基于区块链和5g网络技术的商城商品购物系统
TWI811178B (zh) 基於多方多因子動態強加密認證之資通安全方法與系統
Kwofie et al. Cloud Security: Using Advance Encryption Standard Algorithm to Secure Cloud data at Client Side and Taking Measures to protect its Secrecy
Khan et al. In-Depth Analysis of Cryptographic Algorithms for Cloud-Database Security
CN111711950A (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