CN112003706B - 一种签名的方法、装置、计算机设备及存储介质 - Google Patents

一种签名的方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112003706B
CN112003706B CN202010859359.XA CN202010859359A CN112003706B CN 112003706 B CN112003706 B CN 112003706B CN 202010859359 A CN202010859359 A CN 202010859359A CN 112003706 B CN112003706 B CN 112003706B
Authority
CN
China
Prior art keywords
key
signature
signing
temporary dynamic
static
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010859359.XA
Other languages
English (en)
Other versions
CN112003706A (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010859359.XA priority Critical patent/CN112003706B/zh
Publication of CN112003706A publication Critical patent/CN112003706A/zh
Application granted granted Critical
Publication of CN112003706B publication Critical patent/CN112003706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Abstract

本公开提供了一种签名的方法、装置、计算机设备及存储介质,其中,该方法包括:获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。本公开实施例应用客户端可以通过对应的应用服务端获取临时动态密钥,用于后续的签名认证,无需向云服务端发起远程请求,缩短了签名路径,提高了访问效率。

Description

一种签名的方法、装置、计算机设备及存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种签名的方法、装置、计算机设备及存储介质。
背景技术
云服务是指提供给广大用户使用的共享服务,其中直播云服务可以为广大用户提供共享直播数据的服务。考虑到服务安全和用户权限,云平台可以为某一类用户(比如某直播平台的所有用户)设立账号,只有具有相关权限的账号才能访问对应的共享服务内容,这就需要对客户端进行认证。
在这种情况下,客户端发起访问请求时,需要使用临时动态密钥,比如安全令牌服务(Security Token Service、STS)来生成签名信息,在发起的访问请求中携带签名信息,云服务端基于该签名信息对客户端进行认证。
为了实现签名,可以预先生成STS并存储在客户端中,但这种方式无法实现STS的灵活修改,一旦STS被窃取,就会造成用户权限的泄露,安全性较低;而如果客户端每次需要签名时,都向云服务端请求获取STS,则需要频繁发起远程请求,签名过程复杂,导致整个访问过程的路径较长,影响访问效率。
发明内容
本公开实施例至少提供一种签名的方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种签名的方法,应用于应用服务端,包括:
获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;
响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。
第二方面,本公开实施例提供了一种签名的方法,应用于应用客户端,包括:
向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥;
基于所述临时动态密钥生成签名密钥;
基于所述签名密钥对待签字符串进行签名,生成签名信息。
一种可能的实施方式中,向应用服务端发送临时动态密钥获取请求,包括:
按照预设时间间隔向应用服务端发送临时动态密钥获取请求;所述临时动态密钥获取请求中包含有效期信息,所述有效期信息所指示的有效时间长度大于或等于所述预设时间间隔。
一种可能的实施方式中,基于所述临时动态密钥生成签名密钥,包括:
基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥;所述第一静态密钥为用于生成所述临时动态密钥的静态密钥对中的一个密钥字符串。
一种可能的实施方式中,基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥,包括:
基于所述第一静态密钥、签名的日期、服务类型信息,以及约定的第一方法,生成所述签名密钥。
一种可能的实施方式中,基于所述签名密钥对待签字符串进行签名,生成签名信息,包括:
基于所述签名密钥,按照约定的第二方法,对待签字符串进行签名,生成所述签名信息。
一种可能的实施方式中,所述待签字符串包括以下信息中的至少一种:
目标应用的相关服务信息、以及当前对应的请求时间。
第三方面,本公开实施例还提供一种签名装置,应用于应用服务端,包括:
获取模块,用于获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;
密钥生成模块,用于响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
发送模块,用于将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。
第四方面,本公开实施例还提供一种签名装置,应用于应用客户端,包括:
发送模块,用于向应用服务端发送临时动态密钥获取请求;
接收模块,用于接收所述应用服务端返回的临时动态密钥;
密钥生成模块,用于基于所述临时动态密钥生成签名密钥;
签名模块,用于基于所述签名密钥对待签字符串进行签名,生成签名信息。
第五方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第六方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
关于上述签名的装置、设备、及介质的效果描述参见上述签名的方法的说明,这里不再赘述。
本公开实施例提供的签名的方法、装置、计算机设备及存储介质,应用服务端可以预先获取并存储云服务端为目标应用的用户提供的在约定时期内长期有效的账号信息,账号信息中包含用于生成STS的静态密钥对,这样,应用服务端可以响应应用客户端的STS获取请求,基于存储的静态密钥对生成动态的STS并返回给应用客户端,应用客户端在获取到STS后,基于STS生成签名密钥,最后基于签名密钥生成签名信息。可见,由于本公开实施例中,应用服务端可以为应用客户端提供动态更新的STS,与在应用客户端中存储固定的STS相比,安全性更高;而且,应用服务端可以存储一个在约定时期内长期有效的静态密钥对,用于动态生成STS,应用客户端每次只需要向对应的应用服务端发起STS获取请求,无需向云服务端发起远程请求(应用客户端需要通过应用服务端向云服务端发起远程请求),缩短了签名路径,提高了访问效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种签名的方法的流程图;
图2示出了本公开实施例所提供的签名的方法中,应用客户端在签名流程中的执行逻辑流程图;
图3示出了本公开实施例所提供的签名的方法中,应用服务端在签名流程中的执行逻辑流程图;
图4示出了本公开实施例所提供的一种签名的装置400的示意图;
图5示出了本公开实施例所提供的另一种签名的装置500的示意图;
图6示出了本公开实施例所提供的一种计算机设备600的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
客户端在发起访问云服务的访问请求时,需要使用STS生成签名信息。采用将STS预先设置在客户端的方式灵活性较差、安全性较低;而客户端频繁向云服务端远程请求STS的方式,签名路径较长,导致访问效率较低,也对云服务端的资源损耗较多。
基于上述研究,本公开提供了一种签名的方法,应用服务端预先获取并存储云服务端为目标应用的用户提供的长期有效的账号信息;客户端需要发起访问请求时,先向对应的应用服务端发起STS获取请求,应用服务端就可以基于存储的账号信息(静态密钥对)生成动态的STS并返回给客户端,客户端基于STS生成签名信息。这里,采用目标应用自己的应用服务端预先存储长期有效的账号信息(静态密钥对),该账号信息可以用于结合应用客户端临时的请求数据生成STS,客户端每次只需要向对应的应用服务端发起STS获取请求,无需向云服务端发起远程请求,缩短了签名路径,提高了访问效率,同时,由于应用服务端可以响应应用客户端每次发起的请求,临时生成动态更新的STS,该STS安全性更高。
上述问题的提出,是发明人经过实践并仔细研究的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种签名的方法进行详细介绍,本公开实施例所提供的签名的方法涉及应用服务端和应用客户端,应用服务端和应用客户端可以为具有一定计算能力的计算机设备。在一些可能的实现方式中,该签名的方法可以通过计算机设备中的处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的签名的方法的流程图,所述方法包括步骤S101~S105,其中:
S101:应用服务端获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对。
这里,区别于提供云服务的云服务端,应用服务端也即APP服务端,是由应用方开发与维护的。
在具体实施中,应用服务端预先获取并存储云服务端为目标应用的用户提供的在约定时期内长期有效的账号信息,账号信息中包含用于生成STS的静态密钥对。
这里,为方便管理目标应用的用户权限,云服务端为目标应用的用户提供访问云服务的账号,该账号的账号信息包括第一静态密钥(Secret Access Key,SK)和第二静态密钥(Access Key,AK)。所述SK和AK可以在一定的约定时期内一直有效。这里的约定时期可以是目标应用的提供方与云服务的提供方预先约定的。
S102:应用客户端向应用服务端发送临时动态密钥获取请求。
在具体实施中,应用客户端调用应用服务端提供的访问接口,向应用服务端发起STS获取请求。
另外,在一种实施方式中,应用客户端可以按照预设时间间隔(也即一定的周期)向应用服务端发送临时动态密钥获取请求;临时动态密钥获取请求中包含有效期信息,该有效期信息所指示的有效时间长度大于或等于所述预设时间间隔。
这里,为了减轻交互负担,应用客户端可以不用频繁向应用服务端请求获取STS,而是按照一定时间间隔获取。另外,应用服务端提供的STS也并非一次性有效,可以具有一定的有效期,在具体实施中,在获取到STS后,可以对STS进行缓存,缓存时间也即STS的有效期。
在具体实施中,可以设置请求获取STS的时间间隔小于或等于有效期信息所指示的有效时间长度,从而在减轻交互负担的同时,实现了STS对于应用客户端的可用性,保证了应用客户端的正常签名及访问。
S103:应用服务端基于存储的静态密钥对,为应用客户端生成临时动态密钥,并将所述临时动态密钥返回给应用客户端。
这里,应用服务端基于存储的AK和SK,通过开源的算法为所述应用客户端生成STS。
具体的,STS中可以包括上述所述的SK、AK、以及有效期,也即过期时间(ExpiredTime)。除此之外,还可以包括令牌信息,也即会话控制令牌(Session Token),后续应用客户端发送访问请求时会携带该Session Token,用于后续的认证过程。
S104:应用客户端基于临时动态密钥生成签名密钥(Signed Key)。
在具体实施中,应用客户端可以基于临时动态密钥中的第一静态密钥,以及约定的第一方法,生成签名密钥;第一静态密钥为用于生成所述临时动态密钥的静态密钥对中的一个密钥字符串;第一静态密钥(这里为SK)是静态密钥对中不在云服务请求中发送给云服务端的一个密钥字符串,静态密钥对中另外一个密钥AK是会在云服务请求中发送给云服务端的密钥字符串。静态密钥对中的SK用于生成STS,并进一步用于应用客户端进行签名,应用客户端在发起签名的认证请求时,会在认证请求中携带AK。
这里,约定的第一方法可以是多种开源加密算法之一,比如HMAC算法等。
进一步地,可以基于所述第一静态密钥、签名的日期、服务类型信息,以及约定的第一方法,生成所述签名密钥。
在具体实施中,应用客户端可以基于STS中的静态参数,以及其它一些与目标应用相关的静态参数(服务类型)或动态参数(签名的日期等),生成Signed Key;这样,SignedKey一方面表征了静态的用户权限信息(比如上述STS中的静态参数),另一方面也表征了与目标应用相关的信息,以及与最近的请求相关的动态更新特征(签名的日期),这里签名的日期的格式为预先约定的,比如20200201。
这里,上述服务类型信息具体可以是直播服务、或会议服务、或视频点播(VideoOn Demand,VOD)服务等。
S105:应用客户端基于所述签名密钥对待签字符串进行签名,生成签名信息。
这里,待签字符串可以包括目标应用的相关服务信息、以及当前对应的请求时间(DateTime)等,其中,相关服务信息比如包括:应用客户端所在的服务区域信息(Region)、应用标识(App ID)等;请求时间可以是当前具体的时间点,是比上述签名的日期更细粒度的时间,表达格式不限。
在具体实施中,应用客户端基于S104中生成的Signed Key,按照约定的第二方法,对待签字符串进行签名,这里,约定的第二方法可以是多种开源加密算法之一,比如SHA256算法。
示例性的,可以采用上述App ID、Region、DateTime构造待签字符串(ToSign),比如:Region:="cn-north-1";Date Time:="20200119T153002Z";App ID:="1001";ToSign:=Region+"\n"+DateTime+"\n"+Room ID。其中,每部分使用换行符"\n"分割,生成的待签字符串用于进行签名,生成签名信息。
在具体实施中,应用客户端在生成签名信息后,基于生成的签名信息,向应用服务端发起访问请求,也即超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求,签名信息可携带于应用客户端发送的HTTP请求中,用于用户权限的认证。
下面,分别从应用客户端和应用服务端,描述本公开实施例的签名方法。
如图2所示,为应用客户端在签名流程中的执行逻辑流程图,包括:
S201:向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥。
这里,应用客户端可以按照预设时间间隔向应用服务端发送STS获取请求。
S202:基于所述临时动态密钥生成签名密钥。
这里,应用客户端基于STS中的第一静态密钥(SK)、签名的日期、服务类型信息,以及约定的第一方法,生成签名密钥。
S203:基于所述签名密钥对待签字符串进行签名,生成签名信息。
基于所述签名密钥,按照约定的第二方法,对应用客户端对应的包括Region、AppID等相关服务信息以及当前对应的DateTime在内的待签字符串进行签名,生成签名信息。
如图3所示,为应用服务端在签名流程中的执行逻辑流程图,包括:
S301:获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对。
S302:响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥。
S303:将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。
关于应用服务端相关内容的描述详见上述图1相关内容的描述,这里不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与签名的方法对应的签名的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述签名的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种签名的装置400的示意图,所述装置可以部署在应用服务端,包括:获取模块401、密钥生成模块402、发送模块403;其中,
获取模块401,用于获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;
密钥生成模块402,用于响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
发送模块403,用于将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。
参照图5所示,为本公开实施例提供的另一种签名的装置500的示意图,所述装置可以部署在应用客户端,包括:传输模块501、密钥生成模块502、和签名模块503;其中:
传输模块501,用于向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥;
密钥生成模块502,用于基于所述临时动态密钥生成签名密钥;
签名模块503,用于基于所述签名密钥对待签字符串进行签名,生成签名信息。
一种可能的实施方式中,传输模块501,具体用于:
按照预设时间间隔向应用服务端发送临时动态密钥获取请求;所述临时动态密钥获取请求中包含有效期信息,所述有效期信息所指示的有效时间长度大于或等于所述预设时间间隔。
一种可能的实施方式中,密钥生成模块502,具体用于:
基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥;所述第一静态密钥为用于生成所述临时动态密钥的静态密钥对中的一个密钥字符串。
进一步地,密钥生成模块502,具体用于:
基于所述第一静态密钥、签名的日期、服务类型信息,以及约定的第一方法,生成所述签名密钥。
一种可能的实施方式中,签名模块503,具体用于:
基于所述签名密钥,按照约定的第二方法,对待签字符串进行签名,生成所述签名信息。
可选地,上述待签字符串包括以下信息中的至少一种:
目标应用的相关服务信息、以及当前对应的请求时间。
本公开实施例提供的签名的方法、装置、计算机设备及存储介质。应用服务端可以预先获取并存储云服务端为目标应用的用户提供的在约定时期内长期有效的账号信息,账号信息中包含用于生成STS的静态密钥对,这样,应用服务端可以响应应用客户端的STS获取请求,基于存储的静态密钥对生成动态的STS并返回给应用客户端,应用客户端在获取到STS后,基于STS生成签名密钥,最后基于签名密钥生成签名信息。可见,由于本公开实施例中,应用服务端可以为应用客户端提供动态更新的STS,与在应用客户端中存储固定的STS相比,安全性更高;而且,应用服务端可以存储一个在约定时期内长期有效的静态密钥对,用于动态生成STS,应用客户端每次只需要向对应的应用服务端发起STS获取请求,无需向云服务端发起远程请求(应用客户端需要通过应用服务端向云服务端发起远程请求),缩短了签名路径,提高了访问效率。
本公开实施例还提供了一种计算机设备,如图6所示,为本公开实施例提供的一种计算机设备600的结构示意图,包括:
处理器601和存储器602;
所述存储器602存储有处理器601可执行的机器可读指令,处理器601用于执行存储器602中存储的机器可读指令,在计算机设备为应用服务端的设备的情况下,所述机器可读指令被处理器601执行时,处理器601执行下述步骤:
获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;
响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端生成签名信息。
上述存储器602包括内存储器6021和外部存储器6022;内存储器6021也称内存,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换。
在计算机设备为应用客户端的设备的情况下,所述机器可读指令被处理器601执行时,处理器601执行下述步骤:
向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥;
基于所述临时动态密钥生成签名密钥;
基于所述签名密钥对待签字符串进行签名,生成签名信息。
一种可能的实施方式中,处理器601执行的指令中,所述向应用服务端发送临时动态密钥获取请求,包括:
按照预设时间间隔向应用服务端发送临时动态密钥获取请求;所述临时动态密钥获取请求中包含有效期信息,所述有效期信息所指示的有效时间长度大于或等于所述预设时间间隔。
一种可能的实施方式中,处理器601执行的指令中,所述基于所述临时动态密钥生成签名密钥,包括:
基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥;所述第一静态密钥为用于生成所述临时动态密钥的静态密钥对中的一个密钥字符串。
一种可能的实施方式中,处理器601执行的指令中,所述基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥,包括:
基于所述第一静态密钥、签名的日期、服务类型信息,以及约定的第一方法,生成所述签名密钥。
一种可能的实施方式中,处理器601执行的指令中,所述基于所述签名密钥对待签字符串进行签名,生成签名信息,包括:
基于所述签名密钥,按照约定的第二方法,对待签字符串进行签名,生成所述签名信息。
一种可能的实施方式中,处理器601执行的指令中,所述待签字符串包括以下信息中的至少一种:
目标应用的相关服务信息、以及当前对应的请求时间。
上述指令的具体执行过程可以参考本公开实施例中所述的签名的方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的签名的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的签名的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的签名的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种签名的方法,其特征在于,应用于应用服务端,该方法包括:
获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;其中,所述静态密钥对包括应用客户端生成签名密钥时使用的第一静态密钥,以及应用客户端发起的针对签名的认证请求中携带的第二静态密钥;
响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端对待签字符串进行签名,生成签名信息,以基于所述签名信息向所述应用服务端发起请求。
2.一种签名的方法,其特征在于,应用于应用客户端,该方法包括:
向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥,所述静态密钥对包括应用客户端生成签名密钥时使用的第一静态密钥,以及应用客户端发起的针对签名的认证请求中携带的第二静态密钥;
基于所述临时动态密钥生成签名密钥;
基于所述签名密钥对待签字符串进行签名,生成签名信息。
3.根据权利要求2所述的方法,其特征在于,向应用服务端发送临时动态密钥获取请求,包括:
按照预设时间间隔向应用服务端发送临时动态密钥获取请求;所述临时动态密钥获取请求中包含有效期信息,所述有效期信息所指示的有效时间长度大于或等于所述预设时间间隔。
4.根据权利要求3所述的方法,其特征在于,基于所述临时动态密钥生成签名密钥,包括:
基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥;所述第一静态密钥为用于生成所述临时动态密钥的静态密钥对中的一个密钥字符串。
5.根据权利要求4所述的方法,其特征在于,基于所述临时动态密钥中的第一静态密钥,以及约定的第一方法,生成所述签名密钥,包括:
基于所述第一静态密钥、签名的日期、服务类型信息,以及约定的第一方法,生成所述签名密钥。
6.根据权利要求5所述的方法,其特征在于,基于所述签名密钥对待签字符串进行签名,生成签名信息,包括:
基于所述签名密钥,按照约定的第二方法,对待签字符串进行签名,生成所述签名信息。
7.根据权利要求2所述的方法,其特征在于,所述待签字符串包括以下信息中的至少一种:
目标应用的相关服务信息、以及当前对应的请求时间。
8.一种签名装置,其特征在于,应用于应用服务端,包括:
获取模块,用于获取并存储云服务端提供的账号信息,所述账号信息包含用于生成临时动态密钥的静态密钥对;其中,所述静态密钥对包括应用客户端生成签名密钥时使用的第一静态密钥,以及应用客户端发起的针对签名的认证请求中携带的第二静态密钥;
密钥生成模块,用于响应应用客户端的临时动态密钥获取请求,基于存储的所述静态密钥对,为所述应用客户端生成临时动态密钥;
发送模块,用于将所述临时动态密钥返回给所述应用客户端,所述临时动态密钥用于所述应用客户端对待签字符串进行签名,生成签名信息,以基于所述签名信息向所述应用服务端发起请求。
9.一种签名装置,其特征在于,应用于应用客户端,包括:
传输模块,用于向应用服务端发送临时动态密钥获取请求,并接收所述应用服务端返回的临时动态密钥;所述临时动态密钥为所述应用服务端基于预先从云服务端获取并存储的静态密钥对生成的动态密钥,所述静态密钥对包括应用客户端生成签名密钥时使用的第一静态密钥,以及应用客户端发起的针对签名的认证请求中携带的第二静态密钥;
密钥生成模块,用于基于所述临时动态密钥生成签名密钥;
签名模块,用于基于所述签名密钥对待签字符串进行签名,生成签名信息。
10.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任一项所述的签名的方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至7任一项所述的签名的方法的步骤。
CN202010859359.XA 2020-08-24 2020-08-24 一种签名的方法、装置、计算机设备及存储介质 Active CN112003706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010859359.XA CN112003706B (zh) 2020-08-24 2020-08-24 一种签名的方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010859359.XA CN112003706B (zh) 2020-08-24 2020-08-24 一种签名的方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112003706A CN112003706A (zh) 2020-11-27
CN112003706B true CN112003706B (zh) 2023-07-18

Family

ID=73470693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010859359.XA Active CN112003706B (zh) 2020-08-24 2020-08-24 一种签名的方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112003706B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637214B (zh) * 2020-12-24 2023-04-07 北京金山云网络技术有限公司 资源访问方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2363976A1 (en) * 2010-02-25 2011-09-07 Certicom Corp. Improved digital signature and key agreement schemes
CN102984252A (zh) * 2012-11-26 2013-03-20 中国科学院信息工程研究所 一种基于动态跨域安全令牌的云资源访问控制方法
CN103391292A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 针对移动应用的安全登录方法、系统和装置
WO2017020452A1 (zh) * 2015-08-04 2017-02-09 北京百度网讯科技有限公司 认证方法和认证系统
WO2018113362A1 (zh) * 2016-12-20 2018-06-28 百富计算机技术(深圳)有限公司 密钥远程获取方法、销售终端和存储介质
CN109905236A (zh) * 2019-01-15 2019-06-18 如般量子科技有限公司 基于私钥池的抗量子计算Elgamal加解密方法和系统
CN110999203A (zh) * 2017-05-08 2020-04-10 亚马逊技术有限公司 使用成对隐式证书生成共享秘密
CN111475824A (zh) * 2020-03-23 2020-07-31 深圳前海百递网络有限公司 数据访问方法、装置、设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067160B (zh) * 2013-01-14 2018-05-15 江苏智联天地科技有限公司 一种加密sd卡的动态密钥生成的方法及系统
CN105577691B (zh) * 2016-02-03 2019-06-18 飞天诚信科技股份有限公司 一种安全访问方法和服务器
CN106850699B (zh) * 2017-04-10 2019-11-29 中国工商银行股份有限公司 一种移动终端登录认证方法及系统
CN108200014B (zh) * 2017-12-18 2020-10-09 北京深思数盾科技股份有限公司 利用智能密钥装置访问服务器的方法、装置及系统
CN109995699B (zh) * 2017-12-29 2023-04-18 上海智显光电科技有限公司 多媒体设备管理系统
US20190356661A1 (en) * 2018-05-21 2019-11-21 Cyberark Software Ltd. Proxy manager using replica authentication information
CN110830471B (zh) * 2019-11-06 2022-05-24 北京一砂信息技术有限公司 Otp验证方法、服务器、客户端及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2363976A1 (en) * 2010-02-25 2011-09-07 Certicom Corp. Improved digital signature and key agreement schemes
CN102984252A (zh) * 2012-11-26 2013-03-20 中国科学院信息工程研究所 一种基于动态跨域安全令牌的云资源访问控制方法
CN103391292A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 针对移动应用的安全登录方法、系统和装置
WO2017020452A1 (zh) * 2015-08-04 2017-02-09 北京百度网讯科技有限公司 认证方法和认证系统
WO2018113362A1 (zh) * 2016-12-20 2018-06-28 百富计算机技术(深圳)有限公司 密钥远程获取方法、销售终端和存储介质
CN110999203A (zh) * 2017-05-08 2020-04-10 亚马逊技术有限公司 使用成对隐式证书生成共享秘密
CN109905236A (zh) * 2019-01-15 2019-06-18 如般量子科技有限公司 基于私钥池的抗量子计算Elgamal加解密方法和系统
CN111475824A (zh) * 2020-03-23 2020-07-31 深圳前海百递网络有限公司 数据访问方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
抗密钥泄露的支持密态数据去重的完整性审计方案;张襄松;李晨;刘振华;;通信学报(第04期);全文 *

Also Published As

Publication number Publication date
CN112003706A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
ES2713673T3 (es) Procedimientos, sistemas y producto de programa de ordenador para proporcionar encriptado en una pluralidad de dispositivos
US10659226B2 (en) Data encryption method, decryption method, apparatus, and system
US11676133B2 (en) Method and system for mobile cryptocurrency wallet connectivity
KR101572799B1 (ko) 프린터와 프린트 클라이언트 디바이스 사이의 보안 프린팅
JP5749236B2 (ja) 鍵付け替え管理装置および鍵付け替え管理方法
KR102266206B1 (ko) 합의 노드와 클라이언트 노드 간의 통신을 관리하는 방법
KR20170129549A (ko) 패스워드와 id 기반 서명을 이용한 인증 키 합의 방법 및 장치
CN111949974A (zh) 一种认证的方法、装置、计算机设备及存储介质
CN109981576B (zh) 密钥迁移方法和装置
CN112003706B (zh) 一种签名的方法、装置、计算机设备及存储介质
CN103368918A (zh) 一种动态口令认证方法、装置及系统
KR20150081168A (ko) 래티스에서의 아이디 기반 브로드캐스트 방법
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质
CA2913571A1 (en) Multi-platform user authentication device with double and multilaterally blind on-the-fly key generation
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
CN114969767A (zh) 敏感数据加密安全传输方法、装置和设备
CN111488570A (zh) 认证方法及认证系统
CN110855606A (zh) 一种用户身份认证方法、云解码服务器、客户端和系统
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
Rath et al. Encryption-based second authentication factor solutions for qualified server-side signature creation
EP3447992B1 (en) Message pushing method and terminal
CN113452513B (zh) 密钥分发方法、装置和系统
JPWO2018043466A1 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
JP2012128726A (ja) ネットワーク認証システム、ネットワーク認証方法およびプログラム
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム

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
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder