CN111130798A - 一种请求鉴权方法及相关设备 - Google Patents
一种请求鉴权方法及相关设备 Download PDFInfo
- Publication number
- CN111130798A CN111130798A CN201911352579.7A CN201911352579A CN111130798A CN 111130798 A CN111130798 A CN 111130798A CN 201911352579 A CN201911352579 A CN 201911352579A CN 111130798 A CN111130798 A CN 111130798A
- Authority
- CN
- China
- Prior art keywords
- account
- server
- request
- client
- request message
- 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.)
- Granted
Links
Images
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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例适用于密码技术领域中的信息加解密,公开了一种请求鉴权方法及相关设备,所述方法包括:服务器获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间,生成第一签名标签;服务器将第一签名标签发送给客户端;服务器接收客户端发送的所述请求消息,根据请求消息中携带的第一账户的账户标识获取对应存储的第一签名标签,并将请求消息中携带的业务请求与对应存储的第一签名标签拼接后进行第一哈希运算,得到业务请求的验证摘要值;服务器在确定请求消息中携带的请求摘要值与验证摘要值一致的情况下,执行请求消息中携带的业务请求对应的业务操作。通过本发明可以提高客户端和服务器之间交互的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种请求鉴权方法及相关设备。
背景技术
随着互联网技术的发展,用户可以通过客户端线上完成很多业务操作,用户在线上业务操作过程时,通常有自己注册的账号,通过客户端向业务服务器触发对账户的登录验证,在登录验证成功后,客户端可以向业务服务器发送业务请求,如转账请求、支付请求等,业务服务器接收到来自登录成功的客户端的业务请求后,执行业务请求对应的业务操作。这一过程中,服务器只要对客户端上的账户的登录验证成功,就无条件的信任来自该客户端的IP地址的业务请求,那么,一些不法分子就在服务器对客户端的登录验证通过后,趁机伪装成该客户端的IP地址,进而与服务器进行业务交互,例如,伪装成登录成功的客户端的IP地址向服务器申请向不法分子自己的账户转移资金等,就会给用户的财产带来损失。可见,这种针对业务请求的鉴权方式,使得客户端和服务器之间存在较大的安全风险,给客户端和服务器的数据安全带来威胁。
发明内容
本申请提供一种请求鉴权方法及相关设备,通过本发明可以提高客户端和服务器之间交互的安全性,保证客户端和服务器的数据安全。
本发明实施例第一方面提供了一种请求鉴权方法,包括:
服务器在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签;
所述服务器将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
所述服务器接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
所述服务器确定所述第一账户对应的账户级别;
所述服务器根据所述第一账户对应的账户级别,确定所述第一签名标签的第一有效期限;
所述服务器按照所述第一有效期限周期性地获取实时系统时间;
所述服务器根据所述第一账户的账户标识以及获取到的实时系统时间,生成第二签名标签,根据第二签名标签更新所述服务器中与所述第一账户的账户标识对应存储的所述第一签名标签以及所述客户端存储的所述第一签名标签。
结合第一方面,在第二种可能的实现方式中,所述服务器在针对第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成针对所述第一账户的第一签名标签包括:
所述服务器针对所述第一账户生成标签随机数;
所述服务器将所述第一账户的账户标识、当前系统时间以及所述标签随机数进行拼接,并使用所述服务器的服务器私钥对拼接后的值进行加密,得到所述第一签名标签。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签之后,所述将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算之前,还包括:
所述服务器获取与所述请求消息中携带的第一账户的账户标识对应存储的所述第一签名标签,并通过所述服务器的公钥解密对应存储的所述第一签名标签;
所述服务器获取解密后的所述第一签名标签,并提取所述第一签名标签携带的系统时间,在根据所述第一签名标签携带的系统时间确定所述第一签名标签处于有效期限内时,触发所述将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算。
结合第一方面,在第四种可能的实现方式中,所述服务器将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述客户端包括:
所述服务器对所述第一签名标签进行第二哈希运算,并通过所述服务器的服务器私钥对第二哈希运算得到的值进行加密,得到所述第一签名标签的标签签名值;
所述服务器将所述第一签名标签以及所述标签签名值发送给所述客户端,以使所述客户端通过所述服务器的服务器公钥对所述标签签名值进行验签,并在验签通过后执行所述存储所述第一签名标签。
结合第一方面,在第五种可能的实现方式中,所述方法还包括:
所述服务器接收所述客户端发送的密钥,所述客户端发送的密钥为通过所述服务器的服务器公钥加密的对称加密密钥;
所述服务器通过所述服务器的服务器私钥对所述客户端发送的密钥进行解密,得到所述对称加密密钥;
所述服务器将所述第一账户的账户标识以及所述第一签名标签对应存储,并将所述第一签名标签发送给所述客户端包括:
所述服务器将所述第一签名标签通过所述对称加密密钥进行加密,得到加密标签,并将所述加密标签发送给所述客户端,以使所述客户端通过所述对称加密密钥对接收到的所述加密标签进行解密,得到所述第一签名标签,并执行所述存储所述第一签名标签。
本发明实施例第二方面提供了一种请求鉴权方法,包括:
客户端向服务器申请第一账户的登录验证,以使所述服务器对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
所述客户端接收并存储所述服务器发送的所述第一签名标签;
所述客户端在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
所述客户端将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:
所述客户端生成对称加密密钥,并通过所述服务器的服务器公钥对所述对称加密密钥进行加密;
所述客户端将对所述对称加密密钥进行加密后得到的密钥发送给所述服务器,以使所述服务器通过所述服务器的服务器私钥,对所述客户端发送的密钥进行解密,得到所述对称加密密钥;
所述客户端生成携带所述业务请求、所述请求签名值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器包括:
所述客户端通过所述对称加密密钥对所述请求消息加密,并将加密后的所述请求消息发送给所述服务器,以使所述服务器通过所述对称加密密钥对所述客户端发送的加密后的所述请求消息进行解密,得到解密后的所述请求消息,并触发所述通过所述客户端的客户端公钥对所述请求消息中的请求签名值解密,得到所述业务请求的第一验证摘要值。
结合第二方面,在第二种可能的实现方式中,所述方法还包括:
所述客户端通过所述客户端的客户端私钥,对所述请求摘要值进行加密,得到加密后的请求摘要值;
所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器包括:
所述客户端生成携带所述业务请求、所述加密后的请求摘要值以及所述第一账户的账户标识的请求消息;
所述客户端将所述请求消息发送给所述服务器,以使所述服务器获取所述客户端的客户端公钥,并通过所述客户端公钥对所述请求消息中加密的请求摘要值进行解密,得到解密的请求摘要值,并执行所述根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签。
本发明实施例第三方面提供了一种服务器,包括:
标签生成模块,用于在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签;
标签发送模块,用于将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
请求接收模块,用于接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
摘要值验证模块,用于所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
本发明实施例第四方面提供了一种终端,包括:
登录申请模块,用于向服务器申请第一账户的登录验证,以使所述服务器对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
标签接收模块,用于接收并存储所述服务器发送的所述第一签名标签;
请求生成模块,用于在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
摘要值生成模块,用于将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
消息传输模块,用于生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
本发明实施例第五方面提供了一种请求鉴权装置,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行本发明实施例中上述任一方面中的方法。
本发明实施例第六方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述任一发面中的方法。
本发明实施例中,服务器在针对第一账户的登录验证通过的情况下,获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间生成针对第一账户的第一签名标签,服务器将第一账户的账户标识与第一签名标签对应存储,并将第一签名标签发送给触发对第一账户进行登录验证的客户端,客户端存储第一签名标签,并在生成任一针对服务器的业务请求的情况下,将业务请求与第一签名拼接,对拼接后的值进行第一哈希运算,得到业务请求的请求摘要值,进而客户端生成携带业务请求、请求摘要值以及第一账户的账户标识的请求消息发送给服务器,服务器接收到请求消息后,根据请求消息中携带的第一账户的账户标识获取与其对应存储的第一签名标签,并将请求消息中携带的业务请求与对应存储的第一签名标签拼接后进行第一哈希运算,得到业务请求的验证摘要值,进而服务器在确定请求消息中携带的请求摘要值与确定的验证摘要值一致的情况下,执行请求消息中携带的业务请求对应的业务操作。在第一账户登录成功后,服务器与客户端之间约定第一签名标签,客户端通过第一签名标签对业务请求进行拼接并计算摘要值,使得服务器可以有效识别出客户端以外的其他第三方恶意发出的,未经过第一签名标签拼接并计算摘要值的业务请求,进而提高了客户端和服务器之间交互的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种请求鉴权系统的架构示意图;
图2为本发明实施例提供的一种请求鉴权系统的流程示意图;
图3为本发明实施例提供的另一种请求鉴权方法的交互示意图;
图4是本发明实施例提供的一种服务器的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种请求鉴权装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例提供的一种请求鉴权系统的架构示意图,如图所示,所述请求鉴权系统至少可以包括服务器A和终端集群,所述终端集群可以包括至少一个终端,图1中示例性地示出了终端b、终端c和终端d这3个终端;服务器A为维护某一业务的服务器,该业务可以是金融业务、社交业务、资讯业务等任一业务,终端集群中的终端安装有针对该业务的客户端。如图1所示,终端b、终端c和终端d可以分别与服务器A进行网络连接,以便于每个终端与服务器A之间通过该网络连接进行数据交互。下面结合图2和图3介绍本发明实施例提供的请求鉴权方法,图2和图3对应的请求鉴权方法可以基于图1所述的请求鉴权系统实现。
参见图2,图2为本发明实施例提供的一种请求鉴权系统的流程示意图,如图所示,所述方法可以包括以下步骤:
S201,服务器在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签。
这里,服务器针对第一账户的登录验证是由客户端向服务器申请触发的,客户端在检测到用户针对第一账户的登录指令后,将登录指令中携带的第一账户的账户标识和身份验证标识发送给服务器,服务器将接收到的第一账户的身份验证标识与预存的第一账户的账户标识对应的身份验证标识进行比对,在比对通过的情况下,确定对第一账户的登录验证通过。
其中,第一账户的账户标识可以是第一账户对应的用户名、邮箱、手机号码等唯一标识;服务器预存的第一账户的账户标识对应的身份验证标识可以是用户在注册第一账户时与服务器约定的身份验证标识,如密码字符串、用户的指纹、面部图像、虹膜等生物特征信息等,也可以是用户触发登录指令之前,触发服务器为该用户即时生成的身份验证标识,如验证码等。
若服务器预存的身份验证标识时用户在注册第一账户时与服务器约定的身份验证标识,那么在服务器和客户端之间存在约定的不可逆加密算法,如MD5(Message-DigestAlgorithm,信息摘要算法)加密算法,可以用于在此时,客户端在向服务器发送第一账户的账户标识和身份验证标识时,将身份验证标识通过约定的不可逆加密算法进行加密后,与第一账户的账户标识一起发送给服务器;服务器进行登录验证时,将预存的身份验证标识采用约定的不可逆加密算法进行加密,将加密后的值与接收到的客户端发送的加密的身份验证标识进行比较,在二者一致的情况下,确定第一账户的登录验证通过。使用不可逆加密算法对身份验证标识进行加密,避免了第一账户的身份验证标识直接在服务器和客户端之间流通,降低了身份验证标识在直接流通过程中被盗用的风险。
可选的,客户端在向服务器发送第一账户的账户标识以及身份验证标识时,还可以将用户本次触发登录指令的时间戳同时发送给服务器,以使服务器可以根据接收到的时间戳判断针对第一账户的登录频率是否超过预设的频率阈值,以防止服务器收到高频率的恶意攻击。
进一步可选的,客户端可以生成针对第一账户本次登录后,用于后续交互消息加密的对称加密密钥,客户端可以获取服务器的服务器公钥,使用服务器公钥通过非对称加密算法,如RSA(ron Rivest-adi Shamir-leonard Adleman,罗纳德李维斯特-阿迪萨莫尔-伦纳德阿德曼)算法、SM2(椭圆曲线公钥密码算法)算法,对第一账户的账户标识、用户触发登录指令的时间戳、对称加密密钥以及经过不可逆加密算法加密过的身份验证标识进行加密后,发送给服务器,以使服务器通过服务器的服务器私钥进行解密后进行验证,并在验证均通过的情况下,建立第一账户标识与对称加密密钥的对应关系,以对第一账户本次登录后的交互消息进行对称加密或解密。进一步可选的,客户端也可以将第一账户的账户标识、用户触发登录指令的时间戳以及经过不可逆加密算法加密过的身份验证标识通过客户端的客户端私钥进行加密,单独将对称加密密钥通过服务器公钥加密,然后将上述加密后的两项数据发送给服务器。客户端通过服务器的公钥对对称加密密钥进行加密,即使加密后的对称加密密钥被他人恶意获取,由于不知道服务器的私钥,也无法获取对称加密密钥,提高安全性。
服务器对第一账户的登录验证通过后,生成针对第一账户的第一签名标签,具体的,服务器可以针对第一账户生成预设格式的标签随机数,然后将第一账户的账户标识、当前系统时间以及标签随机数进行拼接,拼接后通过服务器的服务器私钥进行非对称加密,得到第一账户的第一签名标签。其中非对称加密所使用的算法可以包括RSA算法、DSA(Digital Signature Algorithm,数字签名算法)、ECC(Error Checking and Correction,差错检测和修正)算法等。这里,将第一账户的账户标识以及第一账户本次登录的时间戳(就是生成第一签名标签所用的系统时间)添加进第一签名标签,可以使服务器在后续对第一签名标签进行验证时,首先验证第一签名标签是否是第一账户对应的签名标签,以及第一签名标签是否在有效期限内,赋予第一签名标签唯一对应性以及时效性,对客户端和服务器之间的交互提供了一进步的保障。
S202,所述服务器将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端。
服务器建立第一账户的账户标识与第一签名标签的对应关系,并将第一签名标签发送给客户端,以使客户端根据第一签名标签对针对服务器的业务请求计算摘要值,服务器在接收到摘要值后,根据第一账户的账户标识与第一签名标签的对应关系对摘要值进行验证。
这里,服务器将与第一签名标签对应存储的第一账户的账户标识可以是在对客户端进行登录验证过程中,用户提交的用户名、邮箱、手机号码等唯一标识;在另一种可实现的方式中,服务器还可以在针对第一账户的登录验证通过后,即时生成针对第一账户的账户标识标签,该账户标识标签可以是服务器随机生成的固定格式的标签,然后服务器将该账户标识标签与第一签名标签对应存储。
其中,在上述可选的实现方式中,服务器还将生成的第一账户的账户标识标签发送给客户端,关于客户端对账户标识标签的使用在后续步骤中详细介绍。
进一步可选的,服务器在向客户端发送第一签名标签或者发送第一账户的账户标识标签时,可以使用客户端发送的对称加密密钥加密后发送给客户端,客户端在接收到加密后的第一签名标签或者加密后的第一账户的账户标识后,可以使用对称加密密钥进行解密。
进一步的,服务器可以对第一签名标签进行第二哈希运算,并通过服务器的服务器私钥对第二哈希运算得到的值进行加密,得到第一签名标签的标签签名值,服务器将第一签名标签以及签名标签值发送给客户端,客户端通过服务器的服务器公钥对标签签名值解密,并通过第二哈希运算计算第一签名标签的验证签名值,若标签签名值与验证签名值一致的情况下,确定验签成功,以执行步骤S203。若服务器生成了第一账户的账户标识标签,可以在对第一标签签名时,同时对账户标识标签签名,生成共同的标签签名值,进而发送给客户端,使客户端对二者同时进行验签。
S203,所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息。
具体的,客户端存储第一签名标签,并实时检测用户是否针对第一账户触发业务操作指令,在检测到业务操作指令的情况下,客户端根据业务操作指令生成针对业务服务器的业务请求。上述业务操作指令可以是任意业务操作指令,例如,若服务器维护的业务是金融业务,用户针对这一业务的客户端触发的业务操作指令可以是转账指令、支付指令等,若服务器维护的业务是社交业务,用户针对这一业务的客户端触发的业务操作指令可以是添加好友指令、删除好友指令、互动消息发送指令等,若服务器维护的业务是资讯业务,用户针对这一业务的客户端触发的业务操作指令可以是转发指令、点赞指令等。
然后,客户端将业务请求中的请求参数按照字典顺序进行排列,然后将第一签名标签排列在最后面,将排列后的各个请求参数与第一签名标签按照排列顺序进行拼接,进而对拼接后的值进行第一哈希运算,得到业务请求的请求摘要值。客户端进而将第一账户的账户标识以及请求摘要值放在业务请求的头部,得到请求消息。
这里,客户端可以直接将在登录验证时发送给服务器的用户名、邮箱、手机号码等唯一标识作为第一账户的账户标识添加进请求消息;若客户端在步骤S202中接收到服务器发送的账户标识标签的情况下,客户端将接收到的账户标识标签作为第一账户的账户标识添加进请求消息。
可选的,客户端还可以预先与服务器约定,通过自己的客户端私钥对请求摘要值进行加密,那么客户端此时通过自己的客户端私钥对请求摘要值进行加密,进而根据得到的加密后的请求摘要值生成请求消息。
可选的,客户端还可以通过在登录验证过程中与服务器约定的对称加密密钥对请求消息进行加密,得到加密后的请求消息发送给服务器。
S204,所述服务器接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值。
具体的,服务器接收到客户端发送的请求消息后,提取请求消息中的第一账户的账户标识,进而根据预先存储的第一账户的账户标识与第一签名标签的对应关系,获取服务器存储的第一签名标签,然后服务器提取请求消息中的业务请求,将业务请求中的请求参数按照字典顺序排列后,将自身存储的第一签名标签排列在请求参数的最后面,然后将业务请求参数和第一签名标签按照排列顺序进行拼接,并对拼接后的值进行第一哈希运算,得到业务请求的验证摘要值。
可选的,若客户端与服务器在登录验证过程中约定了对称加密密钥,则服务器使用自身存储的第一账户的账户标识对应的对称加密密钥,对接收到的请求消息进行解密,进而提取其中的业务请求并计算验证摘要值。
进一步可选的,在服务器获取到自身预先存储的第一签名标签之后,可以通过自身的服务器公钥对自身预先存储的第一签名标签进行解密,获取其中的系统时间,根据系统时间判断第一签名标签是否处于有效期限内,仅当处于有效期限内的第一签名标签才能用于计算业务请求的验证摘要值。例如,若第一签名标签的有效期限为10分钟,第一签名标签在10分钟过后服务器需要再次对第一签名标签更新后使用,若在第5分钟时,用户通过客户端将第一账户退出登录,此时,服务器在10分钟时不再更新第一签名标签,而此时若在前5分钟客户端向服务器发送的请求消息被恶意的第三方获取,第三方在11分钟时,将获取到的请求消息不变的发送给服务器,这时服务器就可以及时发现第一签名标签已不在有效期限内,本次接收到的请求消息不合法。
S205,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
这里,客户端将确定的验证摘要值与请求消息中携带的请求摘要值进行比对,若二者一致,说明请求消息为来自客户端的可信请求消息,可以执行其中携带的业务请求的请求操作,否则丢弃该业务消息。
可选的,若客户端预先与服务器约定,在生成验证摘要值的过程中,通过客户端的客户端私钥对请求摘要值进行加密,那么服务器获取客户端的客户端私钥,并通过客户端私钥对接收到的请求消息中的请求摘要值进行解密,将解密后的请求摘要值与验证摘要值比对。
另一种可选的方式中,所述请求鉴权方法中服务器在生成针对第一账户的第一签名标签后,确定第一账户对应的账户级别,进而根据第一账户的账户级别确定第一签名标签的第一有效期限,进而服务器按照第一签名标签的第一有效期限周期性地获取实时系统时间,每获取一次实时系统时间,服务器根据第一账户的账户标识以及获取到的实时系统时间生成第二签名标签,并根据第二签名标签更新服务器中与第一账户的账户标识对应存储的第一签名标签以及客户端存储的第一签名标签。
本发明实施例中,服务器在针对第一账户的登录验证通过的情况下,获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间生成针对第一账户的第一签名标签,服务器将第一账户的账户标识与第一签名标签对应存储,并将第一签名标签发送给触发对第一账户进行登录验证的客户端,客户端存储第一签名标签,并在生成任一针对服务器的业务请求的情况下,将业务请求与第一签名拼接,对拼接后的值进行第一哈希运算,得到业务请求的请求摘要值,进而客户端生成携带业务请求、请求摘要值以及第一账户的账户标识的请求消息发送给服务器,服务器接收到请求消息后,根据请求消息中携带的第一账户的账户标识获取与其对应存储的第一签名标签,并将请求消息中携带的业务请求与对应存储的第一签名标签拼接后进行第一哈希运算,得到业务请求的验证摘要值,进而服务器在确定请求消息中携带的请求摘要值与确定的验证摘要值一致的情况下,执行请求消息中携带的业务请求对应的业务操作。在第一账户登录成功后,服务器与客户端之间约定第一签名标签,客户端通过第一签名标签对业务请求进行拼接并计算摘要值,使得服务器可以有效识别出客户端以外的其他第三方恶意发出的,未经过第一签名标签拼接并计算摘要值的业务请求,进而提高了客户端和服务器之间交互的安全性,保证客户端和服务器的数据安全。
参见图3,图3为本发明实施例提供的另一种请求鉴权方法的交互示意图,图3对应的请求鉴权方法涉及客户端和服务器,通过图3对应实施例中的各个步骤介绍服务器和客户端如何对第一签名标签进行存储和使用,如图所示,所述请求鉴权方法包括:
S301,客户端接收用户触发的针对第一账户的登录指令。
S302,服务器接收客户端申请的针对第一账户的登录验证。
在登录验证通过的情况下执行S303,
S303,服务器获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间生成针对第一账户的第一签名标签。
S304,服务器将第一账户的账户标识与第一签名标签对应存储。
S305,客户端接收服务器发送的第一账户的第一签名标签。
S306,客户端存储第一签名标签。
S307,服务器获取第一账户对应的账户级别,并根据第一账户对应的账户级别确定第一签名标签的第一有效期限。
服务器针对自身维护业务的账户可以划分不同的账户级别,这里账户级别可以根据业务的具体类型进行划分,例如,若服务器维护的业务为金融业务,可以按照账户的存款金额划分账户级别,存款余额高的账户对应高的账户级别,存款余额低的账户对应低的账户级别;若服务器维护的业务为社交业务,可以按照账户的注册时间划分账户级别,注册时间长的账户对应高的账户级别,注册时间短的账户对应低的账户级别;若服务器维护的业务为资讯业务,可以按照账户的资讯参与量划分账户级别,参与量高的用户对应高的账户级别,参与量低的用户对应低的账户级别。不同账户级别对应的签名标签有不同时长的有效期限,较高的账户级别其签名标签对应的有效期限较短。
可选的,服务器可以获取第一账户的业务数据参数,根据第一账户的业务数据参数,确定第一签名标签的第一有效期限。具体的,服务器可以获取自身维护系统的所有账户的业务数据参数,进而确定所有账户的平均业务数据参数,根据第一账户的业务数据参数、平均业务数据参数以及预设的标准有效期限,确定第一账户的业务数据参数。平均业务数据参数对应标准有效期限,根据第一账户的业务数据参数和平均业务数据参数的比例,以及标签有效期限确定第一账户的第一有效期限。例如,针对金融业务,服务器针对所有的个人资金账户,获取到的平均的存款余额为50万,第一账户的存款余额为10万,预设的标准有效期限为1min,则第一账户对应的第一有效期限为5min。针对社交业务,服务器针对所有社交账户获取到的注册年限为3年,第一账户的注册年限为4年,预设的标准有效期限为1min,则第一账户对应的第一有效期限为45s。针对资讯业务,服务器针对所有社交账户获取到的参与度为2次/1天,第一账户的参与度为1次/5天,则第一账户对应的第一有效期限为10min。
S308,服务器根据第一有效期限,周期性地判断第一账户是否退出登录。
服务器从生成第一签名标签开始,以第一有效期限为周期,判断第一账户是否退出登录,若退出,则不做处理,或者将第一账户的账户标识对应存储的第一签名标签删除,若未退出,执行S309。
S309,服务器获取实时系统时间,并根据第一账户的账户标识以及实时系统时间,生成针对第一账户的第二签名标签。
若第一账户未退出登录,服务器生成预设格式的标签随机数,并根据第一账户的账户标识、获取到的实时系统时间以及本次生成的标签随机数,生成第二签名标签。
S310,服务器根据第二签名标签更新自身存储的第一签名标签。
服务器将预存的第一签名标签删除,将第二签名标签作为新的第一签名标签,与第一账户的账户标识对应存储。
S311,客户端接收服务器发送的第二签名标签。
S312,客户端根据第二签名标签更新自身存储的第一签名标签。
客户端将存储的第一签名标签删除,并将第二签名标签作为新的第一签名标签存储。
S313,客户端生成第一针对服务器的业务请求。
S314,客户端将业务请求与第一签名标签拼接,并对拼接后的值进行第一哈希运算,得到请求摘要值。
S315,客户端生成携带业务请求、请求摘要值以及账户标识的请求消息。
S316,服务器接收客户端发送的请求消息。
S317,服务器根据请求消息中携带的第一账户的账户标识获取存储的第一签名标签。
S318,服务器将请求消息中携带的业务请求与获取的第一签名标签拼接后进行第一哈希运算,得到验证摘要值。
S319,服务器判断验证摘要值与请求消息中的请求摘要值是否一致。
一致的情况下执行S320。
S320,服务器执行业务请求对应的业务操作。
上述过程中,在每个第一签名标签更新的周期内,服务器和客户端分别使用各个周期内生成的最新的第一签名标签生成请求摘要值和验证请求摘要值。
本实施例中,通过客户端和服务器对第一标签签名的存储和周期性更新,提高第一签名在使用过程中的可靠性,同时针对不同的账户级别设置不同的有效期限,较高账户级别对应的签名标签更新较快,避免了设置统一的高的有效期限给较高账户级别的交互请求带来较高的安全风险,又避免了设置统一的低的有效期限给服务器带来过大的压力。
参见图4,图4是本发明实施例提供的一种服务器的结构示意图,如图所示,所述服务器40包括:
标签生成模块401,用于在针对第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成针对所述第一账户的第一签名标签,所述服务器针对所述第一账户的登录验证为客户端向所述服务器申请触发的;
标签发送模块402,用于将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
请求接收模块403,用于接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
摘要值验证模块404,用于所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
具体实现中,所述服务器可以通过其内置的各个功能模块执行如图2-图3的请求鉴权方法中服务器执行的各个步骤,具体实施细节可参阅图2-图3对应的实施例中各个步骤的实现细节,此处不再赘述。
本发明实施例中,在针对第一账户的登录验证通过的情况下,标签生成模块获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间生成针对第一账户的第一签名标签,标签发送模块将第一账户的账户标识与第一签名标签对应存储,并将第一签名标签发送给触发对第一账户进行登录验证的客户端,客户端存储第一签名标签,并在生成任一针对服务器的业务请求的情况下,将业务请求与第一签名拼接,对拼接后的值进行第一哈希运算,得到业务请求的请求摘要值,进而客户端生成携带业务请求、请求摘要值以及第一账户的账户标识的请求消息发送给请求接收模块,请求接收模块接收到请求消息后,根据请求消息中携带的第一账户的账户标识获取与其对应存储的第一签名标签,并将请求消息中携带的业务请求与对应存储的第一签名标签拼接后进行第一哈希运算,得到业务请求的验证摘要值,进而摘要值验证模块在确定请求消息中携带的请求摘要值与确定的验证摘要值一致的情况下,执行请求消息中携带的业务请求对应的业务操作。在第一账户登录成功后,服务器与客户端之间约定第一签名标签,客户端通过第一签名标签对业务请求进行拼接并计算摘要值,使得服务器可以有效识别出客户端以外的其他第三方恶意发出的,未经过第一签名标签拼接并计算摘要值的业务请求,进而提高了客户端和服务器之间交互的安全性,保证客户端和服务器的数据安全。
参见图5,图5是本发明实施例提供的一种终端的结构示意图,如图所示,所述终端50包括:
登录申请模块501,用于向服务器申请针对第一账户的登录验证,以使所述服务器针对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成针对所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
标签接收模块502,用于接收并存储所述服务器发送的所述第一签名标签;
请求生成模块503,用于在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
摘要值生成模块504,用于将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
消息传输模块505,用于生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
具体实现中,所述终端可以安装有图2和图3对应的实施例中涉及的客户端,进而通过其内置的各个功能模块执行如图2-图3的请求鉴权方法中客户端执行的各个步骤,具体实施细节可参阅图2-图3对应的实施例中各个步骤的实现细节,此处不再赘述。
本发明实施例中,登录申请模块向服务器申请针对第一账户的登录验证,服务器在针对第一账户的登录验证通过的情况下,获取第一账户的账户标识以及当前系统时间,根据第一账户的账户标识以及当前系统时间生成针对第一账户的第一签名标签,服务器将第一账户的账户标识与第一签名标签对应存储,并将第一签名标签发送给标签接收模块进行存储,在请求生成模块生成任一针对服务器的业务请求的情况下,摘要值生成模块将业务请求与第一签名拼接,对拼接后的值进行第一哈希运算,得到业务请求的请求摘要值,进而消息传输模块生成携带业务请求、请求摘要值以及第一账户的账户标识的请求消息发送给服务器,服务器接收到请求消息后,根据请求消息中携带的第一账户的账户标识获取与其对应存储的第一签名标签,并将请求消息中携带的业务请求与对应存储的第一签名标签拼接后进行第一哈希运算,得到业务请求的验证摘要值,进而服务器在确定请求消息中携带的请求摘要值与确定的验证摘要值一致的情况下,执行请求消息中携带的业务请求对应的业务操作。在第一账户登录成功后,服务器与客户端之间约定第一签名标签,客户端通过第一签名标签对业务请求进行拼接并计算摘要值,使得服务器可以有效识别出客户端以外的其他第三方恶意发出的,未经过第一签名标签拼接并计算摘要值的业务请求,进而提高了客户端和服务器之间交互的安全性,保证客户端和服务器的数据安全。
参见图6,图6是本发明实施例提供的一种请求鉴权装置的结构示意图。如图6所示,所述请求鉴权装置60可以包括:至少一个处理器601,例如CPU,至少一个网络接口604,用户接口603,存储器605,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏(Display)、键盘(Keyboard),可选用户接口603还可以包括标准的有线接口、无线接口。网络接口604可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器605可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选地还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
所述请求鉴权装置60可以应用于上述图1中的服务器中,在图6所示的请求鉴权装置60中,网络接口604可以用于连接安装有服务器所维护的业务对应客户端的终端;而用户接口603主要用于为用户提供输入的接口;而处理器601可以用于调用存储器605中存储的设备控制应用程序,以实现:
在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签;
将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
所述请求鉴权装置60还可以应用于上述图1中的终端中,在图6所示的请求鉴权装置60中,网络接口604可以用于连接服务器;而用户接口603主要用于为用户提供输入的接口;而处理器601可以用于调用存储器605中存储的设备控制应用程序,以实现:
向服务器申请第一账户的登录验证,以使所述服务器对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
接收并存储所述服务器发送的所述第一签名标签;
在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
应当理解,本发明实施例中所描述的请求鉴权装置60可执行前文图2、图3对应实施例中对所述服务器40或所述终端50的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的所述服务器40或所述终端50所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2、图3所对应实施例中对所述请求鉴权方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种请求鉴权方法,其特征在于,包括:
服务器在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签;
所述服务器将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
所述服务器接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器确定所述第一账户对应的账户级别;
所述服务器根据所述第一账户对应的账户级别,确定所述第一签名标签的第一有效期限;
所述服务器按照所述第一有效期限周期性地获取实时系统时间;
所述服务器根据所述第一账户的账户标识以及获取到的实时系统时间,生成第二签名标签,根据第二签名标签更新所述服务器中与所述第一账户的账户标识对应存储的所述第一签名标签以及所述客户端存储的所述第一签名标签。
3.根据权利要求1所述的方法,其特征在于,所述服务器在针对第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成针对所述第一账户的第一签名标签包括:
所述服务器针对所述第一账户生成标签随机数;
所述服务器将所述第一账户的账户标识、当前系统时间以及所述标签随机数进行拼接,并使用所述服务器的服务器私钥对拼接后的值进行加密,得到所述第一签名标签。
4.根据权利要求3所述的方法,其特征在于,所述根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签之后,所述将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算之前,还包括:
所述服务器获取与所述请求消息中携带的第一账户的账户标识对应存储的所述第一签名标签,并通过所述服务器的公钥解密对应存储的所述第一签名标签;
所述服务器获取解密后的所述第一签名标签,并提取所述第一签名标签携带的系统时间,在根据所述第一签名标签携带的系统时间确定所述第一签名标签处于有效期限内时,触发所述将所述请求消息中携带的业务请求与对应存储的所述第一签名标签拼接后进行第一哈希运算。
5.一种请求鉴权方法,其特征在于,包括:
客户端向服务器申请第一账户的登录验证,以使所述服务器对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
所述客户端接收并存储所述服务器发送的所述第一签名标签;
所述客户端在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
所述客户端将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述客户端生成对称加密密钥,并通过所述服务器的服务器公钥对所述对称加密密钥进行加密;
所述客户端将对所述对称加密密钥进行加密后得到的密钥发送给所述服务器,以使所述服务器通过所述服务器的服务器私钥,对所述客户端发送的密钥进行解密,得到所述对称加密密钥;
所述客户端生成携带所述业务请求、所述请求签名值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器包括:
所述客户端通过所述对称加密密钥对所述请求消息加密,并将加密后的所述请求消息发送给所述服务器,以使所述服务器通过所述对称加密密钥对所述客户端发送的加密后的所述请求消息进行解密,得到解密后的所述请求消息,并触发所述通过所述客户端的客户端公钥对所述请求消息中的请求签名值解密,得到所述业务请求的第一验证摘要值。
7.一种服务器,其特征在于,包括:
标签生成模块,用于在第一账户的登录验证通过的情况下,获取所述第一账户的账户标识以及当前系统时间,根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签;
标签发送模块,用于将所述第一账户的账户标识与所述第一签名标签对应存储,并将所述第一签名标签发送给所述第一账户登录的客户端,以使所述客户端存储所述第一签名标签,并在生成任一针对所述服务器的业务请求的情况下,将所述业务请求与所述第一签名标签拼接,对拼接后的值进行第一哈希运算得到所述业务请求的请求摘要值,所述客户端生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息;
请求接收模块,用于接收所述客户端发送的所述请求消息,根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值;
摘要值验证模块,用于所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
8.一种终端,其特征在于,包括:
登录申请模块,用于向服务器申请第一账户的登录验证,以使所述服务器对所述第一账户进行登录验证,并在登录验证通过的情况下获取所述第一账户的账户标识以及当前系统时间,所述服务器根据所述第一账户的账户标识以及所述当前系统时间,生成所述第一账户的第一签名标签,所述服务器还将所述第一账户的账户标识与所述第一签名标签对应存储;
标签接收模块,用于接收并存储所述服务器发送的所述第一签名标签;
请求生成模块,用于在接收到用户针对所述第一账户的任一业务操作指令的情况下,根据所述业务操作指令生成针对所述服务器的业务请求;
摘要值生成模块,用于将所述业务请求与所述第一签名标签进行拼接,对拼接后的值进行第一哈希运算,得到所述业务请求的请求摘要值;
消息传输模块,用于生成携带所述业务请求、所述请求摘要值以及所述第一账户的账户标识的请求消息,并将所述请求消息发送给所述服务器,以使所述服务器根据所述请求消息中携带的第一账户的账户标识获取对应存储的所述第一签名标签,并将所述请求消息中携带的业务请求与所述第一签名标签拼接后进行第一哈希运算,得到所述业务请求的验证摘要值,所述服务器在确定所述请求消息中携带的所述请求摘要值与所述验证摘要值一致的情况下,执行所述请求消息中携带的业务请求对应的业务操作。
9.一种请求鉴权装置,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-4任一项所述的方法,或执行如权利要求5-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-4任一项所述的方法,或执行如权利要求5-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352579.7A CN111130798B (zh) | 2019-12-24 | 2019-12-24 | 一种请求鉴权方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911352579.7A CN111130798B (zh) | 2019-12-24 | 2019-12-24 | 一种请求鉴权方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130798A true CN111130798A (zh) | 2020-05-08 |
CN111130798B CN111130798B (zh) | 2023-07-25 |
Family
ID=70502335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911352579.7A Active CN111130798B (zh) | 2019-12-24 | 2019-12-24 | 一种请求鉴权方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130798B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291201A (zh) * | 2020-09-30 | 2021-01-29 | 北京五八信息技术有限公司 | 业务请求的传输方法及装置、电子设备 |
CN113132365A (zh) * | 2021-04-07 | 2021-07-16 | 武汉光庭信息技术股份有限公司 | 车载T-Box的通信安全保护方法及系统 |
CN113543123A (zh) * | 2021-07-23 | 2021-10-22 | 闻泰通讯股份有限公司 | 无线网路动态设定权限方法与装置 |
CN113922952A (zh) * | 2021-09-30 | 2022-01-11 | 平安普惠企业管理有限公司 | 访问请求响应方法、装置、计算机设备和存储介质 |
CN114301688A (zh) * | 2021-12-29 | 2022-04-08 | 天翼物联科技有限公司 | 基于客户权限的登录校验方法、装置、物联网终端及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025741A (zh) * | 2010-12-07 | 2011-04-20 | 中国科学院软件研究所 | 一种两层架构的可信身份服务平台及其构建方法 |
US20140351596A1 (en) * | 2011-11-08 | 2014-11-27 | Ka Yin Victor Chan | Method, system and apparatus for authenticating user identity |
CN108701309A (zh) * | 2015-11-09 | 2018-10-23 | 罗杰·汉纳 | 一种用于电子商务交易安全的分布式用户简档身份验证系统 |
CN109618341A (zh) * | 2018-12-27 | 2019-04-12 | 无锡天脉聚源传媒科技有限公司 | 一种数字签名认证方法、系统、装置以及存储介质 |
-
2019
- 2019-12-24 CN CN201911352579.7A patent/CN111130798B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025741A (zh) * | 2010-12-07 | 2011-04-20 | 中国科学院软件研究所 | 一种两层架构的可信身份服务平台及其构建方法 |
US20140351596A1 (en) * | 2011-11-08 | 2014-11-27 | Ka Yin Victor Chan | Method, system and apparatus for authenticating user identity |
CN108701309A (zh) * | 2015-11-09 | 2018-10-23 | 罗杰·汉纳 | 一种用于电子商务交易安全的分布式用户简档身份验证系统 |
CN109618341A (zh) * | 2018-12-27 | 2019-04-12 | 无锡天脉聚源传媒科技有限公司 | 一种数字签名认证方法、系统、装置以及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291201A (zh) * | 2020-09-30 | 2021-01-29 | 北京五八信息技术有限公司 | 业务请求的传输方法及装置、电子设备 |
CN112291201B (zh) * | 2020-09-30 | 2023-06-20 | 北京五八信息技术有限公司 | 业务请求的传输方法及装置、电子设备 |
CN113132365A (zh) * | 2021-04-07 | 2021-07-16 | 武汉光庭信息技术股份有限公司 | 车载T-Box的通信安全保护方法及系统 |
CN113543123A (zh) * | 2021-07-23 | 2021-10-22 | 闻泰通讯股份有限公司 | 无线网路动态设定权限方法与装置 |
CN113543123B (zh) * | 2021-07-23 | 2024-02-20 | 闻泰通讯股份有限公司 | 无线网路动态设定权限方法与装置 |
CN113922952A (zh) * | 2021-09-30 | 2022-01-11 | 平安普惠企业管理有限公司 | 访问请求响应方法、装置、计算机设备和存储介质 |
CN113922952B (zh) * | 2021-09-30 | 2024-03-01 | 恒众创美(深圳)发展合伙企业(有限合伙) | 访问请求响应方法、装置、计算机设备和存储介质 |
CN114301688A (zh) * | 2021-12-29 | 2022-04-08 | 天翼物联科技有限公司 | 基于客户权限的登录校验方法、装置、物联网终端及介质 |
CN114301688B (zh) * | 2021-12-29 | 2023-08-01 | 天翼物联科技有限公司 | 基于客户权限的登录校验方法、装置、物联网终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111130798B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN109359691B (zh) | 基于区块链的身份验证方法和系统 | |
CN109714167B (zh) | 适用于移动应用签名的身份认证与密钥协商方法及设备 | |
US9838205B2 (en) | Network authentication method for secure electronic transactions | |
US9231925B1 (en) | Network authentication method for secure electronic transactions | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
EP2304636B1 (en) | Mobile device assisted secure computer network communications | |
CN111435913B (zh) | 一种物联网终端的身份认证方法、装置和存储介质 | |
US20150363775A1 (en) | Key protection method and system | |
JP2003521154A (ja) | 電子識別情報を発行する方法 | |
CN110213195B (zh) | 一种登录认证方法、服务器及用户终端 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
US20210241270A1 (en) | System and method of blockchain transaction verification | |
CN115618399A (zh) | 基于区块链的身份认证方法、装置、电子设备和可读介质 | |
CN112765626A (zh) | 基于托管密钥授权签名方法、装置、系统及存储介质 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN114244530A (zh) | 资源访问方法及装置、电子设备、计算机可读存储介质 | |
CN113763621A (zh) | 一种基于区块链的门禁授权方法、管理客户端和系统 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN112600667B (zh) | 一种密钥协商方法、装置、设备及存储介质 | |
CN113746916A (zh) | 基于区块链的第三方服务提供方法、系统及相关节点 | |
CN117336092A (zh) | 一种客户端登录方法、装置、电子设备和存储介质 | |
CN115459929A (zh) | 安全验证方法、装置、电子设备、系统、介质和产品 | |
KR101256114B1 (ko) | 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템 | |
CN115242471A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |