CN108304698A - 产品授权使用方法、装置、计算机设备和存储介质 - Google Patents

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

Info

Publication number
CN108304698A
CN108304698A CN201810074071.4A CN201810074071A CN108304698A CN 108304698 A CN108304698 A CN 108304698A CN 201810074071 A CN201810074071 A CN 201810074071A CN 108304698 A CN108304698 A CN 108304698A
Authority
CN
China
Prior art keywords
product
current time
information
encrypted
authorization
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
CN201810074071.4A
Other languages
English (en)
Other versions
CN108304698B (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.)
Fibocom Wireless Inc
Original Assignee
Fibocom Wireless Inc
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 Fibocom Wireless Inc filed Critical Fibocom Wireless Inc
Priority to CN201810074071.4A priority Critical patent/CN108304698B/zh
Publication of CN108304698A publication Critical patent/CN108304698A/zh
Application granted granted Critical
Publication of CN108304698B publication Critical patent/CN108304698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种产品授权使用方法、系统、计算机设备和存储介质。所述方法包括:获取产品运行指令,根据所述产品运行指令获取授权密钥和加密后的第一当前时间;将所述授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;生成随机数,对所述第一序列号、所述授权日期期限、所述加密后的第一当前时间和随机数进行校验,若校验通过,则运行所述产品。采用本方法能够提高了产品使用的安全性。

Description

产品授权使用方法、装置、计算机设备和存储介质
技术领域
本申请涉及信息安全技术领域,特别是涉及一种产品授权使用方法、装置、计算机设备和存储介质。
背景技术
随着时代的变化,编程越来越高度抽象,有些本身的语言特性使得不需要编译成机器语言即可执行,容易造成代码泄露,但是在利用这些语言编程的产品,在公司与客户的交流活动中,经常需要把产品的代码发出去执行挂测或者问题验证测试,这就无法保证产品核心代码在使用时的安全性,容易造成核心代码的泄露,使得用户可以非法使用或者滥用产品等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高产品使用的安全性的产品授权使用方法、装置、计算机设备和存储介质。
一种产品授权使用方法,所述方法包括:
获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;
将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
在其中一个实施例中,根据第一序列号、授权日期期限、第一当前时间和随机数进行校验,若校验通过,则运行产品,包括:
根据第一序列号和授权日期期限判断授权密钥是否有效,若是,则获取第二序列号,判断第一序列号是否和第二序列号相同,若是,获取预设第二当前时间文件中的第二当前时间,根据随机数和第二当前时间判断第一当前时间和第二当前时间的时间差是否在合理范围内,若是,则校验通过,运行产品。
在其中一个实施例中,在对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品之后,包括:
获取当前时间,根据所述当前时间生成预设第二当前时间文件;
将所述预设第二当前时间文件保存。
在其中一个实施例中,获取第二序列号,包括:
获取系统目录创建日期、系统信息、和主板的序列信息;
将系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息;
将重排后的信息进行加密得到第二序列号。
在其中一个实施例中,获取加密后的第一当前时间,包括:
获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果;
将初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
在其中一个实施例中,授权密钥的生成步骤包括:
获取序列号和授权日期期限;
将授权日期期限和预设无效信息混合生成初始日期期限信息;
将序列号进行加密得到初始加密序列号;
将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
在其中一个实施例中,在终端获取产品运行指令,根据运行指令生成终端对应的序列号信息之前,还包括:
获取产品运行所需的代码文件,代码文件包括将核心代码进行编译之后得到的二进制文件;
所述运行所述产品,包括:
根据所述代码文件运行所述产品。
一种产品授权使用装置,所述装置包括:
获取加密信息模块,用于获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;
解密模块,用于将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
校验模块,用于生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;
将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;
将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
上述产品授权使用方法、装置、计算机设备和存储介质,通过获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品,实现了对产品的授权使用,提高了产品使用的安全性,使得产品无法被非法使用。
附图说明
图1为一个实施例中产品授权使用方法的应用环境图;
图2为一个实施例中产品授权使用方法的流程示意图;
图3为一个实施例中第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验的流程示意图;
图4为一个实施例中得到预设第二当前时间文件的流程示意图;
图5为一个实施例中得到第二序列号的流程示意图;
图6为一个实施例中得到加密的第一当前时间的流程示意图;
图7为一个实施例中生成授权密钥的流程示意图;
图8为一个实施例中产品授权使用装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的产品授权使用方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与终端104通过网络进行通信。终端102是要运行产品的终端,终端104是进行授权的终端。终端102获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间。其中,授权密钥是在终端104中得到的,并提供给终端102。终端102将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限。终端102生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,
在一个实施例中,如图2所示,提供了一种产品授权使用方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
S202,获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间。
其中,授权密钥是授权者提供给产品使用者在运行产品时需要输入的密钥。第一当前时间就是产品运行时终端中的当前的系统时间。
具体的,当要使用产品时,终端获取到产品运行指令,根据产品运行指令获取到用户输入的授权密钥和终端对当前时间进行加密处理后的第一当前时间,其中,在本案中所说的“加密”、“解密”指通过语言的第三方库、自身编写的加密、解密工具等将信息进行加密、解密。
S204,将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限。
具体的,序列号是将终端中唯一的且公开的固定信息进行一定的加密处理之后得到的,保证在序列号不一致时,无法在该设备上进行产品的使用。第一序列号是使用者在将在使用产品的终端中生成的序列号,使用者要将生成的第一序列号提供给授权者,授权者根据使用者提供的第一序列号生成授权密钥,然后在将授权密钥提供给使用者。授权日期期限是使用者可以使用产品的时间期限,超过期限,产品就无法使用。将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限。
S206,生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
具体的,首先校验第一序列号和授权日期期限是不是有效的,然后校验第一当前时间是否在授权日期期限中,最后根据随机数和第一当前时间验证终端中的系统的当前时间是否被篡改,当校验通过后,则运行产品,就可以对产品进行使用。
上述产品授权使用方法中,通过获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品,实现了对产品的授权使用,保护了分发出去的产品的安全性,使得产品无法被授权以外的用户非法使用或者滥用。
如图3所示,在一个实施例中,步骤S206,即生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品,包括步骤:
S302,根据第一序列号和授权日期期限判断授权密钥是否有效。
具体的,根据第一序列号和授权日期期限将授权密钥使用算法判断授权密钥的合法性,即该序列号是不是符合要求的序列号,授权日期期限是不是合理的,得到授权密钥的合法性,若合法,则授权密钥是有效,反之,则授权密钥是有效。若授权密钥是有效则执行步骤S304,若授权密钥是无效的,则执行步骤S302A。
S302A,产品运行失败,即产品没有通过授权认证,无法使用。
S304,获取第二序列号,判断第一序列号是否和第二序列号相同。
具体的,第二序列号是终端在授权认证时生成的终端对应的序列号。要判断客户提供的第一序列号和终端对应的第二序列号是否相同。若相同,则证明是在授权终端中进行使用的,则执行步骤S306。若不相同,则证明产品没有在授权终端中使用,则执行步骤S304A。
SS304A,产品运行失败。
S306,获取预设第二当前时间文件中的第二当前时间。
其中,预设第二当前时间文件是在上一次在终端中使用产品是生成的写入当时时间信息的文件,则得到预设第二当前时间文件中的第二当前时间。
S308,根据随机数和第二当前时间判断第一当前时间和第二当前时间的时间差是否在合理范围内。
具体的,计算出第一当前时间和第二当前时间的时间差,根据随机数和第二当前时间判断时间差是否在合理范围内。若是在合理范围内,则执行步骤S310,否则,执行步骤S308A。
S308A,产品运行失败。
S310,校验通过,运行产品。具体的,当校验全部通过时,终端就运行产品,然后使用者就可以在终端中对产品进行使用。
在上述实施例中,通过判断授权密钥是否有效来判断授权密钥的合法性,通过第一序列号和第二序列号的比较来判断是否在授权的终端中进行产品的使用,通过判断第一当前时间与第二当前时间的时间差是否在合理范围内来确定终端中的系统时间是否被篡改。若全部校验通过时,终端就运行产品,使产品只能指授权的终端和授权的日期期限内使用,提高了产品使用的安全性,防止授权以外的用户非法使用和滥用。
如图4所示,在一个实施例中,在步骤S206之后,即在对所述第一序列号、所述授权日期期限、所述加密后的第一当前时间和随机数进行校验,若校验通过,则运行所述产品之后,包括步骤:
S402,获取当前时间,根据所述当前时间生成预设第二当前时间文件。
具体的,在运行产品时,即在执行运行产品的代码时,在终端中获取到当前的系统时间,将该当前的系统时间信息写入到文件中就得到了预设第二当前时间文件。
S404,将所述预设第二当前时间文件保存。
具体的,将终端的系统时间信息以预设第二当前时间文件的形式进行保存,方便后续的使用。
上述实施例中,通过在运行产品时,获取当前时间,将该当前时间写入文件中保存,以便于在下一次运行产品时方便验证使用者是否篡改终端对应的当前的系统时间,提高了使用产品的安全性。
如图5所示,在一个实施例中,所述获取第二序列号,包括步骤:
S502,获取系统目录创建日期、系统信息、和主板的序列信息。
具体的,获取终端的软硬件信息,即系统目录创建日期、系统信息和主机的序列信息或者主板的序列信息,使用这些来判断使用者是否更换终端或者重装终端中系统,在其它的终端或者重装了系统的终端中使用者是无法运行产品。
S504,将所述系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息。
具体的,将系统目录创建日期、系统信息、和主板的序列信息进行汇总,即将得到的终端的软硬件信息进行汇总,然后将汇总的信息使用重排算法进行重排,重排算法可以自己定义,也可以使用已有的算法,得到重排后的信息。
S506,将重排后的信息进行加密得到第二序列号。
具体的,将重排后的信息利用加密算法进行加密就得到了第二序列号。其中第二序列号是在产品运行时生成的,用来唯一标识正在使用产品的终端。
在上述实施例中,通过获取系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,然后对重排后的结果进行加密得到了第二序列号,方便在校验时判断要运行产品的终端是不是对应授权的终端。
如图6所示,在一个实施例中,获取加密后的第一当前时间,包括步骤:
S602,获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果。
具体的,预设无效信息是预先设置好的为了增加破解的难度而得到的没有用处的信息。获取当前时间和预设无效信息,将当前信息和预设无效信息进行混合,其中混合是按照一定的规律进行的,并将混合后的结果利用加密算法进行加密,得到初始加密结果。
S604,将所述初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
具体的,再次将初始加密结果和预设无效信息利用一定的规律进行混合,将混合后的结果再次进行加密,得到加密后的第一当前时间。
在上述实施例中,通过获取当前时间,然后对当前时间进行多次加密处理,得到加密后的第一当前时间,使得破解的难度增大,提高了产品使用的安全性。
如图7所示,在一个实施例中,授权密钥的生成步骤包括:
S702,获取序列号和授权日期期限。
具体的,序列号是使用者是根据获取序列号的方法在要使用产品的终端中生存的。使用者将序列号和要需要的授权日期期限提供给授权者,授权者接收到序列号和授权日期期限输入到可以生成授权密钥的授权终端中,授权终端获取到序列号和授权日期期限。
S704,将授权日期期限和预设无效信息混合生成初始日期期限信息。
具体的,授权终端将得到的授权日期期限和预设无效信息混合,得到初始日期期限信息。
S706,将序列号进行加密得到初始加密序列号。
具体的,将得到的序列号进行加密得到了初始加密序列号。
S708,将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
具体的,将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到的加密结果就是授权密钥,该授权密钥是字符串。可以根据不同的需求,生成多个不同的授权密钥提供给使用者进行使用。
在上述实施例中,根据序列号和授权日期期限进行多次的加密处理得到了授权密钥,使用者使用该授权密钥就可以使用产品,提高了产品使用的安全性。
在一个实施例中,在步骤202之前,即在终端获取产品运行指令,根据所述运行指令生成终端对应的序列号信息之前,还包括:
获取产品运行所需的代码文件,所述代码文件包括将核心代码进行编译之后得到的二进制文件;
运行所述产品,包括:根据所述代码文件运行所述产品。
具体的,其将核心代码文件进行编译,使用本身代码支持的库或其他工具编译,得到二进制文件。该二进制文件无法被人为识别出来,但是终端在运行产品时可以识别该代码文件并进行执行。获取产品运行所需的代码文件,该代码文件中包括得到的二进行文件和运行所需的其它部分代码文件。则在运行产品时,根据所述代码文件运行所述产品,具体的,在二进制文件内部,可以进行授权密钥的校验,若能够通过校验,则可以执行代码文件,使产品运行,若无法通过校验,则无法执行核心代码文件,也就是二进制文件,产品就无法运行。
在该实施例中,将产品运行所需的代码文件中的核心代码编译成二进制文件,使得终端可以识别并执行但是认为无法识别,保证了代码的安全,防止核心代码的泄露,并且核心代码以外的部分代码是可以直接阅读的,方便了使用者使用和调试,也方便了授权者对代码的后期维护、管理和保护。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种产品授权使用装置800,包括:获取加密信息模块802、解密模块804和校验模块806,其中:
获取加密信息模块802,用于获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;
解密模块804,用于将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
校验模块806,用于生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
上述实施例中,通过获取加密信息模块802得到授权密钥和加密后的第一当前时间。在解密模块804中将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限。最后在校验模块806中生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品,实现了对产品的授权使用,提高了产品使用的安全性,使得产品无法被非法使用。
在一个实施例中,校验模块806,包括:
判断模块,用于根据第一序列号和授权日期期限判断授权密钥是否有效,若是,则获取第二序列号,判断第一序列号是否和第二序列号相同,若是,获取预设第二当前时间文件中的第二当前时间,根据随机数和第二当前时间判断第一当前时间和第二当前时间的时间差是否在合理范围内,若是,则校验通过,运行产品。
在一个实施例中,产品授权使用装置800,包括:
时间文件生成模块,用于获取当前时间,根据所述当前时间生成预设第二当前时间文件;
时间文件保存模块,用于将所述预设第二当前时间文件保存。
在一个实施例中,产品授权使用装置800,包括:
信息获取模块,用于获取系统目录创建日期、系统信息、和主板的序列信息;
重排模块,用于将系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息;
第二序列号生成模块,用于将重排后的信息进行加密得到第二序列号。
在一个实施例中,获取加密信息模块802,包括:
当前时间初始加密模块,用于获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果;
当前时间最终加密模块,用于将初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
在一个实施例中,产品授权使用装置800,还包括:
获取模块,用于获取序列号和授权日期期限;
初始日期期限信息生成模块,用于将授权日期期限和预设无效信息混合生成初始日期期限信息;
初始加密序列号生成模块,用于将序列号进行加密得到初始加密序列号;
授权密钥生成模块,用于将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
在一个实施例中,产品授权使用装置800,还包括:
代码文件获取模块,用于获取产品运行所需的代码文件,代码文件包括将核心代码进行编译之后得到的二进制文件;则校验模块806,包括:根据所述代码文件运行所述产品。
关于产品授权使用装置的具体限定可以参见上文中对于产品授权使用方法的限定,在此不再赘述。上述产品授权使用装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种产品授权使用方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等,用于提供给使用者输入授权密钥等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据第一序列号和授权日期期限判断授权密钥是否有效,若是,则获取第二序列号,判断第一序列号是否和第二序列号相同,若是,获取预设第二当前时间文件中的第二当前时间,根据随机数和第二当前时间判断第一当前时间和第二当前时间的时间差是否在合理范围内,若是,则校验通过,运行产品。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前时间,根据所述当前时间生成预设第二当前时间文件;将所述预设第二当前时间文件保存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取系统目录创建日期、系统信息、和主板的序列信息;将系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息;将重排后的信息进行加密得到第二序列号。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果;将初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取序列号和授权日期期限;将授权日期期限和预设无效信息混合生成初始日期期限信息;将序列号进行加密得到初始加密序列号;将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取产品运行所需的代码文件,代码文件包括将核心代码进行编译之后得到的二进制文件;所述运行所述产品,包括:根据所述代码文件运行所述产品。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取产品运行指令,根据产品运行指令获取授权密钥和加密后的第一当前时间;将授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;生成随机数,对第一序列号、授权日期期限、加密后的第一当前时间和随机数进行校验,若校验通过,则运行产品。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据第一序列号和授权日期期限判断授权密钥是否有效,若是,则获取第二序列号,判断第一序列号是否和第二序列号相同,若是,获取预设第二当前时间文件中的第二当前时间,根据随机数和第二当前时间判断第一当前时间和第二当前时间的时间差是否在合理范围内,若是,则校验通过,运行产品。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前时间,根据所述当前时间生成预设第二当前时间文件;将所述预设第二当前时间文件保存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取系统目录创建日期、系统信息、和主板的序列信息;将系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息;将重排后的信息进行加密得到第二序列号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果;将初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取序列号和授权日期期限;将授权日期期限和预设无效信息混合生成初始日期期限信息;将序列号进行加密得到初始加密序列号;将初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取产品运行所需的代码文件,代码文件包括将核心代码进行编译之后得到的二进制文件;运行所述产品,包括:根据所述代码文件运行所述产品。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种产品授权使用方法,所述方法包括:
获取产品运行指令,根据所述产品运行指令获取授权密钥和加密后的第一当前时间;
将所述授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
生成随机数,对所述第一序列号、所述授权日期期限、所述加密后的第一当前时间和随机数进行校验,若校验通过,则运行所述产品。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一序列号、授权日期期限、第一当前时间和随机数进行校验,若校验通过,则运行所述产品,包括:
根据所述第一序列号和所述授权日期期限判断所述授权密钥是否有效,若是,则获取第二序列号,判断所述第一序列号是否和所述第二序列号相同,若是,获取预设第二当前时间文件中的第二当前时间,根据所述随机数和所述第二当前时间判断所述第一当前时间和所述第二当前时间的时间差是否在合理范围内,若是,则校验通过,运行所述产品。
3.根据权利要求1所述的方法,其特征在于,在对所述第一序列号、所述授权日期期限、所述加密后的第一当前时间和随机数进行校验,若校验通过,则运行所述产品之后,包括:
获取当前时间,根据所述当前时间生成预设第二当前时间文件;
将所述预设第二当前时间文件保存。
4.根据权利要求3所述的方法,其特征在于,所述获取第二序列号,包括:
获取系统目录创建日期、系统信息、和主板的序列信息;
将所述系统目录创建日期、系统信息、和主板的序列信息进行汇总并进行重排,得到重排后的信息;
将重排后的信息进行加密得到第二序列号。
5.根据权利要求1所述的方法,其特征在于,所述获取加密后的第一当前时间,包括:
获取当前时间和预设无效信息,将当前信息和预设无效信息混合并将混合后的结果进行加密,得到初始加密结果;
将所述初始加密结果和预设无效信息混合并将混合后的结果进行加密,得到加密后的第一当前时间。
6.根据权利要求1所述的方法,其特征在于,所述授权密钥的生成步骤包括:
获取序列号和授权日期期限;
将所述授权日期期限和预设无效信息混合生成初始日期期限信息;
将所述序列号进行加密得到初始加密序列号;
将所述初始日期期限信息和初始加密序列号再次进行混合,并将混合后的结果进行加密,得到授权密钥。
7.根据权利要求1所述的方法,其特征在于,在终端获取产品运行指令,根据所述运行指令生成终端对应的序列号信息之前,还包括:
获取所述产品运行所需的代码文件,所述代码文件包括将核心代码进行编译之后得到的二进制文件;
所述运行所述产品,包括:
根据所述代码文件运行所述产品。
8.一种产品授权使用装置,其特征在于,所述装置包括:
获取加密信息模块,用于获取产品运行指令,根据所述产品运行指令获取授权密钥和加密后的第一当前时间;
解密模块,用于将所述授权密钥去除无效信息并进行解密得到第一序列号和授权日期期限;
校验模块,用于生成随机数,对所述第一序列号、所述授权日期期限、所述加密后的第一当前时间和随机数进行校验,若校验通过,则运行所述产品。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201810074071.4A 2018-01-25 2018-01-25 产品授权使用方法、装置、计算机设备和存储介质 Active CN108304698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810074071.4A CN108304698B (zh) 2018-01-25 2018-01-25 产品授权使用方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810074071.4A CN108304698B (zh) 2018-01-25 2018-01-25 产品授权使用方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108304698A true CN108304698A (zh) 2018-07-20
CN108304698B CN108304698B (zh) 2021-04-06

Family

ID=62866487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810074071.4A Active CN108304698B (zh) 2018-01-25 2018-01-25 产品授权使用方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108304698B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245058A (zh) * 2019-05-10 2019-09-17 珠海格力电器股份有限公司 时间更改处理方法、装置、存储介质、终端及监控系统
CN110972141A (zh) * 2019-12-04 2020-04-07 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN111611577A (zh) * 2020-05-22 2020-09-01 北京金山云网络技术有限公司 鉴权方法、装置、系统、电子设备及计算机可读存储介质
CN111709010A (zh) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) 基于国密算法的终端认证信息提取和验证方法及系统
CN112328975A (zh) * 2020-10-29 2021-02-05 上海金仕达软件科技有限公司 一种产品软件授权管理方法、终端设备及介质
CN112394967A (zh) * 2019-08-14 2021-02-23 慧荣科技股份有限公司 批量生产软件工具的电子装置、方法与计算机可读取媒体
CN114928551A (zh) * 2022-04-30 2022-08-19 苏州浪潮智能科技有限公司 一种系统配置方法、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089881A1 (en) * 2007-09-28 2009-04-02 Eugene Indenbom Methods of licensing software programs and protecting them from unauthorized use
CN102831352A (zh) * 2012-09-11 2012-12-19 南京天溯自动化控制系统有限公司 设备授权使用的方法及其设备
CN103778354A (zh) * 2014-01-22 2014-05-07 河北省电力勘测设计研究院 位图格式软件序列号及其制作方法与应用方法
CN103927462A (zh) * 2014-03-27 2014-07-16 北京深思数盾科技有限公司 软件保护装置中实时时间的远程校准方法
CN106657137A (zh) * 2017-01-17 2017-05-10 腾讯科技(上海)有限公司 一种软件产品合法性的验证方法、装置以及系统
CN107483485A (zh) * 2017-09-13 2017-12-15 深圳市屯奇尔科技有限公司 授权码的生成方法、授权方法、相关装置及终端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089881A1 (en) * 2007-09-28 2009-04-02 Eugene Indenbom Methods of licensing software programs and protecting them from unauthorized use
CN102831352A (zh) * 2012-09-11 2012-12-19 南京天溯自动化控制系统有限公司 设备授权使用的方法及其设备
CN103778354A (zh) * 2014-01-22 2014-05-07 河北省电力勘测设计研究院 位图格式软件序列号及其制作方法与应用方法
CN103927462A (zh) * 2014-03-27 2014-07-16 北京深思数盾科技有限公司 软件保护装置中实时时间的远程校准方法
CN106657137A (zh) * 2017-01-17 2017-05-10 腾讯科技(上海)有限公司 一种软件产品合法性的验证方法、装置以及系统
CN107483485A (zh) * 2017-09-13 2017-12-15 深圳市屯奇尔科技有限公司 授权码的生成方法、授权方法、相关装置及终端设备

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245058A (zh) * 2019-05-10 2019-09-17 珠海格力电器股份有限公司 时间更改处理方法、装置、存储介质、终端及监控系统
CN112394967A (zh) * 2019-08-14 2021-02-23 慧荣科技股份有限公司 批量生产软件工具的电子装置、方法与计算机可读取媒体
CN112394967B (zh) * 2019-08-14 2023-08-08 慧荣科技股份有限公司 批量生产软件工具的电子装置、方法与计算机可读取媒体
CN110972141A (zh) * 2019-12-04 2020-04-07 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN110972141B (zh) * 2019-12-04 2022-02-22 迈普通信技术股份有限公司 信息验证方法、装置、电子设备及可读存储介质
CN111611577A (zh) * 2020-05-22 2020-09-01 北京金山云网络技术有限公司 鉴权方法、装置、系统、电子设备及计算机可读存储介质
CN111611577B (zh) * 2020-05-22 2023-10-03 北京金山云网络技术有限公司 鉴权方法、装置、系统、电子设备及计算机可读存储介质
CN111709010A (zh) * 2020-06-19 2020-09-25 山东省计算中心(国家超级计算济南中心) 基于国密算法的终端认证信息提取和验证方法及系统
CN111709010B (zh) * 2020-06-19 2021-05-07 山东省计算中心(国家超级计算济南中心) 基于国密算法的终端认证信息提取和验证方法及系统
CN112328975A (zh) * 2020-10-29 2021-02-05 上海金仕达软件科技有限公司 一种产品软件授权管理方法、终端设备及介质
CN114928551A (zh) * 2022-04-30 2022-08-19 苏州浪潮智能科技有限公司 一种系统配置方法、装置和存储介质
CN114928551B (zh) * 2022-04-30 2024-03-12 苏州浪潮智能科技有限公司 一种系统配置方法、装置和存储介质

Also Published As

Publication number Publication date
CN108304698B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
CN108304698A (zh) 产品授权使用方法、装置、计算机设备和存储介质
CN100354786C (zh) 开放型通用抗攻击cpu及其应用系统
CN103210396B (zh) 包括用于保护敏感代码和数据的架构的方法和装置
CN109684790A (zh) 软件启动方法、软件授权验证方法、设备和存储介质
CN101231622B (zh) 基于闪存的数据存储方法和设备、及数据读取方法和设备
CN110278115B (zh) 热更新方法及装置
CN102118512A (zh) 一种手机应用程序防破解方法及系统
CN101523399A (zh) 基于用户认证修改完整性度量的方法和系统
CN102347834A (zh) 受信移动平台体系结构
CN111475824A (zh) 数据访问方法、装置、设备和存储介质
CN111191195A (zh) 一种用于保护apk的方法和装置
CN111159658B (zh) 字节码处理方法、系统、装置、计算机设备和存储介质
CN111859415A (zh) 神经网络模型加密系统和方法
CN109684789A (zh) 嵌入式产品中软件安全保护的方法、装置及计算机设备
CN109766731A (zh) 基于固态硬盘的加密数据处理方法、装置和计算机设备
CN109446757A (zh) 一种用于通用mcu程序保护的方法
CN107835075A (zh) 本地密码的处理方法及装置
CN115563589A (zh) 一种芯片防盗版方法、装置、电子设备及存储介质
US10331896B2 (en) Method of protecting secret data when used in a cryptographic algorithm
CN107688756A (zh) 硬盘控制方法、设备及可读存储介质
CN104462932B (zh) 嵌入式设备维护密码的生成及其验证方法
CN109240723A (zh) 应用程序更新方法、系统、计算机设备和存储介质
CN117313046A (zh) 一种代码加固方法、代码加载方法、设备及介质
US20080104396A1 (en) Authentication Method
CN105022651B (zh) 一种设备生产过程中的防盗版方法及固件烧写装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant