CN115017475A - Method for software off-line authorization - Google Patents

Method for software off-line authorization Download PDF

Info

Publication number
CN115017475A
CN115017475A CN202210748537.0A CN202210748537A CN115017475A CN 115017475 A CN115017475 A CN 115017475A CN 202210748537 A CN202210748537 A CN 202210748537A CN 115017475 A CN115017475 A CN 115017475A
Authority
CN
China
Prior art keywords
software
module
registration code
computer
configuration file
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
Application number
CN202210748537.0A
Other languages
Chinese (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.)
Wujiang Lyukong Electric Control Technology Co ltd
Original Assignee
Wujiang Lyukong Electric Control 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 Wujiang Lyukong Electric Control Technology Co ltd filed Critical Wujiang Lyukong Electric Control Technology Co ltd
Priority to CN202210748537.0A priority Critical patent/CN115017475A/en
Publication of CN115017475A publication Critical patent/CN115017475A/en
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

The invention provides a software offline authorization method, wherein a configuration file is loaded into software in a registration code importing mode, so that the opening of software function authority is realized, and subsequent software function expansion only needs to update the registration code and does not need to update the software, so that the user experience is good, and the management and maintenance cost of a software provider is reduced. The software functional authority is opened, and the subsequent software functional expansion only needs to update the registration code without updating the software.

Description

Software offline authorization method
Technical Field
The invention relates to the technical field of software authorization, in particular to a software offline authorization method.
Background
Software authorization generally adopts a mode of issuing a registration code to a user to realize the binding of software and a computer, the opening of functional authority and the limitation of service life.
At present, the off-line authorization function of software on the market only can support the binding between the software and a computer and limit the service life, a better control method is not provided for the opening and the expansion of the software function authority, and if a user needs to add a certain function of the software in use, the user may need to purchase a software package with the added function again, so that the user experience is not good. According to different functions, the same software is divided into a plurality of versions, and the cost of software version management and upgrading maintenance is multiplied for software vendors.
Disclosure of Invention
In order to solve the problems, the invention provides a software offline authorization method, wherein a configuration file is loaded into software in a registration code importing mode, so that the opening of software function permission is realized, and subsequent software function expansion only needs to update the registration code but not the software, so that the user experience is good, and the management and maintenance cost of a software vendor is reduced.
A method for offline authorization of software, comprising: the software functional authority is opened when the configuration file is encrypted and added into a registration code file according to functions and authorities required by a user when a registration code is generated, and the subsequent software functional expansion only needs to update the registration code without updating the software.
It is further characterized in that:
the software has a plurality of matching modules, a plurality of matching sub-modules are integrated in each module, each module has support for various sub-modules, each module has an independent configuration file, the software realizes the functions of each module by loading the configuration files, the configuration files define the interaction protocols of each functional module and each controller, and the configuration files increase and decrease the functions in the software by adding and deleting protocol information of the controllers;
each sub-module is internally provided with support for each sub-function, the sub-functions of each sub-module are provided with independent configuration files, and software realizes the opening and closing of the sub-functions of the sub-modules in the module by loading the configuration files;
a user needs to provide a computer unique code for installing software, function requirements and use duration limitation so as to generate a registration code;
the unique computer code is obtained by splicing a serial number and cpu serial number information of a computer mainboard and then performing AES encryption and base64 encryption, wherein the function requirement is specifically to start a corresponding module and a corresponding controller function in the module;
the registration code structure is composed of the following parts: the software configuration method comprises the following steps of (1) a computer unique code, the starting time of the service life of software, the last software running time, the software service duration, a software unique code GUID and function configuration information;
the computer unique code is used for detecting whether the computer is matched with the registration code; the last software running time is specifically updated every time the software is opened to closed, whether the current time is later than the recording time or not is checked when the software is opened, if the current time is earlier than the recording time, the software is considered to be abnormal, and the software is forbidden to run;
the software use duration, the starting time of the software use duration and the last software running time are combined to limit the use time, and the authorized use time is ensured not to exceed the time purchased by a user;
the software unique code GUID is a 128-bit long key automatically generated by the registrar for encrypting the configuration file;
the function configuration information is used for controlling the software function;
the registration code is generated by a computer, the registration code is sent to a user for importing through software prompt after being generated, functional configuration information is extracted from the registration code after being imported, AES and base64 encryption is carried out by taking a unique software code GUID in the registration code as a secret key, the encrypted content is output as a configuration file and stored in a software configuration file directory, and the software runs after the registration code meets the following requirements:
a, the unique code of the computer read by the software is consistent with the unique code of the computer recorded by the configuration file;
b. the current time of the computer is earlier than the starting time of the service life of the software in the configuration file plus the service life of the software;
c. the current time of the machine is later than the last software running time;
d. and after the software runs, reading the encrypted configuration file, initializing each functional module if the decryption is normal, and considering that the configuration file is damaged if the decryption is abnormal, and forbidding the corresponding functional module.
After the method and the device are adopted, the configuration file is not attached to the installation package when the software is released, the configuration file is encrypted according to functions and authorities required by a user and is added to the registration code file when the registration code is generated, the configuration file is loaded into the software in a registration code importing mode, so that the opening of the functional authorities of the software is realized, the subsequent software function expansion only needs to update the registration code without updating the software, the user experience is good, and the management and maintenance cost of a software vendor is reduced.
Drawings
FIG. 1 is a block diagram of a module interface according to an embodiment of the present invention;
FIG. 2 is a second block diagram of a module interface according to an embodiment of the present invention;
FIG. 3 is a block diagram of a module interface of an embodiment of the present invention;
FIG. 4 is a block diagram of a module interface of the exemplary embodiment of the present invention;
FIG. 5 is a block diagram of a module interface in accordance with an embodiment of the present invention;
FIG. 6 shows a sixth block diagram of a module interface according to an embodiment of the invention.
Detailed Description
A method for software offline authorization: the software functional authority is opened when the configuration file is encrypted and added into a registration code file according to functions and authorities required by a user when a registration code is generated, and the subsequent software functional expansion only needs to update the registration code without updating the software.
The software has a plurality of matching modules, a plurality of matching sub-modules are integrated in each module, each module has support for various sub-modules, each module has an independent configuration file, the software realizes the functions of each module by loading the configuration files, the configuration files define the interaction protocols of each functional module and each controller, and the configuration files increase and decrease the functions in the software by adding and deleting protocol information of the controllers;
each sub-module is internally provided with support for each sub-function, the sub-functions of each sub-module are provided with independent configuration files, and software realizes the opening and closing of the sub-functions of the sub-modules in the module by loading the configuration files;
a user needs to provide a computer unique code for installing software, function requirements and use duration limitation so as to generate a registration code;
the unique code of the computer is obtained by splicing a serial number and cpu serial number information of a computer mainboard and then carrying out AES encryption and base64 encryption, wherein the function requirement is specifically to start a corresponding module and a corresponding controller function in the module;
the registration code structure consists of the following parts: the software configuration method comprises the following steps of (1) a computer unique code, the starting time of the service life of software, the last software running time, the software service duration, a software unique code GUID and function configuration information;
the computer unique code is used for detecting whether the computer is matched with the registration code; the last software running time is specifically updated every time the software is opened to closed, whether the current time is later than the recording time or not is checked when the software is opened, if the current time is earlier than the recording time, the software is considered to be abnormal, and the software is forbidden to run;
the software use duration, the starting time of the software use duration and the last software running time are combined to limit the use time, so that the authorized use time is ensured not to exceed the time purchased by a user;
the software unique code GUID is a 128-bit long key automatically generated by the registrar for encrypting the configuration file;
the function configuration information is used for managing and controlling software functions.
The registration code is generated by a computer, the registration code is sent to a user for importing through software prompt after being generated, functional configuration information is extracted from the registration code after being imported, AES and base64 encryption is carried out by taking a unique software code GUID in the registration code as a secret key, the encrypted content is output as a configuration file and stored in a software configuration file directory, and the software runs after the registration code meets the following requirements:
a, the unique code of the computer read by the software is consistent with the unique code of the computer recorded by the configuration file;
b. the current time of the computer is earlier than the starting time of the service life of the software in the configuration file plus the service life of the software;
c. the current time of the machine is later than the last software running time;
d. and after the software runs, reading the encrypted configuration file, initializing each functional module if the decryption is normal, and considering that the configuration file is damaged if the decryption is abnormal, and forbidding the corresponding functional module.
In the specific embodiment, the software has A, B, C, D four modules, each module has a corresponding sub-module, each sub-module has a corresponding sub-function, each module has support for multiple sub-modules, each module has an independent configuration file, the software realizes functions of each module by loading the configuration files, the configuration files define interaction protocols of each functional module and each controller, and the configuration files can increase and decrease functions in the software by adding and deleting protocol information of the controllers.
Taking the module a as an example, when the configuration file has the following contents:
Figure BDA0003720374220000051
Figure BDA0003720374220000061
Figure BDA0003720374220000071
Figure BDA0003720374220000081
the module interface display of the module A in the software is shown in figures 1 and 2.
When a certain submodule needs to be disabled, part of configuration in the configuration file can be deleted, for example, all functions of the submodule 2 are deleted, and the contents of the configuration file are as follows:
Figure BDA0003720374220000082
Figure BDA0003720374220000091
Figure BDA0003720374220000101
the module interface display of module A in software is shown in FIG. 3.
When a certain sub-function needs to be disabled, such as disabling sub-function 1-1 of sub-module 1, the contents of the configuration file are as follows:
Figure BDA0003720374220000102
Figure BDA0003720374220000111
Figure BDA0003720374220000121
the module interface display of module A in software is shown in FIG. 4.
When the entire sub-functionality needs to be disabled, the configuration file is as follows:
Figure BDA0003720374220000122
Figure BDA0003720374220000131
the module interface display of the module A in the software is shown in FIG. 5, and no corresponding sub-function option exists.
When the whole module A function needs to be disabled, the configuration file content is as follows:
[
null
]
the module interface display of module A in the software is shown in FIG. 6.
The principle is as follows: when software is released, the configuration file is not attached to the installation package, when a registration code is generated, the configuration file is encrypted according to functions and authorities required by a user and is added to the registration code file, the configuration file is loaded into the software in a registration code importing mode, opening of software function authorities is achieved, subsequent software function expansion only needs to update the registration code without updating the software, user experience is good, and management and maintenance cost of a software vendor is reduced. .
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned.
Furthermore, it should be understood that although the present description refers to embodiments, not every embodiment may contain only a single embodiment, and such description is for clarity only, and those skilled in the art should integrate the description, and the embodiments may be combined as appropriate to form other embodiments understood by those skilled in the art.

Claims (6)

1. A method for offline authorization of software, comprising: the software functional authority is opened when the configuration file is encrypted and added into a registration code file according to functions and authorities required by a user when a registration code is generated, and the subsequent software functional expansion only needs to update the registration code without updating the software.
2. A method for offline authorization of software according to claim 1, wherein: the software has a plurality of matching modules, a plurality of matching sub-modules are integrated in each module, each module has support for various sub-modules, each module has an independent configuration file, the software realizes the functions of each module by loading the configuration files, the configuration files define the interaction protocols of each functional module and each controller, and the configuration files increase and decrease the functions in the software by adding and deleting protocol information of the controllers.
3. A method for offline authorization of software according to claim 2, wherein: each sub-module is internally provided with support for each sub-function, the sub-functions of each sub-module are provided with independent configuration files, and software realizes the opening and closing of the sub-functions of the sub-modules in the module by loading the configuration files.
4. A method for offline authorization of software according to claim 2, wherein: a user needs to provide a computer unique code for installing software, function requirements and use duration limitation so as to generate a registration code;
the unique code of the computer is obtained by splicing a serial number of a computer mainboard and CPU serial number information and then carrying out AES encryption and base64 encryption, wherein the function requirement is specifically to start a corresponding module and a corresponding controller function in the module.
5. The method of claim 4, wherein the registration code structure comprises: the software configuration method comprises the following steps of (1) a computer unique code, the starting time of the service life of software, the last software running time, the software service duration, a software unique code GUID and function configuration information;
the computer unique code is used for detecting whether the computer is matched with the registration code; the last software running time is specifically updated every time the software is opened to closed, whether the current time is later than the recording time or not is checked when the software is opened, if the current time is earlier than the recording time, the software is considered to be abnormal, and the software is forbidden to run;
the software use duration, the starting time of the software use duration and the last software running time are combined to limit the use time, so that the authorized use time is ensured not to exceed the time purchased by a user;
the software unique code GUID is a 128-bit long key automatically generated by the registrar for encrypting the configuration file;
the function configuration information is used for managing and controlling software functions.
6. The method for software offline authorization according to claim 5, wherein the registration code is generated by a computer, the registration code is generated and then sent to a user for importing through a software prompt, the function configuration information is extracted from the registration code after importing, AES and base64 encryption are performed with a unique software code GUID in the registration code as a key, the encrypted content is output as a configuration file and stored in a software configuration file directory, and the software runs after the registration code meets the following requirements:
a, the unique code of the computer read by the software is consistent with the unique code of the computer recorded by the configuration file;
b. the current time of the computer is earlier than the starting time of the service life of the software in the configuration file plus the service life of the software;
c. the current time of the machine is later than the last software running time;
d. and after the software runs, reading the encrypted configuration file, initializing each functional module if the decryption is normal, and considering that the configuration file is damaged if the decryption is abnormal, and forbidding the corresponding functional module.
CN202210748537.0A 2022-06-29 2022-06-29 Method for software off-line authorization Pending CN115017475A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210748537.0A CN115017475A (en) 2022-06-29 2022-06-29 Method for software off-line authorization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210748537.0A CN115017475A (en) 2022-06-29 2022-06-29 Method for software off-line authorization

Publications (1)

Publication Number Publication Date
CN115017475A true CN115017475A (en) 2022-09-06

Family

ID=83077953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210748537.0A Pending CN115017475A (en) 2022-06-29 2022-06-29 Method for software off-line authorization

Country Status (1)

Country Link
CN (1) CN115017475A (en)

Similar Documents

Publication Publication Date Title
US11178121B2 (en) Secure software updates
US9626513B1 (en) Trusted modular firmware update using digital certificate
CN102289627B (en) Many owners of firmware images dispose
JP5556895B2 (en) Content data reproducing apparatus, update management method, and update management program
EP3700243A1 (en) Security data processing device
US20060168580A1 (en) Software-management system, recording medium, and information-processing device
EP2628125B1 (en) Method and apparatus for downloading drm module
US9547757B2 (en) User terminal, server and controlling method thereof
US20100063996A1 (en) Information processing device, information recording device, information processing system, program update method, program, and integrated circuit
US20090089881A1 (en) Methods of licensing software programs and protecting them from unauthorized use
EP0993631A1 (en) Processing apparatus and method
KR20080037048A (en) Changing product behavior in accordance with license
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
US20120213370A1 (en) Secure management and personalization of unique code signing keys
US20120047074A1 (en) Methods of protecting software programs from unauthorized use
WO2006106689A1 (en) Upgrade module, application program, server, and upgrade module distribution system
CN115017475A (en) Method for software off-line authorization
US9363081B2 (en) License administration device and license administration method
CN101552770B (en) Method for managing digital resources and relevant digital resource managing system
AU2011202785B2 (en) Secure software updates
US8095793B1 (en) Digital rights management apparatus and method
CN113282889A (en) license authorization method, device and 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