CN112328975A - 一种产品软件授权管理方法、终端设备及介质 - Google Patents
一种产品软件授权管理方法、终端设备及介质 Download PDFInfo
- Publication number
- CN112328975A CN112328975A CN202011180326.9A CN202011180326A CN112328975A CN 112328975 A CN112328975 A CN 112328975A CN 202011180326 A CN202011180326 A CN 202011180326A CN 112328975 A CN112328975 A CN 112328975A
- Authority
- CN
- China
- Prior art keywords
- authorization
- product software
- data
- product
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title abstract description 22
- 238000013475 authorization Methods 0.000 claims abstract description 301
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 239000000047 product Substances 0.000 description 33
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000000605 extraction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 241001441724 Tetraodontidae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction 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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本申请适用于计算机技术领域,提供了一种产品软件授权管理方法、终端设备及介质,所述方法包括:接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项;分别确定与每个数据项一一对应的数据值;根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件;若所述产品软件限定机器,则生成所述产品软件的授权序列号;将所述授权序列号和所述授权文件添加至所述产品软件中。通过上述方法,能够实现对产品软件的授权管理。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种产品软件授权管理方法、终端设备及介质。
背景技术
软件开发公司在开发软件之后,需要将软件发布出去或者安装到客户环境中。这些软件在安装到客户环境中时,开发公司需要对这些软件产品的使用做出限制,从而避免软件被滥用,损害公司利益。
现有技术中,开发公司每开发一个产品软件,都需要编写一套与软件授权相关的代码,增加了软件开发的工作量。
发明内容
本申请实施例提供了一种产品软件授权管理方法、终端设备及介质,可以实现产品软件授权代码的复用。
第一方面,本申请实施例提供了一种产品软件授权管理方法,所述方法包括:
接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项;
分别确定与每个数据项一一对应的数据值;
根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件;
若所述产品软件限定机器,则生成所述产品软件的授权序列号;
将所述授权序列号和所述授权文件添加至所述产品软件中。
第二方面,本申请实施例提供了一种产品软件授权管理系统,所述方法包括:
数据项接收模块,用于接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项;
数据值确定模块,用于分别确定与每个数据项一一对应的数据值;
授权文件生成模块,用于根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件;
授权序列号生成模块,用于若所述产品软件限定机器,则生成所述产品软件的授权序列号;
添加模块,用于将所述授权序列号和所述授权文件添加至所述产品软件中。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的方法。
本申请实施例与现有技术相比存在的有益效果是:本实施例中,可以根据开发商的需求定义授权数据项,终端设备接收授权数据项信息;然后获取各个数据项的数据值;再对每个数据项及其对应的数据值进行加密处理,得到产品软件的授权文件,该授权文件一方面需要产品软件的数据项信息,另一方面需要特定方式才能解密读取,因此在对该授权文件进行验证时,需要同时进行解密验证和信息验证,从而保障了产品软件的授权文件不易被破解。另外一些产品软件可能需要在指定机器上运行,可以获取产品软件上所在机器的固定标识,比如物理地址、产品序列号等,将这些固定标识作为产品软件的授权申请码,对授权申请码采用不可逆算法计算得到产品软件的授权序列号,产品软件在机器上启动时,需要进行授权序列号的验证,因此,必须读取到与限定机器相同的授权标识码,才能根据相同的不可逆算法生成同样的授权序列号,通过授权序列号的验证;若产品软件不在限定机器上运行,则无法生成相同的授权序列号,无法启动,因此该方法能保障产品软件只在限定机器上运行。通过上述方法,能够对产品软件进行授权管理,另一方面,本方法中,将授权相关模块与产品软件的其他模块分离,可以实现授权相关模块的复用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的一种产品软件授权管理方法的流程示意图;
图2是本申请实施例二提供的一种产品软件授权管理方法的流程示意图;
图3是本申请实施例三提供的一种产品软件授权验证过程的流程示意图;
图4是本申请实施例四提供的一种产品软件授权管理系统的结构示意图;
图5是本申请实施例四提供的一种产品软件运行授权的流程示意图;
图6是本申请实施例五提供的一种产品软件授权管理系统的结构示意图;
图7是本申请实施例六提供的一种终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1是本申请实施例一提供的一种产品软件授权管理方法的流程示意图,如图1所示,所述方法包括:
S101,接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项。
具体地,本方法的执行主体为终端设备,具体可以由一个授权终端模块来实现本方法。
上述授权数据项信息可以为软件开发商自己定义的授权数据项,可以包括授权基本配置项和产品授权控制要素项目。授权基本配置项是授权文件的通用的基本配置项目,例如,授权项可以包括:产品标识码(PRODUCT)、授权签署人,即生成本授权文件的人(LICENSER)、被授权许可人,即被授权许可的对象(LICENSEE)、生成本授权文件的机器属性(物理HINE)、生成本授权文件的时间(ISSUETIME)、授权许可的版本编码(VERSION)、是否限制本授权文件的使用次数,和其可使用次数(即产品启动调用的次数)(USABILITY)、是否限制本授权文件的有效期,以及对应产品的有效期(EXPIRATION)等。产品授权控制要素项目,是为了突出产品软件的个性特征,不同产品软件可以根据需求自定义本产品特有的要素项目。
在对产品软件生成授权文件时,授权终端模块可以接收授权数据项定义文件,授权数据项文件中可以包括多个数据项,需要获取到这些数据项的值才能生成授权文件。
S102,分别确定与每个数据项一一对应的数据值。
具体地,在确定数据项所对应的数据值时,可以直接读取终端设备的值,比如生成本授权文件的机器属性这个数据项的值可以直接读取;另外也可以通过用户的设置来获取,比如授权终端模块可以提供一个可视化界面,其中一些数据项的值可以由用户自己输入。
S103,根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件。
具体地,确定每个数据项的数据值后,数据项与对应的数据值可以构成一组数据集,对数据集进行加密,并对加密后的数据集关联一套自保护数据,防止授权文件被篡改。将加密后的数据集及关联的自保护数据作为授权文件。
具体地,可以采用对称加密方式对数据集进行加密,如DES,AES,Blowfish等,另外还可以采用国密算法等。上述自保护数据可以是通过MD5算法对授权数据项做摘要。摘要自身是有循环冗余校验机制的,保证摘要的完整性。如果篡改了授权数据项,则进行摘要验证时必然无法通过。
S104,若所述产品软件限定机器,则生成所述产品软件的授权序列号。
具体地许多软件不适宜于限定机器,但个别通用重要的轻量级产品则往往选择限定机器比较合适,此时可以设置一个唯一的授权序列号,来保障产品软件在限定机器上运行。
具体地,授权终端模块可以包括授权码生成器,授权生成器可以通过客户提供的机器信息(如物理地址,硬盘编号,主机编号等)产生两个授权申请码,授权申请码1和授权申请码2,授权码生成器最终通过这两个申请码和特定的哈希算法能够产生一个唯一的授权序列号。
具体地,生成授权申请码时,可以根据客户信息和申请时间这二维信息来生成授权申请码的。比如根据客户信息,提取客户主键信息,一般是唯一的;申请时间一般是通过时间函数计算格林威治时间到当前时间的微秒数,这个一般也是唯一的。然后将这两个数值按照一定的格式产生两个授权申请码。另外一种算法,是和主机相关的算法,一般用于软件在特定主机运行的方式,数据处理是根据客户主机的相关信息做特定的二进制位运算。每个产品代码对应一种转换算法的输入参数,比如某个产品代码对应的主机信息是物理地址和磁盘序列号,则通过系统函数获取主机相关信息,并提取物理地址和磁盘序号,将这两项作为参数进行转换生成两个授权申请码1和授权申请码2。其中转换算法是根据移位操作、与或、异或等操作来生成。
S105,将所述授权序列号和所述授权文件添加至所述产品软件中。
具体地,若该产品软件不需要限定机器时,只需要将授权文件添加到产品软件中,即在产品软件发布时提供授权文件;若产品软件需要限定机器,则生成授权序列号,并将授权序列号添加至产品软件中,用于产品软件启动时验证产品软件是否在特定机器上运行。
在另一种可能的实现方式中,可以将授权序列号写入到授权文件中,然后将授权文件随同产品软件发布。
在本实施例中,授权终端模块可以根据开发商提供的授权数据项信息,获取数据项对应的数据值,并采用特定的算法生成授权文件,对该授权文件进行验证时,要先对授权文件进行完整性验证,保障授权文件不被篡改;另外尧都区授权文件内容时,需要对其进行解密,因此保障了授权文件不被非法读取;根据授权文件中的信息,可以对产品软件是否获得授权进行验证,若已获得授权,产品软件才能正常启动,否则不能正常启动。本实施例中,采用机器中的固定标识,生成授权序列号,在产品软件启动时,通过对授权序列号的验证,可以保障产品软件在限定机器中运行。
图2是本申请实施例二提供的一种产品软件授权管理方法的流程示意图如图2所示,所述方法包括:
S201,接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项。
具体地,本方法的执行主体为终端设备,具体可以由一个授权终端模块来实现本方法。授权终端模块中,可以嵌入一个授权核心模块,该授权核心模块中可以包括多个与授权计算相关的函数,对于授权文件的读写,只能通过授权核心控制模块来进行。
授权核心控制模块,是负责存取授权文件内部数据的基础模块,内部实现为可以被C/C++或JAVA程序调用的一套接口函数集合,提供的主要接口有提取授权项数据、修改或者添加配置项参数、提取产品授权期限、提取产品使用次数、提取应急授权申请码等。授权核心控制模块以动态库的形式存在,并和产品软件一起连接生成执行代码,它需要有一个或多个授权数据文件,共同负责对产品授权的控制
具体地,授权终端模块接收授权数据项定义文件,该授权数据项定义文件中包括多个数据项。
S202,分别确定与每个数据项一一对应的数据值。
具体地,根据开发商的设置或者读取到的信息确定每个数据项的数据值;
S203,将每个数据值分别赋予对应的数据项,获得数据集。
具体地,将每个数据值分别赋予对应的数据项,可以获得一组key-value映射的数据集。
S204,分别设置所述数据集中多个数据项的属性标签,所述属性标签用于标识每个数据项的操作权限。
具体地,上述属性标签可以为可读属性、隐藏属性、可配属性。隐藏属性对关键数据进行隐藏,交付给客户的授权查看工具看不到此属性的数据项;可读属性,设定了哪些数据项是只读的;可配置属性,设定了哪些数据是可以修改配置的。
这些属性标签用于标识用户对每个数据项的操作权限。例如对于可读属性,用户无法修改,对于可读属性的修改,可以通过管理者的授权管理终端模块来实现。这样实现了用户和管理者之间的权限分离。
S205,对所述数据集进行加密,并对所述加密后的数据集关联自保护数据。
具体地,可以调用授权核心控制模块对数据集进行加密,并生成数据集的自保护数据。加密算法和自保护数据的计算方法可以以函数形式存在于核心控制模块中。
S206,将所述加密后的数据集和所述自保护数据作为所述授权文件。
具体地,将加密后的数据集以及数据集所关联的自保护数据作为授权文件。
S207,若所述产品软件限定机器,则生成所述产品软件的授权序列号。
S208,将所述授权序列号和所述授权文件添加至所述产品软件中。
本实施例中的S207-S208与实施例一中的S104-S105类似,可以相互参考,在此不赘述。
本实施例中,采用了一个授权核心控制模块来负责读写授权文件,可以以动态库的方式嵌入到其他系统中。该授权核心控制模块可以复用,减轻了开发的工作量。
图3是本申请实施例三提供的一种产品软件授权验证过程的流程示意图,如图3所示,所述方法包括;
S301,当所述产品软件启动时,检测所述产品软件是否存在授权文件;
具体地,产品软件启动时需要有授权文件,若检测不到授权文件,则无法启动产品软件。
产品软件中也可以嵌入一个核心授权控制模块,核心授权控制模块内部实现为可以被C/C++或JAVA程序调用的一套接口函数集合,提供的主要接口有提取授权项数据、修改或者添加配置项参数、提取产品授权期限、提取产品使用次数、提取应急授权申请码等。授权核心控制模块以动态库的形式存在,并和产品软件一起连接生成执行代码,它需要有一个或多个授权数据文件,共同负责对产品授权的控制。
S302,若所述产品软件存在所述授权文件,则检测所述产品软件是否用于限定机器;
若产品软件中存在授权文件,则采用授权核心控制模块读取所述产品软件中是否包括授权序列号,若所述产品软件中包括授权序列号,则所述产品软件用于限定机器。
S303,若所述产品软件用于限定机器,则对所述产品软件进行授权序列号验证;
若产品软件用于限定机器,则调用授权核心控制模块提取产品软件所安装机器的器件标识,比如物理地址和磁盘地址,所需要提取的信息,与原来生成授权序列号时所采用的信息相同。将这些信息作为授权申请信息,采用相同的不可逆算法进行加密,将得到的密值与读取到的授权序列号进行比较,若二者相同,则可以判定该产品软件所在的机器为限定机器。
S304,采用所述产品软件的授权核心控制模块提取所述产品软件的配置信息;
具体地,授权文件中包括多个数据项,比如产品标识、授权期限、授权使用次数等等,核心控制模块可以读取产品软件的相关配置信息,将其与授权文件中的数据项的值进行比较,从而判断产品软件是否能使用。
S305,根据所述配置信息和所述授权文件,对所述产品软件的授权信息进行验证;
具体地,需要将授权文件中要求验证的所述数据项的值进行验证后,才能启动所述产品软件。
例如,授权核心控制模块读取软件的产品标识,将其与授权文件中的产品标识相比较,若二者不同,则不能启动该产品软件。核心控制模块还可以提取当前时间,将当前时间与授权期限进行比较,若当前时间不在授权期限内,则无法启动该产品软件。
若产品软件不在授权期限内日,则用户可以申请重新授权,授权终端管理模块可以修改授权文件,从而使得用户获得新的授权。
S306,根据授权信息验证结果对所述产品软件进行启动。
具体地,若产品软件通过授权信息验证,则正常启动该产品软件;若产品软件无法通过授权信息验证,则该产品软件不能启动。
本实施例中,通过授权核心控制模块可以使产品软件在启动过程中必须通过授权验证才能启动,可以防止产品被未授权的用户盗用。
图4是本申请实施例四提供的一种产品软件授权管理系统的结构示意图,如图4所示,该授权系统中至少包括授权终端模块、授权核心控制模块和授权管理模块。
无论是内部的授权管理终端模块、授权管理模块、还是发布的产品软件程序,都需要授权核心控制模块,本模块以动态库的方式嵌入到其他系统中。
授权核心控制模块,是负责存取授权文件内部数据的基础模块,内部实现为可以被C/C++或JAVA程序调用的一套接口函数集合,提供的主要接口有提取授权项数据、修改或者添加配置项参数、提取产品授权期限、提取产品使用次数、提取应急授权申请码等。授权核心控制模块以动态库的形式存在,并和产品软件一起连接生成执行代码,它需要有一个或多个授权数据文件,共同负责对产品授权的控制。授权文件以产品代码为文件名,产品代码由总授权部门统一管理,授权文件实现为加密的二进制数据文件。
授权管理端模块,由公司的总授权部门负责管理,用于管理授权终端、授权人(用户、密码)、授权机器属性、可授权的产品代码、产品授权控制要素、授权期限。授权管理端模块是可视化的界面程序,能够实现多视图的授权文件配置和维护。另外授权管理模块可以提供两种视图的管理界面,对用户屏蔽一些不可配置的授权数据,对公司内部授权管理者,提供了管理不可配置数据的编辑命令。
授权终端模块,用于生成产品软件针对用户的授权数据文件和可选的授权序列号。授权终端模块也是可视化的界面程序。授权序列号是通过收集客户的机器信息,如物理地址、硬盘编号等参数,通过特定算法生成一个唯一的授权序列号。授权序列号能够控制软件运行的机器,也即授权数据只能在此机器上才会提取有效。授权终端模块接收产品软件的授权基本配置项定义,适配性地生成授权文件。
在对产品软件进行授权管理时,需要将软件的某些关键参数进行设定限制,参数的设定隐藏在一个被加密了的文件中,这个参数文件不仅存储着这些参数,还能存储各类授权信息和使用期限等,具体的应用软件则从该参数文件中提取这些关键参数信息,用是否能够成功提取作为是否被成功授权的标志。关键参数往往包含了一些具体客户专有的参数,以达到变更环境即受到限制的效果。如用于报表或显示等使用的公司名称、前端与后台数据库进行校验用的产品信息码、环境参数等。本实施例中,通过生成授权文件以及对授权数据项设置属性标签,实现了对授权文件的保密以及限制。另外,在软件授权时,有时需要限制软件运行的机器时,本实施例中,可以根据机器的一些特定标识,例如物理地址、磁盘序号等,生成唯一的授权序列号,授权序列号的生成是根据软件运行环境的特征参数而定的,使得其只能在限定机器内运行。本实施例中,授权核心控制模块动态嵌入各个系统中,不影响系统正常运行,且不对软件产品产生副作用。
本实施例中,授权文件的数据项具有不同的属性标签,用于标识用于对数据项的操作权限。授权文件中对用户可见的可配项内容进行编辑修改,便于用户修改程序部署的环境、可变参数等内容。这里可以由单独的基本配置参数维护子模块来实现。
授权文件中对客户不可见不可配的内容项目,一般由产品授权人员使用。当打开的授权文件中有授权口令码事,输入该授权口令码,则可以编辑一些不可配置项。
当产品软件在运行时,需要授权文件。产品软件根据自身的特点,如果需要指定限制运行的机器,自动根据运行环境获取当前机器的硬件信息(比如物理地址、硬盘编号、主机序列号等),调用授权核心控制模块的本机授权申请对码接口,计算授权序列号。比对授权文件中的授权序列号项,校验序列号是否一致。根据本产品软件的产品代码,获取当前产品的授权项目信息,判断授权限制数据。
图5是本申请实施例四提供的一种产品软件运行授权的流程示意图,如图5所示,产品软件启动时,判断授权文件是否存在,若授权文件不存在,则产品软件启动失败;若授权文件存在,则检测授权文件是否限定机器;若授权文件限定机器,则获取产品软件所在机器的授权申请对码,进行授权序列号验证;若授权序列号验证不通过,则产品软件启动失败;若产品软件授权序列号验证通过或者不是用于限定机器,则获取产品授权信息,获取产品软件的基本配置要素,获取软件授权数据中的运行限制(如有效期、运行次数等),根据获取的这些信息,判断当前授权项目数据是够满足要求,若是,则授权数据通过;否则产品软件无法正常启动。
本实施例,提供了一套规范、完备的管理公司软件产品授权的机制和流程;在进行授权管理时,抽象了一层授权核心控制模块,有利于产品复用。另外采用不同的属性标签标识数据项,可以使授权使用者、授权受用方、以及公司管理人员、客户维护人员的权限分离
图6是本申请实施例五提供的一种产品软件授权管理系统的结构示意图,如图6所示,所述系统包括:
数据项接收模块61,用于接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项;
数据值确定模块62,用于分别确定与每个数据项一一对应的数据值;
授权文件生成模块63,用于根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件;
授权序列号生成模块64,用于若所述产品软件限定机器,则生成所述产品软件的授权序列号;
添加模块65,用于将所述授权序列号和所述授权文件添加至所述产品软件中。
上述授权文件生成模块包括:
数据集获取子模块,用于将每个数据值分别赋予对应的数据项,获得数据集;
加密子模块,用于对所述数据集进行加密,并对所述加密后的数据集关联自保护数据;
授权文件确定子模块,用于将所述加密后的数据集和所述自保护数据作为所述授权文件。
上述授权文件生成模块还包括:
属性设置子模块,用于分别设置所述数据集中多个数据项的属性标签,所述属性标签用于标识每个数据项的操作权限。
上述授权序列号生成模块包括:
授权申请信息获取子模块,用于获取所述产品软件所在机器的物理地址和磁盘序号,将所述物理地址和磁盘序号作为授权申请信息;
授权序列号计算子模块,用于按照预设方式,将所述授权申请信息转换为所述产品软件的授权序列号。
上述系统还包括:
授权文件检测模块,用于当所述产品软件启动时,检测所述产品软件是否存在授权文件;
限定机器检测模块,用于若所述产品软件存在所述授权文件,则检测所述产品软件是否用于限定机器;
授权序列号验证模块,用于若所述产品软件用于限定机器,则对所述产品软件进行授权序列号验证;
配置信息读取模块,用于采用所述产品软件的授权核心控制模块提取所述产品软件的配置信息;
授权信息验证模块,用于根据所述配置信息和所述授权文件,对所述产品软件的授权信息进行验证;
产品软件启动模块,用于根据授权信息验证结果对所述产品软件进行启动。
上述限定机器检测模块包括:
授权序列号读取子模块,用于检测所述产品软件是否包括所述授权序列号;
第一判断子模块,用于若所述产品软件包括所述第一授权序列号,则所述产品软件用于限定机器。
上述授权序列号验证模块包括:
机器标识信息读取子模块,用于采用所述授权核心控制模块提取所述产品软件所在机器的机器标识信息;
转换值获取子模块,用于对所述机器标识信息进行转换得到转换值;
匹配子模块,用于若所述授权序列号和所述转换值匹配,则判定所述产品软件通过授权序列号验证。
上述授权信息验证模块包括:
授权信息读取子模块,用于采用所述授权核心控制模块读取所述授权文件中的数据项及其对应的数据值;
比较子模块,用于对所述配置信息中的各个数据值与所述授权文件中的各个数据值进行比较;
第二判断子模块,用于若所述配置信息中的各个数据值均满足所述授权文件中对应数据项的要求,则判定所述产品软件通过授权信息验证。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个方法实施例中的步骤。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种产品软件授权管理方法,其特征在于,包括:
接收产品软件的授权数据项信息,所述授权数据项信息包括多个数据项;
分别确定与每个数据项一一对应的数据值;
根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件;
若所述产品软件限定机器,则生成所述产品软件的授权序列号;
将所述授权序列号和所述授权文件添加至所述产品软件中。
2.如权利要求1所述的方法,其特征在于,根据所述每个数据项及其对应的数据值,生成所述产品软件的授权文件,包括:
将每个数据值分别赋予对应的数据项,获得数据集;
对所述数据集进行加密,并对所述加密后的数据集关联自保护数据;
将所述加密后的数据集和所述自保护数据作为所述授权文件。
3.如权利要求2所述的方法,其特征在于,在所述将每个数据值分别赋予对应的数据项,获得数据集之后,还包括:
分别设置所述数据集中多个数据项的属性标签,所述属性标签用于标识每个数据项的操作权限。
4.如权利要求1所述的方法,其特征在于,所述生成所述产品软件的授权序列号,包括:
获取所述产品软件所在机器的物理地址和磁盘序号,将所述物理地址和磁盘序号作为授权申请信息;
按照预设方式,将所述授权申请信息转换为所述产品软件的授权序列号。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
当所述产品软件启动时,检测所述产品软件是否存在授权文件;
若所述产品软件存在所述授权文件,则检测所述产品软件是否用于限定机器;
若所述产品软件用于限定机器,则对所述产品软件进行授权序列号验证;
采用所述产品软件的授权核心控制模块提取所述产品软件的配置信息;
根据所述配置信息和所述授权文件,对所述产品软件的授权信息进行验证;
根据授权信息验证结果对所述产品软件进行启动。
6.如权利要求5所述的方法,其特征在于,所述检测所述产品软件是否用于限定机器,包括:
检测所述产品软件是否包括所述授权序列号;
若所述产品软件包括所述授权序列号,则所述产品软件用于限定机器。
7.如权利要求6所述的方法,其特征在于,所述对所述产品软件进行授权序列号验证,包括:
采用所述授权核心控制模块提取所述产品软件所在机器的机器标识信息;
对所述机器标识信息进行转换得到转换值;
若所述授权序列号和所述转换值匹配,则判定所述产品软件通过授权序列号验证。
8.如权利要求6所述的方法,其特征在于,所述根据所述配置信息和所述授权文件,对所述产品软件的授权信息进行验证,包括:
采用所述授权核心控制模块读取所述授权文件中的数据项及其对应的数据值;
对所述配置信息中的各个数据值与所述授权文件中的各个数据值进行比较;
若所述配置信息中的各个数据值均满足所述授权文件中对应数据项的要求,则判定所述产品软件通过授权信息验证。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180326.9A CN112328975A (zh) | 2020-10-29 | 2020-10-29 | 一种产品软件授权管理方法、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180326.9A CN112328975A (zh) | 2020-10-29 | 2020-10-29 | 一种产品软件授权管理方法、终端设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328975A true CN112328975A (zh) | 2021-02-05 |
Family
ID=74296285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011180326.9A Pending CN112328975A (zh) | 2020-10-29 | 2020-10-29 | 一种产品软件授权管理方法、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328975A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343185A (zh) * | 2021-08-02 | 2021-09-03 | 统信软件技术有限公司 | 一种客户端应用的授权方法、计算设备及存储介质 |
CN116781424A (zh) * | 2023-08-21 | 2023-09-19 | 广东咏声动漫股份有限公司 | 一种动画插件授权配置方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999021094A2 (en) * | 1997-10-20 | 1999-04-29 | Quickflex, Inc. | Reconfigurable secure hardware apparatus and method of operation |
US5933497A (en) * | 1990-12-14 | 1999-08-03 | International Business Machines Corporation | Apparatus and method for controlling access to software |
US6134659A (en) * | 1998-01-07 | 2000-10-17 | Sprong; Katherine A. | Controlled usage software |
CN104700002A (zh) * | 2013-12-05 | 2015-06-10 | 航天信息软件技术有限公司 | 一种软件保护、授权和注册的方法 |
WO2018119644A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种软件授权方法、系统及设备 |
CN108304698A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市广和通无线股份有限公司 | 产品授权使用方法、装置、计算机设备和存储介质 |
CN109684790A (zh) * | 2018-12-26 | 2019-04-26 | 佛山市瑞德物联科技有限公司 | 软件启动方法、软件授权验证方法、设备和存储介质 |
CN111159652A (zh) * | 2019-11-29 | 2020-05-15 | 云深互联(北京)科技有限公司 | 管控平台授权文件校验方法、装置、设备和存储介质 |
-
2020
- 2020-10-29 CN CN202011180326.9A patent/CN112328975A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933497A (en) * | 1990-12-14 | 1999-08-03 | International Business Machines Corporation | Apparatus and method for controlling access to software |
WO1999021094A2 (en) * | 1997-10-20 | 1999-04-29 | Quickflex, Inc. | Reconfigurable secure hardware apparatus and method of operation |
US6134659A (en) * | 1998-01-07 | 2000-10-17 | Sprong; Katherine A. | Controlled usage software |
CN104700002A (zh) * | 2013-12-05 | 2015-06-10 | 航天信息软件技术有限公司 | 一种软件保护、授权和注册的方法 |
WO2018119644A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种软件授权方法、系统及设备 |
CN108304698A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市广和通无线股份有限公司 | 产品授权使用方法、装置、计算机设备和存储介质 |
CN109684790A (zh) * | 2018-12-26 | 2019-04-26 | 佛山市瑞德物联科技有限公司 | 软件启动方法、软件授权验证方法、设备和存储介质 |
CN111159652A (zh) * | 2019-11-29 | 2020-05-15 | 云深互联(北京)科技有限公司 | 管控平台授权文件校验方法、装置、设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343185A (zh) * | 2021-08-02 | 2021-09-03 | 统信软件技术有限公司 | 一种客户端应用的授权方法、计算设备及存储介质 |
CN113343185B (zh) * | 2021-08-02 | 2021-10-22 | 统信软件技术有限公司 | 一种客户端应用的授权方法、计算设备及存储介质 |
CN116781424A (zh) * | 2023-08-21 | 2023-09-19 | 广东咏声动漫股份有限公司 | 一种动画插件授权配置方法 |
CN116781424B (zh) * | 2023-08-21 | 2023-11-24 | 广东咏声动漫股份有限公司 | 一种动画插件授权配置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900464B (zh) | 电子装置、基于区块链的数据处理方法和计算机存储介质 | |
US7788730B2 (en) | Secure bytecode instrumentation facility | |
US9946848B2 (en) | Software protection using an installation product having an entitlement file | |
US8424054B2 (en) | Secret information management apparatus, information processing apparatus, and secret information management system | |
CN111797430B (zh) | 数据校验方法、装置、服务器及存储介质 | |
WO2021218331A1 (zh) | 离线软件授权方法、装置、设备及存储介质 | |
US8769675B2 (en) | Clock roll forward detection | |
CN108206831A (zh) | 电子印章的实现方法和服务器、客户端及可读存储介质 | |
CN101529366A (zh) | 可信用户界面对象的标识和可视化 | |
CN108363929B (zh) | 一种存储设备信息消除报告生成和防篡改系统及方法 | |
US20130024769A1 (en) | Apparatus and method for processing a document | |
GB2522032A (en) | Controlling the configuration of computer systems | |
CN112328975A (zh) | 一种产品软件授权管理方法、终端设备及介质 | |
CN114626079A (zh) | 基于用户权限的文件查看方法、装置、设备及存储介质 | |
Accorsi | Automated privacy audits to complement the notion of control for identity management | |
CN111859431A (zh) | 电子文件签章方法、装置、电子设备及存储介质 | |
US8694434B1 (en) | Techniques for unregistering and transferring software licenses | |
CN114386104A (zh) | 一种存储敏感数据的方法、数据读取方法和装置 | |
CN108023732B (zh) | 一种数据保护方法、装置、设备和存储介质 | |
CN111783119A (zh) | 表单数据安全控制方法、装置、电子设备及存储介质 | |
CN116881979A (zh) | 数据安全合规的检测方法、装置及设备 | |
KR20100106110A (ko) | 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체. | |
CN112825093B (zh) | 安全基线检查方法、主机、服务器、电子设备及存储介质 | |
CA2986837C (en) | Data authentication method, device and system, and computer storage medium | |
CN114401096B (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 |