CN115987589B - Method for preventing MCU internal program from being copied - Google Patents

Method for preventing MCU internal program from being copied Download PDF

Info

Publication number
CN115987589B
CN115987589B CN202211608462.2A CN202211608462A CN115987589B CN 115987589 B CN115987589 B CN 115987589B CN 202211608462 A CN202211608462 A CN 202211608462A CN 115987589 B CN115987589 B CN 115987589B
Authority
CN
China
Prior art keywords
mcu
time
random number
number sequence
frequency
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
CN202211608462.2A
Other languages
Chinese (zh)
Other versions
CN115987589A (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.)
Shenzhen Fruition Industrial Co ltd
Original Assignee
Shenzhen Fruition Industrial 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 Shenzhen Fruition Industrial Co ltd filed Critical Shenzhen Fruition Industrial Co ltd
Priority to CN202211608462.2A priority Critical patent/CN115987589B/en
Publication of CN115987589A publication Critical patent/CN115987589A/en
Application granted granted Critical
Publication of CN115987589B publication Critical patent/CN115987589B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a method for preventing an MCU internal program from being copied, which comprises the following steps: transmitting an MCU program copy request to a server by an access terminal; an access terminal sends an MCU program copy request to an MCU; after the server receives the MCU program copying request, the server authenticates the access terminal; after the server successfully authenticates the access terminal, the server sends a first random number sequence to the MCU at a predefined first time-frequency position; after the MCU receives the MCU program copy request, the masked first random number sequence transmitted by the server at the predefined first time-frequency location is started to be monitored by the MCU.

Description

Method for preventing MCU internal program from being copied
Technical Field
The invention relates to the technical field of MCU confidentiality, in particular to a method for preventing an MCU internal program from being copied.
Background
The MCU is widely used in various electronic devices and mechanical devices, and any device that needs to perform a certain operation according to a program requires the MCU or a processing device having a function similar to the MCU.
For some manufacturers (e.g. some high-end car manufacturers), the MCU internal program needs to be kept secret, and for these manufacturers, it is especially necessary to prevent the MCU internal program from being illegally copied in its entirety, since this would lead to leakage of the MCU internal program. In the most original MCU anti-disclosure scheme, an authorized user is required to input an account number and a password in an access terminal, so that the authorized user can correctly log in the access terminal, and then the authorized user can use the access terminal to read a program in the MCU. The scheme has poor confidentiality, for example, an unauthorized user can break the account number and the password through various methods, so that the access terminal can be correctly logged in. In some advanced MCU anti-disclosure schemes, an authorized user is required to log in the server using the access terminal, and the server authenticates the access terminal through some complex encryption means, and if the server successfully authenticates the access terminal, the server notifies the MCU to allow the access terminal to access the MCU. The proposal fully utilizes the advantages of higher safety and stronger calculation power of the server and can increase the confidentiality strength of the MCU. There are various methods by which other devices masquerade as servers and false commands are sent to the MCU by the masquerade servers, thereby causing the MCU to allow unauthorized access terminals to access the MCU. How to improve this type of scheme to increase the security strength of the MCU is a problem faced by the prior art.
Disclosure of Invention
To achieve the above object, the present invention provides a method for preventing an internal program of an MCU from being copied, comprising:
transmitting an MCU program copy request to a server by an access terminal;
an access terminal sends an MCU program copy request to an MCU;
after the server receives the MCU program copying request, the server authenticates the access terminal;
after the server successfully authenticates the access terminal, transmitting, by the server, a first random number sequence to the MCU at a predefined first time-frequency location, wherein the predefined first time-frequency location corresponds to the first random number sequence, wherein the first time-frequency location corresponds to a first masking code, wherein the first random number sequence is masked by the first masking code;
after the MCU receives the MCU program copy request, the masked first random number sequence transmitted by the server at the predefined first time-frequency location is started to be monitored by the MCU.
In a preferred embodiment, the method further comprises:
if the MCU receives the masked first random number sequence sent by the server at a predefined first time-frequency position, the MCU determines a first masking code based on the first time-frequency position;
after the MCU determines the first masking code, recovering, by the MCU, the first random number sequence;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes an MCU program copy request and transmits the copied MCU program to the access terminal.
In a preferred embodiment, the method further comprises:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions;
if the MCU is unable to determine any masking code based on other time-frequency locations, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
In a preferred embodiment, the method further comprises:
if the MCU determines other masking codes based on other time-frequency positions, the MCU uses the other masking codes to recover other random number sequences;
determining, by the MCU, whether the recovered other random number sequences correspond to other time-frequency positions;
if the MCU determines that the recovered other random number sequences do not correspond to other time-frequency positions, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
In a preferred embodiment, the method further comprises:
after the server sends the first random number sequence to the MCU, the server sends a second random number sequence to the MCU at a predefined second time-frequency location, wherein the predefined second time-frequency location corresponds to the second random number sequence, wherein the second time-frequency location corresponds to a second masking code, wherein the second random number sequence is masked by the second masking code;
wherein the server is configured to: the first random number sequence is no longer used within a predefined period of time;
wherein the MCU is configured to: not all MCU programs are sent to the access terminal until the masked second random number sequence is received.
In a preferred embodiment, the method further comprises:
the MCU listens to the masked second random number sequence transmitted by the server at the predefined second time-frequency position;
if the MCU receives a masked second random number sequence sent by the server at a predefined second time-frequency position, the MCU determines a second masking code based on the second time-frequency position;
after the MCU determines the second masking code, recovering, by the MCU, the second random number sequence;
determining, by the MCU, whether the recovered second random number sequence corresponds to a predefined second time-frequency location;
if it is determined that the recovered second random number sequence corresponds to the predefined second time-frequency location, the MCU continues to transmit the copied MCU program to the access terminal.
The present invention provides a non-transitory computer readable storage medium having stored therein computer executable instructions that, when executed, are capable of performing the following:
transmitting an MCU program copy request to a server by an access terminal;
an access terminal sends an MCU program copy request to an MCU;
after the server receives the MCU program copying request, the server authenticates the access terminal;
after the server successfully authenticates the access terminal, transmitting, by the server, a first random number sequence to the MCU at a predefined first time-frequency location, wherein the predefined first time-frequency location corresponds to the first random number sequence, wherein the first time-frequency location corresponds to a first masking code, wherein the first random number sequence is masked by the first masking code;
after the MCU receives the MCU program copy request, the masked first random number sequence transmitted by the server at the predefined first time-frequency location is started to be monitored by the MCU.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives the masked first random number sequence sent by the server at a predefined first time-frequency position, the MCU determines a first masking code based on the first time-frequency position;
after the MCU determines the first masking code, recovering, by the MCU, the first random number sequence;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes an MCU program copy request and transmits the copied MCU program to the access terminal.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions;
if the MCU is unable to determine any masking code based on other time-frequency locations, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU determines other masking codes based on other time-frequency positions, the MCU uses the other masking codes to recover other random number sequences;
determining, by the MCU, whether the recovered other random number sequences correspond to other time-frequency positions;
if the MCU determines that the recovered other random number sequences do not correspond to other time-frequency positions, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
Compared with the prior art, the MCU privacy technical scheme has the following advantages that as described in the background art, the current MCU privacy technical scheme has the defects that other equipment can be disguised as a server, and the disguised server sends false commands to the MCU, so that the MCU allows an unauthorized access terminal to access the MCU. The research of researchers on the my part finds that the core of the problem is that other equipment is disguised as a server, and the difficulty of sending false commands is low, so that the secret technical scheme is easy to crack.
Drawings
FIG. 1 is a schematic system architecture diagram of one embodiment of the present invention.
FIG. 2 is a method flow diagram of one embodiment of the present invention.
Fig. 3 is a schematic diagram of time-frequency resources for transmitting a random sequence of numbers according to an embodiment of the invention.
Detailed Description
The following detailed description of embodiments of the invention is, therefore, to be taken in conjunction with the accompanying drawings, and it is to be understood that the scope of the invention is not limited to the specific embodiments.
As described in the background art, the current MCU security solution has a drawback in that it can be disguised as a server by other devices and a false command is sent to the MCU by the disguised server, thereby causing the MCU to allow an unauthorized access terminal to access the MCU. The research of researchers on the my part finds that the core of the problem is that other equipment is disguised as a server, and the difficulty of sending false commands is low, so that the secret technical scheme is easy to crack.
Example 1
FIG. 1 is a schematic system architecture diagram of one embodiment of the present invention. As shown, the system of the present invention includes an access terminal, an MCU, and a server, wherein the access terminal, the MCU, and the server can communicate messages with each other. The access terminal may be a user's handheld device, notebook computer, desktop computer, tablet computer, dedicated device with command input functionality, or the like. It will be understood by those skilled in the art that the MCU of the present invention has the necessary hardware to perform all the functions defined by the present invention, for example, the MCU itself needs to have hardware to execute program instructions, needs to have a communication interface (the communication interface may be a wired or wireless interface) to communicate with the server and the access terminal, needs to have a memory to store program instructions, etc., all of which are known in the art, and the present invention will not be described in detail.
Example 2
FIG. 2 is a method flow diagram of one embodiment of the present invention. Fig. 3 is a schematic diagram of time-frequency resources for transmitting a random sequence of numbers according to an embodiment of the invention. As shown, the method of the present invention comprises the steps of:
step 21: transmitting an MCU program copy request to a server by an access terminal;
step 22: an access terminal sends an MCU program copy request to an MCU;
step 23: after the server receives the MCU program copying request, the server authenticates the access terminal; the server may authenticate the access terminal by any known authentication method, for example, the server obtains the contents such as a user name, a password, a hardware identifier, a secret key and the like from the access terminal, and then authenticates the access terminal based on a known algorithm;
step 24: after the server successfully authenticates the access terminal, transmitting, by the server, a first random number sequence to the MCU at a predefined first time-frequency location, wherein the predefined first time-frequency location corresponds to the first random number sequence, wherein the first time-frequency location corresponds to a first masking code, wherein the first random number sequence is masked by the first masking code;
in a specific example, the server may pre-agree with the MCU on a time-frequency resource pool for transmitting the random number sequence, e.g. the server may pre-agree with the MCU on a time-frequency resource pool for transmitting the random number sequence according to the example of fig. 3. In fig. 3, two time-frequency resource pools for transmitting random number sequences are shown periodically, one square in each time-frequency resource pool in fig. 3 represents one time-frequency unit (the random number sequence must occupy an integer number of time-frequency units, for example, the random number sequence is not allowed to be transmitted on 3.5 time-frequency units), for example, one time-frequency unit may be composed of 10ms time and a frequency of 2MHz, each time-frequency resource pool in fig. 3 has 50 time-frequency units, the time interval between time-frequency resource pools may be, for example, 3s, 5s or 10s, and it may be specified that the random number sequence can be transmitted only once in each time-frequency resource pool; for example, in fig. 3, a first random number sequence is transmitted in the third to fifth grid times, and the first to second grid frequencies of the first time-frequency resource pool, and a second random number sequence is transmitted in the fifth to sixth grid times, and the first to third grid frequencies of the second time-frequency resource pool. Of course, it should be understood by those skilled in the art that more time-frequency resource pools may be designed, and each time-frequency resource pool may have more time-frequency units. In a specific example, the predefined correspondence between the first time-frequency location and the first random number sequence may be as follows:
TABLE 1
The random number sequence in the above table is only an example, and the first random number sequence may be designed to have a longer length for security; wherein time-frequency position a (e.g., time-frequency position a is shown as a number "1" in the system, but neither the system nor table 1 shows that time-frequency position a is the third to fifth grid times of the first time-frequency resource pool, and the first to second grid frequencies) may refer to the third to fifth grid times of the first time-frequency resource pool, and the first to second grid frequencies, and time-frequency position B may refer to the fifth to sixth grid times of the second time-frequency resource pool, and the first to third grid frequencies; the corresponding relation between the time-frequency position a and the specific time-frequency unit needs to be stored in another mapping table separately, and the position of the specific time-frequency unit in the specific time-frequency resource pool is not displayed in table 1, so that even if table 1 leaks, an unauthorized person cannot know the corresponding relation between the specific time-frequency unit and the random number sequence.
In a specific example, the correspondence between the first time-frequency location and the first masking code may be as follows:
TABLE 2
Time-frequency position A 11111
Time-frequency position B 11100
Time-frequency position C 00111
Time-frequency position D 10101
Table 2 is stored in a different location from table 1 and protected by a separate password to prevent unauthorized users from acquiring the correspondence of time-frequency locations, masking codes and random sequences at one time. The method for masking the random number sequence can be as follows: taking the first random number sequence sent by the time-frequency position A as an example, carrying out binary addition without carry on five bits after the first random number sequence and a masking code bit by bit to mask, specifically, the first random number sequence is 0101010101, the five bits after the first random number sequence are 10101, the masking code is 11111, the bit by bit addition result is 01010, and the first random number sequence after masking is 0101001010. The purpose of this design is to prevent other devices from "sniffing" attacks, e.g. some unauthorized device listens for a long time to the random number sequences sent by the server, and if there is no masking operation, the unauthorized device can acquire the entire random number sequence list by listening and send the frequency and time periods of each random number sequence list, and then the unauthorized device can imitate the server and send the corresponding random number sequence on the frequency and time periods of the random number sequence list acquired by listening, so that the MCU cannot tell whether the device sending the random number sequence is the server or not. However, after the method of the present invention is adopted, as long as the correspondence in table 2 is updated at any time, the unauthorized device cannot masquerade as a server even if it acquires the random number sequences subjected to the masking operation and the frequency and time periods for transmitting each random number sequence list. Specifically, for example, the first time the server sends the first random number sequence at time-frequency position a, the masked first random number sequence is 0101001010 (assuming the 0101001010 number sequence is listened to by the unauthorized device), then table 2 may be modified so that time-frequency position a corresponds to the masking code "00111", then the server again sends the first random number sequence at time-frequency position a, the masked first random number sequence is 0101010010, so that the unauthorized device cannot first learn what the true first random number sequence is, and the unauthorized device cannot learn what the masked first random number sequence is when the first random number sequence is sent again, even if the unauthorized device listens to 0101001010 and sends the time-frequency position of 0101001010, and therefore the unauthorized device cannot masquerade as the server by sniffing.
Step 25: after the MCU receives the MCU program copy request, the masked first random number sequence transmitted by the server at the predefined first time-frequency location is started to be monitored by the MCU.
Example 3
In embodiment 3, the method further comprises:
if the MCU receives the masked first random number sequence sent by the server at a predefined first time-frequency position, the MCU determines a first masking code based on the first time-frequency position; in a specific example, the MCU needs to store the foregoing table 1, table 2, and the correspondence between the specific time-frequency units and the time-frequency position numbers in table 1, in a specific example, for example, the MCU receives the masked first random number sequence from the first to the fifth grid times in the first time-frequency resource pool, and the first to the second grid frequencies, the MCU may obtain the first to the fifth grid times in the first time-frequency resource pool by looking up a table, and the first to the second grid frequencies correspond to the time-frequency position a, and then the MCU looks up the table 2 to obtain the first mask code 11111;
after the MCU determines the first masking code, recovering, by the MCU, the first random number sequence; in a specific example, the MCU lookup table 2 obtains a first mask code 11111, the first masked random number sequence received by the MCU is 0101001010, then the MCU recovers the binary addition of the last five bits of the first masked random number sequence 0101001010 and the mask code bit by bit, and the recovered first random number sequence is 0101010101;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location; in a specific example, the MCU looks up table 1 again, and determines whether 0101010101 corresponds to time-frequency position a;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes an MCU program copy request and transmits the copied MCU program to the access terminal.
In a preferred embodiment, the method further comprises:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions; in one specific example, the other device refers to an unauthorized, disguised device that is a server;
if the MCU is unable to determine any masking code based on other time-frequency locations, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU. In this case, the other device actually sends a sequence of numbers to the MCU at random time-frequency locations without any information, in which case the MCU is substantially impossible to look up the masking code corresponding to the time-frequency location in the table;
in a preferred embodiment, the method further comprises:
if the MCU determines other masking codes based on other time-frequency positions, the MCU uses the other masking codes to recover other random number sequences; in this case, the other device may happen to send a random sequence at the time-frequency location present in the table, or by sniffing the time-frequency location at which the random sequence was sent, the other device may imitate the server to send a random sequence at the correct time-frequency location, at which point the MCU can determine a certain masking code in table 2 based on the other time-frequency location;
determining, by the MCU, whether the recovered other random number sequences correspond to other time-frequency positions; in the foregoing case, since the other device can at most transmit the time-frequency position of the random number sequence through the sniffing channel, but the other device cannot know the content of table 2, after the MCU recovers the random sequence transmitted by the other device, the recovered random sequence cannot correspond to any sequence in table 1;
if the MCU determines that the recovered other random number sequences do not correspond to other time-frequency positions, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
In a preferred embodiment, the method further comprises:
after the server sends the first random number sequence to the MCU, the server sends a second random number sequence to the MCU at a predefined second time-frequency location, wherein the predefined second time-frequency location corresponds to the second random number sequence, wherein the second time-frequency location corresponds to a second masking code, wherein the second random number sequence is masked by the second masking code;
wherein the server is configured to: the first random number sequence is no longer used within a predefined period of time; the significance of this step is: in a simplest replay attack, an unauthorized device may listen to a certain random number sequence a sent by a server to an MCU and be able to know the specific time-frequency unit that sent the random number sequence a, then the unauthorized device copies the monitored random number sequence a without knowing the mask code, the specific content of the random number sequence, and then sends the copied random number sequence a to the MCU at the same time-frequency unit of the next time-frequency resource pool, so that the unauthorized device can also masquerade as a server, but the method of the present invention does not allow the server to send the same random number sequence to the MCU within a predefined period of time (the predefined period of time is, for example, 1 hour, 3 hours or 24 hours, after which the server can update the content of table 2, thereby completely preventing replay attacks), thus avoiding such a simplest replay attack.
Wherein the MCU is configured to: not all MCU programs are sent to the access terminal until the masked second random number sequence is received. In a specific example, the MCU may be prevented from transmitting all programs to the access terminal before receiving the masked second random number sequence by limiting the data transmission speed of the MCU, which mainly functions in: even if in extreme cases the unauthorized device accidentally sends a random sequence of numbers correctly once by trial and error and successfully masquerades as a server, the MCU will not send all programs to the access terminal.
In a preferred embodiment, the method further comprises:
the MCU listens to the masked second random number sequence transmitted by the server at the predefined second time-frequency position;
if the MCU receives a masked second random number sequence sent by the server at a predefined second time-frequency position, the MCU determines a second masking code based on the second time-frequency position;
after the MCU determines the second masking code, recovering, by the MCU, the second random number sequence;
determining, by the MCU, whether the recovered second random number sequence corresponds to a predefined second time-frequency location;
if it is determined that the recovered second random number sequence corresponds to the predefined second time-frequency location, the MCU continues to transmit the copied MCU program to the access terminal.
The present invention provides a non-transitory computer readable storage medium having stored therein computer executable instructions that, when executed, are capable of performing the following:
transmitting an MCU program copy request to a server by an access terminal;
an access terminal sends an MCU program copy request to an MCU;
after the server receives the MCU program copying request, the server authenticates the access terminal;
after the server successfully authenticates the access terminal, transmitting, by the server, a first random number sequence to the MCU at a predefined first time-frequency location, wherein the predefined first time-frequency location corresponds to the first random number sequence, wherein the first time-frequency location corresponds to a first masking code, wherein the first random number sequence is masked by the first masking code;
after the MCU receives the MCU program copy request, the masked first random number sequence transmitted by the server at the predefined first time-frequency location is started to be monitored by the MCU.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives the masked first random number sequence sent by the server at a predefined first time-frequency position, the MCU determines a first masking code based on the first time-frequency position;
after the MCU determines the first masking code, recovering, by the MCU, the first random number sequence;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes an MCU program copy request and transmits the copied MCU program to the access terminal.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions;
if the MCU is unable to determine any masking code based on other time-frequency locations, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
In a preferred embodiment, the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU determines other masking codes based on other time-frequency positions, the MCU uses the other masking codes to recover other random number sequences;
determining, by the MCU, whether the recovered other random number sequences correspond to other time-frequency positions;
if the MCU determines that the recovered other random number sequences do not correspond to other time-frequency positions, the MCU does not execute the MCU program copy request and the MCU locks the memory inside the MCU.
It is to be understood that the above-described embodiments of the present invention are merely illustrative of or explanation of the principles of the present invention and are in no way limiting of the invention. Accordingly, any modification, equivalent replacement, improvement, etc. made without departing from the spirit and scope of the present invention should be included in the scope of the present invention. Furthermore, the appended claims are intended to cover all such changes and modifications that fall within the scope and boundary of the appended claims, or equivalents of such scope and boundary.

Claims (4)

1. A method for preventing the internal program of MCU from being duplicated is characterized in that,
the method comprises the following steps:
transmitting an MCU program copy request to a server by an access terminal;
an access terminal sends an MCU program copy request to an MCU;
after the server receives the MCU program copying request, the server authenticates the access terminal;
after the server successfully authenticates the access terminal, a first random number sequence is sent to the MCU at a predefined first time-frequency position by the server, wherein the predefined first time-frequency position corresponds to the first random number sequence, wherein the first time-frequency position corresponds to a first masking code, and wherein the first random number sequence is masked by the first masking code;
after the MCU receives the MCU program copy request, listening by the MCU to the masked first random number sequence sent by the server at the predefined first time-frequency location is started,
wherein the method further comprises:
if the MCU receives a masked first random number sequence transmitted by the server at a predefined first time-frequency position, the MCU determines the first masking code based on the first time-frequency position;
recovering, by the MCU, the first random number sequence after the MCU determines the first masking code;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes the MCU program replication request and transmits the replicated MCU program to the access terminal,
wherein the method further comprises:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions;
if the MCU is unable to determine any masking code based on the other time-frequency locations, the MCU does not execute the MCU program copy request and the MCU locks memory inside the MCU, wherein the method further comprises:
if the MCU determines other masking codes based on the other time-frequency positions, the MCU uses the other masking codes to recover the other random number sequences;
determining, by the MCU, whether the recovered other random number sequences correspond to the other time-frequency locations;
if the MCU determines that the recovered other random number sequences do not correspond to the other time-frequency positions, the MCU does not execute the MCU program copy request, and the MCU locks a memory inside the MCU.
2. The method of claim 1, wherein,
the method further comprises the steps of:
after the server sends the first random number sequence to the MCU, the server sends a second random number sequence to the MCU at a predefined second time-frequency location, wherein the predefined second time-frequency location corresponds to the second random number sequence, wherein the second time-frequency location corresponds to a second masking code, wherein the second random number sequence is masked by the second masking code;
wherein the server is configured to: the first random number sequence is no longer used within a predefined period of time;
wherein the MCU is configured to: not all MCU programs are sent to the access terminal until the masked second random number sequence is received.
3. The method of claim 2, wherein,
the method further comprises the steps of:
the MCU listens to the masked second random number sequence transmitted by the server at the predefined second time-frequency position;
if the MCU receives a masked second random number sequence sent by the server at a predefined second time-frequency position, the MCU determines the second masking code based on the second time-frequency position;
recovering, by the MCU, the second random number sequence after the MCU determines the second masking code;
determining, by the MCU, whether the recovered second random number sequence corresponds to a predefined second time-frequency location;
if it is determined that the recovered second random number sequence corresponds to the predefined second time-frequency location, the MCU continues to transmit the copied MCU program to the access terminal.
4. A non-transitory computer readable storage medium comprising,
stored within the medium are computer executable instructions that, when executed, are capable of performing the operations of:
transmitting an MCU program copy request to a server by an access terminal;
an access terminal sends an MCU program copy request to an MCU;
after the server receives the MCU program copying request, the server authenticates the access terminal;
after the server successfully authenticates the access terminal, a first random number sequence is sent to the MCU at a predefined first time-frequency position by the server, wherein the predefined first time-frequency position corresponds to the first random number sequence, wherein the first time-frequency position corresponds to a first masking code, and wherein the first random number sequence is masked by the first masking code;
after the MCU receives the MCU program copy request, listening by the MCU to the masked first random number sequence sent by the server at the predefined first time-frequency location is started,
wherein the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives a masked first random number sequence transmitted by the server at a predefined first time-frequency position, the MCU determines the first masking code based on the first time-frequency position;
recovering, by the MCU, the first random number sequence after the MCU determines the first masking code;
determining, by the MCU, whether the recovered first random number sequence corresponds to a predefined first time-frequency location;
if the MCU determines that the recovered first random number sequence corresponds to the predefined first time-frequency position, the MCU executes the MCU program replication request and transmits the replicated MCU program to the access terminal,
wherein the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU receives other random number sequences transmitted by other devices at other time-frequency positions different from the first time-frequency position, the MCU determines a masking code based on the other time-frequency positions;
if the MCU cannot determine any masking code based on the other time-frequency locations, the MCU does not execute the MCU program copy request, and the MCU locks the memory inside the MCU,
wherein the medium has stored therein computer executable instructions that, when executed, are further capable of performing the operations of:
if the MCU determines other masking codes based on the other time-frequency positions, the MCU uses the other masking codes to recover the other random number sequences;
determining, by the MCU, whether the recovered other random number sequences correspond to the other time-frequency locations;
if the MCU determines that the recovered other random number sequences do not correspond to the other time-frequency positions, the MCU does not execute the MCU program copy request, and the MCU locks a memory inside the MCU.
CN202211608462.2A 2022-12-14 2022-12-14 Method for preventing MCU internal program from being copied Active CN115987589B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211608462.2A CN115987589B (en) 2022-12-14 2022-12-14 Method for preventing MCU internal program from being copied

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211608462.2A CN115987589B (en) 2022-12-14 2022-12-14 Method for preventing MCU internal program from being copied

Publications (2)

Publication Number Publication Date
CN115987589A CN115987589A (en) 2023-04-18
CN115987589B true CN115987589B (en) 2023-08-29

Family

ID=85971534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211608462.2A Active CN115987589B (en) 2022-12-14 2022-12-14 Method for preventing MCU internal program from being copied

Country Status (1)

Country Link
CN (1) CN115987589B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289128A (en) * 2018-01-31 2018-07-17 成都物梦工场信息技术有限公司 Manage the method, apparatus and computer readable storage medium of internet-of-things terminal
CN110719288A (en) * 2019-10-12 2020-01-21 深圳市道通科技股份有限公司 Cloud service access method, cloud server and terminal
CN114662135A (en) * 2022-05-19 2022-06-24 深圳市航顺芯片技术研发有限公司 Data access method, computer device and readable storage medium
CN114846755A (en) * 2019-12-31 2022-08-02 华为技术有限公司 Data feedback method and device
CN115080998A (en) * 2022-06-02 2022-09-20 深圳市立创普电源技术有限公司 Method, system, electronic device and storage medium for preventing firmware from being illegally copied

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306414A (en) * 2000-04-25 2001-11-02 Hitachi Ltd Remote copying system for storage device
US20030212905A1 (en) * 2002-05-08 2003-11-13 Sun Microsystems, Inc. Method, computer product and network to regulate software licensure authentication in a computer network environment
US10380372B2 (en) * 2017-03-28 2019-08-13 Wipro Limited Methods and systems for providing secured access to big data
US11455397B2 (en) * 2018-11-13 2022-09-27 Microchip Technology Incorporated Secure boot assist for devices, and related systems, methods and devices
US20210051010A1 (en) * 2019-08-16 2021-02-18 PUFsecurity Corporation Memory Device Providing Data Security

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108289128A (en) * 2018-01-31 2018-07-17 成都物梦工场信息技术有限公司 Manage the method, apparatus and computer readable storage medium of internet-of-things terminal
CN110719288A (en) * 2019-10-12 2020-01-21 深圳市道通科技股份有限公司 Cloud service access method, cloud server and terminal
CN114846755A (en) * 2019-12-31 2022-08-02 华为技术有限公司 Data feedback method and device
CN114662135A (en) * 2022-05-19 2022-06-24 深圳市航顺芯片技术研发有限公司 Data access method, computer device and readable storage medium
CN115080998A (en) * 2022-06-02 2022-09-20 深圳市立创普电源技术有限公司 Method, system, electronic device and storage medium for preventing firmware from being illegally copied

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于分层排队网络模型的MCU性能预测及优化研究;边学工, 胡瑞敏, 陈军, 李德仁;计算机学报(第02期);全文 *

Also Published As

Publication number Publication date
CN115987589A (en) 2023-04-18

Similar Documents

Publication Publication Date Title
CN107679370B (en) Equipment identifier generation method and device
CN105427416A (en) Two-dimension code unlocking method and system
CN107368737A (en) A kind of processing method for preventing copy-attack, server and client
CN112804133B (en) Encryption group chat method and system based on blockchain technology
WO2020232854A1 (en) Vehicle unlocking method and apparatus, and computer device and storage medium
CN104754571A (en) User authentication realizing method, device and system thereof for multimedia data transmission
CN103077345A (en) Software authorization method and system based on virtual machine
EP3203407B1 (en) Information processing method and information processing device
CN114266033A (en) Verification code generation method and device, verification code login system and electronic equipment
CN104883341A (en) Application management device, terminal and application management method
CN107292133B (en) Artificial intelligence confusion technical method and device
CN115987589B (en) Method for preventing MCU internal program from being copied
US11902789B2 (en) Cloud controlled secure Bluetooth pairing for network device management
CN117407852A (en) Communication method, device and equipment for recorder and acquisition equipment and storage medium
CN115473655B (en) Terminal authentication method, device and storage medium for access network
CN109302442B (en) Data storage proving method and related equipment
CN111291398A (en) Block chain-based authentication method and device, computer equipment and storage medium
CN110431557B (en) Method and apparatus for performing secure backup and restore
US9203607B2 (en) Keyless challenge and response system
WO2021174264A1 (en) Method for remotely activating a remote lock system using cryptography and the remote lock system for implementing the method
CN108449753B (en) Method for reading data in trusted computing environment by mobile phone device
CN115499844B (en) Mobile terminal information safety protection system and method
KR100631629B1 (en) How to handle illegal copy of mobile terminal
CN114978785B (en) Control method for special machine interconnection authentication
CN113421085B (en) Smart card dynamic password authentication method 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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 Global Digital Building 1501, No. 9 Gaoxin Middle Third Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Patentee after: SHENZHEN FRUITION INDUSTRIAL CO.,LTD.

Address before: 518000 702, south wing, west block, Shenzhen Hong Kong industry university research base, South District, Yuehai Street Science Park, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN FRUITION INDUSTRIAL CO.,LTD.