CN105827412B - 认证方法、服务器及客户端 - Google Patents
认证方法、服务器及客户端 Download PDFInfo
- Publication number
- CN105827412B CN105827412B CN201610143832.8A CN201610143832A CN105827412B CN 105827412 B CN105827412 B CN 105827412B CN 201610143832 A CN201610143832 A CN 201610143832A CN 105827412 B CN105827412 B CN 105827412B
- Authority
- CN
- China
- Prior art keywords
- client
- private key
- signature
- server
- result
- 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
- 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
- H04L9/3249—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 using RSA or related signature schemes, e.g. Rabin scheme
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了认证方法、服务器和客户端,其中一种身份认证方法可以应用于服务器上,服务器分别与客户端与第三方相连,该方法包括:响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端;响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果;第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。本申请实施例可以提高身份认证的安全性和易用性。
Description
技术领域
本申请涉及互联网数据安全领域,特别涉及认证方法、服务器及客户端。
背景技术
目前,随着互联网的发展,越来越多的用户使用互联网进行沟通和交易,因为不同的用户会设置不同的密码等,因此,在用户进行涉及身份安全的交易或者登陆操作时,就需要对用户进行身份认证,以保证网络交互的安全性。
发明内容
但是发明人在研究过程中发现,现有技术在进行身份认证的时候,一般会采用以文件形式作为数字证书载体的数字签名方法,但是这种方法需要客户端保存私钥,而客户端由于存在不稳定因素,所以私钥泄漏或者丢失的风险很大,也因此,使得现有技术中的身份认证方法的安全性极低。相应的,也影响了用户在使用互联网进行数据传输或者交互的体验。
因此需要提出一种互联网上身份认证的方法和系统,来改进这种需要客户端保存私钥的认证方式,让用户享受便捷的同时有更高的安全保证。
基于此,本申请提供了应用于服务器的认证方法和应用于客户端侧的身份认证方法,用以提高互联网数据交互和处理的安全性。
本申请还提供了一种服务器和客户端,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种身份认证方法,该方法应用于服务器上,服务器分别与客户端与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该方法可以包括:
响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端;
响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其中,所述第一签名结果通过以下方式得到:所述客户端将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥,并使用所述完整的用户端私钥对用户提交的签名原文进行数字签名,得到第一签名结果;
在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果;
将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,在第一签名结果验证不通过的情况下,还包括:
向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
其中,所述响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证,包括:
响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书;
使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
本申请还公开了一种认证方法,该方法应用于客户端上,所述客户端与服务器相连,所述服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该方法包括:
响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求;
响应于服务器返回所述第一部分用户私钥,将所述第一部分用户私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥;
使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果;
将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,在所述服务器对所述第一签名结果验证不通过的情况下,还包括:
接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
本申请还公开了一种服务器,所述服务器分别与客户端与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该服务器包括:
第一发送模块,用于响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端;
第一验证模块,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其中,所述第一签名结果通过以下方式得到:所述客户端将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥,并使用所述完整的用户端私钥对用户提交的签名原文进行数字签名,得到第一签名结果;
第一数字签名模块,用于在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果;
第二发送模块,用于将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,还包括:
返回错误提示模块,用于向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
其中,所述第一验证模块包括:
获取子模块,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书;
验证子模块,用于使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
本申请还公开了一种客户端,所述客户端与服务器相连,所述服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该客户端包括:
第三发送模块,用于响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求;
组成证书模块,用于响应于服务器返回所述第一部分用户私钥,将所述第一部分用户私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥;
第二数字签名模块,用于使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果;
第四发送模块,用于将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,还包括:
接收错误提示模块,用于接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
与现有技术相比,本申请包括以下优点:
在本申请实施例中,由于服务器和客户端分别各自保存了一部分客户端私钥,因此,即便客户端把自己保存的那部分客户端私钥丢失或者泄露,服务器的另外一部分客户端私钥不丢失就不会影响身份认证的过程,这样也防止了客户端私钥被静态分析的可能性;因此提高了身份认证的安全性。同时,服务器接收到的是签名原文的哈希运算结果,并不会在身份认证过程中获取到签名原文,因此也保证了用户和第三方之间的交易安全性。此外,由于用户的云端私钥直接在服务器保存,云端公钥证书在第三方保存,这样就使得客户端即便在卸载等的非正常情况下,也不影响身份认证的过程,又提高了身份认证的易用性。自然,也使得用户在进行互联网数据交互的时候,不仅安全可靠,还方便易操作,提升了用户的使用体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的应用于服务器端的认证方法实施例的流程图;
图2是本申请的方法实施例在实际应用中的结构图;
图3是本申请的应用于客户端上的身份认证方法实施例的流程图;
图4是本申请的服务器实施例的结构框图;
图5是本申请的客户端实施例的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,示出了本申请一种身份认证方法实施例的流程图,本实施例可以应用于服务器上,该服务器中存储有用户终端和认证终端一一对应的绑定关系;该方法可以包括以下步骤:
步骤101:响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端。
在本实施例中,假设用户通过操作智能终端上安装的客户端触发了一次身份认证,例如,在用户进行交易或者涉及账号密码等更新的时候,就需要进行身份认证,在这种情况下,用户可以将身份认证信息提交给客户端,而客户端则可以通过该智能终端向服务器提交一个私钥获取请求。其中,客户端可以是前述智能终端上安装的手机APP。
需要说明的是,本实施例中的客户端私钥并没有仅仅保存在客户端侧,而是分为两部分,将第一部分客户端私钥提前发送给服务器,由服务器来保存第一部分客户端私钥,而剩余的第二部分客户端私钥再保存在本地客户端。在实际应用中,假设客户端私钥有10个字符串,则可以按照顺序将前5个字符串作为第一部分客户端私钥,后5个字符串作为第二部分私钥;当然,也可以将后5个字符串作为第一部分客户端私钥,相应的,则前5个字符串就是第二部分客户端私钥。当然,“5”仅仅是一个具体示例,本领域技术人员也可以选择4个或6个作为第一部分客户端私钥,只要在实际中将完整的客户端私钥分为两个部分即可,本申请实施例中并不限定如何划分,这并不影响本申请实施例的实现。
在本申请实施例中,服务器不仅与客户端相连,还与第三方相连。参考图2所示,为实际应用中的场景框架图。其中,服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书。在本申请实施例中,用户的私钥并不是放在本地客户端保存,而是由服务器保存用户的私钥,由第三方存储对应的公钥证书,因此,分别称为云端私钥和云端公钥证书。其中,服务器保存了用户的私钥,在用户需要的时候再从服务器中获取,这样就避免了客户端丢失私钥的情况。
步骤102:响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证,如果验证通过,进入步骤103,如果验证不通过,进入步骤105。
其中,客户端请求到服务器侧保存的第一部分客户端私钥之后,自身保存有第二部分客户端私钥,则可以将两者进行合并,从而组成完成的客户端私钥。客户端再使用该完整的用户端私钥对用户向客户端提交的签名原文进行数字签名,得到第一签名结果,例如一串字符串或者数字等。其中,数字签名的算法可以采用例如RSA算法或者SM2算法等。这里的签名原文即是步骤101中的身份认证信息,如果本次身份认证涉及到账号密码的变更,则身份认证信息可以包括账号信息,旧密码信息和新密码信息等,如果本次身份认证涉及到转账信息,则身份认证信息可以包括当前账号信息,对方账号信息,以及转账金额信息等。
客户端接着还可以对签名原文通过哈希算法得到签名原文的哈希运算结果。哈希(Hash)算法,即散列函数,它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。最后,客户端将第一签名结果和签名原文的哈希运算结果都发送给服务器,以便服务器使用客户端公钥证书对所述第一签名结果进行验证。
具体的,服务器进行验证的步骤可以包括:
步骤A1:响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书。
其中,服务器在接收到客户端发送的第一签名结果和签名原文的哈希运算结果后,服务器先获取自身保存的、与所述客户端私钥对应的客户端公钥证书。客户端私钥和客户端公钥证书是一对数字证书,客户端私钥用于客户端对签名原文进行数字签名,客户端公钥证书用于服务器对第一签名信息进行验签。
步骤A2:使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
服务器再使用获取到的客户端公钥证书对所述第一签名结果进行验证。
步骤103:在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果。
如果在步骤102中服务器对第一签名结果验证通过,则服务器继续使用自身保存的当前用户的云端私钥对签名原文的哈希运算结果进行数字签名,得到第二签名结果。其中,数字签名的算法仍然可以采用例如RSA算法或者SM2算法等,服务器只需要和进行验签的第三方之间约定好算法即可。
步骤104:将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
服务器再将第二签名结果和哈希运算结果一起发送给第三方,以便第三方根据自身保存的云端公钥证书对所述第二签名结果进行验证。其中,第三方指的是需要和服务器进行交互以实现对第二签名结果进行的终端或服务器。对于第三方来说,仅需要保存用户的云端公钥证书即可,第三方采用和服务器相同的签名算法对第二签名结果进行验签,如果得到的验签结果和哈希运算结果一致,则验签通过,反之则不通过。如果第三方验签不通过,则会将验签不通过的结果信息通知服务器,服务器则拒绝客户端发起的本次身份认证请求。
步骤105:向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
假设在步骤102中验证不通过,则说明客户端的用户身份不是正确的用户身份,例如,账号和密码错误,或者转账密码错误等,则服务器可以向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过,并拒绝客户端提交的本次身份认证请求。
可见,在本申请实施例中,由于服务器和客户端分别各自保存了一部分客户端私钥,因此,即便客户端把自己保存的那部分客户端私钥丢失或者泄露,服务器的另外一部分客户端私钥不丢失就不会影响身份认证的过程,这样也防止了客户端私钥被静态分析的可能性;因此提高了身份认证的安全性。同时,服务器接收到的是签名原文的哈希运算结果,并不会在身份认证过程中获取到签名原文,因此也保证了用户和第三方之间的交易安全性。此外,由于用户的云端私钥直接在服务器保存,云端公钥证书在第三方保存,这样就使得客户端即便在卸载等的非正常情况下,也不影响身份认证的过程,又提高了身份认证的易用性。自然,也使得用户在进行互联网数据交互的时候,不仅安全可靠,还方便易操作,提升了用户的使用体验。
参考图3,示出了本申请一种认证方法实施例的流程图,本实施例可以应用于客户端上,客户端与服务器相连,服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;本实施例可以包括以下步骤:
步骤301:响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求。
在本实施例中,与上一个实施例的不同之处在于,执行主体为客户端。用户在进行交易或者登陆等涉及身份安全的操作时,向客户端提交交易信息或者登陆信息等作为签名原文,即,触发了认证请求之后,客户端向服务器发送私钥获取请求,该私钥获取请求用于请求服务器返回第一部分客户端私钥。
步骤301:响应于服务器返回所述第一部分用户私钥,将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥。
在本实施例中,如果服务器向客户端返回了第一部分用户私钥,则客户端先将第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥。其中,客户端和服务器可以预先约定好客户端私钥如何划分为两个部分,以及哪个部分保存在哪里,以便后续客户端可以准确无误的组合出第二部分客户端私钥。
步骤303:使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果。
客户端在使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果。
步骤304:将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
客户端还可以将签名原文进行哈希运算,从而得到签名原文的哈希运算结果,再将第一签名结果和签名原文的哈希运算结果发送至所述服务器,由服务器在对所述第一签名结果进行验证,并在验证通过的情况下,使用自身保存的当前用户的云端私钥对该哈希运算结果进行数字签名,得到第二签名结果,然后服务器再将所述第二签名结果和哈希运算结果发送至第三方,由第三方根据自身保存的云端公钥证书对所述第二签名结果进行验证,如果对比哈希运算结果相同,则说明验证通过,则通过所述当前用户的交易请求。
进一步的,在所述服务器对所述第一签名结果验证不通过的情况下,还可以包括:
客户端接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
在本申请实施例中,由于服务器和客户端分别各自保存了一部分客户端私钥,因此,即便客户端把自己保存的那部分客户端私钥丢失或者泄露,服务器的另外一部分客户端私钥不丢失就不会影响身份认证的过程,这样也防止了客户端私钥被静态分析的可能性;因此提高了身份认证的安全性。同时,服务器接收到的是签名原文的哈希运算结果,并不会在身份认证过程中获取到签名原文,因此也保证了用户和第三方之间的交易安全性。此外,由于用户的云端私钥直接在服务器保存,云端公钥证书在第三方保存,这样就使得客户端即便在卸载等的非正常情况下,也不影响身份认证的过程,又提高了身份认证的易用性。自然,也使得用户在进行互联网数据交互的时候,不仅安全可靠,还方便易操作,提升了用户的使用体验。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种身份认证方法实施例所提供的方法相对应,参见图4,本申请还提供了一种服务器实施例,在本实施例中,所述服务器分别与客户端与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该服务器可以包括:
第一发送模块401,用于响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端。
第一验证模块402,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其中,所述第一签名结果通过以下方式得到:所述客户端将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥,并使用所述完整的用户端私钥对用户提交的签名原文进行数字签名,得到第一签名结果。
其中,所述第一验证模块402可以包括:
获取子模块,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书;和,验证子模块,用于使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
第一数字签名模块403,用于在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果。
第二发送模块404,用于将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,该装置还可以包括:
返回错误提示模块405,用于向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
在本申请实施例中,由于服务器和客户端分别各自保存了一部分客户端私钥,因此,即便客户端把自己保存的那部分客户端私钥丢失或者泄露,服务器的另外一部分客户端私钥不丢失就不会影响身份认证的过程,这样也防止了客户端私钥被静态分析的可能性;因此提高了身份认证的安全性。同时,服务器接收到的是签名原文的哈希运算结果,并不会在身份认证过程中获取到签名原文,因此也保证了用户和第三方之间的交易安全性。此外,由于用户的云端私钥直接在服务器保存,云端公钥证书在第三方保存,这样就使得客户端即便在卸载等的非正常情况下,也不影响身份认证的过程,又提高了身份认证的易用性。自然,也使得用户在进行互联网数据交互的时候,不仅安全可靠,还方便易操作,提升了用户的使用体验。
与上述本申请一种身份认证方法实施例所提供的方法相对应,参考图5所示,本申请还提供了一种客户端实施例,在本实施例中,所述客户端与服务器相连,所述服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该客户端可以包括:
第三发送模块501,用于响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求。
组成证书模块502,用于响应于服务器返回所述第一部分用户私钥,将所述第一部分用户私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥。
第二数字签名模块503,用于使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果。
第四发送模块504,用于将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
其中,该客户端还可以包括:
接收错误提示模块505,用于接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
在本申请实施例中,由于服务器和客户端分别各自保存了一部分客户端私钥,因此,即便客户端把自己保存的那部分客户端私钥丢失或者泄露,服务器的另外一部分客户端私钥不丢失就不会影响身份认证的过程,这样也防止了客户端私钥被静态分析的可能性;因此提高了身份认证的安全性。同时,服务器接收到的是签名原文的哈希运算结果,并不会在身份认证过程中获取到签名原文,因此也保证了用户和第三方之间的交易安全性。此外,由于用户的云端私钥直接在服务器保存,云端公钥证书在第三方保存,这样就使得客户端即便在卸载等的非正常情况下,也不影响身份认证的过程,又提高了身份认证的易用性。自然,也使得用户在进行互联网数据交互的时候,不仅安全可靠,还方便易操作,提升了用户的使用体验。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的认证方法、服务器和客户端进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种认证方法,其特征在于,该方法应用于服务器上,所述服务器分别与客户端与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该方法包括:
响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端;
响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其中,所述第一签名结果通过以下方式得到:所述客户端将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥,并使用所述完整的客户端私钥对用户提交的签名原文进行数字签名,得到第一签名结果;
在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果;
将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
2.根据权利要求1所述的方法,其特征在于,在第一签名结果验证不通过的情况下,还包括:
向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
3.根据权利要求1所述的方法,其特征在于,所述响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证,包括:
响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书;
使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
4.一种认证方法,其特征在于,该方法应用于客户端上,所述客户端与服务器相连,所述服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该方法包括:
响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求;
响应于服务器返回所述第一部分客户端私钥,将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥;
使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果;
将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
5.根据权利要求4所述的方法,其特征在于,在所述服务器对所述第一签名结果验证不通过的情况下,还包括:
接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
6.一种服务器,其特征在于,所述服务器分别与客户端与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该服务器包括:
第一发送模块,用于响应于当前用户通过客户端发送的私钥获取请求,将所述第一部分客户端私钥发送给所述客户端;
第一验证模块,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,使用客户端公钥证书对所述第一签名结果进行验证;其中,所述第一签名结果通过以下方式得到:所述客户端将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥,并使用所述完整的客户端私钥对用户提交的签名原文进行数字签名,得到第一签名结果;
第一数字签名模块,用于在第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果;
第二发送模块,用于将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
7.根据权利要求6所述的服务器,其特征在于,还包括:
返回错误提示模块,用于向客户端返回错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
8.根据权利要求6所述的服务器,其特征在于,所述第一验证模块包括:
获取子模块,用于响应于当前用户通过客户端发送的第一签名结果和签名原文的哈希运算结果,服务器获取自身保存的、与所述客户端私钥对应的客户端公钥证书;
验证子模块,用于使用所述获取到的客户端公钥证书对所述第一签名结果进行验证。
9.一种客户端,其特征在于,所述客户端与服务器相连,所述服务器与第三方相连,所述服务器中存储有第一部分客户端私钥和用户的云端私钥,所述第三方存储有所述用户的云端公钥证书;该客户端包括:
第三发送模块,用于响应于当前用户触发的认证请求,向所述服务器发送私钥获取请求;
组成证书模块,用于响应于服务器返回所述第一部分客户端私钥,将所述第一部分客户端私钥和自身存储的第二部分客户端私钥组成完整的客户端私钥;
第二数字签名模块,用于使用所述完整的客户端私钥对用户触发的交易信息进行数字签名,得到第一签名结果;
第四发送模块,用于将所述第一签名结果和签名原文的哈希运算结果发送至所述服务器,以便所述服务器在对所述第一签名结果验证通过的情况下,使用所述当前用户的云端私钥对所述哈希运算结果进行数字签名,得到第二签名结果,以及,将所述第二签名结果和所述哈希运算结果发送至第三方,以便所述第三方根据云端公钥证书对所述第二签名结果和哈希运算结果进行验证,如果验证通过,则通过所述当前用户的交易请求。
10.根据权利要求9所述的客户端,其特征在于,还包括:
接收错误提示模块,用于接收服务器返回的错误提示,所述错误提示用于提示所述当前用户本次认证不通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143832.8A CN105827412B (zh) | 2016-03-14 | 2016-03-14 | 认证方法、服务器及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610143832.8A CN105827412B (zh) | 2016-03-14 | 2016-03-14 | 认证方法、服务器及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105827412A CN105827412A (zh) | 2016-08-03 |
CN105827412B true CN105827412B (zh) | 2019-01-08 |
Family
ID=56987737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610143832.8A Active CN105827412B (zh) | 2016-03-14 | 2016-03-14 | 认证方法、服务器及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827412B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933338A (zh) * | 2016-06-24 | 2016-09-07 | 收付宝科技有限公司 | 一种用于进行虚拟卡交易的方法和装置 |
CN106533678B (zh) * | 2016-07-06 | 2019-09-13 | 天津米游科技有限公司 | 一种基于多重签名的登录方法及其系统 |
CN106161036B (zh) * | 2016-08-18 | 2019-04-23 | 福建联迪商用设备有限公司 | 一种授信的终端状态转换方法和系统 |
CN108092947B (zh) * | 2016-11-23 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种对第三方应用进行身份鉴别的方法及装置 |
CN106685651A (zh) * | 2016-12-22 | 2017-05-17 | 北京信安世纪科技有限公司 | 一种客户端和服务端协作生成数字签名的方法 |
CN107070896B (zh) * | 2017-03-20 | 2020-03-20 | 智牛股权投资基金(平潭)合伙企业(有限合伙) | 一种安全高效的区块链网络客户化登录方法及安全加固系统 |
CN109309565B (zh) * | 2017-07-28 | 2021-08-10 | 中国移动通信有限公司研究院 | 一种安全认证的方法及装置 |
CN109660534B (zh) * | 2018-12-15 | 2022-01-28 | 平安科技(深圳)有限公司 | 基于多商户的安全认证方法、装置、电子设备及存储介质 |
US10758660B2 (en) * | 2018-12-21 | 2020-09-01 | Fresenius Medical Care Holdings, Inc. | Dialysis system with artificial intelligence |
CN109510711B (zh) * | 2019-01-08 | 2022-04-01 | 深圳市网心科技有限公司 | 一种网络通信方法、服务器、客户端及系统 |
CN109951291B (zh) * | 2019-02-18 | 2022-04-15 | 四川迪佳通电子有限公司 | 基于可信执行环境的内容共享方法及装置、多媒体设备 |
CN110581897A (zh) * | 2019-09-30 | 2019-12-17 | 山东浪潮通软信息科技有限公司 | 一种单向网络环境下实现两个系统之间数据交互的方法 |
CN111080295B (zh) * | 2019-12-04 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 一种基于区块链的电子合同处理方法以及设备 |
CN111242761A (zh) * | 2019-12-31 | 2020-06-05 | 航天信息股份有限公司 | 一种安全税控系统 |
CN111275419B (zh) * | 2020-01-17 | 2023-04-11 | 上海简苏网络科技有限公司 | 一种区块链钱包签名确权方法、装置及系统 |
CN111818072B (zh) * | 2020-07-16 | 2022-04-15 | 中国联合网络通信集团有限公司 | 数字证书的验证方法、用户节点及认证授权中心 |
CN112600796B (zh) * | 2020-11-27 | 2023-01-10 | 互联网域名系统北京市工程研究中心有限公司 | 防劫持的DNS over HTTP方法和系统 |
CN113037494B (zh) * | 2021-03-02 | 2023-05-23 | 福州汇思博信息技术有限公司 | 一种烧片镜像文件签名方法及终端 |
CN113067703B (zh) * | 2021-03-19 | 2022-09-20 | 上海摩联信息技术有限公司 | 终端设备数据上链方法及系统 |
CN114743287B (zh) * | 2021-03-29 | 2024-02-02 | 万加合一数字科技集团有限公司 | 一种区块链考勤装置及其方法 |
CN113268722B (zh) * | 2021-05-17 | 2022-04-26 | 时昕昱 | 一种个人数字身份管理系统与方法 |
CN113542305B (zh) * | 2021-08-11 | 2023-04-07 | 苏州同济区块链研究院有限公司 | 基于见证人端及共享对称密钥的区块链存证方法及系统 |
CN113612789B (zh) * | 2021-08-11 | 2023-04-07 | 苏州同济区块链研究院有限公司 | 基于见证人端及共享公钥的区块链存证方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465735A (zh) * | 2008-12-19 | 2009-06-24 | 北京大学 | 网络用户身份验证方法、服务器及客户端 |
US20140337634A1 (en) * | 2013-05-08 | 2014-11-13 | Google Inc. | Biometric Authentication Substitute For Passwords On A Wearable Computing Device |
CN104994095A (zh) * | 2015-07-01 | 2015-10-21 | 赛肯(北京)科技有限公司 | 一种设备认证方法、客户端、服务器及系统 |
-
2016
- 2016-03-14 CN CN201610143832.8A patent/CN105827412B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465735A (zh) * | 2008-12-19 | 2009-06-24 | 北京大学 | 网络用户身份验证方法、服务器及客户端 |
US20140337634A1 (en) * | 2013-05-08 | 2014-11-13 | Google Inc. | Biometric Authentication Substitute For Passwords On A Wearable Computing Device |
CN104994095A (zh) * | 2015-07-01 | 2015-10-21 | 赛肯(北京)科技有限公司 | 一种设备认证方法、客户端、服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105827412A (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105827412B (zh) | 认证方法、服务器及客户端 | |
Ellison | Ceremony design and analysis | |
CN106209763B (zh) | 一种登录方法及系统 | |
Canetti et al. | Universally composable authentication and key-exchange with global PKI | |
US8352738B2 (en) | Method and apparatus for secure online transactions | |
CN105515783B (zh) | 身份认证方法、服务器及认证终端 | |
ES2372128T3 (es) | Método y sistema para fomentar las comunicaciones seguras. | |
CN108055253A (zh) | 一种软件登录验证方法、装置及系统 | |
CN106100848A (zh) | 基于智能手机和用户口令的双因子身份认证系统及方法 | |
US10367849B2 (en) | Method and system for detecting phishing page | |
CN103944889B (zh) | 一种网络用户在线身份认证的方法和认证服务器 | |
CN105897721B (zh) | 验证金融卡用户身份可靠性的方法及装置 | |
CN109245897B (zh) | 一种基于非交互的零知识证明的节点认证方法和装置 | |
CN105591745A (zh) | 对使用第三方应用的用户进行身份认证的方法和系统 | |
CN105741116B (zh) | 一种快捷支付方法、装置及系统 | |
CN110233850A (zh) | 基于联盟链的注册方法、应用服务器、用户端以及系统 | |
CN110445792A (zh) | 验证码生成方法、验证码验证方法和验证码登录系统 | |
Van Dam | Analysing the signal protocol | |
CN103368831A (zh) | 一种基于熟客识别的匿名即时通讯系统 | |
CN110166471A (zh) | 一种Portal认证方法及装置 | |
CN109327475B (zh) | 一种多层身份认证方法、装置、设备及存储介质 | |
CN105338004B (zh) | 云环境下低性能设备适用的具有隐私保护的公开审计方法 | |
Shah | Image based authentication system | |
Hossain et al. | Generation of one-time keys for single line authentication | |
CN112669033A (zh) | 基于fido设备的交易认证方法及fido设备 |
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 |