CN111538961B - Method, device, equipment and storage medium for activating software - Google Patents

Method, device, equipment and storage medium for activating software Download PDF

Info

Publication number
CN111538961B
CN111538961B CN202010340223.8A CN202010340223A CN111538961B CN 111538961 B CN111538961 B CN 111538961B CN 202010340223 A CN202010340223 A CN 202010340223A CN 111538961 B CN111538961 B CN 111538961B
Authority
CN
China
Prior art keywords
ciphertext
activation
software
verification
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010340223.8A
Other languages
Chinese (zh)
Other versions
CN111538961A (en
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.)
Unisound Intelligent Technology Co Ltd
Xiamen Yunzhixin Intelligent Technology Co Ltd
Original Assignee
Unisound Intelligent Technology Co Ltd
Xiamen Yunzhixin Intelligent 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 Unisound Intelligent Technology Co Ltd, Xiamen Yunzhixin Intelligent Technology Co Ltd filed Critical Unisound Intelligent Technology Co Ltd
Priority to CN202010340223.8A priority Critical patent/CN111538961B/en
Publication of CN111538961A publication Critical patent/CN111538961A/en
Application granted granted Critical
Publication of CN111538961B publication Critical patent/CN111538961B/en
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
    • 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/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices

Abstract

The invention provides a method, a device, equipment and a storage medium for activating software, wherein the method comprises the following steps: detecting whether an activation ciphertext exists locally; if the activation ciphertext exists, verifying the decryption ciphertext by using the activation ciphertext, so that when the obtained first verification result shows that verification is successful, the software is activated offline; and if the activation ciphertext does not exist, verifying the decryption ciphertext by using the encryption ciphertext returned by the server, so that the software is activated online when the second verification result shows that the verification is successful, and the encryption ciphertext is stored as the activation ciphertext when the second verification result shows that the verification is successful. The invention can activate the software only under the condition that the unique identifier of the equipment is unchanged, thus, even if a malicious person obtains the decrypted ciphertext and activates the decrypted ciphertext by using other equipment, the activation verification fails due to the inconsistency of the unique identifier of the equipment, thereby effectively preventing the software from being stolen and improving the safety of the software.

Description

Method, device, equipment and storage medium for activating software
Technical Field
The present invention relates to the field of software technologies, and in particular, to a method, an apparatus, a device, and a storage medium for activating software.
Background
Software authorization is an extension and development of the concept of software protection. The goal of software authorization is to allow a software user to use software according to purchase permissions, involving the content of the number of installed copies of the software, the time of use, the application range, and the functional modules.
Typically, the activation of the software is typically an online connection server activation, or directly using an offline activation code. The online activation method comprises the following steps: the user sends an activation code to the cloud, the cloud sends a verification code to the user after receiving the activation code, the user inputs the verification code in the software, the software requests the cloud to verify the verification code again, and if verification is successful, the software is activated. When the offline activation code is adopted for direct activation, the offline activation code is compared with a preset verification activation code, and if the offline activation code and the preset verification activation code are consistent, software is activated.
However, whether the activation code is activated online or offline, the activation code is independent and is easy to crack, so that the software is stolen, and the security of the software is reduced.
Disclosure of Invention
In view of the above, the present invention aims to provide a method, an apparatus, a device and a storage medium for activating software, so as to solve the problem of low security of the software in the prior art.
Based on the above object, the present invention provides a method for activating software, comprising:
detecting whether an activation ciphertext exists locally;
if the activation ciphertext exists, verifying the decryption ciphertext by using the activation ciphertext, so that the software is activated offline when the obtained first verification result shows that the verification is successful;
if the activation ciphertext does not exist, verifying the decryption ciphertext by using an encryption ciphertext returned by a server, so that when the obtained second verification result shows that the verification is successful, the software is activated on line, and when the second verification result shows that the verification is successful, the encryption ciphertext is stored as the activation ciphertext;
the activation ciphertext, the decryption ciphertext and the encryption ciphertext are all ciphertexts associated with a unique identifier of a device to which the software belongs.
Further, in the above method for activating software, before verifying the decrypted ciphertext by using the encrypted ciphertext returned by the server, the method includes:
the decryption ciphertext is sent to the server, so that when the server successfully verifies the decryption ciphertext by utilizing a prestored verification ciphertext, the server encrypts the decryption ciphertext to obtain the encryption ciphertext;
and receiving the encrypted ciphertext returned by the server.
Further, in the above method for activating software, before verifying the decrypted ciphertext by using the activation ciphertext if the activation ciphertext exists, the method further includes:
acquiring characteristic data of the equipment;
and generating the unique identification of the equipment according to the characteristic data.
Further, in the above method for activating software, before detecting whether the activation ciphertext exists locally, the method further includes:
and if the software is detected to be in an inactive state, carrying out encryption processing on the unique identifier of the equipment to obtain the decryption ciphertext.
Further, in the above method for activating software, the feature data includes at least 2 of an international mobile phone device identification code, a central processing unit serial code, a media access control address, and a product number.
Further, the above-mentioned method for activating software is applied to an artificial intelligence engine.
The invention also provides a device for activating software, which comprises:
the detection module is used for detecting whether an activation ciphertext exists locally;
the offline activation module is used for verifying the decryption ciphertext by using the activation ciphertext if the activation ciphertext exists, so that the software is activated offline when the obtained first verification result shows that the verification is successful;
the on-line activation module is used for verifying the decryption ciphertext by using the encryption ciphertext returned by the server if the activation ciphertext does not exist, so that the software is activated on line when the obtained second verification result shows that the verification is successful, and the encryption ciphertext is stored as the activation ciphertext when the second verification result shows that the verification is successful;
the activation ciphertext, the decryption ciphertext and the encryption ciphertext are all ciphertexts associated with a unique identifier of a device to which the software belongs.
Further, in the above-mentioned software activation device, the on-line activation module is further configured to send the decrypted ciphertext to the server, so that when the server uses a prestored verification ciphertext to verify the decrypted ciphertext successfully, the server encrypts the decrypted ciphertext to obtain the encrypted ciphertext; and receiving the encrypted ciphertext returned by the server.
The invention also provides a software activation device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method according to any one of the preceding claims when executing the program.
The present invention also provides a storage medium storing computer instructions for causing the computer to perform the method of any one of the above.
As can be seen from the above, the method, the device, the equipment and the storage medium for activating the software provided by the invention enable each ciphertext not to be easily cracked by associating the decrypted ciphertext required in the software activating process with the equipment unique identifier of the equipment to which the software belongs and then using the symmetric encryption technology, protect the equipment unique identifier and protect the decrypted ciphertext, and the software can be activated only under the condition that the equipment unique identifier is unchanged no matter on-line activation or off-line activation, so that even if a malicious person obtains the decrypted ciphertext and activates the software by using other equipment, activation verification fails due to the inconsistency of the equipment unique identifiers, thereby effectively preventing the software from being stolen. By adopting the technical scheme of the invention, the safety of software can be improved.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of an embodiment of a method of activating software of the present invention;
FIG. 2 is a schematic diagram of an embodiment of an activation device for software according to the present invention;
fig. 3 is a schematic diagram of an embodiment of the software activation device of the present invention.
Detailed Description
The present invention will be further described in detail below with reference to specific embodiments and with reference to the accompanying drawings, in order to make the objects, technical solutions and advantages of the present invention more apparent.
It should be noted that unless otherwise defined, technical or scientific terms used in the embodiments of the present invention should be given the ordinary meaning as understood by one of ordinary skill in the art to which the present disclosure pertains. The terms "first," "second," and the like, as used in this disclosure, do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that elements or items preceding the word are included in the element or item listed after the word and equivalents thereof, but does not exclude other elements or items. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", etc. are used merely to indicate relative positional relationships, which may also be changed when the absolute position of the object to be described is changed.
FIG. 1 is a flowchart of an embodiment of a method for activating software according to the present invention, which is preferably applied to an artificial intelligence engine. As shown in fig. 1, the method for activating software of this embodiment specifically may include the following steps:
100. detecting whether an activation ciphertext exists locally;
in a specific implementation process, since the security of online activation of the software is higher, but in order to prevent the online activation from being unable to be performed when a network abnormality occurs, in this embodiment, two modes of online activation and offline activation may be set at the same time, so that a required activation ciphertext may be locally stored. Thus, offline activation may be performed when the activation ciphertext is locally present, and online activation may be performed when the activation ciphertext is locally absent. Wherein, because of the difficulty of decompiling the source code, the activation ciphertext can be obtained by correlating and encrypting the unique identifier of the equipment to which the software belongs, thereby ensuring that the activation ciphertext has higher security,
101. and verifying the decrypted ciphertext by using the activation ciphertext so as to activate the software offline when the obtained first verification result shows that the verification is successful.
In this embodiment, if the activation ciphertext exists, offline activation may be performed, at this time, a device unique identifier of a device to which the software belongs may be obtained, and a decryption ciphertext for activation obtained by performing encryption processing on the device unique identifier of the device to which the software belongs may be further compared and verified with the activation ciphertext to obtain a first verification result, if the activation ciphertext is matched with the decryption ciphertext, the first verification result indicates that verification is successful, and offline activation is performed on the software; if the activation ciphertext is not matched with the decryption ciphertext, the first verification result indicates that verification fails, and the software is not activated offline.
102. And verifying the decryption ciphertext by using the encryption ciphertext returned by the server, so that when the obtained second verification result shows that the verification is successful, the software is activated online, and when the second verification result shows that the verification is successful, the encryption ciphertext is stored as an activation ciphertext.
If the activation ciphertext does not exist and the network with the server is normal, online activation can be performed. Specifically, the decrypted ciphertext may be sent to the server, so that when the server uses the prestored verification ciphertext to verify the decrypted ciphertext successfully, the server encrypts the decrypted ciphertext to obtain the encrypted ciphertext, so that the encrypted ciphertext returned by the server may be received, the encrypted ciphertext and the decrypted ciphertext are compared and verified to obtain a second verification result, if the encrypted ciphertext is matched with the decrypted ciphertext, the second verification result indicates that the verification is successful, the software is activated online, and when the second verification result indicates that the verification is successful, the encrypted ciphertext is stored as an activation ciphertext, so that once the activation is successful, the server is not required to be requested any more, and when the software is started, the activation verification can be completed rapidly and efficiently by using offline activation. If the encrypted ciphertext is not matched with the decrypted ciphertext, the second verification result indicates that verification fails, and the software is not activated offline.
When the device is activated online, the unique device identifier can be well hidden because each ciphertext is transmitted after being encrypted, so that a malicious person can hardly acquire the unique device identifier, and further, the device is hard to swipe, or the unique device identifier is modified, and the like, so that if the unique device identifier is changed, the software cannot be activated. If a malicious party copies the activation ciphertext to other devices that do not activate the software, the software in the device is not activated because the unique identification of the devices is different. And the software and the server communicate by using an http protocol, so that the method is convenient, simple and quick.
The prestored verification ciphertext is generated and stored according to the unique device identifier of the device to which the software belongs, and the user can set the unique device identifier of the device to which the software belongs, or the software can automatically upload the unique device identifier of the device to which the software belongs when the software is activated on line for the first time.
When the software performs the first online activation, the software automatically uploads the unique identifier (hidden in the decrypted ciphertext) of the device, and since the decrypted ciphertext does not exist in the server database, the server verifies the decrypted ciphertext, the decrypted ciphertext is stored in the server database, then the decrypted ciphertext is encrypted to obtain an activated ciphertext, the activated ciphertext is sent to the software, and the software performs verification activation.
In practical application, if the second verification result indicates that verification is successful, the software can be activated online, that is, the encrypted ciphertext returned by the server can be verified, so that when the second verification result indicates that verification is successful, the encrypted ciphertext can be stored as the activated ciphertext, and the user is prevented from setting the activated ciphertext by himself, which causes more troubles to the user.
According to the method for activating the software, the decryption ciphertext required in the software activation process is associated with the unique identifier of the device to which the software belongs, and then the symmetric encryption technology is used, so that each ciphertext is not easy to crack, the unique identifier of the device is protected, the decryption ciphertext is protected, the software can be activated under the condition that the unique identifier of the device is unchanged no matter on-line activation or off-line activation, and therefore, even if a malicious person obtains the decryption ciphertext and activates the decryption ciphertext by using other devices, activation verification failure is caused due to the inconsistency of the unique identifiers of the devices, and therefore theft of the software can be effectively prevented. By adopting the technical scheme of the invention, the safety of software can be improved.
Further, in the above embodiment, the device unique identifier may be obtained by:
acquiring characteristic data of equipment; and generating a unique identifier of the equipment according to the characteristic data so as to protect the unique identifier of the equipment, wherein a malicious person cannot acquire the unique identifier of the equipment.
For example, the feature data in the present embodiment preferably includes at least 2 of an international mobile telephone device identification code, a central processing unit serial code, a media access control address, and a product number. Therefore, when the unique identifier of the equipment is cracked, all the data features are required to be cracked, so that the unique identifier of the equipment can be obtained, and the cracking difficulty of the unique identifier of the equipment is improved.
Further, in practical applications, the software may be uninstalled and reinstalled, and the software may be in an inactive state, or the software may be changed from an active state to an inactive state due to some special reasons, so that it is required to monitor the active state of the software in real time, and if it is detected that the software is in an inactive state, it is required to reactivate the software, at this time, the unique identifier of the device may be encrypted to obtain a decrypted ciphertext, so as to use the activated software later.
It should be noted that, the method of the embodiment of the present invention may be performed by a single device, for example, a computer or a server. The method of the embodiment can also be applied to a distributed scene, and is completed by mutually matching a plurality of devices. In the case of such a distributed scenario, one of the devices may perform only one or more steps of the method of an embodiment of the present invention, and the devices interact with each other to complete the method.
FIG. 2 is a schematic diagram of an embodiment of the activation device of the software of the present invention, wherein the activation device of the software is preferably applied to an artificial intelligence engine.
As shown in fig. 2, the traffic device of the present embodiment includes a detection module 20, an offline activation module 21, and an online activation module 22.
A detection module 20, configured to detect whether an activation ciphertext exists locally;
the offline activation module 21 is configured to perform an offline activation on the software by using the activation ciphertext to verify the decryption ciphertext if the activation ciphertext exists, so that the obtained first verification result indicates that the verification is successful;
the online activation module 22 is configured to verify the decrypted ciphertext by using the encrypted ciphertext returned by the server if the activated ciphertext does not exist, so that the software is activated online when the obtained second verification result indicates that the verification is successful, and store the encrypted ciphertext as the activated ciphertext when the second verification result indicates that the verification is successful;
the activation ciphertext, the decryption ciphertext and the encryption ciphertext are all ciphertexts associated with the unique identifier of the device to which the software belongs.
According to the software activating device, the decryption ciphertext required in the software activating process is associated with the unique identifier of the equipment to which the software belongs, and then the symmetric encryption technology is used, so that each ciphertext is not easy to crack, the unique identifier of the equipment is protected, the decryption ciphertext is protected, the software can be activated under the condition that the unique identifier of the equipment is unchanged no matter the software is activated on line or off line, and therefore, even if a malicious person obtains the decryption ciphertext and activates the software by utilizing other equipment, activation verification failure is caused due to the inconsistency of the unique identifier of the equipment, and software can be effectively prevented from being stolen. By adopting the technical scheme of the invention, the safety of software can be improved.
Further, in the above embodiment, the online activation module is further configured to send the decrypted ciphertext to the server, so that when the server uses the prestored verification ciphertext to verify the decrypted ciphertext successfully, the server encrypts the decrypted ciphertext to obtain the encrypted ciphertext; and receiving the encrypted ciphertext returned by the server.
Further, in the above embodiment, the detection module 20 is further configured to:
acquiring characteristic data of equipment; wherein the characteristic data includes at least 2 of an international mobile telephone device identification code, a central processing unit serial code, a media access control address, and a product number.
And generating a unique device identifier according to the characteristic data of the device.
In practical application, if the software is detected to be in an inactive state, the unique identifier of the device is encrypted to obtain a decrypted ciphertext.
The device of the foregoing embodiment is configured to implement the corresponding method in the foregoing embodiment, and has the beneficial effects of the corresponding method embodiment, which is not described herein.
Fig. 3 is a schematic structural diagram of an embodiment of an activating device of the software of the present invention, as shown in fig. 3, a passing device of the present embodiment may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050. Wherein processor 1010, memory 1020, input/output interface 1030, and communication interface 1040 implement communication connections therebetween within the device via a bus 1050.
The processor 1010 may be implemented by a general-purpose CPU (Central Processing Unit ), microprocessor, application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, etc. for executing relevant programs to implement the technical solutions provided in the embodiments of the present disclosure.
The Memory 1020 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory ), static storage device, dynamic storage device, or the like. Memory 1020 may store an operating system and other application programs, and when the embodiments of the present specification are implemented in software or firmware, the associated program code is stored in memory 1020 and executed by processor 1010.
The input/output interface 1030 is used to connect with an input/output module for inputting and outputting information. The input/output module may be configured as a component in a device (not shown) or may be external to the device to provide corresponding functionality. Wherein the input devices may include a keyboard, mouse, touch screen, microphone, various types of sensors, etc., and the output devices may include a display, speaker, vibrator, indicator lights, etc.
Communication interface 1040 is used to connect communication modules (not shown) to enable communication interactions of the present device with other devices. The communication module may implement communication through a wired manner (such as USB, network cable, etc.), or may implement communication through a wireless manner (such as mobile network, WIFI, bluetooth, etc.).
Bus 1050 includes a path for transferring information between components of the device (e.g., processor 1010, memory 1020, input/output interface 1030, and communication interface 1040).
It should be noted that although the above-described device only shows processor 1010, memory 1020, input/output interface 1030, communication interface 1040, and bus 1050, in an implementation, the device may include other components necessary to achieve proper operation. Furthermore, it will be understood by those skilled in the art that the above-described apparatus may include only the components necessary to implement the embodiments of the present description, and not all the components shown in the drawings.
The present invention also provides a storage medium storing computer instructions for causing the computer to perform the method of the above-described embodiments.
The computer readable media of the present embodiments, including both permanent and non-permanent, removable and non-removable media, may be used to implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device.
Those of ordinary skill in the art will appreciate that: the discussion of any of the embodiments above is merely exemplary and is not intended to suggest that the scope of the disclosure, including the claims, is limited to these examples; the technical features of the above embodiments or in the different embodiments may also be combined within the idea of the invention, the steps may be implemented in any order and there are many other variations of the different aspects of the invention as described above, which are not provided in detail for the sake of brevity.
Additionally, well-known power/ground connections to Integrated Circuit (IC) chips and other components may or may not be shown within the provided figures, in order to simplify the illustration and discussion, and so as not to obscure the invention. Furthermore, the devices may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram devices are highly dependent upon the platform within which the present invention is to be implemented (i.e., such specifics should be well within purview of one skilled in the art). Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. Accordingly, the description is to be regarded as illustrative in nature and not as restrictive.
While the invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of those embodiments will be apparent to those skilled in the art in light of the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.
The embodiments of the invention are intended to embrace all such alternatives, modifications and variances which fall within the broad scope of the appended claims. Therefore, any omission, modification, equivalent replacement, improvement, etc. of the present invention should be included in the scope of the present invention.

Claims (8)

1. A method of activating software, comprising:
detecting whether an activation ciphertext exists locally;
if the activation ciphertext exists, verifying the decryption ciphertext by using the activation ciphertext, so that the software is activated offline when the obtained first verification result shows that the verification is successful;
if the activation ciphertext does not exist, verifying the decryption ciphertext by using an encryption ciphertext returned by a server, so that when the obtained second verification result shows that the verification is successful, the software is activated on line, and when the second verification result shows that the verification is successful, the encryption ciphertext is stored as the activation ciphertext;
the activation ciphertext, the decryption ciphertext and the encryption ciphertext are all ciphertexts associated with a unique identifier of a device to which the software belongs;
before the encrypted ciphertext returned by the server is utilized to verify the decrypted ciphertext, the method comprises the following steps: the decryption ciphertext is sent to the server, so that when the server successfully verifies the decryption ciphertext by utilizing a prestored verification ciphertext, the server encrypts the decryption ciphertext to obtain the encryption ciphertext; and receiving the encrypted ciphertext returned by the server.
2. The method for activating software according to claim 1, wherein the step of verifying the decrypted ciphertext using the activation ciphertext if the activation ciphertext exists, further comprises:
acquiring characteristic data of the equipment;
and generating the unique identification of the equipment according to the characteristic data.
3. The method for activating software according to claim 2, wherein before detecting whether the activation ciphertext exists locally, further comprising:
and if the software is detected to be in an inactive state, carrying out encryption processing on the unique identifier of the equipment to obtain the decryption ciphertext.
4. The method of claim 2, wherein the characteristic data includes at least 2 of an international mobile telephone device identification code, a central processor string code, a media access control address, and a product number.
5. The method for activating software according to any one of claims 1-4, applied to an artificial intelligence engine.
6. A software activation device, comprising:
the detection module is used for detecting whether an activation ciphertext exists locally;
the offline activation module is used for verifying the decryption ciphertext by using the activation ciphertext if the activation ciphertext exists, so that the software is activated offline when the obtained first verification result shows that the verification is successful;
the on-line activation module is used for verifying the decryption ciphertext by using the encryption ciphertext returned by the server if the activation ciphertext does not exist, so that the software is activated on line when the obtained second verification result shows that the verification is successful, and the encryption ciphertext is stored as the activation ciphertext when the second verification result shows that the verification is successful;
the activation ciphertext, the decryption ciphertext and the encryption ciphertext are all ciphertexts associated with a unique identifier of a device to which the software belongs;
the on-line activation module is further configured to send the decrypted ciphertext to the server, so that when the server uses a prestored verification ciphertext to verify the decrypted ciphertext successfully, the server encrypts the decrypted ciphertext to obtain the encrypted ciphertext; and receiving the encrypted ciphertext returned by the server.
7. A software activation device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the method of any one of claims 1 to 5 when the program is executed.
8. A storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1 to 5.
CN202010340223.8A 2020-04-26 2020-04-26 Method, device, equipment and storage medium for activating software Active CN111538961B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010340223.8A CN111538961B (en) 2020-04-26 2020-04-26 Method, device, equipment and storage medium for activating software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010340223.8A CN111538961B (en) 2020-04-26 2020-04-26 Method, device, equipment and storage medium for activating software

Publications (2)

Publication Number Publication Date
CN111538961A CN111538961A (en) 2020-08-14
CN111538961B true CN111538961B (en) 2023-08-08

Family

ID=71975389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010340223.8A Active CN111538961B (en) 2020-04-26 2020-04-26 Method, device, equipment and storage medium for activating software

Country Status (1)

Country Link
CN (1) CN111538961B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949976B (en) * 2020-08-17 2024-01-16 博阳能源科技有限公司 Product enabling method, device and storage medium based on offline key
CN112149066A (en) * 2020-09-23 2020-12-29 深兰人工智能芯片研究院(江苏)有限公司 Activation verification method and device for software
CN112398818B (en) * 2020-11-02 2023-03-07 深圳数联天下智能科技有限公司 Software activation method and related device thereof
CN112417382A (en) * 2021-01-21 2021-02-26 深圳市千分一智能技术有限公司 Activation number limiting method, system, device and computer readable storage medium
CN113050995A (en) * 2021-02-06 2021-06-29 广州朗国电子科技有限公司 Screen projection activation information storage method, screen projection equipment and storage medium
CN116975794A (en) * 2023-06-27 2023-10-31 深圳市青葡萄科技有限公司 Software activation method, device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419804A (en) * 2010-11-19 2012-04-18 微软公司 Reliable software product confirmation and activation with redundancy security
CN107526947A (en) * 2017-09-26 2017-12-29 重庆市珞宾信息技术有限公司 A kind of embedded software active control method
WO2019214614A1 (en) * 2018-05-10 2019-11-14 鸿合科技股份有限公司 Automatic software activation verification method, apparatus and system, and computer readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9659155B2 (en) * 2015-02-06 2017-05-23 Macpaw Inc System and method for software activation and license tracking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419804A (en) * 2010-11-19 2012-04-18 微软公司 Reliable software product confirmation and activation with redundancy security
CN107526947A (en) * 2017-09-26 2017-12-29 重庆市珞宾信息技术有限公司 A kind of embedded software active control method
WO2019214614A1 (en) * 2018-05-10 2019-11-14 鸿合科技股份有限公司 Automatic software activation verification method, apparatus and system, and computer readable storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许旭 ; 潘志刚 ; .一种基于"一机一码"的软件激活序列号生成方案.浙江科技学院学报.2010,(04),全文. *

Also Published As

Publication number Publication date
CN111538961A (en) 2020-08-14

Similar Documents

Publication Publication Date Title
CN111538961B (en) Method, device, equipment and storage medium for activating software
CN108322461B (en) Method, system, device, equipment and medium for automatically logging in application program
US11258792B2 (en) Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium
US9652610B1 (en) Hierarchical data security measures for a mobile device
US8886964B1 (en) Protecting remote asset against data exploits utilizing an embedded key generator
US11374767B2 (en) Key-based authentication for backup service
US10733594B1 (en) Data security measures for mobile devices
CN106936588B (en) Hosting method, device and system of hardware control lock
WO2018177394A1 (en) Method and device for protecting android so file
CN111339536B (en) Data verification method and device based on secure execution environment
WO2014183704A1 (en) Software registration control method, authentication server and terminal
KR20210046357A (en) Method and apparatus for key storing and recovery for blockchain based system
CN110837643B (en) Activation method and device of trusted execution environment
US20140230068A1 (en) System and method for packaging and authenticating a software product
CN108235067B (en) Authentication method and device for video stream address
CN112948771B (en) Authority verification method and device, readable storage medium and electronic equipment
CN111182010B (en) Local service providing method and device
TWI546698B (en) Login system based on servers, login authentication server, and authentication method thereof
CN110619194A (en) Upgrade package encryption and decryption methods and devices
CN112118209A (en) Account number operation method and device of vehicle equipment
US9122878B1 (en) Software license management with drifting component
US20180262340A1 (en) Method and system for importing and exporting configurations
CN114070548A (en) Software copyright encryption protection method based on soft dongle device
US11222096B2 (en) Protecting an item of software
CN114912131B (en) Data encryption method, system and electronic equipment

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