CN111428208A - 一种应用软件授权方法、装置及存储介质 - Google Patents
一种应用软件授权方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111428208A CN111428208A CN202010515795.5A CN202010515795A CN111428208A CN 111428208 A CN111428208 A CN 111428208A CN 202010515795 A CN202010515795 A CN 202010515795A CN 111428208 A CN111428208 A CN 111428208A
- Authority
- CN
- China
- Prior art keywords
- container
- client
- application
- authorization file
- identifier
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013475 authorization Methods 0.000 claims abstract description 168
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种应用软件授权方法、装置及存储介质。在本申请的一些实施例中,响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;将基于所述容器标识生成授权文件发送给所述客户端;接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。通过为客户端应用单独创建一个专用应用运行容器,利用该应用运行容器实现设备信息产生、授权文件下发等等,不受应用软件更新、硬件信息变动的影响,从而确保授权文件有效性,使得应用软件版权获得更好的保护效果。
Description
技术领域
本申请人工智能技术领域,尤其涉及一种应用软件授权方法、装置及存储介质。
背景技术
随着计算机技术的不断发展,虚拟化技术应用越来越广泛,更多的应用选择在虚拟化平台上运行。尤其是类似容器即服务(Container as a Service)的发展,因其使用的便利性,屏蔽了底层硬件,使用更加便利。
在现有技术中,通常通过绑定硬件信息的方式实现软件版本授权。然而,若将软件运行在容器中,由于容器和宿主机存在隔离,所以无法获取常用的硬件信息,比如MAC、静态IP等。而且容器多部署于云环境下,可能存在容器漂移的情况,就算是指定获取CPU编号,可能在下一次验证时,CPU编号就会改变。
发明内容
本申请的多个方面提供一种应用软件授权方法、装置及存储介质,用以为运行在容器中应用软件获得安全、可靠的授权保护。
本申请实施例提供一种应用软件授权方法,应用于服务端,所述方法包括:
响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
将基于所述容器标识生成授权文件发送给所述客户端;
接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
可选地,响应于所述客户端应用的启动命令,在服务端的所述容器集群中创建并运行所述应用运行容器,将所述应用运行容器作为独立运行所述客户端应用的授权服务端。
可选地,响应于所述客户端应用的启动命令,为所述应用运行容器分配随机字符串作为容器标识,以便根据所述容器标识生成所述授权文件。
可选地,获取所述应用运行容器对应的全局唯一标识;
所述将基于所述容器标识生成授权文件发送给所述客户端,包括:
基于所述容器标识和所述全局唯一标识,生成授权文件;
发送所述授权文件给所述客户端。
可选地,根据所述容器标识,检验所述有效授权文件是否完整;
若完整,则关闭为所述客户端分配的应用程序接口。
可选地,若所述有效授权文件被后台删除,则开启所述应用接口以便更新所述有效授权文件。
本申请实施例提供一种应用软件授权方法,应用于客户端,所述方法包括:
根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取基于所述应用运行容器的容器标识生成的授权文件;
将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
可选地,获取所述应用运行容器的容器标识和全局唯一标识;
所述获取基于所述应用运行容器的容器标识生成的授权文件,包括:
获取基于所述容器标识和所述全局唯一标识生成的所述授权文件;或者,
获取基于所述容器标识生成的所述授权文件。
可选地,基于所述客户端应用信息、所述全局唯一标识、所述容器标识和所述授权文件生成客户端数据;或者,
基于所述客户端应用信息、所述容器标识和所述授权文件生成所述客户端数据;
通过服务端提供的签名公钥对所述客户端数据签发得到所述有效授权文件;
将所述有效授权文件发送给所述应用运行容器。
本申请实施例提供一种应用软件授权装置,应用于服务端,所述装置包括:
标识确定模块,用于响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
发送模块,用于将基于所述容器标识生成授权文件发送给所述客户端;
接收模块,用于接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
本申请实施例提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
将基于所述容器标识生成授权文件发送给所述客户端;
接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
本申请实施例提供一种应用软件授权装置,应用于客户端,所述装置包括:
请求发送模块,用于根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取模块,用于获取基于所述应用运行容器的容器标识生成的授权文件;
文件发送模块,用于将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
本申请实施例提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取基于所述应用运行容器的容器标识生成的授权文件;
将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
在本申请的一些实施例中,在客户端向服务端发送授权文件获取请求后,服务端会将为该客户端应用分配的应用运行容器的设备信息,比如应用运行容器的容器标识发送给客户端。进而,客户端基于应用运行容器的容器标识完成授权文件的签发。通过为客户端应用单独创建一个专用应用运行容器,利用该应用运行容器实现设备信息产生、授权文件下发等等,不受应用软件更新、硬件信息变动的影响,从而确保授权文件有效性,使得应用软件版权获得更好的保护效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种应用软件授权方法的流程示意图;
图2为本申请实施例提供的另一种应用软件授权方法的流程示意图;
图3为本申请实施例提供的一种Licence系统使用过程示意图;
图4为本申请实施例提供的客户端校验流程的示意图;
图5为本申请实施例提供的一种应用软件授权装置的结构示意图;
图6为本申请实施例提供的另一种应用软件授权装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
应用容器化技术具有更好的隔离效果,并且轻量化,易部署,因此越来越多的应用通过容器运行。Docker作为容器化的产品代表,其在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。Docker通过基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。并且,现有软件版权通过绑定服务器的硬件信息进行授权,比如对CPU编号,MAC,静态IP等唯一值进行授权和授权校验。然而,通过绑定硬件信息生成授权文件的方式在Docker环境中并不适用。Docker容器和宿主机之间存在隔离,从而无法获取MAC、静态IP等。而且Docker容器在云环境下容易发生漂移,即便指定获取CPU编号,在下次验证的时候也可能会改变。
为了使得容器化运行软件版权获得更好的保护效果,特提出本申请技术方案。以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种应用软件授权方法的流程示意图。本方法主要应用于服务端,这里所说的服务端可以是本地服务端也可以是云服务器等,在本申请技术方案中并不做具体限制。本申请应用软件授权方法具体包括如下步骤:
101:响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识。
102:将基于所述容器标识生成授权文件发送给所述客户端。
103:接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
在实际应用中,在客户端应用启动或者Licence服务端启动后(需要说明的是,客户端应用和Licence服务端可以同时启动,也可以先启动Licence服务端在启动客户端应用),服务端响应于上述启动命令,将在服务端的容器集群中创建一个专门用于运行该客户端应用的独立容器(为了便于区分,将该容器称为应用运行容器)。建立独立的Docker容器,用于作为Licence服务端,能够有效避免因容器宿主机出现故障、软件升级等导致的容器ID改变。从而使得容器ID更加稳定。
容器ID获取方法如下:客户端应用在运行之前通常通过镜像方式存储在容器仓库中,在运行客户端应用的镜像的时候,都会随机分配一个具有32字节的字符串,将该字符串作为容器标识,也就是容器ID。这个容器ID与硬件信息无关。使用Docker作为运行容器的应用,基于在Docker环境中容器ID唯一的特点,可以采用Licence服务端的容器ID作为授权主体来生成授权文件。
在实际业务系统中,可能同时存在多个应用,以及各应用对应的容器,这些容器形成容器集群。在容器集群中,创建专门用来运行客户端应用的独立的应用运行容器之后,若服务端接收到客户端发送的授权文件获取请求,服务端将对接收到请求进行解析,从而确定与客户端应用具有唯一对应关系的容器标识,并由服务端将容器标识发送给客户端。客户端在接到容器标识后,将对客户端接收的用户信息和容器标识进行拼接,得到客户端数据,并将客户端数据发送给服务端,以便服务端利用客户端数据生成授权文件。
此外,在实际应用中,为了生成授权文件,服务端除了获取容器标识之外,还需要获取全局唯一标识(Globally Unique Identifier,Guid),进而,结合容器标识和全局唯一标识也可以生成授权文件,具体来说,利用GET方法从/LicenceAPP API获取二进制文件,该二进制文件是基于容器ID和Guid所组成的明文生成的。
需要说明的是,在上述各实施例中生成授权文件的时候,都需要将容器标识(也就是容器ID)作为授权主体生成授权文件,从而确保授权文件持续稳定、有效,不会疑问宿主机故障、业务应用更新等问题导致授权文件(也就是Licence校验失败)失效或者验证失败。以便对应用软件的版权能够获得更好的保护效果。
服务端生成授权文件之后,还需要将授权文件发送给客户端,以便客户端签发授权文件,并将签发完成的授权文件返给服务端。客户端对授权文件的签发过程如下:基于所述客户端应用信息、所述全局唯一标识、所述容器标识和所述授权文件生成客户端数据;通过服务端提供的签名公钥对所述客户端数据签发得到所述有效授权文件;将所述有效授权文件发送给所述应用运行容器。
服务端接收到客户端签发完成的有效授权文件之后,将根据所述容器标识,检验所述有效授权文件是否完整;若完整,则关闭为所述客户端分配的应用程序接口。应用程序接口关闭后,将不允许同一个客户端应用多次上传有效授权文件。防止有效授权文件被恶意篡改,从而更好的保护有效授权文件的有效性。
若后台工作人员在后台通过手动方式删除了有效授权文件,则自动重新开启应用程序接口API。从而能够满足对应用和授权信息的更改或升级需求。
图2为本申请实施例提供的另一种应用软件授权方法的流程示意图。本方法主要应用于客户端。本申请应用软件授权方法具体包括如下步骤:
201:根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求。
202:获取基于所述应用运行容器的容器标识生成的授权文件。
203:将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
在实际应用中,客户端接收到服务端提供的授权文件的同时,还会获取容器标识和/或全局唯一标识。进而基于容器标识和/或全局唯一标识签发有效授权文件。具体来说:
基于所述客户端应用信息、所述全局唯一标识、所述容器标识和所述授权文件生成客户端数据。或者,基于客户端应用信息、容器标识和授权文件生成客户端数据。
客户端在接收到授权文件的同时,还接收到授权文件分配的用于签名的公钥(比如RSA公钥)。通过服务端提供的签名公钥对所述客户端数据签发得到所述有效授权文件;将所述有效授权文件发送给所述应用运行容器。
为了便于理解本申请技术方案,下面具体举例说明如图3为本申请实施例提供的一种Licence系统使用过程示意图。
首先,启动Licence服务端并进行初始化。需要说明的是,服务端可与业务应用同时启动,也可以优先启动。
在启动之后,客户端应用从服务端获取设备信息,其中,这里所说的设备信息是由服务端容器ID和Guid组成的明文文件,使用GET方法从/licenceApp API获取二进制文件。
进而,客户端针对容器ID或者设备信息签发授权文件,经授权方签发授权文件。
客户端将上传签发好的有效授权文件到服务端。
通过/licence API使用POST方法上传签发好的授权文件到服务端,服务端使用容器ID检查授权文件完整性和正确性,若文件完好,将授权文件写入指定目录中,同时关闭上传接口。不允许多次上传授权文件,但是后台进入服务端手动删除授权文件,上传接口自动开启,此步骤是允许更新授权文件使用。
如图4为本申请实施例提供的客户端校验流程的示意图。从图4中可以看到,在完成上述各实施例所述有关有效授权文件生成工作后,客户端可以从服务端获取有效授权文件,比如,客户端可以通过GET方法从/licence API获取有效授权文件,请求中包含当前时间戳、请求状态(GET、UP)和应用名称。服务端判断接收到的请求中包含的数据完整性,若完整则服务端通过状态判断是获取有效授权文件还是进行状态更新。在有效授权文件内有一扩展项,用于限制能够拉取有效授权文件的应用的数量。当请求是获取新的有效授权文件时,会记录此时的访问域名、应用名称以及当前时间戳。并查看允许的实例数是否还有剩余,如果还有剩余,就下发有效授权文件,在服务端注册信息并响应授权文件,同时开始轮询检查客户端的时间戳是否在指定时间内,客户端收到授权文件也开始健康上报,客户端的健康上报频率要高于服务端检查频率,防止当网络不稳定或者其他情况发生时,服务端删除健康节点,造成恶意程序获取有效授权文件。
如图5为本申请实施例提供的一种应用软件授权装置的结构示意图。从图5中可以看到包括如下模块:
标识确定模块51,用于响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
发送模块52,用于将基于所述容器标识生成授权文件发送给所述客户端;
接收模块53,用于接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
可选地,还包括:容器创建模块54,用于响应于所述客户端应用的启动命令,在服务端的所述容器集群中创建并运行所述应用运行容器,将所述应用运行容器作为独立运行所述客户端应用的授权服务端。
可选地,容器创建模块54,还用于响应于所述客户端应用的启动命令,为所述应用运行容器分配随机字符串作为容器标识,以便根据所述容器标识生成所述授权文件。
可选地,标识确定模块51用于获取所述应用运行容器对应的全局唯一标识;
标识确定模块51还用于基于所述容器标识和所述全局唯一标识,生成授权文件;发送所述授权文件给所述客户端。
可选地,还包括:校验模块55,用于根据所述容器标识,检验所述有效授权文件是否完整;若完整,则关闭为所述客户端分配的应用程序接口。
还包括接口开启模块56,用于若所述有效授权文件被后台删除,则开启所述应用接口以便更新所述有效授权文件。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
将基于所述容器标识生成授权文件发送给所述客户端;
接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
如图6为本申请实施例提供的另一种应用软件授权装置的结构示意图。如图6所示包括如下模块:
请求发送模块61,用于根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取模块62,用于获取基于所述应用运行容器的容器标识生成的授权文件;
文件发送模块63,用于将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
可选地,获取模块62用于获取所述应用运行容器的容器标识和全局唯一标识;还用于获取基于所述容器标识和所述全局唯一标识生成的所述授权文件;或者,获取基于所述容器标识生成的所述授权文件。
可选地,文件发送模块63用于基于所述客户端应用信息、所述全局唯一标识、所述容器标识和所述授权文件生成客户端数据;或者,基于所述客户端应用信息、所述容器标识和所述授权文件生成所述客户端数据;
通过服务端提供的签名公钥对所述客户端数据签发得到所述有效授权文件;将所述有效授权文件发送给所述应用运行容器。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取基于所述应用运行容器的容器标识生成的授权文件;
将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
基于上述实施例可知,在客户端向服务端发送授权文件获取请求后,服务端会将为该客户端应用分配的应用运行容器的设备信息,比如应用运行容器的容器标识发送给客户端。进而,客户端基于应用运行容器的容器标识完成授权文件的签发。通过为客户端应用单独创建一个专用应用运行容器,利用该应用运行容器实现设备信息产生、授权文件下发等等,不受应用软件更新、硬件信息变动的影响,从而确保授权文件有效性,使得应用软件版权获得更好的保护效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪存储体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种应用软件授权方法,其特征在于,应用于服务端,所述方法包括:
响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
将基于所述容器标识生成的授权文件发送给所述客户端;
接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
2.根据权利要求1所述的方法,其特征在于,确定为客户端应用从容器集群中创建的应用运行容器的容器标识之前,还包括:
响应于所述客户端应用的启动命令,在服务端的所述容器集群中创建并运行所述应用运行容器,将所述应用运行容器作为独立运行所述客户端应用的授权服务端。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于所述客户端应用的启动命令,为所述应用运行容器分配随机字符串作为容器标识,以便根据所述容器标识生成所述授权文件。
4.根据权利要求1所述的方法,其特征在于,将基于所述容器标识生成的授权文件发送给所述客户端之前,还包括:
获取所述应用运行容器对应的全局唯一标识;
所述将基于所述容器标识生成的授权文件发送给所述客户端,包括:
基于所述容器标识和所述全局唯一标识,生成授权文件;
发送所述授权文件给所述客户端。
5.根据权利要求1所述的方法,其特征在于,接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件之后,还包括:
根据所述容器标识,检验所述有效授权文件是否完整;
若完整,则关闭为所述客户端分配的应用程序接口。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述有效授权文件被后台删除,则开启所述应用程序接口以便更新所述有效授权文件。
7.一种应用软件授权方法,其特征在于,应用于客户端,所述方法包括:
根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取基于所述应用运行容器的容器标识生成的授权文件;
将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
8.根据权利要求7所述的方法,其特征在于,获取基于所述应用运行容器的容器标识生成的授权文件之前,还包括:
获取所述应用运行容器的容器标识和全局唯一标识;
所述获取基于所述应用运行容器的容器标识生成的授权文件,包括:
获取基于所述容器标识和所述全局唯一标识生成的所述授权文件;或者,
获取基于所述容器标识生成的所述授权文件。
9.根据权利要求8所述的方法,其特征在于,所述将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器,包括:
基于所述客户端应用信息、所述全局唯一标识、所述容器标识和所述授权文件生成客户端数据;或者,
基于所述客户端应用信息、所述容器标识和所述授权文件生成所述客户端数据;
通过服务端提供的签名公钥对所述客户端数据签发得到所述有效授权文件;
将所述有效授权文件发送给所述应用运行容器。
10.一种应用软件授权装置,其特征在于,应用于服务端,所述装置包括:
标识确定模块,用于响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
发送模块,用于将基于所述容器标识生成的授权文件发送给所述客户端;
接收模块,用于接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
11.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
响应于客户端的授权文件获取请求,确定为客户端应用从容器集群中创建的应用运行容器的容器标识;
将基于所述容器标识生成的授权文件发送给所述客户端;
接收所述客户端基于所述客户端应用信息和所述容器标识签发的有效授权文件。
12.一种应用软件授权装置,其特征在于,应用于客户端,所述装置包括:
请求发送模块,用于根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取模块,用于获取基于所述应用运行容器的容器标识生成的授权文件;
文件发送模块,用于将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
13.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
根据客户端应用信息,向从容器集群中为所述客户端应用创建的应用运行容器发送授权文件获取请求;
获取基于所述应用运行容器的容器标识生成的授权文件;
将基于所述客户端应用信息和所述容器标识签发的有效授权文件发送给所述应用运行容器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010515795.5A CN111428208B (zh) | 2020-06-09 | 2020-06-09 | 一种应用软件授权方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010515795.5A CN111428208B (zh) | 2020-06-09 | 2020-06-09 | 一种应用软件授权方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428208A true CN111428208A (zh) | 2020-07-17 |
CN111428208B CN111428208B (zh) | 2020-10-30 |
Family
ID=71551294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010515795.5A Active CN111428208B (zh) | 2020-06-09 | 2020-06-09 | 一种应用软件授权方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428208B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613083A (zh) * | 2021-01-04 | 2021-04-06 | 北京数字认证股份有限公司 | 一种基于应用容器引擎的应用授权验证方法和装置 |
CN112653571A (zh) * | 2020-08-20 | 2021-04-13 | 国家电网公司华中分部 | 一种基于虚拟机与容器的混合调度方法 |
CN112836183A (zh) * | 2020-12-31 | 2021-05-25 | 上海移为通信技术股份有限公司 | 授权方法、网络设备和存储介质 |
CN113285843A (zh) * | 2021-07-23 | 2021-08-20 | 中航金网(北京)电子商务有限公司 | 容器网络配置方法、装置、计算机可读介质及电子设备 |
CN113761481A (zh) * | 2021-04-30 | 2021-12-07 | 中科天玑数据科技股份有限公司 | 一种基于容器云的软件授权认证方法 |
CN113792288A (zh) * | 2021-08-09 | 2021-12-14 | 北京橙色云科技有限公司 | 数据处理方法、装置、存储介质和处理器 |
CN113868602A (zh) * | 2021-09-06 | 2021-12-31 | 浙江大华技术股份有限公司 | 应用授权方法、分布式集群系统、电子设备和存储介质 |
CN115589320A (zh) * | 2022-10-08 | 2023-01-10 | 深信服科技股份有限公司 | 分布式集群软件授权方法、装置、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069921A (zh) * | 2019-04-12 | 2019-07-30 | 中国科学院信息工程研究所 | 一种面向容器平台的可信软件授权验证系统及方法 |
US20190253523A1 (en) * | 2018-02-14 | 2019-08-15 | Eingot Llc | Zero-knowledge environment based networking engine |
CN110198318A (zh) * | 2019-06-03 | 2019-09-03 | 浪潮云信息技术有限公司 | 一种容器服务用户认证方法 |
CN110383240A (zh) * | 2017-03-20 | 2019-10-25 | 华为技术有限公司 | 用于容器化的安全计算资源的方法和装置 |
CN111176794A (zh) * | 2020-01-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种容器管理方法、装置及可读存储介质 |
-
2020
- 2020-06-09 CN CN202010515795.5A patent/CN111428208B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110383240A (zh) * | 2017-03-20 | 2019-10-25 | 华为技术有限公司 | 用于容器化的安全计算资源的方法和装置 |
US20190253523A1 (en) * | 2018-02-14 | 2019-08-15 | Eingot Llc | Zero-knowledge environment based networking engine |
CN110069921A (zh) * | 2019-04-12 | 2019-07-30 | 中国科学院信息工程研究所 | 一种面向容器平台的可信软件授权验证系统及方法 |
CN110198318A (zh) * | 2019-06-03 | 2019-09-03 | 浪潮云信息技术有限公司 | 一种容器服务用户认证方法 |
CN111176794A (zh) * | 2020-01-02 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种容器管理方法、装置及可读存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653571A (zh) * | 2020-08-20 | 2021-04-13 | 国家电网公司华中分部 | 一种基于虚拟机与容器的混合调度方法 |
CN112653571B (zh) * | 2020-08-20 | 2024-03-22 | 国家电网公司华中分部 | 一种基于虚拟机与容器的混合调度方法 |
CN112836183A (zh) * | 2020-12-31 | 2021-05-25 | 上海移为通信技术股份有限公司 | 授权方法、网络设备和存储介质 |
CN112836183B (zh) * | 2020-12-31 | 2023-03-24 | 上海移为通信技术股份有限公司 | 授权方法、网络设备和存储介质 |
CN112613083A (zh) * | 2021-01-04 | 2021-04-06 | 北京数字认证股份有限公司 | 一种基于应用容器引擎的应用授权验证方法和装置 |
CN113761481A (zh) * | 2021-04-30 | 2021-12-07 | 中科天玑数据科技股份有限公司 | 一种基于容器云的软件授权认证方法 |
CN113285843A (zh) * | 2021-07-23 | 2021-08-20 | 中航金网(北京)电子商务有限公司 | 容器网络配置方法、装置、计算机可读介质及电子设备 |
CN113792288A (zh) * | 2021-08-09 | 2021-12-14 | 北京橙色云科技有限公司 | 数据处理方法、装置、存储介质和处理器 |
CN113868602A (zh) * | 2021-09-06 | 2021-12-31 | 浙江大华技术股份有限公司 | 应用授权方法、分布式集群系统、电子设备和存储介质 |
CN113868602B (zh) * | 2021-09-06 | 2023-06-20 | 浙江大华技术股份有限公司 | 应用授权方法、分布式集群系统、电子设备和存储介质 |
CN115589320A (zh) * | 2022-10-08 | 2023-01-10 | 深信服科技股份有限公司 | 分布式集群软件授权方法、装置、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111428208B (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428208B (zh) | 一种应用软件授权方法、装置及存储介质 | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
KR101956486B1 (ko) | 단말 식별자들을 용이하게 하는 방법 및 시스템 | |
US11750642B1 (en) | Automated threat modeling using machine-readable threat models | |
US10432622B2 (en) | Securing biometric data through template distribution | |
WO2018233630A1 (zh) | 故障发现 | |
CN109446259B (zh) | 数据处理方法及装置、处理机及存储介质 | |
CN115114305B (zh) | 分布式数据库的锁管理方法、装置、设备及存储介质 | |
CN109995523B (zh) | 激活码管理方法及装置、激活码生成方法及装置 | |
US10223218B2 (en) | Disaster recovery of managed systems | |
US11093272B2 (en) | Virtual machine allocation and migration between hardware devices by destroying and generating enclaves using transmitted datafiles and cryptographic keys | |
CN111245897B (zh) | 数据处理方法、装置、系统、存储介质及处理器 | |
CN114745133A (zh) | 一种识别设备唯一性的方法及装置 | |
CN117396891A (zh) | 多层存储基础设施中的数据分发和安全性 | |
CN107493204A (zh) | 一种镜像检测的方法以及装置 | |
US11562069B2 (en) | Block-based anomaly detection | |
US11195179B2 (en) | Detecting cashback and other related reimbursement frauds using blockchain technology | |
US11283787B2 (en) | Computer resource provisioning | |
WO2022001879A1 (en) | Management of computing secrets | |
CN115221559A (zh) | 数据账户的访问授权方法及装置 | |
WO2020228564A1 (zh) | 一种应用服务方法与装置 | |
CN112258369A (zh) | 统一数据平台和基于统一数据平台的数据处理方法 | |
US20200050440A1 (en) | Application upgrading through sharing dependencies | |
CN111737672A (zh) | 一种基于区块链的远程办公方法、设备及介质 | |
EP3192225A1 (en) | Information object system |
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 |