CN115168816A - Software anti-piracy method, device, equipment and medium - Google Patents

Software anti-piracy method, device, equipment and medium Download PDF

Info

Publication number
CN115168816A
CN115168816A CN202210926210.8A CN202210926210A CN115168816A CN 115168816 A CN115168816 A CN 115168816A CN 202210926210 A CN202210926210 A CN 202210926210A CN 115168816 A CN115168816 A CN 115168816A
Authority
CN
China
Prior art keywords
target
key
software
ciphertext
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210926210.8A
Other languages
Chinese (zh)
Other versions
CN115168816B (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.)
Mingyang Industrial Technology Research Institute Shenyang Co ltd
Original Assignee
Mingyang Industrial Technology Research Institute Shenyang 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 Mingyang Industrial Technology Research Institute Shenyang Co ltd filed Critical Mingyang Industrial Technology Research Institute Shenyang Co ltd
Priority to CN202210926210.8A priority Critical patent/CN115168816B/en
Publication of CN115168816A publication Critical patent/CN115168816A/en
Application granted granted Critical
Publication of CN115168816B publication Critical patent/CN115168816B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Abstract

The invention discloses a software anti-piracy method, a device, equipment and a medium, comprising the following steps: in the process of initializing target software by target equipment, triggering the target equipment to send the identity information of the target software to a server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment stores the target ciphertext into a trusted platform module of the target equipment, and analyzes the target ciphertext to obtain a first key and an identifier; in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device and obtains a second key according to the running information and the identifier; and if the first key and the second key do not match, locking the trusted platform module. The invention can prevent the target equipment from continuously using the target software, thereby timely preventing the target software from being pirated and reducing the probability of software piracy.

Description

Software anti-piracy method, device, equipment and medium
Technical Field
The invention relates to the technical field of software security, in particular to a software anti-piracy method, a device, equipment and a medium.
Background
Software (software) is a collection of computer data and instructions organized in a specific order. Software does not include only computer programs that can run on a computer (computer is used herein in a broad sense) but documents related to such computer programs are also generally considered to be part of the software. Simply speaking, software is an aggregate of programs plus documents.
The development of a piece of software (marked as original software) requires much time and effort, and because the encryption level of the original software is low, illegal persons can easily make or copy the original software illegally, and the interests of developers of the original software are seriously damaged. Therefore, how to reduce the probability of software being illegally manufactured or copied is a problem that needs to be solved at present.
Disclosure of Invention
The embodiment of the application provides a software anti-piracy method, a device, equipment and a medium, solves the technical problem that in the prior art, original software is low in encryption level, so that illegal personnel can easily make or copy the original software illegally, and achieves the technical effects of reducing the probability of making or copying the software illegally and improving the software anti-piracy safety.
In a first aspect, the present application provides a software piracy prevention method, comprising:
in the process of initializing target software by target equipment, triggering the target equipment to send identity information of the target software to a server associated with the target software;
the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment;
the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key;
and locking the trusted platform module if the first key and the second key do not match.
Further, the server generates a first key according to the identity information, including:
the server determines a key generation algorithm from a server database according to the identity information;
and encrypting the identity information by adopting the key generation algorithm to obtain the first key.
Further, the wrapping the first key and the identifier corresponding to the first key into a target ciphertext and returning the target ciphertext back to the target device includes:
inserting the first key and the identifier into a disguised data packet to obtain a data packet to be transmitted;
and encrypting the data packet to be transmitted to obtain the target ciphertext, and returning the target ciphertext to the target equipment.
Further, the step of the trusted platform module obtaining the operation information of the target software from the target device and obtaining a second key according to the operation information and the identifier includes:
the trusted platform module determines a key generation algorithm corresponding to the first key according to the identifier;
and encrypting the running information by adopting the key generation algorithm to obtain the second key.
In a second aspect, the present application provides a software piracy protection device, comprising:
the identity information sending module is used for triggering the target equipment to send the identity information of the target software to a server associated with the target software in the process of initializing the target software by the target equipment;
the target ciphertext return module is used for generating a first key by the server according to the identity information, packaging the first key and an identifier corresponding to the first key into a target ciphertext, and returning the target ciphertext to the target equipment;
the target ciphertext analysis module is used for receiving the target ciphertext by the target device and storing the target ciphertext into a trusted platform module of the target device, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
the judging module is used for acquiring the running information of the target software from the target equipment by the trusted platform module in the process that the target equipment runs the target software, obtaining a second key according to the running information and the identifier, and determining whether the first key is matched with the second key;
and the locking module is used for locking the trusted platform module if the first key is not matched with the second key.
Further, the target ciphertext return module includes:
the key generation algorithm determining submodule is used for determining a key generation algorithm from a server database by the server according to the identity information;
and the first key determining submodule is used for encrypting the identity information by adopting the key generating algorithm to obtain the first key.
Further, the target ciphertext return module includes:
the data packet to be transmitted determining submodule is used for inserting the first key and the identifier into the disguised data packet to obtain the data packet to be transmitted;
and the target ciphertext returning sub-module is used for encrypting the data packet to be transmitted to obtain the target ciphertext and returning the target ciphertext to the target equipment.
Further, the determining module includes:
the key generation algorithm determining submodule is used for determining a key generation algorithm corresponding to the first key by the trusted platform module according to the identifier;
and the second key determining submodule is used for encrypting the operation information by adopting the key generation algorithm to obtain the second key.
In a third aspect, the present application provides an electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute to implement a software piracy protection method as provided in the first aspect.
In a fourth aspect, the present application provides a non-transitory computer-readable storage medium having instructions that, when executed by a processor of an electronic device, enable the electronic device to perform a method of implementing software piracy as provided in the first aspect.
One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:
in the embodiment of the application, firstly, in the process of initializing the target software by the target equipment, triggering the target equipment to send the identity information of the target software to a server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier; then, in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key; if the first key is not matched with the second key, the possibility that the target software is illegally copied is indicated, and the trusted platform module is locked, so that the target equipment is prevented from continuously using the target software, the behavior that the target software is pirated is timely stopped, and the probability that the original software is pirated is reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
FIG. 1 is a schematic flow chart of a software anti-piracy method provided by the present application;
FIG. 2 is a schematic structural diagram of a software anti-piracy device provided by the present application;
fig. 3 is a schematic structural diagram of an electronic device provided in the present application.
Detailed Description
The embodiment of the application provides a software anti-piracy method, a device, equipment and a medium, and solves the technical problem that in the prior art, the original software is low in encryption level, so that an illegal person can easily illegally manufacture or copy the original software.
In order to solve the technical problems, the general idea of the embodiment of the application is as follows:
a method of software piracy protection, the method comprising: in the process of initializing target software by target equipment, triggering the target equipment to send identity information of the target software to a server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier; in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key; and locking the trusted platform module if the first key and the second key do not match.
In the embodiment, in the process of initializing target software by target equipment, the target equipment is triggered to send the identity information of the target software to a server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier; then, in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key; if the first key is not matched with the second key, the possibility that the target software is illegally copied is indicated, and the trusted platform module is locked, so that the target equipment is prevented from continuously using the target software, the behavior that the target software is pirated is timely stopped, and the probability that the original software is pirated is reduced.
In order to better understand the technical solution, the technical solution will be described in detail with reference to the drawings and the specific embodiments.
First, it is stated that the term "and/or" appearing herein is merely one type of associative relationship that describes an associated object, meaning that three types of relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
The present embodiment provides a software anti-piracy method as shown in fig. 1, which includes steps S11 to S15.
Step S11, in the process of initializing target software by target equipment, triggering the target equipment to send the identity information of the target software to a server associated with the target software;
step S12, the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target device;
step S13, the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
step S14, in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key and the second key are matched;
and S15, if the first key is not matched with the second key, locking the trusted platform module.
Regarding step S11, in the process of initializing the target software by the target device, the target device is triggered to send the identity information of the target software to the server associated with the target software.
When the target software is developed or after the target software is developed, a trigger instruction can be set in the target software, and when the target device initializes the target software, the target device is controlled by the trigger instruction to send the identity information of the currently initialized target software to a server associated with the target software. The identity information may include a version number, a serial number, and the like of the target software, which is not limited in this embodiment.
Regarding step S12, the server generates a first key according to the identity information, and packages the first key and an identifier corresponding to the first key into a target ciphertext to return to the target device.
And setting a corresponding key generation algorithm for each piece of legal software. It should be noted that each piece of genuine software may share one or more key generation algorithms, or each piece of genuine software corresponds to one fixed key generation algorithm, and the key generation algorithms between different pieces of genuine software may be the same or different, which is not limited in this embodiment.
After the server receives the identity information of the target software sent by the target device, the server can query a key generation algorithm corresponding to the target software according to the identity information, and after the key generation algorithm is determined, the server encrypts the identity information by using the key generation algorithm to obtain the first key.
Different key generation algorithms have corresponding different identifiers, and the identifier of the key generation algorithm is stored when the key generation algorithm is determined.
After the first key is obtained, the first key and the identifier corresponding to the first key are packaged into a target ciphertext and the target ciphertext is returned to the target device. Specifically, the first key and the identifier may be inserted into a masquerading data package to obtain a data package to be transmitted; and encrypting the data packet to be transmitted to obtain the target ciphertext, and returning the target ciphertext to the target equipment. The insertion algorithm and the masquerading data packet may be selected according to actual situations, which is not limited in this embodiment.
The first key and the identifier are both data character strings, the first key and the identifier are split according to a preset insertion algorithm, and the split first key and the identifier are inserted into the data character strings of the disguised data package to obtain the data package to be transmitted. And encrypting the data packet to be transmitted by adopting an asymmetric encryption algorithm to obtain a target ciphertext, and sending the target ciphertext to the target equipment by the server.
In step S13, the target device receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target device, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier.
A Trusted Platform Module TPM (Trusted Platform Module) is a chip that is planted inside a computer to provide a Trusted root for the computer. The specification of the chip is set by Trusted Computing Group (Trusted Computing Group).
After receiving the target ciphertext from the server, the target device stores the target ciphertext into the trusted platform module, and the trusted platform module analyzes the target ciphertext to obtain a first key and an identifier. For example, when the server receives the identity information, the trigger server sends the relationship between the key generation algorithm and the identifier to the trusted platform module of the target device through the hidden message, and when the feasible platform module needs to analyze the target ciphertext after receiving the target ciphertext, the feasible platform module determines the relationship between the identifier and the key generation algorithm through the hidden message, and further determines the key generation algorithm corresponding to the identifier.
Specifically, the trusted platform module decrypts the target ciphertext by using an asymmetric encryption algorithm to obtain a data packet to be transmitted, and then takes out the first key and the identifier from the data packet to be transmitted and stores the first key and the identifier.
Regarding step S14, in the process of running the target software by the target device, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key and the second key are matched.
After the target device initializes the target software, and in the process of running the target software, the trusted platform module obtains the running information of the target software from the target device, and obtains a second key according to the running information and the identifier.
Specifically, the trusted platform module determines a key generation algorithm corresponding to the first key according to the identifier; and encrypting the running information by adopting the key generation algorithm to obtain the second key. The trusted platform module can determine a key generation algorithm corresponding to the first key according to the identifier and the relationship between the identifier and the key generation algorithm, and encrypt the running information by using the key generation algorithm to obtain a second key.
The running information may be information related to identity information of the target software, for example, the running information may be derived from a serial number of the target software.
With respect to step S15, if the first key and the second key do not match, locking the trusted platform module.
If the first key and the second key are matched, the identity information of the target software is not tampered when the target software is in operation, and the target software is less likely to be pirated. If the first key and the second key are not matched, the target software is judged to be illegally copied when running, the identity information is tampered, the possibility that the target software is pirated is high, at the moment, the trusted platform module can be directly locked, the target device is prevented from continuously using the target software, and the behavior that the target software is pirated is timely stopped.
In summary, in the present embodiment, in the process of initializing the target software by the target device, the target device is triggered to send the identity information of the target software to the server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier; then, in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key; if the first key is not matched with the second key, the possibility that the target software is illegally copied is indicated, and the trusted platform module is locked, so that the target equipment is prevented from continuously using the target software, the behavior that the target software is pirated is timely stopped, and the probability that the original software is pirated is reduced.
Based on the same inventive concept, the embodiment further provides a software anti-piracy device as shown in fig. 2, the device includes:
an identity information sending module 21, configured to trigger, in a process that a target device initializes target software, the target device to send identity information of the target software to a server associated with the target software;
a target ciphertext return module 22, configured to generate, by the server, a first key according to the identity information, and package, into a target ciphertext, the identifier corresponding to the first key and the first key, and return the target ciphertext to the target device;
a target ciphertext analysis module 23, configured to receive the target ciphertext by the target device, store the target ciphertext in a trusted platform module of the target device, where the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
a determining module 24, configured to, in a process that the target device runs the target software, obtain, by the trusted platform module, running information of the target software from the target device, obtain a second key according to the running information and the identifier, and determine whether the first key and the second key are matched;
a locking module 25, configured to lock the trusted platform module if the first key and the second key do not match.
Further, the target ciphertext return module 22 includes:
the key generation algorithm determining submodule is used for determining a key generation algorithm from a server database by the server according to the identity information;
and the first key determining submodule is used for encrypting the identity information by adopting the key generating algorithm to obtain the first key.
Further, the target ciphertext return module 22 includes:
the data packet to be transmitted determining submodule is used for inserting the first key and the identifier into the disguised data packet to obtain the data packet to be transmitted;
and the target ciphertext returning sub-module is used for encrypting the data packet to be transmitted to obtain the target ciphertext and returning the target ciphertext to the target equipment.
Further, the determining module 24 includes:
the key generation algorithm determining submodule is used for determining a key generation algorithm corresponding to the first key by the trusted platform module according to the identifier;
and the second key determining submodule is used for encrypting the operating information by adopting the key generation algorithm to obtain the second key.
Based on the same inventive concept, the present embodiment further provides an electronic device as shown in fig. 3, including:
a processor 31;
a memory 32 for storing instructions executable by the processor 31;
wherein the processor 31 is configured to execute to implement a software piracy protection method as provided above.
Based on the same inventive concept, the present embodiment also provides a non-transitory computer-readable storage medium, wherein instructions of the storage medium, when executed by the processor 31 of the electronic device, enable the electronic device to perform a software piracy prevention method as provided above.
Since the electronic device described in this embodiment is an electronic device used for implementing the method for processing information in this embodiment, a person skilled in the art can understand the specific implementation manner of the electronic device of this embodiment and various variations thereof based on the method for processing information described in this embodiment, and therefore, how to implement the method in this embodiment by the electronic device is not described in detail here. Electronic devices used by those skilled in the art to implement the method for processing information in the embodiments of the present application are all within the scope of the present application.
The technical scheme in the embodiment of the application at least has the following technical effects or advantages:
in this embodiment, in the process of initializing target software by target equipment, triggering the target equipment to send identity information of the target software to a server associated with the target software; the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment; the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier; then, in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key; if the first key is not matched with the second key, the possibility that the target software is illegally copied is indicated, and the trusted platform module is locked, so that the target equipment is prevented from continuously using the target software, the behavior that the target software is pirated is timely stopped, and the probability that the original software is pirated is reduced.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. A software piracy prevention method, comprising:
in the process of initializing target software by target equipment, triggering the target equipment to send identity information of the target software to a server associated with the target software;
the server generates a first key according to the identity information, packages the first key and an identifier corresponding to the first key into a target ciphertext and returns the target ciphertext to the target equipment;
the target equipment receives the target ciphertext and stores the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
in the process that the target device runs the target software, the trusted platform module obtains running information of the target software from the target device, obtains a second key according to the running information and the identifier, and determines whether the first key is matched with the second key;
and locking the trusted platform module if the first key and the second key do not match.
2. The method of claim 1, wherein the server generating a first key based on the identity information comprises:
the server determines a key generation algorithm from a server database according to the identity information;
and encrypting the identity information by adopting the key generation algorithm to obtain the first key.
3. The method of claim 1, wherein packaging the first key and the identifier corresponding to the first key as a target ciphertext back to the target device comprises:
inserting the first key and the identifier into a disguised data packet to obtain a data packet to be transmitted;
and encrypting the data packet to be transmitted to obtain the target ciphertext, and returning the target ciphertext to the target equipment.
4. The method of claim 1, wherein the trusted platform module obtaining the execution information of the target software from the target device and deriving a second key based on the execution information and the identifier comprises:
the trusted platform module determines a key generation algorithm corresponding to the first key according to the identifier;
and encrypting the running information by adopting the key generation algorithm to obtain the second key.
5. A software piracy protection device, said device comprising:
the identity information sending module is used for triggering the target equipment to send the identity information of the target software to a server associated with the target software in the process that the target equipment initializes the target software;
the target ciphertext return module is used for generating a first key by the server according to the identity information, packaging the first key and an identifier corresponding to the first key into a target ciphertext, and returning the target ciphertext to the target equipment;
the target ciphertext analysis module is used for receiving the target ciphertext by the target equipment and storing the target ciphertext into a trusted platform module of the target equipment, and the trusted platform module analyzes the target ciphertext to obtain the first key and the identifier;
the judging module is used for acquiring the running information of the target software from the target equipment by the trusted platform module in the process that the target equipment runs the target software, obtaining a second key according to the running information and the identifier, and determining whether the first key is matched with the second key;
and the locking module is used for locking the trusted platform module if the first key is not matched with the second key.
6. The apparatus of claim 5, wherein the target ciphertext return module comprises:
the key generation algorithm determining submodule is used for determining a key generation algorithm from a server database by the server according to the identity information;
and the first key determining submodule is used for encrypting the identity information by adopting the key generating algorithm to obtain the first key.
7. The apparatus of claim 5, wherein the target ciphertext return module comprises:
the data package to be transmitted determining submodule is used for inserting the first secret key and the identifier into the disguised data package to obtain the data package to be transmitted;
and the target ciphertext returning sub-module is used for encrypting the data packet to be transmitted to obtain the target ciphertext and returning the target ciphertext to the target equipment.
8. The apparatus of claim 5, wherein the determining module comprises:
the key generation algorithm determining submodule is used for determining a key generation algorithm corresponding to the first key by the trusted platform module according to the identifier;
and the second key determining submodule is used for encrypting the operation information by adopting the key generation algorithm to obtain the second key.
9. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute to implement a software piracy protection method as claimed in any one of claims 1 to 4.
10. A non-transitory computer readable storage medium having instructions that, when executed by a processor of an electronic device, enable the electronic device to perform a software anti-piracy method as claimed in any one of claims 1 to 4.
CN202210926210.8A 2022-08-03 2022-08-03 Software anti-piracy method, device, equipment and medium Active CN115168816B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210926210.8A CN115168816B (en) 2022-08-03 2022-08-03 Software anti-piracy method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210926210.8A CN115168816B (en) 2022-08-03 2022-08-03 Software anti-piracy method, device, equipment and medium

Publications (2)

Publication Number Publication Date
CN115168816A true CN115168816A (en) 2022-10-11
CN115168816B CN115168816B (en) 2023-08-04

Family

ID=83477807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210926210.8A Active CN115168816B (en) 2022-08-03 2022-08-03 Software anti-piracy method, device, equipment and medium

Country Status (1)

Country Link
CN (1) CN115168816B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740940A (en) * 2005-09-09 2006-03-01 北京兆日科技有限责任公司 Method for realizing computer software intruder preventing edition based on confidence computation module chip
US20110167503A1 (en) * 2010-01-05 2011-07-07 Microsoft Corporation Tpm-based license activation and validation
KR20120085351A (en) * 2011-01-22 2012-08-01 송한복 Method for prevention of illegal copy of software by applying variable password
US20160147981A1 (en) * 2013-07-25 2016-05-26 Siemens Healthcare Diagnostics Inc. Anti-piracy Protection for Software
CN107704731A (en) * 2017-09-28 2018-02-16 成都安恒信息技术有限公司 A kind of cloud platform mirror image method for preventing piracy based on HOTP
CN110855426A (en) * 2019-11-08 2020-02-28 北京握奇智能科技有限公司 Method for software use authorization
CN111625829A (en) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 Application activation method and device based on trusted execution environment
CN112632481A (en) * 2020-12-11 2021-04-09 深圳市英威腾电气股份有限公司 Method for authorizing software, terminal device and storage medium
CN113127814A (en) * 2019-12-31 2021-07-16 杭州海康威视数字技术股份有限公司 Software copy prevention method and device, electronic equipment and readable storage medium
CN114338201A (en) * 2021-12-30 2022-04-12 北京可信华泰信息技术有限公司 Data processing method and device, electronic device and storage medium
CN114726647A (en) * 2022-05-12 2022-07-08 知安视娱(北京)科技有限公司 Safe distribution method and system of 4K film content and safe projection system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740940A (en) * 2005-09-09 2006-03-01 北京兆日科技有限责任公司 Method for realizing computer software intruder preventing edition based on confidence computation module chip
US20110167503A1 (en) * 2010-01-05 2011-07-07 Microsoft Corporation Tpm-based license activation and validation
KR20120085351A (en) * 2011-01-22 2012-08-01 송한복 Method for prevention of illegal copy of software by applying variable password
US20160147981A1 (en) * 2013-07-25 2016-05-26 Siemens Healthcare Diagnostics Inc. Anti-piracy Protection for Software
CN107704731A (en) * 2017-09-28 2018-02-16 成都安恒信息技术有限公司 A kind of cloud platform mirror image method for preventing piracy based on HOTP
CN111625829A (en) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 Application activation method and device based on trusted execution environment
CN110855426A (en) * 2019-11-08 2020-02-28 北京握奇智能科技有限公司 Method for software use authorization
CN113127814A (en) * 2019-12-31 2021-07-16 杭州海康威视数字技术股份有限公司 Software copy prevention method and device, electronic equipment and readable storage medium
CN112632481A (en) * 2020-12-11 2021-04-09 深圳市英威腾电气股份有限公司 Method for authorizing software, terminal device and storage medium
CN114338201A (en) * 2021-12-30 2022-04-12 北京可信华泰信息技术有限公司 Data processing method and device, electronic device and storage medium
CN114726647A (en) * 2022-05-12 2022-07-08 知安视娱(北京)科技有限公司 Safe distribution method and system of 4K film content and safe projection system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G.NAUMOVICH: "Preventing piracy, reverse engineering, and tampering", IEEE, vol. 36, no. 7, pages 64 - 71 *

Also Published As

Publication number Publication date
CN115168816B (en) 2023-08-04

Similar Documents

Publication Publication Date Title
CN110324146B (en) Mitigation of offline ciphertext-only attacks
US7346780B2 (en) Integrity ordainment and ascertainment of computer-executable instructions
US7610623B2 (en) Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context
CN101783801B (en) Software protection method based on network, client side and server
EP2988238B1 (en) Optimized integrity verification procedures
US10797868B2 (en) Shared secret establishment
EP1757008B1 (en) Securing software
US7174457B1 (en) System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US7277541B1 (en) Method and system for using a portion of a digital good as a substitution box
US10503931B2 (en) Method and apparatus for dynamic executable verification
US20060136750A1 (en) Protecting Digital Goods Using Oblivious Checking
US8200727B2 (en) Method and apparatus for verifying and diversifying randomness
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN112073807B (en) Video data processing method and device based on block chain
US10846373B2 (en) Method and system for securing a client's access to a DRM agent's services for a video player
CN110245464B (en) Method and device for protecting file
US7779269B2 (en) Technique for preventing illegal invocation of software programs
EP2756443A1 (en) Security mechanism for developmental operating systems
CN115168816B (en) Software anti-piracy method, device, equipment and medium
CN108933766B (en) Method and client for improving equipment ID security
US8775822B2 (en) Computer-implemented method and system for protecting a software installation after certification
US7392523B1 (en) Systems and methods for distributing objects
CN117592093B (en) File encryption method, decryption method, encryption device and decryption device
CN114329357A (en) Method and device for protecting code security
CN116467756A (en) Application program verification method, packaging method, processor and terminal 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