CN110062002A - 一种鉴权方法及相关产品 - Google Patents
一种鉴权方法及相关产品 Download PDFInfo
- Publication number
- CN110062002A CN110062002A CN201910353240.2A CN201910353240A CN110062002A CN 110062002 A CN110062002 A CN 110062002A CN 201910353240 A CN201910353240 A CN 201910353240A CN 110062002 A CN110062002 A CN 110062002A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- private key
- signing messages
- random code
- 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.)
- Pending
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
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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)
Abstract
本发明提供一种鉴权方法及相关产品,该鉴权方法,包括:当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;根据所述随机代码与所述客户端对应的私钥生成签名信息;发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。本发明提供的鉴权方法,采用服务端发送随机代码,而客户端将私钥和随机代码相结合产生签名信息并发送到服务端进行验证的方式,从而避免在传输过程中,可能暴露私钥的可能,与现有技术中相比,随机代码针对每一个客户端不同,从而进一步地防止了可能产生的私钥泄露风险,能够在保证客户端获取服务端授权的情况下,提高抗丢失、防黑客攻击盗用的能力。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种鉴权方法及相关产品。
背景技术
当前很多软件和技术的输出方式都是云化而不是直接提供软件image,采用BS架构或者CS架构。由于某些软件的运行需要强大的计算能力,例如高性能计算中心、高性能服务器,不是小的客户端比如PC或者手机所能运行的,所以这种架构越来越流行。譬如石油天然气行业的油藏模拟软件一般都采用这种架构。
在现有技术的架构中,需要解决什么样的客户端拥有云端软件、高性能计算中心、高性能服务器的使用权限的问题,这个问题的本质是身份认证。即识别出访问者的身份,确定他是否有权限使用云端软件的服务。身份识别的本质是对方拥有独一无二的别人不具备的一个特征,比如一个密码,或者一个口令,或者一个指纹等等。
现有的技术一般采用授予用户名和密码的方式。比如经过商务洽谈成功之后,会给予对方一个用户名和密码。用户凭借输入用户名和密码的方式来访问云端提供的服务。但这个方式有个弊端:不抗丢失,也就是说,在用户名和密码丢失后,很容易被盗用。而在一些比较昂贵大型的软件授权,例如油藏模拟软件这样的软件授权,一份都价值百万左右,如果丢失了就会产生报废重新生成等等一系列操作。这会增加管理成本,也会给服务器带来盗用风险。
因此,如何提供一种鉴权方案,能够在保证客户端获取服务端授权的情况下,提高抗丢失、防黑客攻击盗用的能力,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种鉴权方法及相关产品,以能够在保证客户端获取服务端授权的情况下,提高抗丢失、防黑客攻击盗用的能力。
根据本发明的第一方面,本发明提供一种鉴权方法,用于客户端,包括:
当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
根据所述随机代码与所述客户端对应的私钥生成签名信息;
发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
进一步地,所述私钥的生成过程如下:
生成公钥及其对应的私钥;
将所述私钥存储于客户端;
将所述公钥上传到服务端,以便服务端存储所述公钥以及所述公钥与客户端的对应关系。
进一步地,所述将所述私钥存储于客户端,包括:
将所述私钥采用门限秘密共享算法分为N份影子数据,其中所述N为大于1的整数;
将N份所述影子数据分发到N个子客户端进行存储,以便当所述客户端需要私钥时从所述N个子客户端恢复私钥。
进一步地,
当客户端向服务端发送授权申请信息时,向N个所述子客户端请求影子数据;
判断是否接收到预设数量份影子数据;
如果是,则利用所述预设数量份影子数据恢复私钥,以供所述客户端使用。
进一步地,
在所述发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权之后,还包括:
将所述私钥从所述客户端删除。
根据本发明的第二方面,本发明提供一种鉴权方法,用于服务端,,包括:
当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
进一步地,
所述利用与所述私钥相对应的公钥确定是否对所述客户端进行授权,包括:
如果服务端存储的公钥与所述签名信息中的私钥对应,则许可所述客户端的授权申请,以便所述客户端利用所述服务端的软件服务;
如果服务端存储的公钥与所述签名信息中的私钥不对应,则拒绝所述客户端的授权申请。
根据本发明的第三方面,本发明提供一种客户端电子设备,包括:
随机代码接收模块,用于当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
签名信息生成模块,用于根据所述随机代码与所述客户端对应的私钥生成签名信息;
签名信息发送模块,用于发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
优选地,还包括:
私钥公钥生成模块,用于生成公钥及其对应的私钥;
私钥存储模块,用于将所述私钥存储于客户端;
公钥上传模块,用于将所述公钥上传到服务端,以便服务端存储所述公钥以及所述公钥与客户端的对应关系。
优选地,
所述私钥存储模块,包括:
私钥分份单元,用于将所述私钥采用门限秘密共享算法分为N份影子数据,其中所述N为大于1的整数;
影子数据存储单元,用于将N份所述影子数据分发到N个子客户端进行存储,以便当所述客户端需要私钥时从所述N个子客户端恢复私钥。
优选地,
影子数据请求模块,用于当客户端向服务端发送授权申请信息时,向N个所述子客户端请求影子数据;
预设份数判断模块,用于判断是否接收到预设数量份影子数据;
私钥恢复模块,用于如果接收到预设数量份影子数据,则利用所述预设数量份影子数据恢复私钥,以供所述客户端使用。
优选地,还包括:
私钥删除模块,用于在所述发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权之后,将所述私钥从所述客户端删除。
根据本发明的第四方面,本发明提供一种服务端设备,包括:
随机代码发送模块,用于当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
签名信息接收模块,用于接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
授权确定模块,用于利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
优选地,
所述授权确定模块,包括:
授权许可单元,用于如果服务端存储的公钥与所述签名信息中的私钥对应,则许可所述客户端的授权申请,以便所述客户端利用所述服务端的软件服务;
授权拒绝模块,用于如果服务端存储的公钥与所述签名信息中的私钥不对应,则拒绝所述客户端的授权申请。
根据本发明的第五方面,本发明提供一种鉴权系统,包括:客户端电子设备与服务端设备;
所述客户端电子设备,包括:
随机代码接收模块,用于当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
签名信息生成模块,用于根据所述随机代码与所述客户端对应的私钥生成签名信息;
签名信息发送模块,用于发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权;
所述服务端设备,包括:
随机代码发送模块,用于当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
签名信息接收模块,用于接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
授权确定模块,用于利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
根据本发明的第六方面,本发明提供一种客户端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述第一方面任一项所述的鉴权方法的步骤。
根据本发明的第七方面,本发明提供一种计算机可读存储介质,,所述计
算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时
实现如上述第一方面任一项所述鉴权方法的步骤。
根据本发明的第八方面,本发明提供一种服务端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述第二方面所述的鉴权方法的步骤。
根据本发明的第九方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面所述鉴权方法的步骤。
本发明提供一种鉴权方法,用于客户端,包括:当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;根据所述随机代码与所述客户端对应的私钥生成签名信息;发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。本发明提供的鉴权方法,采用服务端发送随机代码,而客户端将私钥和随机代码相结合产生签名信息并发送到服务端进行验证的方式,从而避免在传输过程中,可能暴露私钥的可能,与现有技术中相比,随机代码针对每一个客户端不同,从而进一步地防止了可能产生的私钥泄露风险,能够在保证客户端获取服务端授权的情况下,提高抗丢失、防黑客攻击盗用的能力。
本发明提供的其他产品和方法也具有相同或相应的技术特征,具有上述相同的技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明一种具体实施方式所提供的一种鉴权方法的流程图;
图2为本发明一种具体实施方式所提供的一种公私钥生成的流程图;
图3为本发明一种具体实施方式所提供的一种客户端生成公私钥的示意图;
图4为本发明一种具体实施方式所提供的一种门限秘密共享算法对私钥进行存储的流程图;
图5为本发明一种具体实施方式所提供的一种门限秘密共享算法对私钥进行恢复的流程图;
图6为本发明又一种具体实施方式中所提供的一种鉴权方法的流程图;
图7为本发明一种具体实施方式所提供的一种客户端电子设备的组成结构示意图;
图8为本发明一种具体实施方式所提供的一种客户端电子设备的拓展组成结构示意图;
图9为本发明一种具体实施方式所提供的一种客户端电子设备的私钥存储模块组成结构示意图;
图10为本发明一种具体实施方式所提供的一种客户端电子设备的又一拓展组成结构示意图;
图11为本发明一种具体实施方式所提供的一种服务端设备的组成结构示意图;
图12为本发明一种具体实施方式所提供的一种服务端设备的授权确定模块组成结构示意图;
图13为本发明一种具体实施方式所提供的一种鉴权系统的组成结构示意图;
图14为本发明又一种具体实施方式所提供的客户端设备的结构示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明一种具体实施方式所提供的一种鉴权方法的流程图;图2为本发明一种具体实施方式所提供的一种公私钥生成的流程图;图3为本发明一种具体实施方式所提供的一种客户端生成公私钥的示意图;图4为本发明一种具体实施方式所提供的一种门限秘密共享算法对私钥进行存储的流程图;图5为本发明一种具体实施方式所提供的一种门限秘密共享算法对私钥进行恢复的流程图。
在本发明的一种具体实施方式中,本发明实施例提供一种鉴权方法,用于客户端,包括:
步骤S11:当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
在本发明实施例中,当客户端需要服务端的一些服务时,这时可以向服务端发送授权申请信息,例如,对于油藏模拟软件的模拟,由于计算量非常大,只能在具有高性能计算能力的服务器上进行,这时操作人员可以通过客户端向服务器发送授权申请信息,服务端在收到客户端发送的授权申请信息后,自身随机产生随机代码,也就是一个字符串,可以是一个随机数,当然也可以是其他的字符,并将该随机代码发送到客户端,客户端接收该随机代码。
步骤S12:根据所述随机代码与所述客户端对应的私钥生成签名信息;
客户端在即受到随机代码后,将客户端自身存储的私钥与该随机代码结合,生成签名信息。例如在一种实施例中,可以采用身份签名算法来进行签名信息的生成,具体可以进行以下步骤:(1)给定任意长度随机数M,使用哈希算法H处理M得到摘要e,即
e=H(M),使得
(2)随机选取计算点K=kG。
(3)计算r=xKmodn=XkGmodn,即r是点K的横坐标对n取余所得的余数。
(4)计算k-1mdn。
(5)计算s=k-1(e+rd)modn。
则客户端对随机数M的签名就是(r,s)。
步骤S13:发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
签名信息发送到服务器后,服务器本身存储有上述的随机代码,而且也有与私钥相对应的私钥,因此,可以验证客户端端发送的签名信息是否正确。
具体地,在一种实施例中,可以利用身份验签算法对客户端发送的签名信息进行验证,具体步骤如下:
(1)云端同样对随机数M使用哈希算法H处理M得到摘要e,即e=H(M),使得
(2)计算u1=s-1e modn,u2=s-1r modn。
(3)计算点U=u1G+u2Q;
(4)取点U的横坐标v=xU mod n,判断是否有v==r?如果v==r则签名验证成功,否则签名验证失败。
当然,也可以采用其他的验证方法,对公钥私钥进行验证。
另外,这里我们再补充一下正确性证明:
U=u1G+u2Q=s-1emodn G+s-1rmodnQ
=s-1emodn G+s-1rmodndG
=(s-1emodn+s-1rmodnd)G
=s-1(e+rd)modn G
=(k-1(e+rd)modn)-1(e+rd)modn G
=(k-1)-1(e+rd)-1(e+rd)modn G
=kmodn G
=K
进一步地,下面对私钥的生成过程进行说明,私钥的生成过程如下:
步骤S21:生成公钥及其对应的私钥;
步骤S22:将所述私钥存储于客户端;
步骤S23:将所述公钥上传到服务端,以便服务端存储所述公钥以及所述公钥与客户端的对应关系。
在本实施例中,首先客户端需要生成公私钥对,也就是说公钥与私钥具有对应关系,例如,可以利用客户端生成公私钥对<publickey,privatekey>。客户端随机选取作为私钥,则公钥Q=dG。在一种实施方式中,可以采用Elliptic curve cryptography,也就是椭圆曲线密码学来进行公钥私钥对的生成。客户端将私钥保存好,公钥则可以通过任意信道发送给云端。这样密钥就生成好了。当然,也可以服务生成公私钥对,分发给客户端保存。
(2)客户端将公钥上传云端保存。云端则建立用户及其公钥的匹配关系数据库。如下表所示,表1位存储的公钥与客户端的对应关系表。
表1存储的公钥与客户端的对应关系表
用户ID | Publickey |
1 | publickey_1 |
2 | publickey_2 |
3 | publickey_3 |
4 | publickey_4 |
5 | publickey_5 |
。。。。。。 | 。。。。。。 |
在上述具体实施方式的基础上,本具体实施方式中,为了增强私钥的安全性,防止客户端被黑客攻破导致的私钥泄露,所述将所述私钥存储于客户端,包括:
步骤S31:将所述私钥采用门限秘密共享算法分为N份影子数据,其中所述N为大于1的整数;
步骤S32:将N份所述影子数据分发到N个子客户端进行存储,以便当所述客户端需要私钥时从所述N个子客户端恢复私钥。
进一步地,
步骤S33:当客户端向服务端发送授权申请信息时,向N个所述子客户端请求影子数据;
步骤S34:判断是否接收到预设数量份影子数据;
步骤S35:如果是,则利用所述预设数量份影子数据恢复私钥,以供所述客户端使用。
在本实施例中,将秘钥采用门限秘密共享算法利用N个子客户端进行共享时,
首先客户端根据自己的需要选定n和t,其中n表示他愿意给多少个子客户端分发影子,t表示要想恢复出私钥至少需要多少个影子。然后选定大素数及其伽罗华域,其上有相应的缩剩余类循环乘群任意选取随机数at-1,at-2,…...,a2,记M=privatekey,构造二元一次同余方程y=(at-1xt-1+at-2xt-2+......+a2x2+|a1x1+M)modP这个方程将决定二维平面上的一条曲线。
在这条曲线上任意选取n个点(x1,y1),(x2,y2),......,(xn,yn),使得然后将at-1,at-2,..….,a2,a1丢弃,同时将(x1,y1)作为第一份影子发给子客户端1,将(x2,y2)作为第2份影子发给子客户端2,……,将(xn,yn)作为第n份影子发给子客户端n。这样就完成了门限秘密共享算法,将私钥M分享给了n个子客户端。
逆门限秘密共享算法描述如下:
客户端回收到t份影子之后,就能够写出t个t元一次方程,这t个方程组成t元一次方程组,并且这个方程组有且只有一组解。
求这个解就能够得到at-1,at-2,……,a2,a1,M的值,从而恢复出privatekey=M,也就恢复了秘钥M。
在上述具体实施方式的基础上,本具体实施方式中,为了防止客户端保存的私钥泄露,可以在所述发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权之后,还包括:将所述私钥从所述客户端删除。
请参考图6,图6为本发明又一种具体实施方式中所提供的一种鉴权方法的流程图。
在本发明的又一种具体实施方式中,与上述的客户端相对应地,在服务端,也就是服务器、计算中心等终端,也具有相对应的鉴权方法,本发明提供一种鉴权方法,用于服务端,包括:
步骤S61:当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
步骤S62:接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
步骤S63:利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
具体地,在一种具体实施方式中,步骤如下:(1)Server(服务端)端生成一个随机数,并将这个随机数发送给client(客户端);(2)Client端对这个随机数使用自己所具备的独一无二的私钥进行数字签名;(3)Client端将这个数字签名发送给Server端;(4)Server端对这个数字签名使用相应的公钥进行验证,如果验证通过,则身份认证通过这个Client可以使用云端服务器提供的软件服务,否则身份认证失败这个Client不可以使用云端服务器提供的软件服务,当然也可以是其他的服务。
进一步地,
所述利用与所述私钥相对应的公钥确定是否对所述客户端进行授权,包括:
如果服务端存储的公钥与所述签名信息中的私钥对应,则许可所述客户端的授权申请,以便所述客户端利用所述服务端的软件服务;
如果服务端存储的公钥与所述签名信息中的私钥不对应,则拒绝所述客户端的授权申请。
本发明实施例提供的鉴权方案将不怕客户端的秘钥丢失,并且在身份认证的过程中,不需要信道加密或者信元加密就可以保证整个过程的安全。并且能够大大提高系统的防黑客攻击能力。
请参考图7,图7为本发明一种具体实施方式所提供的一种客户端电子设备的组成结构示意图;图8为本发明一种具体实施方式所提供的一种客户端电子设备的拓展组成结构示意图;图9为本发明一种具体实施方式所提供的一种客户端电子设备的私钥存储模块组成结构示意图;图10为本发明一种具体实施方式所提供的一种客户端电子设备的又一拓展组成结构示意图。
在本发明的一种具体实施方式中,本发明实施例提供一种客户端电子设备700,包括:
随机代码接收模块710,用于当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
签名信息生成模块720,用于根据所述随机代码与所述客户端对应的私钥生成签名信息;
签名信息发送模块730,用于发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
优选地,还包括:
私钥公钥生成模块740,用于生成公钥及其对应的私钥;
私钥存储模块750,用于将所述私钥存储于客户端;
公钥上传模块760,用于将所述公钥上传到服务端,以便服务端存储所述公钥以及所述公钥与客户端的对应关系。
优选地,
所述私钥存储模块750,包括:
私钥分份单元751,用于将所述私钥采用门限秘密共享算法分为N份影子数据,其中所述N为大于1的整数;
影子数据存储单元752,用于将N份所述影子数据分发到N个子客户端进行存储,以便当所述客户端需要私钥时从所述N个子客户端恢复私钥。
优选地,
影子数据请求模块770,用于当客户端向服务端发送授权申请信息时,向N个所述子客户端请求影子数据;
预设份数判断模块780,用于判断是否接收到预设数量份影子数据;
私钥恢复模块790,用于如果接收到预设数量份影子数据,则利用所述预设数量份影子数据恢复私钥,以供所述客户端使用。
优选地,还包括:
私钥删除模块711,用于在所述发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权之后,将所述私钥从所述客户端删除。
请参考图11,图11为本发明一种具体实施方式所提供的一种服务端设备的组成结构示意图;图12为本发明一种具体实施方式所提供的一种服务端设备的授权确定模块组成结构示意图。
在本发明的又一具体实施方式中,本发明实施例提供一种服务端设备1100,包括:
随机代码发送模块1110,用于当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
签名信息接收模块1120,用于接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
授权确定模块1130,用于利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
优选地,
所述授权确定模块1130,包括:
授权许可单元1131,用于如果服务端存储的公钥与所述签名信息中的私钥对应,则许可所述客户端的授权申请,以便所述客户端利用所述服务端的软件服务;
授权拒绝模块1132,用于如果服务端存储的公钥与所述签名信息中的私钥不对应,则拒绝所述客户端的授权申请。
请参考图13,图13为本发明一种具体实施方式所提供的一种鉴权系统的组成结构示意图。
根据本发明的第五方面,本发明提供一种鉴权系统1300,包括:客户端电子设备1310与服务端设备1320;
所述客户端电子设备1310,包括:
随机代码接收模块1311,用于当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
签名信息生成模块1312,用于根据所述随机代码与所述客户端对应的私钥生成签名信息;
签名信息发送模块1313,用于发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权;
所述服务端设备1320,包括:
随机代码发送模块1321,用于当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
签名信息接收模块1322,用于接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
授权确定模块1323,用于利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
请参考图14,图14为本发明又一种具体实施方式所提供的客户端设备的结构示意图。
在本发明的又一种具体实施方式中,本发明实施例提供一种客户端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种具体实施方式所述的鉴权方法的步骤。
下面参考图14,其示出了适于用来实现本申请实施例的客户端设备的结构示意图。图14示出的客户端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括处理器(CPU)1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。在RAM 1403中,还存储有系统1400操作所需的各种程序和数据。
CPU 1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1403也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1407。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器(CPU)1401执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为本发明的又一具体实施方式,本发明实施例提供一种计算机可读存储介质所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意具体实施方式中的鉴权方法的步骤。
该计算机可读介质可以是上述实施例中描述的计算机或终端设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;根据所述随机代码与所述客户端对应的私钥生成签名信息;发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的又一种具体实施方式中,本发明实施例提供一种服务端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述具体实施方式中所述的鉴权方法的步骤。
本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述具体实施方式中的所述鉴权方法的步骤。
本发明提供一种鉴权方法,采用服务端发送随机代码,而客户端将私钥和随机代码相结合产生签名信息并发送到服务端进行验证的方式,从而避免在传输过程中,可能暴露私钥的可能,与现有技术中相比,随机代码针对每一个客户端不同,从而进一步地防止了可能产生的私钥泄露风险,能够在保证客户端获取服务端授权的情况下,提高抗丢失、防黑客攻击盗用的能力。
本发明提供的其他产品和方法也具有相同或相应的技术特征,具有上述相同的技术效果,在此不再赘述。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种鉴权方法,用于客户端,其特征在于,包括:
当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
根据所述随机代码与所述客户端对应的私钥生成签名信息;
发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
2.根据权利要求1所述的鉴权方法,其特征在于,所述私钥的生成过程如下:
生成公钥及其对应的私钥;
将所述私钥存储于客户端;
将所述公钥上传到服务端,以便服务端存储所述公钥以及所述公钥与客户端的对应关系。
3.根据权利要求2所述的鉴权方法,其特征在于,
所述将所述私钥存储于客户端,包括:
将所述私钥采用门限秘密共享算法分为N份影子数据,其中所述N为大于1的整数;
将N份所述影子数据分发到N个子客户端进行存储,以便当所述客户端需要私钥时从所述N个子客户端恢复私钥。
4.根据权利要求3所述的鉴权方法,其特征在于,
当客户端向服务端发送授权申请信息时,向N个所述子客户端请求影子数据;
判断是否接收到预设数量份影子数据;
如果是,则利用所述预设数量份影子数据恢复私钥,以供所述客户端使用。
5.根据权利要求1至4任一项所述的鉴权方法,其特征在于,在所述发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权之后,还包括:
将所述私钥从所述客户端删除。
6.一种鉴权方法,用于服务端,其特征在于,包括:
当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
7.根据权利要求6所述的鉴权方法,其特征在于,
所述利用与所述私钥相对应的公钥确定是否对所述客户端进行授权,包括:
如果服务端存储的公钥与所述签名信息中的私钥对应,则许可所述客户端的授权申请,以便所述客户端利用所述服务端的软件服务;
如果服务端存储的公钥与所述签名信息中的私钥不对应,则拒绝所述客户端的授权申请。
8.一种客户端电子设备,其特征在于,包括:
随机代码接收模块,用于当客户端向服务端发送授权申请信息时,接收所述服务端发送的随机代码;
签名信息生成模块,用于根据所述随机代码与所述客户端对应的私钥生成签名信息;
签名信息发送模块,用于发送所述签名信息至所述服务端,以便所述服务端利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
9.一种服务端设备,其特征在于,包括:
随机代码发送模块,用于当接收到到客户端发送的授权申请信息时,向所述客户端发送随机代码;
签名信息接收模块,用于接收所述客户端发送的签名信息;其中,所述签名信息为所述客户端根据所述随机代码与所述客户端对应的私钥生成的;
授权确定模块,用于利用与所述私钥相对应的公钥确定是否对所述客户端进行授权。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述鉴权方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353240.2A CN110062002A (zh) | 2019-04-29 | 2019-04-29 | 一种鉴权方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910353240.2A CN110062002A (zh) | 2019-04-29 | 2019-04-29 | 一种鉴权方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110062002A true CN110062002A (zh) | 2019-07-26 |
Family
ID=67321411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910353240.2A Pending CN110062002A (zh) | 2019-04-29 | 2019-04-29 | 一种鉴权方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110062002A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365492A (zh) * | 2019-08-01 | 2019-10-22 | 深圳市网心科技有限公司 | 一种鉴权方法、系统、设备及介质 |
CN110635899A (zh) * | 2019-09-03 | 2019-12-31 | 核芯互联科技(青岛)有限公司 | 一种ibc用户密钥更新方法及装置 |
CN111101809A (zh) * | 2019-12-18 | 2020-05-05 | 杭州翼兔网络科技有限公司 | 一种保险箱控制方法、装置及介质 |
CN112543102A (zh) * | 2019-09-20 | 2021-03-23 | 云控蜂核(北京)科技有限公司 | 一种抗丢失且云端可干预的密钥存储方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183932A (zh) * | 2007-12-03 | 2008-05-21 | 宇龙计算机通信科技(深圳)有限公司 | 一种无线应用服务的安全认证系统及其注册和登录方法 |
CN102905260A (zh) * | 2012-09-18 | 2013-01-30 | 北京天威诚信电子商务服务有限公司 | 移动终端的数据传输的安全与认证系统 |
US20150200918A1 (en) * | 2014-01-16 | 2015-07-16 | Muzhar Khokhar | Multi Layered Secure Data Storage and Transfer Process |
CN109039990A (zh) * | 2017-06-08 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 基于验证码进行行为验证的方法及装置 |
-
2019
- 2019-04-29 CN CN201910353240.2A patent/CN110062002A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183932A (zh) * | 2007-12-03 | 2008-05-21 | 宇龙计算机通信科技(深圳)有限公司 | 一种无线应用服务的安全认证系统及其注册和登录方法 |
CN102905260A (zh) * | 2012-09-18 | 2013-01-30 | 北京天威诚信电子商务服务有限公司 | 移动终端的数据传输的安全与认证系统 |
US20150200918A1 (en) * | 2014-01-16 | 2015-07-16 | Muzhar Khokhar | Multi Layered Secure Data Storage and Transfer Process |
CN109039990A (zh) * | 2017-06-08 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 基于验证码进行行为验证的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365492A (zh) * | 2019-08-01 | 2019-10-22 | 深圳市网心科技有限公司 | 一种鉴权方法、系统、设备及介质 |
CN110635899A (zh) * | 2019-09-03 | 2019-12-31 | 核芯互联科技(青岛)有限公司 | 一种ibc用户密钥更新方法及装置 |
CN110635899B (zh) * | 2019-09-03 | 2022-10-25 | 核芯互联科技(青岛)有限公司 | 一种ibc用户密钥更新方法及装置 |
CN112543102A (zh) * | 2019-09-20 | 2021-03-23 | 云控蜂核(北京)科技有限公司 | 一种抗丢失且云端可干预的密钥存储方法 |
CN111101809A (zh) * | 2019-12-18 | 2020-05-05 | 杭州翼兔网络科技有限公司 | 一种保险箱控制方法、装置及介质 |
CN111101809B (zh) * | 2019-12-18 | 2021-05-14 | 湖南金正科技有限公司 | 一种保险箱控制方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110062002A (zh) | 一种鉴权方法及相关产品 | |
CN110336774B (zh) | 混合加密解密方法、设备及系统 | |
CN105007279B (zh) | 认证方法和认证系统 | |
CN109274503A (zh) | 分布式协同签名方法及分布式协同签名装置、软盾系统 | |
US8713323B2 (en) | Codeword-enhanced peer-to-peer authentication | |
CN108566381A (zh) | 一种安全升级方法、装置、服务器、设备和介质 | |
CN107634832B (zh) | 字符串加密、验证方法、装置、计算机可读存储介质 | |
CN110351096A (zh) | 多重签名方法、签名中心、介质及电子设备 | |
CN110380862A (zh) | 签名验证方法、装置、计算机设备和存储介质 | |
CN113347206A (zh) | 一种网络访问方法和装置 | |
US20210377048A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
CN109660534B (zh) | 基于多商户的安全认证方法、装置、电子设备及存储介质 | |
CN113742709B (zh) | 信息的处理方法、装置、可读介质和电子设备 | |
CN110690969B (zh) | 一种多方协同完成双向ssl/tls认证的方法和系统 | |
CN112035827A (zh) | 密码数据处理方法、装置、设备以及可读存储介质 | |
CN115333857A (zh) | 基于智慧城市系统云平台数据防篡改的检测方法 | |
CN106411520B (zh) | 一种虚拟资源数据的处理方法、装置及系统 | |
KR102329221B1 (ko) | 블록체인 기반 사용자 인증 방법 | |
US20220263663A1 (en) | Digital Signature Method, Signature Information Authentication Method, And Relevant Electronic Devices | |
CN109005187A (zh) | 一种通信信息保护方法及装置 | |
US11528134B2 (en) | Authentication using transformation verification | |
CN110098928B (zh) | 一种协同签名的密钥生成方法及装置 | |
CN111355584B (zh) | 用于生成区块链多重签名的方法和装置 | |
CN110868285B (zh) | 认证方法、服务器、系统和计算机可读存储介质 | |
CN112242978B (zh) | 一种处理数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |