CN111431726A - 算法授权方法、装置、计算机设备和存储介质 - Google Patents

算法授权方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111431726A
CN111431726A CN202010530526.6A CN202010530526A CN111431726A CN 111431726 A CN111431726 A CN 111431726A CN 202010530526 A CN202010530526 A CN 202010530526A CN 111431726 A CN111431726 A CN 111431726A
Authority
CN
China
Prior art keywords
authorization
client
parameter table
response
field
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
Application number
CN202010530526.6A
Other languages
English (en)
Other versions
CN111431726B (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.)
Shenzhen Youjie Zhixin Technology Co ltd
Original Assignee
Shenzhen Youjie Zhixin Technology 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 Shenzhen Youjie Zhixin Technology Co ltd filed Critical Shenzhen Youjie Zhixin Technology Co ltd
Priority to CN202010530526.6A priority Critical patent/CN111431726B/zh
Publication of CN111431726A publication Critical patent/CN111431726A/zh
Application granted granted Critical
Publication of CN111431726B publication Critical patent/CN111431726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3226Cryptographic 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Abstract

本申请提供一种算法授权方法、装置、计算机设备和存储介质,包括:基于算法库接收客户端发送的算法请求,算法请求中携带有请求字段;检测客户端中是否存储有对应请求字段的授权信息文件;若有,则基于算法库从授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验时间戳是否过期;若过期,则接收算法库触发的授权请求,检测服务器中是否包括记录请求字段以及唯一令牌的参数表;若包括,检测参数表中的记录的随机令牌与授权信息文件中的随机令牌是否一致;若一致,则返回授权成功响应至所述客户端,并更新参数表中的随机令牌。本申请无需客户端的账户信息,对多个字段分别进行校验,每一次授权之后,均更新随机令牌,避免重复滥用授权信息。

Description

算法授权方法、装置、计算机设备和存储介质
技术领域
本申请涉及算法技术领域,特别涉及一种算法授权方法、装置、计算机设备和存储介质。
背景技术
算法是解决特定问题求解步骤的描述,即处理问题的策略,表现为指令的有限序列。算法也是高精尖软件的核心部分,例如人脸识别算法,唤醒算法、降噪算法等,好的算法往往是企业的核心竞争力,具有很强的知识产权保护价值和商业价值。
但是算法也有通常商用软件产品的共性:易于复制、易于扩散和滥用,难以管理。一旦算法没有做好保护,往往会给企业带来巨大的经济损失。
算法的种类多种多样,为了更好地使用这些算法,企业往往将一些算法打包进算法库,然后以授权的方式提供给客户。一旦企业无法保护和管理提供给客户的算法库,客户将可以随意滥用算法库,给企业带来巨大的经济损失。如何更好的保护这些授权算法库,就成为了企业算法授权需要解决的重要问题。
当前主流算法库授权方式,往往通过算法库主动收集客户端设备的账户信息,然后发给送服务器,由服务器制作认证文件发回给客户端。客户端解码认证文件进行校验,以决定是否授权给客户端。
目前的授权方式存在以下缺陷:
1. 账户信息隐私管控。当前主流算法库授权方式,需要收集客户端设备的账户信息;一些客户端设备如果有严格的管控措施,不对外提供账户信息,那么将影响算法库的授权使用。另外算法库的跨平台移植也是一个问题。
2. 恶意滥用算法库。某些客户端设备刷机后提供统一的账户信息,拿到算法库生成的认证文件后,大量复制认证文件并应用到刷机后的客户端设备上,可以绕过算法库授权保护。
3. 服务器端往往需要调用算法库对应的核心参数制作认证文件,提高了服务器端流程的复杂度和客户端的耦合度。一旦算法库有任何的修改,服务器端同样需要进行相应的修改,不利于迭代更新。
发明内容
本申请的主要目的为提供一种算法授权方法、装置、计算机设备和存储介质,旨在克服目前客户端恶意滥用算法库的缺陷,且无需客户端提供账户信息。
为实现上述目的,本申请提供了一种算法授权方法,包括以下步骤:
基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
若有,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
若过期,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
若包括,检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
若一致,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
进一步地,所述检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致的步骤之后,还包括:
若不一致,则检测所述参数表中的响应字段是否为客户端已接收授权;
若是,则返回授权失败响应至所述客户端;若否,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
进一步地,所述接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表的步骤之后,包括:
若不包括,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
进一步地,所述基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期的步骤之后,还包括:
若未过期,基于所述算法库校验所述授权信息文件中的自定义字段,以授权所述算法库中的算法。
进一步地,所述检测所述客户端中是否存储有对应所述请求字段的授权信息文件的步骤之后,还包括:
若无,则基于所述算法库随机生成一个唯一令牌,并接收所述算法库触发的授权请求;
将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
本申请还提供了一种算法授权装置,包括:
第一接收单元,用于基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
第一检测单元,用于检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
校验单元,用于所述客户端中存储有对应所述请求字段的授权信息文件时,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
第二检测单元,用于所述时间戳过期时,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
第三检测单元,用于所述服务器中包括记录所述请求字段以及所述唯一令牌的参数表时,检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
第一返回单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌一致时,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
进一步地,还包括:
第四检测单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌不一致时,则检测所述参数表中的响应字段是否为客户端已接收授权;
第二返回单元,用于所述参数表中的响应字段为客户端已接收授权时,则返回授权失败响应至所述客户端;若所述参数表中的响应字段不是客户端已接收授权时,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权。
进一步地,还包括:
生成单元,用于服务器中不包括记录所述请求字段以及所述唯一令牌的参数表,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
第三返回单元,用于将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请提供的算法授权方法、装置、计算机设备和存储介质,包括:基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;检测所述客户端中是否存储有对应所述请求字段的授权信息文件;若有,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;若过期,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;若包括,检测所述参数表中的记录的随机令牌与所述授权信息文件中的随机令牌是否一致;若一致,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。本申请,无需客户端的账户信息,对多个字段分别进行校验,且在每一次授权之后,均更新随机令牌,避免重复滥用授权信息。
附图说明
图1 是本申请一实施例中算法授权方法步骤示意图;
图2是本申请一实施例中算法授权装置结构框图;
图3 为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种算法授权方法,包括以下步骤:
步骤S1,基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
步骤S2,检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
步骤S3,若有,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
步骤S4,若过期,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
步骤S5,若包括,检测所述参数表中的记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
步骤S6,若一致,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
在本实施例中,上述方法应用于服务器授权客户端使用算法库中的算法的场景中。其中,算法库为算法的集合,提供初始化,各种算法的使用接口等功能。上述客户端为使用算法库的机器。上述服务器是算法公司搭建的授权服务器,用于与客户端进行通信,管控算法库的使用。
具体地,当客户端需要请求算法库中的算法时,需要客户端发送算法请求,其中该算法请求中携带有请求字段,在一实施例中,上述请求字段包括项目编码字段(projectCode)以及算法库编码字段(algorithmCode),不需要客户端发送账户信息。在其他实施例中,上述请求字段也可以是其它字段,在此并不仅限于此。如上述步骤S1所述的,上述算法库则可以接收上述客户端发送的算法请求,并从中解析出上述请求字段。
如上述步骤S2所述的,通过上述算法库检测客户端中是否存储有对应上述请求字段的授权信息文件,上述授权信息文件由算法库内部自定义或指定的算法进行加密和解密,安全可靠。
可以理解的是,若上述客户端没有经过授权,则在上述客户端中不会存储有上述授权信息文件,上述授权信息文件是在上述服务器授权上述客户端可以使用算法库中的算法之后,更新至上述客户端中。
若上述客户端已经经过授权,则上述客户端中必定会存储有对应的上述授权信息文件,如上述步骤S3所述的,基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期。
其中,上述授权信息文件中包括的参数列表为:
参数 类型 描述
projectCode String 项目编码
algorithmCode String 算法库编码
uniqueToken String 算法库生成唯一token,64位大小写字母+数字混合组成
randomToken String 服务器随机生成token,每次授权进行更新,64位大小写字母+数字混合组成
timeStamp int 授权后本地可使用到期时间戳
authState json 自定义,表示算法库中各个算法的具体授权情况,依据商务合作情况制定
其中,对上述授权信息文件进行解密后,可以得到uniqueToken(唯一令牌,该唯一令牌用于标识上述客户端)、randomToken(随机令牌)和timeStamp(时间戳)三个字段。此时校验时间戳是否过期,如果没有过期,则校验自定义字段,即算法库授权状态authState,根据授权状态使用算法库中的算法。其中上述算法库授权状态authState包括基于商务合作决定的自定义字段authState,具体如授权多少台,授权使用哪些算法,授权使用期限。如果时间戳已经过期,下一步则需要向服务器进行授权请求,即上述算法库可以触发一个授权请求至上述服务器。上述授权请求中携带有上述请求字段以及所述唯一令牌。
上述timeStamp时间戳一般设置为72小时,也可以根据服务器端自定义设置,由服务器根据负载能力自定义上述时间戳的时间长短,其有两个作用:一是为了当没有网络条件时,算法库依然可以使用一段时间;二是可以避免每次算法库请求授权信息时都要与服务器进行通信,降低服务器压力。
其中,在上述服务器中存储两个参数表,记录各个字段的参数表,以及响应上述授权请求的参数列表。
其中,服务器端记录各个字段的参数表为:
参数 类型 描述
projectCode String 项目编码
algorithmCode String 算法库编码
uniqueToken String 算法库生成唯一token,64位大小写字母+数字组成
randomToken String 服务器随机生成token,每次授权进行更新,64位大小写字母+数字组成
timeStamp int 授权后本地可使用到期时间戳,当前时间加上72小时(可自定义)
authState json 自定义,表示算法库中各个算法的具体授权情况,依据商务合作情况制定,由服务器生成。
responseCode int 提示服务器客户端已接收授权信息
algorithmAuthCount int 授权总数限制
响应授权请求所包含的参数列表
参数 类型 描述
projectCode String 项目编码
algorithmCode String 算法库编码
uniqueToken String 算法库生成唯一token,64位大小写字母+数字组成
randomToken String 服务器随机生成token,每次授权进行更新,64位大小写字母+数字组成
timeStamp int 授权后本地可使用到期时间戳,当前时间加上72小时(可自定义)
auth int 1:授权成功;0:授权失败。
authState json 自定义,表示算法库中各个算法的具体授权情况,依据商务合作情况制定,由服务器生成。
如上述步骤S4所述的,服务器接收上述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表。
如上述步骤S5-S6所述的,如果包括记录所述请求字段以及所述唯一令牌的参数表,则首先检查该授权信息文件中的随机令牌和服务器上保存的参数表中的随机令牌是否一致。如果一致,则认为是同一客户端在时间戳过期后再次进行授权申请,此时检测上述自定义字段,判断是否满足授权状态,具体地,可以根据上述自定义字段判断授权期限、授权次数等是否满足授权状态,即判断是否满足授权条件,在判定满足授权条件后,则返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权,即将上述resonpseCode值置为0,等待客户端发送响应确认。上述授权成功响应中包括有上述参数列表中的信息,客户端接收服务器返回的授权成功响应,若可以调用算法库中的授权接口,则可以发送响应确认,并根据上述授权成功响应更新上述授权信息文件。服务器接收到上述响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,此时完成对上述客户端的授权,为了避免上述授权被重复使用,此时还需要更新所述参数表中的随机令牌。在下一次授权请求时,则需要再次进行授权。
上述响应确认包含的参数列表:
参数 类型 描述
projectCode String 项目编码
algorithmCode String 算法库编码
uniqueToken String 算法库生成唯一token,64位大小写字母+数字组成
randomToken String 服务器随机生成token,每次授权进行更新,64位大小写字母+数字组成
发送响应确认的目的是为了应对网络情况不好的状况发生,让服务器知道这次申请授权,服务器生成的随机令牌,客户端已经进行了更新。
在一实施例中,所述检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致的步骤S5之后,还包括:
步骤S61,若不一致,则检测所述参数表中的响应字段是否为客户端已接收授权;
步骤S62,若是,则返回授权失败响应至所述客户端;若否,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
在本实施例中,如果上述授权信息文件中的随机令牌与服务器上保存随机令牌的记录不一致,则继续检测responseCode值(响应字段)。如果为1(客户端已接收授权),则认为这是其他机器复制本地授权信息文件后进行的请求,则发回授权失败响应,此时算法库初始化给出失败提示,授权接口将调用失败;如果为0(客户端未接收授权),则认为是上一次授权申请时服务器已通过,但是返回的授权响应信息客户端未能成功接收,导致客户端上随机令牌未能与服务器上同步,此时再次返回授权成功响应。上述授权成功响应中包括有上述参数列表中的信息,客户端接收服务器返回的授权成功响应,若可以调用算法库中的授权接口,则可以发送响应确认,并根据上述授权成功响应更新上述授权信息文件。服务器接收到上述响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,此时完成对上述客户端的授权,为了避免上述授权被重复使用,此时还需要更新所述参数表中的随机令牌。在下一次授权请求时,则需要再次进行授权。
在一个实施例中,所述接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表的步骤S4之后,包括:
步骤S51,若不包括,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
步骤S52,将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段(authState),并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
在本实施例中,若不包括记录所述请求字段以及所述唯一令牌的参数表,则表明该客户端为第一次向服务器发送授权请求,此时,则可以在上述服务器中生成一个新的参数表,将上述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌,将所述请求字段、所述唯一令牌、所述随机令牌添加至上述新的数据表中,以备下一次授权请求时使用。此时返回授权成功响应,上述授权成功响应中包括有上述参数列表中的信息,客户端接收服务器返回的授权成功响应,若可以调用算法库中的授权接口,则可以发送响应确认,并根据上述授权成功响应更新上述授权信息文件。服务器接收到上述响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,此时完成对上述客户端的授权,为了避免上述授权被重复使用,此时还需要更新所述新的参数表中的随机令牌。在下一次授权请求时,则需要再次进行授权。
在一实施例中,所述基于所述算法库从所述授权信息文件中得到唯一随机令牌以及时间戳,并校验所述时间戳是否过期的步骤S3之后,还包括:
步骤S41,若未过期,基于所述算法库校验所述授权信息文件中的自定义字段,以授权所述算法库中的算法。
在本实施例中,若时间戳未过期,则上一次的授权还可以继续使用,此时只需要基于所述算法库校验所述授权信息文件中的自定义字段,以授权使用所述算法库中的算法。上述自定义字段中表示算法库中各个算法的具体授权情况,依据商务合作情况制定,由服务器生成。脱离了算法库的限制。即算法库只做算法相关的事务,由服务器进行统一管控,根据商务合作来制定算法库授权自定义字段,方便管理和更新,算法库根据该授权情况进行授权接口的使用。算法库内容的核心参数与服务器不作任何关联,只根据授权情况开放授权接口。
在另一实施例中,所述检测所述客户端中是否存储有对应所述请求字段的授权信息文件的步骤S2之后,还包括:
步骤S31,若无,则基于所述算法库随机生成一个唯一令牌,并接收所述算法库触发的授权请求;
步骤S32,将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
步骤S33,将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
在本实施例中,如果客户端设备未进行过授权,那么在客户端中将没有上述授权信息文件,此时,算法库将随机生成一个64位大小写字母和数字混合组成的字符串,记为唯一令牌,此唯一令牌是唯一生成,用来标记使用算法库的客户端设备。其中,在算法库中生成一个授权信息文件对应的参数表,该参数表中的随机令牌、时间戳和自定义字段记为空字符串。上述算法库触发授权请求至上述服务器,上述服务器生成一个新的参数表,将上述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌,将所述请求字段、所述唯一令牌、所述随机令牌添加至上述新的数据表中,以备下一次授权请求时使用。此时返回授权成功响应,上述授权成功响应中包括有上述参数列表中的信息,客户端接收服务器返回的授权成功响应,若可以调用算法库中的授权接口,则可以发送响应确认,并根据上述授权成功响应更新上述授权信息文件。服务器接收到上述响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,此时完成对上述客户端的授权,为了避免上述授权被重复使用,此时还需要更新所述新的参数表中的随机令牌。在下一次授权请求时,则需要再次进行授权。
参照图2,本申请一实施例中还提供了一种算法授权装置,包括:
第一接收单元,用于基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
第一检测单元,用于检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
校验单元,用于所述客户端中存储有对应所述请求字段的授权信息文件时,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
第二检测单元,用于所述时间戳过期时,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
第三检测单元,用于所述服务器中包括记录所述请求字段以及所述唯一令牌的参数表时,检测所述参数表中的记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
第一返回单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌一致时,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
在一实施例中,上述算法授权装置还包括:
第四检测单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌不一致时,则检测所述参数表中的响应字段是否为客户端已接收授权;
第二返回单元,用于所述参数表中的响应字段为客户端已接收授权时,则返回授权失败响应至所述客户端;若所述参数表中的响应字段不是客户端已接收授权时,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权。
在一实施例中,上述算法授权装置还包括:
生成单元,用于服务器中不包括记录所述请求字段以及所述唯一令牌的参数表,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
第三返回单元,用于将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
在本实施例中,上述各个单元的具体实现请参照上述方法实施例中所述,在此不再进行赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据表、授权文件等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种算法授权方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种算法授权方法。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的算法授权方法、装置、计算机设备和存储介质,包括:基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;检测所述客户端中是否存储有对应所述请求字段的授权信息文件;若有,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;若过期,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;若包括,检测所述参数表中的记录的随机令牌与所述授权信息文件中的随机令牌是否一致;若一致,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。本申请,无需客户端的账户信息,对多个字段分别进行校验,且在每一次授权之后,均更新随机令牌,避免重复滥用授权信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种算法授权方法,其特征在于,包括以下步骤:
基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
若有,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
若过期,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
若包括,检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
若一致,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
2.根据权利要求1所述的算法授权方法,其特征在于,所述检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致的步骤之后,还包括:
若不一致,则检测所述参数表中的响应字段是否为客户端已接收授权;
若是,则返回授权失败响应至所述客户端;若否,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
3.根据权利要求1所述的算法授权方法,其特征在于,所述接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表的步骤之后,包括:
若不包括,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
4.根据权利要求1所述的算法授权方法,其特征在于,所述基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期的步骤之后,还包括:
若未过期,基于所述算法库校验所述授权信息文件中的自定义字段,以授权所述算法库中的算法。
5.根据权利要求1所述的算法授权方法,其特征在于,所述检测所述客户端中是否存储有对应所述请求字段的授权信息文件的步骤之后,还包括:
若无,则基于所述算法库随机生成一个唯一令牌,并接收所述算法库触发的授权请求;
将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
6.一种算法授权装置,其特征在于,包括:
第一接收单元,用于基于算法库接收客户端发送的算法请求,所述算法请求中携带有请求字段;
第一检测单元,用于检测所述客户端中是否存储有对应所述请求字段的授权信息文件;
校验单元,用于所述客户端中存储有对应所述请求字段的授权信息文件时,则基于所述算法库从所述授权信息文件中得到唯一令牌、随机令牌以及时间戳,并校验所述时间戳是否过期;
第二检测单元,用于所述时间戳过期时,则接收所述算法库触发的授权请求,检测服务器中是否包括记录所述请求字段以及所述唯一令牌的参数表;
第三检测单元,用于所述服务器中包括记录所述请求字段以及所述唯一令牌的参数表时,检测所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌是否一致;
第一返回单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌一致时,则在判定满足授权条件后,返回授权成功响应至所述客户端,并将所述参数表中的响应字段更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权,并更新所述参数表中的随机令牌。
7.根据权利要求6所述的算法授权装置,其特征在于,还包括:
第四检测单元,用于所述参数表中记录的随机令牌与所述授权信息文件中的随机令牌不一致时,则检测所述参数表中的响应字段是否为客户端已接收授权;
第二返回单元,用于所述参数表中的响应字段为客户端已接收授权时,则返回授权失败响应至所述客户端;若所述参数表中的响应字段不是客户端已接收授权时,则返回授权成功响应至所述客户端,在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述参数表中的响应字段为客户端已接收授权。
8.根据权利要求6所述的算法授权装置,其特征在于,还包括:
生成单元,用于服务器中不包括记录所述请求字段以及所述唯一令牌的参数表,则将所述请求字段与所述唯一令牌进行绑定,并随机生成一个随机令牌;
第三返回单元,用于将所述请求字段、所述唯一令牌、所述随机令牌添加至一新的数据表中;在所述新的数据表中添加自定义字段,并返回授权成功响应至所述客户端,以及在所述新的参数表中添加响应字段且更新为客户端未接收授权;在接收到所述客户端针对所述授权成功响应反馈的响应确认之后,更新所述新的参数表中的响应字段为客户端已接收授权,并更新所述新的参数表中的随机令牌。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202010530526.6A 2020-06-11 2020-06-11 算法授权方法、装置、计算机设备和存储介质 Active CN111431726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010530526.6A CN111431726B (zh) 2020-06-11 2020-06-11 算法授权方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010530526.6A CN111431726B (zh) 2020-06-11 2020-06-11 算法授权方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111431726A true CN111431726A (zh) 2020-07-17
CN111431726B CN111431726B (zh) 2020-09-18

Family

ID=71555271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010530526.6A Active CN111431726B (zh) 2020-06-11 2020-06-11 算法授权方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111431726B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632476A (zh) * 2020-12-31 2021-04-09 四川虹微技术有限公司 算法授权保护方法、装置、集成电路芯片及电子设备
CN112884574A (zh) * 2021-01-29 2021-06-01 上海分布信息科技有限公司 一种区块链业务的安全处理方法及系统
CN115391750A (zh) * 2022-10-26 2022-11-25 浙江华东工程数字技术有限公司 一种算法授权方法、装置、电子设备和存储介质
CN115469909A (zh) * 2022-11-14 2022-12-13 深圳鸿芯微纳技术有限公司 指令更新方法、软件平台的工作方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281252A1 (en) * 2009-04-29 2010-11-04 Microsoft Corporation Alternate authentication
US20130125228A1 (en) * 2011-11-10 2013-05-16 Research In Motion Limited Timestamp-based token revocation
CN103220344A (zh) * 2013-03-29 2013-07-24 新浪技术(中国)有限公司 微博授权使用方法和系统
CN104821937A (zh) * 2015-03-26 2015-08-05 腾讯科技(北京)有限公司 令牌获取方法、装置及系统
CN106331772A (zh) * 2015-06-17 2017-01-11 阿里巴巴集团控股有限公司 数据校验方法、装置和智能电视系统
CN108494740A (zh) * 2018-03-01 2018-09-04 捷开通讯(深圳)有限公司 令牌生成和校验方法、智能终端及服务器
US20190158295A1 (en) * 2015-06-01 2019-05-23 Branch Banking And Trust Company Network-based device authentication system
CN111030812A (zh) * 2019-12-16 2020-04-17 Oppo广东移动通信有限公司 令牌验证方法、装置、存储介质及服务器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100281252A1 (en) * 2009-04-29 2010-11-04 Microsoft Corporation Alternate authentication
US20130125228A1 (en) * 2011-11-10 2013-05-16 Research In Motion Limited Timestamp-based token revocation
CN103220344A (zh) * 2013-03-29 2013-07-24 新浪技术(中国)有限公司 微博授权使用方法和系统
CN104821937A (zh) * 2015-03-26 2015-08-05 腾讯科技(北京)有限公司 令牌获取方法、装置及系统
US20190158295A1 (en) * 2015-06-01 2019-05-23 Branch Banking And Trust Company Network-based device authentication system
CN106331772A (zh) * 2015-06-17 2017-01-11 阿里巴巴集团控股有限公司 数据校验方法、装置和智能电视系统
CN108494740A (zh) * 2018-03-01 2018-09-04 捷开通讯(深圳)有限公司 令牌生成和校验方法、智能终端及服务器
CN111030812A (zh) * 2019-12-16 2020-04-17 Oppo广东移动通信有限公司 令牌验证方法、装置、存储介质及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
程坚: ""一种简洁易行的单点登录实现方法"", 《电脑编程技巧与维护》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632476A (zh) * 2020-12-31 2021-04-09 四川虹微技术有限公司 算法授权保护方法、装置、集成电路芯片及电子设备
CN112884574A (zh) * 2021-01-29 2021-06-01 上海分布信息科技有限公司 一种区块链业务的安全处理方法及系统
CN112884574B (zh) * 2021-01-29 2023-01-10 上海分布信息科技有限公司 一种区块链业务的安全处理方法及系统
CN115391750A (zh) * 2022-10-26 2022-11-25 浙江华东工程数字技术有限公司 一种算法授权方法、装置、电子设备和存储介质
CN115391750B (zh) * 2022-10-26 2023-02-14 浙江华东工程数字技术有限公司 一种算法授权方法、装置、电子设备和存储介质
CN115469909A (zh) * 2022-11-14 2022-12-13 深圳鸿芯微纳技术有限公司 指令更新方法、软件平台的工作方法、装置、设备和介质
CN115469909B (zh) * 2022-11-14 2023-06-20 深圳鸿芯微纳技术有限公司 指令更新方法、软件平台的工作方法、装置、设备和介质

Also Published As

Publication number Publication date
CN111431726B (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
CN111431726B (zh) 算法授权方法、装置、计算机设备和存储介质
US8522331B2 (en) Computer readable medium, authenticating method, computer data signal, authentication server, and single sign-on authentication system
CN102508791B (zh) 一种对硬盘分区进行加密的方法及装置
CN108337239A (zh) 电子设备的事件证明
US20080180212A1 (en) Settlement terminal and ic card
CN102315933A (zh) 一种更新密钥的方法及系统
US20170123360A1 (en) Methods and systems for determining authenticity of a consumable product
CN101473335A (zh) 信息处理终端与状态通知方法
US20050229240A1 (en) Information processing apparatus, authentication processing program, and authentication storage apparatus
US8468596B2 (en) Work support apparatus for information processing device
JP5005746B2 (ja) パスワード照合装置および方法
CN102801728B (zh) 客户端自动登录的管理方法及系统
CN100578557C (zh) 验证装置、便携终端和验证方法
CN106294017A (zh) 一种信息安全备份实现方法
CN105653932A (zh) 软件升级验证的方法和装置
CN115935414A (zh) 基于区块链的数据校验方法、装置、电子设备和存储介质
CN110572371B (zh) 基于html5本地存储机制的身份唯一性校验控制方法
CN100555237C (zh) 用于检测和防止回放攻击的方法和系统
CN112015494A (zh) 第三方api工具调用方法、系统及装置
JP2001175600A (ja) 不正アクセス通知方法及びその装置
JP2009212784A (ja) 通信システムおよび携帯端末、並びに、通信方法
JP5947358B2 (ja) 認証処理装置、方法およびプログラム
CN115348307B (zh) 联机服务器保护方法、装置、计算机设备和存储介质
CN115866542B (zh) 短信验证码申请和验证方法、装置、设备及存储介质
US20080172726A1 (en) Tracking and identifying operations from un-trusted clients

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